@koda-sl/baker-cli 0.450.0-dev.b454c3dd2 → 0.450.0-dev.d6701597d
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -11
- package/dist/{account-XQXC7BR6.js → account-AL2ZDSR7.js} +4 -5
- package/dist/{account-XQXC7BR6.js.map → account-AL2ZDSR7.js.map} +1 -1
- package/dist/{accounts-722UY53A.js → accounts-HAFCLSR5.js} +3 -4
- package/dist/{accounts-722UY53A.js.map → accounts-HAFCLSR5.js.map} +1 -1
- package/dist/{accounts-E67BMK7T.js → accounts-O5MFO3QQ.js} +5 -6
- package/dist/{accounts-E67BMK7T.js.map → accounts-O5MFO3QQ.js.map} +1 -1
- package/dist/{actions-6TQMSVWD.js → actions-P35MEMGN.js} +18 -18
- package/dist/{add-2BEGRHUX.js → add-5GAN6CVO.js} +5 -28
- package/dist/add-5GAN6CVO.js.map +1 -0
- package/dist/{add-LEMKEOPO.js → add-6DTC6X5G.js} +2 -3
- package/dist/{add-LEMKEOPO.js.map → add-6DTC6X5G.js.map} +1 -1
- package/dist/{ads-AGYCVD62.js → ads-73PGA4YC.js} +4 -4
- package/dist/{advertisers-2VQKAYKG.js → advertisers-AE75CGVE.js} +3 -4
- package/dist/{advertisers-2VQKAYKG.js.map → advertisers-AE75CGVE.js.map} +1 -1
- package/dist/{analytics-IFELDWLL.js → analytics-FKCXIMPO.js} +20 -24
- package/dist/analytics-FKCXIMPO.js.map +1 -0
- package/dist/{analytics-OH5QEH7F.js → analytics-FPWQQGRM.js} +3 -4
- package/dist/{analytics-OH5QEH7F.js.map → analytics-FPWQQGRM.js.map} +1 -1
- package/dist/{assign-PTUJUCEL.js → assign-ABN2AQ4J.js} +3 -4
- package/dist/{assign-PTUJUCEL.js.map → assign-ABN2AQ4J.js.map} +1 -1
- package/dist/{audience-size-LRI6GJRT.js → audience-size-GNBJY35X.js} +3 -4
- package/dist/{audience-size-LRI6GJRT.js.map → audience-size-GNBJY35X.js.map} +1 -1
- package/dist/{audit-HWP7OPB7.js → audit-3VS63TBW.js} +3 -4
- package/dist/{audit-HWP7OPB7.js.map → audit-3VS63TBW.js.map} +1 -1
- package/dist/{autocomplete-J6DHU6MR.js → autocomplete-VS3XG3B7.js} +3 -4
- package/dist/{autocomplete-J6DHU6MR.js.map → autocomplete-VS3XG3B7.js.map} +1 -1
- package/dist/{avatars-467OSBD6.js → avatars-EKCKHCC3.js} +4 -4
- package/dist/{bid-pricing-EO5WLHGV.js → bid-pricing-Q72B65AY.js} +3 -4
- package/dist/{bid-pricing-EO5WLHGV.js.map → bid-pricing-Q72B65AY.js.map} +1 -1
- package/dist/{brand-YRTEPGBK.js → brand-C6PFGGQN.js} +2 -2
- package/dist/{brief-OSFJ2V7F.js → brief-YFJHQ5VQ.js} +7 -8
- package/dist/{brief-OSFJ2V7F.js.map → brief-YFJHQ5VQ.js.map} +1 -1
- package/dist/{campaign-groups-PQ6KSQJR.js → campaign-groups-KFFYQPU3.js} +8 -9
- package/dist/{campaign-groups-PQ6KSQJR.js.map → campaign-groups-KFFYQPU3.js.map} +1 -1
- package/dist/{campaign-writes-5OVLUD5E.js → campaign-writes-FHOS5XZY.js} +3 -4
- package/dist/{campaign-writes-5OVLUD5E.js.map → campaign-writes-FHOS5XZY.js.map} +1 -1
- package/dist/{campaigns-6T3NSUT2.js → campaigns-2NHWBF5C.js} +11 -12
- package/dist/{campaigns-6T3NSUT2.js.map → campaigns-2NHWBF5C.js.map} +1 -1
- package/dist/{campaigns-OYMXDGWX.js → campaigns-KZYZTXDS.js} +5 -5
- package/dist/{canvas-YQFG52IG.js → canvas-5NB27FX2.js} +13 -13
- package/dist/{capabilities-PXBKUN2G.js → capabilities-DJFTRJKS.js} +3 -4
- package/dist/{capabilities-PXBKUN2G.js.map → capabilities-DJFTRJKS.js.map} +1 -1
- package/dist/{catalog-XLXIM7IW.js → catalog-VSSY6FGI.js} +4 -4
- package/dist/{chats-UK47UE7C.js → chats-D2CSDX5Q.js} +3 -4
- package/dist/{chats-UK47UE7C.js.map → chats-D2CSDX5Q.js.map} +1 -1
- package/dist/{chunk-5ZNTADVR.js → chunk-3G3ZDLMI.js} +2 -2
- package/dist/{chunk-SJYEY5MV.js → chunk-3HJLHTWP.js} +3 -12
- package/dist/{chunk-SJYEY5MV.js.map → chunk-3HJLHTWP.js.map} +1 -1
- package/dist/{chunk-ZDMTXQ2Q.js → chunk-3IBYKLXR.js} +2 -2
- package/dist/{chunk-CWYAELVG.js → chunk-464O4MT2.js} +2 -2
- package/dist/{chunk-NA63BH7V.js → chunk-4AUMTNVB.js} +3 -3
- package/dist/{chunk-NDEE6G2J.js → chunk-4BQXAE7Z.js} +2 -2
- package/dist/{chunk-2AOE2MZQ.js → chunk-5ZDLTE5T.js} +3 -3
- package/dist/{chunk-ULG4QRTV.js → chunk-6NB47MRW.js} +2 -2
- package/dist/{chunk-24EB7EDR.js → chunk-7YCRFMXF.js} +3 -3
- package/dist/{chunk-WGUQHAJY.js → chunk-A4LOJ2VD.js} +2 -2
- package/dist/{chunk-6F7DVPOS.js → chunk-AEOSAVVL.js} +3 -3
- package/dist/{chunk-MACCF4JZ.js → chunk-CMPEUZOR.js} +22 -16
- package/dist/{chunk-MACCF4JZ.js.map → chunk-CMPEUZOR.js.map} +1 -1
- package/dist/{chunk-N4LAYIIN.js → chunk-CSYSX4D2.js} +2 -2
- package/dist/{chunk-RX2DKU3W.js → chunk-DGUNI37S.js} +2 -2
- package/dist/{chunk-QE7W555R.js → chunk-DWHIOO7E.js} +12 -163
- package/dist/chunk-DWHIOO7E.js.map +1 -0
- package/dist/{chunk-FPOGPFAG.js → chunk-EBWBG6YV.js} +51 -24
- package/dist/chunk-EBWBG6YV.js.map +1 -0
- package/dist/{chunk-NYIGXDUG.js → chunk-EDLZGTGN.js} +39 -1
- package/dist/chunk-EDLZGTGN.js.map +1 -0
- package/dist/{chunk-I3ZR655O.js → chunk-IR6D7K4H.js} +2 -2
- package/dist/{chunk-FUHN4MFY.js → chunk-JQJDXPCO.js} +2 -2
- package/dist/{chunk-7CTMH5AK.js → chunk-KAUOHQTF.js} +3 -3
- package/dist/{chunk-VYQ3QJ3C.js → chunk-KHRXPQID.js} +2 -2
- package/dist/{chunk-6Y7ZBENQ.js → chunk-LECGCWT5.js} +6 -6
- package/dist/{chunk-5WCSKQ7Z.js → chunk-LZ73CZGP.js} +6 -6
- package/dist/{chunk-R25YLW6H.js → chunk-MELOSESI.js} +2 -2
- package/dist/{chunk-DCRPXOJJ.js → chunk-MXYBTMKB.js} +2 -2
- package/dist/{chunk-54C6YDGJ.js → chunk-NPY4QUMQ.js} +2 -2
- package/dist/{chunk-LYQJ4PZW.js → chunk-OQ6663F4.js} +5 -5
- package/dist/{chunk-H3427GPU.js → chunk-OZRUJVIQ.js} +2 -2
- package/dist/{chunk-KMKEYI37.js → chunk-Q2V6E6SL.js} +3 -3
- package/dist/{chunk-VL43TNIP.js → chunk-QRP3PXWN.js} +2 -2
- package/dist/{chunk-HDLYPC6K.js → chunk-RPUSTYHL.js} +3 -5
- package/dist/{chunk-HDLYPC6K.js.map → chunk-RPUSTYHL.js.map} +1 -1
- package/dist/{chunk-C46GUI2S.js → chunk-RZBEK2VE.js} +2 -2
- package/dist/{chunk-2VPBIT65.js → chunk-S3A3YOKO.js} +8 -8
- package/dist/{chunk-FYGR3I2A.js → chunk-S77PZVYM.js} +3 -3
- package/dist/{chunk-VLMBTPXU.js → chunk-SHL7LOC3.js} +3 -3
- package/dist/{chunk-HR6IWNKE.js → chunk-SSJK7FEV.js} +1140 -1196
- package/dist/chunk-SSJK7FEV.js.map +1 -0
- package/dist/{chunk-KS2QY6MK.js → chunk-W3ZHJJVT.js} +4 -4
- package/dist/{chunk-7EPXVICM.js → chunk-XF4JUKVF.js} +5 -38
- package/dist/chunk-XF4JUKVF.js.map +1 -0
- package/dist/{chunk-RL5CP7N6.js → chunk-Y6O7EWYY.js} +5 -5
- package/dist/{chunk-6NY2GPR4.js → chunk-Y6ZQXUZ7.js} +3 -3
- package/dist/{chunk-HROZYQ5H.js → chunk-YRQYA2LR.js} +5 -63
- package/dist/chunk-YRQYA2LR.js.map +1 -0
- package/dist/{chunk-ASI4P6X2.js → chunk-YUCLMOEG.js} +6 -6
- package/dist/chunk-YUCLMOEG.js.map +1 -0
- package/dist/{chunk-WKQG6TER.js → chunk-ZEYEWPK6.js} +2 -2
- package/dist/{claim-W6G6VEG5.js → claim-FZ5OQLMU.js} +3 -4
- package/dist/{claim-W6G6VEG5.js.map → claim-FZ5OQLMU.js.map} +1 -1
- package/dist/cli.js +30 -30
- package/dist/{companies-TS6KBATJ.js → companies-DNI634RC.js} +3 -4
- package/dist/{companies-TS6KBATJ.js.map → companies-DNI634RC.js.map} +1 -1
- package/dist/{complete-LYR2HMQU.js → complete-2FZMGJV5.js} +3 -4
- package/dist/{complete-LYR2HMQU.js.map → complete-2FZMGJV5.js.map} +1 -1
- package/dist/{connect-FCXNVTXG.js → connect-QCOGEPP4.js} +6 -13
- package/dist/{conversation-6ZJGPCXM.js → conversation-6IOGV7B7.js} +3 -4
- package/dist/{conversation-6ZJGPCXM.js.map → conversation-6IOGV7B7.js.map} +1 -1
- package/dist/{conversions-UHB55MMQ.js → conversions-4SRZPBBX.js} +7 -8
- package/dist/{conversions-UHB55MMQ.js.map → conversions-4SRZPBBX.js.map} +1 -1
- package/dist/{create-EX6OWLNM.js → create-BJNMO6HT.js} +2 -3
- package/dist/{create-EX6OWLNM.js.map → create-BJNMO6HT.js.map} +1 -1
- package/dist/{create-JFSK4BOP.js → create-FX4OJ2XF.js} +3 -4
- package/dist/{create-JFSK4BOP.js.map → create-FX4OJ2XF.js.map} +1 -1
- package/dist/{create-JCA7JPLP.js → create-RM7HV77Y.js} +3 -4
- package/dist/{create-JCA7JPLP.js.map → create-RM7HV77Y.js.map} +1 -1
- package/dist/{create-WU22YYU2.js → create-VXM34ZWH.js} +3 -4
- package/dist/{create-WU22YYU2.js.map → create-VXM34ZWH.js.map} +1 -1
- package/dist/{creatives-FXUQ5WSD.js → creatives-B5NTXPUB.js} +10 -10
- package/dist/{creatives-KGXUOYPE.js → creatives-JSWBFQ5R.js} +8 -9
- package/dist/{creatives-KGXUOYPE.js.map → creatives-JSWBFQ5R.js.map} +1 -1
- package/dist/{credentials-MJC7PGKR.js → credentials-C33K6XCJ.js} +3 -4
- package/dist/{credentials-MJC7PGKR.js.map → credentials-C33K6XCJ.js.map} +1 -1
- package/dist/{critique-GS5VV5ZC.js → critique-4V5SKH7C.js} +6 -7
- package/dist/{critique-GS5VV5ZC.js.map → critique-4V5SKH7C.js.map} +1 -1
- package/dist/{critique-TPHR27KH.js → critique-ZS4ON3SU.js} +3 -4
- package/dist/{critique-TPHR27KH.js.map → critique-ZS4ON3SU.js.map} +1 -1
- package/dist/{crm-VK44O3ED.js → crm-52ROSWH5.js} +4 -5
- package/dist/{crm-VK44O3ED.js.map → crm-52ROSWH5.js.map} +1 -1
- package/dist/{crm-AVCM5D4G.js → crm-R5IXIFIV.js} +4 -5
- package/dist/{crm-AVCM5D4G.js.map → crm-R5IXIFIV.js.map} +1 -1
- package/dist/{customers-XH2DMTFH.js → customers-A36LOZOB.js} +5 -6
- package/dist/{delete-WI5E3DR3.js → delete-AIGE4Y4H.js} +3 -4
- package/dist/{delete-WI5E3DR3.js.map → delete-AIGE4Y4H.js.map} +1 -1
- package/dist/{delete-KRH2YMSZ.js → delete-HGHXY24R.js} +3 -4
- package/dist/{delete-KRH2YMSZ.js.map → delete-HGHXY24R.js.map} +1 -1
- package/dist/{delete-E3R3TKIL.js → delete-M2GDLPYN.js} +2 -3
- package/dist/{delete-E3R3TKIL.js.map → delete-M2GDLPYN.js.map} +1 -1
- package/dist/{demographics-XV5PBA77.js → demographics-NTWB2IMG.js} +3 -4
- package/dist/{demographics-XV5PBA77.js.map → demographics-NTWB2IMG.js.map} +1 -1
- package/dist/{discard-HTQUUHJR.js → discard-2WWQG6OU.js} +3 -4
- package/dist/{discard-HTQUUHJR.js.map → discard-2WWQG6OU.js.map} +1 -1
- package/dist/{domain-RECGZXJB.js → domain-Y2LT6JLT.js} +3 -4
- package/dist/{domain-RECGZXJB.js.map → domain-Y2LT6JLT.js.map} +1 -1
- package/dist/{draft-Q546QPPU.js → draft-EJXNNJ3Y.js} +4 -5
- package/dist/{draft-Q546QPPU.js.map → draft-EJXNNJ3Y.js.map} +1 -1
- package/dist/{draft-PVTX6QT6.js → draft-FJ7WHIXW.js} +3 -4
- package/dist/{draft-PVTX6QT6.js.map → draft-FJ7WHIXW.js.map} +1 -1
- package/dist/{draft-2IBSJEKC.js → draft-SLHAKJ2A.js} +3 -4
- package/dist/{draft-2IBSJEKC.js.map → draft-SLHAKJ2A.js.map} +1 -1
- package/dist/engine/index.js +3 -3
- package/dist/{facets-7EVPJMKS.js → facets-U7AQC4H6.js} +3 -4
- package/dist/{facets-7EVPJMKS.js.map → facets-U7AQC4H6.js.map} +1 -1
- package/dist/{feedback-EIZKS4JU.js → feedback-OLTCHE6C.js} +2 -2
- package/dist/{feedback-record-TKO54BOE.js → feedback-record-7WZ4H7EP.js} +8 -9
- package/dist/{feedback-record-TKO54BOE.js.map → feedback-record-7WZ4H7EP.js.map} +1 -1
- package/dist/{fetch-4BY6HYUM.js → fetch-W7NULDEO.js} +3 -4
- package/dist/{fetch-4BY6HYUM.js.map → fetch-W7NULDEO.js.map} +1 -1
- package/dist/{find-FRRHAPWX.js → find-OTDIX6V4.js} +4 -4
- package/dist/{flows-KTFAML22.js → flows-KABCBS3S.js} +17 -21
- package/dist/flows-KABCBS3S.js.map +1 -0
- package/dist/{fonts-MXR3ZKDX.js → fonts-EMMX3KII.js} +5 -6
- package/dist/{forecast-3QTJYVND.js → forecast-GNODEIIC.js} +3 -4
- package/dist/{forecast-3QTJYVND.js.map → forecast-GNODEIIC.js.map} +1 -1
- package/dist/{funnel-I6XIAEHG.js → funnel-AAX27NH4.js} +455 -11
- package/dist/funnel-AAX27NH4.js.map +1 -0
- package/dist/{ga4-DV2AXCSL.js → ga4-UDQ2HA2J.js} +1 -1
- package/dist/{get-5PKNKJ5S.js → get-QEYJRLV3.js} +4 -7
- package/dist/get-QEYJRLV3.js.map +1 -0
- package/dist/{get-72YPHJGV.js → get-RTVUZM6E.js} +3 -4
- package/dist/{get-72YPHJGV.js.map → get-RTVUZM6E.js.map} +1 -1
- package/dist/{google-QYYYSSXI.js → google-KTO3PLEU.js} +5 -5
- package/dist/{google-6OGZX47I.js → google-M7KEXVK5.js} +2 -2
- package/dist/{google-ads-QGMQKZQD.js → google-ads-OK6IG3UV.js} +3 -4
- package/dist/{google-ads-QGMQKZQD.js.map → google-ads-OK6IG3UV.js.map} +1 -1
- package/dist/{gsc-TAKOF7J5.js → gsc-P3QYGDV2.js} +1 -1
- package/dist/{history-6AVQX2OQ.js → history-PQUJKK26.js} +3 -4
- package/dist/{history-6AVQX2OQ.js.map → history-PQUJKK26.js.map} +1 -1
- package/dist/{hubspot-SVEMFK5S.js → hubspot-Y77VLY6Y.js} +8 -9
- package/dist/{hubspot-SVEMFK5S.js.map → hubspot-Y77VLY6Y.js.map} +1 -1
- package/dist/{icon-L4RSS6PZ.js → icon-I43F77FV.js} +4 -4
- package/dist/{ideas-NFOW3HKJ.js → ideas-MIDU7YOA.js} +2 -3
- package/dist/{images-2EFFUNNV.js → images-S254MS6O.js} +9 -9
- package/dist/{ingest-2SO62RRI.js → ingest-J4I3HKM3.js} +2 -3
- package/dist/{ingest-2SO62RRI.js.map → ingest-J4I3HKM3.js.map} +1 -1
- package/dist/{ingest-2EIKN4QC.js → ingest-YV2NLDBE.js} +3 -4
- package/dist/{inspect-4OOS4APT.js → inspect-Q5NHBBHX.js} +3 -4
- package/dist/{inspect-4OOS4APT.js.map → inspect-Q5NHBBHX.js.map} +1 -1
- package/dist/{inspiration-S3DU4CMQ.js → inspiration-P265QJ2H.js} +1 -1
- package/dist/{keyword-metrics-SF4CSNZ2.js → keyword-metrics-PDY4ZXSP.js} +3 -4
- package/dist/{keyword-metrics-SF4CSNZ2.js.map → keyword-metrics-PDY4ZXSP.js.map} +1 -1
- package/dist/{keywords-for-site-WDAOPNKC.js → keywords-for-site-GALSCV77.js} +3 -4
- package/dist/{keywords-for-site-WDAOPNKC.js.map → keywords-for-site-GALSCV77.js.map} +1 -1
- package/dist/{landing-2ZB46LXH.js → landing-CJYGWCK4.js} +3 -3
- package/dist/{leads-A4W5KTWB.js → leads-PHKG6CP3.js} +3 -4
- package/dist/{leads-A4W5KTWB.js.map → leads-PHKG6CP3.js.map} +1 -1
- package/dist/{learn-IPULBCOD.js → learn-FUQSY7DN.js} +4 -5
- package/dist/{learn-IPULBCOD.js.map → learn-FUQSY7DN.js.map} +1 -1
- package/dist/{line-item-writes-EMYSOJKM.js → line-item-writes-E6MZPIZZ.js} +3 -4
- package/dist/{line-item-writes-EMYSOJKM.js.map → line-item-writes-E6MZPIZZ.js.map} +1 -1
- package/dist/{line-items-5NECXUZT.js → line-items-7ZGIKEF2.js} +5 -5
- package/dist/{link-CI45HWFN.js → link-QYAW6A2W.js} +3 -4
- package/dist/{link-CI45HWFN.js.map → link-QYAW6A2W.js.map} +1 -1
- package/dist/{linkedin-B7SYR75X.js → linkedin-FFSDSGGS.js} +26 -27
- package/dist/{linkedin-B7SYR75X.js.map → linkedin-FFSDSGGS.js.map} +1 -1
- package/dist/{list-ZBT3EBVZ.js → list-5IC6KIKO.js} +3 -4
- package/dist/{list-ZBT3EBVZ.js.map → list-5IC6KIKO.js.map} +1 -1
- package/dist/{list-2BARXOT5.js → list-NVQC5SNY.js} +2 -3
- package/dist/{list-2BARXOT5.js.map → list-NVQC5SNY.js.map} +1 -1
- package/dist/{list-BIEVLEHS.js → list-SAV3LQHY.js} +3 -4
- package/dist/{list-BIEVLEHS.js.map → list-SAV3LQHY.js.map} +1 -1
- package/dist/{log-C23OOAJZ.js → log-XZPVOALD.js} +3 -4
- package/dist/{log-C23OOAJZ.js.map → log-XZPVOALD.js.map} +1 -1
- package/dist/{logo-Q5D7PZY6.js → logo-2IP663QO.js} +3 -3
- package/dist/{lookup-ETWY47F7.js → lookup-XK45W2SH.js} +5 -6
- package/dist/{make-TPKKJXGL.js → make-BMWRKIIY.js} +20 -18
- package/dist/{make-TPKKJXGL.js.map → make-BMWRKIIY.js.map} +1 -1
- package/dist/{map-SYZMPHLL.js → map-4J5WIWIG.js} +4 -5
- package/dist/{map-SYZMPHLL.js.map → map-4J5WIWIG.js.map} +1 -1
- package/dist/{mcp-6FQBVJ6F.js → mcp-XXD7ZQCP.js} +2 -3
- package/dist/{mcp-6FQBVJ6F.js.map → mcp-XXD7ZQCP.js.map} +1 -1
- package/dist/{media-sources-ZXHEEP6T.js → media-sources-O6ZRUA3N.js} +2 -2
- package/dist/{members-UDY4OOJW.js → members-D5ZYLS4Y.js} +3 -4
- package/dist/{members-UDY4OOJW.js.map → members-D5ZYLS4Y.js.map} +1 -1
- package/dist/{normalize-DAKHYS3V.js → normalize-PCNC6E2N.js} +3 -7
- package/dist/{normalize-DAKHYS3V.js.map → normalize-PCNC6E2N.js.map} +1 -1
- package/dist/{options-QL3ULED5.js → options-MQ65VEVD.js} +6 -7
- package/dist/{options-QL3ULED5.js.map → options-MQ65VEVD.js.map} +1 -1
- package/dist/{performance-UF5VTY2U.js → performance-6QW2KEEQ.js} +4 -5
- package/dist/{promoted-tweet-writes-7HGESJ46.js → promoted-tweet-writes-JPLHY3GM.js} +3 -4
- package/dist/{promoted-tweet-writes-7HGESJ46.js.map → promoted-tweet-writes-JPLHY3GM.js.map} +1 -1
- package/dist/{promoted-tweets-LZKS5JIF.js → promoted-tweets-SURKMHFI.js} +3 -3
- package/dist/{publish-NPD3SMZL.js → publish-HCQ6MXLB.js} +3 -4
- package/dist/{publish-NPD3SMZL.js.map → publish-HCQ6MXLB.js.map} +1 -1
- package/dist/{reddit-NU2N3LZD.js → reddit-GIP3ADMS.js} +4 -5
- package/dist/{refresh-EBVJ2C6L.js → refresh-UXQSLCR3.js} +2 -3
- package/dist/{refresh-EBVJ2C6L.js.map → refresh-UXQSLCR3.js.map} +1 -1
- package/dist/{release-V43YB2PY.js → release-5KVLXNP6.js} +3 -4
- package/dist/{release-V43YB2PY.js.map → release-5KVLXNP6.js.map} +1 -1
- package/dist/{remove-QPSWLFI4.js → remove-6FIVKCJI.js} +2 -3
- package/dist/{remove-QPSWLFI4.js.map → remove-6FIVKCJI.js.map} +1 -1
- package/dist/{reopen-GQ66NMWF.js → reopen-YM5LNOLB.js} +3 -4
- package/dist/{reopen-GQ66NMWF.js.map → reopen-YM5LNOLB.js.map} +1 -1
- package/dist/{rerun-PZK275DY.js → rerun-6XZG7BGK.js} +17 -18
- package/dist/{rerun-PZK275DY.js.map → rerun-6XZG7BGK.js.map} +1 -1
- package/dist/{research-FMM6AWZC.js → research-2BLEISBG.js} +10 -10
- package/dist/{research-GEOCUBXB.js → research-YOGE7GT2.js} +2 -3
- package/dist/{research-GEOCUBXB.js.map → research-YOGE7GT2.js.map} +1 -1
- package/dist/{reset-REXJ6AUK.js → reset-C4UHQ3EU.js} +2 -3
- package/dist/{reset-REXJ6AUK.js.map → reset-C4UHQ3EU.js.map} +1 -1
- package/dist/{reset-Y72IVESB.js → reset-OLVB6AE6.js} +2 -3
- package/dist/{reset-Y72IVESB.js.map → reset-OLVB6AE6.js.map} +1 -1
- package/dist/{resolve-OGX7C4TV.js → resolve-XYH2GDAE.js} +3 -4
- package/dist/{resolve-OGX7C4TV.js.map → resolve-XYH2GDAE.js.map} +1 -1
- package/dist/{retry-TCUBBFR5.js → retry-726GKI6V.js} +2 -3
- package/dist/{retry-TCUBBFR5.js.map → retry-726GKI6V.js.map} +1 -1
- package/dist/{retry-CD6JAQ3F.js → retry-7EELDEQP.js} +2 -3
- package/dist/{retry-CD6JAQ3F.js.map → retry-7EELDEQP.js.map} +1 -1
- package/dist/{run-EUO34T2J.js → run-MMEDKJDB.js} +17 -18
- package/dist/{run-A5ZDXTOI.js → run-P4KR2MXC.js} +3 -4
- package/dist/{run-A5ZDXTOI.js.map → run-P4KR2MXC.js.map} +1 -1
- package/dist/{scaffold-ad-SW2HEWM3.js → scaffold-ad-PBTEWDAC.js} +12 -13
- package/dist/{scaffold-ad-SW2HEWM3.js.map → scaffold-ad-PBTEWDAC.js.map} +1 -1
- package/dist/{scaffold-static-ad-ECTJL54Y.js → scaffold-static-ad-RM4M4X5U.js} +36 -37
- package/dist/scaffold-static-ad-RM4M4X5U.js.map +1 -0
- package/dist/{scaffold-video-EI7U7RBK.js → scaffold-video-O2TTKZIE.js} +11 -12
- package/dist/{scaffold-video-EI7U7RBK.js.map → scaffold-video-O2TTKZIE.js.map} +1 -1
- package/dist/{schedule-S5YZJZ5U.js → schedule-RDK4GEPI.js} +2 -3
- package/dist/{schedule-S5YZJZ5U.js.map → schedule-RDK4GEPI.js.map} +1 -1
- package/dist/{scheduled-agents-N4LJRM4C.js → scheduled-agents-6U44QE76.js} +11 -11
- package/dist/{schema-R7JWWOF4.js → schema-CHJDC7GQ.js} +4 -8
- package/dist/{schema-R7JWWOF4.js.map → schema-CHJDC7GQ.js.map} +1 -1
- package/dist/{search-KHMQH3AT.js → search-PMJRU3C4.js} +2 -3
- package/dist/{search-KHMQH3AT.js.map → search-PMJRU3C4.js.map} +1 -1
- package/dist/{select-O2FN2JEQ.js → select-OEUKOVZ5.js} +8 -9
- package/dist/{select-O2FN2JEQ.js.map → select-OEUKOVZ5.js.map} +1 -1
- package/dist/{sends-BQZM5PLS.js → sends-WGJVQUMF.js} +4 -5
- package/dist/{sends-BQZM5PLS.js.map → sends-WGJVQUMF.js.map} +1 -1
- package/dist/{set-prompt-2HASHGWC.js → set-prompt-5E5I7QAZ.js} +8 -9
- package/dist/{set-prompt-2HASHGWC.js.map → set-prompt-5E5I7QAZ.js.map} +1 -1
- package/dist/{setup-links-GYSE56GX.js → setup-links-REPREN3C.js} +3 -4
- package/dist/{setup-links-GYSE56GX.js.map → setup-links-REPREN3C.js.map} +1 -1
- package/dist/{site-4SKM7RKG.js → site-WFSWIA3S.js} +4 -5
- package/dist/{site-4SKM7RKG.js.map → site-WFSWIA3S.js.map} +1 -1
- package/dist/{sources-R2NKNC6J.js → sources-AMI2AWKZ.js} +9 -10
- package/dist/{sources-R2NKNC6J.js.map → sources-AMI2AWKZ.js.map} +1 -1
- package/dist/{sources-FQ2UZTHL.js → sources-YBQ6KPFM.js} +6 -6
- package/dist/{stale-W756ACKC.js → stale-IGFUKEN2.js} +7 -8
- package/dist/{stale-W756ACKC.js.map → stale-IGFUKEN2.js.map} +1 -1
- package/dist/{status-SE2VZJJB.js → status-7F2KHFGA.js} +3 -4
- package/dist/{status-SE2VZJJB.js.map → status-7F2KHFGA.js.map} +1 -1
- package/dist/{stock-KXJ26BY4.js → stock-2YCDN3N6.js} +5 -5
- package/dist/{studio-SYKOSNDB.js → studio-RA7QQH4O.js} +1 -1
- package/dist/{sync-LJGSODK3.js → sync-GWTLKZTU.js} +2 -3
- package/dist/{sync-LJGSODK3.js.map → sync-GWTLKZTU.js.map} +1 -1
- package/dist/{sync-definition-QR2N233R.js → sync-definition-UGSDX2SZ.js} +11 -12
- package/dist/{tags-PYWFSBTR.js → tags-3WPW6PTV.js} +4 -4
- package/dist/{tags-QQU3OKMZ.js → tags-6342FQEB.js} +3 -4
- package/dist/{tags-QQU3OKMZ.js.map → tags-6342FQEB.js.map} +1 -1
- package/dist/{tags-5SBMRC2A.js → tags-ABHSX6M5.js} +3 -4
- package/dist/{tags-5SBMRC2A.js.map → tags-ABHSX6M5.js.map} +1 -1
- package/dist/{tags-YYLNF3PK.js → tags-FJIBBBRG.js} +3 -4
- package/dist/{tags-YYLNF3PK.js.map → tags-FJIBBBRG.js.map} +1 -1
- package/dist/{tags-4BAVFH4S.js → tags-KFYLZLB3.js} +2 -3
- package/dist/{tags-4BAVFH4S.js.map → tags-KFYLZLB3.js.map} +1 -1
- package/dist/{targeting-criteria-RJFLFICN.js → targeting-criteria-NR47AF5C.js} +3 -3
- package/dist/{targets-S2MT2PNB.js → targets-L56KOVQE.js} +3 -4
- package/dist/{targets-S2MT2PNB.js.map → targets-L56KOVQE.js.map} +1 -1
- package/dist/{templates-ZE5TOGRT.js → templates-B6XGDYUF.js} +3 -4
- package/dist/{templates-ZE5TOGRT.js.map → templates-B6XGDYUF.js.map} +1 -1
- package/dist/{testimonials-DII5DYLR.js → testimonials-CVC4YIXO.js} +6 -6
- package/dist/{top-companies-PGIAEHDF.js → top-companies-45X3DT7Z.js} +3 -4
- package/dist/{top-companies-PGIAEHDF.js.map → top-companies-45X3DT7Z.js.map} +1 -1
- package/dist/{translate-GXTS633J.js → translate-VP5R67PL.js} +11 -12
- package/dist/{translate-GXTS633J.js.map → translate-VP5R67PL.js.map} +1 -1
- package/dist/{triggers-2PTONXRU.js → triggers-22EMIVFD.js} +3 -4
- package/dist/{triggers-2PTONXRU.js.map → triggers-22EMIVFD.js.map} +1 -1
- package/dist/{unlink-XRMYJ6DB.js → unlink-65KUN6ID.js} +3 -4
- package/dist/{unlink-XRMYJ6DB.js.map → unlink-65KUN6ID.js.map} +1 -1
- package/dist/{unstage-FY7A3YFF.js → unstage-2E3I5SWF.js} +3 -4
- package/dist/{unstage-FY7A3YFF.js.map → unstage-2E3I5SWF.js.map} +1 -1
- package/dist/{unstage-RM2RLXKD.js → unstage-4ZEULXEQ.js} +4 -5
- package/dist/{unstage-RM2RLXKD.js.map → unstage-4ZEULXEQ.js.map} +1 -1
- package/dist/{update-S4562V3O.js → update-2S7CSEAW.js} +3 -4
- package/dist/{update-S4562V3O.js.map → update-2S7CSEAW.js.map} +1 -1
- package/dist/{update-V6YVEUI2.js → update-7NCOTAQZ.js} +3 -4
- package/dist/{update-V6YVEUI2.js.map → update-7NCOTAQZ.js.map} +1 -1
- package/dist/{update-PJ67D2OG.js → update-D6DJC6T7.js} +2 -3
- package/dist/{update-PJ67D2OG.js.map → update-D6DJC6T7.js.map} +1 -1
- package/dist/{update-E5SRBXQR.js → update-KREBPGBH.js} +3 -4
- package/dist/{update-E5SRBXQR.js.map → update-KREBPGBH.js.map} +1 -1
- package/dist/{upload-R6CQVLKF.js → upload-O6NHRPS7.js} +3 -4
- package/dist/{upload-R6CQVLKF.js.map → upload-O6NHRPS7.js.map} +1 -1
- package/dist/{url-options-JOKU46F2.js → url-options-GGXAL3J4.js} +3 -4
- package/dist/{url-options-JOKU46F2.js.map → url-options-GGXAL3J4.js.map} +1 -1
- package/dist/{url-params-7U2XMOWF.js → url-params-3EFGVTZZ.js} +3 -4
- package/dist/{url-params-7U2XMOWF.js.map → url-params-3EFGVTZZ.js.map} +1 -1
- package/dist/{validate-7YPOUKPB.js → validate-CSJM7XZM.js} +9 -10
- package/dist/{validate-7YPOUKPB.js.map → validate-CSJM7XZM.js.map} +1 -1
- package/dist/{videos-LICG6ACJ.js → videos-YSXYGTBM.js} +5 -5
- package/dist/{web-BA2PGTWU.js → web-IGIGVEKS.js} +3 -4
- package/dist/{web-BA2PGTWU.js.map → web-IGIGVEKS.js.map} +1 -1
- package/dist/{winning-ads-C6S2C5VP.js → winning-ads-2WS7FI4E.js} +2 -2
- package/dist/{write-commands-7SJ3BOW5.js → write-commands-5C7FUOVN.js} +4 -5
- package/dist/{write-commands-7SJ3BOW5.js.map → write-commands-5C7FUOVN.js.map} +1 -1
- package/dist/{x-CZHRC6U7.js → x-BFSKFCZD.js} +6 -6
- package/package.json +1 -1
- package/dist/add-2BEGRHUX.js.map +0 -1
- package/dist/analytics-IFELDWLL.js.map +0 -1
- package/dist/chunk-4PDHHHUJ.js +0 -537
- package/dist/chunk-4PDHHHUJ.js.map +0 -1
- package/dist/chunk-7EPXVICM.js.map +0 -1
- package/dist/chunk-ASI4P6X2.js.map +0 -1
- package/dist/chunk-FPOGPFAG.js.map +0 -1
- package/dist/chunk-HR6IWNKE.js.map +0 -1
- package/dist/chunk-HROZYQ5H.js.map +0 -1
- package/dist/chunk-NYIGXDUG.js.map +0 -1
- package/dist/chunk-QE7W555R.js.map +0 -1
- package/dist/flows-KTFAML22.js.map +0 -1
- package/dist/funnel-I6XIAEHG.js.map +0 -1
- package/dist/get-5PKNKJ5S.js.map +0 -1
- package/dist/plan-FT632COT.js +0 -51
- package/dist/plan-FT632COT.js.map +0 -1
- package/dist/questionnaire-JNGYJTAY.js +0 -37
- package/dist/questionnaire-JNGYJTAY.js.map +0 -1
- package/dist/scaffold-static-ad-ECTJL54Y.js.map +0 -1
- /package/dist/{actions-6TQMSVWD.js.map → actions-P35MEMGN.js.map} +0 -0
- /package/dist/{ads-AGYCVD62.js.map → ads-73PGA4YC.js.map} +0 -0
- /package/dist/{avatars-467OSBD6.js.map → avatars-EKCKHCC3.js.map} +0 -0
- /package/dist/{brand-YRTEPGBK.js.map → brand-C6PFGGQN.js.map} +0 -0
- /package/dist/{campaigns-OYMXDGWX.js.map → campaigns-KZYZTXDS.js.map} +0 -0
- /package/dist/{canvas-YQFG52IG.js.map → canvas-5NB27FX2.js.map} +0 -0
- /package/dist/{catalog-XLXIM7IW.js.map → catalog-VSSY6FGI.js.map} +0 -0
- /package/dist/{chunk-5ZNTADVR.js.map → chunk-3G3ZDLMI.js.map} +0 -0
- /package/dist/{chunk-ZDMTXQ2Q.js.map → chunk-3IBYKLXR.js.map} +0 -0
- /package/dist/{chunk-CWYAELVG.js.map → chunk-464O4MT2.js.map} +0 -0
- /package/dist/{chunk-NA63BH7V.js.map → chunk-4AUMTNVB.js.map} +0 -0
- /package/dist/{chunk-NDEE6G2J.js.map → chunk-4BQXAE7Z.js.map} +0 -0
- /package/dist/{chunk-2AOE2MZQ.js.map → chunk-5ZDLTE5T.js.map} +0 -0
- /package/dist/{chunk-ULG4QRTV.js.map → chunk-6NB47MRW.js.map} +0 -0
- /package/dist/{chunk-24EB7EDR.js.map → chunk-7YCRFMXF.js.map} +0 -0
- /package/dist/{chunk-WGUQHAJY.js.map → chunk-A4LOJ2VD.js.map} +0 -0
- /package/dist/{chunk-6F7DVPOS.js.map → chunk-AEOSAVVL.js.map} +0 -0
- /package/dist/{chunk-N4LAYIIN.js.map → chunk-CSYSX4D2.js.map} +0 -0
- /package/dist/{chunk-RX2DKU3W.js.map → chunk-DGUNI37S.js.map} +0 -0
- /package/dist/{chunk-I3ZR655O.js.map → chunk-IR6D7K4H.js.map} +0 -0
- /package/dist/{chunk-FUHN4MFY.js.map → chunk-JQJDXPCO.js.map} +0 -0
- /package/dist/{chunk-7CTMH5AK.js.map → chunk-KAUOHQTF.js.map} +0 -0
- /package/dist/{chunk-VYQ3QJ3C.js.map → chunk-KHRXPQID.js.map} +0 -0
- /package/dist/{chunk-6Y7ZBENQ.js.map → chunk-LECGCWT5.js.map} +0 -0
- /package/dist/{chunk-5WCSKQ7Z.js.map → chunk-LZ73CZGP.js.map} +0 -0
- /package/dist/{chunk-R25YLW6H.js.map → chunk-MELOSESI.js.map} +0 -0
- /package/dist/{chunk-DCRPXOJJ.js.map → chunk-MXYBTMKB.js.map} +0 -0
- /package/dist/{chunk-54C6YDGJ.js.map → chunk-NPY4QUMQ.js.map} +0 -0
- /package/dist/{chunk-LYQJ4PZW.js.map → chunk-OQ6663F4.js.map} +0 -0
- /package/dist/{chunk-H3427GPU.js.map → chunk-OZRUJVIQ.js.map} +0 -0
- /package/dist/{chunk-KMKEYI37.js.map → chunk-Q2V6E6SL.js.map} +0 -0
- /package/dist/{chunk-VL43TNIP.js.map → chunk-QRP3PXWN.js.map} +0 -0
- /package/dist/{chunk-C46GUI2S.js.map → chunk-RZBEK2VE.js.map} +0 -0
- /package/dist/{chunk-2VPBIT65.js.map → chunk-S3A3YOKO.js.map} +0 -0
- /package/dist/{chunk-FYGR3I2A.js.map → chunk-S77PZVYM.js.map} +0 -0
- /package/dist/{chunk-VLMBTPXU.js.map → chunk-SHL7LOC3.js.map} +0 -0
- /package/dist/{chunk-KS2QY6MK.js.map → chunk-W3ZHJJVT.js.map} +0 -0
- /package/dist/{chunk-RL5CP7N6.js.map → chunk-Y6O7EWYY.js.map} +0 -0
- /package/dist/{chunk-6NY2GPR4.js.map → chunk-Y6ZQXUZ7.js.map} +0 -0
- /package/dist/{chunk-WKQG6TER.js.map → chunk-ZEYEWPK6.js.map} +0 -0
- /package/dist/{connect-FCXNVTXG.js.map → connect-QCOGEPP4.js.map} +0 -0
- /package/dist/{creatives-FXUQ5WSD.js.map → creatives-B5NTXPUB.js.map} +0 -0
- /package/dist/{customers-XH2DMTFH.js.map → customers-A36LOZOB.js.map} +0 -0
- /package/dist/{feedback-EIZKS4JU.js.map → feedback-OLTCHE6C.js.map} +0 -0
- /package/dist/{find-FRRHAPWX.js.map → find-OTDIX6V4.js.map} +0 -0
- /package/dist/{fonts-MXR3ZKDX.js.map → fonts-EMMX3KII.js.map} +0 -0
- /package/dist/{ga4-DV2AXCSL.js.map → ga4-UDQ2HA2J.js.map} +0 -0
- /package/dist/{google-QYYYSSXI.js.map → google-KTO3PLEU.js.map} +0 -0
- /package/dist/{google-6OGZX47I.js.map → google-M7KEXVK5.js.map} +0 -0
- /package/dist/{gsc-TAKOF7J5.js.map → gsc-P3QYGDV2.js.map} +0 -0
- /package/dist/{icon-L4RSS6PZ.js.map → icon-I43F77FV.js.map} +0 -0
- /package/dist/{ideas-NFOW3HKJ.js.map → ideas-MIDU7YOA.js.map} +0 -0
- /package/dist/{images-2EFFUNNV.js.map → images-S254MS6O.js.map} +0 -0
- /package/dist/{ingest-2EIKN4QC.js.map → ingest-YV2NLDBE.js.map} +0 -0
- /package/dist/{inspiration-S3DU4CMQ.js.map → inspiration-P265QJ2H.js.map} +0 -0
- /package/dist/{landing-2ZB46LXH.js.map → landing-CJYGWCK4.js.map} +0 -0
- /package/dist/{line-items-5NECXUZT.js.map → line-items-7ZGIKEF2.js.map} +0 -0
- /package/dist/{logo-Q5D7PZY6.js.map → logo-2IP663QO.js.map} +0 -0
- /package/dist/{lookup-ETWY47F7.js.map → lookup-XK45W2SH.js.map} +0 -0
- /package/dist/{media-sources-ZXHEEP6T.js.map → media-sources-O6ZRUA3N.js.map} +0 -0
- /package/dist/{performance-UF5VTY2U.js.map → performance-6QW2KEEQ.js.map} +0 -0
- /package/dist/{promoted-tweets-LZKS5JIF.js.map → promoted-tweets-SURKMHFI.js.map} +0 -0
- /package/dist/{reddit-NU2N3LZD.js.map → reddit-GIP3ADMS.js.map} +0 -0
- /package/dist/{research-FMM6AWZC.js.map → research-2BLEISBG.js.map} +0 -0
- /package/dist/{run-EUO34T2J.js.map → run-MMEDKJDB.js.map} +0 -0
- /package/dist/{scheduled-agents-N4LJRM4C.js.map → scheduled-agents-6U44QE76.js.map} +0 -0
- /package/dist/{sources-FQ2UZTHL.js.map → sources-YBQ6KPFM.js.map} +0 -0
- /package/dist/{stock-KXJ26BY4.js.map → stock-2YCDN3N6.js.map} +0 -0
- /package/dist/{studio-SYKOSNDB.js.map → studio-RA7QQH4O.js.map} +0 -0
- /package/dist/{sync-definition-QR2N233R.js.map → sync-definition-UGSDX2SZ.js.map} +0 -0
- /package/dist/{tags-PYWFSBTR.js.map → tags-3WPW6PTV.js.map} +0 -0
- /package/dist/{targeting-criteria-RJFLFICN.js.map → targeting-criteria-NR47AF5C.js.map} +0 -0
- /package/dist/{testimonials-DII5DYLR.js.map → testimonials-CVC4YIXO.js.map} +0 -0
- /package/dist/{videos-LICG6ACJ.js.map → videos-YSXYGTBM.js.map} +0 -0
- /package/dist/{winning-ads-C6S2C5VP.js.map → winning-ads-2WS7FI4E.js.map} +0 -0
- /package/dist/{x-CZHRC6U7.js.map → x-BFSKFCZD.js.map} +0 -0
|
@@ -1,24 +1,21 @@
|
|
|
1
1
|
import {
|
|
2
2
|
flowEventKeys
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-Y6O7EWYY.js";
|
|
4
4
|
import {
|
|
5
5
|
flowDataPath,
|
|
6
6
|
listFlowSlugs
|
|
7
|
-
} from "./chunk-
|
|
8
|
-
import
|
|
9
|
-
|
|
7
|
+
} from "./chunk-YRQYA2LR.js";
|
|
8
|
+
import {
|
|
9
|
+
parseEventKey
|
|
10
|
+
} from "./chunk-SSJK7FEV.js";
|
|
11
|
+
import "./chunk-EDLZGTGN.js";
|
|
10
12
|
import {
|
|
11
13
|
writeJsonEnvelope
|
|
12
14
|
} from "./chunk-VFIOJD5M.js";
|
|
13
|
-
import "./chunk-
|
|
15
|
+
import "./chunk-XF4JUKVF.js";
|
|
14
16
|
import "./chunk-GXDLWBOY.js";
|
|
15
17
|
import "./chunk-TEINLN64.js";
|
|
16
18
|
import "./chunk-ZJWUBJYQ.js";
|
|
17
|
-
import {
|
|
18
|
-
FUNNEL_VERTICALS,
|
|
19
|
-
funnelRequestSchema,
|
|
20
|
-
parseEventKey
|
|
21
|
-
} from "./chunk-HR6IWNKE.js";
|
|
22
19
|
import "./chunk-NE4F3FHN.js";
|
|
23
20
|
import {
|
|
24
21
|
ApiError,
|
|
@@ -91,6 +88,453 @@ function unplacedFormHints(steps, forms, counted) {
|
|
|
91
88
|
];
|
|
92
89
|
}
|
|
93
90
|
|
|
91
|
+
// ../api/src/funnel/vocabulary.ts
|
|
92
|
+
var FUNNEL_STEP_CLASSES = [
|
|
93
|
+
/** Saw the offer: a landing opened, an ad clicked through. */
|
|
94
|
+
"visited",
|
|
95
|
+
/** We know who they are: a form sent, an account created. */
|
|
96
|
+
"lead",
|
|
97
|
+
/** Something real happened: a call booked, a trial started, a quote asked for, a cart filled. */
|
|
98
|
+
"engaged",
|
|
99
|
+
/** Paid, or signed. */
|
|
100
|
+
"customer",
|
|
101
|
+
/** Paid again, renewed, or grew. */
|
|
102
|
+
"repeat",
|
|
103
|
+
/** Terminal. Did not go ahead, or was never a fit. */
|
|
104
|
+
"lost"
|
|
105
|
+
];
|
|
106
|
+
|
|
107
|
+
// ../api/src/funnel/stepTemplates.ts
|
|
108
|
+
var FUNNEL_STEP_TEMPLATES = [
|
|
109
|
+
{
|
|
110
|
+
key: "saw_offer",
|
|
111
|
+
displayName: "Saw the offer",
|
|
112
|
+
meaning: "Someone opened one of your landing pages \u2014 where most journeys start",
|
|
113
|
+
stepClass: "visited",
|
|
114
|
+
classNote: "The only `visited` template: a landing being viewed is a step, never an outcome.",
|
|
115
|
+
aliases: ["saw the offer", "visited", "landing viewed", "page viewed", "visit", "visitor"],
|
|
116
|
+
// Never sent anywhere: every platform already counts its own page views,
|
|
117
|
+
// and uploading a view as a conversion would teach it to optimise for
|
|
118
|
+
// nothing.
|
|
119
|
+
platformDefaults: {}
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
key: "lead",
|
|
123
|
+
displayName: "Lead",
|
|
124
|
+
meaning: "Someone left their details \u2014 the starting point of most journeys",
|
|
125
|
+
stepClass: "lead",
|
|
126
|
+
aliases: ["lead", "new lead", "inbound lead", "enquiry", "inquiry", "form submission"],
|
|
127
|
+
platformDefaults: {
|
|
128
|
+
meta: { eventName: "Lead", standard: true },
|
|
129
|
+
googleAds: { category: "Submit lead form" },
|
|
130
|
+
linkedin: { type: "LEAD", verified: true }
|
|
131
|
+
}
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
key: "signed_up",
|
|
135
|
+
displayName: "Signed up",
|
|
136
|
+
meaning: "Someone created an account",
|
|
137
|
+
stepClass: "lead",
|
|
138
|
+
classNote: "Same fact as a lead reached a different way \u2014 we now know who they are.",
|
|
139
|
+
aliases: ["signed up", "sign up", "registered", "registration", "account created", "new user"],
|
|
140
|
+
platformDefaults: {
|
|
141
|
+
meta: { eventName: "CompleteRegistration", standard: true },
|
|
142
|
+
googleAds: { category: "Sign-up" },
|
|
143
|
+
linkedin: { type: "SIGN_UP", verified: true }
|
|
144
|
+
}
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
key: "add_to_cart",
|
|
148
|
+
displayName: "Added to cart",
|
|
149
|
+
meaning: "Something went into the cart",
|
|
150
|
+
stepClass: "engaged",
|
|
151
|
+
aliases: ["added to cart", "add to cart", "cart"],
|
|
152
|
+
platformDefaults: {
|
|
153
|
+
meta: { eventName: "AddToCart", standard: true },
|
|
154
|
+
googleAds: { category: "Add to cart" },
|
|
155
|
+
linkedin: { type: "ADD_TO_CART", verified: true }
|
|
156
|
+
}
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
key: "checkout_started",
|
|
160
|
+
displayName: "Started checkout",
|
|
161
|
+
meaning: "The checkout began",
|
|
162
|
+
stepClass: "engaged",
|
|
163
|
+
aliases: ["started checkout", "checkout started", "checkout", "begin checkout"],
|
|
164
|
+
platformDefaults: {
|
|
165
|
+
meta: { eventName: "InitiateCheckout", standard: true },
|
|
166
|
+
googleAds: { category: "Begin checkout" },
|
|
167
|
+
// Written from the documentation and never checked against the live
|
|
168
|
+
// enum, which is what `verified: false` is for — carried as a caveat
|
|
169
|
+
// rather than quietly resolved.
|
|
170
|
+
linkedin: { type: "START_CHECKOUT", verified: false, fallback: "OTHER" }
|
|
171
|
+
}
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
key: "trial_started",
|
|
175
|
+
displayName: "Trial started",
|
|
176
|
+
meaning: "A free trial began",
|
|
177
|
+
stepClass: "engaged",
|
|
178
|
+
classNote: "A trial is use, not payment \u2014 engaged, never customer.",
|
|
179
|
+
aliases: ["trial", "trial started", "free trial", "in trial"],
|
|
180
|
+
platformDefaults: {
|
|
181
|
+
meta: { eventName: "StartTrial", standard: true },
|
|
182
|
+
googleAds: { category: "Sign-up" },
|
|
183
|
+
linkedin: { type: "OTHER", verified: true }
|
|
184
|
+
}
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
key: "qualified_lead",
|
|
188
|
+
displayName: "Qualified lead",
|
|
189
|
+
meaning: "The lead matches who you sell to",
|
|
190
|
+
stepClass: "engaged",
|
|
191
|
+
aliases: ["qualified lead", "qualified", "mql", "sql", "sales qualified lead", "marketing qualified lead"],
|
|
192
|
+
platformDefaults: {
|
|
193
|
+
meta: { eventName: "QualifiedLead", standard: false },
|
|
194
|
+
googleAds: { category: "Qualified lead" },
|
|
195
|
+
linkedin: { type: "QUALIFIED_LEAD", verified: true }
|
|
196
|
+
}
|
|
197
|
+
},
|
|
198
|
+
{
|
|
199
|
+
key: "contacted",
|
|
200
|
+
displayName: "Contacted",
|
|
201
|
+
meaning: "Your team reached out",
|
|
202
|
+
stepClass: "engaged",
|
|
203
|
+
classNote: "Engaged even though the move came from the seller: it is a real forward interaction.",
|
|
204
|
+
aliases: ["contacted", "contact", "outreach", "follow up", "first contact", "attempting contact"],
|
|
205
|
+
platformDefaults: {
|
|
206
|
+
meta: { eventName: "Contact", standard: true },
|
|
207
|
+
googleAds: { category: "Contact" },
|
|
208
|
+
linkedin: { type: "CONTACT", verified: true }
|
|
209
|
+
}
|
|
210
|
+
},
|
|
211
|
+
{
|
|
212
|
+
key: "meeting_scheduled",
|
|
213
|
+
displayName: "Meeting booked",
|
|
214
|
+
meaning: "A meeting is on the calendar",
|
|
215
|
+
stepClass: "engaged",
|
|
216
|
+
aliases: [
|
|
217
|
+
"meeting booked",
|
|
218
|
+
"meeting scheduled",
|
|
219
|
+
"demo scheduled",
|
|
220
|
+
"demo booked",
|
|
221
|
+
"appointment booked",
|
|
222
|
+
"call booked"
|
|
223
|
+
],
|
|
224
|
+
platformDefaults: {
|
|
225
|
+
meta: { eventName: "Schedule", standard: true },
|
|
226
|
+
googleAds: { category: "Book appointment" },
|
|
227
|
+
// LinkedIn has SCHEDULE and BOOK_APPOINTMENT separately; the second is the
|
|
228
|
+
// one that means a reservation.
|
|
229
|
+
linkedin: { type: "BOOK_APPOINTMENT", verified: true }
|
|
230
|
+
}
|
|
231
|
+
},
|
|
232
|
+
{
|
|
233
|
+
key: "meeting_held",
|
|
234
|
+
displayName: "Meeting held",
|
|
235
|
+
meaning: "The meeting actually happened \u2014 kept apart from booking because no-show is a real number",
|
|
236
|
+
stepClass: "engaged",
|
|
237
|
+
aliases: ["meeting held", "meeting done", "demo held", "demo done", "demo completed", "call held"],
|
|
238
|
+
platformDefaults: {
|
|
239
|
+
meta: { eventName: "MeetingHeld", standard: false },
|
|
240
|
+
googleAds: { category: "Other" },
|
|
241
|
+
linkedin: { type: "OTHER", verified: true }
|
|
242
|
+
}
|
|
243
|
+
},
|
|
244
|
+
{
|
|
245
|
+
key: "opportunity",
|
|
246
|
+
displayName: "Opportunity open",
|
|
247
|
+
meaning: "A deal is open \u2014 send the estimated value if you have one",
|
|
248
|
+
stepClass: "engaged",
|
|
249
|
+
classNote: "A number behind an intention is still no money, so engaged rather than customer.",
|
|
250
|
+
aliases: ["opportunity", "proposal sent", "proposal", "negotiation", "in negotiation", "quote sent", "deal open"],
|
|
251
|
+
platformDefaults: {
|
|
252
|
+
meta: { eventName: "Opportunity", standard: false },
|
|
253
|
+
googleAds: { category: "Request quote" },
|
|
254
|
+
linkedin: { type: "REQUEST_QUOTE", verified: true }
|
|
255
|
+
}
|
|
256
|
+
},
|
|
257
|
+
{
|
|
258
|
+
key: "won",
|
|
259
|
+
displayName: "Deal won",
|
|
260
|
+
meaning: "The deal closed \u2014 the amount is required here",
|
|
261
|
+
stepClass: "customer",
|
|
262
|
+
aliases: ["won", "closed won", "deal won", "purchase", "sale"],
|
|
263
|
+
platformDefaults: {
|
|
264
|
+
meta: { eventName: "Purchase", standard: true },
|
|
265
|
+
// Which of the two depends on whether the company reports a revenue
|
|
266
|
+
// amount. It is a per-company answer, so it stays a fork, not a constant.
|
|
267
|
+
googleAds: { category: "Purchase", alternative: "Converted lead" },
|
|
268
|
+
linkedin: { type: "PURCHASE", verified: true }
|
|
269
|
+
}
|
|
270
|
+
},
|
|
271
|
+
{
|
|
272
|
+
key: "subscribed",
|
|
273
|
+
displayName: "Subscription started",
|
|
274
|
+
meaning: "A paying subscription began \u2014 the amount is the recurring one",
|
|
275
|
+
stepClass: "customer",
|
|
276
|
+
classNote: "Customer, not repeat: it is the first money. Repeat is what happens after \u2014 see the renewed template.",
|
|
277
|
+
aliases: ["subscribed", "subscription started", "new subscription", "paying"],
|
|
278
|
+
platformDefaults: {
|
|
279
|
+
meta: { eventName: "Subscribe", standard: true },
|
|
280
|
+
googleAds: { category: "Purchase" },
|
|
281
|
+
linkedin: { type: "PURCHASE", verified: true }
|
|
282
|
+
}
|
|
283
|
+
},
|
|
284
|
+
{
|
|
285
|
+
key: "renewed",
|
|
286
|
+
displayName: "Subscription renewed",
|
|
287
|
+
meaning: "An existing customer paid again or expanded \u2014 the amount is what they paid this time",
|
|
288
|
+
stepClass: "repeat",
|
|
289
|
+
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.",
|
|
290
|
+
aliases: ["renewed", "renewal", "subscription renewed", "expansion", "upsell"],
|
|
291
|
+
platformDefaults: {
|
|
292
|
+
meta: { eventName: "Renewed", standard: false },
|
|
293
|
+
googleAds: { category: "Purchase" },
|
|
294
|
+
linkedin: { type: "PURCHASE", verified: true }
|
|
295
|
+
}
|
|
296
|
+
},
|
|
297
|
+
{
|
|
298
|
+
key: "application_submitted",
|
|
299
|
+
displayName: "Application submitted",
|
|
300
|
+
meaning: "Someone submitted an application \u2014 a course, a policy, a credit line",
|
|
301
|
+
stepClass: "engaged",
|
|
302
|
+
classNote: "For education, events, fintech and insurance. Strong intent, no money yet.",
|
|
303
|
+
aliases: ["application submitted", "application", "applied", "application received"],
|
|
304
|
+
platformDefaults: {
|
|
305
|
+
meta: { eventName: "SubmitApplication", standard: true },
|
|
306
|
+
googleAds: { category: "Submit lead form" },
|
|
307
|
+
linkedin: { type: "SUBMIT_APPLICATION", verified: true }
|
|
308
|
+
}
|
|
309
|
+
},
|
|
310
|
+
{
|
|
311
|
+
key: "lost",
|
|
312
|
+
displayName: "Lost",
|
|
313
|
+
meaning: "It did not go ahead \u2014 the deal fell through, or the lead was never a fit",
|
|
314
|
+
stepClass: "lost",
|
|
315
|
+
classNote: "Terminal and never sent anywhere. It can happen at any depth, which is why the order check leaves it alone.",
|
|
316
|
+
aliases: [
|
|
317
|
+
"lost",
|
|
318
|
+
"closed lost",
|
|
319
|
+
"deal lost",
|
|
320
|
+
"no budget",
|
|
321
|
+
"not interested",
|
|
322
|
+
"disqualified",
|
|
323
|
+
"unqualified",
|
|
324
|
+
"not a fit",
|
|
325
|
+
"spam",
|
|
326
|
+
"duplicate",
|
|
327
|
+
"junk"
|
|
328
|
+
],
|
|
329
|
+
platformDefaults: {}
|
|
330
|
+
}
|
|
331
|
+
];
|
|
332
|
+
var TEMPLATES_BY_KEY = new Map(
|
|
333
|
+
FUNNEL_STEP_TEMPLATES.map((template) => [template.key, template])
|
|
334
|
+
);
|
|
335
|
+
var FUNNEL_VERTICALS = [
|
|
336
|
+
"b2b_sales",
|
|
337
|
+
"b2b_inbound",
|
|
338
|
+
"saas_self_serve",
|
|
339
|
+
"saas_sales_assisted",
|
|
340
|
+
"ecommerce_purchase"
|
|
341
|
+
];
|
|
342
|
+
|
|
343
|
+
// ../api/src/funnel/wire.ts
|
|
344
|
+
import { z } from "zod";
|
|
345
|
+
var MAX_STEPS = 40;
|
|
346
|
+
var MAX_PER_STEP = 20;
|
|
347
|
+
var funnelTriggerSchema = z.discriminatedUnion("kind", [
|
|
348
|
+
z.object({
|
|
349
|
+
id: z.string().min(1).max(64),
|
|
350
|
+
kind: z.literal("event"),
|
|
351
|
+
/** The event's key, from `--moments`: `form:…`, `submit:…`, `page:…`, `exit:…`. */
|
|
352
|
+
eventKey: z.string().min(1).max(320)
|
|
353
|
+
}),
|
|
354
|
+
z.object({
|
|
355
|
+
id: z.string().min(1).max(64),
|
|
356
|
+
kind: z.literal("landing"),
|
|
357
|
+
/** The landing's internal id — what the page stamps on its rows, never its slug. */
|
|
358
|
+
landingId: z.string().min(1).max(120)
|
|
359
|
+
}),
|
|
360
|
+
/** Any landing being viewed — what a funnel's first step usually listens for. */
|
|
361
|
+
z.object({
|
|
362
|
+
id: z.string().min(1).max(64),
|
|
363
|
+
kind: z.literal("any_landing")
|
|
364
|
+
})
|
|
365
|
+
]);
|
|
366
|
+
var funnelStepSchema = z.object({
|
|
367
|
+
/** Lowercase letters, digits and underscores. Stable — renaming never changes it. */
|
|
368
|
+
key: z.string().min(1).max(64),
|
|
369
|
+
/** The client's own words for this step. Shown everywhere; unconstrained. */
|
|
370
|
+
displayName: z.string().min(1).max(120),
|
|
371
|
+
stepClass: z.enum(FUNNEL_STEP_CLASSES),
|
|
372
|
+
/** Predecessor keys. Empty means people come in here. */
|
|
373
|
+
after: z.array(z.string().max(64)).max(MAX_STEPS).default([]),
|
|
374
|
+
/** What moves somebody onto this step. Any one of them is enough. */
|
|
375
|
+
triggers: z.array(funnelTriggerSchema).max(MAX_PER_STEP).default([])
|
|
376
|
+
});
|
|
377
|
+
var funnelRequestSchema = z.object({
|
|
378
|
+
steps: z.array(funnelStepSchema).max(MAX_STEPS).optional(),
|
|
379
|
+
/** One step, added or replaced by its key. Everything else is untouched. */
|
|
380
|
+
step: funnelStepSchema.optional(),
|
|
381
|
+
/** One step taken out by key; whatever came after it moves up to whatever came before it. */
|
|
382
|
+
removeStep: z.string().min(1).max(64).optional(),
|
|
383
|
+
/**
|
|
384
|
+
* ONE way in added to a step, leaving the rest of that step alone.
|
|
385
|
+
*
|
|
386
|
+
* `step` takes a whole step, so adding a way in through it means restating
|
|
387
|
+
* the step's name, stage, `after[]` and every trigger it already had — and a
|
|
388
|
+
* trigger left out of that restatement is silently removed. This is the door
|
|
389
|
+
* for the thing that is actually being asked ("this Form's booking should
|
|
390
|
+
* count here"), and it cannot drop anything.
|
|
391
|
+
*/
|
|
392
|
+
addTrigger: z.object({ stepKey: z.string().min(1).max(64), eventKey: z.string().min(1).max(320) }).optional(),
|
|
393
|
+
/** ONE way in taken off a step, by the event key it listens for. */
|
|
394
|
+
removeTrigger: z.object({ stepKey: z.string().min(1).max(64), eventKey: z.string().min(1).max(320) }).optional(),
|
|
395
|
+
/** One of the ready-made graphs, instead of stating steps. */
|
|
396
|
+
preset: z.enum(FUNNEL_VERTICALS).optional(),
|
|
397
|
+
/** Also return the suggestion library and the presets. */
|
|
398
|
+
templates: z.boolean().optional(),
|
|
399
|
+
/**
|
|
400
|
+
* Also return everything a trigger can name: every event this company's
|
|
401
|
+
* Forms, pages and systems have actually produced, its sources, and its
|
|
402
|
+
* landings. The list to pick a trigger FROM, so nobody has to guess.
|
|
403
|
+
*/
|
|
404
|
+
moments: z.boolean().optional(),
|
|
405
|
+
/** How many days the counts beside each step cover. Default 30. */
|
|
406
|
+
days: z.number().int().min(1).max(400).optional(),
|
|
407
|
+
/**
|
|
408
|
+
* The Forms, by slug, the caller names itself when no step counts them —
|
|
409
|
+
* `baker funnel` reads its own workspace and names each with the key that
|
|
410
|
+
* places it. The backend leaves them out of its own hint, so no Form is
|
|
411
|
+
* named twice.
|
|
412
|
+
*/
|
|
413
|
+
namedByCaller: z.array(z.string().min(1).max(200)).max(1e3).optional()
|
|
414
|
+
});
|
|
415
|
+
var funnelResponseSchema = z.object({
|
|
416
|
+
ok: z.literal(true),
|
|
417
|
+
data: z.object({
|
|
418
|
+
/** The published version, or 0 when this company has never drawn a funnel. */
|
|
419
|
+
version: z.number(),
|
|
420
|
+
/** Whether `steps` is a proposal waiting on this chat's publish rather than what is live. */
|
|
421
|
+
staged: z.boolean(),
|
|
422
|
+
steps: z.array(
|
|
423
|
+
z.object({
|
|
424
|
+
key: z.string(),
|
|
425
|
+
displayName: z.string(),
|
|
426
|
+
stepClass: z.string(),
|
|
427
|
+
after: z.array(z.string()),
|
|
428
|
+
triggers: z.array(z.record(z.string(), z.unknown())),
|
|
429
|
+
/**
|
|
430
|
+
* Where the people who reach this step are sent: the sends of every
|
|
431
|
+
* system event among its triggers. Read-only here — a send belongs to
|
|
432
|
+
* the event and is set with `baker analytics sends`.
|
|
433
|
+
*/
|
|
434
|
+
sends: z.array(
|
|
435
|
+
z.object({
|
|
436
|
+
id: z.string(),
|
|
437
|
+
eventKey: z.string(),
|
|
438
|
+
platform: z.string(),
|
|
439
|
+
event: z.string(),
|
|
440
|
+
/** What happened to it in the window, in one line. */
|
|
441
|
+
outcome: z.string().optional()
|
|
442
|
+
})
|
|
443
|
+
),
|
|
444
|
+
/** How many people reached this step in the window. Counted in people, across visits and devices. */
|
|
445
|
+
people: z.number().optional(),
|
|
446
|
+
/** How many reached this step or any step after it. */
|
|
447
|
+
atLeast: z.number().optional(),
|
|
448
|
+
/** How many got as far as the step before it. Absent for a way in. */
|
|
449
|
+
before: z.number().optional(),
|
|
450
|
+
/** `atLeast / before`, 0–1. Absent where there is no before. */
|
|
451
|
+
share: z.number().optional(),
|
|
452
|
+
events: z.number().optional(),
|
|
453
|
+
money: z.record(z.string(), z.number()).optional()
|
|
454
|
+
})
|
|
455
|
+
),
|
|
456
|
+
/** The window `people` and friends were counted over. */
|
|
457
|
+
window: z.object({ startDate: z.string(), endDate: z.string(), days: z.number() }).optional(),
|
|
458
|
+
/** The step that loses the most people, by key. Absent while nothing is lost. */
|
|
459
|
+
worstStep: z.string().optional(),
|
|
460
|
+
/**
|
|
461
|
+
* The steps this write took off the funnel, by key. Present on every write,
|
|
462
|
+
* empty when nothing was dropped — the answer to "did my restatement forget
|
|
463
|
+
* one", given in the same turn.
|
|
464
|
+
*/
|
|
465
|
+
removed: z.array(z.string()).optional(),
|
|
466
|
+
/**
|
|
467
|
+
* What this company counts as page conversions, this chat's staged counts
|
|
468
|
+
* included, by event key and name. Here so a Form's ending can say it is
|
|
469
|
+
* already counted — the agent choosing a step's way in should use that
|
|
470
|
+
* same key — and outside `moments` because the plain read's hints say it too.
|
|
471
|
+
*/
|
|
472
|
+
counted: z.array(z.object({ eventKey: z.string(), name: z.string() })).optional(),
|
|
473
|
+
/** Everything a trigger can name, when asked for with `moments`. */
|
|
474
|
+
moments: z.object({
|
|
475
|
+
events: z.array(
|
|
476
|
+
z.object({
|
|
477
|
+
eventKey: z.string(),
|
|
478
|
+
/** `site` for a page or Form, `systems` for the client's own server, `both` when both sent it. */
|
|
479
|
+
origin: z.string().optional(),
|
|
480
|
+
/** The Form it belongs to, when it belongs to one. */
|
|
481
|
+
flowSlug: z.string().optional(),
|
|
482
|
+
nodeType: z.string().optional(),
|
|
483
|
+
events: z.number(),
|
|
484
|
+
sessions: z.number(),
|
|
485
|
+
/** The name it is counted under as a page conversion, when the company counts it. Informational. */
|
|
486
|
+
countedAs: z.string().optional(),
|
|
487
|
+
/**
|
|
488
|
+
* The step of the Form this happens on, in the Form's own words —
|
|
489
|
+
* never a node id. Present on a Form's ending read from the Form
|
|
490
|
+
* itself, which is the only place the name is known.
|
|
491
|
+
*/
|
|
492
|
+
step: z.string().optional(),
|
|
493
|
+
/**
|
|
494
|
+
* `false` on an ending a Form raises natively but nobody has fired
|
|
495
|
+
* yet — derived from the Form, offered at zero, exactly as a
|
|
496
|
+
* Source is offered before its first send. Absent means it came
|
|
497
|
+
* from the event store and therefore happened.
|
|
498
|
+
*/
|
|
499
|
+
seen: z.boolean().optional()
|
|
500
|
+
})
|
|
501
|
+
),
|
|
502
|
+
/** The company's sources: a system of theirs that posts events to Baker, by the event name it raises. */
|
|
503
|
+
sources: z.array(z.object({ eventKey: z.string(), name: z.string(), status: z.string() })),
|
|
504
|
+
landings: z.array(z.object({ landingId: z.string(), title: z.string(), slug: z.string() }))
|
|
505
|
+
}).optional(),
|
|
506
|
+
templates: z.array(
|
|
507
|
+
z.object({
|
|
508
|
+
key: z.string(),
|
|
509
|
+
displayName: z.string(),
|
|
510
|
+
meaning: z.string(),
|
|
511
|
+
stepClass: z.string()
|
|
512
|
+
})
|
|
513
|
+
).optional(),
|
|
514
|
+
presets: z.array(z.object({ vertical: z.string(), label: z.string(), description: z.string(), steps: z.array(z.string()) })).optional(),
|
|
515
|
+
/**
|
|
516
|
+
* What each stage means, the test to apply, and the same stage in three
|
|
517
|
+
* shapes of business.
|
|
518
|
+
*
|
|
519
|
+
* The stage is the one thing in a funnel a company does not invent, so it
|
|
520
|
+
* is the one thing the agent has to get right on the company's behalf —
|
|
521
|
+
* and "engaged: did something real" cannot settle whether a trial is
|
|
522
|
+
* engaged or customer. Same source as the dashboard's stage picker, so the
|
|
523
|
+
* two cannot teach it differently.
|
|
524
|
+
*/
|
|
525
|
+
stages: z.array(
|
|
526
|
+
z.object({
|
|
527
|
+
stepClass: z.string(),
|
|
528
|
+
title: z.string(),
|
|
529
|
+
meaning: z.string(),
|
|
530
|
+
test: z.string(),
|
|
531
|
+
examples: z.object({ shop: z.string(), selfServe: z.string(), salesLed: z.string() })
|
|
532
|
+
})
|
|
533
|
+
).optional()
|
|
534
|
+
}),
|
|
535
|
+
hints: z.array(z.string()).optional()
|
|
536
|
+
});
|
|
537
|
+
|
|
94
538
|
// src/commands/funnel/funnelArgs.ts
|
|
95
539
|
var FunnelArgsError = class extends Error {
|
|
96
540
|
/** Structured remediation, in the shape the CLI's error envelope carries. */
|
|
@@ -390,4 +834,4 @@ function workspaceForms() {
|
|
|
390
834
|
export {
|
|
391
835
|
funnelCommand
|
|
392
836
|
};
|
|
393
|
-
//# sourceMappingURL=funnel-
|
|
837
|
+
//# sourceMappingURL=funnel-AAX27NH4.js.map
|