@koda-sl/baker-cli 0.564.0 → 0.566.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 +4 -2
- package/dist/{account-R3GWLAQD.js → account-EFZSU23W.js} +4 -4
- package/dist/{account-users-AQSRZXEM.js → account-users-ZS7S3XST.js} +4 -4
- package/dist/{accounts-RIYQZZQD.js → accounts-HHNJP2HK.js} +5 -5
- package/dist/{accounts-FS6YGLOR.js → accounts-R7FX5RTQ.js} +3 -3
- package/dist/{actions-RUCWCCWN.js → actions-AS77IUIW.js} +18 -18
- package/dist/{activecampaign-HP4WKQOG.js → activecampaign-LVVAEAZ7.js} +3 -3
- package/dist/{add-LYIMFKFR.js → add-NNTB7UC7.js} +3 -3
- package/dist/{add-BBKIUDIO.js → add-YT75GMYQ.js} +2 -2
- package/dist/{ads-HDU7GLOZ.js → ads-RTUNE3XQ.js} +6 -6
- package/dist/{advertisers-KKZRGHZL.js → advertisers-UKHV7DMF.js} +3 -3
- package/dist/{analytics-WEHKIKPT.js → analytics-3HPYB3LJ.js} +10 -10
- package/dist/{analytics-MVVSPVAB.js → analytics-ZNHNNEZO.js} +3 -3
- package/dist/{assign-3HOA5LOV.js → assign-3LP47K4A.js} +3 -3
- package/dist/{audience-size-ZPRWRWTV.js → audience-size-GZQBVP4G.js} +3 -3
- package/dist/{audit-XIEU7MDY.js → audit-JOS4VENF.js} +3 -3
- package/dist/{autocomplete-6FHHTJLF.js → autocomplete-QTV3USWN.js} +3 -3
- package/dist/{avatars-CFPVQQHB.js → avatars-QH6FKWOF.js} +4 -4
- package/dist/{bid-pricing-Y2DRXIBQ.js → bid-pricing-KK25LRZG.js} +4 -4
- package/dist/{brand-KC5LQUK6.js → brand-XQ6EXK6B.js} +2 -2
- package/dist/{brief-2ZCKOD2B.js → brief-OAXDT6M2.js} +14 -14
- package/dist/{campaign-groups-Z3G6REGC.js → campaign-groups-SKTIXZFH.js} +9 -9
- package/dist/{campaign-writes-B4WOMLIE.js → campaign-writes-QI3MPKZE.js} +3 -3
- package/dist/{campaigns-LLJTH6WP.js → campaigns-J6TJ5I6U.js} +12 -12
- package/dist/{campaigns-KMHUJNZX.js → campaigns-KJ6TFKHO.js} +5 -5
- package/dist/{canvas-HEZLAGL7.js → canvas-NY43T57N.js} +13 -13
- package/dist/{capabilities-GK7SIQF4.js → capabilities-H4CMKTJ5.js} +3 -3
- package/dist/{chatgpt-HLIQ7OJZ.js → chatgpt-ZI4GWP6S.js} +2 -2
- package/dist/{chats-RGYP5GIA.js → chats-XQLS3UJZ.js} +3 -3
- package/dist/{check-3HWKXL4O.js → check-24FR7WPA.js} +5 -5
- package/dist/{chunk-SKW7CDXE.js → chunk-2A24YMHV.js} +3 -3
- package/dist/{chunk-7BV5QN2P.js → chunk-2J5OCFOW.js} +29 -4
- package/dist/chunk-2J5OCFOW.js.map +1 -0
- package/dist/{chunk-RNS5MVHS.js → chunk-2KT7DG5E.js} +2 -2
- package/dist/{chunk-ULKMNQ4I.js → chunk-4E6EZ4RL.js} +3 -3
- package/dist/{chunk-GFMSRP5Q.js → chunk-4JONZ6LA.js} +56 -19
- package/dist/chunk-4JONZ6LA.js.map +1 -0
- package/dist/{chunk-S456S5VM.js → chunk-4NCQIO37.js} +2 -2
- package/dist/{chunk-I4VURNFW.js → chunk-5O57QLEV.js} +2 -2
- package/dist/{chunk-N3P5BGPD.js → chunk-5VBGY6CB.js} +2 -2
- package/dist/{chunk-T6RZ7ZOM.js → chunk-6AK74BNG.js} +3 -3
- package/dist/{chunk-2NWVSWGS.js → chunk-7QWLIZFI.js} +3 -3
- package/dist/{chunk-7YOCZ27T.js → chunk-BW3E6EDJ.js} +12 -12
- package/dist/{chunk-D67TRX67.js → chunk-CE25X6HT.js} +2 -2
- package/dist/{chunk-Q4VZZYMR.js → chunk-CVVWIXOP.js} +2 -2
- package/dist/{chunk-RM6ZIQHH.js → chunk-CXRFK47Z.js} +2 -2
- package/dist/{chunk-ERQZNOKZ.js → chunk-FZ4OKE7N.js} +6 -6
- package/dist/{chunk-RQSZDYEH.js → chunk-IWNINMRI.js} +2 -2
- package/dist/{chunk-F62BW6DJ.js → chunk-IWNLW7ZC.js} +4 -4
- package/dist/{chunk-KGAYDZM2.js → chunk-J47JWEHU.js} +2 -2
- package/dist/{chunk-Y4B7RLIE.js → chunk-JAZZ3HFR.js} +2 -2
- package/dist/{chunk-QML3FCJC.js → chunk-JPICIFPM.js} +2 -2
- package/dist/{chunk-PNA7GXBR.js → chunk-KBFYB6YK.js} +2 -2
- package/dist/{chunk-ORFYWLJP.js → chunk-LCDWDG4U.js} +54 -2
- package/dist/chunk-LCDWDG4U.js.map +1 -0
- package/dist/{chunk-KPXURSDF.js → chunk-NQVUPVI5.js} +3 -3
- package/dist/{chunk-SGEI7HNU.js → chunk-OBVSGXTA.js} +5 -5
- package/dist/{chunk-UIEVJ2HR.js → chunk-OJGNQYYS.js} +2 -2
- package/dist/{chunk-TSFHW2W4.js → chunk-OZTNA2O7.js} +2 -2
- package/dist/{chunk-MXGXVYF3.js → chunk-PX2VBLV7.js} +2 -2
- package/dist/{chunk-7KLTVL4J.js → chunk-RNVDTUWO.js} +6 -6
- package/dist/{chunk-UHWGXVYT.js → chunk-SICI27M7.js} +2 -2
- package/dist/{chunk-J35R2D6B.js → chunk-SSEJKI43.js} +3 -3
- package/dist/{chunk-SIQMOZNP.js → chunk-T2MBCTLY.js} +2 -2
- package/dist/{chunk-HDL6MTZG.js → chunk-TH4LKHWT.js} +2 -2
- package/dist/{chunk-7JBDVH7L.js → chunk-TMFC2LYC.js} +2 -2
- package/dist/{chunk-5W2FXAMY.js → chunk-UGIF23QY.js} +2 -2
- package/dist/{chunk-2YGUNIQJ.js → chunk-UMTGHV5C.js} +3 -3
- package/dist/{chunk-DJCG3C2K.js → chunk-UXY7V3PK.js} +2 -2
- package/dist/{chunk-6RDVZRK2.js → chunk-VNRL3EF7.js} +3 -3
- package/dist/{chunk-7DKJF3Y5.js → chunk-WGD6LMRW.js} +2 -2
- package/dist/{chunk-QDCU26CB.js → chunk-XWN2BUAD.js} +3 -3
- package/dist/{chunk-YXEUUGUJ.js → chunk-YFXF5XAT.js} +2 -2
- package/dist/{chunk-TJHEMCST.js → chunk-ZF5G7QTP.js} +5 -5
- package/dist/{chunk-FZJALNM6.js → chunk-ZIKSJBWD.js} +2 -2
- package/dist/{chunk-5W3PAQTH.js → chunk-ZNZHEDVB.js} +2 -2
- package/dist/{chunk-E5V5HPYO.js → chunk-ZV2GM3LW.js} +2 -2
- package/dist/{claim-23PPIKS4.js → claim-44U3RIL6.js} +3 -3
- package/dist/cli.js +36 -36
- package/dist/{companies-F5WNG6SA.js → companies-CBWSZMLE.js} +3 -3
- package/dist/{company-LXEKV5YA.js → company-XZAQYAAE.js} +3 -3
- package/dist/{complete-G3GRNRMY.js → complete-FQH646EJ.js} +3 -3
- package/dist/{connect-NEUYLAWT.js → connect-JCN3JCGD.js} +6 -6
- package/dist/{conversation-CRNAMONB.js → conversation-VW7VBIOQ.js} +3 -3
- package/dist/{conversions-G5ISEE5Z.js → conversions-Q3TYENCG.js} +8 -8
- package/dist/{conversions-A524MH5C.js → conversions-QZJRF4WN.js} +1 -1
- package/dist/{create-P72PSLV7.js → create-5X2MFN6V.js} +3 -3
- package/dist/{create-63IX52HC.js → create-CG34L6OG.js} +2 -2
- package/dist/{create-MZHQ422P.js → create-FYJFH6A7.js} +3 -3
- package/dist/{create-46WB2E3A.js → create-LQCOOKWJ.js} +3 -3
- package/dist/{creatives-OUAFL46L.js → creatives-PU3V4EDT.js} +9 -9
- package/dist/{creatives-FEVOUC2R.js → creatives-PWIEGVPE.js} +12 -12
- package/dist/{credentials-PN4YOTED.js → credentials-RHSPLXSE.js} +3 -3
- package/dist/{critique-IDUJYXRT.js → critique-B5FSBCL6.js} +3 -3
- package/dist/{critique-6PZWQ6GE.js → critique-WEIGEHNU.js} +8 -8
- package/dist/{crm-UA5QNDY4.js → crm-EBK4Z6EO.js} +4 -4
- package/dist/{crm-DC7BXQBS.js → crm-QB4AUGEW.js} +4 -4
- package/dist/{customers-F6FZ4BYS.js → customers-U3SNJUZB.js} +5 -5
- package/dist/{delete-TAGNP5FJ.js → delete-B4WV52YL.js} +3 -3
- package/dist/{delete-ZHGITRWJ.js → delete-CKCG56WV.js} +2 -2
- package/dist/{delete-PUX6AGGG.js → delete-Q2WPGQQQ.js} +3 -3
- package/dist/{demographics-265MC2Y5.js → demographics-HRH4TJ76.js} +3 -3
- package/dist/{discard-RAYUL25N.js → discard-R2SJQDCW.js} +3 -3
- package/dist/{domain-GSQX4Z2V.js → domain-LV6YI57G.js} +3 -3
- package/dist/{download-CP3Y2K54.js → download-5NLYEXK3.js} +2 -2
- package/dist/{draft-3HRGCNWA.js → draft-33DTE674.js} +3 -3
- package/dist/{draft-LJJ7K45J.js → draft-KA5F4QIQ.js} +4 -4
- package/dist/{draft-NNLOJEEV.js → draft-MRRCPIKF.js} +3 -3
- package/dist/{experiment-EFLKDQ3C.js → experiment-AZUKJ7ZO.js} +4 -4
- package/dist/{experiments-SSXYFZRC.js → experiments-AKQDYU5Z.js} +4 -4
- package/dist/{extract-JNKU6ANI.js → extract-FZ7YZFYN.js} +2 -2
- package/dist/{facets-67DUHP7G.js → facets-IRDQ2TNF.js} +3 -3
- package/dist/{feedback-3W3F3YUN.js → feedback-CGOFO6UH.js} +12 -12
- package/dist/{feedback-FGOUIPFM.js → feedback-V6TCMABL.js} +3 -3
- package/dist/{feedback-record-I3XMUJOX.js → feedback-record-SKMSWYAI.js} +13 -13
- package/dist/{fetch-I74KDC2I.js → fetch-2ZOPSTXX.js} +3 -3
- package/dist/{find-57WYB4V3.js → find-UGFONLSD.js} +4 -4
- package/dist/{fit-DEY4SJ3Z.js → fit-JQ7MR5FU.js} +5 -5
- package/dist/{flows-3OVUMHEN.js → flows-77X3R6XX.js} +108 -18
- package/dist/flows-77X3R6XX.js.map +1 -0
- package/dist/{fonts-WPI3P562.js → fonts-VOHGLU5R.js} +5 -5
- package/dist/{forecast-B4PXDUUF.js → forecast-PAGM5TBI.js} +4 -4
- package/dist/{funnel-QGMJBM23.js → funnel-7FWBX2MH.js} +4 -4
- package/dist/{ga4-FCMTGV4S.js → ga4-YVKA3V4V.js} +1 -1
- package/dist/{get-4QQDVHFA.js → get-DISZAEWO.js} +3 -3
- package/dist/{get-FS5JCUJ6.js → get-TPFELCGO.js} +3 -3
- package/dist/{google-Y4IDMDA4.js → google-OYCSQ6Z3.js} +6 -6
- package/dist/{google-ads-HLE2JZKC.js → google-ads-6KW323PN.js} +3 -3
- package/dist/{gsc-A3KB36WH.js → gsc-OJDMSP6H.js} +1 -1
- package/dist/{history-TTTAC775.js → history-BFWII3NI.js} +3 -3
- package/dist/{history-NULATRWC.js → history-GXFXEPSQ.js} +3 -3
- package/dist/{hubspot-J7ZLBL6R.js → hubspot-BU3UJNZY.js} +7 -7
- package/dist/{icon-7WND6UPY.js → icon-THWS5VPO.js} +4 -4
- package/dist/{ideas-PDIJ3I2H.js → ideas-WSUZEFLG.js} +4 -4
- package/dist/{images-SCTL5MTZ.js → images-CFZL3N4Z.js} +10 -10
- package/dist/{ingest-4FLTGD2G.js → ingest-ML2BFCNR.js} +2 -2
- package/dist/{ingest-M47H5CT7.js → ingest-NGNELRYE.js} +3 -3
- package/dist/{inspect-HDC263MS.js → inspect-VF3DJBRX.js} +3 -3
- package/dist/{inspiration-TQHQNILK.js → inspiration-FPB3IB7X.js} +1 -1
- package/dist/{keyword-metrics-QZKWO3BX.js → keyword-metrics-VDLZYA76.js} +3 -3
- package/dist/{keywords-for-site-EEIRZ77L.js → keywords-for-site-6IAS7QK3.js} +3 -3
- package/dist/{landing-IAPJPFFW.js → landing-HBBNHU4W.js} +3 -3
- package/dist/{leads-DGOFIQMH.js → leads-6RFLDXIP.js} +3 -3
- package/dist/{learn-56DN2S6B.js → learn-QL2ZO7OP.js} +4 -4
- package/dist/{line-item-writes-BHYFH4AZ.js → line-item-writes-FZVYSBWK.js} +3 -3
- package/dist/{line-items-PUWPYZOV.js → line-items-44QSYZTE.js} +5 -5
- package/dist/{link-AED2A2ML.js → link-N7VUZE5R.js} +3 -3
- package/dist/{linkedin-VC2YF6OF.js → linkedin-BP6LWQIS.js} +30 -30
- package/dist/{linkedin-person-EPSR7OIR.js → linkedin-person-KPFROM7O.js} +3 -3
- package/dist/{list-2YE5JWYG.js → list-IZ2MUUQ5.js} +3 -3
- package/dist/{list-LLLEF6YM.js → list-OW5UIFI3.js} +2 -2
- package/dist/{list-O5RQLGQO.js → list-VSDOV3QX.js} +3 -3
- package/dist/{log-FRQ2XD7O.js → log-U5P25U6W.js} +3 -3
- package/dist/{logo-ODONF6N7.js → logo-ZSSR66WS.js} +3 -3
- package/dist/{make-4QQXDW3F.js → make-55LQECUE.js} +27 -27
- package/dist/{map-6FIEOF2C.js → map-QSBCVWNW.js} +16 -7
- package/dist/map-QSBCVWNW.js.map +1 -0
- package/dist/{mcp-AGZL4CA3.js → mcp-4VUUHCWJ.js} +2 -2
- package/dist/{media-sources-AI6JDWZD.js → media-sources-B36AGK4K.js} +2 -2
- package/dist/{members-CH5TDNEZ.js → members-O5MYSZ6W.js} +3 -3
- package/dist/{meta-5KQ6CQBT.js → meta-5TRG7RTQ.js} +3 -1
- package/dist/{meta-5KQ6CQBT.js.map → meta-5TRG7RTQ.js.map} +1 -1
- package/dist/{normalize-AEJP2AEI.js → normalize-6YBZQ6MJ.js} +3 -3
- package/dist/{options-VENBF5ES.js → options-WCJ4SZ4Q.js} +6 -6
- package/dist/{organization-USVPE43J.js → organization-RKV7KDMQ.js} +3 -3
- package/dist/{performance-2V2O5QIB.js → performance-ASGNJQTT.js} +3 -3
- package/dist/{performance-GEALWLJF.js → performance-JZ2IUWJX.js} +4 -4
- package/dist/{posts-TRQCRLYZ.js → posts-F327IP23.js} +1 -1
- package/dist/{preview-Q3N6NMQ5.js → preview-SMFKMMZU.js} +3 -3
- package/dist/{promoted-tweet-writes-DB6U5OIJ.js → promoted-tweet-writes-5VBLE23Q.js} +3 -3
- package/dist/{promoted-tweets-ATKIVR2F.js → promoted-tweets-N7XPG3XB.js} +3 -3
- package/dist/{publish-R7RFAVGE.js → publish-ZCVVBT2E.js} +3 -3
- package/dist/{reddit-2FEGFGU7.js → reddit-ZWA4GSD3.js} +4 -4
- package/dist/{refresh-BDEAUQEB.js → refresh-GZSPTRQO.js} +2 -2
- package/dist/{release-CA7H6KLD.js → release-YQSDFSAD.js} +3 -3
- package/dist/{remove-GVLJDVSB.js → remove-IC6XZSLZ.js} +2 -2
- package/dist/{reopen-5UVQ5EXY.js → reopen-4D4S5TFN.js} +3 -3
- package/dist/{rerun-QGCY5TRB.js → rerun-QCV3QX2U.js} +16 -16
- package/dist/{research-63R4XYM6.js → research-SPWJYSF3.js} +2 -2
- package/dist/{research-5AO6DRY5.js → research-XRKLDLK3.js} +13 -13
- package/dist/{reset-RKW5GJAX.js → reset-MTSRIAXC.js} +2 -2
- package/dist/{reset-75QSSW7G.js → reset-RPHQ6R4T.js} +2 -2
- package/dist/{resolve-GZPY2HSF.js → resolve-F4Q7TPBU.js} +3 -3
- package/dist/{retry-QXKDF4VY.js → retry-EY4VUCWE.js} +2 -2
- package/dist/{retry-ZZM63KIG.js → retry-ZJYQRVXA.js} +2 -2
- package/dist/{revenue-QJIUOCIR.js → revenue-MWDAUG2M.js} +4 -4
- package/dist/{rules-MTOM5TXU.js → rules-LIHB6YIY.js} +5 -5
- package/dist/{rules-add-P7QMIJ47.js → rules-add-6NIC4BSS.js} +5 -5
- package/dist/{run-UXLXTYI4.js → run-K3ZTVHXF.js} +3 -3
- package/dist/{run-5PRW3VXO.js → run-TSLHGOVM.js} +16 -16
- package/dist/{scaffold-ad-WGNIHTWJ.js → scaffold-ad-G4GPAJNA.js} +10 -10
- package/dist/{scaffold-static-ad-DULWCCZW.js → scaffold-static-ad-5G4T4QOV.js} +32 -32
- package/dist/{scaffold-video-UUHRYZFC.js → scaffold-video-BCQTXK3B.js} +9 -9
- package/dist/{schedule-HVLI4YDP.js → schedule-6AEZXHSM.js} +2 -2
- package/dist/{scheduled-agents-DHKDQSOS.js → scheduled-agents-4ALAF7S2.js} +11 -11
- package/dist/{schema-CCM76NWZ.js → schema-G2RFAHMC.js} +4 -4
- package/dist/{search-563LZ4JQ.js → search-QXTEVPDB.js} +2 -2
- package/dist/{select-EBBZB4I7.js → select-BDE4444H.js} +11 -11
- package/dist/{set-prompt-DIWUIE6L.js → set-prompt-BJGXSGF7.js} +8 -8
- package/dist/{setup-links-BTG7AOMH.js → setup-links-PI6HRHB3.js} +3 -3
- package/dist/{shopify-XOZ6H5WN.js → shopify-RTWQDLMB.js} +3 -3
- package/dist/{site-BUJSVT4Y.js → site-F5YCQRXX.js} +4 -4
- package/dist/{sources-6IU6U3CQ.js → sources-AIY3SEIE.js} +6 -6
- package/dist/{sources-QSKRDIT5.js → sources-JBOEVF5L.js} +6 -6
- package/dist/{stale-MZCPHFMS.js → stale-R63TSO5I.js} +10 -10
- package/dist/{status-OHMKGRZ6.js → status-NXZSC3WG.js} +3 -3
- package/dist/{stock-WBNGQUZT.js → stock-WUOFRG3K.js} +6 -6
- package/dist/{studio-ZRAZ2C25.js → studio-D2OMFCZZ.js} +1 -1
- package/dist/{sync-EVJR4GY6.js → sync-4T577GH4.js} +2 -2
- package/dist/{sync-definition-PESPTSAQ.js → sync-definition-IRW4MSRQ.js} +9 -9
- package/dist/{tags-OZUQMA2G.js → tags-24RR4Q2Y.js} +3 -3
- package/dist/{tags-PF4TBBEX.js → tags-DVWORXQR.js} +4 -4
- package/dist/{tags-T4QZEQIR.js → tags-R66INE52.js} +3 -3
- package/dist/{tags-YTZ6ZPQQ.js → tags-VAPD3LWN.js} +2 -2
- package/dist/{tags-HN67SXIG.js → tags-VS37KZCM.js} +3 -3
- package/dist/{targeting-criteria-JTY4OUQV.js → targeting-criteria-CR5VHR35.js} +3 -3
- package/dist/{targets-RG3NONXL.js → targets-MF2K7JRS.js} +3 -3
- package/dist/{testimonials-UOVGKW23.js → testimonials-J6FUERA2.js} +6 -6
- package/dist/{top-companies-VNFPTJBI.js → top-companies-ZEFG2CVI.js} +3 -3
- package/dist/{transcript-F5XLS33R.js → transcript-O2UOSI54.js} +3 -3
- package/dist/{translate-IXHJUXWD.js → translate-DZAZAUI2.js} +13 -13
- package/dist/{triggers-3GJOP4QN.js → triggers-NQMVL755.js} +3 -3
- package/dist/{unlink-636FAP6D.js → unlink-2RGEODVO.js} +3 -3
- package/dist/{unstage-445BCA7J.js → unstage-KLYI3EMB.js} +3 -3
- package/dist/{update-V5WN6HAR.js → update-CVUA6TTH.js} +2 -2
- package/dist/{update-J357GPUA.js → update-HDI54TX2.js} +3 -3
- package/dist/{update-U4UVU7LC.js → update-YUMXVVIV.js} +3 -3
- package/dist/{update-64M3KSXE.js → update-ZUB7IM4K.js} +3 -3
- package/dist/{upload-PCXMVTGL.js → upload-RARJSXYY.js} +3 -3
- package/dist/{url-params-NEVV6NED.js → url-params-YRMDSBOO.js} +3 -3
- package/dist/{validate-73GLPP7O.js → validate-NG3O63DD.js} +11 -11
- package/dist/{videos-HROOMEHA.js → videos-IWTKAIJL.js} +6 -6
- package/dist/videos-NITQKILV.js +146 -0
- package/dist/videos-NITQKILV.js.map +1 -0
- package/dist/{viewer-check-7YL3WXQK.js → viewer-check-JNFFC5IK.js} +6 -6
- package/dist/{web-JUSF75RR.js → web-VR6XXNL6.js} +3 -3
- package/dist/{winning-ads-ZEVLZPOA.js → winning-ads-M6UG74BB.js} +3 -3
- package/dist/{write-commands-2TODH3QX.js → write-commands-6OHNL3UR.js} +4 -4
- package/dist/{x-5OJJOFRB.js → x-TSLM5O2T.js} +6 -6
- package/package.json +1 -1
- package/dist/chunk-7BV5QN2P.js.map +0 -1
- package/dist/chunk-GFMSRP5Q.js.map +0 -1
- package/dist/chunk-ORFYWLJP.js.map +0 -1
- package/dist/flows-3OVUMHEN.js.map +0 -1
- package/dist/map-6FIEOF2C.js.map +0 -1
- /package/dist/{account-R3GWLAQD.js.map → account-EFZSU23W.js.map} +0 -0
- /package/dist/{account-users-AQSRZXEM.js.map → account-users-ZS7S3XST.js.map} +0 -0
- /package/dist/{accounts-RIYQZZQD.js.map → accounts-HHNJP2HK.js.map} +0 -0
- /package/dist/{accounts-FS6YGLOR.js.map → accounts-R7FX5RTQ.js.map} +0 -0
- /package/dist/{actions-RUCWCCWN.js.map → actions-AS77IUIW.js.map} +0 -0
- /package/dist/{activecampaign-HP4WKQOG.js.map → activecampaign-LVVAEAZ7.js.map} +0 -0
- /package/dist/{add-LYIMFKFR.js.map → add-NNTB7UC7.js.map} +0 -0
- /package/dist/{add-BBKIUDIO.js.map → add-YT75GMYQ.js.map} +0 -0
- /package/dist/{ads-HDU7GLOZ.js.map → ads-RTUNE3XQ.js.map} +0 -0
- /package/dist/{advertisers-KKZRGHZL.js.map → advertisers-UKHV7DMF.js.map} +0 -0
- /package/dist/{analytics-WEHKIKPT.js.map → analytics-3HPYB3LJ.js.map} +0 -0
- /package/dist/{analytics-MVVSPVAB.js.map → analytics-ZNHNNEZO.js.map} +0 -0
- /package/dist/{assign-3HOA5LOV.js.map → assign-3LP47K4A.js.map} +0 -0
- /package/dist/{audience-size-ZPRWRWTV.js.map → audience-size-GZQBVP4G.js.map} +0 -0
- /package/dist/{audit-XIEU7MDY.js.map → audit-JOS4VENF.js.map} +0 -0
- /package/dist/{autocomplete-6FHHTJLF.js.map → autocomplete-QTV3USWN.js.map} +0 -0
- /package/dist/{avatars-CFPVQQHB.js.map → avatars-QH6FKWOF.js.map} +0 -0
- /package/dist/{bid-pricing-Y2DRXIBQ.js.map → bid-pricing-KK25LRZG.js.map} +0 -0
- /package/dist/{brand-KC5LQUK6.js.map → brand-XQ6EXK6B.js.map} +0 -0
- /package/dist/{brief-2ZCKOD2B.js.map → brief-OAXDT6M2.js.map} +0 -0
- /package/dist/{campaign-groups-Z3G6REGC.js.map → campaign-groups-SKTIXZFH.js.map} +0 -0
- /package/dist/{campaign-writes-B4WOMLIE.js.map → campaign-writes-QI3MPKZE.js.map} +0 -0
- /package/dist/{campaigns-LLJTH6WP.js.map → campaigns-J6TJ5I6U.js.map} +0 -0
- /package/dist/{campaigns-KMHUJNZX.js.map → campaigns-KJ6TFKHO.js.map} +0 -0
- /package/dist/{canvas-HEZLAGL7.js.map → canvas-NY43T57N.js.map} +0 -0
- /package/dist/{capabilities-GK7SIQF4.js.map → capabilities-H4CMKTJ5.js.map} +0 -0
- /package/dist/{chatgpt-HLIQ7OJZ.js.map → chatgpt-ZI4GWP6S.js.map} +0 -0
- /package/dist/{chats-RGYP5GIA.js.map → chats-XQLS3UJZ.js.map} +0 -0
- /package/dist/{check-3HWKXL4O.js.map → check-24FR7WPA.js.map} +0 -0
- /package/dist/{chunk-SKW7CDXE.js.map → chunk-2A24YMHV.js.map} +0 -0
- /package/dist/{chunk-RNS5MVHS.js.map → chunk-2KT7DG5E.js.map} +0 -0
- /package/dist/{chunk-ULKMNQ4I.js.map → chunk-4E6EZ4RL.js.map} +0 -0
- /package/dist/{chunk-S456S5VM.js.map → chunk-4NCQIO37.js.map} +0 -0
- /package/dist/{chunk-I4VURNFW.js.map → chunk-5O57QLEV.js.map} +0 -0
- /package/dist/{chunk-N3P5BGPD.js.map → chunk-5VBGY6CB.js.map} +0 -0
- /package/dist/{chunk-T6RZ7ZOM.js.map → chunk-6AK74BNG.js.map} +0 -0
- /package/dist/{chunk-2NWVSWGS.js.map → chunk-7QWLIZFI.js.map} +0 -0
- /package/dist/{chunk-7YOCZ27T.js.map → chunk-BW3E6EDJ.js.map} +0 -0
- /package/dist/{chunk-D67TRX67.js.map → chunk-CE25X6HT.js.map} +0 -0
- /package/dist/{chunk-Q4VZZYMR.js.map → chunk-CVVWIXOP.js.map} +0 -0
- /package/dist/{chunk-RM6ZIQHH.js.map → chunk-CXRFK47Z.js.map} +0 -0
- /package/dist/{chunk-ERQZNOKZ.js.map → chunk-FZ4OKE7N.js.map} +0 -0
- /package/dist/{chunk-RQSZDYEH.js.map → chunk-IWNINMRI.js.map} +0 -0
- /package/dist/{chunk-F62BW6DJ.js.map → chunk-IWNLW7ZC.js.map} +0 -0
- /package/dist/{chunk-KGAYDZM2.js.map → chunk-J47JWEHU.js.map} +0 -0
- /package/dist/{chunk-Y4B7RLIE.js.map → chunk-JAZZ3HFR.js.map} +0 -0
- /package/dist/{chunk-QML3FCJC.js.map → chunk-JPICIFPM.js.map} +0 -0
- /package/dist/{chunk-PNA7GXBR.js.map → chunk-KBFYB6YK.js.map} +0 -0
- /package/dist/{chunk-KPXURSDF.js.map → chunk-NQVUPVI5.js.map} +0 -0
- /package/dist/{chunk-SGEI7HNU.js.map → chunk-OBVSGXTA.js.map} +0 -0
- /package/dist/{chunk-UIEVJ2HR.js.map → chunk-OJGNQYYS.js.map} +0 -0
- /package/dist/{chunk-TSFHW2W4.js.map → chunk-OZTNA2O7.js.map} +0 -0
- /package/dist/{chunk-MXGXVYF3.js.map → chunk-PX2VBLV7.js.map} +0 -0
- /package/dist/{chunk-7KLTVL4J.js.map → chunk-RNVDTUWO.js.map} +0 -0
- /package/dist/{chunk-UHWGXVYT.js.map → chunk-SICI27M7.js.map} +0 -0
- /package/dist/{chunk-J35R2D6B.js.map → chunk-SSEJKI43.js.map} +0 -0
- /package/dist/{chunk-SIQMOZNP.js.map → chunk-T2MBCTLY.js.map} +0 -0
- /package/dist/{chunk-HDL6MTZG.js.map → chunk-TH4LKHWT.js.map} +0 -0
- /package/dist/{chunk-7JBDVH7L.js.map → chunk-TMFC2LYC.js.map} +0 -0
- /package/dist/{chunk-5W2FXAMY.js.map → chunk-UGIF23QY.js.map} +0 -0
- /package/dist/{chunk-2YGUNIQJ.js.map → chunk-UMTGHV5C.js.map} +0 -0
- /package/dist/{chunk-DJCG3C2K.js.map → chunk-UXY7V3PK.js.map} +0 -0
- /package/dist/{chunk-6RDVZRK2.js.map → chunk-VNRL3EF7.js.map} +0 -0
- /package/dist/{chunk-7DKJF3Y5.js.map → chunk-WGD6LMRW.js.map} +0 -0
- /package/dist/{chunk-QDCU26CB.js.map → chunk-XWN2BUAD.js.map} +0 -0
- /package/dist/{chunk-YXEUUGUJ.js.map → chunk-YFXF5XAT.js.map} +0 -0
- /package/dist/{chunk-TJHEMCST.js.map → chunk-ZF5G7QTP.js.map} +0 -0
- /package/dist/{chunk-FZJALNM6.js.map → chunk-ZIKSJBWD.js.map} +0 -0
- /package/dist/{chunk-5W3PAQTH.js.map → chunk-ZNZHEDVB.js.map} +0 -0
- /package/dist/{chunk-E5V5HPYO.js.map → chunk-ZV2GM3LW.js.map} +0 -0
- /package/dist/{claim-23PPIKS4.js.map → claim-44U3RIL6.js.map} +0 -0
- /package/dist/{companies-F5WNG6SA.js.map → companies-CBWSZMLE.js.map} +0 -0
- /package/dist/{company-LXEKV5YA.js.map → company-XZAQYAAE.js.map} +0 -0
- /package/dist/{complete-G3GRNRMY.js.map → complete-FQH646EJ.js.map} +0 -0
- /package/dist/{connect-NEUYLAWT.js.map → connect-JCN3JCGD.js.map} +0 -0
- /package/dist/{conversation-CRNAMONB.js.map → conversation-VW7VBIOQ.js.map} +0 -0
- /package/dist/{conversions-G5ISEE5Z.js.map → conversions-Q3TYENCG.js.map} +0 -0
- /package/dist/{conversions-A524MH5C.js.map → conversions-QZJRF4WN.js.map} +0 -0
- /package/dist/{create-P72PSLV7.js.map → create-5X2MFN6V.js.map} +0 -0
- /package/dist/{create-63IX52HC.js.map → create-CG34L6OG.js.map} +0 -0
- /package/dist/{create-MZHQ422P.js.map → create-FYJFH6A7.js.map} +0 -0
- /package/dist/{create-46WB2E3A.js.map → create-LQCOOKWJ.js.map} +0 -0
- /package/dist/{creatives-OUAFL46L.js.map → creatives-PU3V4EDT.js.map} +0 -0
- /package/dist/{creatives-FEVOUC2R.js.map → creatives-PWIEGVPE.js.map} +0 -0
- /package/dist/{credentials-PN4YOTED.js.map → credentials-RHSPLXSE.js.map} +0 -0
- /package/dist/{critique-IDUJYXRT.js.map → critique-B5FSBCL6.js.map} +0 -0
- /package/dist/{critique-6PZWQ6GE.js.map → critique-WEIGEHNU.js.map} +0 -0
- /package/dist/{crm-UA5QNDY4.js.map → crm-EBK4Z6EO.js.map} +0 -0
- /package/dist/{crm-DC7BXQBS.js.map → crm-QB4AUGEW.js.map} +0 -0
- /package/dist/{customers-F6FZ4BYS.js.map → customers-U3SNJUZB.js.map} +0 -0
- /package/dist/{delete-TAGNP5FJ.js.map → delete-B4WV52YL.js.map} +0 -0
- /package/dist/{delete-ZHGITRWJ.js.map → delete-CKCG56WV.js.map} +0 -0
- /package/dist/{delete-PUX6AGGG.js.map → delete-Q2WPGQQQ.js.map} +0 -0
- /package/dist/{demographics-265MC2Y5.js.map → demographics-HRH4TJ76.js.map} +0 -0
- /package/dist/{discard-RAYUL25N.js.map → discard-R2SJQDCW.js.map} +0 -0
- /package/dist/{domain-GSQX4Z2V.js.map → domain-LV6YI57G.js.map} +0 -0
- /package/dist/{download-CP3Y2K54.js.map → download-5NLYEXK3.js.map} +0 -0
- /package/dist/{draft-3HRGCNWA.js.map → draft-33DTE674.js.map} +0 -0
- /package/dist/{draft-LJJ7K45J.js.map → draft-KA5F4QIQ.js.map} +0 -0
- /package/dist/{draft-NNLOJEEV.js.map → draft-MRRCPIKF.js.map} +0 -0
- /package/dist/{experiment-EFLKDQ3C.js.map → experiment-AZUKJ7ZO.js.map} +0 -0
- /package/dist/{experiments-SSXYFZRC.js.map → experiments-AKQDYU5Z.js.map} +0 -0
- /package/dist/{extract-JNKU6ANI.js.map → extract-FZ7YZFYN.js.map} +0 -0
- /package/dist/{facets-67DUHP7G.js.map → facets-IRDQ2TNF.js.map} +0 -0
- /package/dist/{feedback-3W3F3YUN.js.map → feedback-CGOFO6UH.js.map} +0 -0
- /package/dist/{feedback-FGOUIPFM.js.map → feedback-V6TCMABL.js.map} +0 -0
- /package/dist/{feedback-record-I3XMUJOX.js.map → feedback-record-SKMSWYAI.js.map} +0 -0
- /package/dist/{fetch-I74KDC2I.js.map → fetch-2ZOPSTXX.js.map} +0 -0
- /package/dist/{find-57WYB4V3.js.map → find-UGFONLSD.js.map} +0 -0
- /package/dist/{fit-DEY4SJ3Z.js.map → fit-JQ7MR5FU.js.map} +0 -0
- /package/dist/{fonts-WPI3P562.js.map → fonts-VOHGLU5R.js.map} +0 -0
- /package/dist/{forecast-B4PXDUUF.js.map → forecast-PAGM5TBI.js.map} +0 -0
- /package/dist/{funnel-QGMJBM23.js.map → funnel-7FWBX2MH.js.map} +0 -0
- /package/dist/{ga4-FCMTGV4S.js.map → ga4-YVKA3V4V.js.map} +0 -0
- /package/dist/{get-4QQDVHFA.js.map → get-DISZAEWO.js.map} +0 -0
- /package/dist/{get-FS5JCUJ6.js.map → get-TPFELCGO.js.map} +0 -0
- /package/dist/{google-Y4IDMDA4.js.map → google-OYCSQ6Z3.js.map} +0 -0
- /package/dist/{google-ads-HLE2JZKC.js.map → google-ads-6KW323PN.js.map} +0 -0
- /package/dist/{gsc-A3KB36WH.js.map → gsc-OJDMSP6H.js.map} +0 -0
- /package/dist/{history-TTTAC775.js.map → history-BFWII3NI.js.map} +0 -0
- /package/dist/{history-NULATRWC.js.map → history-GXFXEPSQ.js.map} +0 -0
- /package/dist/{hubspot-J7ZLBL6R.js.map → hubspot-BU3UJNZY.js.map} +0 -0
- /package/dist/{icon-7WND6UPY.js.map → icon-THWS5VPO.js.map} +0 -0
- /package/dist/{ideas-PDIJ3I2H.js.map → ideas-WSUZEFLG.js.map} +0 -0
- /package/dist/{images-SCTL5MTZ.js.map → images-CFZL3N4Z.js.map} +0 -0
- /package/dist/{ingest-4FLTGD2G.js.map → ingest-ML2BFCNR.js.map} +0 -0
- /package/dist/{ingest-M47H5CT7.js.map → ingest-NGNELRYE.js.map} +0 -0
- /package/dist/{inspect-HDC263MS.js.map → inspect-VF3DJBRX.js.map} +0 -0
- /package/dist/{inspiration-TQHQNILK.js.map → inspiration-FPB3IB7X.js.map} +0 -0
- /package/dist/{keyword-metrics-QZKWO3BX.js.map → keyword-metrics-VDLZYA76.js.map} +0 -0
- /package/dist/{keywords-for-site-EEIRZ77L.js.map → keywords-for-site-6IAS7QK3.js.map} +0 -0
- /package/dist/{landing-IAPJPFFW.js.map → landing-HBBNHU4W.js.map} +0 -0
- /package/dist/{leads-DGOFIQMH.js.map → leads-6RFLDXIP.js.map} +0 -0
- /package/dist/{learn-56DN2S6B.js.map → learn-QL2ZO7OP.js.map} +0 -0
- /package/dist/{line-item-writes-BHYFH4AZ.js.map → line-item-writes-FZVYSBWK.js.map} +0 -0
- /package/dist/{line-items-PUWPYZOV.js.map → line-items-44QSYZTE.js.map} +0 -0
- /package/dist/{link-AED2A2ML.js.map → link-N7VUZE5R.js.map} +0 -0
- /package/dist/{linkedin-VC2YF6OF.js.map → linkedin-BP6LWQIS.js.map} +0 -0
- /package/dist/{linkedin-person-EPSR7OIR.js.map → linkedin-person-KPFROM7O.js.map} +0 -0
- /package/dist/{list-2YE5JWYG.js.map → list-IZ2MUUQ5.js.map} +0 -0
- /package/dist/{list-LLLEF6YM.js.map → list-OW5UIFI3.js.map} +0 -0
- /package/dist/{list-O5RQLGQO.js.map → list-VSDOV3QX.js.map} +0 -0
- /package/dist/{log-FRQ2XD7O.js.map → log-U5P25U6W.js.map} +0 -0
- /package/dist/{logo-ODONF6N7.js.map → logo-ZSSR66WS.js.map} +0 -0
- /package/dist/{make-4QQXDW3F.js.map → make-55LQECUE.js.map} +0 -0
- /package/dist/{mcp-AGZL4CA3.js.map → mcp-4VUUHCWJ.js.map} +0 -0
- /package/dist/{media-sources-AI6JDWZD.js.map → media-sources-B36AGK4K.js.map} +0 -0
- /package/dist/{members-CH5TDNEZ.js.map → members-O5MYSZ6W.js.map} +0 -0
- /package/dist/{normalize-AEJP2AEI.js.map → normalize-6YBZQ6MJ.js.map} +0 -0
- /package/dist/{options-VENBF5ES.js.map → options-WCJ4SZ4Q.js.map} +0 -0
- /package/dist/{organization-USVPE43J.js.map → organization-RKV7KDMQ.js.map} +0 -0
- /package/dist/{performance-2V2O5QIB.js.map → performance-ASGNJQTT.js.map} +0 -0
- /package/dist/{performance-GEALWLJF.js.map → performance-JZ2IUWJX.js.map} +0 -0
- /package/dist/{posts-TRQCRLYZ.js.map → posts-F327IP23.js.map} +0 -0
- /package/dist/{preview-Q3N6NMQ5.js.map → preview-SMFKMMZU.js.map} +0 -0
- /package/dist/{promoted-tweet-writes-DB6U5OIJ.js.map → promoted-tweet-writes-5VBLE23Q.js.map} +0 -0
- /package/dist/{promoted-tweets-ATKIVR2F.js.map → promoted-tweets-N7XPG3XB.js.map} +0 -0
- /package/dist/{publish-R7RFAVGE.js.map → publish-ZCVVBT2E.js.map} +0 -0
- /package/dist/{reddit-2FEGFGU7.js.map → reddit-ZWA4GSD3.js.map} +0 -0
- /package/dist/{refresh-BDEAUQEB.js.map → refresh-GZSPTRQO.js.map} +0 -0
- /package/dist/{release-CA7H6KLD.js.map → release-YQSDFSAD.js.map} +0 -0
- /package/dist/{remove-GVLJDVSB.js.map → remove-IC6XZSLZ.js.map} +0 -0
- /package/dist/{reopen-5UVQ5EXY.js.map → reopen-4D4S5TFN.js.map} +0 -0
- /package/dist/{rerun-QGCY5TRB.js.map → rerun-QCV3QX2U.js.map} +0 -0
- /package/dist/{research-63R4XYM6.js.map → research-SPWJYSF3.js.map} +0 -0
- /package/dist/{research-5AO6DRY5.js.map → research-XRKLDLK3.js.map} +0 -0
- /package/dist/{reset-RKW5GJAX.js.map → reset-MTSRIAXC.js.map} +0 -0
- /package/dist/{reset-75QSSW7G.js.map → reset-RPHQ6R4T.js.map} +0 -0
- /package/dist/{resolve-GZPY2HSF.js.map → resolve-F4Q7TPBU.js.map} +0 -0
- /package/dist/{retry-QXKDF4VY.js.map → retry-EY4VUCWE.js.map} +0 -0
- /package/dist/{retry-ZZM63KIG.js.map → retry-ZJYQRVXA.js.map} +0 -0
- /package/dist/{revenue-QJIUOCIR.js.map → revenue-MWDAUG2M.js.map} +0 -0
- /package/dist/{rules-MTOM5TXU.js.map → rules-LIHB6YIY.js.map} +0 -0
- /package/dist/{rules-add-P7QMIJ47.js.map → rules-add-6NIC4BSS.js.map} +0 -0
- /package/dist/{run-UXLXTYI4.js.map → run-K3ZTVHXF.js.map} +0 -0
- /package/dist/{run-5PRW3VXO.js.map → run-TSLHGOVM.js.map} +0 -0
- /package/dist/{scaffold-ad-WGNIHTWJ.js.map → scaffold-ad-G4GPAJNA.js.map} +0 -0
- /package/dist/{scaffold-static-ad-DULWCCZW.js.map → scaffold-static-ad-5G4T4QOV.js.map} +0 -0
- /package/dist/{scaffold-video-UUHRYZFC.js.map → scaffold-video-BCQTXK3B.js.map} +0 -0
- /package/dist/{schedule-HVLI4YDP.js.map → schedule-6AEZXHSM.js.map} +0 -0
- /package/dist/{scheduled-agents-DHKDQSOS.js.map → scheduled-agents-4ALAF7S2.js.map} +0 -0
- /package/dist/{schema-CCM76NWZ.js.map → schema-G2RFAHMC.js.map} +0 -0
- /package/dist/{search-563LZ4JQ.js.map → search-QXTEVPDB.js.map} +0 -0
- /package/dist/{select-EBBZB4I7.js.map → select-BDE4444H.js.map} +0 -0
- /package/dist/{set-prompt-DIWUIE6L.js.map → set-prompt-BJGXSGF7.js.map} +0 -0
- /package/dist/{setup-links-BTG7AOMH.js.map → setup-links-PI6HRHB3.js.map} +0 -0
- /package/dist/{shopify-XOZ6H5WN.js.map → shopify-RTWQDLMB.js.map} +0 -0
- /package/dist/{site-BUJSVT4Y.js.map → site-F5YCQRXX.js.map} +0 -0
- /package/dist/{sources-6IU6U3CQ.js.map → sources-AIY3SEIE.js.map} +0 -0
- /package/dist/{sources-QSKRDIT5.js.map → sources-JBOEVF5L.js.map} +0 -0
- /package/dist/{stale-MZCPHFMS.js.map → stale-R63TSO5I.js.map} +0 -0
- /package/dist/{status-OHMKGRZ6.js.map → status-NXZSC3WG.js.map} +0 -0
- /package/dist/{stock-WBNGQUZT.js.map → stock-WUOFRG3K.js.map} +0 -0
- /package/dist/{studio-ZRAZ2C25.js.map → studio-D2OMFCZZ.js.map} +0 -0
- /package/dist/{sync-EVJR4GY6.js.map → sync-4T577GH4.js.map} +0 -0
- /package/dist/{sync-definition-PESPTSAQ.js.map → sync-definition-IRW4MSRQ.js.map} +0 -0
- /package/dist/{tags-OZUQMA2G.js.map → tags-24RR4Q2Y.js.map} +0 -0
- /package/dist/{tags-PF4TBBEX.js.map → tags-DVWORXQR.js.map} +0 -0
- /package/dist/{tags-T4QZEQIR.js.map → tags-R66INE52.js.map} +0 -0
- /package/dist/{tags-YTZ6ZPQQ.js.map → tags-VAPD3LWN.js.map} +0 -0
- /package/dist/{tags-HN67SXIG.js.map → tags-VS37KZCM.js.map} +0 -0
- /package/dist/{targeting-criteria-JTY4OUQV.js.map → targeting-criteria-CR5VHR35.js.map} +0 -0
- /package/dist/{targets-RG3NONXL.js.map → targets-MF2K7JRS.js.map} +0 -0
- /package/dist/{testimonials-UOVGKW23.js.map → testimonials-J6FUERA2.js.map} +0 -0
- /package/dist/{top-companies-VNFPTJBI.js.map → top-companies-ZEFG2CVI.js.map} +0 -0
- /package/dist/{transcript-F5XLS33R.js.map → transcript-O2UOSI54.js.map} +0 -0
- /package/dist/{translate-IXHJUXWD.js.map → translate-DZAZAUI2.js.map} +0 -0
- /package/dist/{triggers-3GJOP4QN.js.map → triggers-NQMVL755.js.map} +0 -0
- /package/dist/{unlink-636FAP6D.js.map → unlink-2RGEODVO.js.map} +0 -0
- /package/dist/{unstage-445BCA7J.js.map → unstage-KLYI3EMB.js.map} +0 -0
- /package/dist/{update-V5WN6HAR.js.map → update-CVUA6TTH.js.map} +0 -0
- /package/dist/{update-J357GPUA.js.map → update-HDI54TX2.js.map} +0 -0
- /package/dist/{update-U4UVU7LC.js.map → update-YUMXVVIV.js.map} +0 -0
- /package/dist/{update-64M3KSXE.js.map → update-ZUB7IM4K.js.map} +0 -0
- /package/dist/{upload-PCXMVTGL.js.map → upload-RARJSXYY.js.map} +0 -0
- /package/dist/{url-params-NEVV6NED.js.map → url-params-YRMDSBOO.js.map} +0 -0
- /package/dist/{validate-73GLPP7O.js.map → validate-NG3O63DD.js.map} +0 -0
- /package/dist/{videos-HROOMEHA.js.map → videos-IWTKAIJL.js.map} +0 -0
- /package/dist/{viewer-check-7YL3WXQK.js.map → viewer-check-JNFFC5IK.js.map} +0 -0
- /package/dist/{web-JUSF75RR.js.map → web-VR6XXNL6.js.map} +0 -0
- /package/dist/{winning-ads-ZEVLZPOA.js.map → winning-ads-M6UG74BB.js.map} +0 -0
- /package/dist/{write-commands-2TODH3QX.js.map → write-commands-6OHNL3UR.js.map} +0 -0
- /package/dist/{x-5OJJOFRB.js.map → x-TSLM5O2T.js.map} +0 -0
|
@@ -5,11 +5,12 @@ import {
|
|
|
5
5
|
activeCampaignMappingHints,
|
|
6
6
|
activeCampaignUnlistedField,
|
|
7
7
|
buildFieldMapping,
|
|
8
|
+
currentMapping,
|
|
8
9
|
describeSlots,
|
|
9
10
|
namesComeFromAccount,
|
|
10
11
|
otherSlots,
|
|
11
12
|
shapeFor
|
|
12
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-LCDWDG4U.js";
|
|
13
14
|
import {
|
|
14
15
|
collectConfigStatus,
|
|
15
16
|
collectSideEffects,
|
|
@@ -18,11 +19,11 @@ import {
|
|
|
18
19
|
requestFlowInputCall,
|
|
19
20
|
sideEffectNeedsInput,
|
|
20
21
|
writeFlowTree
|
|
21
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-4JONZ6LA.js";
|
|
22
23
|
import {
|
|
23
24
|
repeatedFlagValues
|
|
24
25
|
} from "./chunk-ERSX3MKH.js";
|
|
25
|
-
import "./chunk-
|
|
26
|
+
import "./chunk-2J5OCFOW.js";
|
|
26
27
|
import "./chunk-QV6AST5T.js";
|
|
27
28
|
import "./chunk-WCU362Z6.js";
|
|
28
29
|
import "./chunk-GIWHHCD6.js";
|
|
@@ -51,7 +52,7 @@ registerSchema({
|
|
|
51
52
|
slug: { type: "positional", description: "Form slug (folder under flows/)", required: true },
|
|
52
53
|
map: {
|
|
53
54
|
type: "string",
|
|
54
|
-
description: '<destField>[:<fieldType>]=<value>, repeatable. Omit both this and --from to
|
|
55
|
+
description: '<destField>[:<fieldType>]=<value>, repeatable. Omit both this and --from to read what the side effect maps now (`current`) and what it accepts. Sheet: A=name. HubSpot with --hubspot-form: firstname=nombre (the type is read off the form). ActiveCampaign: email=email, SECTOR=sector (custom field by id, personalization tag or label; custom.UTM_SOURCE for one only staged so far), tags="withbaker-"+tracking:page_path, lists="Newsletter", automations="Welcome", deal.title=\u2026/deal.pipeline="Sales"/deal.value=budget, account.name=company, note=\u2026, event.name="demo_requested" \u2014 every type is read off the connected account. Where a destination cannot be read, state the type on the LEFT \u2014 c0ffee:varchar=email \u2014 because `:` on the right belongs to the value grammar.',
|
|
55
56
|
required: false
|
|
56
57
|
},
|
|
57
58
|
from: {
|
|
@@ -185,6 +186,12 @@ async function activeCampaignFieldCatalog(sideEffect) {
|
|
|
185
186
|
const { account: _account, ...catalog } = response.data;
|
|
186
187
|
return { fields: new Map(activeCampaignDestinationFields(catalog.fields)), catalog };
|
|
187
188
|
}
|
|
189
|
+
function probeHeadline(type, current) {
|
|
190
|
+
if (current.length === 0) {
|
|
191
|
+
return `Nothing mapped yet on this ${type} side effect \u2014 below is what it accepts. Add --map <key>=<value> to build one.`;
|
|
192
|
+
}
|
|
193
|
+
return `No --map given, so nothing changed. Mapped now: ${current.join("; ")}. Below is what a ${type} side effect accepts; --map <key>=<value> adds or overwrites one.`;
|
|
194
|
+
}
|
|
188
195
|
function describeDestination(chosen) {
|
|
189
196
|
const type = String(chosen.sideEffect.type ?? "");
|
|
190
197
|
const slots = describeSlots(type);
|
|
@@ -194,11 +201,12 @@ function describeDestination(chosen) {
|
|
|
194
201
|
`Nothing on it addresses named values. \`baker flows schema side-effect ${type}\` shows what it does take.`
|
|
195
202
|
);
|
|
196
203
|
}
|
|
204
|
+
const current = currentMapping(chosen.sideEffect);
|
|
197
205
|
writeJson({
|
|
198
206
|
ok: true,
|
|
199
|
-
data: { sideEffectId: chosen.sideEffect.id, type, mappable: slots },
|
|
207
|
+
data: { sideEffectId: chosen.sideEffect.id, type, current, mappable: slots },
|
|
200
208
|
hints: [
|
|
201
|
-
|
|
209
|
+
probeHeadline(type, current),
|
|
202
210
|
...slots.map(
|
|
203
211
|
(slot) => slot.keys ? `${slot.slot}: ${slot.keys.join(", ")}` : `${slot.slot}: ${slot.keysFrom === "account" ? "keys come from the connected account (request_flow_input returns them)" : "keys are yours to choose \u2014 whatever the receiving system expects"}`
|
|
204
212
|
),
|
|
@@ -431,6 +439,7 @@ export {
|
|
|
431
439
|
mapCommand,
|
|
432
440
|
mapHeadline,
|
|
433
441
|
mapSpecsFrom,
|
|
442
|
+
probeHeadline,
|
|
434
443
|
specsFromFile
|
|
435
444
|
};
|
|
436
|
-
//# sourceMappingURL=map-
|
|
445
|
+
//# sourceMappingURL=map-QSBCVWNW.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/flows/map.ts"],"sourcesContent":["import { readFileSync } from \"node:fs\";\nimport type { HubspotFormsViewResponse } from \"@baker/api\";\nimport {\n type ActiveCampaignCatalog,\n type ActiveCampaignFieldsRequest,\n type ActiveCampaignFieldsResponse,\n activeCampaignFieldsResponseSchema,\n} from \"@baker/api/activecampaign\";\nimport { defineCommand } from \"citty\";\nimport { apiPost } from \"../../client.ts\";\nimport { repeatedFlagValues } from \"../../lib/repeatedFlags.ts\";\nimport { writeJson } from \"../../output.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport {\n activeCampaignDestinationFields,\n activeCampaignMappingHints,\n activeCampaignUnlistedField,\n type BuiltMapping,\n buildFieldMapping,\n currentMapping,\n type DestinationField,\n describeSlots,\n type MapOptions,\n MappingError,\n namesComeFromAccount,\n otherSlots,\n shapeFor,\n} from \"./mapping.ts\";\nimport {\n collectConfigStatus,\n collectSideEffects,\n flowDataPath,\n readFlowTree,\n requestFlowInputCall,\n sideEffectNeedsInput,\n writeFlowTree,\n} from \"./shared.ts\";\n\nregisterSchema({\n command: \"flows.map\",\n description:\n \"Map form fields onto any named value a side effect sends: a CRM fieldMapping, a sheet columnMapping, a webhook payloadKeys, a pixel eventParams, or a platform matching block. Emits the mapping and splices it in with --write. Configure the destination through request_flow_input FIRST — the destination-side names come from the connected account, not from you.\",\n args: {\n slug: { type: \"positional\", description: \"Form slug (folder under flows/)\", required: true },\n map: {\n type: \"string\",\n description:\n '<destField>[:<fieldType>]=<value>, repeatable. Omit both this and --from to read what the side effect maps now (`current`) and what it accepts. Sheet: A=name. HubSpot with --hubspot-form: firstname=nombre (the type is read off the form). ActiveCampaign: email=email, SECTOR=sector (custom field by id, personalization tag or label; custom.UTM_SOURCE for one only staged so far), tags=\"withbaker-\"+tracking:page_path, lists=\"Newsletter\", automations=\"Welcome\", deal.title=…/deal.pipeline=\"Sales\"/deal.value=budget, account.name=company, note=…, event.name=\"demo_requested\" — every type is read off the connected account. Where a destination cannot be read, state the type on the LEFT — c0ffee:varchar=email — because `:` on the right belongs to the value grammar.',\n required: false,\n },\n from: {\n type: \"string\",\n description:\n 'The whole mapping as a JSON file, or `-` for stdin: { \"sideEffect\": \"…\", \"map\": { \"<destField>\": \"<value>\", … } }. Past ~3 fields prefer this over repeated --map.',\n required: false,\n },\n \"side-effect\": { type: \"string\", description: \"Side-effect id, when the form has more than one\", required: false },\n \"hubspot-form\": {\n type: \"string\",\n description:\n \"HubSpot formGuid of the configured destination. Fills every mapping's fieldType and objectTypeId from the form itself, so you write no types at all. The guid is the `formGuid` in the `destination` request_flow_input returned.\",\n required: false,\n },\n into: {\n type: \"string\",\n description:\n \"Slot to map into when the type has more than one: meta/tiktok/pinterest take eventParams (default) or their matching record; googleAds takes enhancedConversions or value/currency/transactionId.\",\n required: false,\n },\n entity: {\n type: \"string\",\n description: \"Destination object (pipedrive: person|organization|lead, …)\",\n required: false,\n },\n custom: { type: \"boolean\", description: \"The destination fields are custom fields\", required: false },\n standard: { type: \"boolean\", description: \"The destination fields are standard fields\", required: false },\n \"object-type\": { type: \"string\", description: \"HubSpot objectTypeId (default 0-1, contact)\", required: false },\n \"prune-missing\": {\n type: \"boolean\",\n description:\n \"Drop the mappings whose destination field no longer exists on the account, and nothing else. The repair for a deleted HubSpot property: HubSpot refuses the WHOLE submission when it names a field it does not have, so one dead mapping loses every lead. Needs --hubspot-form so the live field list can be read. Runs on its own — no --map required. Prefer this to --replace, which drops everything this call does not name.\",\n required: false,\n },\n replace: {\n type: \"boolean\",\n description:\n \"Make the slot exactly what this call passes, dropping every mapping already in it. Without it, mappings MERGE by destination name — re-mapping a name overwrites it, a new name is appended, and the rest are left alone. To REMOVE a dead mapping, reach for --prune-missing instead: this one also deletes every mapping you did not re-state.\",\n required: false,\n },\n write: {\n type: \"boolean\",\n description: \"Splice the mapping into the form. Without it, prints and changes nothing\",\n required: false,\n },\n },\n});\n\n/**\n * Every `--map` on the command line.\n *\n * Read from `rawArgs`, not `args.map`: citty collapses a repeated flag to its\n * LAST value, so `--map A=name --map B=email` arrives as the single string\n * `\"B=email\"`. Taken from `args`, this command would map one field, report\n * success, and leave the other silently unmapped — which is the exact\n * failure mode it exists to prevent, one level up.\n */\nexport function mapSpecsFrom(rawArgs: readonly string[]): string[] {\n return repeatedFlagValues(rawArgs, \"map\");\n}\n\n/**\n * A whole mapping in one file, which is what a real one looks like.\n *\n * A CRM mapping is eight to fifteen fields. As repeated `--map` flags that is a\n * fifteen-flag command line whose shell quoting is its own hazard — an\n * improvement on hand-writing 230 lines of ProseMirror, but not much of one.\n * The JSON form is what the agent is actually holding in its head, and it is one\n * Write plus one command however many fields there are.\n *\n * {\n * \"sideEffect\": \"se-hubspotForm-1\",\n * \"hubspotForm\": \"8b1f…\",\n * \"map\": {\n * \"email\": \"email\",\n * \"firstname\": \"nombre\",\n * \"hs_lead_source\": \"tracking:utm_source\",\n * \"full_name\": \"nombre + \\\" \\\" + apellido\"\n * }\n * }\n *\n * `\"firstname\": { \"type\": \"…\", \"value\": \"…\" }` is still accepted for a\n * destination this command cannot read, but naming the destination once\n * (`hubspotForm` here, `--hubspot-form` on the command line) is strictly better:\n * the types then come from the account instead of from memory.\n */\ntype MapSpecFile = {\n sideEffect?: string;\n into?: string;\n entity?: string;\n custom?: boolean;\n objectType?: string;\n /**\n * Treat this file as the WHOLE mapping: anything in the slot it does not name\n * is dropped. Off by default so a file that lists three fields cannot delete\n * the five that were mapped before it.\n */\n replace?: boolean;\n /** Drop the mappings the destination no longer has. See `MapOptions.pruneMissing`. */\n pruneMissing?: boolean;\n /** HubSpot formGuid of the configured destination, so its field types can be read. */\n hubspotForm?: string;\n map?: Record<string, string | { type?: string; value?: string }>;\n};\n\n/** Flatten the JSON form into the same `<dest>[:<type>]=<value>` specs the flags produce. */\nexport function specsFromFile(parsed: MapSpecFile): string[] {\n return Object.entries(parsed.map ?? {}).map(([destField, entry]) => {\n if (typeof entry === \"string\") return `${destField}=${entry}`;\n const type = entry?.type ? `:${entry.type}` : \"\";\n return `${destField}${type}=${entry?.value ?? \"\"}`;\n });\n}\n\nfunction readSpecFile(path: string): MapSpecFile {\n let raw: string;\n try {\n raw = path === \"-\" ? readFileSync(0, \"utf-8\") : readFileSync(path, \"utf-8\");\n } catch (error) {\n refuse(\n `Could not read ${path === \"-\" ? \"the mapping from stdin\" : `\"${path}\"`}: ${error instanceof Error ? error.message : String(error)}`,\n );\n }\n let parsed: unknown;\n try {\n parsed = JSON.parse(raw);\n } catch (error) {\n refuse(\n `${path === \"-\" ? \"stdin\" : `\"${path}\"`} is not valid JSON: ${error instanceof Error ? error.message : String(error)}`,\n 'Expected { \"map\": { \"<destField>\": \"<value>\", … } }',\n );\n }\n if (!parsed || typeof parsed !== \"object\" || Array.isArray(parsed)) {\n refuse(\"A mapping file must be a JSON object.\", 'Expected { \"map\": { \"<destField>\": \"<value>\", … } }');\n }\n const spec = parsed as MapSpecFile;\n if (!spec.map || typeof spec.map !== \"object\" || Object.keys(spec.map).length === 0) {\n refuse(\"A mapping file needs a non-empty `map` object.\", 'Expected { \"map\": { \"firstname\": \"nombre\", … } }');\n }\n return spec;\n}\n\n/** Refuse with the same envelope shape everywhere, so the agent parses one thing. */\nfunction refuse(message: string, fix?: string): never {\n writeJson({ ok: false, error: { code: \"VALIDATION_ERROR\", message, ...(fix ? { fix } : {}) } });\n process.exit(1);\n}\n\n/**\n * The destination's own field catalog, read off the connected account.\n *\n * This is the whole reason a HubSpot mapping no longer needs a type per field.\n * `fieldType` and `objectTypeId` are HubSpot's answers about its own properties,\n * not the agent's — the engine concatenates them into\n * `<objectTypeId>.<fieldType>.<fieldName>`, which is byte-for-byte the key the\n * dashboard's picker writes. Asking the agent to remember them is both more work\n * and less accurate than asking HubSpot, and a plausible-but-wrong one is the\n * silent kind: on a date property the engine skips the YYYY-MM-DD coercion and\n * HubSpot drops the value.\n *\n * One call for the whole mapping, and only when a destination was named. A\n * failure refuses rather than falling back to writing types nobody verified.\n */\nasync function hubspotFieldCatalog(\n formId: string,\n): Promise<{ fields: Map<string, DestinationField>; captchaEnabled: boolean }> {\n let response: HubspotFormsViewResponse;\n try {\n response = await apiPost<HubspotFormsViewResponse>(\"/api/hubspot/forms/view\", { formId });\n } catch (error) {\n refuse(\n `Could not read HubSpot form \"${formId}\": ${error instanceof Error ? error.message : String(error)}`,\n \"Check the guid against the `destination` request_flow_input returned, or `baker hubspot forms list`. Drop --hubspot-form and write `<field>:<fieldType>=<value>` per mapping only if HubSpot is unreachable.\",\n );\n }\n const fields = response.data.form?.fields ?? [];\n if (fields.length === 0) {\n refuse(\n `HubSpot form \"${formId}\" reports no fields, so nothing can be mapped against it.`,\n \"Confirm the guid names the form this side effect submits to: baker hubspot forms list\",\n );\n }\n return {\n fields: new Map(\n fields.map((field) => [\n field.name,\n { fieldType: field.fieldType, ...(field.objectTypeId ? { objectTypeId: field.objectTypeId } : {}) },\n ]),\n ),\n // Read while the form is already open, because this is the moment a\n // delivery is being wired: HubSpot refuses every submission sent to a form\n // with spam prevention on, so a mapping written against one is correct and\n // will still never arrive. Reported, not refused — the mapping is not the\n // mistake, and the client can switch it off without the work being redone.\n captchaEnabled: response.data.form?.captchaEnabled === true,\n };\n}\n\n/**\n * The connected ActiveCampaign account's fields, read for every\n * `activeCampaignContact` mapping — there is no resource to name, so there is\n * no flag to ask for: the side effect's own connection is the destination.\n *\n * Read rather than remembered for the same reason as HubSpot's: the field type\n * decides how the backend sends each value, and a custom field is stored by an\n * id only the account knows. A failure refuses rather than writing a guess.\n */\nasync function activeCampaignFieldCatalog(\n sideEffect: Record<string, unknown>,\n): Promise<{ fields: Map<string, DestinationField>; catalog: ActiveCampaignCatalog }> {\n const account = typeof sideEffect.oauthProviderId === \"string\" ? sideEffect.oauthProviderId : undefined;\n const body: ActiveCampaignFieldsRequest = account ? { account } : {};\n let response: ActiveCampaignFieldsResponse;\n try {\n response = activeCampaignFieldsResponseSchema.parse(\n await apiPost<ActiveCampaignFieldsResponse>(\"/api/activecampaign/fields\", body),\n );\n } catch (error) {\n refuse(\n `Could not read the ActiveCampaign account's fields: ${error instanceof Error ? error.message : String(error)}`,\n 'If ActiveCampaign is not connected (or its key stopped working), call request_connection with { platform: \"activecampaign\" } — the user pastes the API URL and key into that card, never into the chat — then run this again.',\n );\n }\n const { account: _account, ...catalog } = response.data;\n return { fields: new Map(activeCampaignDestinationFields(catalog.fields)), catalog };\n}\n\n/** The probe's first line: what this side effect sends today, then what it accepts. */\nexport function probeHeadline(type: string, current: readonly string[]): string {\n if (current.length === 0) {\n return `Nothing mapped yet on this ${type} side effect — below is what it accepts. Add --map <key>=<value> to build one.`;\n }\n return `No --map given, so nothing changed. Mapped now: ${current.join(\"; \")}. Below is what a ${type} side effect accepts; --map <key>=<value> adds or overwrites one.`;\n}\n\n/**\n * Answer the bare `baker flows map <slug> --side-effect <id>` probe.\n *\n * The left of a mapping is a different question per slot — a closed platform\n * set, a name the agent picks, or a name that only exists in the connected\n * account — and none of it was readable without guessing wrong first.\n */\nfunction describeDestination(chosen: Located): void {\n const type = String(chosen.sideEffect.type ?? \"\");\n const slots = describeSlots(type);\n if (slots.length === 0) {\n refuse(\n `A ${type} side effect has no mappable field.`,\n `Nothing on it addresses named values. \\`baker flows schema side-effect ${type}\\` shows what it does take.`,\n );\n }\n const current = currentMapping(chosen.sideEffect);\n writeJson({\n ok: true,\n data: { sideEffectId: chosen.sideEffect.id, type, current, mappable: slots },\n hints: [\n probeHeadline(type, current),\n ...slots.map((slot) =>\n slot.keys\n ? `${slot.slot}: ${slot.keys.join(\", \")}`\n : `${slot.slot}: ${slot.keysFrom === \"account\" ? \"keys come from the connected account (request_flow_input returns them)\" : \"keys are yours to choose — whatever the receiving system expects\"}`,\n ),\n // Named separately from the key hint above: the key and its field type are\n // two different questions with two different answers, and the type is the\n // one an agent does not know it is being asked until a mapping is refused.\n ...slots.flatMap((slot) => (slot.fieldTypes ? [`${slot.slot} field types — ${slot.fieldTypes}`] : [])),\n 'Values (right of the `=`) are the same for every slot: a form field, tracking:<var>, global:<name>, code:<name>, a \"literal\", or those joined with +. A field may also be written as the file stores it, {{<stepId>.customForm.<field>}}. A value cannot run code (no .split(), .slice(), [0]).',\n ],\n });\n}\n\n/**\n * `shapeFor` as a refusal rather than a throw.\n *\n * `assertDestinationReady` is the one place `shapeFor` is reached BEFORE the\n * try/catch around `buildFieldMapping`, so an uncaught error here would escape\n * the `{ ok: false }` envelope every other path emits and reach the agent as a\n * stack trace.\n *\n * In practice the live case is an unrecognised `--into`, because only a type in\n * `FLOW_DELIVERY_SIDE_EFFECT_TYPES` gets this far (everything else returns at the\n * `sideEffectNeedsInput` check above) and every one of those has a slot. So\n * `--into eventParams` on an unconfigured `googleSpreadsheet` is enough to hit\n * it, and the message it would lose — the list of slots that type does have —\n * is exactly the one that answers it.\n */\nfunction shapeOrRefuse(type: string, into: string | undefined): ReturnType<typeof shapeFor> {\n try {\n return shapeFor(type, into);\n } catch (error) {\n if (error instanceof MappingError) refuse(error.message, error.fix);\n throw error;\n }\n}\n\n/**\n * Stop a mapping written against a destination nobody has picked yet.\n *\n * This is the failure the whole command exists to prevent, one level up: the\n * column letters and field keys live in an account only `request_flow_input`\n * can see, so before that call has run they can only be guesses — and a guessed\n * destination is structurally valid, passes every check here, ships, and sends\n * nothing forever. `verify` does catch it later (`flow-schema-unconfigured-oauth`),\n * but by then the mapping is written and the agent has moved on.\n *\n * Only for slots whose names come from the account. A webhook body or a pixel\n * parameter is the agent's to name, so an unset endpoint is a note, not a block.\n */\nfunction assertDestinationReady(\n slug: string,\n tree: Record<string, unknown>,\n chosen: Located,\n into: string | undefined,\n): void {\n if (!sideEffectNeedsInput(chosen.sideEffect)) return;\n\n const type = String(chosen.sideEffect.type ?? \"\");\n const status = collectConfigStatusFor(tree, slug, String(chosen.sideEffect.id ?? \"\"));\n const call = status ? requestFlowInputCall(slug, status) : `request_flow_input for the ${type} side effect`;\n\n if (!namesComeFromAccount(shapeOrRefuse(type, into))) return;\n\n refuse(\n `The ${type} destination is not configured yet, so its field names cannot be anything but a guess.`,\n `Configure it first, then map against the names that call returns: ${call}`,\n );\n}\n\n/** The config row for one side effect, so the refusal can carry a ready-to-issue call. */\nfunction collectConfigStatusFor(tree: Record<string, unknown>, _slug: string, sideEffectId: string) {\n const rows: Parameters<typeof requestFlowInputCall>[1][] = [];\n collectConfigStatus(tree, rows);\n return rows.find((row) => row.sideEffectId === sideEffectId);\n}\n\n/**\n * Name the slots this side effect has and this call did not use.\n *\n * A `meta` side effect has both `eventParams` and `advancedMatching`, and the\n * one an agent most often needs — advanced matching, which decides whether Meta\n * can attribute the conversion at all — is not the default. Saying so on every\n * response is cheaper than the agent finding out from a reference file it may\n * not open.\n */\nfunction slotHintFor(type: string, into: string | undefined): string[] {\n const others = otherSlots(type, shapeFor(type, into));\n if (others.length === 0) return [];\n return [`This side effect also takes ${others.join(\" and \")} — pass --into <slot> to map into one of those instead.`];\n}\n\n/**\n * What happened to the mappings this call did NOT name.\n *\n * Said out loud in both directions, because a slot whose size moved without\n * being mentioned is exactly how the loss stays silent: \"kept\" answers the\n * question a merge raises (\"did it drop the others?\"), and `--replace` has to\n * state its drop or it is the same bug with a flag on it.\n */\nfunction survivorHint(built: BuiltMapping, replacing: boolean): string[] {\n if (built.kept > 0) {\n return [`${built.kept} mapping${built.kept === 1 ? \"\" : \"s\"} already in ${built.key} kept — this merged by name.`];\n }\n if (!replacing) return [];\n return [`--replace: ${built.key} is now exactly these ${built.count}; anything else it held is gone.`];\n}\n\n/**\n * Every mapping `--prune-missing` removed, named one by one.\n *\n * A count would be the same mistake this whole repair exists to undo: the drift\n * Task that nobody could act on said \"an answer HubSpot no longer accepts\" and\n * named none of them, and six Forms were closed as false positives off that\n * sentence. A removal the agent cannot repeat back to the user is a removal\n * nobody can check.\n */\nfunction droppedHint(built: BuiltMapping): string[] {\n if (built.dropped.length === 0) return [];\n return [\n `--prune-missing dropped ${built.dropped.length} mapping${built.dropped.length === 1 ? \"\" : \"s\"} the destination no longer has: ${built.dropped.join(\", \")}. Every other mapping in ${built.key} was left alone.`,\n ];\n}\n\n/**\n * A note, not a block: these keys are the agent's to choose, but the endpoint\n * they are posted to is still the user's to supply, and nothing later in this\n * command will mention it.\n */\nfunction pendingEndpointHint(slug: string, tree: Record<string, unknown>, chosen: Located): string[] {\n if (!sideEffectNeedsInput(chosen.sideEffect)) return [];\n const status = collectConfigStatusFor(tree, slug, String(chosen.sideEffect.id ?? \"\"));\n if (!status) return [];\n return [`The mapping is written, but this destination still needs the user: ${requestFlowInputCall(slug, status)}`];\n}\n\ntype Located = { node: Record<string, unknown>; sideEffect: Record<string, unknown> };\n\n/** The side effect to map into: the named one, or the only one. Never a guess between several. */\nfunction pickSideEffect(slug: string, found: Located[], named: string | undefined): Located {\n if (found.length === 0) {\n refuse(\n `\"${slug}\" has no side effects — author the side effect first, then map into it.`,\n `baker flows add-side-effect ${slug} --node <nodeId> --type <type>`,\n );\n }\n const chosen = named\n ? found.find((entry) => entry.sideEffect.id === named)\n : found.length === 1\n ? found[0]\n : undefined;\n if (chosen) return chosen;\n\n const inventory = found.map((entry) => `${entry.sideEffect.id} (${entry.sideEffect.type})`).join(\", \");\n refuse(\n named\n ? `No side effect with id \"${named}\" in \"${slug}\".`\n : `\"${slug}\" has ${found.length} side effects — name one with --side-effect <id>.`,\n `Side effects in this form: ${inventory}`,\n );\n}\n\n/**\n * `--custom` and `--standard` answer the same question, and the answer decides\n * whether the write lands or is silently dropped. Taking the last flag would\n * pick one of two contradictory instructions at random.\n */\nfunction customFlag(custom: unknown, standard: unknown): boolean | undefined {\n if (custom === true && standard === true) {\n refuse(\"--custom and --standard contradict each other. Pass one.\");\n }\n if (custom === true) return true;\n if (standard === true) return false;\n return undefined;\n}\n\n/**\n * The destination-side options, from the flags and the mapping file together.\n *\n * A flag beats the file, so a saved mapping can be retargeted without editing\n * it. The destination catalog is read HERE, before anything is built, so every\n * mapping's field type is derived from the account rather than remembered —\n * and only when a destination was actually named: without one the build still\n * runs, and refuses per mapping if it turns out a type was needed.\n */\nasync function mapOptions(\n args: Record<string, unknown>,\n fromFile: MapSpecFile | undefined,\n into: string | undefined,\n sideEffect: Record<string, unknown>,\n): Promise<{ options: MapOptions; hints: string[]; activeCampaign?: ActiveCampaignCatalog | undefined }> {\n const hubspotForm = args[\"hubspot-form\"] ? String(args[\"hubspot-form\"]) : fromFile?.hubspotForm;\n const hubspot = hubspotForm ? await hubspotFieldCatalog(hubspotForm) : undefined;\n const activeCampaign =\n !hubspot && sideEffect.type === \"activeCampaignContact\" ? await activeCampaignFieldCatalog(sideEffect) : undefined;\n return {\n options: {\n into,\n entity: args.entity ? String(args.entity) : fromFile?.entity,\n isCustomField: customFlag(args.custom, args.standard) ?? fromFile?.custom,\n objectType: args[\"object-type\"] ? String(args[\"object-type\"]) : fromFile?.objectType,\n replace: args.replace === true || fromFile?.replace === true,\n pruneMissing: args[\"prune-missing\"] === true || fromFile?.pruneMissing === true,\n destinationFields: hubspot?.fields ?? activeCampaign?.fields,\n unlistedField: activeCampaign ? activeCampaignUnlistedField : undefined,\n },\n hints: hubspot?.captchaEnabled\n ? [\n \"WARNING: this HubSpot form has spam prevention (captcha) on. HubSpot refuses every submission sent to a form with it on, so nothing mapped here will arrive — the mapping is fine, the destination is not. Only the user can switch it off, on the form in HubSpot. Tell them that, and do not swap the destination yourself.\",\n ]\n : [],\n activeCampaign: activeCampaign?.catalog,\n };\n}\n\nexport const mapCommand = defineCommand({\n meta: {\n name: \"map\",\n description:\n \"Map form fields onto any value a side effect sends — never hand-write a mapping. Start here: baker flows map contact --from map.json --write\",\n },\n args: {\n slug: { type: \"positional\", description: \"Form slug\", required: true },\n map: { type: \"string\", description: \"<destField>[:<fieldType>]=<value> (repeatable)\" },\n from: { type: \"string\", description: \"Read the whole mapping from a JSON file, or `-` for stdin\" },\n \"side-effect\": { type: \"string\", description: \"Side-effect id, when the form has more than one\" },\n \"hubspot-form\": {\n type: \"string\",\n description: \"HubSpot formGuid — reads every field's type off the form so you write none\",\n },\n into: {\n type: \"string\",\n description: \"Which slot to map into, for a type with more than one (e.g. meta: eventParams | advancedMatching)\",\n },\n entity: { type: \"string\", description: \"Destination object (person, contact, lead, …)\" },\n custom: { type: \"boolean\", description: \"Destination fields are custom fields\" },\n standard: { type: \"boolean\", description: \"Destination fields are standard fields\" },\n \"object-type\": { type: \"string\", description: \"HubSpot objectTypeId (default 0-1)\" },\n \"prune-missing\": {\n type: \"boolean\",\n description: \"Drop only the mappings the destination no longer has — the repair for a deleted HubSpot field\",\n },\n replace: {\n type: \"boolean\",\n description: \"Drop every mapping already in the slot. Default merges by destination name\",\n },\n write: { type: \"boolean\", description: \"Splice the mapping into the form\" },\n },\n run: async ({ args, rawArgs }) => {\n const slug = String(args.slug);\n const fromFile = args.from ? readSpecFile(String(args.from)) : undefined;\n const specs = fromFile ? specsFromFile(fromFile) : mapSpecsFrom(rawArgs);\n const into = args.into ? String(args.into) : fromFile?.into;\n const replacing = args.replace === true || fromFile?.replace === true;\n const pruning = args[\"prune-missing\"] === true || fromFile?.pruneMissing === true;\n\n const tree = readFlowTree(slug);\n // A flag beats the file, so a saved mapping can be retargeted without editing it.\n const chosen = pickSideEffect(\n slug,\n collectSideEffects(tree),\n args[\"side-effect\"] ? String(args[\"side-effect\"]) : fromFile?.sideEffect,\n );\n\n // No mappings given: answer \"what can I map here, and where do the key names\n // come from\" rather than printing usage. The command already holds the side\n // effect, so refusing threw the answer away and left the only discovery path\n // a wrong guess — name a key outside a closed set and read it off the refusal.\n // `--prune-missing` is a whole call on its own: the repair for a deleted\n // destination field is a removal, and requiring a `--map` alongside it would\n // mean inventing a mapping to make a deletion legal.\n if (specs.length === 0 && !pruning) {\n describeDestination(chosen);\n return;\n }\n\n assertDestinationReady(slug, tree, chosen, into);\n\n const {\n options,\n hints: destinationHints,\n activeCampaign,\n } = await mapOptions(args, fromFile, into, chosen.sideEffect);\n\n let built: ReturnType<typeof buildFieldMapping>;\n try {\n built = buildFieldMapping(tree, chosen.sideEffect, specs, options);\n } catch (error) {\n if (error instanceof MappingError) {\n refuse(error.message, error.fix);\n }\n throw error;\n }\n\n const slotHint = [\n ...destinationHints,\n ...(activeCampaign && Array.isArray(built.patch.fieldMapping)\n ? activeCampaignMappingHints(built.patch.fieldMapping as Record<string, unknown>[], activeCampaign)\n : []),\n ...droppedHint(built),\n ...survivorHint(built, replacing),\n ...slotHintFor(String(chosen.sideEffect.type ?? \"\"), into),\n ...pendingEndpointHint(slug, tree, chosen),\n ];\n\n if (args.write !== true) {\n emitDryRun(slug, chosen, built, slotHint);\n return;\n }\n\n Object.assign(chosen.sideEffect, built.patch);\n writeFlowTree(slug, tree);\n emitWritten(slug, chosen, built, slotHint);\n },\n});\n\n/**\n * The first line of the answer: what this call did, or would do.\n *\n * It has to survive a call that only REMOVES. `--prune-missing` on its own\n * writes nothing and drops something, and \"Wrote 0 fieldMapping mappings\"\n * describes the opposite of what happened — it reads as a no-op, which is the\n * one reading that sends an agent looking for a different command after the\n * repair has already landed. The drops are named by `droppedHint` two lines\n * further down, and that is not where anybody looks to find out whether a\n * command worked.\n *\n * Exported for its own test, because this sentence is the whole report.\n */\nexport function mapHeadline(built: BuiltMapping, phase: \"written\" | \"dry-run\", slug = \"\"): string {\n const wrote = `${built.count} ${built.key} mapping${built.count === 1 ? \"\" : \"s\"}`;\n const drops = `${built.dropped.length} dead mapping${built.dropped.length === 1 ? \"\" : \"s\"}`;\n\n if (phase === \"dry-run\") {\n if (built.count === 0 && built.dropped.length > 0) {\n return `Nothing written. Re-run with --write to drop ${drops} from ${slug}.`;\n }\n return `Nothing written. Re-run with --write to splice ${wrote} into ${slug}.`;\n }\n\n if (built.dropped.length === 0) return `Wrote ${wrote}.`;\n if (built.count === 0) return `Dropped ${drops} from ${built.key}; nothing else changed.`;\n return `Wrote ${wrote} and dropped ${drops}.`;\n}\n\n/** What the call WOULD do, plus the one sentence saying how to make it happen. */\nfunction emitDryRun(slug: string, chosen: Located, built: BuiltMapping, slotHint: string[]): void {\n writeJson({\n ok: true,\n data: {\n sideEffectId: chosen.sideEffect.id,\n type: chosen.sideEffect.type,\n key: built.key,\n patch: built.patch,\n },\n hints: [mapHeadline(built, \"dry-run\", slug), ...slotHint],\n });\n}\n\nfunction emitWritten(slug: string, chosen: Located, built: BuiltMapping, slotHint: string[]): void {\n writeJson({\n ok: true,\n data: {\n sideEffectId: chosen.sideEffect.id,\n type: chosen.sideEffect.type,\n key: built.key,\n written: built.count,\n kept: built.kept,\n dropped: built.dropped,\n path: flowDataPath(slug),\n },\n hints: [\n mapHeadline(built, \"written\"),\n `A mapping is only real once the destination is set — check with: baker flows show ${slug}`,\n ...slotHint,\n ],\n });\n}\n"],"mappings":"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","names":[]}
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./chunk-ERSX3MKH.js";
|
|
4
4
|
import {
|
|
5
5
|
customMcpServerNameRequestSchema
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-2J5OCFOW.js";
|
|
7
7
|
import "./chunk-QV6AST5T.js";
|
|
8
8
|
import "./chunk-WCU362Z6.js";
|
|
9
9
|
import "./chunk-GIWHHCD6.js";
|
|
@@ -726,4 +726,4 @@ Full guide: __tooling__/docs/tools/baker/mcp.md`
|
|
|
726
726
|
export {
|
|
727
727
|
mcpCommand
|
|
728
728
|
};
|
|
729
|
-
//# sourceMappingURL=mcp-
|
|
729
|
+
//# sourceMappingURL=mcp-4VUUHCWJ.js.map
|
|
@@ -25,11 +25,11 @@ Full guide: __tooling__/docs/tools/baker/media-sources.md`
|
|
|
25
25
|
list: () => import("./list-E7JG27WS.js").then((m) => m.listCommand),
|
|
26
26
|
sync: () => import("./sync-TANGFXUN.js").then((m) => m.syncCommand),
|
|
27
27
|
schedule: () => import("./schedule-XFEPEQTN.js").then((m) => m.scheduleCommand),
|
|
28
|
-
reset: () => import("./reset-
|
|
28
|
+
reset: () => import("./reset-RPHQ6R4T.js").then((m) => m.resetCommand),
|
|
29
29
|
remove: () => import("./remove-6FXTPEB6.js").then((m) => m.removeCommand)
|
|
30
30
|
}
|
|
31
31
|
});
|
|
32
32
|
export {
|
|
33
33
|
mediaSourcesCommand
|
|
34
34
|
};
|
|
35
|
-
//# sourceMappingURL=media-sources-
|
|
35
|
+
//# sourceMappingURL=media-sources-B36AGK4K.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
failApi
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-OZTNA2O7.js";
|
|
4
|
+
import "./chunk-2J5OCFOW.js";
|
|
5
5
|
import "./chunk-QV6AST5T.js";
|
|
6
6
|
import "./chunk-WCU362Z6.js";
|
|
7
7
|
import "./chunk-GIWHHCD6.js";
|
|
@@ -44,4 +44,4 @@ var membersCommand = defineCommand({
|
|
|
44
44
|
export {
|
|
45
45
|
membersCommand
|
|
46
46
|
};
|
|
47
|
-
//# sourceMappingURL=members-
|
|
47
|
+
//# sourceMappingURL=members-O5MYSZ6W.js.map
|
|
@@ -74,6 +74,7 @@ A/B tests (Meta splits the audience between versions and calls the winner):
|
|
|
74
74
|
Audit & review:
|
|
75
75
|
baker ads meta activities --account-id act_123 --days 14
|
|
76
76
|
baker ads meta preview --ad-id 9988 --ad-format MOBILE_FEED_STANDARD \u2014 SEE the ad: displayed text + a picture
|
|
77
|
+
baker ads meta videos --ad-id 9988,9989 \u2014 download the ads' video files (MP4) to watch or cut
|
|
77
78
|
Full guide: __tooling__/docs/tools/baker/ads-meta.md`
|
|
78
79
|
},
|
|
79
80
|
subCommands: {
|
|
@@ -94,6 +95,7 @@ Full guide: __tooling__/docs/tools/baker/ads-meta.md`
|
|
|
94
95
|
activities: () => import("./activities-DEWHKBID.js").then((m) => m.activitiesCommand),
|
|
95
96
|
insights: () => import("./insights-LZJZGNJZ.js").then((m) => m.insightsCommand),
|
|
96
97
|
preview: () => import("./preview-JZXGR4KN.js").then((m) => m.previewCommand),
|
|
98
|
+
videos: () => import("./videos-NITQKILV.js").then((m) => m.videosCommand),
|
|
97
99
|
targeting: () => import("./targeting-TVZPIUUI.js").then((m) => m.targetingCommand),
|
|
98
100
|
"instagram-accounts": () => import("./account-assets-W7K2PUYB.js").then((m) => m.instagramAccountsCommand),
|
|
99
101
|
apps: () => import("./account-assets-W7K2PUYB.js").then((m) => m.appsCommand),
|
|
@@ -119,4 +121,4 @@ Full guide: __tooling__/docs/tools/baker/ads-meta.md`
|
|
|
119
121
|
export {
|
|
120
122
|
metaCommand
|
|
121
123
|
};
|
|
122
|
-
//# sourceMappingURL=meta-
|
|
124
|
+
//# sourceMappingURL=meta-5TRG7RTQ.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/commands/ads/meta/index.ts"],"sourcesContent":["import { defineCommand } from \"citty\";\n\n/**\n * Meta Ads command surface — curated for AI agents, not 1:1 with the Marketing API.\n *\n * Every backend read route has a command except `/currency`: `account` already\n * returns the currency and time zone, so a second command for two of its\n * fields would only be a second place to look.\n *\n * Default behaviors that matter:\n * - Listings (campaigns/adsets/ads) filter to ACTIVE — pass --all-statuses to widen.\n * - Insights filter out non-delivered rows (impressions=0) and sort by spend desc.\n * - Insights pick a smart field bundle via --intent (baseline|revenue|funnel|ranking|video|identity).\n * - Heavy insights queries auto-fall to async (poll loop hidden).\n * - Attribution defaults to 7d_click,1d_view — the only windows still working as of Jan 2026.\n */\nexport const metaCommand = defineCommand({\n meta: {\n name: \"meta\",\n description: `Meta Marketing API — AI-first command surface (Facebook + Instagram ads).\n\nDiscovery:\n baker ads meta accounts — accounts in this company's connected scope\n baker ads meta businesses — Business Manager IDs\n baker ads meta pages — Facebook Pages the selected ad accounts can promote (an ad's identity)\n baker ads meta lead-forms --page-id 100635183117758 — instant (lead) forms on a Page, with lead counts\n baker ads meta lead-forms create --account-id act_123 --page-id 555 --file form.json — stage a new form\n baker ads meta leads --form-id 987654321 — the leads one form collected (contact details masked)\n\nSnapshot a running account (default = ACTIVE only):\n baker ads meta campaigns --account-id act_123\n baker ads meta adsets --campaign-id 6123\n baker ads meta ads --adset-id 6123\n baker ads meta campaigns --account-id act_123 --all-statuses — include paused, archived\n\nBuild targeting (Meta takes ids, never names — look them up first):\n baker ads meta targeting search --account-id act_123 --q \"solar energy\" — interest/behavior/employer… ids\n baker ads meta targeting geo --account-id act_123 --q Madrid — location keys\n baker ads meta targeting validate --account-id act_123 --targeting-file t.json\n baker ads meta targeting estimate --account-id act_123 --targeting-file t.json --optimization-goal LEAD_GENERATION\n baker ads meta targeting describe --account-id act_123 --adset-id 6123 — the audience in Meta's words\n\nIdentities and libraries:\n baker ads meta instagram-accounts --account-id act_123 — the --instagram-user an ad can run as\n baker ads meta apps --account-id act_123 — apps it can promote\n baker ads meta dsa-recommendations --account-id act_123 — EU DSA beneficiary/payor names\n baker ads meta images --account-id act_123 — image hashes already on Meta\n baker ads meta labels --account-id act_123\n baker ads meta catalogs --business-id 601050769212882 — product catalogs; --catalog-id for product sets; products/sets/feeds/diagnostics\n baker ads meta page-photos upload --page-id … --image-id … — a photo on a Page, not posted (Instant Experiences)\n baker ads meta instant-experiences --page-id 904238019441800 — full-screen pages an ad can open (collection ads)\n baker ads meta studies --account-id act_123 — A/B tests; --study-id for results\n baker ads meta high-demand-periods --campaign-id 6123 — budget boosts\n baker ads meta page-posts --page-id 904238019441800 — posts an ad can boost; instagram-media for Instagram\n baker ads meta block-lists --account-id act_123 — sites and apps ads stay off (brand safety)\n baker ads meta reach-frequency --account-id act_123 — reach & frequency quotes; predict | reserve | cancel\n baker ads meta account-settings --account-id act_123 --spending-limit 5000 — account name / spending limit (staged)\n baker ads meta comments --ad-id 120211234567890 — comments on an ad's post\n baker ads meta account-details --account-id act_123 --show users — people, Meta's suggestions, Advantage+ controls, playables, page sets\n\nDrill in:\n baker ads meta account --account-id act_123 — currency, balance, business, whether it can deliver\n baker ads meta creatives --creative-id 9988,9989 — creatives' copy, link and assets, several at once\n baker ads meta audiences --name-contains buyers — one audience and its lookalikes\n baker ads meta custom-conversions --account-id act_123 — the marketer's own conversions (\"my conversions\")\n baker ads meta pixels --account-id act_123 — pixel list\n baker ads meta pixels --pixel-id 9988 --stats --days 7 — firing health\n\nPerformance (the workhorse):\n baker ads meta insights --object act_123 — defaults: level=account, intent=baseline, last_7d\n baker ads meta insights --object act_123 --intent revenue --date-preset last_28d\n baker ads meta insights --object act_123 --level ad --intent ranking — flag creatives to refresh\n baker ads meta insights --object act_123 --level adset --breakdowns publisher_platform,age — placement × age\n baker ads meta insights --object act_123 --level ad --since 2026-01-01 --until 2026-03-31 — auto-async\n baker ads meta insights --list-intents\n\nAutomated rules (run on Meta, unattended, once published):\n baker ads meta rules --account-id act_123 — every rule and what it does\n baker ads meta rules history --rule-id 1132635173044914 — what a rule did and when\n baker ads meta rules create --name \"Stop expensive ads\" --apply-to ad --when \"cost_per_result>20\" --action pause\n\nA/B tests (Meta splits the audience between versions and calls the winner):\n baker ads meta adsets duplicate 6123 --name \"… – lookalike\" — then change ONE thing on the copy\n baker ads meta studies create --name \"Broad vs lookalike\" --adsets 6123,meta_temp_ab12 --start 2026-10-20T08:00Z --days 14\n\nAudit & review:\n baker ads meta activities --account-id act_123 --days 14\n baker ads meta preview --ad-id 9988 --ad-format MOBILE_FEED_STANDARD — SEE the ad: displayed text + a picture\nFull guide: __tooling__/docs/tools/baker/ads-meta.md`,\n },\n subCommands: {\n accounts: () => import(\"./accounts.ts\").then((m) => m.accountsCommand),\n account: () => import(\"./account.ts\").then((m) => m.accountCommand),\n businesses: () => import(\"./businesses.ts\").then((m) => m.businessesCommand),\n pages: () => import(\"./pages.ts\").then((m) => m.pagesCommand),\n \"lead-forms\": () => import(\"./leads.ts\").then((m) => m.leadFormsCommand),\n \"instant-experiences\": () => import(\"./instant-experiences.ts\").then((m) => m.instantExperiencesCommand),\n leads: () => import(\"./leads.ts\").then((m) => m.leadsCommand),\n campaigns: () => import(\"./campaigns.ts\").then((m) => m.campaignsCommand),\n adsets: () => import(\"./adsets.ts\").then((m) => m.adsetsCommand),\n ads: () => import(\"./ads.ts\").then((m) => m.adsListCommand),\n creatives: () => import(\"./creatives.ts\").then((m) => m.creativesCommand),\n audiences: () => import(\"./audiences.ts\").then((m) => m.audiencesCommand),\n \"custom-conversions\": () => import(\"./custom-conversions.ts\").then((m) => m.customConversionsCommand),\n pixels: () => import(\"./pixels.ts\").then((m) => m.pixelsCommand),\n activities: () => import(\"./activities.ts\").then((m) => m.activitiesCommand),\n insights: () => import(\"./insights.ts\").then((m) => m.insightsCommand),\n preview: () => import(\"./preview.ts\").then((m) => m.previewCommand),\n targeting: () => import(\"./targeting.ts\").then((m) => m.targetingCommand),\n \"instagram-accounts\": () => import(\"./account-assets.ts\").then((m) => m.instagramAccountsCommand),\n apps: () => import(\"./account-assets.ts\").then((m) => m.appsCommand),\n \"dsa-recommendations\": () => import(\"./account-assets.ts\").then((m) => m.dsaRecommendationsCommand),\n images: () => import(\"./account-assets.ts\").then((m) => m.imagesCommand),\n labels: () => import(\"./account-assets.ts\").then((m) => m.labelsCommand),\n studies: () => import(\"./studies.ts\").then((m) => m.studiesCommand),\n catalogs: () => import(\"./catalogs.ts\").then((m) => m.catalogsCommand),\n \"page-photos\": () => import(\"./page-photos.ts\").then((m) => m.pagePhotosCommand),\n \"page-posts\": () => import(\"./account-level.ts\").then((m) => m.pagePostsCommand),\n \"instagram-media\": () => import(\"./account-level.ts\").then((m) => m.instagramMediaCommand),\n comments: () => import(\"./account-level.ts\").then((m) => m.commentsCommand),\n \"account-settings\": () => import(\"./account-level.ts\").then((m) => m.accountSettingsCommand),\n \"account-details\": () => import(\"./account-level.ts\").then((m) => m.accountDetailsCommand),\n \"block-lists\": () => import(\"./account-level.ts\").then((m) => m.blockListsCommand),\n \"reach-frequency\": () => import(\"./account-level.ts\").then((m) => m.reachFrequencyCommand),\n \"high-demand-periods\": () => import(\"./account-assets.ts\").then((m) => m.highDemandPeriodsCommand),\n rules: () => import(\"./rules.ts\").then((m) => m.rulesCommand),\n media: () => import(\"./media.ts\").then((m) => m.metaMediaCommand),\n draft: () => import(\"./draft.ts\").then((m) => m.metaDraftCommand),\n },\n});\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/commands/ads/meta/index.ts"],"sourcesContent":["import { defineCommand } from \"citty\";\n\n/**\n * Meta Ads command surface — curated for AI agents, not 1:1 with the Marketing API.\n *\n * Every backend read route has a command except `/currency`: `account` already\n * returns the currency and time zone, so a second command for two of its\n * fields would only be a second place to look.\n *\n * Default behaviors that matter:\n * - Listings (campaigns/adsets/ads) filter to ACTIVE — pass --all-statuses to widen.\n * - Insights filter out non-delivered rows (impressions=0) and sort by spend desc.\n * - Insights pick a smart field bundle via --intent (baseline|revenue|funnel|ranking|video|identity).\n * - Heavy insights queries auto-fall to async (poll loop hidden).\n * - Attribution defaults to 7d_click,1d_view — the only windows still working as of Jan 2026.\n */\nexport const metaCommand = defineCommand({\n meta: {\n name: \"meta\",\n description: `Meta Marketing API — AI-first command surface (Facebook + Instagram ads).\n\nDiscovery:\n baker ads meta accounts — accounts in this company's connected scope\n baker ads meta businesses — Business Manager IDs\n baker ads meta pages — Facebook Pages the selected ad accounts can promote (an ad's identity)\n baker ads meta lead-forms --page-id 100635183117758 — instant (lead) forms on a Page, with lead counts\n baker ads meta lead-forms create --account-id act_123 --page-id 555 --file form.json — stage a new form\n baker ads meta leads --form-id 987654321 — the leads one form collected (contact details masked)\n\nSnapshot a running account (default = ACTIVE only):\n baker ads meta campaigns --account-id act_123\n baker ads meta adsets --campaign-id 6123\n baker ads meta ads --adset-id 6123\n baker ads meta campaigns --account-id act_123 --all-statuses — include paused, archived\n\nBuild targeting (Meta takes ids, never names — look them up first):\n baker ads meta targeting search --account-id act_123 --q \"solar energy\" — interest/behavior/employer… ids\n baker ads meta targeting geo --account-id act_123 --q Madrid — location keys\n baker ads meta targeting validate --account-id act_123 --targeting-file t.json\n baker ads meta targeting estimate --account-id act_123 --targeting-file t.json --optimization-goal LEAD_GENERATION\n baker ads meta targeting describe --account-id act_123 --adset-id 6123 — the audience in Meta's words\n\nIdentities and libraries:\n baker ads meta instagram-accounts --account-id act_123 — the --instagram-user an ad can run as\n baker ads meta apps --account-id act_123 — apps it can promote\n baker ads meta dsa-recommendations --account-id act_123 — EU DSA beneficiary/payor names\n baker ads meta images --account-id act_123 — image hashes already on Meta\n baker ads meta labels --account-id act_123\n baker ads meta catalogs --business-id 601050769212882 — product catalogs; --catalog-id for product sets; products/sets/feeds/diagnostics\n baker ads meta page-photos upload --page-id … --image-id … — a photo on a Page, not posted (Instant Experiences)\n baker ads meta instant-experiences --page-id 904238019441800 — full-screen pages an ad can open (collection ads)\n baker ads meta studies --account-id act_123 — A/B tests; --study-id for results\n baker ads meta high-demand-periods --campaign-id 6123 — budget boosts\n baker ads meta page-posts --page-id 904238019441800 — posts an ad can boost; instagram-media for Instagram\n baker ads meta block-lists --account-id act_123 — sites and apps ads stay off (brand safety)\n baker ads meta reach-frequency --account-id act_123 — reach & frequency quotes; predict | reserve | cancel\n baker ads meta account-settings --account-id act_123 --spending-limit 5000 — account name / spending limit (staged)\n baker ads meta comments --ad-id 120211234567890 — comments on an ad's post\n baker ads meta account-details --account-id act_123 --show users — people, Meta's suggestions, Advantage+ controls, playables, page sets\n\nDrill in:\n baker ads meta account --account-id act_123 — currency, balance, business, whether it can deliver\n baker ads meta creatives --creative-id 9988,9989 — creatives' copy, link and assets, several at once\n baker ads meta audiences --name-contains buyers — one audience and its lookalikes\n baker ads meta custom-conversions --account-id act_123 — the marketer's own conversions (\"my conversions\")\n baker ads meta pixels --account-id act_123 — pixel list\n baker ads meta pixels --pixel-id 9988 --stats --days 7 — firing health\n\nPerformance (the workhorse):\n baker ads meta insights --object act_123 — defaults: level=account, intent=baseline, last_7d\n baker ads meta insights --object act_123 --intent revenue --date-preset last_28d\n baker ads meta insights --object act_123 --level ad --intent ranking — flag creatives to refresh\n baker ads meta insights --object act_123 --level adset --breakdowns publisher_platform,age — placement × age\n baker ads meta insights --object act_123 --level ad --since 2026-01-01 --until 2026-03-31 — auto-async\n baker ads meta insights --list-intents\n\nAutomated rules (run on Meta, unattended, once published):\n baker ads meta rules --account-id act_123 — every rule and what it does\n baker ads meta rules history --rule-id 1132635173044914 — what a rule did and when\n baker ads meta rules create --name \"Stop expensive ads\" --apply-to ad --when \"cost_per_result>20\" --action pause\n\nA/B tests (Meta splits the audience between versions and calls the winner):\n baker ads meta adsets duplicate 6123 --name \"… – lookalike\" — then change ONE thing on the copy\n baker ads meta studies create --name \"Broad vs lookalike\" --adsets 6123,meta_temp_ab12 --start 2026-10-20T08:00Z --days 14\n\nAudit & review:\n baker ads meta activities --account-id act_123 --days 14\n baker ads meta preview --ad-id 9988 --ad-format MOBILE_FEED_STANDARD — SEE the ad: displayed text + a picture\n baker ads meta videos --ad-id 9988,9989 — download the ads' video files (MP4) to watch or cut\nFull guide: __tooling__/docs/tools/baker/ads-meta.md`,\n },\n subCommands: {\n accounts: () => import(\"./accounts.ts\").then((m) => m.accountsCommand),\n account: () => import(\"./account.ts\").then((m) => m.accountCommand),\n businesses: () => import(\"./businesses.ts\").then((m) => m.businessesCommand),\n pages: () => import(\"./pages.ts\").then((m) => m.pagesCommand),\n \"lead-forms\": () => import(\"./leads.ts\").then((m) => m.leadFormsCommand),\n \"instant-experiences\": () => import(\"./instant-experiences.ts\").then((m) => m.instantExperiencesCommand),\n leads: () => import(\"./leads.ts\").then((m) => m.leadsCommand),\n campaigns: () => import(\"./campaigns.ts\").then((m) => m.campaignsCommand),\n adsets: () => import(\"./adsets.ts\").then((m) => m.adsetsCommand),\n ads: () => import(\"./ads.ts\").then((m) => m.adsListCommand),\n creatives: () => import(\"./creatives.ts\").then((m) => m.creativesCommand),\n audiences: () => import(\"./audiences.ts\").then((m) => m.audiencesCommand),\n \"custom-conversions\": () => import(\"./custom-conversions.ts\").then((m) => m.customConversionsCommand),\n pixels: () => import(\"./pixels.ts\").then((m) => m.pixelsCommand),\n activities: () => import(\"./activities.ts\").then((m) => m.activitiesCommand),\n insights: () => import(\"./insights.ts\").then((m) => m.insightsCommand),\n preview: () => import(\"./preview.ts\").then((m) => m.previewCommand),\n videos: () => import(\"./videos.ts\").then((m) => m.videosCommand),\n targeting: () => import(\"./targeting.ts\").then((m) => m.targetingCommand),\n \"instagram-accounts\": () => import(\"./account-assets.ts\").then((m) => m.instagramAccountsCommand),\n apps: () => import(\"./account-assets.ts\").then((m) => m.appsCommand),\n \"dsa-recommendations\": () => import(\"./account-assets.ts\").then((m) => m.dsaRecommendationsCommand),\n images: () => import(\"./account-assets.ts\").then((m) => m.imagesCommand),\n labels: () => import(\"./account-assets.ts\").then((m) => m.labelsCommand),\n studies: () => import(\"./studies.ts\").then((m) => m.studiesCommand),\n catalogs: () => import(\"./catalogs.ts\").then((m) => m.catalogsCommand),\n \"page-photos\": () => import(\"./page-photos.ts\").then((m) => m.pagePhotosCommand),\n \"page-posts\": () => import(\"./account-level.ts\").then((m) => m.pagePostsCommand),\n \"instagram-media\": () => import(\"./account-level.ts\").then((m) => m.instagramMediaCommand),\n comments: () => import(\"./account-level.ts\").then((m) => m.commentsCommand),\n \"account-settings\": () => import(\"./account-level.ts\").then((m) => m.accountSettingsCommand),\n \"account-details\": () => import(\"./account-level.ts\").then((m) => m.accountDetailsCommand),\n \"block-lists\": () => import(\"./account-level.ts\").then((m) => m.blockListsCommand),\n \"reach-frequency\": () => import(\"./account-level.ts\").then((m) => m.reachFrequencyCommand),\n \"high-demand-periods\": () => import(\"./account-assets.ts\").then((m) => m.highDemandPeriodsCommand),\n rules: () => import(\"./rules.ts\").then((m) => m.rulesCommand),\n media: () => import(\"./media.ts\").then((m) => m.metaMediaCommand),\n draft: () => import(\"./draft.ts\").then((m) => m.metaDraftCommand),\n },\n});\n"],"mappings":"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","names":[]}
|
|
@@ -4,11 +4,11 @@ import {
|
|
|
4
4
|
readFlowTree,
|
|
5
5
|
walkNodes,
|
|
6
6
|
writeFlowTree
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-4JONZ6LA.js";
|
|
8
8
|
import {
|
|
9
9
|
looksLikeUnresolvedVariable,
|
|
10
10
|
parseEmailRecipients
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-2J5OCFOW.js";
|
|
12
12
|
import "./chunk-QV6AST5T.js";
|
|
13
13
|
import "./chunk-WCU362Z6.js";
|
|
14
14
|
import "./chunk-GIWHHCD6.js";
|
|
@@ -141,4 +141,4 @@ export {
|
|
|
141
141
|
normalizeCommand,
|
|
142
142
|
normalizeFlowTree
|
|
143
143
|
};
|
|
144
|
-
//# sourceMappingURL=normalize-
|
|
144
|
+
//# sourceMappingURL=normalize-6YBZQ6MJ.js.map
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import {
|
|
2
2
|
destinationRefusal
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
5
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-OBVSGXTA.js";
|
|
4
|
+
import "./chunk-4E6EZ4RL.js";
|
|
5
|
+
import "./chunk-4JONZ6LA.js";
|
|
6
6
|
import {
|
|
7
7
|
failApi
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-OZTNA2O7.js";
|
|
9
9
|
import {
|
|
10
10
|
FLOW_ACCOUNT_ONLY_KINDS,
|
|
11
11
|
FLOW_AGENT_DESTINATION_KINDS
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-2J5OCFOW.js";
|
|
13
13
|
import "./chunk-QV6AST5T.js";
|
|
14
14
|
import "./chunk-WCU362Z6.js";
|
|
15
15
|
import "./chunk-GIWHHCD6.js";
|
|
@@ -122,4 +122,4 @@ export {
|
|
|
122
122
|
optionsCommand,
|
|
123
123
|
optionsHints
|
|
124
124
|
};
|
|
125
|
-
//# sourceMappingURL=options-
|
|
125
|
+
//# sourceMappingURL=options-WCJ4SZ4Q.js.map
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
failApi,
|
|
3
3
|
failValidation
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-OZTNA2O7.js";
|
|
5
5
|
import {
|
|
6
6
|
setupLinkMcpSlotSchema
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-2J5OCFOW.js";
|
|
8
8
|
import "./chunk-QV6AST5T.js";
|
|
9
9
|
import "./chunk-WCU362Z6.js";
|
|
10
10
|
import "./chunk-GIWHHCD6.js";
|
|
@@ -946,4 +946,4 @@ export {
|
|
|
946
946
|
companiesHints,
|
|
947
947
|
organizationCommand
|
|
948
948
|
};
|
|
949
|
-
//# sourceMappingURL=organization-
|
|
949
|
+
//# sourceMappingURL=organization-RKV7KDMQ.js.map
|
|
@@ -6,11 +6,11 @@ import {
|
|
|
6
6
|
import "./chunk-NKQWDEB7.js";
|
|
7
7
|
import {
|
|
8
8
|
failApi
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-OZTNA2O7.js";
|
|
10
10
|
import {
|
|
11
11
|
calendarDaySchema,
|
|
12
12
|
todayUtc
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-2J5OCFOW.js";
|
|
14
14
|
import "./chunk-QV6AST5T.js";
|
|
15
15
|
import "./chunk-WCU362Z6.js";
|
|
16
16
|
import "./chunk-GIWHHCD6.js";
|
|
@@ -5562,4 +5562,4 @@ Full guide: __tooling__/docs/tools/baker/ads-performance.md`
|
|
|
5562
5562
|
export {
|
|
5563
5563
|
performanceCommand
|
|
5564
5564
|
};
|
|
5565
|
-
//# sourceMappingURL=performance-
|
|
5565
|
+
//# sourceMappingURL=performance-ASGNJQTT.js.map
|
|
@@ -3,9 +3,9 @@ import {
|
|
|
3
3
|
parseDays,
|
|
4
4
|
performanceCommand,
|
|
5
5
|
withDefinitions
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-VNRL3EF7.js";
|
|
7
|
+
import "./chunk-OZTNA2O7.js";
|
|
8
|
+
import "./chunk-2J5OCFOW.js";
|
|
9
9
|
import "./chunk-QV6AST5T.js";
|
|
10
10
|
import "./chunk-WCU362Z6.js";
|
|
11
11
|
import "./chunk-GIWHHCD6.js";
|
|
@@ -24,4 +24,4 @@ export {
|
|
|
24
24
|
performanceCommand,
|
|
25
25
|
withDefinitions
|
|
26
26
|
};
|
|
27
|
-
//# sourceMappingURL=performance-
|
|
27
|
+
//# sourceMappingURL=performance-JZ2IUWJX.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
handleLinkedinError,
|
|
3
3
|
resolveAccountIdArg
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-JPICIFPM.js";
|
|
5
5
|
import {
|
|
6
6
|
AD_PREVIEW_DIR,
|
|
7
7
|
renderAdPreviews
|
|
@@ -10,7 +10,7 @@ import "./chunk-VN3WDB4O.js";
|
|
|
10
10
|
import {
|
|
11
11
|
writeJsonEnvelope
|
|
12
12
|
} from "./chunk-RBCO3C3Q.js";
|
|
13
|
-
import "./chunk-
|
|
13
|
+
import "./chunk-2J5OCFOW.js";
|
|
14
14
|
import "./chunk-QV6AST5T.js";
|
|
15
15
|
import "./chunk-WCU362Z6.js";
|
|
16
16
|
import "./chunk-GIWHHCD6.js";
|
|
@@ -98,4 +98,4 @@ Examples:
|
|
|
98
98
|
export {
|
|
99
99
|
previewCommand
|
|
100
100
|
};
|
|
101
|
-
//# sourceMappingURL=preview-
|
|
101
|
+
//# sourceMappingURL=preview-SMFKMMZU.js.map
|
|
@@ -4,14 +4,14 @@ import {
|
|
|
4
4
|
stageAccountId,
|
|
5
5
|
stageXOp,
|
|
6
6
|
stageXOps
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-YFXF5XAT.js";
|
|
8
8
|
import "./chunk-FIN4ZXGJ.js";
|
|
9
9
|
import "./chunk-YD6OZSSY.js";
|
|
10
10
|
import "./chunk-RBCO3C3Q.js";
|
|
11
11
|
import {
|
|
12
12
|
TARGETING_OPERATORS,
|
|
13
13
|
TARGETING_TYPES
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-2J5OCFOW.js";
|
|
15
15
|
import "./chunk-QV6AST5T.js";
|
|
16
16
|
import "./chunk-WCU362Z6.js";
|
|
17
17
|
import "./chunk-GIWHHCD6.js";
|
|
@@ -180,4 +180,4 @@ export {
|
|
|
180
180
|
targetingCriteriaCreateCommand,
|
|
181
181
|
targetingCriteriaRemoveCommand
|
|
182
182
|
};
|
|
183
|
-
//# sourceMappingURL=promoted-tweet-writes-
|
|
183
|
+
//# sourceMappingURL=promoted-tweet-writes-5VBLE23Q.js.map
|
|
@@ -101,8 +101,8 @@ Examples:
|
|
|
101
101
|
},
|
|
102
102
|
subCommands: {
|
|
103
103
|
list: promotedTweetsListCommand,
|
|
104
|
-
create: () => import("./promoted-tweet-writes-
|
|
105
|
-
remove: () => import("./promoted-tweet-writes-
|
|
104
|
+
create: () => import("./promoted-tweet-writes-5VBLE23Q.js").then((m) => m.promotedTweetsCreateCommand),
|
|
105
|
+
remove: () => import("./promoted-tweet-writes-5VBLE23Q.js").then((m) => m.promotedTweetsRemoveCommand)
|
|
106
106
|
},
|
|
107
107
|
args: {
|
|
108
108
|
"account-id": { type: "string", description: "X Ads account ID" },
|
|
@@ -116,4 +116,4 @@ Examples:
|
|
|
116
116
|
export {
|
|
117
117
|
promotedTweetsCommand
|
|
118
118
|
};
|
|
119
|
-
//# sourceMappingURL=promoted-tweets-
|
|
119
|
+
//# sourceMappingURL=promoted-tweets-N7XPG3XB.js.map
|
|
@@ -24,7 +24,7 @@ import {
|
|
|
24
24
|
} from "./chunk-I7OJZ7QE.js";
|
|
25
25
|
import {
|
|
26
26
|
fetchRunRecord
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-WGD6LMRW.js";
|
|
28
28
|
import {
|
|
29
29
|
findWorkspaceRoot
|
|
30
30
|
} from "./chunk-N3PASNUA.js";
|
|
@@ -33,7 +33,7 @@ import {
|
|
|
33
33
|
} from "./chunk-EL3TDR5S.js";
|
|
34
34
|
import "./chunk-G6U45QD3.js";
|
|
35
35
|
import "./chunk-X6U3B6YK.js";
|
|
36
|
-
import "./chunk-
|
|
36
|
+
import "./chunk-2J5OCFOW.js";
|
|
37
37
|
import "./chunk-QV6AST5T.js";
|
|
38
38
|
import "./chunk-WCU362Z6.js";
|
|
39
39
|
import "./chunk-GIWHHCD6.js";
|
|
@@ -347,4 +347,4 @@ export {
|
|
|
347
347
|
publishCreative,
|
|
348
348
|
publishVideoCreative
|
|
349
349
|
};
|
|
350
|
-
//# sourceMappingURL=publish-
|
|
350
|
+
//# sourceMappingURL=publish-ZCVVBT2E.js.map
|
|
@@ -3,11 +3,11 @@ import {
|
|
|
3
3
|
redditCommand,
|
|
4
4
|
searchReddit,
|
|
5
5
|
subredditsFromArgs
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-XWN2BUAD.js";
|
|
7
|
+
import "./chunk-JAZZ3HFR.js";
|
|
8
8
|
import "./chunk-D3YAFC6K.js";
|
|
9
9
|
import "./chunk-ERSX3MKH.js";
|
|
10
|
-
import "./chunk-
|
|
10
|
+
import "./chunk-2J5OCFOW.js";
|
|
11
11
|
import "./chunk-QV6AST5T.js";
|
|
12
12
|
import "./chunk-WCU362Z6.js";
|
|
13
13
|
import "./chunk-GIWHHCD6.js";
|
|
@@ -26,4 +26,4 @@ export {
|
|
|
26
26
|
searchReddit,
|
|
27
27
|
subredditsFromArgs
|
|
28
28
|
};
|
|
29
|
-
//# sourceMappingURL=reddit-
|
|
29
|
+
//# sourceMappingURL=reddit-ZWA4GSD3.js.map
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./chunk-KDVYI4LC.js";
|
|
4
4
|
import {
|
|
5
5
|
adLibraryRefreshRequestSchema
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-2J5OCFOW.js";
|
|
7
7
|
import "./chunk-QV6AST5T.js";
|
|
8
8
|
import "./chunk-WCU362Z6.js";
|
|
9
9
|
import "./chunk-GIWHHCD6.js";
|
|
@@ -94,4 +94,4 @@ export {
|
|
|
94
94
|
refreshCommand,
|
|
95
95
|
refreshEnvelope
|
|
96
96
|
};
|
|
97
|
-
//# sourceMappingURL=refresh-
|
|
97
|
+
//# sourceMappingURL=refresh-GZSPTRQO.js.map
|
|
@@ -2,8 +2,8 @@ import {
|
|
|
2
2
|
failApi,
|
|
3
3
|
failValidation,
|
|
4
4
|
writeOk
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-
|
|
5
|
+
} from "./chunk-OZTNA2O7.js";
|
|
6
|
+
import "./chunk-2J5OCFOW.js";
|
|
7
7
|
import "./chunk-QV6AST5T.js";
|
|
8
8
|
import "./chunk-WCU362Z6.js";
|
|
9
9
|
import "./chunk-GIWHHCD6.js";
|
|
@@ -60,4 +60,4 @@ var releaseCommand = defineCommand({
|
|
|
60
60
|
export {
|
|
61
61
|
releaseCommand
|
|
62
62
|
};
|
|
63
|
-
//# sourceMappingURL=release-
|
|
63
|
+
//# sourceMappingURL=release-YQSDFSAD.js.map
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
} from "./chunk-EFTYCX5C.js";
|
|
5
5
|
import {
|
|
6
6
|
testimonialSourcesRemoveRequestSchema
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-2J5OCFOW.js";
|
|
8
8
|
import "./chunk-QV6AST5T.js";
|
|
9
9
|
import "./chunk-WCU362Z6.js";
|
|
10
10
|
import "./chunk-GIWHHCD6.js";
|
|
@@ -50,4 +50,4 @@ var removeCommand = defineCommand({
|
|
|
50
50
|
export {
|
|
51
51
|
removeCommand
|
|
52
52
|
};
|
|
53
|
-
//# sourceMappingURL=remove-
|
|
53
|
+
//# sourceMappingURL=remove-IC6XZSLZ.js.map
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
failApi,
|
|
3
3
|
failValidation
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-OZTNA2O7.js";
|
|
5
|
+
import "./chunk-2J5OCFOW.js";
|
|
6
6
|
import "./chunk-QV6AST5T.js";
|
|
7
7
|
import "./chunk-WCU362Z6.js";
|
|
8
8
|
import "./chunk-GIWHHCD6.js";
|
|
@@ -63,4 +63,4 @@ var reopenCommand = defineCommand({
|
|
|
63
63
|
export {
|
|
64
64
|
reopenCommand
|
|
65
65
|
};
|
|
66
|
-
//# sourceMappingURL=reopen-
|
|
66
|
+
//# sourceMappingURL=reopen-4D4S5TFN.js.map
|