@koda-sl/baker-cli 0.518.0 → 0.519.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 +1 -0
- package/dist/{account-HIQYGYT4.js → account-SB2M4ACJ.js} +6 -6
- package/dist/{account-users-VC5SNYKW.js → account-users-O25RX67D.js} +6 -6
- package/dist/{accounts-CCWDKLHP.js → accounts-NBATVND7.js} +5 -5
- package/dist/{accounts-5ZFFDJIL.js → accounts-X6OS6LFQ.js} +7 -7
- package/dist/{actions-6LP4UN4U.js → actions-WQBRBRQM.js} +18 -18
- package/dist/{activecampaign-FVOQZVBM.js → activecampaign-GJ4QHU5I.js} +5 -5
- package/dist/{add-63X5JFLN.js → add-3FM5IKMS.js} +4 -4
- package/dist/{add-2IJVGWA6.js → add-A5VX5UUP.js} +3 -3
- package/dist/{add-XTQJ7KNR.js → add-L7GVFQJG.js} +5 -5
- package/dist/{add-T4HBAXZE.js → add-YXTVT2IS.js} +3 -3
- package/dist/{ads-PA4DUVVT.js → ads-Y7WZPGER.js} +4 -4
- package/dist/{advertisers-3KGJDTCG.js → advertisers-KMMOSMCM.js} +5 -5
- package/dist/{analytics-EVKBNTNB.js → analytics-46QAGRUG.js} +5 -5
- package/dist/{analytics-SB42GKIT.js → analytics-OBXOCY64.js} +8 -8
- package/dist/approved-A2YR4M4Z.js +73 -0
- package/dist/approved-A2YR4M4Z.js.map +1 -0
- package/dist/{assign-H3EPC4TB.js → assign-RRUSAKS7.js} +5 -5
- package/dist/{audience-size-CAPQWSRV.js → audience-size-ZTP67T4K.js} +5 -5
- package/dist/{audit-6HBYMOKF.js → audit-KALSWJ4L.js} +5 -5
- package/dist/{autocomplete-M7KXEDAW.js → autocomplete-VGOVCLFQ.js} +5 -5
- package/dist/{avatars-RZVFKOV5.js → avatars-KU4DN7VX.js} +4 -4
- package/dist/{bid-pricing-DB4DS5C4.js → bid-pricing-SVFOSIC4.js} +6 -6
- package/dist/{brand-NXNIHPZT.js → brand-XPLJH74A.js} +2 -2
- package/dist/{brief-LGEI6PGB.js → brief-IIY547K5.js} +14 -14
- package/dist/{campaign-groups-2T2AEB34.js → campaign-groups-NHOTEJMK.js} +11 -11
- package/dist/{campaign-writes-DHN7P3NI.js → campaign-writes-44MRFJKF.js} +5 -5
- package/dist/{campaigns-SHEFD5WE.js → campaigns-4UGHW5VG.js} +14 -14
- package/dist/{campaigns-7K5GA2FI.js → campaigns-DGFPAYW6.js} +5 -5
- package/dist/{canvas-S5ZBWZS5.js → canvas-DE2DVGQT.js} +13 -13
- package/dist/{capabilities-P6P3PCN4.js → capabilities-IV3TIY5P.js} +5 -5
- package/dist/{chats-AFKZYIVE.js → chats-O3KS5FRK.js} +5 -5
- package/dist/{check-IRTF2SLS.js → check-XTCIDHDP.js} +7 -7
- package/dist/{chunk-GNPFPOAR.js → chunk-27LRO2OC.js} +2 -2
- package/dist/{chunk-2L7F7KR4.js → chunk-2AS4ACOC.js} +2 -2
- package/dist/{chunk-ZBDPPW65.js → chunk-2T4ITAX4.js} +2 -2
- package/dist/{chunk-IQ6IPBEM.js → chunk-453Y7PXW.js} +2 -2
- package/dist/{chunk-K6AYR6PN.js → chunk-4XPR7U3A.js} +3 -3
- package/dist/{chunk-IWMHDAIE.js → chunk-52MN4CC7.js} +2 -2
- package/dist/{chunk-YZWEZQE4.js → chunk-6MN6OJJV.js} +2 -2
- package/dist/{chunk-REN4YI4L.js → chunk-6ZHVCUHZ.js} +2 -2
- package/dist/{chunk-PUFCP6CS.js → chunk-7J34JKHT.js} +3 -3
- package/dist/{chunk-F34CKDO4.js → chunk-BKCXGCWP.js} +3 -3
- package/dist/{chunk-YBNE6UFA.js → chunk-D7PCSTXL.js} +2 -2
- package/dist/{chunk-ERJZS5OP.js → chunk-DD7JXOWY.js} +2 -2
- package/dist/{chunk-7JCBBJIE.js → chunk-DXDNV33I.js} +2 -2
- package/dist/{chunk-O6A3L35F.js → chunk-FQSPKUDV.js} +3 -3
- package/dist/{chunk-WM2WOQAX.js → chunk-GWI6UIIX.js} +4 -4
- package/dist/{chunk-IHLGTYEO.js → chunk-HLENNA5Y.js} +2 -2
- package/dist/{chunk-PUH4ORIY.js → chunk-IAJNZPVZ.js} +2 -2
- package/dist/{chunk-MLFSYS2H.js → chunk-J5SZHVAN.js} +3 -3
- package/dist/{chunk-SU573TSF.js → chunk-JEWNEB33.js} +3 -3
- package/dist/{chunk-IUWCDYAK.js → chunk-JOKLBSDV.js} +2 -2
- package/dist/{chunk-4Z6PVR3M.js → chunk-JWYYAHSF.js} +2 -2
- package/dist/{chunk-BB7BZHRT.js → chunk-JZGZC4W2.js} +2 -2
- package/dist/{chunk-PO4Y66ZT.js → chunk-K66NBDPO.js} +2 -2
- package/dist/{chunk-BFAKWX4N.js → chunk-KDFO3X2K.js} +5 -5
- package/dist/{chunk-4VPC3KQV.js → chunk-LKKO4OYI.js} +8 -8
- package/dist/{chunk-ATW4OELT.js → chunk-NBP2NTVI.js} +2 -2
- package/dist/{chunk-GQPMFFU2.js → chunk-OLHCZA2Y.js} +2 -2
- package/dist/{chunk-S63QUIAF.js → chunk-PPKQTNY7.js} +2 -2
- package/dist/{chunk-PC3FJEZH.js → chunk-PR45G3SV.js} +7 -3
- package/dist/chunk-PR45G3SV.js.map +1 -0
- package/dist/{chunk-3Q2CF6PN.js → chunk-QDWQDWZ6.js} +2 -2
- package/dist/{chunk-XNTQDAAM.js → chunk-QJL5DYCP.js} +5 -5
- package/dist/{chunk-SUYJG7YR.js → chunk-QQQGMSGL.js} +2 -2
- package/dist/{chunk-CAZGM2NX.js → chunk-QV6AST5T.js} +2 -2
- package/dist/{chunk-ARBXT73X.js → chunk-RCDEKWP7.js} +2 -2
- package/dist/{chunk-VGMTVZG7.js → chunk-RDYS7Z5Y.js} +2 -2
- package/dist/{chunk-HI3PLCOQ.js → chunk-RMVESPXL.js} +3 -3
- package/dist/{chunk-52KZOLJU.js → chunk-RP6EPH7U.js} +20 -4
- package/dist/chunk-RP6EPH7U.js.map +1 -0
- package/dist/{chunk-HO3SFL4V.js → chunk-TQR2TL2X.js} +2 -2
- package/dist/{chunk-AQRXXC6E.js → chunk-UXJSZ74Q.js} +2 -2
- package/dist/{chunk-LGT5QIDH.js → chunk-VU6UJXPW.js} +2 -2
- package/dist/{chunk-NZS3KEQ2.js → chunk-WCU362Z6.js} +7 -1
- package/dist/chunk-WCU362Z6.js.map +1 -0
- package/dist/{chunk-QGT2B6IK.js → chunk-WNX5RQCM.js} +3 -3
- package/dist/{chunk-6HJXLGDV.js → chunk-XEJMY2NG.js} +2 -2
- package/dist/{chunk-K6NULQN7.js → chunk-YQWJBAA6.js} +2 -2
- package/dist/{chunk-P33YBON4.js → chunk-Z7MOJPTA.js} +2 -2
- package/dist/{chunk-P33YBON4.js.map → chunk-Z7MOJPTA.js.map} +1 -1
- package/dist/{chunk-UWLXAQOR.js → chunk-ZGXRX7VQ.js} +3 -3
- package/dist/{claim-GVEBBGR3.js → claim-UUYFZYQX.js} +5 -5
- package/dist/cli.js +31 -31
- package/dist/{companies-WSH35EDY.js → companies-SJPRPNZW.js} +5 -5
- package/dist/{company-CTERVQSX.js → company-DNWA3VBT.js} +5 -5
- package/dist/{complete-SI3AXMUL.js → complete-ZFKVCZ7T.js} +5 -5
- package/dist/{connect-SQERLPW7.js → connect-RZ2QGAD2.js} +8 -8
- package/dist/{conversation-HLIZIZGW.js → conversation-N6G3HEKP.js} +5 -5
- package/dist/{conversions-RPVEVIKI.js → conversions-R2XG377F.js} +10 -10
- package/dist/{create-EP7TMMZN.js → create-CQ2F3RVK.js} +5 -5
- package/dist/{create-SJV6K36J.js → create-WFFFHYT7.js} +5 -5
- package/dist/{create-BEDPQEBH.js → create-XJWY3UYA.js} +4 -4
- package/dist/{create-DV6ESQ2I.js → create-Z4GRVMNI.js} +5 -5
- package/dist/{creatives-XQ6SOSZP.js → creatives-BVDFEUGW.js} +12 -12
- package/dist/{creatives-47VHC5EK.js → creatives-P62EW2IB.js} +11 -11
- package/dist/{credentials-OQGLIQJG.js → credentials-RBVXAYGB.js} +5 -5
- package/dist/{critique-7ESCPCZ7.js → critique-LMDBUCNG.js} +10 -10
- package/dist/{critique-BGDASZGD.js → critique-Z6PJLV7A.js} +5 -5
- package/dist/{crm-G654DZVI.js → crm-IPU62BGC.js} +6 -6
- package/dist/{crm-Q3AU3MIA.js → crm-MMEEIC2W.js} +6 -6
- package/dist/{customers-KBELHID7.js → customers-IIVCHZ5R.js} +7 -7
- package/dist/{delete-IIL5KCST.js → delete-7PYYXFO6.js} +5 -5
- package/dist/{delete-RRRY6XET.js → delete-BQDCLL7M.js} +5 -5
- package/dist/{delete-IAUWDMU7.js → delete-C76IUSVH.js} +4 -4
- package/dist/{demographics-APU7OYII.js → demographics-X3GXYKMG.js} +5 -5
- package/dist/{discard-ULJXJFDQ.js → discard-PBEIHDFU.js} +5 -5
- package/dist/{domain-P2SZ3YF4.js → domain-3TMWNPZ7.js} +5 -5
- package/dist/{download-EWU5K3H6.js → download-BYVQLRJD.js} +4 -4
- package/dist/{draft-UYRL4TYH.js → draft-65SXX3CW.js} +6 -6
- package/dist/{draft-IZWZC4FK.js → draft-C2PB3XV5.js} +5 -5
- package/dist/{draft-Z3HWEHIE.js → draft-J7FS3DU6.js} +5 -5
- package/dist/{experiments-PXPVOOP3.js → experiments-6AQ3H5TP.js} +6 -6
- package/dist/{facets-7SO4AK7T.js → facets-QIBOD36G.js} +5 -5
- package/dist/{feedback-HENZKXJG.js → feedback-UWKIPCPU.js} +13 -13
- package/dist/{feedback-record-6HSI2NHW.js → feedback-record-PRBALHEF.js} +14 -14
- package/dist/{fetch-P2A2IWCZ.js → fetch-JAW3CLR7.js} +5 -5
- package/dist/{fit-A2S3DIGM.js → fit-6USDAOWA.js} +7 -7
- package/dist/{flows-QQ5XRGFL.js → flows-77TYO56Q.js} +12 -12
- package/dist/{fonts-WP6BYRZ6.js → fonts-HPGCVH56.js} +7 -7
- package/dist/{forecast-FE4OHPJC.js → forecast-E6VX34YE.js} +6 -6
- package/dist/{funnel-TLKZNW3H.js → funnel-EKW64M7Z.js} +6 -6
- package/dist/{get-N7W4E3S3.js → get-4URDPE46.js} +5 -5
- package/dist/{get-ZZFJK4BC.js → get-6JWGIPN2.js} +2 -2
- package/dist/{get-L72Z4EPU.js → get-XTYQ7LRY.js} +5 -5
- package/dist/{google-ads-HKW7HQMB.js → google-ads-LSOL6ZAT.js} +5 -5
- package/dist/{history-KW7XE3WD.js → history-2PDLZQJ2.js} +5 -5
- package/dist/{history-EJEC3M6F.js → history-CXVGFR2N.js} +5 -5
- package/dist/{hubspot-6K37PW65.js → hubspot-FHJHMYJI.js} +9 -9
- package/dist/{ideas-ZE2Q3N2G.js → ideas-RGFK5HUY.js} +6 -6
- package/dist/{images-6674KEOT.js → images-JEC7LTTJ.js} +4 -4
- package/dist/{ingest-YFC5X3DL.js → ingest-3CX5R5IT.js} +5 -5
- package/dist/{ingest-F4B7YUSP.js → ingest-WFVQVBAM.js} +4 -4
- package/dist/{inspect-H46HYVEZ.js → inspect-2UHVWOG2.js} +5 -5
- package/dist/{keyword-metrics-6UWS5M56.js → keyword-metrics-LH4W6QFP.js} +5 -5
- package/dist/{keywords-for-site-24RQIO7D.js → keywords-for-site-XYHIIXTG.js} +5 -5
- package/dist/{landing-NBY7W4TC.js → landing-L6KGKU4P.js} +2 -2
- package/dist/{leads-FQETKGK6.js → leads-U2H7VSS5.js} +5 -5
- package/dist/{learn-HIFV2X6Y.js → learn-TJX6P3BX.js} +6 -6
- package/dist/{line-item-writes-G6CQQ2OE.js → line-item-writes-ZJWAI6F5.js} +5 -5
- package/dist/{line-items-7RII35L6.js → line-items-2DAQ4HQC.js} +5 -5
- package/dist/{link-U6T53J4M.js → link-BLXHUO6M.js} +5 -5
- package/dist/{linkedin-HV33YUQH.js → linkedin-FTRTC4FJ.js} +31 -31
- package/dist/{linkedin-person-RRRDEKVO.js → linkedin-person-IDSNXORW.js} +5 -5
- package/dist/{list-WNULRKMX.js → list-6WXKFWNK.js} +5 -5
- package/dist/{list-MZ7VL6YP.js → list-MHHBEIV2.js} +4 -4
- package/dist/{list-3T6O43NA.js → list-Z5WACV7V.js} +5 -5
- package/dist/{list-BOINVP2D.js → list-Z7NOJY3P.js} +3 -3
- package/dist/{log-JTO4LCK7.js → log-JK4MXZHL.js} +5 -5
- package/dist/{make-IG4OCRE3.js → make-OY6V7TEN.js} +17 -17
- package/dist/{map-C4CL2K2H.js → map-I7QD5DLU.js} +6 -6
- package/dist/{mcp-DNQSMHCT.js → mcp-FFODYTJ2.js} +4 -4
- package/dist/{media-sources-6Y4SLLKU.js → media-sources-WZJ67OP7.js} +7 -7
- package/dist/{members-6H6YJLEE.js → members-3Q6YGEHV.js} +5 -5
- package/dist/{normalize-WZOYY4DO.js → normalize-WBWLUF4B.js} +5 -5
- package/dist/{options-GBRUIUEB.js → options-FXT3WL2Q.js} +8 -8
- package/dist/{organization-36Q5KWP4.js → organization-I2DXVVIE.js} +5 -5
- package/dist/{performance-HY2S3M3Q.js → performance-B5YM4YWL.js} +6 -6
- package/dist/{performance-IYJWXEIR.js → performance-S5PPW6WN.js} +5 -5
- package/dist/{posts-5EHNIOBK.js → posts-PPSQ726T.js} +11 -9
- package/dist/posts-PPSQ726T.js.map +1 -0
- package/dist/{promoted-tweet-writes-O7E6NCPZ.js → promoted-tweet-writes-4AMNWCLE.js} +5 -5
- package/dist/{promoted-tweets-4YG3JXGA.js → promoted-tweets-IQTM4LGO.js} +3 -3
- package/dist/{publish-D555JP3P.js → publish-SQHJU7D4.js} +5 -5
- package/dist/{reddit-PQPA6OW6.js → reddit-LDKULCVD.js} +6 -6
- package/dist/{refresh-CK4KWM7L.js → refresh-7KY4EVFP.js} +4 -4
- package/dist/{refresh-BSQUG5ES.js → refresh-ZCKZ6RPU.js} +2 -2
- package/dist/{release-LTANINTQ.js → release-AQOOYDQL.js} +5 -5
- package/dist/{remove-R3RPAVCO.js → remove-MMFYOG6I.js} +4 -4
- package/dist/{remove-3UUDDSVZ.js → remove-PPLOR5BM.js} +3 -3
- package/dist/{reopen-GPCCEOW7.js → reopen-MEH2MLSF.js} +5 -5
- package/dist/{rerun-GMX3MXNT.js → rerun-HQPYU22S.js} +16 -16
- package/dist/{research-CZNU2TPL.js → research-F4GTVF3J.js} +13 -13
- package/dist/{research-CFTKGJJE.js → research-I7PGG23J.js} +4 -4
- package/dist/{reset-LGTW4LMQ.js → reset-2V7TDDOL.js} +4 -4
- package/dist/{reset-KOB2UPTO.js → reset-BRDUWVSE.js} +4 -4
- package/dist/{resolve-VP6ZXGR4.js → resolve-IJCE2ITP.js} +5 -5
- package/dist/{retry-LJT5VXTP.js → retry-AYSAFT57.js} +4 -4
- package/dist/{retry-3YKKY5FV.js → retry-FNCL5A7B.js} +4 -4
- package/dist/{revenue-QACBLUVF.js → revenue-NEUL7AWO.js} +6 -6
- package/dist/{rules-E6LT44LB.js → rules-PMLZCOA5.js} +7 -7
- package/dist/{rules-add-O5IIJQG5.js → rules-add-776T2BP7.js} +7 -7
- package/dist/{run-NEFURGDJ.js → run-EHVEZSB2.js} +16 -16
- package/dist/{run-KDKVNEFU.js → run-WFV5RIGG.js} +5 -5
- package/dist/{scaffold-ad-MTB7OAFA.js → scaffold-ad-OBEYIJFJ.js} +12 -12
- package/dist/{scaffold-static-ad-T2IXVSBU.js → scaffold-static-ad-SFW7M3QD.js} +20 -20
- package/dist/{scaffold-video-S3CYQPC4.js → scaffold-video-NM35Q654.js} +11 -11
- package/dist/{schedule-5U2KLUVV.js → schedule-JZLFA3NT.js} +4 -4
- package/dist/{schedule-XT4QNSEJ.js → schedule-N5NXFCIW.js} +3 -3
- package/dist/{scheduled-agents-RGI6FOGL.js → scheduled-agents-A5OLKMAB.js} +11 -11
- package/dist/{schema-6HQWNWNX.js → schema-K5XBEGPU.js} +6 -6
- package/dist/{search-TBR2OQAQ.js → search-SQGZEEDU.js} +4 -4
- package/dist/{search-5HHN5SCT.js → search-ZWQJCYAB.js} +3 -3
- package/dist/{select-MCI7YOAT.js → select-SLJIHO2B.js} +12 -12
- package/dist/{set-prompt-QLFAWUYT.js → set-prompt-5ABLKNZ7.js} +10 -10
- package/dist/{setup-links-I4UIEK3F.js → setup-links-5PAHBVRM.js} +5 -5
- package/dist/{shopify-GLRBIUQU.js → shopify-3KNP5U4O.js} +5 -5
- package/dist/{site-UXH2ERL6.js → site-5NCEJBUK.js} +6 -6
- package/dist/{sources-G7YJZMKO.js → sources-N4Z3FCPT.js} +6 -6
- package/dist/{sources-DHLKS662.js → sources-WGXHR7SO.js} +8 -8
- package/dist/{stale-5JJDXRJQ.js → stale-C26V6JYZ.js} +11 -11
- package/dist/{status-BLBU3WLF.js → status-DLMR6XYY.js} +5 -5
- package/dist/{suggest-22OK4TOU.js → suggest-6DLRLGOR.js} +3 -3
- package/dist/{sync-F7YKBFD6.js → sync-2CFDRWNM.js} +4 -4
- package/dist/{sync-5MR3S6EN.js → sync-EFIN4VNC.js} +3 -3
- package/dist/{sync-definition-KZBTYXTT.js → sync-definition-JVRNC2AY.js} +11 -11
- package/dist/{tag-4XJRM5EK.js → tag-VIE22YTB.js} +3 -3
- package/dist/{tags-PWNRJVD7.js → tags-BRKXMMY5.js} +5 -5
- package/dist/{tags-TZWQUVL4.js → tags-BYZLOSKY.js} +5 -5
- package/dist/{tags-LMXKB2OL.js → tags-IJQ2E7EM.js} +5 -5
- package/dist/{tags-TXLWDBWF.js → tags-SZM7BZEN.js} +4 -4
- package/dist/{tags-6CUL5VHX.js → tags-UZ7CS5M6.js} +4 -4
- package/dist/{targeting-criteria-QJUZ2WYD.js → targeting-criteria-XPISQ4CC.js} +3 -3
- package/dist/{targets-G2IGX3OZ.js → targets-QBV4Q3FV.js} +5 -5
- package/dist/{testimonials-OT6NY7SS.js → testimonials-Q3HZ7CW5.js} +6 -6
- package/dist/{top-companies-VBBCBOUH.js → top-companies-AEVG3GM2.js} +5 -5
- package/dist/{transcript-B3M5EOBO.js → transcript-D46W3YS6.js} +5 -5
- package/dist/{translate-6YAPYEPM.js → translate-RRRZIIZI.js} +14 -14
- package/dist/{triggers-JBJ2B25H.js → triggers-2PMG3CTE.js} +5 -5
- package/dist/{unlink-HFWMJ54N.js → unlink-B6SXOKUJ.js} +5 -5
- package/dist/{unstage-NEQ4LBVA.js → unstage-MXZHQWMJ.js} +5 -5
- package/dist/{update-O53IK7IO.js → update-4NQN2INR.js} +5 -5
- package/dist/{update-MPXQIFBV.js → update-EM6EZQ73.js} +2 -2
- package/dist/{update-OC4AXD37.js → update-G3JCKMAY.js} +5 -5
- package/dist/{update-UZAR3XHC.js → update-HCKZL5MK.js} +4 -4
- package/dist/{update-AQ7PNMDT.js → update-TAQAF735.js} +5 -5
- package/dist/{upload-ZZRTKYOD.js → upload-FNKD3HFW.js} +5 -5
- package/dist/{url-params-T52VQBSO.js → url-params-JTFJAWSC.js} +5 -5
- package/dist/{validate-6WVFHIHO.js → validate-SSW2W7Z7.js} +12 -12
- package/dist/{videos-2TBZRY5V.js → videos-RYCPYL5P.js} +6 -6
- package/dist/{viewer-check-SRNQRROA.js → viewer-check-ZPGWIUNI.js} +8 -8
- package/dist/{web-DRPZSSB7.js → web-HUBEV7L6.js} +5 -5
- package/dist/{winning-ads-HSUV7XN3.js → winning-ads-YIBTH2Q5.js} +3 -3
- package/dist/{write-commands-MZTHQWQL.js → write-commands-DEQGPWQM.js} +6 -6
- package/dist/{x-MLGIU2JN.js → x-AIP6SGS3.js} +6 -6
- package/package.json +1 -1
- package/dist/chunk-52KZOLJU.js.map +0 -1
- package/dist/chunk-NZS3KEQ2.js.map +0 -1
- package/dist/chunk-PC3FJEZH.js.map +0 -1
- package/dist/posts-5EHNIOBK.js.map +0 -1
- /package/dist/{account-HIQYGYT4.js.map → account-SB2M4ACJ.js.map} +0 -0
- /package/dist/{account-users-VC5SNYKW.js.map → account-users-O25RX67D.js.map} +0 -0
- /package/dist/{accounts-CCWDKLHP.js.map → accounts-NBATVND7.js.map} +0 -0
- /package/dist/{accounts-5ZFFDJIL.js.map → accounts-X6OS6LFQ.js.map} +0 -0
- /package/dist/{actions-6LP4UN4U.js.map → actions-WQBRBRQM.js.map} +0 -0
- /package/dist/{activecampaign-FVOQZVBM.js.map → activecampaign-GJ4QHU5I.js.map} +0 -0
- /package/dist/{add-63X5JFLN.js.map → add-3FM5IKMS.js.map} +0 -0
- /package/dist/{add-2IJVGWA6.js.map → add-A5VX5UUP.js.map} +0 -0
- /package/dist/{add-XTQJ7KNR.js.map → add-L7GVFQJG.js.map} +0 -0
- /package/dist/{add-T4HBAXZE.js.map → add-YXTVT2IS.js.map} +0 -0
- /package/dist/{ads-PA4DUVVT.js.map → ads-Y7WZPGER.js.map} +0 -0
- /package/dist/{advertisers-3KGJDTCG.js.map → advertisers-KMMOSMCM.js.map} +0 -0
- /package/dist/{analytics-EVKBNTNB.js.map → analytics-46QAGRUG.js.map} +0 -0
- /package/dist/{analytics-SB42GKIT.js.map → analytics-OBXOCY64.js.map} +0 -0
- /package/dist/{assign-H3EPC4TB.js.map → assign-RRUSAKS7.js.map} +0 -0
- /package/dist/{audience-size-CAPQWSRV.js.map → audience-size-ZTP67T4K.js.map} +0 -0
- /package/dist/{audit-6HBYMOKF.js.map → audit-KALSWJ4L.js.map} +0 -0
- /package/dist/{autocomplete-M7KXEDAW.js.map → autocomplete-VGOVCLFQ.js.map} +0 -0
- /package/dist/{avatars-RZVFKOV5.js.map → avatars-KU4DN7VX.js.map} +0 -0
- /package/dist/{bid-pricing-DB4DS5C4.js.map → bid-pricing-SVFOSIC4.js.map} +0 -0
- /package/dist/{brand-NXNIHPZT.js.map → brand-XPLJH74A.js.map} +0 -0
- /package/dist/{brief-LGEI6PGB.js.map → brief-IIY547K5.js.map} +0 -0
- /package/dist/{campaign-groups-2T2AEB34.js.map → campaign-groups-NHOTEJMK.js.map} +0 -0
- /package/dist/{campaign-writes-DHN7P3NI.js.map → campaign-writes-44MRFJKF.js.map} +0 -0
- /package/dist/{campaigns-SHEFD5WE.js.map → campaigns-4UGHW5VG.js.map} +0 -0
- /package/dist/{campaigns-7K5GA2FI.js.map → campaigns-DGFPAYW6.js.map} +0 -0
- /package/dist/{canvas-S5ZBWZS5.js.map → canvas-DE2DVGQT.js.map} +0 -0
- /package/dist/{capabilities-P6P3PCN4.js.map → capabilities-IV3TIY5P.js.map} +0 -0
- /package/dist/{chats-AFKZYIVE.js.map → chats-O3KS5FRK.js.map} +0 -0
- /package/dist/{check-IRTF2SLS.js.map → check-XTCIDHDP.js.map} +0 -0
- /package/dist/{chunk-GNPFPOAR.js.map → chunk-27LRO2OC.js.map} +0 -0
- /package/dist/{chunk-2L7F7KR4.js.map → chunk-2AS4ACOC.js.map} +0 -0
- /package/dist/{chunk-ZBDPPW65.js.map → chunk-2T4ITAX4.js.map} +0 -0
- /package/dist/{chunk-IQ6IPBEM.js.map → chunk-453Y7PXW.js.map} +0 -0
- /package/dist/{chunk-K6AYR6PN.js.map → chunk-4XPR7U3A.js.map} +0 -0
- /package/dist/{chunk-IWMHDAIE.js.map → chunk-52MN4CC7.js.map} +0 -0
- /package/dist/{chunk-YZWEZQE4.js.map → chunk-6MN6OJJV.js.map} +0 -0
- /package/dist/{chunk-REN4YI4L.js.map → chunk-6ZHVCUHZ.js.map} +0 -0
- /package/dist/{chunk-PUFCP6CS.js.map → chunk-7J34JKHT.js.map} +0 -0
- /package/dist/{chunk-F34CKDO4.js.map → chunk-BKCXGCWP.js.map} +0 -0
- /package/dist/{chunk-YBNE6UFA.js.map → chunk-D7PCSTXL.js.map} +0 -0
- /package/dist/{chunk-ERJZS5OP.js.map → chunk-DD7JXOWY.js.map} +0 -0
- /package/dist/{chunk-7JCBBJIE.js.map → chunk-DXDNV33I.js.map} +0 -0
- /package/dist/{chunk-O6A3L35F.js.map → chunk-FQSPKUDV.js.map} +0 -0
- /package/dist/{chunk-WM2WOQAX.js.map → chunk-GWI6UIIX.js.map} +0 -0
- /package/dist/{chunk-IHLGTYEO.js.map → chunk-HLENNA5Y.js.map} +0 -0
- /package/dist/{chunk-PUH4ORIY.js.map → chunk-IAJNZPVZ.js.map} +0 -0
- /package/dist/{chunk-MLFSYS2H.js.map → chunk-J5SZHVAN.js.map} +0 -0
- /package/dist/{chunk-SU573TSF.js.map → chunk-JEWNEB33.js.map} +0 -0
- /package/dist/{chunk-IUWCDYAK.js.map → chunk-JOKLBSDV.js.map} +0 -0
- /package/dist/{chunk-4Z6PVR3M.js.map → chunk-JWYYAHSF.js.map} +0 -0
- /package/dist/{chunk-BB7BZHRT.js.map → chunk-JZGZC4W2.js.map} +0 -0
- /package/dist/{chunk-PO4Y66ZT.js.map → chunk-K66NBDPO.js.map} +0 -0
- /package/dist/{chunk-BFAKWX4N.js.map → chunk-KDFO3X2K.js.map} +0 -0
- /package/dist/{chunk-4VPC3KQV.js.map → chunk-LKKO4OYI.js.map} +0 -0
- /package/dist/{chunk-ATW4OELT.js.map → chunk-NBP2NTVI.js.map} +0 -0
- /package/dist/{chunk-GQPMFFU2.js.map → chunk-OLHCZA2Y.js.map} +0 -0
- /package/dist/{chunk-S63QUIAF.js.map → chunk-PPKQTNY7.js.map} +0 -0
- /package/dist/{chunk-3Q2CF6PN.js.map → chunk-QDWQDWZ6.js.map} +0 -0
- /package/dist/{chunk-XNTQDAAM.js.map → chunk-QJL5DYCP.js.map} +0 -0
- /package/dist/{chunk-SUYJG7YR.js.map → chunk-QQQGMSGL.js.map} +0 -0
- /package/dist/{chunk-CAZGM2NX.js.map → chunk-QV6AST5T.js.map} +0 -0
- /package/dist/{chunk-ARBXT73X.js.map → chunk-RCDEKWP7.js.map} +0 -0
- /package/dist/{chunk-VGMTVZG7.js.map → chunk-RDYS7Z5Y.js.map} +0 -0
- /package/dist/{chunk-HI3PLCOQ.js.map → chunk-RMVESPXL.js.map} +0 -0
- /package/dist/{chunk-HO3SFL4V.js.map → chunk-TQR2TL2X.js.map} +0 -0
- /package/dist/{chunk-AQRXXC6E.js.map → chunk-UXJSZ74Q.js.map} +0 -0
- /package/dist/{chunk-LGT5QIDH.js.map → chunk-VU6UJXPW.js.map} +0 -0
- /package/dist/{chunk-QGT2B6IK.js.map → chunk-WNX5RQCM.js.map} +0 -0
- /package/dist/{chunk-6HJXLGDV.js.map → chunk-XEJMY2NG.js.map} +0 -0
- /package/dist/{chunk-K6NULQN7.js.map → chunk-YQWJBAA6.js.map} +0 -0
- /package/dist/{chunk-UWLXAQOR.js.map → chunk-ZGXRX7VQ.js.map} +0 -0
- /package/dist/{claim-GVEBBGR3.js.map → claim-UUYFZYQX.js.map} +0 -0
- /package/dist/{companies-WSH35EDY.js.map → companies-SJPRPNZW.js.map} +0 -0
- /package/dist/{company-CTERVQSX.js.map → company-DNWA3VBT.js.map} +0 -0
- /package/dist/{complete-SI3AXMUL.js.map → complete-ZFKVCZ7T.js.map} +0 -0
- /package/dist/{connect-SQERLPW7.js.map → connect-RZ2QGAD2.js.map} +0 -0
- /package/dist/{conversation-HLIZIZGW.js.map → conversation-N6G3HEKP.js.map} +0 -0
- /package/dist/{conversions-RPVEVIKI.js.map → conversions-R2XG377F.js.map} +0 -0
- /package/dist/{create-EP7TMMZN.js.map → create-CQ2F3RVK.js.map} +0 -0
- /package/dist/{create-SJV6K36J.js.map → create-WFFFHYT7.js.map} +0 -0
- /package/dist/{create-BEDPQEBH.js.map → create-XJWY3UYA.js.map} +0 -0
- /package/dist/{create-DV6ESQ2I.js.map → create-Z4GRVMNI.js.map} +0 -0
- /package/dist/{creatives-XQ6SOSZP.js.map → creatives-BVDFEUGW.js.map} +0 -0
- /package/dist/{creatives-47VHC5EK.js.map → creatives-P62EW2IB.js.map} +0 -0
- /package/dist/{credentials-OQGLIQJG.js.map → credentials-RBVXAYGB.js.map} +0 -0
- /package/dist/{critique-7ESCPCZ7.js.map → critique-LMDBUCNG.js.map} +0 -0
- /package/dist/{critique-BGDASZGD.js.map → critique-Z6PJLV7A.js.map} +0 -0
- /package/dist/{crm-G654DZVI.js.map → crm-IPU62BGC.js.map} +0 -0
- /package/dist/{crm-Q3AU3MIA.js.map → crm-MMEEIC2W.js.map} +0 -0
- /package/dist/{customers-KBELHID7.js.map → customers-IIVCHZ5R.js.map} +0 -0
- /package/dist/{delete-IIL5KCST.js.map → delete-7PYYXFO6.js.map} +0 -0
- /package/dist/{delete-RRRY6XET.js.map → delete-BQDCLL7M.js.map} +0 -0
- /package/dist/{delete-IAUWDMU7.js.map → delete-C76IUSVH.js.map} +0 -0
- /package/dist/{demographics-APU7OYII.js.map → demographics-X3GXYKMG.js.map} +0 -0
- /package/dist/{discard-ULJXJFDQ.js.map → discard-PBEIHDFU.js.map} +0 -0
- /package/dist/{domain-P2SZ3YF4.js.map → domain-3TMWNPZ7.js.map} +0 -0
- /package/dist/{download-EWU5K3H6.js.map → download-BYVQLRJD.js.map} +0 -0
- /package/dist/{draft-UYRL4TYH.js.map → draft-65SXX3CW.js.map} +0 -0
- /package/dist/{draft-IZWZC4FK.js.map → draft-C2PB3XV5.js.map} +0 -0
- /package/dist/{draft-Z3HWEHIE.js.map → draft-J7FS3DU6.js.map} +0 -0
- /package/dist/{experiments-PXPVOOP3.js.map → experiments-6AQ3H5TP.js.map} +0 -0
- /package/dist/{facets-7SO4AK7T.js.map → facets-QIBOD36G.js.map} +0 -0
- /package/dist/{feedback-HENZKXJG.js.map → feedback-UWKIPCPU.js.map} +0 -0
- /package/dist/{feedback-record-6HSI2NHW.js.map → feedback-record-PRBALHEF.js.map} +0 -0
- /package/dist/{fetch-P2A2IWCZ.js.map → fetch-JAW3CLR7.js.map} +0 -0
- /package/dist/{fit-A2S3DIGM.js.map → fit-6USDAOWA.js.map} +0 -0
- /package/dist/{flows-QQ5XRGFL.js.map → flows-77TYO56Q.js.map} +0 -0
- /package/dist/{fonts-WP6BYRZ6.js.map → fonts-HPGCVH56.js.map} +0 -0
- /package/dist/{forecast-FE4OHPJC.js.map → forecast-E6VX34YE.js.map} +0 -0
- /package/dist/{funnel-TLKZNW3H.js.map → funnel-EKW64M7Z.js.map} +0 -0
- /package/dist/{get-N7W4E3S3.js.map → get-4URDPE46.js.map} +0 -0
- /package/dist/{get-ZZFJK4BC.js.map → get-6JWGIPN2.js.map} +0 -0
- /package/dist/{get-L72Z4EPU.js.map → get-XTYQ7LRY.js.map} +0 -0
- /package/dist/{google-ads-HKW7HQMB.js.map → google-ads-LSOL6ZAT.js.map} +0 -0
- /package/dist/{history-KW7XE3WD.js.map → history-2PDLZQJ2.js.map} +0 -0
- /package/dist/{history-EJEC3M6F.js.map → history-CXVGFR2N.js.map} +0 -0
- /package/dist/{hubspot-6K37PW65.js.map → hubspot-FHJHMYJI.js.map} +0 -0
- /package/dist/{ideas-ZE2Q3N2G.js.map → ideas-RGFK5HUY.js.map} +0 -0
- /package/dist/{images-6674KEOT.js.map → images-JEC7LTTJ.js.map} +0 -0
- /package/dist/{ingest-YFC5X3DL.js.map → ingest-3CX5R5IT.js.map} +0 -0
- /package/dist/{ingest-F4B7YUSP.js.map → ingest-WFVQVBAM.js.map} +0 -0
- /package/dist/{inspect-H46HYVEZ.js.map → inspect-2UHVWOG2.js.map} +0 -0
- /package/dist/{keyword-metrics-6UWS5M56.js.map → keyword-metrics-LH4W6QFP.js.map} +0 -0
- /package/dist/{keywords-for-site-24RQIO7D.js.map → keywords-for-site-XYHIIXTG.js.map} +0 -0
- /package/dist/{landing-NBY7W4TC.js.map → landing-L6KGKU4P.js.map} +0 -0
- /package/dist/{leads-FQETKGK6.js.map → leads-U2H7VSS5.js.map} +0 -0
- /package/dist/{learn-HIFV2X6Y.js.map → learn-TJX6P3BX.js.map} +0 -0
- /package/dist/{line-item-writes-G6CQQ2OE.js.map → line-item-writes-ZJWAI6F5.js.map} +0 -0
- /package/dist/{line-items-7RII35L6.js.map → line-items-2DAQ4HQC.js.map} +0 -0
- /package/dist/{link-U6T53J4M.js.map → link-BLXHUO6M.js.map} +0 -0
- /package/dist/{linkedin-HV33YUQH.js.map → linkedin-FTRTC4FJ.js.map} +0 -0
- /package/dist/{linkedin-person-RRRDEKVO.js.map → linkedin-person-IDSNXORW.js.map} +0 -0
- /package/dist/{list-WNULRKMX.js.map → list-6WXKFWNK.js.map} +0 -0
- /package/dist/{list-MZ7VL6YP.js.map → list-MHHBEIV2.js.map} +0 -0
- /package/dist/{list-3T6O43NA.js.map → list-Z5WACV7V.js.map} +0 -0
- /package/dist/{list-BOINVP2D.js.map → list-Z7NOJY3P.js.map} +0 -0
- /package/dist/{log-JTO4LCK7.js.map → log-JK4MXZHL.js.map} +0 -0
- /package/dist/{make-IG4OCRE3.js.map → make-OY6V7TEN.js.map} +0 -0
- /package/dist/{map-C4CL2K2H.js.map → map-I7QD5DLU.js.map} +0 -0
- /package/dist/{mcp-DNQSMHCT.js.map → mcp-FFODYTJ2.js.map} +0 -0
- /package/dist/{media-sources-6Y4SLLKU.js.map → media-sources-WZJ67OP7.js.map} +0 -0
- /package/dist/{members-6H6YJLEE.js.map → members-3Q6YGEHV.js.map} +0 -0
- /package/dist/{normalize-WZOYY4DO.js.map → normalize-WBWLUF4B.js.map} +0 -0
- /package/dist/{options-GBRUIUEB.js.map → options-FXT3WL2Q.js.map} +0 -0
- /package/dist/{organization-36Q5KWP4.js.map → organization-I2DXVVIE.js.map} +0 -0
- /package/dist/{performance-HY2S3M3Q.js.map → performance-B5YM4YWL.js.map} +0 -0
- /package/dist/{performance-IYJWXEIR.js.map → performance-S5PPW6WN.js.map} +0 -0
- /package/dist/{promoted-tweet-writes-O7E6NCPZ.js.map → promoted-tweet-writes-4AMNWCLE.js.map} +0 -0
- /package/dist/{promoted-tweets-4YG3JXGA.js.map → promoted-tweets-IQTM4LGO.js.map} +0 -0
- /package/dist/{publish-D555JP3P.js.map → publish-SQHJU7D4.js.map} +0 -0
- /package/dist/{reddit-PQPA6OW6.js.map → reddit-LDKULCVD.js.map} +0 -0
- /package/dist/{refresh-CK4KWM7L.js.map → refresh-7KY4EVFP.js.map} +0 -0
- /package/dist/{refresh-BSQUG5ES.js.map → refresh-ZCKZ6RPU.js.map} +0 -0
- /package/dist/{release-LTANINTQ.js.map → release-AQOOYDQL.js.map} +0 -0
- /package/dist/{remove-R3RPAVCO.js.map → remove-MMFYOG6I.js.map} +0 -0
- /package/dist/{remove-3UUDDSVZ.js.map → remove-PPLOR5BM.js.map} +0 -0
- /package/dist/{reopen-GPCCEOW7.js.map → reopen-MEH2MLSF.js.map} +0 -0
- /package/dist/{rerun-GMX3MXNT.js.map → rerun-HQPYU22S.js.map} +0 -0
- /package/dist/{research-CZNU2TPL.js.map → research-F4GTVF3J.js.map} +0 -0
- /package/dist/{research-CFTKGJJE.js.map → research-I7PGG23J.js.map} +0 -0
- /package/dist/{reset-LGTW4LMQ.js.map → reset-2V7TDDOL.js.map} +0 -0
- /package/dist/{reset-KOB2UPTO.js.map → reset-BRDUWVSE.js.map} +0 -0
- /package/dist/{resolve-VP6ZXGR4.js.map → resolve-IJCE2ITP.js.map} +0 -0
- /package/dist/{retry-LJT5VXTP.js.map → retry-AYSAFT57.js.map} +0 -0
- /package/dist/{retry-3YKKY5FV.js.map → retry-FNCL5A7B.js.map} +0 -0
- /package/dist/{revenue-QACBLUVF.js.map → revenue-NEUL7AWO.js.map} +0 -0
- /package/dist/{rules-E6LT44LB.js.map → rules-PMLZCOA5.js.map} +0 -0
- /package/dist/{rules-add-O5IIJQG5.js.map → rules-add-776T2BP7.js.map} +0 -0
- /package/dist/{run-NEFURGDJ.js.map → run-EHVEZSB2.js.map} +0 -0
- /package/dist/{run-KDKVNEFU.js.map → run-WFV5RIGG.js.map} +0 -0
- /package/dist/{scaffold-ad-MTB7OAFA.js.map → scaffold-ad-OBEYIJFJ.js.map} +0 -0
- /package/dist/{scaffold-static-ad-T2IXVSBU.js.map → scaffold-static-ad-SFW7M3QD.js.map} +0 -0
- /package/dist/{scaffold-video-S3CYQPC4.js.map → scaffold-video-NM35Q654.js.map} +0 -0
- /package/dist/{schedule-5U2KLUVV.js.map → schedule-JZLFA3NT.js.map} +0 -0
- /package/dist/{schedule-XT4QNSEJ.js.map → schedule-N5NXFCIW.js.map} +0 -0
- /package/dist/{scheduled-agents-RGI6FOGL.js.map → scheduled-agents-A5OLKMAB.js.map} +0 -0
- /package/dist/{schema-6HQWNWNX.js.map → schema-K5XBEGPU.js.map} +0 -0
- /package/dist/{search-TBR2OQAQ.js.map → search-SQGZEEDU.js.map} +0 -0
- /package/dist/{search-5HHN5SCT.js.map → search-ZWQJCYAB.js.map} +0 -0
- /package/dist/{select-MCI7YOAT.js.map → select-SLJIHO2B.js.map} +0 -0
- /package/dist/{set-prompt-QLFAWUYT.js.map → set-prompt-5ABLKNZ7.js.map} +0 -0
- /package/dist/{setup-links-I4UIEK3F.js.map → setup-links-5PAHBVRM.js.map} +0 -0
- /package/dist/{shopify-GLRBIUQU.js.map → shopify-3KNP5U4O.js.map} +0 -0
- /package/dist/{site-UXH2ERL6.js.map → site-5NCEJBUK.js.map} +0 -0
- /package/dist/{sources-G7YJZMKO.js.map → sources-N4Z3FCPT.js.map} +0 -0
- /package/dist/{sources-DHLKS662.js.map → sources-WGXHR7SO.js.map} +0 -0
- /package/dist/{stale-5JJDXRJQ.js.map → stale-C26V6JYZ.js.map} +0 -0
- /package/dist/{status-BLBU3WLF.js.map → status-DLMR6XYY.js.map} +0 -0
- /package/dist/{suggest-22OK4TOU.js.map → suggest-6DLRLGOR.js.map} +0 -0
- /package/dist/{sync-F7YKBFD6.js.map → sync-2CFDRWNM.js.map} +0 -0
- /package/dist/{sync-5MR3S6EN.js.map → sync-EFIN4VNC.js.map} +0 -0
- /package/dist/{sync-definition-KZBTYXTT.js.map → sync-definition-JVRNC2AY.js.map} +0 -0
- /package/dist/{tag-4XJRM5EK.js.map → tag-VIE22YTB.js.map} +0 -0
- /package/dist/{tags-PWNRJVD7.js.map → tags-BRKXMMY5.js.map} +0 -0
- /package/dist/{tags-TZWQUVL4.js.map → tags-BYZLOSKY.js.map} +0 -0
- /package/dist/{tags-LMXKB2OL.js.map → tags-IJQ2E7EM.js.map} +0 -0
- /package/dist/{tags-TXLWDBWF.js.map → tags-SZM7BZEN.js.map} +0 -0
- /package/dist/{tags-6CUL5VHX.js.map → tags-UZ7CS5M6.js.map} +0 -0
- /package/dist/{targeting-criteria-QJUZ2WYD.js.map → targeting-criteria-XPISQ4CC.js.map} +0 -0
- /package/dist/{targets-G2IGX3OZ.js.map → targets-QBV4Q3FV.js.map} +0 -0
- /package/dist/{testimonials-OT6NY7SS.js.map → testimonials-Q3HZ7CW5.js.map} +0 -0
- /package/dist/{top-companies-VBBCBOUH.js.map → top-companies-AEVG3GM2.js.map} +0 -0
- /package/dist/{transcript-B3M5EOBO.js.map → transcript-D46W3YS6.js.map} +0 -0
- /package/dist/{translate-6YAPYEPM.js.map → translate-RRRZIIZI.js.map} +0 -0
- /package/dist/{triggers-JBJ2B25H.js.map → triggers-2PMG3CTE.js.map} +0 -0
- /package/dist/{unlink-HFWMJ54N.js.map → unlink-B6SXOKUJ.js.map} +0 -0
- /package/dist/{unstage-NEQ4LBVA.js.map → unstage-MXZHQWMJ.js.map} +0 -0
- /package/dist/{update-O53IK7IO.js.map → update-4NQN2INR.js.map} +0 -0
- /package/dist/{update-MPXQIFBV.js.map → update-EM6EZQ73.js.map} +0 -0
- /package/dist/{update-OC4AXD37.js.map → update-G3JCKMAY.js.map} +0 -0
- /package/dist/{update-UZAR3XHC.js.map → update-HCKZL5MK.js.map} +0 -0
- /package/dist/{update-AQ7PNMDT.js.map → update-TAQAF735.js.map} +0 -0
- /package/dist/{upload-ZZRTKYOD.js.map → upload-FNKD3HFW.js.map} +0 -0
- /package/dist/{url-params-T52VQBSO.js.map → url-params-JTFJAWSC.js.map} +0 -0
- /package/dist/{validate-6WVFHIHO.js.map → validate-SSW2W7Z7.js.map} +0 -0
- /package/dist/{videos-2TBZRY5V.js.map → videos-RYCPYL5P.js.map} +0 -0
- /package/dist/{viewer-check-SRNQRROA.js.map → viewer-check-ZPGWIUNI.js.map} +0 -0
- /package/dist/{web-DRPZSSB7.js.map → web-HUBEV7L6.js.map} +0 -0
- /package/dist/{winning-ads-HSUV7XN3.js.map → winning-ads-YIBTH2Q5.js.map} +0 -0
- /package/dist/{write-commands-MZTHQWQL.js.map → write-commands-DEQGPWQM.js.map} +0 -0
- /package/dist/{x-MLGIU2JN.js.map → x-AIP6SGS3.js.map} +0 -0
|
@@ -20,7 +20,7 @@ import {
|
|
|
20
20
|
suggestFamilies,
|
|
21
21
|
unresolvedBrandFamilies,
|
|
22
22
|
upsertFontFaceCss
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-D7PCSTXL.js";
|
|
24
24
|
import {
|
|
25
25
|
registerSchema,
|
|
26
26
|
writeJson
|
|
@@ -491,4 +491,4 @@ export {
|
|
|
491
491
|
fontsAdoptCommand,
|
|
492
492
|
fontsCommand
|
|
493
493
|
};
|
|
494
|
-
//# sourceMappingURL=chunk-
|
|
494
|
+
//# sourceMappingURL=chunk-QDWQDWZ6.js.map
|
|
@@ -2,11 +2,11 @@ import {
|
|
|
2
2
|
heldRules,
|
|
3
3
|
readAdWords,
|
|
4
4
|
ruleGate
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-ZGXRX7VQ.js";
|
|
6
6
|
import {
|
|
7
7
|
avatarRelation,
|
|
8
8
|
castCompany
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-6ZHVCUHZ.js";
|
|
10
10
|
import {
|
|
11
11
|
readAvatars
|
|
12
12
|
} from "./chunk-UTFSUMLU.js";
|
|
@@ -24,7 +24,7 @@ import {
|
|
|
24
24
|
import {
|
|
25
25
|
GENERIC_FAMILIES,
|
|
26
26
|
resolveBrandFaces
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-D7PCSTXL.js";
|
|
28
28
|
import {
|
|
29
29
|
LOGO_FILE,
|
|
30
30
|
readWorkspaceBrandDoc
|
|
@@ -200,7 +200,7 @@ import {
|
|
|
200
200
|
} from "./chunk-WTLNH34U.js";
|
|
201
201
|
import {
|
|
202
202
|
brandTokensSchema
|
|
203
|
-
} from "./chunk-
|
|
203
|
+
} from "./chunk-PR45G3SV.js";
|
|
204
204
|
import {
|
|
205
205
|
apiPost
|
|
206
206
|
} from "./chunk-4U7HXXSA.js";
|
|
@@ -8951,4 +8951,4 @@ export {
|
|
|
8951
8951
|
prepareCanvas,
|
|
8952
8952
|
exitOnPrepareError
|
|
8953
8953
|
};
|
|
8954
|
-
//# sourceMappingURL=chunk-
|
|
8954
|
+
//# sourceMappingURL=chunk-QJL5DYCP.js.map
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
FLOW_SECRET_FIELDS,
|
|
7
7
|
flowCatalogEntry,
|
|
8
8
|
isFlowOauthSideEffect
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-PR45G3SV.js";
|
|
10
10
|
import {
|
|
11
11
|
apiPost
|
|
12
12
|
} from "./chunk-4U7HXXSA.js";
|
|
@@ -272,4 +272,4 @@ export {
|
|
|
272
272
|
isUsableStepNameKey,
|
|
273
273
|
readSettings
|
|
274
274
|
};
|
|
275
|
-
//# sourceMappingURL=chunk-
|
|
275
|
+
//# sourceMappingURL=chunk-QQQGMSGL.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
socialPersonRoleSchema
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-WCU362Z6.js";
|
|
4
4
|
|
|
5
5
|
// ../api/src/media-sources.ts
|
|
6
6
|
import { z } from "zod";
|
|
@@ -89,4 +89,4 @@ export {
|
|
|
89
89
|
mediaSourcesRemoveRequestSchema,
|
|
90
90
|
mediaSourcesScheduleRequestSchema
|
|
91
91
|
};
|
|
92
|
-
//# sourceMappingURL=chunk-
|
|
92
|
+
//# sourceMappingURL=chunk-QV6AST5T.js.map
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
calendarDaySchema,
|
|
9
9
|
todayUtc,
|
|
10
10
|
windowTooLong
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-PR45G3SV.js";
|
|
12
12
|
|
|
13
13
|
// ../api/src/accounts/crm-columns.ts
|
|
14
14
|
var COLUMN_HELD = 0.7;
|
|
@@ -384,4 +384,4 @@ export {
|
|
|
384
384
|
accountsCampaignsRequestSchema,
|
|
385
385
|
ACCOUNTS_NO_SETTINGS_MESSAGE
|
|
386
386
|
};
|
|
387
|
-
//# sourceMappingURL=chunk-
|
|
387
|
+
//# sourceMappingURL=chunk-RCDEKWP7.js.map
|
|
@@ -18,7 +18,7 @@ import {
|
|
|
18
18
|
} from "./chunk-MF3BTAT6.js";
|
|
19
19
|
import {
|
|
20
20
|
CREATIVE_FEEDBACK_REASON_LABELS
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-PR45G3SV.js";
|
|
22
22
|
import {
|
|
23
23
|
apiPost
|
|
24
24
|
} from "./chunk-4U7HXXSA.js";
|
|
@@ -341,4 +341,4 @@ export {
|
|
|
341
341
|
workspaceOfCreative,
|
|
342
342
|
avoidOf
|
|
343
343
|
};
|
|
344
|
-
//# sourceMappingURL=chunk-
|
|
344
|
+
//# sourceMappingURL=chunk-RDYS7Z5Y.js.map
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
heldRules
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-ZGXRX7VQ.js";
|
|
4
4
|
import {
|
|
5
5
|
companyLine,
|
|
6
6
|
readCompanyReading
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-RDYS7Z5Y.js";
|
|
8
8
|
import {
|
|
9
9
|
adSetViewerRows,
|
|
10
10
|
audienceNamesOf,
|
|
@@ -828,4 +828,4 @@ export {
|
|
|
828
828
|
viewerCheckBeforeRender,
|
|
829
829
|
viewerCheckCommand
|
|
830
830
|
};
|
|
831
|
-
//# sourceMappingURL=chunk-
|
|
831
|
+
//# sourceMappingURL=chunk-RMVESPXL.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
handleLinkedinError,
|
|
3
3
|
resolveAccountIdArg
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-JOKLBSDV.js";
|
|
5
5
|
import {
|
|
6
6
|
adCopyHints,
|
|
7
7
|
booleanWordPositionalError,
|
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
LINKEDIN_DRAFT_BATCH_MAX,
|
|
18
18
|
linkedinDraftOpInputSchema,
|
|
19
19
|
listColumnField
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-PR45G3SV.js";
|
|
21
21
|
import {
|
|
22
22
|
maskPersonValue
|
|
23
23
|
} from "./chunk-SOPVIIUW.js";
|
|
@@ -31,6 +31,17 @@ import {
|
|
|
31
31
|
// src/commands/ads/linkedin/write-shared.ts
|
|
32
32
|
import { createHash } from "crypto";
|
|
33
33
|
import { readFileSync } from "fs";
|
|
34
|
+
|
|
35
|
+
// src/commands/ads/linkedin/approval-hint.ts
|
|
36
|
+
function approvalHints(op, staged) {
|
|
37
|
+
if (!staged.authorApprovalPending) return [];
|
|
38
|
+
const postId = staged.sponsoredPostId ?? op.payload.content?.bakerPostId ?? "<post id>";
|
|
39
|
+
return [
|
|
40
|
+
`If the user says the author already approved this post for this ad account, record it \u2014 \`baker posts approved ${postId} --account-id ${op.accountId}\` \u2014 and the reminder stops. Don't record it on a guess.`
|
|
41
|
+
];
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
// src/commands/ads/linkedin/write-shared.ts
|
|
34
45
|
var TOTAL_BUDGET_HELP = "Lifetime budget \u2014 on something already running it must exceed spend to date, or LinkedIn rejects it";
|
|
35
46
|
function bareAccountId(args) {
|
|
36
47
|
const raw = resolveAccountIdArg(args);
|
|
@@ -245,7 +256,12 @@ async function stageOp(raw, hints) {
|
|
|
245
256
|
chatId,
|
|
246
257
|
op: preflight.data
|
|
247
258
|
});
|
|
248
|
-
const allHints = [
|
|
259
|
+
const allHints = [
|
|
260
|
+
...batchNudge(response.data),
|
|
261
|
+
...hints ?? [],
|
|
262
|
+
...approvalHints(preflight.data, response.data),
|
|
263
|
+
...await adCopyHints(preflight.data)
|
|
264
|
+
];
|
|
249
265
|
writeJsonEnvelope(withHints(response, allHints));
|
|
250
266
|
} catch (err) {
|
|
251
267
|
handleLinkedinError(err);
|
|
@@ -355,4 +371,4 @@ export {
|
|
|
355
371
|
requireTarget,
|
|
356
372
|
requireTargets
|
|
357
373
|
};
|
|
358
|
-
//# sourceMappingURL=chunk-
|
|
374
|
+
//# sourceMappingURL=chunk-RP6EPH7U.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/ads/linkedin/write-shared.ts","../src/commands/ads/linkedin/approval-hint.ts"],"sourcesContent":["import { createHash } from \"node:crypto\";\nimport { readFileSync } from \"node:fs\";\nimport {\n LINKEDIN_DRAFT_BATCH_MAX,\n type LinkedinDraftStageBatchResponse,\n type LinkedinDraftStageResponse,\n linkedinDraftOpInputSchema,\n listColumnField,\n} from \"@baker/api\";\nimport { maskPersonValue } from \"@baker/api/ads-common/people\";\nimport { apiPost } from \"../../../client.ts\";\nimport { requireChatId } from \"../../../env.ts\";\nimport { capabilityFix } from \"../../capabilities/fix.ts\";\nimport { booleanWordPositionalError } from \"../boolean-word-positional.ts\";\nimport { adCopyHints } from \"../copy-hints.ts\";\nimport { withHints } from \"../hints.ts\";\nimport { writeJsonEnvelope } from \"../output.ts\";\nimport { approvalHints } from \"./approval-hint.ts\";\nimport { handleLinkedinError, resolveAccountIdArg } from \"./shared.ts\";\n\n/**\n * Shared plumbing for the staged write commands. Writes NEVER hit LinkedIn\n * directly: every command stages an op against this chat's draft\n * (`/api/ads/linkedin/draft/stage`), the dashboard shows it as a pending\n * LinkedIn change, and it applies when the chat is published.\n */\n\n/**\n * LinkedIn rejects a lifetime budget at or below what the entity has already\n * spent, so the flag needs the constraint wherever it is offered — the same\n * text on every surface (`--help` and `baker schema`) so the two can't drift.\n */\nexport const TOTAL_BUDGET_HELP =\n \"Lifetime budget — on something already running it must exceed spend to date, or LinkedIn rejects it\";\n\nexport function bareAccountId(args: Record<string, unknown>): string {\n const raw = resolveAccountIdArg(args);\n return raw.replace(/^urn:li:sponsoredAccount:/, \"\").replace(/^sponsoredAccount:/, \"\");\n}\n\nexport function failWriteValidation(message: string): never {\n writeJsonEnvelope({ ok: false, error: { code: \"VALIDATION_ERROR\", message } });\n process.exit(1);\n}\n\nexport function loadJsonFileArg(path: unknown): Record<string, unknown> {\n if (typeof path !== \"string\" || path.length === 0) {\n return {};\n }\n try {\n const parsed = JSON.parse(readFileSync(path, \"utf8\")) as unknown;\n if (parsed === null || typeof parsed !== \"object\" || Array.isArray(parsed)) {\n failWriteValidation(`${path} must contain a JSON object`);\n }\n return parsed as Record<string, unknown>;\n } catch (err) {\n if (err instanceof SyntaxError) {\n failWriteValidation(`${path} is not valid JSON: ${err.message}`);\n }\n throw err;\n }\n}\n\n/** Flags override file keys — the file is the base, flags are the overrides. */\nexport function mergePayload(file: Record<string, unknown>, flags: Record<string, unknown>): Record<string, unknown> {\n const merged: Record<string, unknown> = { ...file };\n for (const [key, value] of Object.entries(flags)) {\n if (value !== undefined) {\n merged[key] = value;\n }\n }\n return merged;\n}\n\n/**\n * The `draft amend` patch: exactly one of `--file <path>` (JSON file) or `--patch '<json>'`\n * (inline string), and it must parse to a JSON object — RFC-7386 merge-patch needs an object to\n * merge, and a stray array/scalar would silently no-op or replace the whole payload.\n */\nexport function loadPatchArg(args: Record<string, unknown>): Record<string, unknown> {\n const file = typeof args.file === \"string\" && args.file.length > 0 ? args.file : undefined;\n const inline = typeof args.patch === \"string\" && args.patch.length > 0 ? args.patch : undefined;\n if (Boolean(file) === Boolean(inline)) {\n failWriteValidation(\"pass exactly one of --file <patch.json> or --patch '<json>'\");\n }\n if (file) {\n return loadJsonFileArg(file);\n }\n try {\n const parsed = JSON.parse(inline as string) as unknown;\n if (parsed === null || typeof parsed !== \"object\" || Array.isArray(parsed)) {\n failWriteValidation(\"--patch must be a JSON object\");\n }\n return parsed as Record<string, unknown>;\n } catch (err) {\n if (err instanceof SyntaxError) {\n failWriteValidation(`--patch is not valid JSON: ${err.message}`);\n }\n throw err;\n }\n}\n\nexport function parseMoneyFlag(\n amount: unknown,\n currency: unknown,\n flag: string,\n): { amount: string; currencyCode?: string } | undefined {\n if (amount === undefined || amount === null || amount === \"\") {\n return undefined;\n }\n if (currency === undefined || currency === null || currency === \"\") {\n // LinkedIn ad accounts are single-currency — the backend fills it in.\n return { amount: String(amount) };\n }\n if (typeof currency !== \"string\" || currency.length !== 3) {\n failWriteValidation(`${flag} got an invalid --currency (expected a 3-letter code like EUR)`);\n }\n return { amount: String(amount), currencyCode: currency.toUpperCase() };\n}\n\n/** Accepts ISO dates (2026-07-10), ISO datetimes, or epoch millis. */\nexport function parseDateFlag(value: unknown, flag: string): number | undefined {\n if (value === undefined || value === null || value === \"\") {\n return undefined;\n }\n const raw = String(value);\n if (/^\\d{10,}$/.test(raw)) {\n return Number(raw);\n }\n const parsed = Date.parse(raw);\n if (Number.isNaN(parsed)) {\n failWriteValidation(`${flag} must be an ISO date (2026-07-10) or epoch milliseconds`);\n }\n return parsed;\n}\n\nexport function parseOnOffFlag(value: unknown, flag: string): boolean | undefined {\n if (value === undefined || value === null || value === \"\") {\n return undefined;\n }\n const raw = String(value).toLowerCase();\n if (raw === \"on\" || raw === \"true\") {\n return true;\n }\n if (raw === \"off\" || raw === \"false\") {\n return false;\n }\n failWriteValidation(`${flag} must be on|off`);\n}\n\nexport function parseLocaleFlag(value: unknown): { country: string; language: string } | undefined {\n if (value === undefined || value === null || value === \"\") {\n return undefined;\n }\n const match = /^([a-z]{2})[_-]([A-Za-z]{2})$/.exec(String(value));\n if (!match) {\n failWriteValidation(\"--locale must look like en_US (language_COUNTRY)\");\n }\n return { language: match[1] as string, country: (match[2] as string).toUpperCase() };\n}\n\nexport function loadTargetingFileArg(path: unknown): Record<string, unknown> | undefined {\n if (typeof path !== \"string\" || path.length === 0) {\n return undefined;\n }\n const parsed = loadJsonFileArg(path);\n // Accept either the bare criteria object or a { targetingCriteria } wrapper.\n const criteria = (parsed.targetingCriteria as Record<string, unknown> | undefined) ?? parsed;\n if (!criteria.include) {\n failWriteValidation(\n `${path} must contain targeting criteria with an \"include\" block (see baker schema ads.linkedin.campaigns.create)`,\n );\n }\n return criteria;\n}\n\nconst SHA256_HEX = /^[0-9a-f]{64}$/i;\n\n/** An email the export already hashed is kept as it is: hashing it again would match nobody. */\nfunction sha256Lower(value: string): string {\n const email = value.trim().toLowerCase();\n return SHA256_HEX.test(email) ? email : createHash(\"sha256\").update(email).digest(\"hex\");\n}\n\n/** An email masked for the review; an address the export already hashed has nothing left to show. */\nfunction emailPreview(email: string): string {\n return email === \"\" || SHA256_HEX.test(email.trim()) ? \"\" : maskPersonValue(\"email\", email);\n}\n\nfunction parseCsvLine(line: string): string[] {\n const cells: string[] = [];\n let current = \"\";\n let inQuotes = false;\n for (let i = 0; i < line.length; i++) {\n const char = line[i];\n if (inQuotes) {\n if (char === '\"' && line[i + 1] === '\"') {\n current += '\"';\n i++;\n } else if (char === '\"') {\n inQuotes = false;\n } else {\n current += char;\n }\n } else if (char === '\"') {\n inQuotes = true;\n } else if (char === \",\") {\n cells.push(current);\n current = \"\";\n } else {\n current += char;\n }\n }\n cells.push(current);\n return cells.map((cell) => cell.trim());\n}\n\nexport interface ParsedList {\n columns: string[];\n rows: Array<Record<string, string>>;\n /** Each row's email masked for the review (`l***@empresa.com`), in the rows' order; \"\" where there is none to show. */\n emailPreviews?: string[];\n}\n\n/**\n * Parses a header-first CSV into row objects. Email columns (any header\n * `listColumnField` reads as email) are SHA-256 hashed here, unless already hashed, so raw addresses never leave the machine or sit in the draft.\n */\nexport function parseListFileArg(path: unknown, maxRows: number): ParsedList | undefined {\n if (typeof path !== \"string\" || path.length === 0) {\n return undefined;\n }\n const raw = readFileSync(path, \"utf8\");\n const lines = raw.split(/\\r?\\n/).filter((line) => line.trim().length > 0);\n if (lines.length < 2) {\n failWriteValidation(`${path} needs a header row and at least one data row`);\n }\n const columns = parseCsvLine(lines[0] as string).map((column) => column.trim());\n const rows: Array<Record<string, string>> = [];\n const emailPreviews: string[] = [];\n const emailColumn = columns.findIndex((column) => listColumnField(column) === \"email\");\n for (const line of lines.slice(1)) {\n const cells = parseCsvLine(line);\n const row: Record<string, string> = {};\n columns.forEach((column, index) => {\n const value = cells[index] ?? \"\";\n if (!value) {\n return;\n }\n row[column] = listColumnField(column) === \"email\" ? sha256Lower(value) : value;\n });\n if (Object.keys(row).length > 0) {\n rows.push(row);\n emailPreviews.push(emailPreview(emailColumn >= 0 ? (cells[emailColumn] ?? \"\") : \"\"));\n }\n }\n if (rows.length > maxRows) {\n failWriteValidation(`${path} has ${rows.length} rows — the inline limit is ${maxRows}. Split the list.`);\n }\n return { columns, rows, ...(emailColumn >= 0 ? { emailPreviews } : {}) };\n}\n\ninterface StageEnvelope extends Record<string, unknown> {\n ok: true;\n data: LinkedinDraftStageResponse;\n}\n\n/** Structured preflight failure — the agent learns WHICH field (and, in a batch, which op) is wrong. */\nfunction failPreflight(fields: Array<{ path: string; message: string }>): never {\n writeJsonEnvelope({\n ok: false,\n error: {\n code: \"VALIDATION_ERROR\",\n message: fields.map((field) => (field.path ? `${field.path}: ${field.message}` : field.message)).join(\"; \"),\n fields,\n fix: capabilityFix(\"linkedin-ads\"),\n },\n });\n process.exit(1);\n}\n\n/**\n * The agent is staging one id per call for a kind it has already staged in this\n * draft — the exact loop these commands' id lists exist to replace.\n */\nconst BATCH_NUDGE =\n \"This command takes several ids at once — pass them comma-separated or with --ids-file instead of one call per id.\";\n\nfunction batchNudge(data: LinkedinDraftStageResponse): string[] {\n return data.sameKindStaged === undefined ? [] : [BATCH_NUDGE];\n}\n\n/**\n * Preflight-validates the op against the shared `@baker/api` contract (same\n * schema the backend enforces), then stages it. Prints the staged envelope —\n * ref, mode (always `live`: publishing reaches the real ad account), summary,\n * warnings.\n */\nexport async function stageOp(raw: Record<string, unknown>, hints?: string[]): Promise<void> {\n const preflight = linkedinDraftOpInputSchema.safeParse(raw);\n if (!preflight.success) {\n failPreflight(preflight.error.issues.map((issue) => ({ path: issue.path.join(\".\"), message: issue.message })));\n }\n try {\n const chatId = requireChatId();\n const response = await apiPost<StageEnvelope>(\"/api/ads/linkedin/draft/stage\", {\n chatId,\n op: preflight.data,\n });\n const allHints = [\n ...batchNudge(response.data),\n ...(hints ?? []),\n ...approvalHints(preflight.data, response.data),\n ...(await adCopyHints(preflight.data)),\n ];\n writeJsonEnvelope(withHints(response, allHints));\n } catch (err) {\n handleLinkedinError(err);\n }\n}\n\ninterface StageBatchEnvelope extends Record<string, unknown> {\n ok: true;\n data: LinkedinDraftStageBatchResponse;\n}\n\n/**\n * Stage several ops as ONE request (`/stage-batch`) — all-or-nothing on the\n * backend, one rate-limit hit instead of one per id. A single op falls through to\n * the plain stage path so its envelope, its amend behaviour and its hints stay\n * exactly as before.\n */\nexport async function stageLinkedinOps(rawOps: Array<Record<string, unknown>>, hints?: string[]): Promise<void> {\n if (rawOps.length === 1 && rawOps[0]) {\n await stageOp(rawOps[0], hints);\n return;\n }\n const ops: unknown[] = [];\n for (const [index, raw] of rawOps.entries()) {\n const preflight = linkedinDraftOpInputSchema.safeParse(raw);\n if (!preflight.success) {\n failPreflight(\n preflight.error.issues.map((issue) => ({\n path: `ops[${index}]${issue.path.length > 0 ? `.${issue.path.join(\".\")}` : \"\"}`,\n message: issue.message,\n })),\n );\n }\n ops.push(preflight.data);\n }\n try {\n const chatId = requireChatId();\n const response = await apiPost<StageBatchEnvelope>(\"/api/ads/linkedin/draft/stage-batch\", { chatId, ops });\n const allHints = [...(hints ?? []), ...(await adCopyHints(ops))];\n writeJsonEnvelope(withHints(response, allHints));\n } catch (err) {\n handleLinkedinError(err);\n }\n}\n\nexport async function stageStatusChange(input: {\n kind: \"campaignGroup.update\" | \"campaign.update\" | \"creative.update\";\n accountId: string;\n targets: string[];\n status: \"ACTIVE\" | \"PAUSED\" | \"ARCHIVED\";\n}): Promise<void> {\n const payload = input.kind === \"creative.update\" ? { intendedStatus: input.status } : { status: input.status };\n await stageLinkedinOps(\n input.targets.map((target) => ({ kind: input.kind, accountId: input.accountId, target, payload })),\n );\n}\n\n/**\n * Reads the target from whichever positional the command declared. Commands\n * name it `id` (entity writes) or `ref` (draft show/amend), and citty also\n * leaves every positional in `args._` — so we accept all three rather than\n * making the receipt depend on one command's arg name.\n *\n * `--flag false` is refused BEFORE the one-id check below, which would otherwise\n * blame the stray word on a second id: on `campaigns url-params 123456 --clear\n * false` that sends the agent back with `--clear` alone, which is TRUE again and\n * wipes every tracking parameter on a live ad set.\n */\nexport function requireTarget(args: Record<string, unknown>, entity: string): string {\n const inverted = booleanWordPositionalError(args, entity);\n if (inverted !== undefined) {\n failWriteValidation(inverted);\n }\n const positionals = readPositionals(args);\n const target = args.id ?? args.target ?? args.ref ?? positionals[0];\n if (typeof target !== \"string\" || target.length === 0) {\n failWriteValidation(`pass the ${entity} id or URN as the positional argument`);\n }\n // This command applies one payload to one id. Accepting the first of several and\n // dropping the rest would report success for work it never staged, so say so.\n if (positionals.length > 1 || splitIdList(target).length > 1) {\n failWriteValidation(\n `this command takes one ${entity} id — run it once per id. Only pause/resume/archive/delete and 'creatives update' accept several ids in one call.`,\n );\n }\n return target;\n}\n\n/** Every positional citty left in `_`, as strings. Numeric ids arrive as strings via `node:util parseArgs`. */\nfunction readPositionals(args: Record<string, unknown>): string[] {\n if (!Array.isArray(args._)) {\n return [];\n }\n return args._.filter((value): value is string => typeof value === \"string\" && value.length > 0);\n}\n\n/** Ids in the positional: `123,456` or `urn:li:sponsoredCreative:1, urn:…:2` (URNs never contain commas). */\nfunction splitIdList(raw: string): string[] {\n return raw\n .split(\",\")\n .map((id) => id.trim())\n .filter(Boolean);\n}\n\n/**\n * `--ids-file` lines: one id per line, or comma-separated on a line — the agent\n * writes whichever is convenient. Blank lines and `#` comments are skipped.\n */\nfunction idsFileEntries(path: unknown): string[] {\n if (typeof path !== \"string\" || path.length === 0) {\n return [];\n }\n return readFileSync(path, \"utf8\")\n .split(/\\r?\\n/)\n .map((line) => line.trim())\n .filter((line) => line.length > 0 && !line.startsWith(\"#\"))\n .flatMap(splitIdList);\n}\n\n/**\n * Every id a write command was invoked with: **all** positionals (each of which may\n * itself be comma-separated) plus `--ids-file` lines, deduped in first-seen order.\n * One id stages exactly as before; several stage as one batch.\n *\n * All positionals, not just the first: an agent writing `creatives pause 111 222 333`\n * — space-separated, as most CLIs accept — used to stage one op and be told `ok: true`,\n * so it believed three ads were paused.\n */\nexport function requireTargets(args: Record<string, unknown>, entity: string): string[] {\n // `args._` is the superset: citty copies the FIRST positional into the declared\n // arg (`id`/`ref`) but leaves every positional in `_`. Reading the named arg alone\n // is what dropped ids 2..n. The named arg is the fallback for a command that ever\n // declares its id as a flag instead, where `_` would be empty.\n const positionals = readPositionals(args);\n const named = [args.id, args.target, args.ref].filter(\n (value): value is string => typeof value === \"string\" && value.length > 0,\n );\n const fromArgs = positionals.length > 0 ? positionals : named;\n const targets = [...new Set([...fromArgs.flatMap(splitIdList), ...idsFileEntries(args[\"ids-file\"])])];\n if (targets.length === 0) {\n failWriteValidation(\n `pass the ${entity} id or URN as the positional argument (comma-separated for several), or --ids-file <path>`,\n );\n }\n if (targets.length > LINKEDIN_DRAFT_BATCH_MAX) {\n failWriteValidation(\n `${targets.length} ids exceeds the batch limit of ${LINKEDIN_DRAFT_BATCH_MAX} — split the list`,\n );\n }\n return targets;\n}\n","/**\n * When staging reminded the user that the post's author has to approve it, the\n * one way to stop the reminder is the user's word — say how to record it.\n */\nexport function approvalHints(\n op: { accountId: string; payload: unknown },\n staged: { authorApprovalPending?: boolean; sponsoredPostId?: string },\n): string[] {\n if (!staged.authorApprovalPending) return [];\n const postId =\n staged.sponsoredPostId ??\n (op.payload as { content?: { bakerPostId?: string } }).content?.bakerPostId ??\n \"<post id>\";\n return [\n `If the user says the author already approved this post for this ad account, record it — \\`baker posts approved ${postId} --account-id ${op.accountId}\\` — and the reminder stops. Don't record it on a guess.`,\n ];\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAS,kBAAkB;AAC3B,SAAS,oBAAoB;;;ACGtB,SAAS,cACd,IACA,QACU;AACV,MAAI,CAAC,OAAO,sBAAuB,QAAO,CAAC;AAC3C,QAAM,SACJ,OAAO,mBACN,GAAG,QAAmD,SAAS,eAChE;AACF,SAAO;AAAA,IACL,uHAAkH,MAAM,iBAAiB,GAAG,SAAS;AAAA,EACvJ;AACF;;;ADgBO,IAAM,oBACX;AAEK,SAAS,cAAc,MAAuC;AACnE,QAAM,MAAM,oBAAoB,IAAI;AACpC,SAAO,IAAI,QAAQ,6BAA6B,EAAE,EAAE,QAAQ,sBAAsB,EAAE;AACtF;AAEO,SAAS,oBAAoB,SAAwB;AAC1D,oBAAkB,EAAE,IAAI,OAAO,OAAO,EAAE,MAAM,oBAAoB,QAAQ,EAAE,CAAC;AAC7E,UAAQ,KAAK,CAAC;AAChB;AAEO,SAAS,gBAAgB,MAAwC;AACtE,MAAI,OAAO,SAAS,YAAY,KAAK,WAAW,GAAG;AACjD,WAAO,CAAC;AAAA,EACV;AACA,MAAI;AACF,UAAM,SAAS,KAAK,MAAM,aAAa,MAAM,MAAM,CAAC;AACpD,QAAI,WAAW,QAAQ,OAAO,WAAW,YAAY,MAAM,QAAQ,MAAM,GAAG;AAC1E,0BAAoB,GAAG,IAAI,6BAA6B;AAAA,IAC1D;AACA,WAAO;AAAA,EACT,SAAS,KAAK;AACZ,QAAI,eAAe,aAAa;AAC9B,0BAAoB,GAAG,IAAI,uBAAuB,IAAI,OAAO,EAAE;AAAA,IACjE;AACA,UAAM;AAAA,EACR;AACF;AAGO,SAAS,aAAa,MAA+B,OAAyD;AACnH,QAAM,SAAkC,EAAE,GAAG,KAAK;AAClD,aAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,KAAK,GAAG;AAChD,QAAI,UAAU,QAAW;AACvB,aAAO,GAAG,IAAI;AAAA,IAChB;AAAA,EACF;AACA,SAAO;AACT;AAOO,SAAS,aAAa,MAAwD;AACnF,QAAM,OAAO,OAAO,KAAK,SAAS,YAAY,KAAK,KAAK,SAAS,IAAI,KAAK,OAAO;AACjF,QAAM,SAAS,OAAO,KAAK,UAAU,YAAY,KAAK,MAAM,SAAS,IAAI,KAAK,QAAQ;AACtF,MAAI,QAAQ,IAAI,MAAM,QAAQ,MAAM,GAAG;AACrC,wBAAoB,6DAA6D;AAAA,EACnF;AACA,MAAI,MAAM;AACR,WAAO,gBAAgB,IAAI;AAAA,EAC7B;AACA,MAAI;AACF,UAAM,SAAS,KAAK,MAAM,MAAgB;AAC1C,QAAI,WAAW,QAAQ,OAAO,WAAW,YAAY,MAAM,QAAQ,MAAM,GAAG;AAC1E,0BAAoB,+BAA+B;AAAA,IACrD;AACA,WAAO;AAAA,EACT,SAAS,KAAK;AACZ,QAAI,eAAe,aAAa;AAC9B,0BAAoB,8BAA8B,IAAI,OAAO,EAAE;AAAA,IACjE;AACA,UAAM;AAAA,EACR;AACF;AAEO,SAAS,eACd,QACA,UACA,MACuD;AACvD,MAAI,WAAW,UAAa,WAAW,QAAQ,WAAW,IAAI;AAC5D,WAAO;AAAA,EACT;AACA,MAAI,aAAa,UAAa,aAAa,QAAQ,aAAa,IAAI;AAElE,WAAO,EAAE,QAAQ,OAAO,MAAM,EAAE;AAAA,EAClC;AACA,MAAI,OAAO,aAAa,YAAY,SAAS,WAAW,GAAG;AACzD,wBAAoB,GAAG,IAAI,gEAAgE;AAAA,EAC7F;AACA,SAAO,EAAE,QAAQ,OAAO,MAAM,GAAG,cAAc,SAAS,YAAY,EAAE;AACxE;AAGO,SAAS,cAAc,OAAgB,MAAkC;AAC9E,MAAI,UAAU,UAAa,UAAU,QAAQ,UAAU,IAAI;AACzD,WAAO;AAAA,EACT;AACA,QAAM,MAAM,OAAO,KAAK;AACxB,MAAI,YAAY,KAAK,GAAG,GAAG;AACzB,WAAO,OAAO,GAAG;AAAA,EACnB;AACA,QAAM,SAAS,KAAK,MAAM,GAAG;AAC7B,MAAI,OAAO,MAAM,MAAM,GAAG;AACxB,wBAAoB,GAAG,IAAI,yDAAyD;AAAA,EACtF;AACA,SAAO;AACT;AAEO,SAAS,eAAe,OAAgB,MAAmC;AAChF,MAAI,UAAU,UAAa,UAAU,QAAQ,UAAU,IAAI;AACzD,WAAO;AAAA,EACT;AACA,QAAM,MAAM,OAAO,KAAK,EAAE,YAAY;AACtC,MAAI,QAAQ,QAAQ,QAAQ,QAAQ;AAClC,WAAO;AAAA,EACT;AACA,MAAI,QAAQ,SAAS,QAAQ,SAAS;AACpC,WAAO;AAAA,EACT;AACA,sBAAoB,GAAG,IAAI,iBAAiB;AAC9C;AAEO,SAAS,gBAAgB,OAAmE;AACjG,MAAI,UAAU,UAAa,UAAU,QAAQ,UAAU,IAAI;AACzD,WAAO;AAAA,EACT;AACA,QAAM,QAAQ,gCAAgC,KAAK,OAAO,KAAK,CAAC;AAChE,MAAI,CAAC,OAAO;AACV,wBAAoB,kDAAkD;AAAA,EACxE;AACA,SAAO,EAAE,UAAU,MAAM,CAAC,GAAa,SAAU,MAAM,CAAC,EAAa,YAAY,EAAE;AACrF;AAEO,SAAS,qBAAqB,MAAoD;AACvF,MAAI,OAAO,SAAS,YAAY,KAAK,WAAW,GAAG;AACjD,WAAO;AAAA,EACT;AACA,QAAM,SAAS,gBAAgB,IAAI;AAEnC,QAAM,WAAY,OAAO,qBAA6D;AACtF,MAAI,CAAC,SAAS,SAAS;AACrB;AAAA,MACE,GAAG,IAAI;AAAA,IACT;AAAA,EACF;AACA,SAAO;AACT;AAEA,IAAM,aAAa;AAGnB,SAAS,YAAY,OAAuB;AAC1C,QAAM,QAAQ,MAAM,KAAK,EAAE,YAAY;AACvC,SAAO,WAAW,KAAK,KAAK,IAAI,QAAQ,WAAW,QAAQ,EAAE,OAAO,KAAK,EAAE,OAAO,KAAK;AACzF;AAGA,SAAS,aAAa,OAAuB;AAC3C,SAAO,UAAU,MAAM,WAAW,KAAK,MAAM,KAAK,CAAC,IAAI,KAAK,gBAAgB,SAAS,KAAK;AAC5F;AAEA,SAAS,aAAa,MAAwB;AAC5C,QAAM,QAAkB,CAAC;AACzB,MAAI,UAAU;AACd,MAAI,WAAW;AACf,WAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AACpC,UAAM,OAAO,KAAK,CAAC;AACnB,QAAI,UAAU;AACZ,UAAI,SAAS,OAAO,KAAK,IAAI,CAAC,MAAM,KAAK;AACvC,mBAAW;AACX;AAAA,MACF,WAAW,SAAS,KAAK;AACvB,mBAAW;AAAA,MACb,OAAO;AACL,mBAAW;AAAA,MACb;AAAA,IACF,WAAW,SAAS,KAAK;AACvB,iBAAW;AAAA,IACb,WAAW,SAAS,KAAK;AACvB,YAAM,KAAK,OAAO;AAClB,gBAAU;AAAA,IACZ,OAAO;AACL,iBAAW;AAAA,IACb;AAAA,EACF;AACA,QAAM,KAAK,OAAO;AAClB,SAAO,MAAM,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC;AACxC;AAaO,SAAS,iBAAiB,MAAe,SAAyC;AACvF,MAAI,OAAO,SAAS,YAAY,KAAK,WAAW,GAAG;AACjD,WAAO;AAAA,EACT;AACA,QAAM,MAAM,aAAa,MAAM,MAAM;AACrC,QAAM,QAAQ,IAAI,MAAM,OAAO,EAAE,OAAO,CAAC,SAAS,KAAK,KAAK,EAAE,SAAS,CAAC;AACxE,MAAI,MAAM,SAAS,GAAG;AACpB,wBAAoB,GAAG,IAAI,+CAA+C;AAAA,EAC5E;AACA,QAAM,UAAU,aAAa,MAAM,CAAC,CAAW,EAAE,IAAI,CAAC,WAAW,OAAO,KAAK,CAAC;AAC9E,QAAM,OAAsC,CAAC;AAC7C,QAAM,gBAA0B,CAAC;AACjC,QAAM,cAAc,QAAQ,UAAU,CAAC,WAAW,gBAAgB,MAAM,MAAM,OAAO;AACrF,aAAW,QAAQ,MAAM,MAAM,CAAC,GAAG;AACjC,UAAM,QAAQ,aAAa,IAAI;AAC/B,UAAM,MAA8B,CAAC;AACrC,YAAQ,QAAQ,CAAC,QAAQ,UAAU;AACjC,YAAM,QAAQ,MAAM,KAAK,KAAK;AAC9B,UAAI,CAAC,OAAO;AACV;AAAA,MACF;AACA,UAAI,MAAM,IAAI,gBAAgB,MAAM,MAAM,UAAU,YAAY,KAAK,IAAI;AAAA,IAC3E,CAAC;AACD,QAAI,OAAO,KAAK,GAAG,EAAE,SAAS,GAAG;AAC/B,WAAK,KAAK,GAAG;AACb,oBAAc,KAAK,aAAa,eAAe,IAAK,MAAM,WAAW,KAAK,KAAM,EAAE,CAAC;AAAA,IACrF;AAAA,EACF;AACA,MAAI,KAAK,SAAS,SAAS;AACzB,wBAAoB,GAAG,IAAI,QAAQ,KAAK,MAAM,oCAA+B,OAAO,mBAAmB;AAAA,EACzG;AACA,SAAO,EAAE,SAAS,MAAM,GAAI,eAAe,IAAI,EAAE,cAAc,IAAI,CAAC,EAAG;AACzE;AAQA,SAAS,cAAc,QAAyD;AAC9E,oBAAkB;AAAA,IAChB,IAAI;AAAA,IACJ,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS,OAAO,IAAI,CAAC,UAAW,MAAM,OAAO,GAAG,MAAM,IAAI,KAAK,MAAM,OAAO,KAAK,MAAM,OAAQ,EAAE,KAAK,IAAI;AAAA,MAC1G;AAAA,MACA,KAAK,cAAc,cAAc;AAAA,IACnC;AAAA,EACF,CAAC;AACD,UAAQ,KAAK,CAAC;AAChB;AAMA,IAAM,cACJ;AAEF,SAAS,WAAW,MAA4C;AAC9D,SAAO,KAAK,mBAAmB,SAAY,CAAC,IAAI,CAAC,WAAW;AAC9D;AAQA,eAAsB,QAAQ,KAA8B,OAAiC;AAC3F,QAAM,YAAY,2BAA2B,UAAU,GAAG;AAC1D,MAAI,CAAC,UAAU,SAAS;AACtB,kBAAc,UAAU,MAAM,OAAO,IAAI,CAAC,WAAW,EAAE,MAAM,MAAM,KAAK,KAAK,GAAG,GAAG,SAAS,MAAM,QAAQ,EAAE,CAAC;AAAA,EAC/G;AACA,MAAI;AACF,UAAM,SAAS,cAAc;AAC7B,UAAM,WAAW,MAAM,QAAuB,iCAAiC;AAAA,MAC7E;AAAA,MACA,IAAI,UAAU;AAAA,IAChB,CAAC;AACD,UAAM,WAAW;AAAA,MACf,GAAG,WAAW,SAAS,IAAI;AAAA,MAC3B,GAAI,SAAS,CAAC;AAAA,MACd,GAAG,cAAc,UAAU,MAAM,SAAS,IAAI;AAAA,MAC9C,GAAI,MAAM,YAAY,UAAU,IAAI;AAAA,IACtC;AACA,sBAAkB,UAAU,UAAU,QAAQ,CAAC;AAAA,EACjD,SAAS,KAAK;AACZ,wBAAoB,GAAG;AAAA,EACzB;AACF;AAaA,eAAsB,iBAAiB,QAAwC,OAAiC;AAC9G,MAAI,OAAO,WAAW,KAAK,OAAO,CAAC,GAAG;AACpC,UAAM,QAAQ,OAAO,CAAC,GAAG,KAAK;AAC9B;AAAA,EACF;AACA,QAAM,MAAiB,CAAC;AACxB,aAAW,CAAC,OAAO,GAAG,KAAK,OAAO,QAAQ,GAAG;AAC3C,UAAM,YAAY,2BAA2B,UAAU,GAAG;AAC1D,QAAI,CAAC,UAAU,SAAS;AACtB;AAAA,QACE,UAAU,MAAM,OAAO,IAAI,CAAC,WAAW;AAAA,UACrC,MAAM,OAAO,KAAK,IAAI,MAAM,KAAK,SAAS,IAAI,IAAI,MAAM,KAAK,KAAK,GAAG,CAAC,KAAK,EAAE;AAAA,UAC7E,SAAS,MAAM;AAAA,QACjB,EAAE;AAAA,MACJ;AAAA,IACF;AACA,QAAI,KAAK,UAAU,IAAI;AAAA,EACzB;AACA,MAAI;AACF,UAAM,SAAS,cAAc;AAC7B,UAAM,WAAW,MAAM,QAA4B,uCAAuC,EAAE,QAAQ,IAAI,CAAC;AACzG,UAAM,WAAW,CAAC,GAAI,SAAS,CAAC,GAAI,GAAI,MAAM,YAAY,GAAG,CAAE;AAC/D,sBAAkB,UAAU,UAAU,QAAQ,CAAC;AAAA,EACjD,SAAS,KAAK;AACZ,wBAAoB,GAAG;AAAA,EACzB;AACF;AAEA,eAAsB,kBAAkB,OAKtB;AAChB,QAAM,UAAU,MAAM,SAAS,oBAAoB,EAAE,gBAAgB,MAAM,OAAO,IAAI,EAAE,QAAQ,MAAM,OAAO;AAC7G,QAAM;AAAA,IACJ,MAAM,QAAQ,IAAI,CAAC,YAAY,EAAE,MAAM,MAAM,MAAM,WAAW,MAAM,WAAW,QAAQ,QAAQ,EAAE;AAAA,EACnG;AACF;AAaO,SAAS,cAAc,MAA+B,QAAwB;AACnF,QAAM,WAAW,2BAA2B,MAAM,MAAM;AACxD,MAAI,aAAa,QAAW;AAC1B,wBAAoB,QAAQ;AAAA,EAC9B;AACA,QAAM,cAAc,gBAAgB,IAAI;AACxC,QAAM,SAAS,KAAK,MAAM,KAAK,UAAU,KAAK,OAAO,YAAY,CAAC;AAClE,MAAI,OAAO,WAAW,YAAY,OAAO,WAAW,GAAG;AACrD,wBAAoB,YAAY,MAAM,uCAAuC;AAAA,EAC/E;AAGA,MAAI,YAAY,SAAS,KAAK,YAAY,MAAM,EAAE,SAAS,GAAG;AAC5D;AAAA,MACE,0BAA0B,MAAM;AAAA,IAClC;AAAA,EACF;AACA,SAAO;AACT;AAGA,SAAS,gBAAgB,MAAyC;AAChE,MAAI,CAAC,MAAM,QAAQ,KAAK,CAAC,GAAG;AAC1B,WAAO,CAAC;AAAA,EACV;AACA,SAAO,KAAK,EAAE,OAAO,CAAC,UAA2B,OAAO,UAAU,YAAY,MAAM,SAAS,CAAC;AAChG;AAGA,SAAS,YAAY,KAAuB;AAC1C,SAAO,IACJ,MAAM,GAAG,EACT,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,EACrB,OAAO,OAAO;AACnB;AAMA,SAAS,eAAe,MAAyB;AAC/C,MAAI,OAAO,SAAS,YAAY,KAAK,WAAW,GAAG;AACjD,WAAO,CAAC;AAAA,EACV;AACA,SAAO,aAAa,MAAM,MAAM,EAC7B,MAAM,OAAO,EACb,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,EACzB,OAAO,CAAC,SAAS,KAAK,SAAS,KAAK,CAAC,KAAK,WAAW,GAAG,CAAC,EACzD,QAAQ,WAAW;AACxB;AAWO,SAAS,eAAe,MAA+B,QAA0B;AAKtF,QAAM,cAAc,gBAAgB,IAAI;AACxC,QAAM,QAAQ,CAAC,KAAK,IAAI,KAAK,QAAQ,KAAK,GAAG,EAAE;AAAA,IAC7C,CAAC,UAA2B,OAAO,UAAU,YAAY,MAAM,SAAS;AAAA,EAC1E;AACA,QAAM,WAAW,YAAY,SAAS,IAAI,cAAc;AACxD,QAAM,UAAU,CAAC,GAAG,oBAAI,IAAI,CAAC,GAAG,SAAS,QAAQ,WAAW,GAAG,GAAG,eAAe,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC;AACpG,MAAI,QAAQ,WAAW,GAAG;AACxB;AAAA,MACE,YAAY,MAAM;AAAA,IACpB;AAAA,EACF;AACA,MAAI,QAAQ,SAAS,0BAA0B;AAC7C;AAAA,MACE,GAAG,QAAQ,MAAM,mCAAmC,wBAAwB;AAAA,IAC9E;AAAA,EACF;AACA,SAAO;AACT;","names":[]}
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
mediaTagsCreateRequestSchema,
|
|
3
3
|
mediaTagsDeleteRequestSchema,
|
|
4
4
|
mediaTagsUpdateRequestSchema
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-PR45G3SV.js";
|
|
6
6
|
import {
|
|
7
7
|
ApiError,
|
|
8
8
|
apiGet,
|
|
@@ -194,4 +194,4 @@ Examples:
|
|
|
194
194
|
export {
|
|
195
195
|
makeTagsCommand
|
|
196
196
|
};
|
|
197
|
-
//# sourceMappingURL=chunk-
|
|
197
|
+
//# sourceMappingURL=chunk-TQR2TL2X.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
RESEARCH_GOOGLE_ADS_MAX_COPY
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-PR45G3SV.js";
|
|
4
4
|
|
|
5
5
|
// src/commands/research/hints.ts
|
|
6
6
|
var AD_COPY_ROUTE = 'This returns competing domains and their SERP economics \u2014 no ad copy, no headlines, no creative. For a competitor\'s Google ads and their copy: `baker research google-ads <competitor.com> --copy` (Google\'s Ads Transparency Center: every ad, how long it has run, and the text ads\' headline and description). For Meta and LinkedIn: `baker winning-ads advertisers "<brand>"` \u2192 `baker winning-ads search "<brief>" --advertiser-id <id>` \u2192 `baker winning-ads content <adId>` (`primary_text` / `headline` / `cta`, plus the spoken transcript and on-screen text for video). Do not keep querying this command for copy.';
|
|
@@ -316,4 +316,4 @@ export {
|
|
|
316
316
|
companySearchHints,
|
|
317
317
|
unknownIndustriesFix
|
|
318
318
|
};
|
|
319
|
-
//# sourceMappingURL=chunk-
|
|
319
|
+
//# sourceMappingURL=chunk-UXJSZ74Q.js.map
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
} from "./chunk-MF3BTAT6.js";
|
|
13
13
|
import {
|
|
14
14
|
CREATIVE_FEEDBACK_REASON_LABELS
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-PR45G3SV.js";
|
|
16
16
|
|
|
17
17
|
// src/commands/creatives/rule-candidate.ts
|
|
18
18
|
import { createHash } from "crypto";
|
|
@@ -153,4 +153,4 @@ export {
|
|
|
153
153
|
repeatedReasons,
|
|
154
154
|
ruleCandidateHints
|
|
155
155
|
};
|
|
156
|
-
//# sourceMappingURL=chunk-
|
|
156
|
+
//# sourceMappingURL=chunk-VU6UJXPW.js.map
|
|
@@ -64,6 +64,11 @@ var postsSuggestRequestSchema = z.object({
|
|
|
64
64
|
verdict: adUseVerdictSchema,
|
|
65
65
|
note: z.string().trim().min(1, "Say why, in a sentence a marketer reads").max(SOCIAL_POST_NOTE_MAX, `Keep the note under ${SOCIAL_POST_NOTE_MAX} characters`)
|
|
66
66
|
});
|
|
67
|
+
var postsApprovedRequestSchema = z.object({
|
|
68
|
+
id: socialPostIdSchema,
|
|
69
|
+
/** The LinkedIn ad account the author approved the post for. */
|
|
70
|
+
accountId: z.string().trim().regex(/^(urn:li:sponsoredAccount:)?\d+$/, "Pass the LinkedIn ad account id, e.g. 513852526")
|
|
71
|
+
});
|
|
67
72
|
var socialPostTagSchema = z.string().trim().min(1).max(SOCIAL_POST_TAG_MAX_CHARS, `Keep each tag under ${SOCIAL_POST_TAG_MAX_CHARS} characters`);
|
|
68
73
|
var postsTagRequestSchema = z.object({
|
|
69
74
|
id: socialPostIdSchema,
|
|
@@ -91,7 +96,8 @@ export {
|
|
|
91
96
|
postsListQuerySchema,
|
|
92
97
|
postsAddRequestSchema,
|
|
93
98
|
postsSuggestRequestSchema,
|
|
99
|
+
postsApprovedRequestSchema,
|
|
94
100
|
postsTagRequestSchema,
|
|
95
101
|
socialAccountUpdateRequestSchema
|
|
96
102
|
};
|
|
97
|
-
//# sourceMappingURL=chunk-
|
|
103
|
+
//# sourceMappingURL=chunk-WCU362Z6.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../api/src/social-posts.ts"],"sourcesContent":["/**\n * Contract for `/api/posts/...` — the posts the company's followed accounts\n * published (its own pages and its key people: CEO, CTO, head of sales…), and\n * whether each one can run as a paid ad.\n *\n * Mirrors `convex/socialPosts/validators.ts` and `convex/lib/sourcePost.ts`.\n */\nimport { z } from \"zod\";\n\nexport const SOCIAL_POST_PLATFORMS = [\"instagram\", \"tiktok\", \"youtube\", \"linkedin\", \"facebook\"] as const;\nexport const socialPostPlatformSchema = z.enum(SOCIAL_POST_PLATFORMS);\nexport type SocialPostPlatform = z.infer<typeof socialPostPlatformSchema>;\n\nexport const SOCIAL_POST_PLATFORM_LABELS: Record<SocialPostPlatform, string> = {\n instagram: \"Instagram\",\n tiktok: \"TikTok\",\n youtube: \"YouTube\",\n linkedin: \"LinkedIn\",\n facebook: \"Facebook\",\n};\n\nexport const SOCIAL_PERSON_ROLES = [\n \"ceo\",\n \"founder\",\n \"cto\",\n \"cmo\",\n \"head_of_sales\",\n \"sales\",\n \"marketing\",\n \"employee\",\n \"creator\",\n \"other\",\n] as const;\nexport const socialPersonRoleSchema = z.enum(SOCIAL_PERSON_ROLES);\nexport type SocialPersonRole = z.infer<typeof socialPersonRoleSchema>;\n\nexport const SOCIAL_ROLE_LABELS: Record<SocialPersonRole, string> = {\n ceo: \"CEO\",\n founder: \"Founder\",\n cto: \"CTO\",\n cmo: \"CMO\",\n head_of_sales: \"Head of sales\",\n sales: \"Sales\",\n marketing: \"Marketing\",\n employee: \"Employee\",\n creator: \"Creator\",\n other: \"Other\",\n};\n\nexport const AD_USE_VERDICTS = [\"usable\", \"needs_approval\", \"not_usable\"] as const;\nexport const adUseVerdictSchema = z.enum(AD_USE_VERDICTS);\nexport type AdUseVerdict = z.infer<typeof adUseVerdictSchema>;\n\nexport const AD_USE_LABELS: Record<AdUseVerdict, string> = {\n usable: \"Usable in ads\",\n needs_approval: \"Needs the author's OK\",\n not_usable: \"Can't run as an ad\",\n};\n\nexport const SOCIAL_POST_FORMATS = [\n \"text\",\n \"image\",\n \"multi_image\",\n \"carousel\",\n \"video\",\n \"document\",\n \"article\",\n \"poll\",\n \"event\",\n \"reel\",\n \"short\",\n] as const;\nexport const socialPostFormatSchema = z.enum(SOCIAL_POST_FORMATS);\n\n/** The longest note on a \"Usable in ads\" answer or suggestion: a sentence or two a marketer reads. */\nexport const SOCIAL_POST_NOTE_MAX = 500;\n/** Tags are short labels, and a post keeps a handful. */\nexport const SOCIAL_POST_TAG_MAX_CHARS = 40;\nexport const SOCIAL_POST_TAGS_MAX = 20;\n\n/** A Baker post id — what `baker posts list` prints and `--post` takes. */\nexport const socialPostIdSchema = z.string().trim().min(1, \"Pass a post id from `baker posts list`\");\n\n// --- GET /api/posts/list ---\nexport const postsListQuerySchema = z.object({\n /** A followed account's key (`linkedin:in/jacintofleta`). */\n account: z.string().trim().optional(),\n role: socialPersonRoleSchema.optional(),\n platform: socialPostPlatformSchema.optional(),\n usable: adUseVerdictSchema.optional(),\n \"about-company\": z.enum([\"true\", \"false\"]).optional(),\n /** ISO date: only posts published on or after it. */\n since: z.string().trim().optional(),\n sort: z.enum([\"date\", \"engagement\"]).optional(),\n limit: z.coerce.number().int().min(1).max(200).optional(),\n});\nexport type PostsListQuery = z.infer<typeof postsListQuerySchema>;\n\n// --- GET /api/posts/search ---\nexport const postsSearchQuerySchema = z.object({\n q: z.string().trim().min(1, \"Pass what to look for\"),\n platform: socialPostPlatformSchema.optional(),\n limit: z.coerce.number().int().min(1).max(100).optional(),\n});\n\n// --- GET /api/posts/get ---\nexport const postsGetQuerySchema = z.object({ id: socialPostIdSchema });\n\n// --- POST /api/posts/add ---\nexport const postsAddRequestSchema = z.object({\n /** The post's link — a normal one is fine, the embed link is not needed. */\n url: z.string().trim().url(\"Pass the post's link\"),\n /** Import its images and videos into the libraries too (default). */\n media: z.boolean().optional(),\n});\nexport type PostsAddRequest = z.infer<typeof postsAddRequestSchema>;\n\n// --- POST /api/posts/suggest ---\nexport const postsSuggestRequestSchema = z.object({\n id: socialPostIdSchema,\n verdict: adUseVerdictSchema,\n note: z\n .string()\n .trim()\n .min(1, \"Say why, in a sentence a marketer reads\")\n .max(SOCIAL_POST_NOTE_MAX, `Keep the note under ${SOCIAL_POST_NOTE_MAX} characters`),\n});\nexport type PostsSuggestRequest = z.infer<typeof postsSuggestRequestSchema>;\n\n// --- POST /api/posts/approved ---\nexport const postsApprovedRequestSchema = z.object({\n id: socialPostIdSchema,\n /** The LinkedIn ad account the author approved the post for. */\n accountId: z\n .string()\n .trim()\n .regex(/^(urn:li:sponsoredAccount:)?\\d+$/, \"Pass the LinkedIn ad account id, e.g. 513852526\"),\n});\nexport type PostsApprovedRequest = z.infer<typeof postsApprovedRequestSchema>;\n\n// --- POST /api/posts/tag ---\nconst socialPostTagSchema = z\n .string()\n .trim()\n .min(1)\n .max(SOCIAL_POST_TAG_MAX_CHARS, `Keep each tag under ${SOCIAL_POST_TAG_MAX_CHARS} characters`);\n\nexport const postsTagRequestSchema = z\n .object({\n id: socialPostIdSchema,\n add: z\n .array(socialPostTagSchema)\n .max(SOCIAL_POST_TAGS_MAX, `A post keeps at most ${SOCIAL_POST_TAGS_MAX} tags`)\n .default([]),\n remove: z.array(socialPostTagSchema).max(SOCIAL_POST_TAGS_MAX).default([]),\n })\n .refine((value) => value.add.length + value.remove.length > 0, \"Pass a tag to add or remove\");\n\n// --- POST /api/posts/refresh ---\nexport const postsRefreshRequestSchema = z.object({ id: socialPostIdSchema });\n\n// --- POST /api/media-sources/update (who an account is) ---\nexport const socialAccountUpdateRequestSchema = z\n .object({\n key: z.string().trim().min(1),\n /** Marks the account as a person and names them. */\n person: z.string().trim().min(1).optional(),\n role: socialPersonRoleSchema.optional(),\n title: z.string().trim().min(1).optional(),\n /** False for a partner, a creator or another brand. */\n own: z.boolean().optional(),\n })\n .refine(\n (value) =>\n value.person !== undefined || value.role !== undefined || value.title !== undefined || value.own !== undefined,\n \"Pass --person, --role, --title or --own/--not-own\",\n );\nexport type SocialAccountUpdateRequest = z.infer<typeof socialAccountUpdateRequestSchema>;\n\n/** One post, compact: what the agent needs to choose one. */\nexport type SocialPostRow = {\n id: string;\n platform: SocialPostPlatform;\n account?: string;\n author?: string;\n role?: SocialPersonRole;\n format: string;\n publishedAt?: string;\n excerpt?: string;\n url: string;\n likes?: number;\n comments?: number;\n views?: number;\n usable: AdUseVerdict;\n aboutCompany: boolean;\n};\n"],"mappings":"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","names":[]}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
failApi
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-PPKQTNY7.js";
|
|
4
4
|
import {
|
|
5
5
|
CREATIVE_PERFORMANCE_DEFAULT_DAYS,
|
|
6
6
|
CREATIVE_PERFORMANCE_MAX_DAYS
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-PR45G3SV.js";
|
|
8
8
|
import {
|
|
9
9
|
apiPost
|
|
10
10
|
} from "./chunk-4U7HXXSA.js";
|
|
@@ -160,4 +160,4 @@ export {
|
|
|
160
160
|
parseDays,
|
|
161
161
|
performanceCommand
|
|
162
162
|
};
|
|
163
|
-
//# sourceMappingURL=chunk-
|
|
163
|
+
//# sourceMappingURL=chunk-WNX5RQCM.js.map
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
onlyCondition,
|
|
13
13
|
triggerProblem,
|
|
14
14
|
validateEventName
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-PR45G3SV.js";
|
|
16
16
|
|
|
17
17
|
// ../api/src/event-sources/hubspot.ts
|
|
18
18
|
var HUBSPOT_CONTACT_ID_VARIABLE = "id";
|
|
@@ -389,4 +389,4 @@ export {
|
|
|
389
389
|
hubspotDefaultMapping,
|
|
390
390
|
hubspotTriggerInputSchema
|
|
391
391
|
};
|
|
392
|
-
//# sourceMappingURL=chunk-
|
|
392
|
+
//# sourceMappingURL=chunk-XEJMY2NG.js.map
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./chunk-JOE42ZW6.js";
|
|
4
4
|
import {
|
|
5
5
|
flowNodeTriggers
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-PR45G3SV.js";
|
|
7
7
|
|
|
8
8
|
// ../api/src/analytics/flowEventKeys.ts
|
|
9
9
|
function flowNodes(node, acc = []) {
|
|
@@ -54,4 +54,4 @@ export {
|
|
|
54
54
|
flowNodes,
|
|
55
55
|
flowEventKeys
|
|
56
56
|
};
|
|
57
|
-
//# sourceMappingURL=chunk-
|
|
57
|
+
//# sourceMappingURL=chunk-YQWJBAA6.js.map
|
|
@@ -25,7 +25,7 @@ function nextStepHints(post) {
|
|
|
25
25
|
}
|
|
26
26
|
if (post.usable === "needs_approval") {
|
|
27
27
|
return [
|
|
28
|
-
`It can run as a Thought Leader ad once its author approves it (Campaign Manager \u2192 Thought leader ad \u2192 find the post \u2192 request permission; they can turn on auto-approval for the page). Stage it now with \`baker ads linkedin creatives create --format tla --post ${post.id} --campaign <ad set>\` \u2014 LinkedIn refuses it at publish until they have.`
|
|
28
|
+
`It can run as a Thought Leader ad once its author approves it (Campaign Manager \u2192 Thought leader ad \u2192 find the post \u2192 request permission; they can turn on auto-approval for the page). Stage it now with \`baker ads linkedin creatives create --format tla --post ${post.id} --campaign <ad set>\` \u2014 LinkedIn refuses it at publish until they have. If the user says the author already approved it, record it with \`baker posts approved ${post.id} --account-id <ad account>\` and Baker stops reminding them for that ad account.`
|
|
29
29
|
];
|
|
30
30
|
}
|
|
31
31
|
return [];
|
|
@@ -36,4 +36,4 @@ export {
|
|
|
36
36
|
validationError,
|
|
37
37
|
nextStepHints
|
|
38
38
|
};
|
|
39
|
-
//# sourceMappingURL=chunk-
|
|
39
|
+
//# sourceMappingURL=chunk-Z7MOJPTA.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/commands/posts/shared.ts"],"sourcesContent":["import { ApiError } from \"../../client.ts\";\nimport { writeJson } from \"../../output.ts\";\n\n/** Emit the `{ ok: false, error }` envelope and exit non-zero. */\nexport function reportError(err: unknown): never {\n if (err instanceof ApiError) {\n writeJson({ ok: false, error: { code: err.code, message: err.message } });\n process.exit(1);\n }\n writeJson({ ok: false, error: { code: \"INTERNAL_ERROR\", message: \"Unexpected error\" } });\n process.exit(1);\n}\n\nexport function validationError(message: string): never {\n writeJson({ ok: false, error: { code: \"VALIDATION_ERROR\", message } });\n process.exit(1);\n}\n\n/** What to do with a post next, given whether it can run as an ad. */\nexport function nextStepHints(post: { id: string; platform: string; usable: string }): string[] {\n if (post.platform !== \"linkedin\") return [];\n if (post.usable === \"usable\") {\n return [`Boost it: \\`baker ads linkedin creatives create --format tla --post ${post.id} --campaign <ad set>\\`.`];\n }\n if (post.usable === \"needs_approval\") {\n return [\n `It can run as a Thought Leader ad once its author approves it (Campaign Manager → Thought leader ad → find the post → request permission; they can turn on auto-approval for the page). Stage it now with \\`baker ads linkedin creatives create --format tla --post ${post.id} --campaign <ad set>\\` — LinkedIn refuses it at publish until they have.`,\n ];\n }\n return [];\n}\n"],"mappings":";;;;;;;;AAIO,SAAS,YAAY,KAAqB;AAC/C,MAAI,eAAe,UAAU;AAC3B,cAAU,EAAE,IAAI,OAAO,OAAO,EAAE,MAAM,IAAI,MAAM,SAAS,IAAI,QAAQ,EAAE,CAAC;AACxE,YAAQ,KAAK,CAAC;AAAA,EAChB;AACA,YAAU,EAAE,IAAI,OAAO,OAAO,EAAE,MAAM,kBAAkB,SAAS,mBAAmB,EAAE,CAAC;AACvF,UAAQ,KAAK,CAAC;AAChB;AAEO,SAAS,gBAAgB,SAAwB;AACtD,YAAU,EAAE,IAAI,OAAO,OAAO,EAAE,MAAM,oBAAoB,QAAQ,EAAE,CAAC;AACrE,UAAQ,KAAK,CAAC;AAChB;AAGO,SAAS,cAAc,MAAkE;AAC9F,MAAI,KAAK,aAAa,WAAY,QAAO,CAAC;AAC1C,MAAI,KAAK,WAAW,UAAU;AAC5B,WAAO,CAAC,uEAAuE,KAAK,EAAE,yBAAyB;AAAA,EACjH;AACA,MAAI,KAAK,WAAW,kBAAkB;AACpC,WAAO;AAAA,MACL,sRAAuQ,KAAK,EAAE;AAAA,
|
|
1
|
+
{"version":3,"sources":["../src/commands/posts/shared.ts"],"sourcesContent":["import { ApiError } from \"../../client.ts\";\nimport { writeJson } from \"../../output.ts\";\n\n/** Emit the `{ ok: false, error }` envelope and exit non-zero. */\nexport function reportError(err: unknown): never {\n if (err instanceof ApiError) {\n writeJson({ ok: false, error: { code: err.code, message: err.message } });\n process.exit(1);\n }\n writeJson({ ok: false, error: { code: \"INTERNAL_ERROR\", message: \"Unexpected error\" } });\n process.exit(1);\n}\n\nexport function validationError(message: string): never {\n writeJson({ ok: false, error: { code: \"VALIDATION_ERROR\", message } });\n process.exit(1);\n}\n\n/** What to do with a post next, given whether it can run as an ad. */\nexport function nextStepHints(post: { id: string; platform: string; usable: string }): string[] {\n if (post.platform !== \"linkedin\") return [];\n if (post.usable === \"usable\") {\n return [`Boost it: \\`baker ads linkedin creatives create --format tla --post ${post.id} --campaign <ad set>\\`.`];\n }\n if (post.usable === \"needs_approval\") {\n return [\n `It can run as a Thought Leader ad once its author approves it (Campaign Manager → Thought leader ad → find the post → request permission; they can turn on auto-approval for the page). Stage it now with \\`baker ads linkedin creatives create --format tla --post ${post.id} --campaign <ad set>\\` — LinkedIn refuses it at publish until they have. If the user says the author already approved it, record it with \\`baker posts approved ${post.id} --account-id <ad account>\\` and Baker stops reminding them for that ad account.`,\n ];\n }\n return [];\n}\n"],"mappings":";;;;;;;;AAIO,SAAS,YAAY,KAAqB;AAC/C,MAAI,eAAe,UAAU;AAC3B,cAAU,EAAE,IAAI,OAAO,OAAO,EAAE,MAAM,IAAI,MAAM,SAAS,IAAI,QAAQ,EAAE,CAAC;AACxE,YAAQ,KAAK,CAAC;AAAA,EAChB;AACA,YAAU,EAAE,IAAI,OAAO,OAAO,EAAE,MAAM,kBAAkB,SAAS,mBAAmB,EAAE,CAAC;AACvF,UAAQ,KAAK,CAAC;AAChB;AAEO,SAAS,gBAAgB,SAAwB;AACtD,YAAU,EAAE,IAAI,OAAO,OAAO,EAAE,MAAM,oBAAoB,QAAQ,EAAE,CAAC;AACrE,UAAQ,KAAK,CAAC;AAChB;AAGO,SAAS,cAAc,MAAkE;AAC9F,MAAI,KAAK,aAAa,WAAY,QAAO,CAAC;AAC1C,MAAI,KAAK,WAAW,UAAU;AAC5B,WAAO,CAAC,uEAAuE,KAAK,EAAE,yBAAyB;AAAA,EACjH;AACA,MAAI,KAAK,WAAW,kBAAkB;AACpC,WAAO;AAAA,MACL,sRAAuQ,KAAK,EAAE,wKAAmK,KAAK,EAAE;AAAA,IAC1b;AAAA,EACF;AACA,SAAO,CAAC;AACV;","names":[]}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
avatarsOf
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-6ZHVCUHZ.js";
|
|
4
4
|
import {
|
|
5
5
|
readAvatars
|
|
6
6
|
} from "./chunk-UTFSUMLU.js";
|
|
7
7
|
import {
|
|
8
8
|
readCreativeContext,
|
|
9
9
|
workspaceOfCreative
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-RDYS7Z5Y.js";
|
|
11
11
|
import {
|
|
12
12
|
frontmatterOf,
|
|
13
13
|
ruleTells
|
|
@@ -139,4 +139,4 @@ export {
|
|
|
139
139
|
heldRules,
|
|
140
140
|
ruleGate
|
|
141
141
|
};
|
|
142
|
-
//# sourceMappingURL=chunk-
|
|
142
|
+
//# sourceMappingURL=chunk-ZGXRX7VQ.js.map
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
failApi,
|
|
3
3
|
failValidation
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-PPKQTNY7.js";
|
|
5
|
+
import "./chunk-PR45G3SV.js";
|
|
6
|
+
import "./chunk-QV6AST5T.js";
|
|
7
|
+
import "./chunk-WCU362Z6.js";
|
|
8
8
|
import "./chunk-GIWHHCD6.js";
|
|
9
9
|
import "./chunk-SOPVIIUW.js";
|
|
10
10
|
import "./chunk-G4FG5EQO.js";
|
|
@@ -197,4 +197,4 @@ var claimCommand = defineCommand({
|
|
|
197
197
|
export {
|
|
198
198
|
claimCommand
|
|
199
199
|
};
|
|
200
|
-
//# sourceMappingURL=claim-
|
|
200
|
+
//# sourceMappingURL=claim-UUYFZYQX.js.map
|
package/dist/cli.js
CHANGED
|
@@ -166,43 +166,43 @@ Formats: --output json works on every command that prints the envelope. --output
|
|
|
166
166
|
Introspection: Run 'baker schema <command>' to inspect argument schemas.`
|
|
167
167
|
},
|
|
168
168
|
subCommands: {
|
|
169
|
-
capabilities: () => import("./capabilities-
|
|
170
|
-
actions: () => import("./actions-
|
|
171
|
-
"scheduled-agents": () => import("./scheduled-agents-
|
|
172
|
-
ads: () => import("./ads-
|
|
173
|
-
brand: () => import("./brand-
|
|
174
|
-
analytics: () => import("./analytics-
|
|
169
|
+
capabilities: () => import("./capabilities-IV3TIY5P.js").then((m) => m.capabilitiesCommand),
|
|
170
|
+
actions: () => import("./actions-WQBRBRQM.js").then((m) => m.actionsCommand),
|
|
171
|
+
"scheduled-agents": () => import("./scheduled-agents-A5OLKMAB.js").then((m) => m.scheduledAgentsCommand),
|
|
172
|
+
ads: () => import("./ads-Y7WZPGER.js").then((m) => m.adsCommand),
|
|
173
|
+
brand: () => import("./brand-XPLJH74A.js").then((m) => m.brandCommand),
|
|
174
|
+
analytics: () => import("./analytics-OBXOCY64.js").then((m) => m.analyticsCommand),
|
|
175
175
|
experiment: () => import("./experiment-XNEYJVLH.js").then((m) => m.experimentCommand),
|
|
176
176
|
ga4: () => import("./ga4-G5NKZI3Y.js").then((m) => m.ga4Command),
|
|
177
177
|
gsc: () => import("./gsc-7D62WFOR.js").then((m) => m.gscCommand),
|
|
178
|
-
research: () => import("./research-
|
|
178
|
+
research: () => import("./research-F4GTVF3J.js").then((m) => m.researchCommand),
|
|
179
179
|
decide: () => import("./decide-HTTX2ZIT.js").then((m) => m.decideCommand),
|
|
180
|
-
creatives: () => import("./creatives-
|
|
181
|
-
flows: () => import("./flows-
|
|
182
|
-
funnel: () => import("./funnel-
|
|
183
|
-
images: () => import("./images-
|
|
180
|
+
creatives: () => import("./creatives-BVDFEUGW.js").then((m) => m.creativesCommand),
|
|
181
|
+
flows: () => import("./flows-77TYO56Q.js").then((m) => m.flowsCommand),
|
|
182
|
+
funnel: () => import("./funnel-EKW64M7Z.js").then((m) => m.funnelCommand),
|
|
183
|
+
images: () => import("./images-JEC7LTTJ.js").then((m) => m.imagesCommand),
|
|
184
184
|
studio: () => import("./studio-FJL2TIZK.js").then((m) => m.studioCommand),
|
|
185
|
-
avatars: () => import("./avatars-
|
|
186
|
-
landing: () => import("./landing-
|
|
187
|
-
videos: () => import("./videos-
|
|
188
|
-
testimonials: () => import("./testimonials-
|
|
189
|
-
canvas: () => import("./canvas-
|
|
190
|
-
tags: () => import("./tags-
|
|
185
|
+
avatars: () => import("./avatars-KU4DN7VX.js").then((m) => m.avatarsCommand),
|
|
186
|
+
landing: () => import("./landing-L6KGKU4P.js").then((m) => m.landingCommand),
|
|
187
|
+
videos: () => import("./videos-RYCPYL5P.js").then((m) => m.videosCommand),
|
|
188
|
+
testimonials: () => import("./testimonials-Q3HZ7CW5.js").then((m) => m.testimonialsCommand),
|
|
189
|
+
canvas: () => import("./canvas-DE2DVGQT.js").then((m) => m.canvasCommand),
|
|
190
|
+
tags: () => import("./tags-SZM7BZEN.js").then((m) => m.tagsCommand),
|
|
191
191
|
"tag-manager": () => import("./tag-manager-M2Z6TEV6.js").then((m) => m.tagManagerCommand),
|
|
192
|
-
chats: () => import("./chats-
|
|
193
|
-
history: () => import("./history-
|
|
194
|
-
credentials: () => import("./credentials-
|
|
195
|
-
hubspot: () => import("./hubspot-
|
|
196
|
-
activecampaign: () => import("./activecampaign-
|
|
197
|
-
accounts: () => import("./accounts-
|
|
198
|
-
shopify: () => import("./shopify-
|
|
199
|
-
"winning-ads": () => import("./winning-ads-
|
|
200
|
-
"media-sources": () => import("./media-sources-
|
|
201
|
-
posts: () => import("./posts-
|
|
202
|
-
site: () => import("./site-
|
|
203
|
-
mcp: () => import("./mcp-
|
|
204
|
-
"setup-links": () => import("./setup-links-
|
|
205
|
-
organization: () => import("./organization-
|
|
192
|
+
chats: () => import("./chats-O3KS5FRK.js").then((m) => m.chatsCommand),
|
|
193
|
+
history: () => import("./history-CXVGFR2N.js").then((m) => m.historyCommand),
|
|
194
|
+
credentials: () => import("./credentials-RBVXAYGB.js").then((m) => m.credentialsCommand),
|
|
195
|
+
hubspot: () => import("./hubspot-FHJHMYJI.js").then((m) => m.hubspotCommand),
|
|
196
|
+
activecampaign: () => import("./activecampaign-GJ4QHU5I.js").then((m) => m.activecampaignCommand),
|
|
197
|
+
accounts: () => import("./accounts-X6OS6LFQ.js").then((m) => m.accountsCommand),
|
|
198
|
+
shopify: () => import("./shopify-3KNP5U4O.js").then((m) => m.shopifyCommand),
|
|
199
|
+
"winning-ads": () => import("./winning-ads-YIBTH2Q5.js").then((m) => m.winningAdsCommand),
|
|
200
|
+
"media-sources": () => import("./media-sources-WZJ67OP7.js").then((m) => m.mediaSourcesCommand),
|
|
201
|
+
posts: () => import("./posts-PPSQ726T.js").then((m) => m.postsCommand),
|
|
202
|
+
site: () => import("./site-5NCEJBUK.js").then((m) => m.siteCommand),
|
|
203
|
+
mcp: () => import("./mcp-FFODYTJ2.js").then((m) => m.mcpCommand),
|
|
204
|
+
"setup-links": () => import("./setup-links-5PAHBVRM.js").then((m) => m.setupLinksCommand),
|
|
205
|
+
organization: () => import("./organization-I2DXVVIE.js").then((m) => m.organizationCommand),
|
|
206
206
|
schema: () => import("./schema-YO5VLVDS.js").then((m) => m.schemaCommand)
|
|
207
207
|
}
|
|
208
208
|
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
csvOrJson,
|
|
3
3
|
handleLinkedinError
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-JOKLBSDV.js";
|
|
5
5
|
import {
|
|
6
6
|
TABLE_OUTPUT_FORMATS,
|
|
7
7
|
outputFormatRefusal,
|
|
@@ -14,9 +14,9 @@ import {
|
|
|
14
14
|
} from "./chunk-7PMGAOHZ.js";
|
|
15
15
|
import {
|
|
16
16
|
linkedinCompaniesRequestSchema
|
|
17
|
-
} from "./chunk-
|
|
18
|
-
import "./chunk-
|
|
19
|
-
import "./chunk-
|
|
17
|
+
} from "./chunk-PR45G3SV.js";
|
|
18
|
+
import "./chunk-QV6AST5T.js";
|
|
19
|
+
import "./chunk-WCU362Z6.js";
|
|
20
20
|
import "./chunk-GIWHHCD6.js";
|
|
21
21
|
import "./chunk-SOPVIIUW.js";
|
|
22
22
|
import "./chunk-G4FG5EQO.js";
|
|
@@ -195,4 +195,4 @@ export {
|
|
|
195
195
|
companiesCommand,
|
|
196
196
|
companiesHints
|
|
197
197
|
};
|
|
198
|
-
//# sourceMappingURL=companies-
|
|
198
|
+
//# sourceMappingURL=companies-SJPRPNZW.js.map
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
companyHints,
|
|
3
3
|
companySearchHints,
|
|
4
4
|
unknownIndustriesFix
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-UXJSZ74Q.js";
|
|
6
6
|
import {
|
|
7
7
|
handleResearchError,
|
|
8
8
|
writeResearchJson
|
|
@@ -12,9 +12,9 @@ import {
|
|
|
12
12
|
RESEARCH_COMPANY_SEARCH_MAX_LIMIT,
|
|
13
13
|
RESEARCH_COMPANY_SIZES,
|
|
14
14
|
researchCompanySearchRequestSchema
|
|
15
|
-
} from "./chunk-
|
|
16
|
-
import "./chunk-
|
|
17
|
-
import "./chunk-
|
|
15
|
+
} from "./chunk-PR45G3SV.js";
|
|
16
|
+
import "./chunk-QV6AST5T.js";
|
|
17
|
+
import "./chunk-WCU362Z6.js";
|
|
18
18
|
import "./chunk-GIWHHCD6.js";
|
|
19
19
|
import "./chunk-SOPVIIUW.js";
|
|
20
20
|
import "./chunk-G4FG5EQO.js";
|
|
@@ -305,4 +305,4 @@ Examples:
|
|
|
305
305
|
export {
|
|
306
306
|
companyCommand
|
|
307
307
|
};
|
|
308
|
-
//# sourceMappingURL=company-
|
|
308
|
+
//# sourceMappingURL=company-DNWA3VBT.js.map
|