@koda-sl/baker-cli 0.454.0-dev.67ad219ab → 0.454.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +20 -19
- package/dist/account-F6MHQ64I.js +80 -0
- package/dist/account-HS7SDSEB.js +79 -0
- package/dist/account-IEVEOFIK.js +49 -0
- package/dist/account-writes-ISE4U2FQ.js +66 -0
- package/dist/accounts-3JKABIGU.js +77 -0
- package/dist/accounts-4CDRK4S4.js +75 -0
- package/dist/accounts-5QDKBZMH.js +115 -0
- package/dist/accounts-KYJO3JC6.js +114 -0
- package/dist/accounts-ZZONEKPU.js +611 -0
- package/dist/actions-VKHKHUUC.js +55 -0
- package/dist/active-entities-YUSOUR5M.js +103 -0
- package/dist/activities-ZVQOBHZH.js +74 -0
- package/dist/ad-group-writes-UU5NNKSO.js +170 -0
- package/dist/ad-groups-CGFXZNIA.js +68 -0
- package/dist/ad-writes-NALDYWOR.js +174 -0
- package/dist/add-53DDLTVG.js +104 -0
- package/dist/add-577QWMCF.js +97 -0
- package/dist/add-ATD4MBOO.js +302 -0
- package/dist/add-CUWAW7KG.js +105 -0
- package/dist/ads-6UEDYT3O.js +113 -0
- package/dist/ads-PV7GZXPR.js +77 -0
- package/dist/ads-QFAUJCWM.js +40 -0
- package/dist/adsets-Q5DWGANV.js +176 -0
- package/dist/advertisers-HYUASJAS.js +120 -0
- package/dist/advertisers-YMHPZYNF.js +111 -0
- package/dist/analytics-RQROMSQ3.js +433 -0
- package/dist/analytics-WLYXY5OT.js +1976 -0
- package/dist/analytics-WLYXY5OT.js.map +1 -0
- package/dist/animate-FWWHSYPL.js +480 -0
- package/dist/assign-7332DMG5.js +77 -0
- package/dist/audience-size-UYX5RPTA.js +94 -0
- package/dist/audiences-AMRFZRZ7.js +78 -0
- package/dist/audiences-HFRVIE2X.js +85 -0
- package/dist/audiences-VEKGLWBG.js +268 -0
- package/dist/audit-AD4ZZNJN.js +88 -0
- package/dist/audit-ZGTG7VRD.js +151 -0
- package/dist/autocomplete-LPG4WWTY.js +111 -0
- package/dist/avatars-HTQMIA2F.js +38 -0
- package/dist/bid-pricing-IK2C2IKE.js +99 -0
- package/dist/brand-3WCTQWWX.js +22 -0
- package/dist/brief-WDKTAKVA.js +477 -0
- package/dist/businesses-JBDQZZIG.js +53 -0
- package/dist/campaign-groups-6CJ45XMO.js +95 -0
- package/dist/campaign-writes-2MLRVFJK.js +165 -0
- package/dist/campaign-writes-SX52CJYW.js +170 -0
- package/dist/campaigns-D6B6Z67Y.js +110 -0
- package/dist/campaigns-DTH5ADA7.js +107 -0
- package/dist/campaigns-X3DPCCSN.js +76 -0
- package/dist/campaigns-ZVA7SUNN.js +109 -0
- package/dist/canvas-EJLQ27CK.js +46 -0
- package/dist/canvas-EJLQ27CK.js.map +1 -0
- package/dist/capabilities-VWJGP43K.js +144 -0
- package/dist/cards-4477BFEV.js +85 -0
- package/dist/catalog-BKQOAVR2.js +65 -0
- package/dist/catalogs-G3YEVG6S.js +128 -0
- package/dist/changes-TP7ZZHB3.js +135 -0
- package/dist/chatgpt-QNUN63YS.js +47 -0
- package/dist/chats-JOZKLOFU.js +262 -0
- package/dist/chunk-237WE5LX.js +455 -0
- package/dist/chunk-237WE5LX.js.map +1 -0
- package/dist/chunk-2BKVVCCV.js +133 -0
- package/dist/chunk-2TK4DEOE.js +74 -0
- package/dist/chunk-35XWJEWH.js +274 -0
- package/dist/chunk-3EUFAONS.js +5189 -0
- package/dist/chunk-3JCF3NK6.js +57 -0
- package/dist/chunk-3XPFBSD7.js +275 -0
- package/dist/chunk-3XPFBSD7.js.map +1 -0
- package/dist/chunk-4GOS37IA.js +382 -0
- package/dist/chunk-4JHUG6Y3.js +172 -0
- package/dist/chunk-4NDCTLI5.js +191 -0
- package/dist/chunk-4QEY2L6U.js +486 -0
- package/dist/chunk-54UVGFX3.js +440 -0
- package/dist/chunk-5PKB7LNI.js +23 -0
- package/dist/chunk-5RPU6KG5.js +6667 -0
- package/dist/chunk-5RPU6KG5.js.map +1 -0
- package/dist/chunk-5YGBRHO6.js +96 -0
- package/dist/chunk-5Z2KSVIV.js +67 -0
- package/dist/chunk-6B7VKFS4.js +172 -0
- package/dist/chunk-6G5K6ZC6.js +46 -0
- package/dist/chunk-6QJLVNGU.js +541 -0
- package/dist/chunk-75FDTDLH.js +96 -0
- package/dist/chunk-7OFNN4CT.js +58 -0
- package/dist/chunk-7ZHMGXE2.js +819 -0
- package/dist/chunk-BBDAVFTG.js +3153 -0
- package/dist/chunk-BBDAVFTG.js.map +1 -0
- package/dist/chunk-BNCW67EM.js +534 -0
- package/dist/chunk-C6U6UDHJ.js +106 -0
- package/dist/chunk-CHSNHVYF.js +3182 -0
- package/dist/chunk-CHSNHVYF.js.map +1 -0
- package/dist/chunk-D76QEIFG.js +207 -0
- package/dist/chunk-DGPLXY37.js +103 -0
- package/dist/chunk-DTD2IRDA.js +149 -0
- package/dist/chunk-DTD2IRDA.js.map +1 -0
- package/dist/chunk-DZSIUEGH.js +136 -0
- package/dist/chunk-E6KL5ZRN.js +455 -0
- package/dist/chunk-EFSYTROP.js +94 -0
- package/dist/chunk-EKCPMVZ3.js +175 -0
- package/dist/chunk-EUFCY63X.js +6178 -0
- package/dist/chunk-EUFCY63X.js.map +1 -0
- package/dist/chunk-F2S5BLPE.js +97 -0
- package/dist/chunk-F4CUV4FV.js +509 -0
- package/dist/chunk-G7HYW5TH.js +304 -0
- package/dist/chunk-GX6VAHY7.js +830 -0
- package/dist/chunk-H26L3OQY.js +42 -0
- package/dist/chunk-HQSCJYZO.js +26 -0
- package/dist/chunk-HRYOZUSK.js +1711 -0
- package/dist/chunk-HTW7FTP4.js +45 -0
- package/dist/chunk-HTW7FTP4.js.map +1 -0
- package/dist/chunk-IFWP3ZDO.js +215 -0
- package/dist/chunk-IFWP3ZDO.js.map +1 -0
- package/dist/chunk-JERXV5A3.js +26 -0
- package/dist/chunk-JYWZRDLZ.js +297 -0
- package/dist/chunk-K46X77UI.js +51 -0
- package/dist/chunk-KFE3S63W.js +1441 -0
- package/dist/chunk-KLBTXETO.js +23992 -0
- package/dist/chunk-KLBTXETO.js.map +1 -0
- package/dist/chunk-KLNKEVIY.js +136 -0
- package/dist/chunk-KNY76UGC.js +84 -0
- package/dist/chunk-KQTYTCKQ.js +98 -0
- package/dist/chunk-KRZV6VS2.js +19 -0
- package/dist/chunk-KS2QY6MK.js +139 -0
- package/dist/chunk-L27H2R2N.js +174 -0
- package/dist/chunk-LERTEZST.js +28 -0
- package/dist/chunk-LF2PIA67.js +159 -0
- package/dist/chunk-LLOOWRBB.js +496 -0
- package/dist/chunk-LS5MTRFI.js +106 -0
- package/dist/chunk-LYBXCXJB.js +160 -0
- package/dist/chunk-M4G3NKDB.js +197 -0
- package/dist/chunk-MM22NUA6.js +169 -0
- package/dist/chunk-MM5XO4MP.js +433 -0
- package/dist/chunk-MZ3SJ6FV.js +310 -0
- package/dist/chunk-MZL4H5PY.js +225 -0
- package/dist/chunk-NAWWC5I3.js +454 -0
- package/dist/chunk-NAWWC5I3.js.map +1 -0
- package/dist/chunk-NU7JSWVA.js +946 -0
- package/dist/chunk-PBA3YCZA.js +76 -0
- package/dist/chunk-PROV2XDR.js +592 -0
- package/dist/chunk-PWGWMIIJ.js +25 -0
- package/dist/chunk-PZ7EPJRF.js +60 -0
- package/dist/chunk-QSN5MZGS.js +74 -0
- package/dist/chunk-QZOS6FXW.js +206 -0
- package/dist/chunk-RNDPEHCH.js +337 -0
- package/dist/chunk-RX6F3GEA.js +610 -0
- package/dist/chunk-STIB5DR5.js +56 -0
- package/dist/chunk-T4DD5YMP.js +166 -0
- package/dist/chunk-TD2P4HBP.js +55 -0
- package/dist/chunk-TJFELVYS.js +92 -0
- package/dist/chunk-ULJ5RFOV.js +76 -0
- package/dist/chunk-VAJBWA2U.js +75 -0
- package/dist/chunk-VB6WJJR3.js +1830 -0
- package/dist/chunk-VFIOJD5M.js +309 -0
- package/dist/chunk-VVZBBKRC.js +296 -0
- package/dist/chunk-W3B4BHQU.js +31 -0
- package/dist/chunk-WNFIJAUO.js +98 -0
- package/dist/chunk-WS2GMOSG.js +74 -0
- package/dist/chunk-WTOYCUKH.js +84 -0
- package/dist/chunk-X7ZODEXJ.js +36 -0
- package/dist/chunk-X7ZODEXJ.js.map +1 -0
- package/dist/chunk-XBOK23HI.js +214 -0
- package/dist/chunk-XL3BMSYG.js +125 -0
- package/dist/chunk-XX53CHKP.js +346 -0
- package/dist/chunk-XXHMVDLL.js +1079 -0
- package/dist/chunk-XXHMVDLL.js.map +1 -0
- package/dist/chunk-YBMVHGY3.js +333 -0
- package/dist/chunk-YIWXHIVZ.js +111 -0
- package/dist/chunk-YKFEHWHC.js +188 -0
- package/dist/chunk-YTNJODFK.js +494 -0
- package/dist/chunk-Z6XEMPOZ.js +363 -0
- package/dist/chunk-ZIHEIVJC.js +4410 -0
- package/dist/chunk-ZIHEIVJC.js.map +1 -0
- package/dist/chunk-ZWKPXWS5.js +622 -0
- package/dist/chunk-ZZQXVYUY.js +66 -0
- package/dist/claim-ITPOQ2I7.js +197 -0
- package/dist/cli.js +37 -40
- package/dist/cli.js.map +1 -1
- package/dist/client-VHN32ZRE.js +19 -0
- package/dist/code-YS6ZMGX3.js +76 -0
- package/dist/companies-Y5HPLJF5.js +195 -0
- package/dist/complete-SRXMUS4R.js +81 -0
- package/dist/config-CQN5FHMZ.js +88 -0
- package/dist/connect-CRHMP3NK.js +42 -0
- package/dist/content-3ZPP4SW2.js +81 -0
- package/dist/conversation-BBOPGOMH.js +93 -0
- package/dist/conversion-report-N4HANYOB.js +125 -0
- package/dist/conversion-upload-command-AUF3LNTH.js +438 -0
- package/dist/conversion-writes-LW4HQKK5.js +120 -0
- package/dist/conversions-DH3Q6UTJ.js +135 -0
- package/dist/conversions-TS723AZV.js +76 -0
- package/dist/countries-ESAKTQAE.js +82 -0
- package/dist/create-CW5E5Y2S.js +59 -0
- package/dist/create-HOIUANHB.js +207 -0
- package/dist/create-M7TK4QUC.js +235 -0
- package/dist/create-ZWSKHSPD.js +130 -0
- package/dist/creatives-LLWNKS47.js +51 -0
- package/dist/creatives-QQZNCA6V.js +182 -0
- package/dist/creatives-UEPLNCPN.js +87 -0
- package/dist/credentials-CFKCUDES.js +1055 -0
- package/dist/credentials-CFKCUDES.js.map +1 -0
- package/dist/critique-AQDXRULE.js +213 -0
- package/dist/critique-ORSUUTHE.js +1449 -0
- package/dist/crm-EPSZEOD2.js +318 -0
- package/dist/crm-WNFEWAAM.js +224 -0
- package/dist/crop-2J4RKJ6B.js +113 -0
- package/dist/currency-XCGKQ7FE.js +88 -0
- package/dist/custom-conversions-2VLJGPRV.js +125 -0
- package/dist/customers-NZDE7V3P.js +56 -0
- package/dist/delete-3AV3ARMX.js +71 -0
- package/dist/delete-6RAKC62Z.js +66 -0
- package/dist/delete-7HMQBDFC.js +54 -0
- package/dist/delete-A5XD52K4.js +69 -0
- package/dist/delete-FKXR5ZOP.js +63 -0
- package/dist/delete-MRM2S4Z5.js +71 -0
- package/dist/demographics-PRZS2ZC4.js +138 -0
- package/dist/describe-6NVOWIBE.js +97 -0
- package/dist/describe-P3PPIQME.js +97 -0
- package/dist/dimensions-EYAYO27I.js +101 -0
- package/dist/discard-YLTMCFE6.js +66 -0
- package/dist/discover-BJPZNXUQ.js +172 -0
- package/dist/domain-Z533IR5M.js +98 -0
- package/dist/download-7T6HIJKD.js +299 -0
- package/dist/draft-3ZVCQSAG.js +103 -0
- package/dist/draft-4PURIMDM.js +217 -0
- package/dist/draft-5YAYCEYY.js +107 -0
- package/dist/draft-7ZWPABVG.js +306 -0
- package/dist/draft-KIBMVKSR.js +100 -0
- package/dist/draft-THPZFASM.js +281 -0
- package/dist/draft-YDY2Q2K6.js +233 -0
- package/dist/draft-ZXZEQRCL.js +328 -0
- package/dist/engine/index.js +14 -14
- package/dist/env-KIP2J2UB.js +43 -0
- package/dist/experiment-PYQPAZZN.js +1397 -0
- package/dist/experiment-PYQPAZZN.js.map +1 -0
- package/dist/export-JQRMBJ7D.js +168 -0
- package/dist/extract-7QKLME7Z.js +113 -0
- package/dist/facets-453OFMAM.js +114 -0
- package/dist/favorites-NSGF4OV5.js +178 -0
- package/dist/feed-RV4KPPXM.js +157 -0
- package/dist/feedback-JFV6BMJW.js +66 -0
- package/dist/feedback-record-HCOBRTY2.js +175 -0
- package/dist/fetch-44PPB6UO.js +176 -0
- package/dist/fetch-XF76JABV.js +139 -0
- package/dist/find-FRRHAPWX.js +134 -0
- package/dist/fit-7237F5EB.js +45 -0
- package/dist/flows-N7UZ4ZO5.js +247 -0
- package/dist/follow-FN7LV3WV.js +82 -0
- package/dist/follow-competitors-MKXFHLXB.js +131 -0
- package/dist/following-RKC2FLHI.js +109 -0
- package/dist/fonts-YW7SU5EY.js +34 -0
- package/dist/forecast-W57WFVDL.js +104 -0
- package/dist/funding-NYO65IMT.js +85 -0
- package/dist/funnel-VW542JTE.js +394 -0
- package/dist/funnel-VW542JTE.js.map +1 -0
- package/dist/ga4-DV2AXCSL.js +55 -0
- package/dist/generate-MMBYB44G.js +262 -0
- package/dist/get-2NA3LPCN.js +78 -0
- package/dist/get-3L6W3E3T.js +59 -0
- package/dist/get-6WEYKOY6.js +63 -0
- package/dist/get-MEGPYKQR.js +56 -0
- package/dist/get-P743RPSI.js +63 -0
- package/dist/get-XN5ZGDIK.js +61 -0
- package/dist/get-YIHTAMRT.js +92 -0
- package/dist/gif-53ULFVLR.js +94 -0
- package/dist/google-M7KEXVK5.js +1872 -0
- package/dist/google-QYYYSSXI.js +136 -0
- package/dist/google-ads-G2XD4RMT.js +195 -0
- package/dist/group-EFZ3AJIE.js +43 -0
- package/dist/group-GKWCCX66.js +43 -0
- package/dist/gsc-TAKOF7J5.js +30 -0
- package/dist/history-DBIEYQHY.js +67 -0
- package/dist/history-RCKMMUWI.js +133 -0
- package/dist/hubspot-CKS7F77W.js +779 -0
- package/dist/icon-L4RSS6PZ.js +137 -0
- package/dist/ideas-EYC6K33G.js +32 -0
- package/dist/images-2HJ7YKTH.js +90 -0
- package/dist/improve-BCCU5AS6.js +86 -0
- package/dist/ingest-26O5Q462.js +23 -0
- package/dist/ingest-RR5GAX3G.js +107 -0
- package/dist/insights-NZWSJKU4.js +423 -0
- package/dist/insights-ZIU6FJMS.js +122 -0
- package/dist/inspect-XPDUPSUP.js +189 -0
- package/dist/inspiration-S3DU4CMQ.js +53 -0
- package/dist/intent-E3UIVZBN.js +95 -0
- package/dist/job-L7RJZMSG.js +202 -0
- package/dist/job-create-JUDAN52O.js +109 -0
- package/dist/job-status-U43WE3RJ.js +74 -0
- package/dist/keep-55CPC7DG.js +78 -0
- package/dist/keyword-gap-BG6M665A.js +130 -0
- package/dist/keyword-metrics-KOPXTILA.js +197 -0
- package/dist/keywords-for-site-PONNELI5.js +128 -0
- package/dist/landing-RYRZ5VZ2.js +28 -0
- package/dist/languages-HORKPDNH.js +40 -0
- package/dist/languages-JSGWCC7Z.js +55 -0
- package/dist/layerize-RPD6SNP6.js +190 -0
- package/dist/leads-ARUWPHBM.js +293 -0
- package/dist/leads-R7YSJDIG.js +90 -0
- package/dist/learn-IZ6QKTCX.js +203 -0
- package/dist/library-ARKRLCNJ.js +109 -0
- package/dist/lighthouse-6ZC45E53.js +75 -0
- package/dist/line-item-writes-25FE22UX.js +208 -0
- package/dist/line-items-V522VKSU.js +103 -0
- package/dist/link-ZZZVDSUP.js +64 -0
- package/dist/linkedin-HXLYJVGI.js +1008 -0
- package/dist/list-7MVBXOJT.js +51 -0
- package/dist/list-A5UCIR2J.js +65 -0
- package/dist/list-AL7N6X2P.js +50 -0
- package/dist/list-HSXOTG5R.js +151 -0
- package/dist/list-KYEK3N34.js +303 -0
- package/dist/list-LI4OGQFW.js +57 -0
- package/dist/list-LKHHCQZU.js +63 -0
- package/dist/list-P7NAFN6J.js +76 -0
- package/dist/locations-74TPQWAT.js +67 -0
- package/dist/locations-J4G5RNPH.js +40 -0
- package/dist/log-6ELXS5EJ.js +92 -0
- package/dist/logo-Q5D7PZY6.js +18 -0
- package/dist/lookup-TCU2ZEZW.js +22 -0
- package/dist/make-2PV4B2TT.js +596 -0
- package/dist/make-2PV4B2TT.js.map +1 -0
- package/dist/map-SJLRAB5X.js +404 -0
- package/dist/map-SJLRAB5X.js.map +1 -0
- package/dist/mcp-W7DBSUF7.js +476 -0
- package/dist/media-53DJRC4N.js +15 -0
- package/dist/media-6CQYG4UY.js +89 -0
- package/dist/media-sources-M35YZQY5.js +32 -0
- package/dist/members-QXYMJQWU.js +44 -0
- package/dist/meta-A7KM6TF5.js +69 -0
- package/dist/metrics-SQDJ5NQO.js +152 -0
- package/dist/models-7U3GRYHF.js +155 -0
- package/dist/normalize-DYJLUBQP.js +141 -0
- package/dist/normalize-ICQF2AST.js +806 -0
- package/dist/options-77SHB5KA.js +121 -0
- package/dist/output-RAH3TSIL.js +24 -0
- package/dist/page-GS3WLT2C.js +105 -0
- package/dist/pages-FXYQLHSJ.js +66 -0
- package/dist/performance-VVTYUSTW.js +24 -0
- package/dist/pinterest-AUH7WBA7.js +96 -0
- package/dist/pixels-45A55MOP.js +60 -0
- package/dist/pixels-ZFF4BGUH.js +108 -0
- package/dist/plan-4QP2G7GV.js +207 -0
- package/dist/plan-4QP2G7GV.js.map +1 -0
- package/dist/preview-AD4GKYIA.js +169 -0
- package/dist/promoted-tweet-writes-QP37NMQC.js +180 -0
- package/dist/promoted-tweets-WPSM6MGX.js +119 -0
- package/dist/properties-L2XIYQDS.js +101 -0
- package/dist/publish-YF6ESBGQ.js +322 -0
- package/dist/query-IEZRY6HV.js +1341 -0
- package/dist/query-SGGBCHTF.js +236 -0
- package/dist/query-VTGVZQIO.js +247 -0
- package/dist/questionnaire-J56AATOX.js +93 -0
- package/dist/questionnaire-J56AATOX.js.map +1 -0
- package/dist/read-G5AC332V.js +141 -0
- package/dist/read-G5AC332V.js.map +1 -0
- package/dist/reddit-VC3IOFNC.js +26 -0
- package/dist/refresh-UXBCTVCG.js +94 -0
- package/dist/release-PP5S5QHD.js +60 -0
- package/dist/relevant-pages-OWMNUCP7.js +99 -0
- package/dist/remove-6LGGKMLJ.js +48 -0
- package/dist/remove-OUWQ7NPN.js +50 -0
- package/dist/reopen-KXAM5LVX.js +63 -0
- package/dist/rerun-ZVFP4FNN.js +85 -0
- package/dist/research-52CURSLR.js +262 -0
- package/dist/research-WEW3TISC.js +62 -0
- package/dist/reset-MVLV7GEB.js +54 -0
- package/dist/reset-RBL2NSDV.js +54 -0
- package/dist/resolve-JG3TGLCR.js +121 -0
- package/dist/retry-2B3V4CJO.js +60 -0
- package/dist/retry-Y3VUKOZ3.js +62 -0
- package/dist/retry-failed-6HXPUVXJ.js +45 -0
- package/dist/run-3BCAHPCW.js +65 -0
- package/dist/run-FZL7FYTL.js +60 -0
- package/dist/scaffold-ad-TL5URKZF.js +1549 -0
- package/dist/scaffold-static-ad-PN6RR3IP.js +966 -0
- package/dist/scaffold-static-ad-PN6RR3IP.js.map +1 -0
- package/dist/scaffold-video-LRTELU5X.js +873 -0
- package/dist/schedule-7QLWW5HA.js +61 -0
- package/dist/schedule-O2K6M43V.js +66 -0
- package/dist/scheduled-agents-HDALX27W.js +49 -0
- package/dist/schema-6GR77VJG.js +63 -0
- package/dist/schema-EY3Y3KFB.js +132 -0
- package/dist/scrape-ETAMW43A.js +2241 -0
- package/dist/screenshot-YCQF25ZB.js +102 -0
- package/dist/search-4XS7AO5R.js +174 -0
- package/dist/search-742XSULP.js +224 -0
- package/dist/search-MEEM4D3W.js +92 -0
- package/dist/search-OQNGSMUH.js +91 -0
- package/dist/search-UO5KJTYS.js +26 -0
- package/dist/seeds-N6FF5S4T.js +101 -0
- package/dist/select-J3QVFWVE.js +94 -0
- package/dist/sends-WGJVQUMF.js +309 -0
- package/dist/sequences-OIPVR7JL.js +146 -0
- package/dist/set-prompt-MEMSZEZK.js +186 -0
- package/dist/setup-links-4PCSBEJD.js +141 -0
- package/dist/shared-HJDFNID4.js +31 -0
- package/dist/site-IG62FRYT.js +177 -0
- package/dist/sitemaps-POPZJTAX.js +87 -0
- package/dist/sites-262H6LM4.js +101 -0
- package/dist/skills-6TQZLIMP.js +47 -0
- package/dist/sources-5YFONIJP.js +30 -0
- package/dist/sources-AM7SIZUY.js +421 -0
- package/dist/stale-UMI4XCKX.js +63 -0
- package/dist/stats-NNXZMPZR.js +34 -0
- package/dist/status-F4XMET7U.js +62 -0
- package/dist/sticker-4KMBSMP5.js +94 -0
- package/dist/stock-KXJ26BY4.js +179 -0
- package/dist/studio-EKIPLLHD.js +49 -0
- package/dist/sync-CF7FVUQJ.js +54 -0
- package/dist/sync-LXYAJ7SU.js +54 -0
- package/dist/sync-ZSNUBYPM.js +265 -0
- package/dist/sync-definition-WU6V5245.js +53 -0
- package/dist/tag-manager-JAAMOUGB.js +43 -0
- package/dist/tags-6WV3PQH5.js +20 -0
- package/dist/tags-FTOD6CYS.js +20 -0
- package/dist/tags-KXNOWUMN.js +224 -0
- package/dist/tags-PJRNCPQJ.js +20 -0
- package/dist/tags-R5JCZRAV.js +26 -0
- package/dist/targeting-constants-XJ2VOW7K.js +118 -0
- package/dist/targeting-criteria-HJ7YFAB2.js +113 -0
- package/dist/targets-RLZSBUCI.js +102 -0
- package/dist/templates-4SWUBLOC.js +178 -0
- package/dist/testimonials-YYLALSV4.js +32 -0
- package/dist/top-companies-SNOQQFUS.js +108 -0
- package/dist/translate-CZRVAEUQ.js +598 -0
- package/dist/triggers-MFDFO2Y4.js +141 -0
- package/dist/tweets-ATP3FQAC.js +123 -0
- package/dist/unfollow-CBVPGPF7.js +46 -0
- package/dist/unlink-BVDKP7VQ.js +67 -0
- package/dist/unstage-V7GMMOWR.js +95 -0
- package/dist/unstage-ZTOQEWRC.js +84 -0
- package/dist/update-R46SJ55S.js +155 -0
- package/dist/update-R572VWKO.js +142 -0
- package/dist/update-SQEWFFFG.js +98 -0
- package/dist/update-VVK6SWSI.js +63 -0
- package/dist/upload-L5SYZB3X.js +150 -0
- package/dist/upload-TUYWMS6E.js +126 -0
- package/dist/upscale-YWRLFU22.js +109 -0
- package/dist/url-options-GGXAL3J4.js +127 -0
- package/dist/url-params-CU3KVLI5.js +98 -0
- package/dist/use-UT2DIZOG.js +95 -0
- package/dist/validate-WPJXPGWS.js +89 -0
- package/dist/variant-FLZJYGYL.js +338 -0
- package/dist/videos-KGNLYRUS.js +39 -0
- package/dist/view-NPAG66QK.js +121 -0
- package/dist/viewer-check-45T2HLAH.js +69 -0
- package/dist/web-IEJBIF7U.js +140 -0
- package/dist/winners-I5BMATJZ.js +79 -0
- package/dist/winning-ads-GGQ3DZXX.js +62 -0
- package/dist/winning-ads-GGQ3DZXX.js.map +1 -0
- package/dist/write-commands-CT74VHH6.js +737 -0
- package/dist/write-commands-CXRXLXX2.js +1015 -0
- package/dist/write-commands-VWSLDBPT.js +206 -0
- package/dist/write-commands-WTRSOSO3.js +713 -0
- package/dist/x-WHE6PSDD.js +47 -0
- package/package.json +1 -1
- package/dist/account-BENZTU54.js +0 -79
- package/dist/account-TJPJXX5L.js +0 -80
- package/dist/account-WOEYURTR.js +0 -49
- package/dist/account-writes-QLHQ6QRN.js +0 -66
- package/dist/accounts-CIYRAWVY.js +0 -114
- package/dist/accounts-EKYHTEL5.js +0 -611
- package/dist/accounts-ILE6LUH2.js +0 -115
- package/dist/accounts-MZXNJ4FY.js +0 -75
- package/dist/accounts-RVRE3XSZ.js +0 -77
- package/dist/actions-SE4RT5VJ.js +0 -55
- package/dist/active-entities-NNSRMERA.js +0 -103
- package/dist/activities-IOIEQTVH.js +0 -74
- package/dist/ad-group-writes-TQCKLL34.js +0 -170
- package/dist/ad-groups-LZWSLBC5.js +0 -68
- package/dist/ad-writes-UH2WTTGA.js +0 -174
- package/dist/add-AYKM57Z4.js +0 -97
- package/dist/add-IBRKJ3YA.js +0 -302
- package/dist/add-IKO6F33F.js +0 -104
- package/dist/add-VHJNMLIZ.js +0 -105
- package/dist/ads-6GT5744J.js +0 -113
- package/dist/ads-QFCFTASQ.js +0 -40
- package/dist/ads-RJNNP6XJ.js +0 -77
- package/dist/adsets-XG64ZCJY.js +0 -176
- package/dist/advertisers-MWTH3NR4.js +0 -120
- package/dist/advertisers-XVGBLKB3.js +0 -111
- package/dist/analytics-M2YUE6P3.js +0 -433
- package/dist/analytics-YC2J5RTR.js +0 -1958
- package/dist/analytics-YC2J5RTR.js.map +0 -1
- package/dist/animate-RC3ZBLLZ.js +0 -480
- package/dist/assign-6MIMTPG6.js +0 -77
- package/dist/audience-size-LG3EJVUQ.js +0 -94
- package/dist/audiences-CDQPFZOH.js +0 -78
- package/dist/audiences-FEP7LYRA.js +0 -85
- package/dist/audiences-H3RVGETG.js +0 -268
- package/dist/audit-65M7ZYPF.js +0 -88
- package/dist/audit-NLSSM2KK.js +0 -151
- package/dist/autocomplete-FWTUDPDJ.js +0 -111
- package/dist/avatars-HSU7KUT3.js +0 -38
- package/dist/bid-pricing-SDJGBZQI.js +0 -99
- package/dist/brand-4E7GKZYV.js +0 -22
- package/dist/brief-2YLVLL3Q.js +0 -477
- package/dist/businesses-PJGOECA7.js +0 -53
- package/dist/campaign-groups-J3ZLWO6K.js +0 -95
- package/dist/campaign-writes-PIOQVLAI.js +0 -170
- package/dist/campaign-writes-UGUL5EDR.js +0 -165
- package/dist/campaigns-6ARLQJU2.js +0 -109
- package/dist/campaigns-IZZ4FCHQ.js +0 -110
- package/dist/campaigns-PFNTJHMX.js +0 -107
- package/dist/campaigns-ZU7FMRQ3.js +0 -76
- package/dist/canvas-EOHG44TK.js +0 -46
- package/dist/canvas-EOHG44TK.js.map +0 -1
- package/dist/capabilities-K3DVPGYB.js +0 -144
- package/dist/cards-PS3VNNX3.js +0 -85
- package/dist/catalog-O5U2VMKK.js +0 -65
- package/dist/catalogs-ALSH4R2K.js +0 -128
- package/dist/changes-KFQKVM3M.js +0 -135
- package/dist/chatgpt-NHGFCJYH.js +0 -47
- package/dist/chats-YRRTFHKK.js +0 -262
- package/dist/chunk-2ACGDQ2P.js +0 -225
- package/dist/chunk-33F4O6OO.js +0 -296
- package/dist/chunk-3ASE4O2H.js +0 -111
- package/dist/chunk-3J62OINP.js +0 -310
- package/dist/chunk-3REUG4QF.js +0 -94
- package/dist/chunk-3XZEAI7E.js +0 -5189
- package/dist/chunk-4BIU2YVF.js +0 -274
- package/dist/chunk-4CYUOGDC.js +0 -496
- package/dist/chunk-52KJDURD.js +0 -174
- package/dist/chunk-5BQCBI2G.js +0 -214
- package/dist/chunk-5J5NHV3X.js +0 -486
- package/dist/chunk-5SAQ7MNN.js +0 -92
- package/dist/chunk-5TYFAJY4.js +0 -275
- package/dist/chunk-5TYFAJY4.js.map +0 -1
- package/dist/chunk-5WW456MW.js +0 -948
- package/dist/chunk-63VMGEZI.js +0 -172
- package/dist/chunk-6C3ADYIW.js +0 -440
- package/dist/chunk-6K47VIWF.js +0 -67
- package/dist/chunk-6TDEGWZJ.js +0 -75
- package/dist/chunk-6TQHA2UF.js +0 -1441
- package/dist/chunk-7GZNYQ3Z.js +0 -197
- package/dist/chunk-7P2Y7OQF.js +0 -136
- package/dist/chunk-A7F3C6AJ.js +0 -215
- package/dist/chunk-A7F3C6AJ.js.map +0 -1
- package/dist/chunk-AW2UE5AI.js +0 -125
- package/dist/chunk-B7COZ237.js +0 -96
- package/dist/chunk-BDI5INZA.js +0 -610
- package/dist/chunk-BFBTBN66.js +0 -830
- package/dist/chunk-BPQARCYW.js +0 -382
- package/dist/chunk-CAMX6OHF.js +0 -3182
- package/dist/chunk-CAMX6OHF.js.map +0 -1
- package/dist/chunk-CEYPS4IS.js +0 -4383
- package/dist/chunk-CEYPS4IS.js.map +0 -1
- package/dist/chunk-CWW5ITFK.js +0 -309
- package/dist/chunk-DMA7XZLS.js +0 -175
- package/dist/chunk-DTKZEXIF.js +0 -191
- package/dist/chunk-E25X7QES.js +0 -106
- package/dist/chunk-E7GYHNQO.js +0 -56
- package/dist/chunk-EDU6N5NY.js +0 -57
- package/dist/chunk-EMLKO3AU.js +0 -58
- package/dist/chunk-EOIYM35Z.js +0 -188
- package/dist/chunk-F4IQVOOJ.js +0 -494
- package/dist/chunk-GLPKJMMO.js +0 -28
- package/dist/chunk-GLRM72PT.js +0 -84
- package/dist/chunk-H4VPQQN7.js +0 -106
- package/dist/chunk-HNBLXWWQ.js +0 -26
- package/dist/chunk-IDYAVGCS.js +0 -6291
- package/dist/chunk-IDYAVGCS.js.map +0 -1
- package/dist/chunk-II7LSCAH.js +0 -160
- package/dist/chunk-ITQWQINC.js +0 -206
- package/dist/chunk-IY3JSASS.js +0 -455
- package/dist/chunk-JCUKNC4M.js +0 -141
- package/dist/chunk-JCUKNC4M.js.map +0 -1
- package/dist/chunk-JFMMCONZ.js +0 -23
- package/dist/chunk-JGCYENVG.js +0 -23992
- package/dist/chunk-JGCYENVG.js.map +0 -1
- package/dist/chunk-JGST7KMB.js +0 -139
- package/dist/chunk-JIB3JWL7.js +0 -363
- package/dist/chunk-JTFZ5M3C.js +0 -74
- package/dist/chunk-JXOPTOVM.js +0 -42
- package/dist/chunk-K45KDAV7.js +0 -98
- package/dist/chunk-KFHLUX6M.js +0 -541
- package/dist/chunk-KKRN7XRQ.js +0 -60
- package/dist/chunk-KKT24G5X.js +0 -20
- package/dist/chunk-KKT24G5X.js.map +0 -1
- package/dist/chunk-KVHZLRNU.js +0 -51
- package/dist/chunk-L2ZNZSPV.js +0 -55
- package/dist/chunk-L4C4OPO2.js +0 -31
- package/dist/chunk-LAHBXTKI.js +0 -297
- package/dist/chunk-LX2VM245.js +0 -74
- package/dist/chunk-MJYRLGGI.js +0 -304
- package/dist/chunk-NJY65ACF.js +0 -76
- package/dist/chunk-NPW3LEAE.js +0 -172
- package/dist/chunk-NXJSPLN5.js +0 -3147
- package/dist/chunk-NXJSPLN5.js.map +0 -1
- package/dist/chunk-ODMRAEEP.js +0 -159
- package/dist/chunk-P5T7OZKV.js +0 -26
- package/dist/chunk-PLMHZLJ6.js +0 -346
- package/dist/chunk-Q4U3ENKF.js +0 -1830
- package/dist/chunk-Q5KR4RRB.js +0 -207
- package/dist/chunk-RASBZ6SN.js +0 -103
- package/dist/chunk-RE6ZIHDH.js +0 -819
- package/dist/chunk-RNHSGH44.js +0 -84
- package/dist/chunk-S2IOUC5B.js +0 -1711
- package/dist/chunk-S5MBDWB3.js +0 -98
- package/dist/chunk-SCG3FY3H.js +0 -96
- package/dist/chunk-SLE4FEFP.js +0 -592
- package/dist/chunk-TIL76IDK.js +0 -136
- package/dist/chunk-TQO6WNUH.js +0 -166
- package/dist/chunk-UK4DUS6I.js +0 -52
- package/dist/chunk-UK4DUS6I.js.map +0 -1
- package/dist/chunk-UOFHTLPD.js +0 -433
- package/dist/chunk-UXQ4YQ2O.js +0 -66
- package/dist/chunk-V4YMBLWX.js +0 -1079
- package/dist/chunk-V4YMBLWX.js.map +0 -1
- package/dist/chunk-W5FCTANB.js +0 -169
- package/dist/chunk-X7TD2MW7.js +0 -509
- package/dist/chunk-XDEQ3JIR.js +0 -97
- package/dist/chunk-XFGAUP5B.js +0 -76
- package/dist/chunk-XLNVBDP2.js +0 -25
- package/dist/chunk-XOSUSV2O.js +0 -622
- package/dist/chunk-XUNG5I2P.js +0 -46
- package/dist/chunk-XXBIY75O.js +0 -74
- package/dist/chunk-Y6YECJIC.js +0 -6667
- package/dist/chunk-Y6YECJIC.js.map +0 -1
- package/dist/chunk-YI34MMBL.js +0 -534
- package/dist/chunk-YORMRROI.js +0 -337
- package/dist/chunk-YYBQUXFX.js +0 -333
- package/dist/chunk-YZIZEPAQ.js +0 -454
- package/dist/chunk-YZIZEPAQ.js.map +0 -1
- package/dist/chunk-Z6DVODBW.js +0 -19
- package/dist/chunk-ZR55VIOO.js +0 -133
- package/dist/claim-Y72FU77H.js +0 -197
- package/dist/client-4H6FYKCS.js +0 -19
- package/dist/code-JRNGF4AQ.js +0 -76
- package/dist/companies-XEYBYAYB.js +0 -195
- package/dist/complete-ZANYQ6HF.js +0 -81
- package/dist/config-ON2KUCQT.js +0 -88
- package/dist/connect-VBCLYQF4.js +0 -42
- package/dist/content-QIEV6TB3.js +0 -81
- package/dist/conversation-XVGX7HL2.js +0 -93
- package/dist/conversion-report-RC7G5FYK.js +0 -125
- package/dist/conversion-upload-command-PEE3VQTU.js +0 -438
- package/dist/conversion-writes-W7ICHG76.js +0 -120
- package/dist/conversions-KF4AHFCY.js +0 -135
- package/dist/conversions-OI7JVWXC.js +0 -76
- package/dist/countries-DYGDGADD.js +0 -82
- package/dist/create-5ZYWRS65.js +0 -59
- package/dist/create-HOZVJTLQ.js +0 -235
- package/dist/create-O4HLNNZZ.js +0 -130
- package/dist/create-TH4PAKLA.js +0 -207
- package/dist/creatives-4NBWBNE3.js +0 -51
- package/dist/creatives-QCA5K3QN.js +0 -182
- package/dist/creatives-QWCZYDFX.js +0 -87
- package/dist/credentials-MF5KMPVX.js +0 -1055
- package/dist/credentials-MF5KMPVX.js.map +0 -1
- package/dist/critique-AWVCL2V3.js +0 -213
- package/dist/critique-JHTYUNM4.js +0 -1449
- package/dist/crm-7CJYHUOM.js +0 -318
- package/dist/crm-UGKYWOXB.js +0 -224
- package/dist/crop-HS55YINN.js +0 -113
- package/dist/currency-UIK2FQKD.js +0 -88
- package/dist/custom-conversions-NBZZO6CH.js +0 -125
- package/dist/customers-NIAOEYND.js +0 -56
- package/dist/decide-WPI5RC2Z.js +0 -199
- package/dist/decide-WPI5RC2Z.js.map +0 -1
- package/dist/delete-2LZGYUPS.js +0 -66
- package/dist/delete-7YUYMN6C.js +0 -69
- package/dist/delete-JUT3DSKM.js +0 -54
- package/dist/delete-KFY6CQNU.js +0 -71
- package/dist/delete-NQTQ3KDZ.js +0 -71
- package/dist/delete-W6U5RF5Q.js +0 -63
- package/dist/demographics-I7AAPHXO.js +0 -138
- package/dist/describe-GR23KX6I.js +0 -97
- package/dist/describe-H4WLDC3H.js +0 -97
- package/dist/dimensions-H47GQ7EG.js +0 -101
- package/dist/discard-WVDVBN64.js +0 -66
- package/dist/discover-TYVFSFBE.js +0 -172
- package/dist/domain-YOUKBS2S.js +0 -98
- package/dist/download-FST2EONO.js +0 -299
- package/dist/draft-2YWPCLWT.js +0 -217
- package/dist/draft-34F45F46.js +0 -281
- package/dist/draft-53B4DCWT.js +0 -103
- package/dist/draft-AGQGAQDL.js +0 -100
- package/dist/draft-AUJKE57P.js +0 -328
- package/dist/draft-F4TRTDSV.js +0 -233
- package/dist/draft-GIDPSFBJ.js +0 -306
- package/dist/draft-P5OM2FM4.js +0 -107
- package/dist/env-36PNRGN2.js +0 -43
- package/dist/experiment-3QBXTXD7.js +0 -1377
- package/dist/experiment-3QBXTXD7.js.map +0 -1
- package/dist/export-WFKV2OYY.js +0 -168
- package/dist/extract-QIVN46BW.js +0 -113
- package/dist/facets-R3PIL4VO.js +0 -114
- package/dist/favorites-Q3QVUTEF.js +0 -178
- package/dist/feed-2T3HP275.js +0 -157
- package/dist/feedback-NK63HSFT.js +0 -66
- package/dist/feedback-record-ANSY2BEC.js +0 -175
- package/dist/fetch-D57AS4RQ.js +0 -139
- package/dist/fetch-V4XGLUEZ.js +0 -176
- package/dist/find-7MSB5EHL.js +0 -134
- package/dist/fit-2GADEYRG.js +0 -45
- package/dist/flows-ZWQHM6U6.js +0 -247
- package/dist/follow-556YL7IJ.js +0 -82
- package/dist/follow-competitors-LNAJCROC.js +0 -131
- package/dist/following-V6QK3ROG.js +0 -109
- package/dist/fonts-CB44BCDC.js +0 -34
- package/dist/forecast-FKNCIFVA.js +0 -104
- package/dist/funding-NP22ZLBH.js +0 -85
- package/dist/funnel-VMV2JTRA.js +0 -837
- package/dist/funnel-VMV2JTRA.js.map +0 -1
- package/dist/ga4-T3IODHS2.js +0 -55
- package/dist/generate-VSAS3QA5.js +0 -262
- package/dist/get-77U4CN3V.js +0 -63
- package/dist/get-BNO4T5SH.js +0 -56
- package/dist/get-IUS3RB5H.js +0 -92
- package/dist/get-QWEQMBGA.js +0 -59
- package/dist/get-ST2ZAQR3.js +0 -61
- package/dist/get-UMFJ26TV.js +0 -63
- package/dist/get-VBB6GNOW.js +0 -78
- package/dist/gif-5PQMJHUZ.js +0 -94
- package/dist/google-2WSPNB7K.js +0 -136
- package/dist/google-ITIUG5PK.js +0 -1872
- package/dist/google-ads-TLZR2JRG.js +0 -195
- package/dist/group-4LZM3SOQ.js +0 -43
- package/dist/group-JSDECSRD.js +0 -43
- package/dist/gsc-3LQHAWWC.js +0 -30
- package/dist/history-NE4I5SEE.js +0 -133
- package/dist/history-VZIYKR7A.js +0 -67
- package/dist/hubspot-H2SYPIFD.js +0 -779
- package/dist/icon-LBWC5HYT.js +0 -137
- package/dist/ideas-LQUVKQKS.js +0 -32
- package/dist/images-T5GD4WFJ.js +0 -90
- package/dist/improve-RBY3HJ4Z.js +0 -86
- package/dist/ingest-DHSFUFHB.js +0 -23
- package/dist/ingest-YNNFZQF4.js +0 -107
- package/dist/insights-DO7CTSGR.js +0 -122
- package/dist/insights-JBRJWBZ2.js +0 -423
- package/dist/inspect-KELSQCLK.js +0 -189
- package/dist/inspiration-UUHVLEJ6.js +0 -53
- package/dist/intent-DRB4VZXP.js +0 -95
- package/dist/job-QFXKGFW4.js +0 -202
- package/dist/job-create-Q2OOGI7E.js +0 -109
- package/dist/job-status-SUO4X7UP.js +0 -74
- package/dist/keep-TZK5V4ZY.js +0 -78
- package/dist/keyword-gap-HZONPMCA.js +0 -130
- package/dist/keyword-metrics-6B6I4PN4.js +0 -197
- package/dist/keywords-for-site-BI6DHP7K.js +0 -128
- package/dist/landing-CSX5DZVJ.js +0 -28
- package/dist/languages-DR2PONQX.js +0 -40
- package/dist/languages-PEZHTXZX.js +0 -55
- package/dist/layerize-VYLLKEKU.js +0 -190
- package/dist/leads-3OAJRMWS.js +0 -293
- package/dist/leads-BL6GWOAG.js +0 -90
- package/dist/learn-2O6NKJCX.js +0 -203
- package/dist/library-TXRUECDM.js +0 -109
- package/dist/lighthouse-RLUZZOKE.js +0 -75
- package/dist/line-item-writes-O3AYCYIS.js +0 -208
- package/dist/line-items-NLFOGAAO.js +0 -103
- package/dist/link-YDGPKGM6.js +0 -64
- package/dist/linkedin-WBO6EPMB.js +0 -1008
- package/dist/list-BPSQWWLP.js +0 -50
- package/dist/list-BTS2E4UI.js +0 -51
- package/dist/list-DJOQQI6Y.js +0 -63
- package/dist/list-EJYJIIUY.js +0 -151
- package/dist/list-EPRACXON.js +0 -57
- package/dist/list-EVPBQSRL.js +0 -65
- package/dist/list-L7CZJZRS.js +0 -76
- package/dist/list-VBLCEHPO.js +0 -303
- package/dist/locations-SPFNXQGT.js +0 -67
- package/dist/locations-UGSAWLNK.js +0 -40
- package/dist/log-VG77KFB4.js +0 -92
- package/dist/logo-HUGNK27I.js +0 -18
- package/dist/lookup-MPFB5G7E.js +0 -22
- package/dist/make-DPQIVORE.js +0 -593
- package/dist/make-DPQIVORE.js.map +0 -1
- package/dist/map-XQHIM4IU.js +0 -404
- package/dist/map-XQHIM4IU.js.map +0 -1
- package/dist/mcp-LD6W2RSB.js +0 -476
- package/dist/media-A7UWIMMD.js +0 -89
- package/dist/media-T6H3CRXB.js +0 -15
- package/dist/media-sources-5S6IFOOS.js +0 -32
- package/dist/members-HI2MH5SY.js +0 -44
- package/dist/meta-ZN3LHUU3.js +0 -69
- package/dist/metrics-BK5JSR6I.js +0 -152
- package/dist/models-3LS4Q2MN.js +0 -155
- package/dist/normalize-DGZPN2OM.js +0 -141
- package/dist/normalize-X7SHHCQD.js +0 -806
- package/dist/options-FCWD257L.js +0 -121
- package/dist/output-OJITAE7Q.js +0 -24
- package/dist/page-NBFLD3L5.js +0 -105
- package/dist/pages-MPEWHREN.js +0 -66
- package/dist/performance-PI372VKJ.js +0 -24
- package/dist/pinterest-22ODL6Q5.js +0 -96
- package/dist/pixels-DDNYT7R4.js +0 -60
- package/dist/pixels-OASXHZAX.js +0 -108
- package/dist/preview-YK7RI76O.js +0 -169
- package/dist/promoted-tweet-writes-MDBNSHVZ.js +0 -180
- package/dist/promoted-tweets-YGENR6WV.js +0 -119
- package/dist/properties-6ME4XYT7.js +0 -101
- package/dist/publish-6T7IEXRD.js +0 -322
- package/dist/query-TUNPWBPS.js +0 -247
- package/dist/query-WC5I2S6Z.js +0 -236
- package/dist/query-X5L4AZSD.js +0 -1341
- package/dist/read-EPTLUQAT.js +0 -140
- package/dist/read-EPTLUQAT.js.map +0 -1
- package/dist/reddit-6UJUB2YN.js +0 -26
- package/dist/refresh-2IU3CVJO.js +0 -94
- package/dist/release-LUHIB4XJ.js +0 -60
- package/dist/relevant-pages-MJXI3LW7.js +0 -99
- package/dist/remove-BRUS6SUG.js +0 -50
- package/dist/remove-RGHZHRJF.js +0 -48
- package/dist/reopen-CQEGEBUP.js +0 -63
- package/dist/rerun-EXCTHG7R.js +0 -85
- package/dist/research-GCAWQBH5.js +0 -262
- package/dist/research-RIOSGFV2.js +0 -62
- package/dist/reset-GZWJLJIA.js +0 -54
- package/dist/reset-TZQLXUOT.js +0 -54
- package/dist/resolve-C3L4SMTW.js +0 -121
- package/dist/retry-4IZ5UQMO.js +0 -60
- package/dist/retry-OJER6P7D.js +0 -62
- package/dist/retry-failed-CEFUP2NC.js +0 -45
- package/dist/run-7PMBP5DC.js +0 -65
- package/dist/run-CRFK4Z6L.js +0 -60
- package/dist/scaffold-ad-WWK3HEII.js +0 -1549
- package/dist/scaffold-static-ad-JZFBZYCN.js +0 -966
- package/dist/scaffold-static-ad-JZFBZYCN.js.map +0 -1
- package/dist/scaffold-video-P5CYWG4Z.js +0 -873
- package/dist/schedule-LHLE7VFM.js +0 -66
- package/dist/schedule-Z66CE7MU.js +0 -61
- package/dist/scheduled-agents-HHRJ5Q46.js +0 -49
- package/dist/schema-CQCIYXEX.js +0 -132
- package/dist/schema-J23F2JAU.js +0 -63
- package/dist/scrape-3SETPPMM.js +0 -2241
- package/dist/screenshot-OV4DCO6W.js +0 -102
- package/dist/search-BHQQFJB5.js +0 -26
- package/dist/search-CYS7UK5T.js +0 -224
- package/dist/search-IDQCAKVR.js +0 -174
- package/dist/search-QKKK3H6U.js +0 -91
- package/dist/search-XWFMVJ4J.js +0 -92
- package/dist/seeds-DMT6OIMK.js +0 -101
- package/dist/select-2U66UMVQ.js +0 -94
- package/dist/sends-LNKJRME5.js +0 -309
- package/dist/sequences-4YSD3GH3.js +0 -146
- package/dist/set-prompt-NY3HV4KV.js +0 -186
- package/dist/setup-links-LJLWQVQ2.js +0 -141
- package/dist/shared-PAORAY6M.js +0 -31
- package/dist/site-F4TGY5OE.js +0 -177
- package/dist/sitemaps-XEMTLWYG.js +0 -87
- package/dist/sites-K755KMC2.js +0 -101
- package/dist/skills-S65DX7PQ.js +0 -47
- package/dist/sources-HZF7UXW6.js +0 -30
- package/dist/sources-XTNEWFHJ.js +0 -421
- package/dist/stale-NLXN7V3N.js +0 -63
- package/dist/stats-CZJKNCIZ.js +0 -34
- package/dist/status-M7RTOGLJ.js +0 -62
- package/dist/sticker-UQ2XPXIB.js +0 -94
- package/dist/stock-FKAD46O3.js +0 -179
- package/dist/studio-BHZSCE67.js +0 -49
- package/dist/sync-AAXI4RZD.js +0 -54
- package/dist/sync-E6BLPR6W.js +0 -54
- package/dist/sync-L4LK3QQS.js +0 -265
- package/dist/sync-definition-CAHBKD3F.js +0 -53
- package/dist/tag-manager-4LCQUQNJ.js +0 -43
- package/dist/tags-BVQNIIQU.js +0 -20
- package/dist/tags-QQ632HNZ.js +0 -20
- package/dist/tags-RSAVBZCB.js +0 -20
- package/dist/tags-TZIDBVTK.js +0 -26
- package/dist/tags-URQYAJMH.js +0 -224
- package/dist/targeting-constants-HKGJVLJ5.js +0 -118
- package/dist/targeting-criteria-J2V47AJP.js +0 -113
- package/dist/targets-H7YOEVOJ.js +0 -102
- package/dist/templates-WLSSRPZ4.js +0 -178
- package/dist/testimonials-A26T3NY3.js +0 -32
- package/dist/top-companies-26MYZU5T.js +0 -108
- package/dist/translate-BD6ULLLZ.js +0 -598
- package/dist/triggers-XFCQHRLA.js +0 -141
- package/dist/tweets-PPL2ZRV6.js +0 -123
- package/dist/unfollow-A6GAUIGZ.js +0 -46
- package/dist/unlink-XNZACHV3.js +0 -67
- package/dist/unstage-2HSBJ726.js +0 -84
- package/dist/unstage-B6ZGECFU.js +0 -95
- package/dist/update-2BYOVA5C.js +0 -142
- package/dist/update-EG4OSVE4.js +0 -155
- package/dist/update-RSYR6ABL.js +0 -98
- package/dist/update-SXVXLTND.js +0 -63
- package/dist/upload-HOJK4HT6.js +0 -126
- package/dist/upload-PH6ZWOIA.js +0 -150
- package/dist/upscale-R25SXKQI.js +0 -109
- package/dist/url-options-SK3CKY5H.js +0 -127
- package/dist/url-params-246VH6BJ.js +0 -98
- package/dist/use-WIFON4IC.js +0 -95
- package/dist/validate-JFL2PL54.js +0 -89
- package/dist/variant-EHLAO2EZ.js +0 -338
- package/dist/videos-5SPZWUWN.js +0 -39
- package/dist/view-JS33UZGE.js +0 -121
- package/dist/viewer-check-TKST6FWT.js +0 -69
- package/dist/web-ZDEM5O3C.js +0 -140
- package/dist/winners-SDADXE22.js +0 -79
- package/dist/winning-ads-SPPDT7JW.js +0 -62
- package/dist/winning-ads-SPPDT7JW.js.map +0 -1
- package/dist/write-commands-PKB23ZBZ.js +0 -1015
- package/dist/write-commands-VKKEGFTJ.js +0 -713
- package/dist/write-commands-WYET5424.js +0 -737
- package/dist/write-commands-X2IJUI5D.js +0 -206
- package/dist/x-CZOHX4T2.js +0 -47
- /package/dist/{account-TJPJXX5L.js.map → account-F6MHQ64I.js.map} +0 -0
- /package/dist/{account-BENZTU54.js.map → account-HS7SDSEB.js.map} +0 -0
- /package/dist/{account-WOEYURTR.js.map → account-IEVEOFIK.js.map} +0 -0
- /package/dist/{account-writes-QLHQ6QRN.js.map → account-writes-ISE4U2FQ.js.map} +0 -0
- /package/dist/{accounts-RVRE3XSZ.js.map → accounts-3JKABIGU.js.map} +0 -0
- /package/dist/{accounts-MZXNJ4FY.js.map → accounts-4CDRK4S4.js.map} +0 -0
- /package/dist/{accounts-ILE6LUH2.js.map → accounts-5QDKBZMH.js.map} +0 -0
- /package/dist/{accounts-CIYRAWVY.js.map → accounts-KYJO3JC6.js.map} +0 -0
- /package/dist/{accounts-EKYHTEL5.js.map → accounts-ZZONEKPU.js.map} +0 -0
- /package/dist/{actions-SE4RT5VJ.js.map → actions-VKHKHUUC.js.map} +0 -0
- /package/dist/{active-entities-NNSRMERA.js.map → active-entities-YUSOUR5M.js.map} +0 -0
- /package/dist/{activities-IOIEQTVH.js.map → activities-ZVQOBHZH.js.map} +0 -0
- /package/dist/{ad-group-writes-TQCKLL34.js.map → ad-group-writes-UU5NNKSO.js.map} +0 -0
- /package/dist/{ad-groups-LZWSLBC5.js.map → ad-groups-CGFXZNIA.js.map} +0 -0
- /package/dist/{ad-writes-UH2WTTGA.js.map → ad-writes-NALDYWOR.js.map} +0 -0
- /package/dist/{add-IKO6F33F.js.map → add-53DDLTVG.js.map} +0 -0
- /package/dist/{add-AYKM57Z4.js.map → add-577QWMCF.js.map} +0 -0
- /package/dist/{add-IBRKJ3YA.js.map → add-ATD4MBOO.js.map} +0 -0
- /package/dist/{add-VHJNMLIZ.js.map → add-CUWAW7KG.js.map} +0 -0
- /package/dist/{ads-6GT5744J.js.map → ads-6UEDYT3O.js.map} +0 -0
- /package/dist/{ads-RJNNP6XJ.js.map → ads-PV7GZXPR.js.map} +0 -0
- /package/dist/{ads-QFCFTASQ.js.map → ads-QFAUJCWM.js.map} +0 -0
- /package/dist/{adsets-XG64ZCJY.js.map → adsets-Q5DWGANV.js.map} +0 -0
- /package/dist/{advertisers-MWTH3NR4.js.map → advertisers-HYUASJAS.js.map} +0 -0
- /package/dist/{advertisers-XVGBLKB3.js.map → advertisers-YMHPZYNF.js.map} +0 -0
- /package/dist/{analytics-M2YUE6P3.js.map → analytics-RQROMSQ3.js.map} +0 -0
- /package/dist/{animate-RC3ZBLLZ.js.map → animate-FWWHSYPL.js.map} +0 -0
- /package/dist/{assign-6MIMTPG6.js.map → assign-7332DMG5.js.map} +0 -0
- /package/dist/{audience-size-LG3EJVUQ.js.map → audience-size-UYX5RPTA.js.map} +0 -0
- /package/dist/{audiences-CDQPFZOH.js.map → audiences-AMRFZRZ7.js.map} +0 -0
- /package/dist/{audiences-FEP7LYRA.js.map → audiences-HFRVIE2X.js.map} +0 -0
- /package/dist/{audiences-H3RVGETG.js.map → audiences-VEKGLWBG.js.map} +0 -0
- /package/dist/{audit-65M7ZYPF.js.map → audit-AD4ZZNJN.js.map} +0 -0
- /package/dist/{audit-NLSSM2KK.js.map → audit-ZGTG7VRD.js.map} +0 -0
- /package/dist/{autocomplete-FWTUDPDJ.js.map → autocomplete-LPG4WWTY.js.map} +0 -0
- /package/dist/{avatars-HSU7KUT3.js.map → avatars-HTQMIA2F.js.map} +0 -0
- /package/dist/{bid-pricing-SDJGBZQI.js.map → bid-pricing-IK2C2IKE.js.map} +0 -0
- /package/dist/{brand-4E7GKZYV.js.map → brand-3WCTQWWX.js.map} +0 -0
- /package/dist/{brief-2YLVLL3Q.js.map → brief-WDKTAKVA.js.map} +0 -0
- /package/dist/{businesses-PJGOECA7.js.map → businesses-JBDQZZIG.js.map} +0 -0
- /package/dist/{campaign-groups-J3ZLWO6K.js.map → campaign-groups-6CJ45XMO.js.map} +0 -0
- /package/dist/{campaign-writes-UGUL5EDR.js.map → campaign-writes-2MLRVFJK.js.map} +0 -0
- /package/dist/{campaign-writes-PIOQVLAI.js.map → campaign-writes-SX52CJYW.js.map} +0 -0
- /package/dist/{campaigns-IZZ4FCHQ.js.map → campaigns-D6B6Z67Y.js.map} +0 -0
- /package/dist/{campaigns-PFNTJHMX.js.map → campaigns-DTH5ADA7.js.map} +0 -0
- /package/dist/{campaigns-ZU7FMRQ3.js.map → campaigns-X3DPCCSN.js.map} +0 -0
- /package/dist/{campaigns-6ARLQJU2.js.map → campaigns-ZVA7SUNN.js.map} +0 -0
- /package/dist/{capabilities-K3DVPGYB.js.map → capabilities-VWJGP43K.js.map} +0 -0
- /package/dist/{cards-PS3VNNX3.js.map → cards-4477BFEV.js.map} +0 -0
- /package/dist/{catalog-O5U2VMKK.js.map → catalog-BKQOAVR2.js.map} +0 -0
- /package/dist/{catalogs-ALSH4R2K.js.map → catalogs-G3YEVG6S.js.map} +0 -0
- /package/dist/{changes-KFQKVM3M.js.map → changes-TP7ZZHB3.js.map} +0 -0
- /package/dist/{chatgpt-NHGFCJYH.js.map → chatgpt-QNUN63YS.js.map} +0 -0
- /package/dist/{chats-YRRTFHKK.js.map → chats-JOZKLOFU.js.map} +0 -0
- /package/dist/{chunk-ZR55VIOO.js.map → chunk-2BKVVCCV.js.map} +0 -0
- /package/dist/{chunk-XXBIY75O.js.map → chunk-2TK4DEOE.js.map} +0 -0
- /package/dist/{chunk-4BIU2YVF.js.map → chunk-35XWJEWH.js.map} +0 -0
- /package/dist/{chunk-3XZEAI7E.js.map → chunk-3EUFAONS.js.map} +0 -0
- /package/dist/{chunk-EDU6N5NY.js.map → chunk-3JCF3NK6.js.map} +0 -0
- /package/dist/{chunk-BPQARCYW.js.map → chunk-4GOS37IA.js.map} +0 -0
- /package/dist/{chunk-63VMGEZI.js.map → chunk-4JHUG6Y3.js.map} +0 -0
- /package/dist/{chunk-DTKZEXIF.js.map → chunk-4NDCTLI5.js.map} +0 -0
- /package/dist/{chunk-5J5NHV3X.js.map → chunk-4QEY2L6U.js.map} +0 -0
- /package/dist/{chunk-6C3ADYIW.js.map → chunk-54UVGFX3.js.map} +0 -0
- /package/dist/{chunk-JFMMCONZ.js.map → chunk-5PKB7LNI.js.map} +0 -0
- /package/dist/{chunk-SCG3FY3H.js.map → chunk-5YGBRHO6.js.map} +0 -0
- /package/dist/{chunk-6K47VIWF.js.map → chunk-5Z2KSVIV.js.map} +0 -0
- /package/dist/{chunk-NPW3LEAE.js.map → chunk-6B7VKFS4.js.map} +0 -0
- /package/dist/{chunk-XUNG5I2P.js.map → chunk-6G5K6ZC6.js.map} +0 -0
- /package/dist/{chunk-KFHLUX6M.js.map → chunk-6QJLVNGU.js.map} +0 -0
- /package/dist/{chunk-B7COZ237.js.map → chunk-75FDTDLH.js.map} +0 -0
- /package/dist/{chunk-EMLKO3AU.js.map → chunk-7OFNN4CT.js.map} +0 -0
- /package/dist/{chunk-RE6ZIHDH.js.map → chunk-7ZHMGXE2.js.map} +0 -0
- /package/dist/{chunk-YI34MMBL.js.map → chunk-BNCW67EM.js.map} +0 -0
- /package/dist/{chunk-E25X7QES.js.map → chunk-C6U6UDHJ.js.map} +0 -0
- /package/dist/{chunk-Q5KR4RRB.js.map → chunk-D76QEIFG.js.map} +0 -0
- /package/dist/{chunk-RASBZ6SN.js.map → chunk-DGPLXY37.js.map} +0 -0
- /package/dist/{chunk-TIL76IDK.js.map → chunk-DZSIUEGH.js.map} +0 -0
- /package/dist/{chunk-IY3JSASS.js.map → chunk-E6KL5ZRN.js.map} +0 -0
- /package/dist/{chunk-3REUG4QF.js.map → chunk-EFSYTROP.js.map} +0 -0
- /package/dist/{chunk-DMA7XZLS.js.map → chunk-EKCPMVZ3.js.map} +0 -0
- /package/dist/{chunk-XDEQ3JIR.js.map → chunk-F2S5BLPE.js.map} +0 -0
- /package/dist/{chunk-X7TD2MW7.js.map → chunk-F4CUV4FV.js.map} +0 -0
- /package/dist/{chunk-MJYRLGGI.js.map → chunk-G7HYW5TH.js.map} +0 -0
- /package/dist/{chunk-BFBTBN66.js.map → chunk-GX6VAHY7.js.map} +0 -0
- /package/dist/{chunk-JXOPTOVM.js.map → chunk-H26L3OQY.js.map} +0 -0
- /package/dist/{chunk-P5T7OZKV.js.map → chunk-HQSCJYZO.js.map} +0 -0
- /package/dist/{chunk-S2IOUC5B.js.map → chunk-HRYOZUSK.js.map} +0 -0
- /package/dist/{chunk-HNBLXWWQ.js.map → chunk-JERXV5A3.js.map} +0 -0
- /package/dist/{chunk-LAHBXTKI.js.map → chunk-JYWZRDLZ.js.map} +0 -0
- /package/dist/{chunk-KVHZLRNU.js.map → chunk-K46X77UI.js.map} +0 -0
- /package/dist/{chunk-6TQHA2UF.js.map → chunk-KFE3S63W.js.map} +0 -0
- /package/dist/{chunk-7P2Y7OQF.js.map → chunk-KLNKEVIY.js.map} +0 -0
- /package/dist/{chunk-GLRM72PT.js.map → chunk-KNY76UGC.js.map} +0 -0
- /package/dist/{chunk-K45KDAV7.js.map → chunk-KQTYTCKQ.js.map} +0 -0
- /package/dist/{chunk-Z6DVODBW.js.map → chunk-KRZV6VS2.js.map} +0 -0
- /package/dist/{chunk-JGST7KMB.js.map → chunk-KS2QY6MK.js.map} +0 -0
- /package/dist/{chunk-52KJDURD.js.map → chunk-L27H2R2N.js.map} +0 -0
- /package/dist/{chunk-GLPKJMMO.js.map → chunk-LERTEZST.js.map} +0 -0
- /package/dist/{chunk-ODMRAEEP.js.map → chunk-LF2PIA67.js.map} +0 -0
- /package/dist/{chunk-4CYUOGDC.js.map → chunk-LLOOWRBB.js.map} +0 -0
- /package/dist/{chunk-H4VPQQN7.js.map → chunk-LS5MTRFI.js.map} +0 -0
- /package/dist/{chunk-II7LSCAH.js.map → chunk-LYBXCXJB.js.map} +0 -0
- /package/dist/{chunk-7GZNYQ3Z.js.map → chunk-M4G3NKDB.js.map} +0 -0
- /package/dist/{chunk-W5FCTANB.js.map → chunk-MM22NUA6.js.map} +0 -0
- /package/dist/{chunk-UOFHTLPD.js.map → chunk-MM5XO4MP.js.map} +0 -0
- /package/dist/{chunk-3J62OINP.js.map → chunk-MZ3SJ6FV.js.map} +0 -0
- /package/dist/{chunk-2ACGDQ2P.js.map → chunk-MZL4H5PY.js.map} +0 -0
- /package/dist/{chunk-5WW456MW.js.map → chunk-NU7JSWVA.js.map} +0 -0
- /package/dist/{chunk-NJY65ACF.js.map → chunk-PBA3YCZA.js.map} +0 -0
- /package/dist/{chunk-SLE4FEFP.js.map → chunk-PROV2XDR.js.map} +0 -0
- /package/dist/{chunk-XLNVBDP2.js.map → chunk-PWGWMIIJ.js.map} +0 -0
- /package/dist/{chunk-KKRN7XRQ.js.map → chunk-PZ7EPJRF.js.map} +0 -0
- /package/dist/{chunk-JTFZ5M3C.js.map → chunk-QSN5MZGS.js.map} +0 -0
- /package/dist/{chunk-ITQWQINC.js.map → chunk-QZOS6FXW.js.map} +0 -0
- /package/dist/{chunk-YORMRROI.js.map → chunk-RNDPEHCH.js.map} +0 -0
- /package/dist/{chunk-BDI5INZA.js.map → chunk-RX6F3GEA.js.map} +0 -0
- /package/dist/{chunk-E7GYHNQO.js.map → chunk-STIB5DR5.js.map} +0 -0
- /package/dist/{chunk-TQO6WNUH.js.map → chunk-T4DD5YMP.js.map} +0 -0
- /package/dist/{chunk-L2ZNZSPV.js.map → chunk-TD2P4HBP.js.map} +0 -0
- /package/dist/{chunk-5SAQ7MNN.js.map → chunk-TJFELVYS.js.map} +0 -0
- /package/dist/{chunk-XFGAUP5B.js.map → chunk-ULJ5RFOV.js.map} +0 -0
- /package/dist/{chunk-6TDEGWZJ.js.map → chunk-VAJBWA2U.js.map} +0 -0
- /package/dist/{chunk-Q4U3ENKF.js.map → chunk-VB6WJJR3.js.map} +0 -0
- /package/dist/{chunk-CWW5ITFK.js.map → chunk-VFIOJD5M.js.map} +0 -0
- /package/dist/{chunk-33F4O6OO.js.map → chunk-VVZBBKRC.js.map} +0 -0
- /package/dist/{chunk-L4C4OPO2.js.map → chunk-W3B4BHQU.js.map} +0 -0
- /package/dist/{chunk-S5MBDWB3.js.map → chunk-WNFIJAUO.js.map} +0 -0
- /package/dist/{chunk-LX2VM245.js.map → chunk-WS2GMOSG.js.map} +0 -0
- /package/dist/{chunk-RNHSGH44.js.map → chunk-WTOYCUKH.js.map} +0 -0
- /package/dist/{chunk-5BQCBI2G.js.map → chunk-XBOK23HI.js.map} +0 -0
- /package/dist/{chunk-AW2UE5AI.js.map → chunk-XL3BMSYG.js.map} +0 -0
- /package/dist/{chunk-PLMHZLJ6.js.map → chunk-XX53CHKP.js.map} +0 -0
- /package/dist/{chunk-YYBQUXFX.js.map → chunk-YBMVHGY3.js.map} +0 -0
- /package/dist/{chunk-3ASE4O2H.js.map → chunk-YIWXHIVZ.js.map} +0 -0
- /package/dist/{chunk-EOIYM35Z.js.map → chunk-YKFEHWHC.js.map} +0 -0
- /package/dist/{chunk-F4IQVOOJ.js.map → chunk-YTNJODFK.js.map} +0 -0
- /package/dist/{chunk-JIB3JWL7.js.map → chunk-Z6XEMPOZ.js.map} +0 -0
- /package/dist/{chunk-XOSUSV2O.js.map → chunk-ZWKPXWS5.js.map} +0 -0
- /package/dist/{chunk-UXQ4YQ2O.js.map → chunk-ZZQXVYUY.js.map} +0 -0
- /package/dist/{claim-Y72FU77H.js.map → claim-ITPOQ2I7.js.map} +0 -0
- /package/dist/{client-4H6FYKCS.js.map → client-VHN32ZRE.js.map} +0 -0
- /package/dist/{code-JRNGF4AQ.js.map → code-YS6ZMGX3.js.map} +0 -0
- /package/dist/{companies-XEYBYAYB.js.map → companies-Y5HPLJF5.js.map} +0 -0
- /package/dist/{complete-ZANYQ6HF.js.map → complete-SRXMUS4R.js.map} +0 -0
- /package/dist/{config-ON2KUCQT.js.map → config-CQN5FHMZ.js.map} +0 -0
- /package/dist/{connect-VBCLYQF4.js.map → connect-CRHMP3NK.js.map} +0 -0
- /package/dist/{content-QIEV6TB3.js.map → content-3ZPP4SW2.js.map} +0 -0
- /package/dist/{conversation-XVGX7HL2.js.map → conversation-BBOPGOMH.js.map} +0 -0
- /package/dist/{conversion-report-RC7G5FYK.js.map → conversion-report-N4HANYOB.js.map} +0 -0
- /package/dist/{conversion-upload-command-PEE3VQTU.js.map → conversion-upload-command-AUF3LNTH.js.map} +0 -0
- /package/dist/{conversion-writes-W7ICHG76.js.map → conversion-writes-LW4HQKK5.js.map} +0 -0
- /package/dist/{conversions-KF4AHFCY.js.map → conversions-DH3Q6UTJ.js.map} +0 -0
- /package/dist/{conversions-OI7JVWXC.js.map → conversions-TS723AZV.js.map} +0 -0
- /package/dist/{countries-DYGDGADD.js.map → countries-ESAKTQAE.js.map} +0 -0
- /package/dist/{create-5ZYWRS65.js.map → create-CW5E5Y2S.js.map} +0 -0
- /package/dist/{create-TH4PAKLA.js.map → create-HOIUANHB.js.map} +0 -0
- /package/dist/{create-HOZVJTLQ.js.map → create-M7TK4QUC.js.map} +0 -0
- /package/dist/{create-O4HLNNZZ.js.map → create-ZWSKHSPD.js.map} +0 -0
- /package/dist/{creatives-4NBWBNE3.js.map → creatives-LLWNKS47.js.map} +0 -0
- /package/dist/{creatives-QCA5K3QN.js.map → creatives-QQZNCA6V.js.map} +0 -0
- /package/dist/{creatives-QWCZYDFX.js.map → creatives-UEPLNCPN.js.map} +0 -0
- /package/dist/{critique-AWVCL2V3.js.map → critique-AQDXRULE.js.map} +0 -0
- /package/dist/{critique-JHTYUNM4.js.map → critique-ORSUUTHE.js.map} +0 -0
- /package/dist/{crm-7CJYHUOM.js.map → crm-EPSZEOD2.js.map} +0 -0
- /package/dist/{crm-UGKYWOXB.js.map → crm-WNFEWAAM.js.map} +0 -0
- /package/dist/{crop-HS55YINN.js.map → crop-2J4RKJ6B.js.map} +0 -0
- /package/dist/{currency-UIK2FQKD.js.map → currency-XCGKQ7FE.js.map} +0 -0
- /package/dist/{custom-conversions-NBZZO6CH.js.map → custom-conversions-2VLJGPRV.js.map} +0 -0
- /package/dist/{customers-NIAOEYND.js.map → customers-NZDE7V3P.js.map} +0 -0
- /package/dist/{delete-NQTQ3KDZ.js.map → delete-3AV3ARMX.js.map} +0 -0
- /package/dist/{delete-2LZGYUPS.js.map → delete-6RAKC62Z.js.map} +0 -0
- /package/dist/{delete-JUT3DSKM.js.map → delete-7HMQBDFC.js.map} +0 -0
- /package/dist/{delete-7YUYMN6C.js.map → delete-A5XD52K4.js.map} +0 -0
- /package/dist/{delete-W6U5RF5Q.js.map → delete-FKXR5ZOP.js.map} +0 -0
- /package/dist/{delete-KFY6CQNU.js.map → delete-MRM2S4Z5.js.map} +0 -0
- /package/dist/{demographics-I7AAPHXO.js.map → demographics-PRZS2ZC4.js.map} +0 -0
- /package/dist/{describe-GR23KX6I.js.map → describe-6NVOWIBE.js.map} +0 -0
- /package/dist/{describe-H4WLDC3H.js.map → describe-P3PPIQME.js.map} +0 -0
- /package/dist/{dimensions-H47GQ7EG.js.map → dimensions-EYAYO27I.js.map} +0 -0
- /package/dist/{discard-WVDVBN64.js.map → discard-YLTMCFE6.js.map} +0 -0
- /package/dist/{discover-TYVFSFBE.js.map → discover-BJPZNXUQ.js.map} +0 -0
- /package/dist/{domain-YOUKBS2S.js.map → domain-Z533IR5M.js.map} +0 -0
- /package/dist/{download-FST2EONO.js.map → download-7T6HIJKD.js.map} +0 -0
- /package/dist/{draft-53B4DCWT.js.map → draft-3ZVCQSAG.js.map} +0 -0
- /package/dist/{draft-2YWPCLWT.js.map → draft-4PURIMDM.js.map} +0 -0
- /package/dist/{draft-P5OM2FM4.js.map → draft-5YAYCEYY.js.map} +0 -0
- /package/dist/{draft-GIDPSFBJ.js.map → draft-7ZWPABVG.js.map} +0 -0
- /package/dist/{draft-AGQGAQDL.js.map → draft-KIBMVKSR.js.map} +0 -0
- /package/dist/{draft-34F45F46.js.map → draft-THPZFASM.js.map} +0 -0
- /package/dist/{draft-F4TRTDSV.js.map → draft-YDY2Q2K6.js.map} +0 -0
- /package/dist/{draft-AUJKE57P.js.map → draft-ZXZEQRCL.js.map} +0 -0
- /package/dist/{env-36PNRGN2.js.map → env-KIP2J2UB.js.map} +0 -0
- /package/dist/{export-WFKV2OYY.js.map → export-JQRMBJ7D.js.map} +0 -0
- /package/dist/{extract-QIVN46BW.js.map → extract-7QKLME7Z.js.map} +0 -0
- /package/dist/{facets-R3PIL4VO.js.map → facets-453OFMAM.js.map} +0 -0
- /package/dist/{favorites-Q3QVUTEF.js.map → favorites-NSGF4OV5.js.map} +0 -0
- /package/dist/{feed-2T3HP275.js.map → feed-RV4KPPXM.js.map} +0 -0
- /package/dist/{feedback-NK63HSFT.js.map → feedback-JFV6BMJW.js.map} +0 -0
- /package/dist/{feedback-record-ANSY2BEC.js.map → feedback-record-HCOBRTY2.js.map} +0 -0
- /package/dist/{fetch-V4XGLUEZ.js.map → fetch-44PPB6UO.js.map} +0 -0
- /package/dist/{fetch-D57AS4RQ.js.map → fetch-XF76JABV.js.map} +0 -0
- /package/dist/{find-7MSB5EHL.js.map → find-FRRHAPWX.js.map} +0 -0
- /package/dist/{fit-2GADEYRG.js.map → fit-7237F5EB.js.map} +0 -0
- /package/dist/{flows-ZWQHM6U6.js.map → flows-N7UZ4ZO5.js.map} +0 -0
- /package/dist/{follow-556YL7IJ.js.map → follow-FN7LV3WV.js.map} +0 -0
- /package/dist/{follow-competitors-LNAJCROC.js.map → follow-competitors-MKXFHLXB.js.map} +0 -0
- /package/dist/{following-V6QK3ROG.js.map → following-RKC2FLHI.js.map} +0 -0
- /package/dist/{fonts-CB44BCDC.js.map → fonts-YW7SU5EY.js.map} +0 -0
- /package/dist/{forecast-FKNCIFVA.js.map → forecast-W57WFVDL.js.map} +0 -0
- /package/dist/{funding-NP22ZLBH.js.map → funding-NYO65IMT.js.map} +0 -0
- /package/dist/{ga4-T3IODHS2.js.map → ga4-DV2AXCSL.js.map} +0 -0
- /package/dist/{generate-VSAS3QA5.js.map → generate-MMBYB44G.js.map} +0 -0
- /package/dist/{get-VBB6GNOW.js.map → get-2NA3LPCN.js.map} +0 -0
- /package/dist/{get-QWEQMBGA.js.map → get-3L6W3E3T.js.map} +0 -0
- /package/dist/{get-77U4CN3V.js.map → get-6WEYKOY6.js.map} +0 -0
- /package/dist/{get-BNO4T5SH.js.map → get-MEGPYKQR.js.map} +0 -0
- /package/dist/{get-UMFJ26TV.js.map → get-P743RPSI.js.map} +0 -0
- /package/dist/{get-ST2ZAQR3.js.map → get-XN5ZGDIK.js.map} +0 -0
- /package/dist/{get-IUS3RB5H.js.map → get-YIHTAMRT.js.map} +0 -0
- /package/dist/{gif-5PQMJHUZ.js.map → gif-53ULFVLR.js.map} +0 -0
- /package/dist/{google-ITIUG5PK.js.map → google-M7KEXVK5.js.map} +0 -0
- /package/dist/{google-2WSPNB7K.js.map → google-QYYYSSXI.js.map} +0 -0
- /package/dist/{google-ads-TLZR2JRG.js.map → google-ads-G2XD4RMT.js.map} +0 -0
- /package/dist/{group-JSDECSRD.js.map → group-EFZ3AJIE.js.map} +0 -0
- /package/dist/{group-4LZM3SOQ.js.map → group-GKWCCX66.js.map} +0 -0
- /package/dist/{gsc-3LQHAWWC.js.map → gsc-TAKOF7J5.js.map} +0 -0
- /package/dist/{history-VZIYKR7A.js.map → history-DBIEYQHY.js.map} +0 -0
- /package/dist/{history-NE4I5SEE.js.map → history-RCKMMUWI.js.map} +0 -0
- /package/dist/{hubspot-H2SYPIFD.js.map → hubspot-CKS7F77W.js.map} +0 -0
- /package/dist/{icon-LBWC5HYT.js.map → icon-L4RSS6PZ.js.map} +0 -0
- /package/dist/{ideas-LQUVKQKS.js.map → ideas-EYC6K33G.js.map} +0 -0
- /package/dist/{images-T5GD4WFJ.js.map → images-2HJ7YKTH.js.map} +0 -0
- /package/dist/{improve-RBY3HJ4Z.js.map → improve-BCCU5AS6.js.map} +0 -0
- /package/dist/{ingest-DHSFUFHB.js.map → ingest-26O5Q462.js.map} +0 -0
- /package/dist/{ingest-YNNFZQF4.js.map → ingest-RR5GAX3G.js.map} +0 -0
- /package/dist/{insights-JBRJWBZ2.js.map → insights-NZWSJKU4.js.map} +0 -0
- /package/dist/{insights-DO7CTSGR.js.map → insights-ZIU6FJMS.js.map} +0 -0
- /package/dist/{inspect-KELSQCLK.js.map → inspect-XPDUPSUP.js.map} +0 -0
- /package/dist/{inspiration-UUHVLEJ6.js.map → inspiration-S3DU4CMQ.js.map} +0 -0
- /package/dist/{intent-DRB4VZXP.js.map → intent-E3UIVZBN.js.map} +0 -0
- /package/dist/{job-QFXKGFW4.js.map → job-L7RJZMSG.js.map} +0 -0
- /package/dist/{job-create-Q2OOGI7E.js.map → job-create-JUDAN52O.js.map} +0 -0
- /package/dist/{job-status-SUO4X7UP.js.map → job-status-U43WE3RJ.js.map} +0 -0
- /package/dist/{keep-TZK5V4ZY.js.map → keep-55CPC7DG.js.map} +0 -0
- /package/dist/{keyword-gap-HZONPMCA.js.map → keyword-gap-BG6M665A.js.map} +0 -0
- /package/dist/{keyword-metrics-6B6I4PN4.js.map → keyword-metrics-KOPXTILA.js.map} +0 -0
- /package/dist/{keywords-for-site-BI6DHP7K.js.map → keywords-for-site-PONNELI5.js.map} +0 -0
- /package/dist/{landing-CSX5DZVJ.js.map → landing-RYRZ5VZ2.js.map} +0 -0
- /package/dist/{languages-DR2PONQX.js.map → languages-HORKPDNH.js.map} +0 -0
- /package/dist/{languages-PEZHTXZX.js.map → languages-JSGWCC7Z.js.map} +0 -0
- /package/dist/{layerize-VYLLKEKU.js.map → layerize-RPD6SNP6.js.map} +0 -0
- /package/dist/{leads-3OAJRMWS.js.map → leads-ARUWPHBM.js.map} +0 -0
- /package/dist/{leads-BL6GWOAG.js.map → leads-R7YSJDIG.js.map} +0 -0
- /package/dist/{learn-2O6NKJCX.js.map → learn-IZ6QKTCX.js.map} +0 -0
- /package/dist/{library-TXRUECDM.js.map → library-ARKRLCNJ.js.map} +0 -0
- /package/dist/{lighthouse-RLUZZOKE.js.map → lighthouse-6ZC45E53.js.map} +0 -0
- /package/dist/{line-item-writes-O3AYCYIS.js.map → line-item-writes-25FE22UX.js.map} +0 -0
- /package/dist/{line-items-NLFOGAAO.js.map → line-items-V522VKSU.js.map} +0 -0
- /package/dist/{link-YDGPKGM6.js.map → link-ZZZVDSUP.js.map} +0 -0
- /package/dist/{linkedin-WBO6EPMB.js.map → linkedin-HXLYJVGI.js.map} +0 -0
- /package/dist/{list-BTS2E4UI.js.map → list-7MVBXOJT.js.map} +0 -0
- /package/dist/{list-EVPBQSRL.js.map → list-A5UCIR2J.js.map} +0 -0
- /package/dist/{list-BPSQWWLP.js.map → list-AL7N6X2P.js.map} +0 -0
- /package/dist/{list-EJYJIIUY.js.map → list-HSXOTG5R.js.map} +0 -0
- /package/dist/{list-VBLCEHPO.js.map → list-KYEK3N34.js.map} +0 -0
- /package/dist/{list-EPRACXON.js.map → list-LI4OGQFW.js.map} +0 -0
- /package/dist/{list-DJOQQI6Y.js.map → list-LKHHCQZU.js.map} +0 -0
- /package/dist/{list-L7CZJZRS.js.map → list-P7NAFN6J.js.map} +0 -0
- /package/dist/{locations-SPFNXQGT.js.map → locations-74TPQWAT.js.map} +0 -0
- /package/dist/{locations-UGSAWLNK.js.map → locations-J4G5RNPH.js.map} +0 -0
- /package/dist/{log-VG77KFB4.js.map → log-6ELXS5EJ.js.map} +0 -0
- /package/dist/{logo-HUGNK27I.js.map → logo-Q5D7PZY6.js.map} +0 -0
- /package/dist/{lookup-MPFB5G7E.js.map → lookup-TCU2ZEZW.js.map} +0 -0
- /package/dist/{mcp-LD6W2RSB.js.map → mcp-W7DBSUF7.js.map} +0 -0
- /package/dist/{media-T6H3CRXB.js.map → media-53DJRC4N.js.map} +0 -0
- /package/dist/{media-A7UWIMMD.js.map → media-6CQYG4UY.js.map} +0 -0
- /package/dist/{media-sources-5S6IFOOS.js.map → media-sources-M35YZQY5.js.map} +0 -0
- /package/dist/{members-HI2MH5SY.js.map → members-QXYMJQWU.js.map} +0 -0
- /package/dist/{meta-ZN3LHUU3.js.map → meta-A7KM6TF5.js.map} +0 -0
- /package/dist/{metrics-BK5JSR6I.js.map → metrics-SQDJ5NQO.js.map} +0 -0
- /package/dist/{models-3LS4Q2MN.js.map → models-7U3GRYHF.js.map} +0 -0
- /package/dist/{normalize-DGZPN2OM.js.map → normalize-DYJLUBQP.js.map} +0 -0
- /package/dist/{normalize-X7SHHCQD.js.map → normalize-ICQF2AST.js.map} +0 -0
- /package/dist/{options-FCWD257L.js.map → options-77SHB5KA.js.map} +0 -0
- /package/dist/{output-OJITAE7Q.js.map → output-RAH3TSIL.js.map} +0 -0
- /package/dist/{page-NBFLD3L5.js.map → page-GS3WLT2C.js.map} +0 -0
- /package/dist/{pages-MPEWHREN.js.map → pages-FXYQLHSJ.js.map} +0 -0
- /package/dist/{performance-PI372VKJ.js.map → performance-VVTYUSTW.js.map} +0 -0
- /package/dist/{pinterest-22ODL6Q5.js.map → pinterest-AUH7WBA7.js.map} +0 -0
- /package/dist/{pixels-DDNYT7R4.js.map → pixels-45A55MOP.js.map} +0 -0
- /package/dist/{pixels-OASXHZAX.js.map → pixels-ZFF4BGUH.js.map} +0 -0
- /package/dist/{preview-YK7RI76O.js.map → preview-AD4GKYIA.js.map} +0 -0
- /package/dist/{promoted-tweet-writes-MDBNSHVZ.js.map → promoted-tweet-writes-QP37NMQC.js.map} +0 -0
- /package/dist/{promoted-tweets-YGENR6WV.js.map → promoted-tweets-WPSM6MGX.js.map} +0 -0
- /package/dist/{properties-6ME4XYT7.js.map → properties-L2XIYQDS.js.map} +0 -0
- /package/dist/{publish-6T7IEXRD.js.map → publish-YF6ESBGQ.js.map} +0 -0
- /package/dist/{query-X5L4AZSD.js.map → query-IEZRY6HV.js.map} +0 -0
- /package/dist/{query-WC5I2S6Z.js.map → query-SGGBCHTF.js.map} +0 -0
- /package/dist/{query-TUNPWBPS.js.map → query-VTGVZQIO.js.map} +0 -0
- /package/dist/{reddit-6UJUB2YN.js.map → reddit-VC3IOFNC.js.map} +0 -0
- /package/dist/{refresh-2IU3CVJO.js.map → refresh-UXBCTVCG.js.map} +0 -0
- /package/dist/{release-LUHIB4XJ.js.map → release-PP5S5QHD.js.map} +0 -0
- /package/dist/{relevant-pages-MJXI3LW7.js.map → relevant-pages-OWMNUCP7.js.map} +0 -0
- /package/dist/{remove-RGHZHRJF.js.map → remove-6LGGKMLJ.js.map} +0 -0
- /package/dist/{remove-BRUS6SUG.js.map → remove-OUWQ7NPN.js.map} +0 -0
- /package/dist/{reopen-CQEGEBUP.js.map → reopen-KXAM5LVX.js.map} +0 -0
- /package/dist/{rerun-EXCTHG7R.js.map → rerun-ZVFP4FNN.js.map} +0 -0
- /package/dist/{research-GCAWQBH5.js.map → research-52CURSLR.js.map} +0 -0
- /package/dist/{research-RIOSGFV2.js.map → research-WEW3TISC.js.map} +0 -0
- /package/dist/{reset-GZWJLJIA.js.map → reset-MVLV7GEB.js.map} +0 -0
- /package/dist/{reset-TZQLXUOT.js.map → reset-RBL2NSDV.js.map} +0 -0
- /package/dist/{resolve-C3L4SMTW.js.map → resolve-JG3TGLCR.js.map} +0 -0
- /package/dist/{retry-4IZ5UQMO.js.map → retry-2B3V4CJO.js.map} +0 -0
- /package/dist/{retry-OJER6P7D.js.map → retry-Y3VUKOZ3.js.map} +0 -0
- /package/dist/{retry-failed-CEFUP2NC.js.map → retry-failed-6HXPUVXJ.js.map} +0 -0
- /package/dist/{run-7PMBP5DC.js.map → run-3BCAHPCW.js.map} +0 -0
- /package/dist/{run-CRFK4Z6L.js.map → run-FZL7FYTL.js.map} +0 -0
- /package/dist/{scaffold-ad-WWK3HEII.js.map → scaffold-ad-TL5URKZF.js.map} +0 -0
- /package/dist/{scaffold-video-P5CYWG4Z.js.map → scaffold-video-LRTELU5X.js.map} +0 -0
- /package/dist/{schedule-Z66CE7MU.js.map → schedule-7QLWW5HA.js.map} +0 -0
- /package/dist/{schedule-LHLE7VFM.js.map → schedule-O2K6M43V.js.map} +0 -0
- /package/dist/{scheduled-agents-HHRJ5Q46.js.map → scheduled-agents-HDALX27W.js.map} +0 -0
- /package/dist/{schema-J23F2JAU.js.map → schema-6GR77VJG.js.map} +0 -0
- /package/dist/{schema-CQCIYXEX.js.map → schema-EY3Y3KFB.js.map} +0 -0
- /package/dist/{scrape-3SETPPMM.js.map → scrape-ETAMW43A.js.map} +0 -0
- /package/dist/{screenshot-OV4DCO6W.js.map → screenshot-YCQF25ZB.js.map} +0 -0
- /package/dist/{search-IDQCAKVR.js.map → search-4XS7AO5R.js.map} +0 -0
- /package/dist/{search-CYS7UK5T.js.map → search-742XSULP.js.map} +0 -0
- /package/dist/{search-XWFMVJ4J.js.map → search-MEEM4D3W.js.map} +0 -0
- /package/dist/{search-QKKK3H6U.js.map → search-OQNGSMUH.js.map} +0 -0
- /package/dist/{search-BHQQFJB5.js.map → search-UO5KJTYS.js.map} +0 -0
- /package/dist/{seeds-DMT6OIMK.js.map → seeds-N6FF5S4T.js.map} +0 -0
- /package/dist/{select-2U66UMVQ.js.map → select-J3QVFWVE.js.map} +0 -0
- /package/dist/{sends-LNKJRME5.js.map → sends-WGJVQUMF.js.map} +0 -0
- /package/dist/{sequences-4YSD3GH3.js.map → sequences-OIPVR7JL.js.map} +0 -0
- /package/dist/{set-prompt-NY3HV4KV.js.map → set-prompt-MEMSZEZK.js.map} +0 -0
- /package/dist/{setup-links-LJLWQVQ2.js.map → setup-links-4PCSBEJD.js.map} +0 -0
- /package/dist/{shared-PAORAY6M.js.map → shared-HJDFNID4.js.map} +0 -0
- /package/dist/{site-F4TGY5OE.js.map → site-IG62FRYT.js.map} +0 -0
- /package/dist/{sitemaps-XEMTLWYG.js.map → sitemaps-POPZJTAX.js.map} +0 -0
- /package/dist/{sites-K755KMC2.js.map → sites-262H6LM4.js.map} +0 -0
- /package/dist/{skills-S65DX7PQ.js.map → skills-6TQZLIMP.js.map} +0 -0
- /package/dist/{sources-HZF7UXW6.js.map → sources-5YFONIJP.js.map} +0 -0
- /package/dist/{sources-XTNEWFHJ.js.map → sources-AM7SIZUY.js.map} +0 -0
- /package/dist/{stale-NLXN7V3N.js.map → stale-UMI4XCKX.js.map} +0 -0
- /package/dist/{stats-CZJKNCIZ.js.map → stats-NNXZMPZR.js.map} +0 -0
- /package/dist/{status-M7RTOGLJ.js.map → status-F4XMET7U.js.map} +0 -0
- /package/dist/{sticker-UQ2XPXIB.js.map → sticker-4KMBSMP5.js.map} +0 -0
- /package/dist/{stock-FKAD46O3.js.map → stock-KXJ26BY4.js.map} +0 -0
- /package/dist/{studio-BHZSCE67.js.map → studio-EKIPLLHD.js.map} +0 -0
- /package/dist/{sync-E6BLPR6W.js.map → sync-CF7FVUQJ.js.map} +0 -0
- /package/dist/{sync-AAXI4RZD.js.map → sync-LXYAJ7SU.js.map} +0 -0
- /package/dist/{sync-L4LK3QQS.js.map → sync-ZSNUBYPM.js.map} +0 -0
- /package/dist/{sync-definition-CAHBKD3F.js.map → sync-definition-WU6V5245.js.map} +0 -0
- /package/dist/{tag-manager-4LCQUQNJ.js.map → tag-manager-JAAMOUGB.js.map} +0 -0
- /package/dist/{tags-RSAVBZCB.js.map → tags-6WV3PQH5.js.map} +0 -0
- /package/dist/{tags-BVQNIIQU.js.map → tags-FTOD6CYS.js.map} +0 -0
- /package/dist/{tags-URQYAJMH.js.map → tags-KXNOWUMN.js.map} +0 -0
- /package/dist/{tags-QQ632HNZ.js.map → tags-PJRNCPQJ.js.map} +0 -0
- /package/dist/{tags-TZIDBVTK.js.map → tags-R5JCZRAV.js.map} +0 -0
- /package/dist/{targeting-constants-HKGJVLJ5.js.map → targeting-constants-XJ2VOW7K.js.map} +0 -0
- /package/dist/{targeting-criteria-J2V47AJP.js.map → targeting-criteria-HJ7YFAB2.js.map} +0 -0
- /package/dist/{targets-H7YOEVOJ.js.map → targets-RLZSBUCI.js.map} +0 -0
- /package/dist/{templates-WLSSRPZ4.js.map → templates-4SWUBLOC.js.map} +0 -0
- /package/dist/{testimonials-A26T3NY3.js.map → testimonials-YYLALSV4.js.map} +0 -0
- /package/dist/{top-companies-26MYZU5T.js.map → top-companies-SNOQQFUS.js.map} +0 -0
- /package/dist/{translate-BD6ULLLZ.js.map → translate-CZRVAEUQ.js.map} +0 -0
- /package/dist/{triggers-XFCQHRLA.js.map → triggers-MFDFO2Y4.js.map} +0 -0
- /package/dist/{tweets-PPL2ZRV6.js.map → tweets-ATP3FQAC.js.map} +0 -0
- /package/dist/{unfollow-A6GAUIGZ.js.map → unfollow-CBVPGPF7.js.map} +0 -0
- /package/dist/{unlink-XNZACHV3.js.map → unlink-BVDKP7VQ.js.map} +0 -0
- /package/dist/{unstage-B6ZGECFU.js.map → unstage-V7GMMOWR.js.map} +0 -0
- /package/dist/{unstage-2HSBJ726.js.map → unstage-ZTOQEWRC.js.map} +0 -0
- /package/dist/{update-EG4OSVE4.js.map → update-R46SJ55S.js.map} +0 -0
- /package/dist/{update-2BYOVA5C.js.map → update-R572VWKO.js.map} +0 -0
- /package/dist/{update-RSYR6ABL.js.map → update-SQEWFFFG.js.map} +0 -0
- /package/dist/{update-SXVXLTND.js.map → update-VVK6SWSI.js.map} +0 -0
- /package/dist/{upload-PH6ZWOIA.js.map → upload-L5SYZB3X.js.map} +0 -0
- /package/dist/{upload-HOJK4HT6.js.map → upload-TUYWMS6E.js.map} +0 -0
- /package/dist/{upscale-R25SXKQI.js.map → upscale-YWRLFU22.js.map} +0 -0
- /package/dist/{url-options-SK3CKY5H.js.map → url-options-GGXAL3J4.js.map} +0 -0
- /package/dist/{url-params-246VH6BJ.js.map → url-params-CU3KVLI5.js.map} +0 -0
- /package/dist/{use-WIFON4IC.js.map → use-UT2DIZOG.js.map} +0 -0
- /package/dist/{validate-JFL2PL54.js.map → validate-WPJXPGWS.js.map} +0 -0
- /package/dist/{variant-EHLAO2EZ.js.map → variant-FLZJYGYL.js.map} +0 -0
- /package/dist/{videos-5SPZWUWN.js.map → videos-KGNLYRUS.js.map} +0 -0
- /package/dist/{view-JS33UZGE.js.map → view-NPAG66QK.js.map} +0 -0
- /package/dist/{viewer-check-TKST6FWT.js.map → viewer-check-45T2HLAH.js.map} +0 -0
- /package/dist/{web-ZDEM5O3C.js.map → web-IEJBIF7U.js.map} +0 -0
- /package/dist/{winners-SDADXE22.js.map → winners-I5BMATJZ.js.map} +0 -0
- /package/dist/{write-commands-WYET5424.js.map → write-commands-CT74VHH6.js.map} +0 -0
- /package/dist/{write-commands-PKB23ZBZ.js.map → write-commands-CXRXLXX2.js.map} +0 -0
- /package/dist/{write-commands-X2IJUI5D.js.map → write-commands-VWSLDBPT.js.map} +0 -0
- /package/dist/{write-commands-VKKEGFTJ.js.map → write-commands-WTRSOSO3.js.map} +0 -0
- /package/dist/{x-CZOHX4T2.js.map → x-WHE6PSDD.js.map} +0 -0
|
@@ -0,0 +1,455 @@
|
|
|
1
|
+
// ../api/src/funnel/stepTemplates.ts
|
|
2
|
+
var FUNNEL_STEP_TEMPLATES = [
|
|
3
|
+
{
|
|
4
|
+
key: "saw_offer",
|
|
5
|
+
displayName: "Saw the offer",
|
|
6
|
+
meaning: "Someone opened one of your landing pages \u2014 where most journeys start",
|
|
7
|
+
stepClass: "visited",
|
|
8
|
+
classNote: "The only `visited` template: a landing being viewed is a step, never an outcome.",
|
|
9
|
+
aliases: ["saw the offer", "visited", "landing viewed", "page viewed", "visit", "visitor"],
|
|
10
|
+
// Never sent anywhere: every platform already counts its own page views,
|
|
11
|
+
// and uploading a view as a conversion would teach it to optimise for
|
|
12
|
+
// nothing.
|
|
13
|
+
platformDefaults: {}
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
key: "lead",
|
|
17
|
+
displayName: "Lead",
|
|
18
|
+
meaning: "Someone left their details \u2014 the starting point of most journeys",
|
|
19
|
+
stepClass: "lead",
|
|
20
|
+
aliases: ["lead", "new lead", "inbound lead", "enquiry", "inquiry", "form submission"],
|
|
21
|
+
platformDefaults: {
|
|
22
|
+
meta: { eventName: "Lead", standard: true },
|
|
23
|
+
googleAds: { category: "Submit lead form" },
|
|
24
|
+
linkedin: { type: "LEAD", verified: true }
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
key: "signed_up",
|
|
29
|
+
displayName: "Signed up",
|
|
30
|
+
meaning: "Someone created an account",
|
|
31
|
+
stepClass: "lead",
|
|
32
|
+
classNote: "Same fact as a lead reached a different way \u2014 we now know who they are.",
|
|
33
|
+
aliases: ["signed up", "sign up", "registered", "registration", "account created", "new user"],
|
|
34
|
+
platformDefaults: {
|
|
35
|
+
meta: { eventName: "CompleteRegistration", standard: true },
|
|
36
|
+
googleAds: { category: "Sign-up" },
|
|
37
|
+
linkedin: { type: "SIGN_UP", verified: true }
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
key: "add_to_cart",
|
|
42
|
+
displayName: "Added to cart",
|
|
43
|
+
meaning: "Something went into the cart",
|
|
44
|
+
stepClass: "engaged",
|
|
45
|
+
aliases: ["added to cart", "add to cart", "cart"],
|
|
46
|
+
platformDefaults: {
|
|
47
|
+
meta: { eventName: "AddToCart", standard: true },
|
|
48
|
+
googleAds: { category: "Add to cart" },
|
|
49
|
+
linkedin: { type: "ADD_TO_CART", verified: true }
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
key: "checkout_started",
|
|
54
|
+
displayName: "Started checkout",
|
|
55
|
+
meaning: "The checkout began",
|
|
56
|
+
stepClass: "engaged",
|
|
57
|
+
aliases: ["started checkout", "checkout started", "checkout", "begin checkout"],
|
|
58
|
+
platformDefaults: {
|
|
59
|
+
meta: { eventName: "InitiateCheckout", standard: true },
|
|
60
|
+
googleAds: { category: "Begin checkout" },
|
|
61
|
+
// Written from the documentation and never checked against the live
|
|
62
|
+
// enum, which is what `verified: false` is for — carried as a caveat
|
|
63
|
+
// rather than quietly resolved.
|
|
64
|
+
linkedin: { type: "START_CHECKOUT", verified: false, fallback: "OTHER" }
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
key: "trial_started",
|
|
69
|
+
displayName: "Trial started",
|
|
70
|
+
meaning: "A free trial began",
|
|
71
|
+
stepClass: "engaged",
|
|
72
|
+
classNote: "A trial is use, not payment \u2014 engaged, never customer.",
|
|
73
|
+
aliases: ["trial", "trial started", "free trial", "in trial"],
|
|
74
|
+
platformDefaults: {
|
|
75
|
+
meta: { eventName: "StartTrial", standard: true },
|
|
76
|
+
googleAds: { category: "Sign-up" },
|
|
77
|
+
linkedin: { type: "OTHER", verified: true }
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
key: "qualified_lead",
|
|
82
|
+
displayName: "Qualified lead",
|
|
83
|
+
meaning: "The lead matches who you sell to",
|
|
84
|
+
stepClass: "engaged",
|
|
85
|
+
aliases: ["qualified lead", "qualified", "mql", "sql", "sales qualified lead", "marketing qualified lead"],
|
|
86
|
+
platformDefaults: {
|
|
87
|
+
meta: { eventName: "QualifiedLead", standard: false },
|
|
88
|
+
googleAds: { category: "Qualified lead" },
|
|
89
|
+
linkedin: { type: "QUALIFIED_LEAD", verified: true }
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
key: "contacted",
|
|
94
|
+
displayName: "Contacted",
|
|
95
|
+
meaning: "Your team reached out",
|
|
96
|
+
stepClass: "engaged",
|
|
97
|
+
classNote: "Engaged even though the move came from the seller: it is a real forward interaction.",
|
|
98
|
+
aliases: ["contacted", "contact", "outreach", "follow up", "first contact", "attempting contact"],
|
|
99
|
+
platformDefaults: {
|
|
100
|
+
meta: { eventName: "Contact", standard: true },
|
|
101
|
+
googleAds: { category: "Contact" },
|
|
102
|
+
linkedin: { type: "CONTACT", verified: true }
|
|
103
|
+
}
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
key: "meeting_scheduled",
|
|
107
|
+
displayName: "Meeting booked",
|
|
108
|
+
meaning: "A meeting is on the calendar",
|
|
109
|
+
stepClass: "engaged",
|
|
110
|
+
aliases: [
|
|
111
|
+
"meeting booked",
|
|
112
|
+
"meeting scheduled",
|
|
113
|
+
"demo scheduled",
|
|
114
|
+
"demo booked",
|
|
115
|
+
"appointment booked",
|
|
116
|
+
"call booked"
|
|
117
|
+
],
|
|
118
|
+
platformDefaults: {
|
|
119
|
+
meta: { eventName: "Schedule", standard: true },
|
|
120
|
+
googleAds: { category: "Book appointment" },
|
|
121
|
+
// LinkedIn has SCHEDULE and BOOK_APPOINTMENT separately; the second is the
|
|
122
|
+
// one that means a reservation.
|
|
123
|
+
linkedin: { type: "BOOK_APPOINTMENT", verified: true }
|
|
124
|
+
}
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
key: "meeting_held",
|
|
128
|
+
displayName: "Meeting held",
|
|
129
|
+
meaning: "The meeting actually happened \u2014 kept apart from booking because no-show is a real number",
|
|
130
|
+
stepClass: "engaged",
|
|
131
|
+
aliases: ["meeting held", "meeting done", "demo held", "demo done", "demo completed", "call held"],
|
|
132
|
+
platformDefaults: {
|
|
133
|
+
meta: { eventName: "MeetingHeld", standard: false },
|
|
134
|
+
googleAds: { category: "Other" },
|
|
135
|
+
linkedin: { type: "OTHER", verified: true }
|
|
136
|
+
}
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
key: "opportunity",
|
|
140
|
+
displayName: "Opportunity open",
|
|
141
|
+
meaning: "A deal is open \u2014 send the estimated value if you have one",
|
|
142
|
+
stepClass: "engaged",
|
|
143
|
+
classNote: "A number behind an intention is still no money, so engaged rather than customer.",
|
|
144
|
+
aliases: ["opportunity", "proposal sent", "proposal", "negotiation", "in negotiation", "quote sent", "deal open"],
|
|
145
|
+
platformDefaults: {
|
|
146
|
+
meta: { eventName: "Opportunity", standard: false },
|
|
147
|
+
googleAds: { category: "Request quote" },
|
|
148
|
+
linkedin: { type: "REQUEST_QUOTE", verified: true }
|
|
149
|
+
}
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
key: "won",
|
|
153
|
+
displayName: "Deal won",
|
|
154
|
+
meaning: "The deal closed \u2014 the amount is required here",
|
|
155
|
+
stepClass: "customer",
|
|
156
|
+
aliases: ["won", "closed won", "deal won", "purchase", "sale"],
|
|
157
|
+
platformDefaults: {
|
|
158
|
+
meta: { eventName: "Purchase", standard: true },
|
|
159
|
+
// Which of the two depends on whether the company reports a revenue
|
|
160
|
+
// amount. It is a per-company answer, so it stays a fork, not a constant.
|
|
161
|
+
googleAds: { category: "Purchase", alternative: "Converted lead" },
|
|
162
|
+
linkedin: { type: "PURCHASE", verified: true }
|
|
163
|
+
}
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
key: "subscribed",
|
|
167
|
+
displayName: "Subscription started",
|
|
168
|
+
meaning: "A paying subscription began \u2014 the amount is the recurring one",
|
|
169
|
+
stepClass: "customer",
|
|
170
|
+
classNote: "Customer, not repeat: it is the first money. Repeat is what happens after \u2014 see the renewed template.",
|
|
171
|
+
aliases: ["subscribed", "subscription started", "new subscription", "paying"],
|
|
172
|
+
platformDefaults: {
|
|
173
|
+
meta: { eventName: "Subscribe", standard: true },
|
|
174
|
+
googleAds: { category: "Purchase" },
|
|
175
|
+
linkedin: { type: "PURCHASE", verified: true }
|
|
176
|
+
}
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
key: "renewed",
|
|
180
|
+
displayName: "Subscription renewed",
|
|
181
|
+
meaning: "An existing customer paid again or expanded \u2014 the amount is what they paid this time",
|
|
182
|
+
stepClass: "repeat",
|
|
183
|
+
classNote: "The smallest honest member of `repeat`. Without it every SaaS funnel drawn from this library ends at `subscribed` and the stage has nothing to hold. The recurring lifecycle beyond renewal \u2014 upgrades, churn, refunds \u2014 is a bigger conversation than a template.",
|
|
184
|
+
aliases: ["renewed", "renewal", "subscription renewed", "expansion", "upsell"],
|
|
185
|
+
platformDefaults: {
|
|
186
|
+
meta: { eventName: "Renewed", standard: false },
|
|
187
|
+
googleAds: { category: "Purchase" },
|
|
188
|
+
linkedin: { type: "PURCHASE", verified: true }
|
|
189
|
+
}
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
key: "application_submitted",
|
|
193
|
+
displayName: "Application submitted",
|
|
194
|
+
meaning: "Someone submitted an application \u2014 a course, a policy, a credit line",
|
|
195
|
+
stepClass: "engaged",
|
|
196
|
+
classNote: "For education, events, fintech and insurance. Strong intent, no money yet.",
|
|
197
|
+
aliases: ["application submitted", "application", "applied", "application received"],
|
|
198
|
+
platformDefaults: {
|
|
199
|
+
meta: { eventName: "SubmitApplication", standard: true },
|
|
200
|
+
googleAds: { category: "Submit lead form" },
|
|
201
|
+
linkedin: { type: "SUBMIT_APPLICATION", verified: true }
|
|
202
|
+
}
|
|
203
|
+
},
|
|
204
|
+
{
|
|
205
|
+
key: "lost",
|
|
206
|
+
displayName: "Lost",
|
|
207
|
+
meaning: "It did not go ahead \u2014 the deal fell through, or the lead was never a fit",
|
|
208
|
+
stepClass: "lost",
|
|
209
|
+
classNote: "Terminal and never sent anywhere. It can happen at any depth, which is why the order check leaves it alone.",
|
|
210
|
+
aliases: [
|
|
211
|
+
"lost",
|
|
212
|
+
"closed lost",
|
|
213
|
+
"deal lost",
|
|
214
|
+
"no budget",
|
|
215
|
+
"not interested",
|
|
216
|
+
"disqualified",
|
|
217
|
+
"unqualified",
|
|
218
|
+
"not a fit",
|
|
219
|
+
"spam",
|
|
220
|
+
"duplicate",
|
|
221
|
+
"junk"
|
|
222
|
+
],
|
|
223
|
+
platformDefaults: {}
|
|
224
|
+
}
|
|
225
|
+
];
|
|
226
|
+
var TEMPLATES_BY_KEY = new Map(
|
|
227
|
+
FUNNEL_STEP_TEMPLATES.map((template) => [template.key, template])
|
|
228
|
+
);
|
|
229
|
+
var FUNNEL_VERTICALS = [
|
|
230
|
+
"b2b_sales",
|
|
231
|
+
"b2b_inbound",
|
|
232
|
+
"saas_self_serve",
|
|
233
|
+
"saas_sales_assisted",
|
|
234
|
+
"ecommerce_purchase"
|
|
235
|
+
];
|
|
236
|
+
|
|
237
|
+
// ../api/src/funnel/wire.ts
|
|
238
|
+
import { z } from "zod";
|
|
239
|
+
|
|
240
|
+
// ../api/src/funnel/vocabulary.ts
|
|
241
|
+
var FUNNEL_STEP_CLASSES = [
|
|
242
|
+
/** Saw the offer: a landing opened, an ad clicked through. */
|
|
243
|
+
"visited",
|
|
244
|
+
/** We know who they are: a form sent, an account created. */
|
|
245
|
+
"lead",
|
|
246
|
+
/** Something real happened: a call booked, a trial started, a quote asked for, a cart filled. */
|
|
247
|
+
"engaged",
|
|
248
|
+
/** Paid, or signed. */
|
|
249
|
+
"customer",
|
|
250
|
+
/** Paid again, renewed, or grew. */
|
|
251
|
+
"repeat",
|
|
252
|
+
/** Terminal. Did not go ahead, or was never a fit. */
|
|
253
|
+
"lost"
|
|
254
|
+
];
|
|
255
|
+
|
|
256
|
+
// ../api/src/funnel/wire.ts
|
|
257
|
+
var MAX_STEPS = 40;
|
|
258
|
+
var MAX_PER_STEP = 20;
|
|
259
|
+
var funnelTriggerSchema = z.discriminatedUnion("kind", [
|
|
260
|
+
z.object({
|
|
261
|
+
id: z.string().min(1).max(64),
|
|
262
|
+
kind: z.literal("event"),
|
|
263
|
+
/** The event's key, from `--moments`: `form:…`, `submit:…`, `page:…`, `exit:…`. */
|
|
264
|
+
eventKey: z.string().min(1).max(320)
|
|
265
|
+
}),
|
|
266
|
+
z.object({
|
|
267
|
+
id: z.string().min(1).max(64),
|
|
268
|
+
kind: z.literal("landing"),
|
|
269
|
+
/** The landing's internal id — what the page stamps on its rows, never its slug. */
|
|
270
|
+
landingId: z.string().min(1).max(120)
|
|
271
|
+
}),
|
|
272
|
+
/** Any landing being viewed — what a funnel's first step usually listens for. */
|
|
273
|
+
z.object({
|
|
274
|
+
id: z.string().min(1).max(64),
|
|
275
|
+
kind: z.literal("any_landing")
|
|
276
|
+
})
|
|
277
|
+
]);
|
|
278
|
+
var funnelStepSchema = z.object({
|
|
279
|
+
/** Lowercase letters, digits and underscores. Stable — renaming never changes it. */
|
|
280
|
+
key: z.string().min(1).max(64),
|
|
281
|
+
/** The client's own words for this step. Shown everywhere; unconstrained. */
|
|
282
|
+
displayName: z.string().min(1).max(120),
|
|
283
|
+
stepClass: z.enum(FUNNEL_STEP_CLASSES),
|
|
284
|
+
/** Predecessor keys. Empty means people come in here. */
|
|
285
|
+
after: z.array(z.string().max(64)).max(MAX_STEPS).default([]),
|
|
286
|
+
/** What moves somebody onto this step. Any one of them is enough. */
|
|
287
|
+
triggers: z.array(funnelTriggerSchema).max(MAX_PER_STEP).default([])
|
|
288
|
+
});
|
|
289
|
+
var funnelRequestSchema = z.object({
|
|
290
|
+
steps: z.array(funnelStepSchema).max(MAX_STEPS).optional(),
|
|
291
|
+
/** One step, added or replaced by its key. Everything else is untouched. */
|
|
292
|
+
step: funnelStepSchema.optional(),
|
|
293
|
+
/** One step taken out by key; whatever came after it moves up to whatever came before it. */
|
|
294
|
+
removeStep: z.string().min(1).max(64).optional(),
|
|
295
|
+
/**
|
|
296
|
+
* ONE way in added to a step, leaving the rest of that step alone.
|
|
297
|
+
*
|
|
298
|
+
* `step` takes a whole step, so adding a way in through it means restating
|
|
299
|
+
* the step's name, stage, `after[]` and every trigger it already had — and a
|
|
300
|
+
* trigger left out of that restatement is silently removed. This is the door
|
|
301
|
+
* for the thing that is actually being asked ("this Form's booking should
|
|
302
|
+
* count here"), and it cannot drop anything.
|
|
303
|
+
*/
|
|
304
|
+
addTrigger: z.object({ stepKey: z.string().min(1).max(64), eventKey: z.string().min(1).max(320) }).optional(),
|
|
305
|
+
/** ONE way in taken off a step, by the event key it listens for. */
|
|
306
|
+
removeTrigger: z.object({ stepKey: z.string().min(1).max(64), eventKey: z.string().min(1).max(320) }).optional(),
|
|
307
|
+
/** One of the ready-made graphs, instead of stating steps. */
|
|
308
|
+
preset: z.enum(FUNNEL_VERTICALS).optional(),
|
|
309
|
+
/** Also return the suggestion library and the presets. */
|
|
310
|
+
templates: z.boolean().optional(),
|
|
311
|
+
/**
|
|
312
|
+
* Also return everything a trigger can name: every event this company's
|
|
313
|
+
* Forms, pages and systems have actually produced, its sources, and its
|
|
314
|
+
* landings. The list to pick a trigger FROM, so nobody has to guess.
|
|
315
|
+
*/
|
|
316
|
+
moments: z.boolean().optional(),
|
|
317
|
+
/** How many days the counts beside each step cover. Default 30. */
|
|
318
|
+
days: z.number().int().min(1).max(400).optional(),
|
|
319
|
+
/**
|
|
320
|
+
* The Forms, by slug, the caller names itself when no step counts them —
|
|
321
|
+
* `baker funnel` reads its own workspace and names each with the key that
|
|
322
|
+
* places it. The backend leaves them out of its own hint, so no Form is
|
|
323
|
+
* named twice.
|
|
324
|
+
*/
|
|
325
|
+
namedByCaller: z.array(z.string().min(1).max(200)).max(1e3).optional()
|
|
326
|
+
});
|
|
327
|
+
var funnelResponseSchema = z.object({
|
|
328
|
+
ok: z.literal(true),
|
|
329
|
+
data: z.object({
|
|
330
|
+
/** The published version, or 0 when this company has never drawn a funnel. */
|
|
331
|
+
version: z.number(),
|
|
332
|
+
/** Whether `steps` is a proposal waiting on this chat's publish rather than what is live. */
|
|
333
|
+
staged: z.boolean(),
|
|
334
|
+
steps: z.array(
|
|
335
|
+
z.object({
|
|
336
|
+
key: z.string(),
|
|
337
|
+
displayName: z.string(),
|
|
338
|
+
stepClass: z.string(),
|
|
339
|
+
after: z.array(z.string()),
|
|
340
|
+
triggers: z.array(z.record(z.string(), z.unknown())),
|
|
341
|
+
/**
|
|
342
|
+
* Where the people who reach this step are sent: the sends of every
|
|
343
|
+
* system event among its triggers. Read-only here — a send belongs to
|
|
344
|
+
* the event and is set with `baker analytics sends`.
|
|
345
|
+
*/
|
|
346
|
+
sends: z.array(
|
|
347
|
+
z.object({
|
|
348
|
+
id: z.string(),
|
|
349
|
+
eventKey: z.string(),
|
|
350
|
+
platform: z.string(),
|
|
351
|
+
event: z.string(),
|
|
352
|
+
/** What happened to it in the window, in one line. */
|
|
353
|
+
outcome: z.string().optional()
|
|
354
|
+
})
|
|
355
|
+
),
|
|
356
|
+
/** How many people reached this step in the window. Counted in people, across visits and devices. */
|
|
357
|
+
people: z.number().optional(),
|
|
358
|
+
/** How many reached this step or any step after it. */
|
|
359
|
+
atLeast: z.number().optional(),
|
|
360
|
+
/** How many got as far as the step before it. Absent for a way in. */
|
|
361
|
+
before: z.number().optional(),
|
|
362
|
+
/** `atLeast / before`, 0–1. Absent where there is no before. */
|
|
363
|
+
share: z.number().optional(),
|
|
364
|
+
events: z.number().optional(),
|
|
365
|
+
money: z.record(z.string(), z.number()).optional()
|
|
366
|
+
})
|
|
367
|
+
),
|
|
368
|
+
/** The window `people` and friends were counted over. */
|
|
369
|
+
window: z.object({ startDate: z.string(), endDate: z.string(), days: z.number() }).optional(),
|
|
370
|
+
/** The step that loses the most people, by key. Absent while nothing is lost. */
|
|
371
|
+
worstStep: z.string().optional(),
|
|
372
|
+
/**
|
|
373
|
+
* The steps this write took off the funnel, by key. Present on every write,
|
|
374
|
+
* empty when nothing was dropped — the answer to "did my restatement forget
|
|
375
|
+
* one", given in the same turn.
|
|
376
|
+
*/
|
|
377
|
+
removed: z.array(z.string()).optional(),
|
|
378
|
+
/**
|
|
379
|
+
* What this company counts as page conversions, this chat's staged counts
|
|
380
|
+
* included, by event key and name. Here so a Form's ending can say it is
|
|
381
|
+
* already counted — the agent choosing a step's way in should use that
|
|
382
|
+
* same key — and outside `moments` because the plain read's hints say it too.
|
|
383
|
+
*/
|
|
384
|
+
counted: z.array(z.object({ eventKey: z.string(), name: z.string() })).optional(),
|
|
385
|
+
/** Everything a trigger can name, when asked for with `moments`. */
|
|
386
|
+
moments: z.object({
|
|
387
|
+
events: z.array(
|
|
388
|
+
z.object({
|
|
389
|
+
eventKey: z.string(),
|
|
390
|
+
/** `site` for a page or Form, `systems` for the client's own server, `both` when both sent it. */
|
|
391
|
+
origin: z.string().optional(),
|
|
392
|
+
/** The Form it belongs to, when it belongs to one. */
|
|
393
|
+
flowSlug: z.string().optional(),
|
|
394
|
+
nodeType: z.string().optional(),
|
|
395
|
+
events: z.number(),
|
|
396
|
+
sessions: z.number(),
|
|
397
|
+
/** The name it is counted under as a page conversion, when the company counts it. Informational. */
|
|
398
|
+
countedAs: z.string().optional(),
|
|
399
|
+
/**
|
|
400
|
+
* The step of the Form this happens on, in the Form's own words —
|
|
401
|
+
* never a node id. Present on a Form's ending read from the Form
|
|
402
|
+
* itself, which is the only place the name is known.
|
|
403
|
+
*/
|
|
404
|
+
step: z.string().optional(),
|
|
405
|
+
/**
|
|
406
|
+
* `false` on an ending a Form raises natively but nobody has fired
|
|
407
|
+
* yet — derived from the Form, offered at zero, exactly as a
|
|
408
|
+
* Source is offered before its first send. Absent means it came
|
|
409
|
+
* from the event store and therefore happened.
|
|
410
|
+
*/
|
|
411
|
+
seen: z.boolean().optional()
|
|
412
|
+
})
|
|
413
|
+
),
|
|
414
|
+
/** The company's sources: a system of theirs that posts events to Baker, by the event name it raises. */
|
|
415
|
+
sources: z.array(z.object({ eventKey: z.string(), name: z.string(), status: z.string() })),
|
|
416
|
+
landings: z.array(z.object({ landingId: z.string(), title: z.string(), slug: z.string() }))
|
|
417
|
+
}).optional(),
|
|
418
|
+
templates: z.array(
|
|
419
|
+
z.object({
|
|
420
|
+
key: z.string(),
|
|
421
|
+
displayName: z.string(),
|
|
422
|
+
meaning: z.string(),
|
|
423
|
+
stepClass: z.string()
|
|
424
|
+
})
|
|
425
|
+
).optional(),
|
|
426
|
+
presets: z.array(z.object({ vertical: z.string(), label: z.string(), description: z.string(), steps: z.array(z.string()) })).optional(),
|
|
427
|
+
/**
|
|
428
|
+
* What each stage means, the test to apply, and the same stage in three
|
|
429
|
+
* shapes of business.
|
|
430
|
+
*
|
|
431
|
+
* The stage is the one thing in a funnel a company does not invent, so it
|
|
432
|
+
* is the one thing the agent has to get right on the company's behalf —
|
|
433
|
+
* and "engaged: did something real" cannot settle whether a trial is
|
|
434
|
+
* engaged or customer. Same source as the dashboard's stage picker, so the
|
|
435
|
+
* two cannot teach it differently.
|
|
436
|
+
*/
|
|
437
|
+
stages: z.array(
|
|
438
|
+
z.object({
|
|
439
|
+
stepClass: z.string(),
|
|
440
|
+
title: z.string(),
|
|
441
|
+
meaning: z.string(),
|
|
442
|
+
test: z.string(),
|
|
443
|
+
examples: z.object({ shop: z.string(), selfServe: z.string(), salesLed: z.string() })
|
|
444
|
+
})
|
|
445
|
+
).optional()
|
|
446
|
+
}),
|
|
447
|
+
hints: z.array(z.string()).optional()
|
|
448
|
+
});
|
|
449
|
+
|
|
450
|
+
export {
|
|
451
|
+
FUNNEL_VERTICALS,
|
|
452
|
+
funnelStepSchema,
|
|
453
|
+
funnelRequestSchema
|
|
454
|
+
};
|
|
455
|
+
//# sourceMappingURL=chunk-237WE5LX.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../api/src/funnel/stepTemplates.ts","../../api/src/funnel/wire.ts","../../api/src/funnel/vocabulary.ts"],"sourcesContent":["/**\n * Step templates — a curated library of steps most funnels have, kept as\n * suggestions and never as law.\n *\n * The vocabulary is the company's: it invents its own steps, in its own words.\n * That does not mean everybody should have to invent \"Meeting booked\" from\n * nothing at kickoff, and it does not mean the research behind what each of\n * these moments means, whether it carries money, and what it becomes on Meta,\n * Google Ads and LinkedIn has to be re-derived per client.\n *\n * So the tables live here, as suggestion rather than schema:\n *\n * - **Nothing validates against this file.** A company step needs a class and a\n * graph, and neither has to come from a template. `graph.ts` never reads this\n * module.\n * - The funnel canvas offers templates when a step is created, and\n * `VERTICAL_PRESETS` offers four small ready-made graphs for the cold start.\n * - `platformDefaults` is the **prefill** for an offline conversion added to a\n * templated step — \"send this one to Meta\" on a won-like step should propose\n * `Purchase`, not an empty box (`defaultOfflineEvent`). Every value is\n * overridable; it is a default, not a mapping, and it is deliberately per\n * template rather than per class, so that where a conversion is sent never\n * becomes something the class decides.\n *\n * Pure data plus two derivations, tier-1 tested.\n */\n\nimport type { FunnelStepDefinition } from \"./graph\";\nimport type { FunnelStepClass } from \"./vocabulary\";\n\n/**\n * What a step usually becomes on Meta. The event name travels in the payload,\n * so anything goes — but a standard event optimizes better than a custom one,\n * which is why `standard` is recorded rather than left to be guessed from the\n * name.\n */\nexport interface MetaEventDefault {\n eventName: string;\n standard: boolean;\n}\n\n/**\n * The category Google Ads makes you pick when the conversion action is created.\n * `alternative` exists for the one genuine fork: a closed deal is \"Converted\n * lead\" in the lead funnel and \"Purchase\" once a revenue amount is reported,\n * and only the company knows which it is reporting.\n */\nexport interface GoogleAdsConversionDefault {\n category: string;\n alternative?: string;\n}\n\n/**\n * The `type` LinkedIn makes you pick when the conversion rule is created.\n *\n * `verified: false` carries a type taken from the documentation and never\n * checked against the live enum, so a creation attempt has to fall back to\n * `fallback` instead of failing.\n */\nexport interface LinkedinConversionDefault {\n type: string;\n verified: boolean;\n fallback?: string;\n}\n\nexport interface FunnelPlatformDefaults {\n meta?: MetaEventDefault;\n googleAds?: GoogleAdsConversionDefault;\n linkedin?: LinkedinConversionDefault;\n}\n\nexport interface FunnelStepTemplate {\n /** Suggested key. A company may rename it; nothing here is a stable identifier. */\n key: string;\n /** Suggested name, in a marketer's words. The company's own name wins. */\n displayName: string;\n /** One line, shown next to the suggestion so nobody has to guess what it covers. */\n meaning: string;\n stepClass: FunnelStepClass;\n /**\n * Other names for the same moment, lowercase and in English.\n *\n * Read only by `suggestStepForName`, which guesses a step for a name that has\n * arrived from somewhere else — a CRM stage, a spreadsheet column, whatever a\n * later source turns out to speak. Nothing validates against them and a match\n * is never applied on its own; a person still confirms it.\n */\n aliases: readonly string[];\n /**\n * Prefill for a destination created on a step made from this template.\n * Absent per platform where the old table said \"never sent\".\n */\n platformDefaults: FunnelPlatformDefaults;\n /** Why this class, where the answer is not obvious. Shown to nobody; read by whoever edits this file. */\n classNote?: string;\n}\n\n/**\n * Sixteen steps, each with the stage it belongs to.\n *\n * On the stage mapping, where it took a decision rather than a lookup:\n *\n * - **`lead` is \"we know who they are\", not \"they did something small\".**\n * `lead` and `signed_up` are the same fact reached two ways, so both are\n * `lead` even though one is a form and the other an account.\n * - **`engaged` is the wide one, and that is deliberate.** Qualified, cart,\n * checkout, trial, outreach, meeting booked, meeting held and an open\n * opportunity are all \"something real happened\" before any money. Splitting\n * them further is what the old eight-word list did, and it read as a sales\n * team's pipeline to everybody who was not one.\n * - **`customer` is the first money, `repeat` is the money after it.**\n * `subscribed` is therefore `customer`, not `repeat`: it is the moment a\n * subscription starts paying. `renewed` is what `repeat` is for.\n */\nexport const FUNNEL_STEP_TEMPLATES: readonly FunnelStepTemplate[] = [\n {\n key: \"saw_offer\",\n displayName: \"Saw the offer\",\n meaning: \"Someone opened one of your landing pages — where most journeys start\",\n stepClass: \"visited\",\n classNote: \"The only `visited` template: a landing being viewed is a step, never an outcome.\",\n aliases: [\"saw the offer\", \"visited\", \"landing viewed\", \"page viewed\", \"visit\", \"visitor\"],\n // Never sent anywhere: every platform already counts its own page views,\n // and uploading a view as a conversion would teach it to optimise for\n // nothing.\n platformDefaults: {},\n },\n {\n key: \"lead\",\n displayName: \"Lead\",\n meaning: \"Someone left their details — the starting point of most journeys\",\n stepClass: \"lead\",\n aliases: [\"lead\", \"new lead\", \"inbound lead\", \"enquiry\", \"inquiry\", \"form submission\"],\n platformDefaults: {\n meta: { eventName: \"Lead\", standard: true },\n googleAds: { category: \"Submit lead form\" },\n linkedin: { type: \"LEAD\", verified: true },\n },\n },\n {\n key: \"signed_up\",\n displayName: \"Signed up\",\n meaning: \"Someone created an account\",\n stepClass: \"lead\",\n classNote: \"Same fact as a lead reached a different way — we now know who they are.\",\n aliases: [\"signed up\", \"sign up\", \"registered\", \"registration\", \"account created\", \"new user\"],\n platformDefaults: {\n meta: { eventName: \"CompleteRegistration\", standard: true },\n googleAds: { category: \"Sign-up\" },\n linkedin: { type: \"SIGN_UP\", verified: true },\n },\n },\n {\n key: \"add_to_cart\",\n displayName: \"Added to cart\",\n meaning: \"Something went into the cart\",\n stepClass: \"engaged\",\n aliases: [\"added to cart\", \"add to cart\", \"cart\"],\n platformDefaults: {\n meta: { eventName: \"AddToCart\", standard: true },\n googleAds: { category: \"Add to cart\" },\n linkedin: { type: \"ADD_TO_CART\", verified: true },\n },\n },\n {\n key: \"checkout_started\",\n displayName: \"Started checkout\",\n meaning: \"The checkout began\",\n stepClass: \"engaged\",\n aliases: [\"started checkout\", \"checkout started\", \"checkout\", \"begin checkout\"],\n platformDefaults: {\n meta: { eventName: \"InitiateCheckout\", standard: true },\n googleAds: { category: \"Begin checkout\" },\n // Written from the documentation and never checked against the live\n // enum, which is what `verified: false` is for — carried as a caveat\n // rather than quietly resolved.\n linkedin: { type: \"START_CHECKOUT\", verified: false, fallback: \"OTHER\" },\n },\n },\n {\n key: \"trial_started\",\n displayName: \"Trial started\",\n meaning: \"A free trial began\",\n stepClass: \"engaged\",\n classNote: \"A trial is use, not payment — engaged, never customer.\",\n aliases: [\"trial\", \"trial started\", \"free trial\", \"in trial\"],\n platformDefaults: {\n meta: { eventName: \"StartTrial\", standard: true },\n googleAds: { category: \"Sign-up\" },\n linkedin: { type: \"OTHER\", verified: true },\n },\n },\n {\n key: \"qualified_lead\",\n displayName: \"Qualified lead\",\n meaning: \"The lead matches who you sell to\",\n stepClass: \"engaged\",\n aliases: [\"qualified lead\", \"qualified\", \"mql\", \"sql\", \"sales qualified lead\", \"marketing qualified lead\"],\n platformDefaults: {\n meta: { eventName: \"QualifiedLead\", standard: false },\n googleAds: { category: \"Qualified lead\" },\n linkedin: { type: \"QUALIFIED_LEAD\", verified: true },\n },\n },\n {\n key: \"contacted\",\n displayName: \"Contacted\",\n meaning: \"Your team reached out\",\n stepClass: \"engaged\",\n classNote: \"Engaged even though the move came from the seller: it is a real forward interaction.\",\n aliases: [\"contacted\", \"contact\", \"outreach\", \"follow up\", \"first contact\", \"attempting contact\"],\n platformDefaults: {\n meta: { eventName: \"Contact\", standard: true },\n googleAds: { category: \"Contact\" },\n linkedin: { type: \"CONTACT\", verified: true },\n },\n },\n {\n key: \"meeting_scheduled\",\n displayName: \"Meeting booked\",\n meaning: \"A meeting is on the calendar\",\n stepClass: \"engaged\",\n aliases: [\n \"meeting booked\",\n \"meeting scheduled\",\n \"demo scheduled\",\n \"demo booked\",\n \"appointment booked\",\n \"call booked\",\n ],\n platformDefaults: {\n meta: { eventName: \"Schedule\", standard: true },\n googleAds: { category: \"Book appointment\" },\n // LinkedIn has SCHEDULE and BOOK_APPOINTMENT separately; the second is the\n // one that means a reservation.\n linkedin: { type: \"BOOK_APPOINTMENT\", verified: true },\n },\n },\n {\n key: \"meeting_held\",\n displayName: \"Meeting held\",\n meaning: \"The meeting actually happened — kept apart from booking because no-show is a real number\",\n stepClass: \"engaged\",\n aliases: [\"meeting held\", \"meeting done\", \"demo held\", \"demo done\", \"demo completed\", \"call held\"],\n platformDefaults: {\n meta: { eventName: \"MeetingHeld\", standard: false },\n googleAds: { category: \"Other\" },\n linkedin: { type: \"OTHER\", verified: true },\n },\n },\n {\n key: \"opportunity\",\n displayName: \"Opportunity open\",\n meaning: \"A deal is open — send the estimated value if you have one\",\n stepClass: \"engaged\",\n classNote: \"A number behind an intention is still no money, so engaged rather than customer.\",\n aliases: [\"opportunity\", \"proposal sent\", \"proposal\", \"negotiation\", \"in negotiation\", \"quote sent\", \"deal open\"],\n platformDefaults: {\n meta: { eventName: \"Opportunity\", standard: false },\n googleAds: { category: \"Request quote\" },\n linkedin: { type: \"REQUEST_QUOTE\", verified: true },\n },\n },\n {\n key: \"won\",\n displayName: \"Deal won\",\n meaning: \"The deal closed — the amount is required here\",\n stepClass: \"customer\",\n aliases: [\"won\", \"closed won\", \"deal won\", \"purchase\", \"sale\"],\n platformDefaults: {\n meta: { eventName: \"Purchase\", standard: true },\n // Which of the two depends on whether the company reports a revenue\n // amount. It is a per-company answer, so it stays a fork, not a constant.\n googleAds: { category: \"Purchase\", alternative: \"Converted lead\" },\n linkedin: { type: \"PURCHASE\", verified: true },\n },\n },\n {\n key: \"subscribed\",\n displayName: \"Subscription started\",\n meaning: \"A paying subscription began — the amount is the recurring one\",\n stepClass: \"customer\",\n classNote: \"Customer, not repeat: it is the first money. Repeat is what happens after — see the renewed template.\",\n aliases: [\"subscribed\", \"subscription started\", \"new subscription\", \"paying\"],\n platformDefaults: {\n meta: { eventName: \"Subscribe\", standard: true },\n googleAds: { category: \"Purchase\" },\n linkedin: { type: \"PURCHASE\", verified: true },\n },\n },\n {\n key: \"renewed\",\n displayName: \"Subscription renewed\",\n meaning: \"An existing customer paid again or expanded — the amount is what they paid this time\",\n stepClass: \"repeat\",\n classNote:\n \"The smallest honest member of `repeat`. Without it every SaaS funnel drawn from this library ends at `subscribed` and the stage has nothing to hold. The recurring lifecycle beyond renewal — upgrades, churn, refunds — is a bigger conversation than a template.\",\n aliases: [\"renewed\", \"renewal\", \"subscription renewed\", \"expansion\", \"upsell\"],\n platformDefaults: {\n meta: { eventName: \"Renewed\", standard: false },\n googleAds: { category: \"Purchase\" },\n linkedin: { type: \"PURCHASE\", verified: true },\n },\n },\n {\n key: \"application_submitted\",\n displayName: \"Application submitted\",\n meaning: \"Someone submitted an application — a course, a policy, a credit line\",\n stepClass: \"engaged\",\n classNote: \"For education, events, fintech and insurance. Strong intent, no money yet.\",\n aliases: [\"application submitted\", \"application\", \"applied\", \"application received\"],\n platformDefaults: {\n meta: { eventName: \"SubmitApplication\", standard: true },\n googleAds: { category: \"Submit lead form\" },\n linkedin: { type: \"SUBMIT_APPLICATION\", verified: true },\n },\n },\n {\n key: \"lost\",\n displayName: \"Lost\",\n meaning: \"It did not go ahead — the deal fell through, or the lead was never a fit\",\n stepClass: \"lost\",\n classNote:\n \"Terminal and never sent anywhere. It can happen at any depth, which is why the order check leaves it alone.\",\n aliases: [\n \"lost\",\n \"closed lost\",\n \"deal lost\",\n \"no budget\",\n \"not interested\",\n \"disqualified\",\n \"unqualified\",\n \"not a fit\",\n \"spam\",\n \"duplicate\",\n \"junk\",\n ],\n platformDefaults: {},\n },\n];\n\nconst TEMPLATES_BY_KEY: ReadonlyMap<string, FunnelStepTemplate> = new Map(\n FUNNEL_STEP_TEMPLATES.map((template) => [template.key, template] as const),\n);\n\n/**\n * A name reduced to comparable words: lowercase, no separators, single spaces.\n * \"Won - Closed\", \"won_closed\" and \"WON / CLOSED\" all become the same two\n * words, which is the whole trick — every system writes the same moment its own\n * way.\n */\nfunction nameWords(value: string): string[] {\n return value\n .toLowerCase()\n .replace(/[^a-z0-9]+/g, \" \")\n .split(\" \")\n .filter((word) => word !== \"\");\n}\n\n/** Whether `needle`'s words appear, in order and adjacent, inside `haystack`. */\nfunction containsWords(haystack: readonly string[], needle: readonly string[]): boolean {\n if (needle.length === 0 || needle.length > haystack.length) {\n return false;\n }\n for (let start = 0; start <= haystack.length - needle.length; start++) {\n if (needle.every((word, offset) => haystack[start + offset] === word)) {\n return true;\n }\n }\n return false;\n}\n\ninterface NameCandidate {\n stepKey: string;\n phrases: readonly string[];\n}\n\n/** The longest phrase that matches wins — \"closed won\" beats a bare \"won\". */\nfunction bestCandidate(subject: readonly string[], candidates: readonly NameCandidate[]): string | null {\n let best: string | null = null;\n let bestLength = 0;\n for (const candidate of candidates) {\n for (const phrase of candidate.phrases) {\n const words = nameWords(phrase);\n const matches = containsWords(subject, words) || containsWords(words, subject);\n if (matches && words.length > bestLength) {\n best = candidate.stepKey;\n bestLength = words.length;\n }\n }\n }\n return best;\n}\n\n/**\n * A guess at which of *this company's* steps some other system's name means.\n *\n * The company's own names are tried first, because a company that calls a step\n * \"Lead that fits\" has already said what its words are and no library should\n * talk over it. Only then do the template aliases get a turn, and only for\n * templates whose key the funnel actually contains — a suggestion has to be a\n * step the person can pick, so an alias of a step they never drew is no match\n * at all.\n *\n * `null` means \"no idea\", which is a fine answer: the picker just opens empty.\n */\nexport function suggestStepForName(\n incomingName: string,\n steps: readonly { key: string; displayName: string }[],\n templates: readonly FunnelStepTemplate[] = FUNNEL_STEP_TEMPLATES,\n): string | null {\n const subject = nameWords(incomingName);\n if (subject.length === 0) {\n return null;\n }\n const own = bestCandidate(\n subject,\n steps.map((step) => ({ stepKey: step.key, phrases: [step.displayName] })),\n );\n if (own !== null) {\n return own;\n }\n const drawn = new Set(steps.map((step) => step.key));\n return bestCandidate(\n subject,\n templates.filter((t) => drawn.has(t.key)).map((t) => ({ stepKey: t.key, phrases: t.aliases })),\n );\n}\n\n/** `undefined` rather than a throw: a caller offering suggestions can simply offer fewer. */\nexport function stepTemplate(key: string): FunnelStepTemplate | undefined {\n return TEMPLATES_BY_KEY.get(key);\n}\n\n/**\n * The preset a company picks once, at the cold start, to get a graph instead of\n * a blank canvas.\n *\n * **Two families, because that is who Baker sells to today.** There is no\n * e-commerce preset: no client runs that funnel and none is on the way, and a\n * preset nobody picks is a graph nobody checks. The e-commerce *templates* stay\n * in the library above — `add_to_cart`, `checkout_started`, `signed_up` are\n * offered one by one on the canvas like any other suggestion, and the day an\n * e-commerce client arrives the preset is four lines here, not new research.\n *\n * Within each family there are variants rather than one average funnel, because\n * the difference between the two B2B shapes — whether a human runs meetings —\n * changes almost every node, and a preset that splits the difference fits\n * neither.\n */\nexport const FUNNEL_PRESET_FAMILIES = [\"b2b\", \"saas\", \"ecommerce\"] as const;\nexport type FunnelPresetFamily = (typeof FUNNEL_PRESET_FAMILIES)[number];\n\nexport const FUNNEL_VERTICALS = [\n \"b2b_sales\",\n \"b2b_inbound\",\n \"saas_self_serve\",\n \"saas_sales_assisted\",\n \"ecommerce_purchase\",\n] as const;\nexport type FunnelVertical = (typeof FUNNEL_VERTICALS)[number];\n\nexport interface FunnelPresetStep {\n templateKey: string;\n /** Predecessors, by template key. Empty means the funnel starts here. */\n after: readonly string[];\n /** Overrides the template's name where the vertical says it differently — \"Purchase\", not \"Deal won\". */\n displayName?: string;\n}\n\nexport interface FunnelVerticalPreset {\n vertical: FunnelVertical;\n family: FunnelPresetFamily;\n label: string;\n /** One line for the picker, in the company's language rather than ours. */\n description: string;\n steps: readonly FunnelPresetStep[];\n}\n\n/**\n * Four small graphs — two shapes of B2B, two of SaaS — each the shortest funnel\n * of its kind that is still honest, not the fullest.\n *\n * Small on purpose. A preset is the first thing a company sees on the canvas,\n * and a fourteen-node suggestion invites deleting rather than editing; a step\n * that exists because a preset put it there and that nothing ever reaches shows\n * up as a gap in the funnel forever after.\n */\nexport const VERTICAL_PRESETS: readonly FunnelVerticalPreset[] = [\n {\n vertical: \"b2b_sales\",\n family: \"b2b\",\n label: \"B2B sales team\",\n description: \"Leads a salesperson qualifies, meets, quotes and closes.\",\n steps: [\n { templateKey: \"lead\", after: [] },\n { templateKey: \"qualified_lead\", after: [\"lead\"] },\n { templateKey: \"meeting_scheduled\", after: [\"qualified_lead\"] },\n // Booked and held stay apart because the gap between them is the no-show\n // rate, which is a number this kind of team actually manages.\n { templateKey: \"meeting_held\", after: [\"meeting_scheduled\"] },\n { templateKey: \"opportunity\", after: [\"meeting_held\"] },\n { templateKey: \"won\", after: [\"opportunity\"] },\n // The end hangs off the earliest step at which it becomes possible; the\n // order check ignores it anyway (`isOutOfOrder`), so the edge is there to\n // be drawn, not to be enforced.\n { templateKey: \"lost\", after: [\"opportunity\"] },\n ],\n },\n {\n vertical: \"b2b_inbound\",\n family: \"b2b\",\n label: \"B2B inbound, no meetings\",\n description: \"Enquiries answered and closed without a meeting stage.\",\n steps: [\n { templateKey: \"lead\", after: [] },\n { templateKey: \"qualified_lead\", after: [\"lead\"] },\n { templateKey: \"contacted\", after: [\"qualified_lead\"] },\n { templateKey: \"won\", after: [\"contacted\"] },\n { templateKey: \"lost\", after: [\"contacted\"] },\n ],\n },\n {\n vertical: \"saas_self_serve\",\n family: \"saas\",\n label: \"SaaS, self-serve\",\n description: \"People who sign up, trial the product and start paying on their own.\",\n steps: [\n { templateKey: \"signed_up\", after: [] },\n { templateKey: \"trial_started\", after: [\"signed_up\"] },\n { templateKey: \"subscribed\", after: [\"trial_started\"] },\n { templateKey: \"renewed\", after: [\"subscribed\"] },\n { templateKey: \"lost\", after: [\"trial_started\"], displayName: \"Trial expired\" },\n ],\n },\n {\n vertical: \"saas_sales_assisted\",\n family: \"saas\",\n label: \"SaaS, sales-assisted\",\n description: \"Sign-ups and demo requests, with a salesperson in the middle of the bigger ones.\",\n steps: [\n // Two entry points, which is the whole reason `after` is a list: people\n // arrive by signing up or by asking for a demo, never both, and a single\n // position integer calls that ordinary path an anomaly.\n { templateKey: \"signed_up\", after: [] },\n { templateKey: \"lead\", after: [], displayName: \"Demo requested\" },\n { templateKey: \"meeting_held\", after: [\"lead\"], displayName: \"Demo held\" },\n { templateKey: \"trial_started\", after: [\"signed_up\", \"meeting_held\"] },\n { templateKey: \"subscribed\", after: [\"trial_started\", \"meeting_held\"] },\n { templateKey: \"renewed\", after: [\"subscribed\"] },\n ],\n },\n {\n vertical: \"ecommerce_purchase\",\n family: \"ecommerce\",\n label: \"Online shop\",\n description: \"People who browse, fill a basket, check out and come back for a second order.\",\n steps: [\n { templateKey: \"saw_offer\", after: [], displayName: \"Viewed a product\" },\n { templateKey: \"add_to_cart\", after: [\"saw_offer\"] },\n { templateKey: \"checkout_started\", after: [\"add_to_cart\"] },\n // A shop's \"customer\" is the order, and its \"repeat\" is the next one —\n // the same two stages every other preset ends on, in a shop's words.\n { templateKey: \"won\", after: [\"checkout_started\"], displayName: \"Order placed\" },\n { templateKey: \"renewed\", after: [\"won\"], displayName: \"Ordered again\" },\n ],\n },\n];\n\n/**\n * The funnel every company starts with.\n *\n * Every company has a funnel from the day it exists — \"no funnel\" was a real\n * state, and it meant every \"how far did they get\" question had no answer\n * until somebody drew one. The default is the smallest honest journey: seeing\n * the offer, becoming a lead, becoming a customer. The first step listens for\n * any landing being viewed, so it counts from the first visit; the other two\n * start unwired and the canvas says so, because what a lead IS is the\n * company's to say.\n */\nexport function defaultFunnelSteps(): FunnelStepDefinition[] {\n return [\n {\n key: \"visited\",\n displayName: \"Visited\",\n stepClass: \"visited\",\n after: [],\n triggers: [{ id: \"t1\", kind: \"any_landing\" }],\n },\n { key: \"lead\", displayName: \"Became a lead\", stepClass: \"lead\", after: [\"visited\"], triggers: [] },\n { key: \"customer\", displayName: \"Became a customer\", stepClass: \"customer\", after: [\"lead\"], triggers: [] },\n ];\n}\n\nexport function verticalPreset(vertical: FunnelVertical): FunnelVerticalPreset | undefined {\n return VERTICAL_PRESETS.find((preset) => preset.vertical === vertical);\n}\n\n/**\n * A template turned into a real step of a company's funnel.\n *\n * The template stops existing at this point: what comes out is an ordinary\n * `FunnelStepDefinition` the company owns and can rename, reclassify or rewire,\n * with no link back. That is what makes this a suggestion library and not a\n * second schema.\n */\nexport function stepFromTemplate(\n template: FunnelStepTemplate,\n after: readonly string[],\n displayName?: string,\n): FunnelStepDefinition {\n return {\n key: template.key,\n displayName: displayName ?? template.displayName,\n stepClass: template.stepClass,\n after: [...after],\n // A template says what a moment IS, never which of this company's events\n // announces it — that is a per-company answer, and prefilling a guess would\n // make a step look wired when it advances nobody.\n triggers: [],\n };\n}\n\n/**\n * The steps a preset produces, ready to hand to `validateDefinition` or draw.\n *\n * A preset step whose template does not exist is dropped rather than faked: the\n * pair is checked by a test, so a miss here is a bug in this file and a\n * half-invented step would hide it.\n */\nexport function presetDefinition(preset: FunnelVerticalPreset): FunnelStepDefinition[] {\n return preset.steps.flatMap((step) => {\n const template = stepTemplate(step.templateKey);\n return template ? [stepFromTemplate(template, step.after, step.displayName)] : [];\n });\n}\n","/**\n * The request and response `baker funnel` and its Convex route both speak.\n *\n * One schema, used by both sides, because the funnel is the one payload in this\n * feature that is a graph rather than a list of fields: a shape the CLI and the\n * backend agreed on separately would disagree about a predecessor naming a step\n * that does not exist, and that disagreement is invisible until a client's\n * funnel comes back drawn wrong.\n */\n\nimport { z } from \"zod\";\nimport { FUNNEL_VERTICALS } from \"./stepTemplates\";\nimport { FUNNEL_STEP_CLASSES } from \"./vocabulary\";\n\n/** How many steps one funnel may have. */\nconst MAX_STEPS = 40;\n/** How many triggers one step may have. */\nconst MAX_PER_STEP = 20;\n\n/**\n * One trigger: an event, by its key, a landing page being viewed, or any\n * landing being viewed.\n */\nexport const funnelTriggerSchema = z.discriminatedUnion(\"kind\", [\n z.object({\n id: z.string().min(1).max(64),\n kind: z.literal(\"event\"),\n /** The event's key, from `--moments`: `form:…`, `submit:…`, `page:…`, `exit:…`. */\n eventKey: z.string().min(1).max(320),\n }),\n z.object({\n id: z.string().min(1).max(64),\n kind: z.literal(\"landing\"),\n /** The landing's internal id — what the page stamps on its rows, never its slug. */\n landingId: z.string().min(1).max(120),\n }),\n /** Any landing being viewed — what a funnel's first step usually listens for. */\n z.object({\n id: z.string().min(1).max(64),\n kind: z.literal(\"any_landing\"),\n }),\n]);\n\nexport const funnelStepSchema = z.object({\n /** Lowercase letters, digits and underscores. Stable — renaming never changes it. */\n key: z.string().min(1).max(64),\n /** The client's own words for this step. Shown everywhere; unconstrained. */\n displayName: z.string().min(1).max(120),\n stepClass: z.enum(FUNNEL_STEP_CLASSES),\n /** Predecessor keys. Empty means people come in here. */\n after: z.array(z.string().max(64)).max(MAX_STEPS).default([]),\n /** What moves somebody onto this step. Any one of them is enough. */\n triggers: z.array(funnelTriggerSchema).max(MAX_PER_STEP).default([]),\n});\nexport type FunnelStepWire = z.infer<typeof funnelStepSchema>;\n\n/**\n * With none of `steps`, `preset`, `step`, `removeStep`, `addTrigger` and\n * `removeTrigger` this is a read, which is what makes `baker funnel` with no\n * flags show the funnel rather than erroring.\n *\n * `steps` restates the WHOLE funnel, and the review screen shows the funnel\n * the client will get rather than a set of edits whose result has to be\n * computed. `step` and `removeStep` change one step and leave the rest as it\n * stands — the door for an agent that wants to add a stage without restating\n * six others, because a restatement that forgot one removed it. Whichever\n * door is used, the response names every step the proposal dropped.\n */\nexport const funnelRequestSchema = z.object({\n steps: z.array(funnelStepSchema).max(MAX_STEPS).optional(),\n /** One step, added or replaced by its key. Everything else is untouched. */\n step: funnelStepSchema.optional(),\n /** One step taken out by key; whatever came after it moves up to whatever came before it. */\n removeStep: z.string().min(1).max(64).optional(),\n /**\n * ONE way in added to a step, leaving the rest of that step alone.\n *\n * `step` takes a whole step, so adding a way in through it means restating\n * the step's name, stage, `after[]` and every trigger it already had — and a\n * trigger left out of that restatement is silently removed. This is the door\n * for the thing that is actually being asked (\"this Form's booking should\n * count here\"), and it cannot drop anything.\n */\n addTrigger: z.object({ stepKey: z.string().min(1).max(64), eventKey: z.string().min(1).max(320) }).optional(),\n /** ONE way in taken off a step, by the event key it listens for. */\n removeTrigger: z.object({ stepKey: z.string().min(1).max(64), eventKey: z.string().min(1).max(320) }).optional(),\n /** One of the ready-made graphs, instead of stating steps. */\n preset: z.enum(FUNNEL_VERTICALS).optional(),\n /** Also return the suggestion library and the presets. */\n templates: z.boolean().optional(),\n /**\n * Also return everything a trigger can name: every event this company's\n * Forms, pages and systems have actually produced, its sources, and its\n * landings. The list to pick a trigger FROM, so nobody has to guess.\n */\n moments: z.boolean().optional(),\n /** How many days the counts beside each step cover. Default 30. */\n days: z.number().int().min(1).max(400).optional(),\n /**\n * The Forms, by slug, the caller names itself when no step counts them —\n * `baker funnel` reads its own workspace and names each with the key that\n * places it. The backend leaves them out of its own hint, so no Form is\n * named twice.\n */\n namedByCaller: z.array(z.string().min(1).max(200)).max(1000).optional(),\n});\nexport type FunnelRequest = z.infer<typeof funnelRequestSchema>;\n\n/**\n * What comes back is loosely typed on purpose.\n *\n * The response is read by an agent and by a person, never re-submitted, so a\n * strict mirror of the request would only make the route fail on a field the\n * store has and this file has not caught up with. The request is where the\n * shape is enforced.\n */\nexport const funnelResponseSchema = z.object({\n ok: z.literal(true),\n data: z.object({\n /** The published version, or 0 when this company has never drawn a funnel. */\n version: z.number(),\n /** Whether `steps` is a proposal waiting on this chat's publish rather than what is live. */\n staged: z.boolean(),\n steps: z.array(\n z.object({\n key: z.string(),\n displayName: z.string(),\n stepClass: z.string(),\n after: z.array(z.string()),\n triggers: z.array(z.record(z.string(), z.unknown())),\n /**\n * Where the people who reach this step are sent: the sends of every\n * system event among its triggers. Read-only here — a send belongs to\n * the event and is set with `baker analytics sends`.\n */\n sends: z.array(\n z.object({\n id: z.string(),\n eventKey: z.string(),\n platform: z.string(),\n event: z.string(),\n /** What happened to it in the window, in one line. */\n outcome: z.string().optional(),\n }),\n ),\n /** How many people reached this step in the window. Counted in people, across visits and devices. */\n people: z.number().optional(),\n /** How many reached this step or any step after it. */\n atLeast: z.number().optional(),\n /** How many got as far as the step before it. Absent for a way in. */\n before: z.number().optional(),\n /** `atLeast / before`, 0–1. Absent where there is no before. */\n share: z.number().optional(),\n events: z.number().optional(),\n money: z.record(z.string(), z.number()).optional(),\n }),\n ),\n /** The window `people` and friends were counted over. */\n window: z.object({ startDate: z.string(), endDate: z.string(), days: z.number() }).optional(),\n /** The step that loses the most people, by key. Absent while nothing is lost. */\n worstStep: z.string().optional(),\n /**\n * The steps this write took off the funnel, by key. Present on every write,\n * empty when nothing was dropped — the answer to \"did my restatement forget\n * one\", given in the same turn.\n */\n removed: z.array(z.string()).optional(),\n /**\n * What this company counts as page conversions, this chat's staged counts\n * included, by event key and name. Here so a Form's ending can say it is\n * already counted — the agent choosing a step's way in should use that\n * same key — and outside `moments` because the plain read's hints say it too.\n */\n counted: z.array(z.object({ eventKey: z.string(), name: z.string() })).optional(),\n /** Everything a trigger can name, when asked for with `moments`. */\n moments: z\n .object({\n events: z.array(\n z.object({\n eventKey: z.string(),\n /** `site` for a page or Form, `systems` for the client's own server, `both` when both sent it. */\n origin: z.string().optional(),\n /** The Form it belongs to, when it belongs to one. */\n flowSlug: z.string().optional(),\n nodeType: z.string().optional(),\n events: z.number(),\n sessions: z.number(),\n /** The name it is counted under as a page conversion, when the company counts it. Informational. */\n countedAs: z.string().optional(),\n /**\n * The step of the Form this happens on, in the Form's own words —\n * never a node id. Present on a Form's ending read from the Form\n * itself, which is the only place the name is known.\n */\n step: z.string().optional(),\n /**\n * `false` on an ending a Form raises natively but nobody has fired\n * yet — derived from the Form, offered at zero, exactly as a\n * Source is offered before its first send. Absent means it came\n * from the event store and therefore happened.\n */\n seen: z.boolean().optional(),\n }),\n ),\n /** The company's sources: a system of theirs that posts events to Baker, by the event name it raises. */\n sources: z.array(z.object({ eventKey: z.string(), name: z.string(), status: z.string() })),\n landings: z.array(z.object({ landingId: z.string(), title: z.string(), slug: z.string() })),\n })\n .optional(),\n templates: z\n .array(\n z.object({\n key: z.string(),\n displayName: z.string(),\n meaning: z.string(),\n stepClass: z.string(),\n }),\n )\n .optional(),\n presets: z\n .array(z.object({ vertical: z.string(), label: z.string(), description: z.string(), steps: z.array(z.string()) }))\n .optional(),\n /**\n * What each stage means, the test to apply, and the same stage in three\n * shapes of business.\n *\n * The stage is the one thing in a funnel a company does not invent, so it\n * is the one thing the agent has to get right on the company's behalf —\n * and \"engaged: did something real\" cannot settle whether a trial is\n * engaged or customer. Same source as the dashboard's stage picker, so the\n * two cannot teach it differently.\n */\n stages: z\n .array(\n z.object({\n stepClass: z.string(),\n title: z.string(),\n meaning: z.string(),\n test: z.string(),\n examples: z.object({ shop: z.string(), selfServe: z.string(), salesLed: z.string() }),\n }),\n )\n .optional(),\n }),\n hints: z.array(z.string()).optional(),\n});\nexport type FunnelResponse = z.infer<typeof funnelResponseSchema>;\n","/**\n * The one closed vocabulary in a funnel that is otherwise the company's own.\n *\n * A company invents its own steps, in its own words, wired its own way\n * (`graph.ts`). What it cannot invent is the *stage* a step stands for: the\n * six words below are what keeps one company's funnel comparable with\n * another's, and they can stay closed because they describe the shape every\n * business has — somebody saw the offer, told you who they are, did something\n * real with you, paid, paid again, or went away — rather than any one sector's\n * name for a rung on it.\n *\n * Six, down from eight. The old list split \"qualified\", \"engaged\" and\n * \"committed\" apart, and \"lost\" from \"disqualified\", which read as a sales\n * team's pipeline and meant nothing to a shop, a clinic or a course. Every\n * step that was one of those three is a real forward interaction and is\n * `engaged`; every step that ends the journey without money is `lost`.\n *\n * These lists are mirrored from `packages/backend/convex/lib/validators.ts`,\n * which is the source of truth for what can be stored. They are re-declared\n * here rather than imported because `@baker/api` must not depend on `convex`;\n * `vocabulary.parity.test.ts` reads that file and fails if the two ever drift.\n */\n\n/**\n * The stage a funnel step stands for, never the step itself.\n *\n * Ordered as a journey runs, and **the order is meaningful**: it is the\n * fallback for comparing one company's funnel against another's when their\n * graphs cannot be laid over each other, and the tie-break for \"how far did\n * this person get\" between two steps at the same depth.\n *\n * Where a step is sent is never derived from this list — that lives per step\n * — which is exactly why it does not have to be exhaustive.\n */\nexport const FUNNEL_STEP_CLASSES = [\n /** Saw the offer: a landing opened, an ad clicked through. */\n \"visited\",\n /** We know who they are: a form sent, an account created. */\n \"lead\",\n /** Something real happened: a call booked, a trial started, a quote asked for, a cart filled. */\n \"engaged\",\n /** Paid, or signed. */\n \"customer\",\n /** Paid again, renewed, or grew. */\n \"repeat\",\n /** Terminal. Did not go ahead, or was never a fit. */\n \"lost\",\n] as const;\nexport type FunnelStepClass = (typeof FUNNEL_STEP_CLASSES)[number];\n\n/**\n * Each stage in plain words, with an example from three shapes of business.\n *\n * The stage is the only thing in a funnel a company does not get to invent, so\n * it is the only thing anybody has to be *taught* — and it was taught in five\n * words on a `<select>`: \"Engaged — did something real with you\". A marketer\n * setting up a demo-led funnel, a self-serve trial and a shop cannot tell from\n * that whether a trial is engaged or customer, and getting it wrong is\n * invisible: nothing on their own reports changes, and the cross-company\n * comparison this list exists for quietly stops working.\n *\n * So each one says what it means in a sentence a child could follow, and then\n * shows the same stage in three businesses that look nothing like each other.\n * Three, because that is the range that makes the rule legible — a shop has no\n * demo and a self-serve product has no salesperson, and a stage that survives\n * all three is a stage somebody can place their own step into.\n *\n * Here rather than in the dashboard because the agent needs the same words:\n * `baker funnel --templates` returns it, the stage picker renders it, and\n * `docs/product-model.md` quotes it.\n */\nexport interface FunnelStageGuide {\n /** One word for the chip on a card. */\n title: string;\n /** What it means, said once, plainly. */\n meaning: string;\n /** The test somebody applies to their own step to decide if it belongs here. */\n test: string;\n /** The same stage in three businesses: an online shop, a self-serve product, a sales-led business. */\n examples: { shop: string; selfServe: string; salesLed: string };\n}\n\nexport const FUNNEL_STAGE_GUIDE: Readonly<Record<FunnelStepClass, FunnelStageGuide>> = {\n visited: {\n title: \"Visited\",\n meaning: \"They looked, and that is all. You still have no idea who they are.\",\n test: \"Could this have happened without them telling you anything about themselves?\",\n examples: {\n shop: \"Opened a product page\",\n selfServe: \"Read the pricing page\",\n salesLed: \"Read a case study\",\n },\n },\n lead: {\n title: \"Lead\",\n meaning: \"Now you know who they are. They handed over a way to reach them.\",\n test: \"Do you have their email, their phone, or an account in their name?\",\n examples: {\n shop: \"Joined the newsletter\",\n selfServe: \"Created a free account\",\n salesLed: \"Asked for a demo\",\n },\n },\n engaged: {\n title: \"Engaged\",\n meaning: \"They did something real — more than reading, not yet paying.\",\n test: \"Did they spend effort or time on you, without any money changing hands?\",\n examples: {\n shop: \"Put something in the basket\",\n selfServe: \"Started a trial, or invited a colleague\",\n salesLed: \"Turned up to the demo, or asked for a quote\",\n },\n },\n customer: {\n title: \"Customer\",\n meaning: \"Money. They paid, or they signed something that means they will.\",\n test: \"Is there a first payment or a signed contract behind this?\",\n examples: {\n shop: \"Placed their first order\",\n selfServe: \"Started paying for a plan\",\n salesLed: \"Signed the contract\",\n },\n },\n repeat: {\n title: \"Repeat\",\n meaning: \"Money again. They came back, renewed, or bought more.\",\n test: \"Had they already paid you once before this happened?\",\n examples: {\n shop: \"Ordered a second time\",\n selfServe: \"Renewed, or moved to a bigger plan\",\n salesLed: \"Renewed the contract, or added seats\",\n },\n },\n lost: {\n title: \"Lost\",\n meaning: \"It ended, and no money came. Nothing comes after this step.\",\n test: \"Is this journey over without a sale — for now or for good?\",\n examples: {\n shop: \"Left the basket and never came back\",\n selfServe: \"The trial ran out unused\",\n salesLed: \"They went with somebody else\",\n },\n },\n};\n\n/**\n * The stages that end a journey without money. One word now: the old split\n * between \"it was real and did not close\" and \"it never was real\" is a\n * judgement a sales team makes and nobody else does, and the two read as one\n * loss rate on every report anyway.\n */\nexport const TERMINAL_NEGATIVE_CLASSES = [\"lost\"] as const;\n\nexport function isTerminalNegative(stepClass: FunnelStepClass): boolean {\n return (TERMINAL_NEGATIVE_CLASSES as readonly string[]).includes(stepClass);\n}\n\n/** The stages that mean money arrived: where a funnel is expected to end. */\nexport const MONEY_CLASSES = [\"customer\", \"repeat\"] as const;\n\nexport function isMoneyClass(stepClass: FunnelStepClass): boolean {\n return (MONEY_CLASSES as readonly string[]).includes(stepClass);\n}\n\n/** Where a stage sits in the journey's order — the cross-company fallback. */\nexport function stepClassRank(stepClass: FunnelStepClass): number {\n return FUNNEL_STEP_CLASSES.indexOf(stepClass);\n}\n\n/**\n * A company step key: lowercase letters, digits and underscores, 1–64\n * characters, no leading or trailing underscore.\n *\n * Constrained on purpose even though the vocabulary is open. The key is the\n * stable identifier for the step — it ends up in reporting arguments, CLI\n * arguments and URLs — so it must not be able to be `\"Deal — won (EU)\"`. The\n * client's own words live in `displayName`, which has no constraint at all,\n * and renaming a step never touches its key.\n */\nconst STEP_KEY = /^[a-z0-9](?:[a-z0-9_]{0,62}[a-z0-9])?$/;\n\nexport function isFunnelStepKey(value: string): boolean {\n return STEP_KEY.test(value);\n}\n\nexport function isFunnelStepClass(value: string): value is FunnelStepClass {\n return (FUNNEL_STEP_CLASSES as readonly string[]).includes(value);\n}\n"],"mappings":";AAkHO,IAAM,wBAAuD;AAAA,EAClE;AAAA,IACE,KAAK;AAAA,IACL,aAAa;AAAA,IACb,SAAS;AAAA,IACT,WAAW;AAAA,IACX,WAAW;AAAA,IACX,SAAS,CAAC,iBAAiB,WAAW,kBAAkB,eAAe,SAAS,SAAS;AAAA;AAAA;AAAA;AAAA,IAIzF,kBAAkB,CAAC;AAAA,EACrB;AAAA,EACA;AAAA,IACE,KAAK;AAAA,IACL,aAAa;AAAA,IACb,SAAS;AAAA,IACT,WAAW;AAAA,IACX,SAAS,CAAC,QAAQ,YAAY,gBAAgB,WAAW,WAAW,iBAAiB;AAAA,IACrF,kBAAkB;AAAA,MAChB,MAAM,EAAE,WAAW,QAAQ,UAAU,KAAK;AAAA,MAC1C,WAAW,EAAE,UAAU,mBAAmB;AAAA,MAC1C,UAAU,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,IAC3C;AAAA,EACF;AAAA,EACA;AAAA,IACE,KAAK;AAAA,IACL,aAAa;AAAA,IACb,SAAS;AAAA,IACT,WAAW;AAAA,IACX,WAAW;AAAA,IACX,SAAS,CAAC,aAAa,WAAW,cAAc,gBAAgB,mBAAmB,UAAU;AAAA,IAC7F,kBAAkB;AAAA,MAChB,MAAM,EAAE,WAAW,wBAAwB,UAAU,KAAK;AAAA,MAC1D,WAAW,EAAE,UAAU,UAAU;AAAA,MACjC,UAAU,EAAE,MAAM,WAAW,UAAU,KAAK;AAAA,IAC9C;AAAA,EACF;AAAA,EACA;AAAA,IACE,KAAK;AAAA,IACL,aAAa;AAAA,IACb,SAAS;AAAA,IACT,WAAW;AAAA,IACX,SAAS,CAAC,iBAAiB,eAAe,MAAM;AAAA,IAChD,kBAAkB;AAAA,MAChB,MAAM,EAAE,WAAW,aAAa,UAAU,KAAK;AAAA,MAC/C,WAAW,EAAE,UAAU,cAAc;AAAA,MACrC,UAAU,EAAE,MAAM,eAAe,UAAU,KAAK;AAAA,IAClD;AAAA,EACF;AAAA,EACA;AAAA,IACE,KAAK;AAAA,IACL,aAAa;AAAA,IACb,SAAS;AAAA,IACT,WAAW;AAAA,IACX,SAAS,CAAC,oBAAoB,oBAAoB,YAAY,gBAAgB;AAAA,IAC9E,kBAAkB;AAAA,MAChB,MAAM,EAAE,WAAW,oBAAoB,UAAU,KAAK;AAAA,MACtD,WAAW,EAAE,UAAU,iBAAiB;AAAA;AAAA;AAAA;AAAA,MAIxC,UAAU,EAAE,MAAM,kBAAkB,UAAU,OAAO,UAAU,QAAQ;AAAA,IACzE;AAAA,EACF;AAAA,EACA;AAAA,IACE,KAAK;AAAA,IACL,aAAa;AAAA,IACb,SAAS;AAAA,IACT,WAAW;AAAA,IACX,WAAW;AAAA,IACX,SAAS,CAAC,SAAS,iBAAiB,cAAc,UAAU;AAAA,IAC5D,kBAAkB;AAAA,MAChB,MAAM,EAAE,WAAW,cAAc,UAAU,KAAK;AAAA,MAChD,WAAW,EAAE,UAAU,UAAU;AAAA,MACjC,UAAU,EAAE,MAAM,SAAS,UAAU,KAAK;AAAA,IAC5C;AAAA,EACF;AAAA,EACA;AAAA,IACE,KAAK;AAAA,IACL,aAAa;AAAA,IACb,SAAS;AAAA,IACT,WAAW;AAAA,IACX,SAAS,CAAC,kBAAkB,aAAa,OAAO,OAAO,wBAAwB,0BAA0B;AAAA,IACzG,kBAAkB;AAAA,MAChB,MAAM,EAAE,WAAW,iBAAiB,UAAU,MAAM;AAAA,MACpD,WAAW,EAAE,UAAU,iBAAiB;AAAA,MACxC,UAAU,EAAE,MAAM,kBAAkB,UAAU,KAAK;AAAA,IACrD;AAAA,EACF;AAAA,EACA;AAAA,IACE,KAAK;AAAA,IACL,aAAa;AAAA,IACb,SAAS;AAAA,IACT,WAAW;AAAA,IACX,WAAW;AAAA,IACX,SAAS,CAAC,aAAa,WAAW,YAAY,aAAa,iBAAiB,oBAAoB;AAAA,IAChG,kBAAkB;AAAA,MAChB,MAAM,EAAE,WAAW,WAAW,UAAU,KAAK;AAAA,MAC7C,WAAW,EAAE,UAAU,UAAU;AAAA,MACjC,UAAU,EAAE,MAAM,WAAW,UAAU,KAAK;AAAA,IAC9C;AAAA,EACF;AAAA,EACA;AAAA,IACE,KAAK;AAAA,IACL,aAAa;AAAA,IACb,SAAS;AAAA,IACT,WAAW;AAAA,IACX,SAAS;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,kBAAkB;AAAA,MAChB,MAAM,EAAE,WAAW,YAAY,UAAU,KAAK;AAAA,MAC9C,WAAW,EAAE,UAAU,mBAAmB;AAAA;AAAA;AAAA,MAG1C,UAAU,EAAE,MAAM,oBAAoB,UAAU,KAAK;AAAA,IACvD;AAAA,EACF;AAAA,EACA;AAAA,IACE,KAAK;AAAA,IACL,aAAa;AAAA,IACb,SAAS;AAAA,IACT,WAAW;AAAA,IACX,SAAS,CAAC,gBAAgB,gBAAgB,aAAa,aAAa,kBAAkB,WAAW;AAAA,IACjG,kBAAkB;AAAA,MAChB,MAAM,EAAE,WAAW,eAAe,UAAU,MAAM;AAAA,MAClD,WAAW,EAAE,UAAU,QAAQ;AAAA,MAC/B,UAAU,EAAE,MAAM,SAAS,UAAU,KAAK;AAAA,IAC5C;AAAA,EACF;AAAA,EACA;AAAA,IACE,KAAK;AAAA,IACL,aAAa;AAAA,IACb,SAAS;AAAA,IACT,WAAW;AAAA,IACX,WAAW;AAAA,IACX,SAAS,CAAC,eAAe,iBAAiB,YAAY,eAAe,kBAAkB,cAAc,WAAW;AAAA,IAChH,kBAAkB;AAAA,MAChB,MAAM,EAAE,WAAW,eAAe,UAAU,MAAM;AAAA,MAClD,WAAW,EAAE,UAAU,gBAAgB;AAAA,MACvC,UAAU,EAAE,MAAM,iBAAiB,UAAU,KAAK;AAAA,IACpD;AAAA,EACF;AAAA,EACA;AAAA,IACE,KAAK;AAAA,IACL,aAAa;AAAA,IACb,SAAS;AAAA,IACT,WAAW;AAAA,IACX,SAAS,CAAC,OAAO,cAAc,YAAY,YAAY,MAAM;AAAA,IAC7D,kBAAkB;AAAA,MAChB,MAAM,EAAE,WAAW,YAAY,UAAU,KAAK;AAAA;AAAA;AAAA,MAG9C,WAAW,EAAE,UAAU,YAAY,aAAa,iBAAiB;AAAA,MACjE,UAAU,EAAE,MAAM,YAAY,UAAU,KAAK;AAAA,IAC/C;AAAA,EACF;AAAA,EACA;AAAA,IACE,KAAK;AAAA,IACL,aAAa;AAAA,IACb,SAAS;AAAA,IACT,WAAW;AAAA,IACX,WAAW;AAAA,IACX,SAAS,CAAC,cAAc,wBAAwB,oBAAoB,QAAQ;AAAA,IAC5E,kBAAkB;AAAA,MAChB,MAAM,EAAE,WAAW,aAAa,UAAU,KAAK;AAAA,MAC/C,WAAW,EAAE,UAAU,WAAW;AAAA,MAClC,UAAU,EAAE,MAAM,YAAY,UAAU,KAAK;AAAA,IAC/C;AAAA,EACF;AAAA,EACA;AAAA,IACE,KAAK;AAAA,IACL,aAAa;AAAA,IACb,SAAS;AAAA,IACT,WAAW;AAAA,IACX,WACE;AAAA,IACF,SAAS,CAAC,WAAW,WAAW,wBAAwB,aAAa,QAAQ;AAAA,IAC7E,kBAAkB;AAAA,MAChB,MAAM,EAAE,WAAW,WAAW,UAAU,MAAM;AAAA,MAC9C,WAAW,EAAE,UAAU,WAAW;AAAA,MAClC,UAAU,EAAE,MAAM,YAAY,UAAU,KAAK;AAAA,IAC/C;AAAA,EACF;AAAA,EACA;AAAA,IACE,KAAK;AAAA,IACL,aAAa;AAAA,IACb,SAAS;AAAA,IACT,WAAW;AAAA,IACX,WAAW;AAAA,IACX,SAAS,CAAC,yBAAyB,eAAe,WAAW,sBAAsB;AAAA,IACnF,kBAAkB;AAAA,MAChB,MAAM,EAAE,WAAW,qBAAqB,UAAU,KAAK;AAAA,MACvD,WAAW,EAAE,UAAU,mBAAmB;AAAA,MAC1C,UAAU,EAAE,MAAM,sBAAsB,UAAU,KAAK;AAAA,IACzD;AAAA,EACF;AAAA,EACA;AAAA,IACE,KAAK;AAAA,IACL,aAAa;AAAA,IACb,SAAS;AAAA,IACT,WAAW;AAAA,IACX,WACE;AAAA,IACF,SAAS;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,kBAAkB,CAAC;AAAA,EACrB;AACF;AAEA,IAAM,mBAA4D,IAAI;AAAA,EACpE,sBAAsB,IAAI,CAAC,aAAa,CAAC,SAAS,KAAK,QAAQ,CAAU;AAC3E;AA8GO,IAAM,mBAAmB;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;;;ACjcA,SAAS,SAAS;;;ACwBX,IAAM,sBAAsB;AAAA;AAAA,EAEjC;AAAA;AAAA,EAEA;AAAA;AAAA,EAEA;AAAA;AAAA,EAEA;AAAA;AAAA,EAEA;AAAA;AAAA,EAEA;AACF;;;ADhCA,IAAM,YAAY;AAElB,IAAM,eAAe;AAMd,IAAM,sBAAsB,EAAE,mBAAmB,QAAQ;AAAA,EAC9D,EAAE,OAAO;AAAA,IACP,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE;AAAA,IAC5B,MAAM,EAAE,QAAQ,OAAO;AAAA;AAAA,IAEvB,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAAA,EACrC,CAAC;AAAA,EACD,EAAE,OAAO;AAAA,IACP,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE;AAAA,IAC5B,MAAM,EAAE,QAAQ,SAAS;AAAA;AAAA,IAEzB,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAAA,EACtC,CAAC;AAAA;AAAA,EAED,EAAE,OAAO;AAAA,IACP,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE;AAAA,IAC5B,MAAM,EAAE,QAAQ,aAAa;AAAA,EAC/B,CAAC;AACH,CAAC;AAEM,IAAM,mBAAmB,EAAE,OAAO;AAAA;AAAA,EAEvC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE;AAAA;AAAA,EAE7B,aAAa,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAAA,EACtC,WAAW,EAAE,KAAK,mBAAmB;AAAA;AAAA,EAErC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,SAAS,EAAE,QAAQ,CAAC,CAAC;AAAA;AAAA,EAE5D,UAAU,EAAE,MAAM,mBAAmB,EAAE,IAAI,YAAY,EAAE,QAAQ,CAAC,CAAC;AACrE,CAAC;AAeM,IAAM,sBAAsB,EAAE,OAAO;AAAA,EAC1C,OAAO,EAAE,MAAM,gBAAgB,EAAE,IAAI,SAAS,EAAE,SAAS;AAAA;AAAA,EAEzD,MAAM,iBAAiB,SAAS;AAAA;AAAA,EAEhC,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAU/C,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC,EAAE,SAAS;AAAA;AAAA,EAE5G,eAAe,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC,EAAE,SAAS;AAAA;AAAA,EAE/G,QAAQ,EAAE,KAAK,gBAAgB,EAAE,SAAS;AAAA;AAAA,EAE1C,WAAW,EAAE,QAAQ,EAAE,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMhC,SAAS,EAAE,QAAQ,EAAE,SAAS;AAAA;AAAA,EAE9B,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,EAAE,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOhD,eAAe,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAI,EAAE,SAAS;AACxE,CAAC;AAWM,IAAM,uBAAuB,EAAE,OAAO;AAAA,EAC3C,IAAI,EAAE,QAAQ,IAAI;AAAA,EAClB,MAAM,EAAE,OAAO;AAAA;AAAA,IAEb,SAAS,EAAE,OAAO;AAAA;AAAA,IAElB,QAAQ,EAAE,QAAQ;AAAA,IAClB,OAAO,EAAE;AAAA,MACP,EAAE,OAAO;AAAA,QACP,KAAK,EAAE,OAAO;AAAA,QACd,aAAa,EAAE,OAAO;AAAA,QACtB,WAAW,EAAE,OAAO;AAAA,QACpB,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC;AAAA,QACzB,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAMnD,OAAO,EAAE;AAAA,UACP,EAAE,OAAO;AAAA,YACP,IAAI,EAAE,OAAO;AAAA,YACb,UAAU,EAAE,OAAO;AAAA,YACnB,UAAU,EAAE,OAAO;AAAA,YACnB,OAAO,EAAE,OAAO;AAAA;AAAA,YAEhB,SAAS,EAAE,OAAO,EAAE,SAAS;AAAA,UAC/B,CAAC;AAAA,QACH;AAAA;AAAA,QAEA,QAAQ,EAAE,OAAO,EAAE,SAAS;AAAA;AAAA,QAE5B,SAAS,EAAE,OAAO,EAAE,SAAS;AAAA;AAAA,QAE7B,QAAQ,EAAE,OAAO,EAAE,SAAS;AAAA;AAAA,QAE5B,OAAO,EAAE,OAAO,EAAE,SAAS;AAAA,QAC3B,QAAQ,EAAE,OAAO,EAAE,SAAS;AAAA,QAC5B,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,OAAO,CAAC,EAAE,SAAS;AAAA,MACnD,CAAC;AAAA,IACH;AAAA;AAAA,IAEA,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,GAAG,SAAS,EAAE,OAAO,GAAG,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS;AAAA;AAAA,IAE5F,WAAW,EAAE,OAAO,EAAE,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAM/B,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOtC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,SAAS;AAAA;AAAA,IAEhF,SAAS,EACN,OAAO;AAAA,MACN,QAAQ,EAAE;AAAA,QACR,EAAE,OAAO;AAAA,UACP,UAAU,EAAE,OAAO;AAAA;AAAA,UAEnB,QAAQ,EAAE,OAAO,EAAE,SAAS;AAAA;AAAA,UAE5B,UAAU,EAAE,OAAO,EAAE,SAAS;AAAA,UAC9B,UAAU,EAAE,OAAO,EAAE,SAAS;AAAA,UAC9B,QAAQ,EAAE,OAAO;AAAA,UACjB,UAAU,EAAE,OAAO;AAAA;AAAA,UAEnB,WAAW,EAAE,OAAO,EAAE,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAM/B,MAAM,EAAE,OAAO,EAAE,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAO1B,MAAM,EAAE,QAAQ,EAAE,SAAS;AAAA,QAC7B,CAAC;AAAA,MACH;AAAA;AAAA,MAEA,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM,EAAE,OAAO,GAAG,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;AAAA,MACzF,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,GAAG,OAAO,EAAE,OAAO,GAAG,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;AAAA,IAC5F,CAAC,EACA,SAAS;AAAA,IACZ,WAAW,EACR;AAAA,MACC,EAAE,OAAO;AAAA,QACP,KAAK,EAAE,OAAO;AAAA,QACd,aAAa,EAAE,OAAO;AAAA,QACtB,SAAS,EAAE,OAAO;AAAA,QAClB,WAAW,EAAE,OAAO;AAAA,MACtB,CAAC;AAAA,IACH,EACC,SAAS;AAAA,IACZ,SAAS,EACN,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,GAAG,OAAO,EAAE,OAAO,GAAG,aAAa,EAAE,OAAO,GAAG,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,EAChH,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAWZ,QAAQ,EACL;AAAA,MACC,EAAE,OAAO;AAAA,QACP,WAAW,EAAE,OAAO;AAAA,QACpB,OAAO,EAAE,OAAO;AAAA,QAChB,SAAS,EAAE,OAAO;AAAA,QAClB,MAAM,EAAE,OAAO;AAAA,QACf,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAG,WAAW,EAAE,OAAO,GAAG,UAAU,EAAE,OAAO,EAAE,CAAC;AAAA,MACtF,CAAC;AAAA,IACH,EACC,SAAS;AAAA,EACd,CAAC;AAAA,EACD,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS;AACtC,CAAC;","names":[]}
|