@koda-sl/baker-cli 0.477.0 → 0.479.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 +57 -22
- package/dist/account-7LUQWY6Q.js +49 -0
- package/dist/account-VH2AATWI.js +79 -0
- package/dist/account-Z65CPOWE.js +80 -0
- package/dist/account-reads-GYI2SS6T.js +218 -0
- package/dist/account-writes-4N2MA2ZR.js +66 -0
- package/dist/accounts-E4TVYTUR.js +115 -0
- package/dist/accounts-SMB3TNXX.js +114 -0
- package/dist/accounts-SPLE7URQ.js +611 -0
- package/dist/accounts-UA2ZWRN4.js +75 -0
- package/dist/accounts-XG472YLB.js +77 -0
- package/dist/actions-KQTXBNJU.js +55 -0
- package/dist/active-entities-MCL7UEGV.js +103 -0
- package/dist/activecampaign-42JXANUA.js +935 -0
- package/dist/activities-IQPJPP4B.js +74 -0
- package/dist/ad-group-writes-EUTMPBMK.js +170 -0
- package/dist/ad-groups-OVPAI5RM.js +68 -0
- package/dist/ad-writes-DACTYFEO.js +174 -0
- package/dist/add-5IGUQHVZ.js +105 -0
- package/dist/add-BK5AQI5A.js +97 -0
- package/dist/add-C3FQ5D62.js +104 -0
- package/dist/add-KTEJCE4L.js +302 -0
- package/dist/add-accounts-CJSV5NPL.js +91 -0
- package/dist/ads-HXX2IAFF.js +113 -0
- package/dist/ads-L65JIKCD.js +77 -0
- package/dist/ads-RAUM6ISF.js +128 -0
- package/dist/ads-WPI3AMSR.js +40 -0
- package/dist/adsets-LPN6WFGF.js +176 -0
- package/dist/advertisers-36HP3AOE.js +120 -0
- package/dist/advertisers-DS2NRWKI.js +125 -0
- package/dist/analytics-I4LZCRG2.js +433 -0
- package/dist/analytics-IFNBT7IM.js +1976 -0
- package/dist/animate-3LV3LHXQ.js +480 -0
- package/dist/assign-WBLSZNCO.js +77 -0
- package/dist/audience-size-LOX5BNXI.js +73 -0
- package/dist/audience-size-LOX5BNXI.js.map +1 -0
- package/dist/audiences-3LRCLHTQ.js +85 -0
- package/dist/audiences-RPLVMO4H.js +268 -0
- package/dist/audiences-XEZHACKH.js +78 -0
- package/dist/audit-6AG6BPXQ.js +151 -0
- package/dist/audit-YEGQU474.js +88 -0
- package/dist/autocomplete-2QRU7ARD.js +111 -0
- package/dist/avatars-EIETXCF3.js +38 -0
- package/dist/bid-pricing-5LZFHQTS.js +100 -0
- package/dist/bid-pricing-5LZFHQTS.js.map +1 -0
- package/dist/brand-CINQG3JG.js +22 -0
- package/dist/brief-WAQ2V6Q4.js +538 -0
- package/dist/brief-WAQ2V6Q4.js.map +1 -0
- package/dist/businesses-PRRYPR7H.js +53 -0
- package/dist/campaign-groups-5CMTEJZZ.js +95 -0
- package/dist/campaign-writes-4RMPHQCT.js +165 -0
- package/dist/campaign-writes-U5LTDTYK.js +170 -0
- package/dist/campaigns-4SOLY7OR.js +110 -0
- package/dist/campaigns-NFRLFNXI.js +107 -0
- package/dist/campaigns-PC7UAVXR.js +109 -0
- package/dist/campaigns-TFEQTSO3.js +76 -0
- package/dist/canvas-BPACZHNU.js +46 -0
- package/dist/capabilities-FNVTPCDT.js +144 -0
- package/dist/cards-WHMCSRZX.js +85 -0
- package/dist/catalog-RMMECI4Z.js +65 -0
- package/dist/catalog-RMMECI4Z.js.map +1 -0
- package/dist/catalogs-A7XMEEEP.js +128 -0
- package/dist/changes-J67WATHX.js +135 -0
- package/dist/chatgpt-4PEWDJKP.js +47 -0
- package/dist/chats-S5FCV7YO.js +262 -0
- package/dist/check-GCZ2ZBKH.js +104 -0
- package/dist/check-GCZ2ZBKH.js.map +1 -0
- package/dist/chunk-232YUPUI.js +125 -0
- package/dist/chunk-23H4ZJRP.js +136 -0
- package/dist/chunk-2DHHL4PU.js +156 -0
- package/dist/chunk-2DHHL4PU.js.map +1 -0
- package/dist/chunk-2FSEESJU.js +1744 -0
- package/dist/chunk-2FSEESJU.js.map +1 -0
- package/dist/chunk-3OCSWUHV.js +67 -0
- package/dist/chunk-3S5YZWB7.js +601 -0
- package/dist/chunk-3S5YZWB7.js.map +1 -0
- package/dist/chunk-3UXMQ3K2.js +274 -0
- package/dist/chunk-5NS4CNF6.js +1518 -0
- package/dist/chunk-5NS4CNF6.js.map +1 -0
- package/dist/chunk-5WMTPYKT.js +84 -0
- package/dist/chunk-65N4ZPQD.js +26 -0
- package/dist/chunk-65PUXMWE.js +167 -0
- package/dist/chunk-65PUXMWE.js.map +1 -0
- package/dist/chunk-6JWEGFM5.js +174 -0
- package/dist/chunk-6KK26F2T.js +46 -0
- package/dist/chunk-6KK26F2T.js.map +1 -0
- package/dist/chunk-7HJR5M4R.js +8843 -0
- package/dist/chunk-7HJR5M4R.js.map +1 -0
- package/dist/chunk-7LU7KARN.js +64 -0
- package/dist/chunk-7LU7KARN.js.map +1 -0
- package/dist/chunk-7RBJ2Z7Z.js +172 -0
- package/dist/chunk-7U3V64YT.js +344 -0
- package/dist/chunk-7U3V64YT.js.map +1 -0
- package/dist/chunk-ABXTGAG7.js +23 -0
- package/dist/chunk-ADSNY4KZ.js +399 -0
- package/dist/chunk-AHF6TQWB.js +392 -0
- package/dist/chunk-AIJBZSZV.js +224 -0
- package/dist/chunk-AIJBZSZV.js.map +1 -0
- package/dist/chunk-AQ5WISEG.js +98 -0
- package/dist/chunk-AS5VL32C.js +131 -0
- package/dist/chunk-AS5VL32C.js.map +1 -0
- package/dist/chunk-BFRIRZRZ.js +98 -0
- package/dist/chunk-BFZS3WHS.js +84 -0
- package/dist/chunk-BITS62MF.js +77 -0
- package/dist/chunk-BLAHHMPF.js +333 -0
- package/dist/chunk-BSEB55E6.js +148 -0
- package/dist/chunk-BSEB55E6.js.map +1 -0
- package/dist/chunk-C3TTE7GS.js +66 -0
- package/dist/chunk-C3TTE7GS.js.map +1 -0
- package/dist/chunk-CCIDHU6M.js +169 -0
- package/dist/chunk-CM6FCSWN.js +644 -0
- package/dist/chunk-CVBKW75S.js +296 -0
- package/dist/chunk-CXQRTLSQ.js +159 -0
- package/dist/chunk-D4I3KULJ.js +5367 -0
- package/dist/chunk-D4I3KULJ.js.map +1 -0
- package/dist/chunk-D4LKZJYJ.js +76 -0
- package/dist/chunk-D7KR6KXR.js +66 -0
- package/dist/chunk-DCTEL4KG.js +592 -0
- package/dist/chunk-DF22CTXE.js +225 -0
- package/dist/chunk-DF22CTXE.js.map +1 -0
- package/dist/chunk-DH5CKOYK.js +103 -0
- package/dist/chunk-DMVDVZJK.js +97 -0
- package/dist/chunk-DMVDVZJK.js.map +1 -0
- package/dist/chunk-DQC4NIJE.js +51 -0
- package/dist/chunk-DWX44QL6.js +75 -0
- package/dist/chunk-EE72SSB2.js +472 -0
- package/dist/chunk-FNA277HP.js +97 -0
- package/dist/chunk-FRK7SSEH.js +6306 -0
- package/dist/chunk-FRK7SSEH.js.map +1 -0
- package/dist/chunk-FU7HJWGM.js +26 -0
- package/dist/chunk-GDLQ6SGW.js +46 -0
- package/dist/chunk-GEKXIXMG.js +106 -0
- package/dist/chunk-GLW7UJLB.js +58 -0
- package/dist/chunk-GMSKPGLI.js +3846 -0
- package/dist/chunk-GMSKPGLI.js.map +1 -0
- package/dist/chunk-H5HDZ7IC.js +139 -0
- package/dist/chunk-HJQ7N7FC.js +8661 -0
- package/dist/chunk-HJQ7N7FC.js.map +1 -0
- package/dist/chunk-I5VZVQBZ.js +35 -0
- package/dist/chunk-IC6SDOED.js +45 -0
- package/dist/chunk-IDN4FOOP.js +97 -0
- package/dist/chunk-IDN4FOOP.js.map +1 -0
- package/dist/chunk-IG627WWY.js +23992 -0
- package/dist/chunk-IN4G7X6W.js +94 -0
- package/dist/chunk-IPLE5K5E.js +188 -0
- package/dist/chunk-IWWOGBGA.js +665 -0
- package/dist/chunk-JD4SABZC.js +942 -0
- package/dist/chunk-JD4SABZC.js.map +1 -0
- package/dist/chunk-JFA4R3KS.js +172 -0
- package/dist/chunk-JYBLCIRN.js +106 -0
- package/dist/chunk-K3TNTBZJ.js +52 -0
- package/dist/chunk-KCKC637S.js +122 -0
- package/dist/chunk-KCKC637S.js.map +1 -0
- package/dist/chunk-KPYDTIAI.js +317 -0
- package/dist/chunk-KPYDTIAI.js.map +1 -0
- package/dist/chunk-LCW3U4EA.js +25 -0
- package/dist/chunk-LD4CHA7U.js +89 -0
- package/dist/chunk-LD4CHA7U.js.map +1 -0
- package/dist/chunk-LS3A753J.js +225 -0
- package/dist/chunk-LS3A753J.js.map +1 -0
- package/dist/chunk-MI3JB5KB.js +76 -0
- package/dist/chunk-MIOOPOG2.js +547 -0
- package/dist/chunk-MJQBXFW6.js +74 -0
- package/dist/chunk-MMVLRUMK.js +612 -0
- package/dist/chunk-MMVLRUMK.js.map +1 -0
- package/dist/chunk-MPACDBH5.js +74 -0
- package/dist/chunk-MXWOYFI2.js +544 -0
- package/dist/chunk-N5O67GK5.js +215 -0
- package/dist/chunk-NCP6RD6A.js +433 -0
- package/dist/chunk-NNF4RARY.js +297 -0
- package/dist/chunk-NR2OVOTD.js +363 -0
- package/dist/chunk-NVGXYF6K.js +846 -0
- package/dist/chunk-OP7DNHD2.js +137 -0
- package/dist/chunk-ORQKMXHA.js +76 -0
- package/dist/chunk-P3TNRS56.js +149 -0
- package/dist/chunk-PQTY22FR.js +159 -0
- package/dist/chunk-PQTY22FR.js.map +1 -0
- package/dist/chunk-Q7YZL7PG.js +494 -0
- package/dist/chunk-QABSQADZ.js +56 -0
- package/dist/chunk-QVNSVFSD.js +91 -0
- package/dist/chunk-QVNSVFSD.js.map +1 -0
- package/dist/chunk-QVQKCVP7.js +85 -0
- package/dist/chunk-QVQKCVP7.js.map +1 -0
- package/dist/chunk-R2TAVQGZ.js +455 -0
- package/dist/chunk-R5WNYLG4.js +197 -0
- package/dist/chunk-RCSOG2DV.js +142 -0
- package/dist/chunk-RCSOG2DV.js.map +1 -0
- package/dist/chunk-RD2XXQW3.js +1599 -0
- package/dist/chunk-RLS5OPPZ.js +207 -0
- package/dist/chunk-RLS5OPPZ.js.map +1 -0
- package/dist/chunk-RMLJNHCU.js +346 -0
- package/dist/chunk-RTWRNG3E.js +821 -0
- package/dist/chunk-RTWRNG3E.js.map +1 -0
- package/dist/chunk-S7A34DOA.js +111 -0
- package/dist/chunk-SFJW2KED.js +166 -0
- package/dist/chunk-SOKVXKRM.js +74 -0
- package/dist/chunk-STNCMKL6.js +191 -0
- package/dist/chunk-SWL4AAPP.js +320 -0
- package/dist/chunk-T6ATGN7Y.js +3187 -0
- package/dist/chunk-T6ATGN7Y.js.map +1 -0
- package/dist/chunk-TF4PGUO5.js +191 -0
- package/dist/chunk-TF4PGUO5.js.map +1 -0
- package/dist/chunk-TNOJ6O6B.js +61 -0
- package/dist/chunk-TNOJ6O6B.js.map +1 -0
- package/dist/chunk-U2452GLO.js +1914 -0
- package/dist/chunk-U2452GLO.js.map +1 -0
- package/dist/chunk-ULPO72IQ.js +225 -0
- package/dist/chunk-UMZIQIWN.js +1079 -0
- package/dist/chunk-V7N666PJ.js +19 -0
- package/dist/chunk-WL6FWK2Q.js +249 -0
- package/dist/chunk-WL6FWK2Q.js.map +1 -0
- package/dist/chunk-WNJ5SYAG.js +275 -0
- package/dist/chunk-WNSE7N75.js +2123 -0
- package/dist/chunk-XDZVBX6L.js +220 -0
- package/dist/chunk-XGOEX2VJ.js +55 -0
- package/dist/chunk-XUB2EK65.js +57 -0
- package/dist/chunk-XUR4QWCS.js +206 -0
- package/dist/chunk-XZ4YMCZK.js +66 -0
- package/dist/chunk-Y3VRMFGF.js +42 -0
- package/dist/chunk-YD7BQDJ6.js +903 -0
- package/dist/chunk-ZBV5IV5T.js +843 -0
- package/dist/chunk-ZBV5IV5T.js.map +1 -0
- package/dist/claim-6MPQD43X.js +197 -0
- package/dist/cli.js +41 -41
- package/dist/client-WL2FKW4T.js +19 -0
- package/dist/code-NXN7QYKU.js +76 -0
- package/dist/companies-KRF2K4CA.js +195 -0
- package/dist/complete-V433ON5C.js +81 -0
- package/dist/config-VOF57KBL.js +88 -0
- package/dist/connect-QVIAM3GX.js +42 -0
- package/dist/content-KA25YYO3.js +85 -0
- package/dist/conversation-VZKBZZGG.js +93 -0
- package/dist/conversion-report-REOHVLCI.js +125 -0
- package/dist/conversion-upload-command-ASHA6T6H.js +438 -0
- package/dist/conversion-writes-JU7Q2MUO.js +120 -0
- package/dist/conversions-3ISBR3TS.js +76 -0
- package/dist/conversions-ZLC6YTJ5.js +135 -0
- package/dist/countries-XGMZWUGP.js +82 -0
- package/dist/create-B3QMYSIX.js +132 -0
- package/dist/create-IFCCMKFT.js +207 -0
- package/dist/create-R5P6JU5A.js +235 -0
- package/dist/create-SF6DOGDJ.js +59 -0
- package/dist/creatives-KD7MOCR3.js +182 -0
- package/dist/creatives-YJ3CXZQC.js +87 -0
- package/dist/creatives-YOMFW2UP.js +58 -0
- package/dist/creatives-YOMFW2UP.js.map +1 -0
- package/dist/credentials-2KJUKBMF.js +287 -0
- package/dist/critique-A2OEMGZS.js +227 -0
- package/dist/critique-A2OEMGZS.js.map +1 -0
- package/dist/critique-JVKJEBAC.js +1451 -0
- package/dist/critique-JVKJEBAC.js.map +1 -0
- package/dist/crm-GX72E2LT.js +224 -0
- package/dist/crm-ZYDNEME5.js +318 -0
- package/dist/crop-7UTYG7GS.js +113 -0
- package/dist/currency-CGDI2NXI.js +88 -0
- package/dist/custom-conversions-YRYE65PU.js +125 -0
- package/dist/customers-P4N4NXLJ.js +56 -0
- package/dist/decide-TWKH5QQU.js +199 -0
- package/dist/delete-2GIIUPA3.js +69 -0
- package/dist/delete-AK5IV44E.js +66 -0
- package/dist/delete-GLLYPNNB.js +71 -0
- package/dist/delete-J7DXPGKD.js +71 -0
- package/dist/delete-RS7RQDUX.js +54 -0
- package/dist/delete-S4VKH7IS.js +64 -0
- package/dist/demographics-IKWN2H3V.js +138 -0
- package/dist/describe-5QCPRSIG.js +97 -0
- package/dist/describe-L3UC6MIL.js +97 -0
- package/dist/dimensions-POH4JXEM.js +101 -0
- package/dist/discard-H6DOHJRG.js +66 -0
- package/dist/discover-L4TPEKGY.js +172 -0
- package/dist/discover-XAJKZCMM.js +93 -0
- package/dist/domain-US4KKAXC.js +98 -0
- package/dist/download-N4J5WFHD.js +299 -0
- package/dist/draft-BIQ3ZAYW.js +306 -0
- package/dist/draft-EWDOIXSH.js +233 -0
- package/dist/draft-IL37WDST.js +103 -0
- package/dist/draft-IZ4YLQRD.js +307 -0
- package/dist/draft-KDMYGLWN.js +100 -0
- package/dist/draft-OLFQZBWL.js +217 -0
- package/dist/draft-R32RFDCI.js +328 -0
- package/dist/draft-Y2QJE2NM.js +281 -0
- package/dist/engine/index.d.ts +31 -1
- package/dist/engine/index.js +15 -14
- package/dist/env-5MUVYE2L.js +51 -0
- package/dist/experiment-G3FQVAJU.js +1397 -0
- package/dist/export-OLDI32HM.js +168 -0
- package/dist/extract-PPS6ONQN.js +113 -0
- package/dist/facets-JBZQHN3D.js +114 -0
- package/dist/favorites-4ELADD3R.js +178 -0
- package/dist/feed-XIY5TVDL.js +177 -0
- package/dist/feedback-CCU6ECMQ.js +106 -0
- package/dist/feedback-CCU6ECMQ.js.map +1 -0
- package/dist/feedback-record-JCE3JWG6.js +260 -0
- package/dist/feedback-record-JCE3JWG6.js.map +1 -0
- package/dist/fetch-GOY6DQRL.js +176 -0
- package/dist/fetch-YWUVDMUH.js +139 -0
- package/dist/find-EVY4XEIQ.js +134 -0
- package/dist/fit-TVQ7RK52.js +62 -0
- package/dist/flows-274YPU6I.js +247 -0
- package/dist/follow-ZTPZKIMZ.js +94 -0
- package/dist/follow-competitors-6QDVQ4VJ.js +112 -0
- package/dist/following-PBZLZFGQ.js +113 -0
- package/dist/fonts-BMUNDGOZ.js +36 -0
- package/dist/forecast-F2CZSIMP.js +168 -0
- package/dist/forecast-W5F2MNOV.js +118 -0
- package/dist/forecast-W5F2MNOV.js.map +1 -0
- package/dist/funding-ULBMKUMW.js +85 -0
- package/dist/funnel-LEUXICXU.js +394 -0
- package/dist/ga4-2BL5YAYN.js +55 -0
- package/dist/generate-4HWNFAH3.js +263 -0
- package/dist/get-6RZU4M6W.js +63 -0
- package/dist/get-7GCEJ6KG.js +92 -0
- package/dist/get-MGDY5JYZ.js +79 -0
- package/dist/get-MZWUMHEF.js +61 -0
- package/dist/get-OAZZHUZP.js +59 -0
- package/dist/get-OHU2N7B7.js +63 -0
- package/dist/get-TY6AMFI4.js +56 -0
- package/dist/gif-NYZYV5RY.js +102 -0
- package/dist/gif-NYZYV5RY.js.map +1 -0
- package/dist/google-7STODZQR.js +136 -0
- package/dist/google-ZTTE34A4.js +3190 -0
- package/dist/google-ads-5ARKO757.js +195 -0
- package/dist/group-D5WXNFCP.js +43 -0
- package/dist/group-Y5PLETFT.js +43 -0
- package/dist/gsc-UU3T2C6B.js +30 -0
- package/dist/history-IQ33J5PB.js +67 -0
- package/dist/history-SU7VQCDJ.js +133 -0
- package/dist/hubspot-TJED44GO.js +779 -0
- package/dist/icon-GB7UH5RF.js +137 -0
- package/dist/ideas-UTSCGCT6.js +40 -0
- package/dist/images-ZMZ4WLYH.js +92 -0
- package/dist/images-ZMZ4WLYH.js.map +1 -0
- package/dist/improve-U5USRH4G.js +86 -0
- package/dist/ingest-DGDNZWEM.js +23 -0
- package/dist/ingest-SGBJ3NXX.js +107 -0
- package/dist/insights-4HT2NAYP.js +423 -0
- package/dist/insights-SQLE5NOJ.js +122 -0
- package/dist/inspect-BMQTTKMW.js +189 -0
- package/dist/inspiration-XQYHBJY2.js +53 -0
- package/dist/intent-LM36WK45.js +95 -0
- package/dist/job-CGQHEANB.js +202 -0
- package/dist/job-create-SZYJT2NC.js +109 -0
- package/dist/job-status-6LAKLCKH.js +74 -0
- package/dist/keep-3MJSHWU3.js +78 -0
- package/dist/keyword-gap-P652ODHN.js +130 -0
- package/dist/keyword-metrics-MQLGGJBT.js +197 -0
- package/dist/keywords-for-site-JL6H2YGU.js +128 -0
- package/dist/landing-AJO2BPC2.js +28 -0
- package/dist/landings-ZLKUP66P.js +151 -0
- package/dist/languages-3IJVDS5Z.js +55 -0
- package/dist/languages-HL42MI7H.js +40 -0
- package/dist/launches-RG2SWEXM.js +19 -0
- package/dist/layerize-SJYK6HPD.js +190 -0
- package/dist/leads-2XOSAYP4.js +293 -0
- package/dist/leads-H6JIWVI6.js +90 -0
- package/dist/learn-NJOV2DHD.js +204 -0
- package/dist/learn-NJOV2DHD.js.map +1 -0
- package/dist/library-Q4OU7VR7.js +109 -0
- package/dist/lighthouse-FALRSVQH.js +75 -0
- package/dist/line-item-writes-V7AKAHFC.js +208 -0
- package/dist/line-items-GAMKVVIQ.js +103 -0
- package/dist/link-Z5AQP6JN.js +64 -0
- package/dist/linkedin-7F6YVXQL.js +1045 -0
- package/dist/linkedin-7F6YVXQL.js.map +1 -0
- package/dist/list-2ZTOMTES.js +65 -0
- package/dist/list-GK6LNWIW.js +76 -0
- package/dist/list-NLGM3QDP.js +303 -0
- package/dist/list-RR53EF3O.js +57 -0
- package/dist/list-SZH6TH74.js +64 -0
- package/dist/list-TB677Q2F.js +50 -0
- package/dist/list-VTVRZIYL.js +51 -0
- package/dist/list-XZVQWIJN.js +151 -0
- package/dist/locations-AEGZ36JH.js +40 -0
- package/dist/locations-YA7NZY44.js +67 -0
- package/dist/log-JM4VLJE4.js +92 -0
- package/dist/logo-YSNUUT33.js +18 -0
- package/dist/lookup-RH5N3OWJ.js +22 -0
- package/dist/make-IZJ47YZY.js +1310 -0
- package/dist/make-IZJ47YZY.js.map +1 -0
- package/dist/map-HRLUMCR2.js +433 -0
- package/dist/mcp-T6SAG4XB.js +463 -0
- package/dist/media-ES2UBGYW.js +15 -0
- package/dist/media-MPXEXN4O.js +89 -0
- package/dist/media-sources-7AS3274L.js +32 -0
- package/dist/members-J5KWXTXY.js +44 -0
- package/dist/meme-FMHHKWVU.js +100 -0
- package/dist/meme-FMHHKWVU.js.map +1 -0
- package/dist/meta-AOIPEDV5.js +69 -0
- package/dist/metrics-VDBJ6KL7.js +152 -0
- package/dist/models-2DQ5NBMT.js +155 -0
- package/dist/normalize-CHZB4QDD.js +141 -0
- package/dist/normalize-NR5RS3WR.js +806 -0
- package/dist/options-QLXFLESP.js +122 -0
- package/dist/organization-KEGKAP4P.js +328 -0
- package/dist/output-GWIP6ROX.js +24 -0
- package/dist/page-YWGBCN65.js +105 -0
- package/dist/pages-FTI44OSH.js +66 -0
- package/dist/performance-SPGPGXE5.js +24 -0
- package/dist/pinterest-J442QLQS.js +96 -0
- package/dist/pixels-6IUB3Y3H.js +60 -0
- package/dist/pixels-MBKR4XPX.js +108 -0
- package/dist/plan-YPE77T4R.js +207 -0
- package/dist/preview-V4YBD45S.js +169 -0
- package/dist/profile-S3MXS2VO.js +159 -0
- package/dist/promoted-tweet-writes-TRR3KPRJ.js +180 -0
- package/dist/promoted-tweets-XRYZNJI2.js +119 -0
- package/dist/properties-G3L2OAOL.js +101 -0
- package/dist/publish-V5YGMK53.js +341 -0
- package/dist/publish-V5YGMK53.js.map +1 -0
- package/dist/query-M3IO54U2.js +61 -0
- package/dist/query-WCB5W4NW.js +236 -0
- package/dist/query-YBS6ZQ75.js +247 -0
- package/dist/questionnaire-PAK4DALP.js +93 -0
- package/dist/read-LUTB3UOR.js +141 -0
- package/dist/reddit-STSECKMZ.js +26 -0
- package/dist/refresh-RQ3C2MHI.js +94 -0
- package/dist/release-UHGU5WBY.js +60 -0
- package/dist/relevant-pages-G6SNC73K.js +99 -0
- package/dist/remove-LTKICIIF.js +50 -0
- package/dist/remove-X6DNVS67.js +48 -0
- package/dist/reopen-BP5ERELB.js +63 -0
- package/dist/rerun-NR54OG3M.js +90 -0
- package/dist/rerun-NR54OG3M.js.map +1 -0
- package/dist/research-GOYMTKZM.js +262 -0
- package/dist/research-MBAPL35Y.js +62 -0
- package/dist/reset-Q62PEGOU.js +54 -0
- package/dist/reset-SJPGSQ7I.js +54 -0
- package/dist/resolve-R45W7QEQ.js +121 -0
- package/dist/retry-CD2Q2AJN.js +60 -0
- package/dist/retry-NBZ7Q6HK.js +62 -0
- package/dist/retry-failed-EJBP4236.js +45 -0
- package/dist/rules-SZIY67QF.js +96 -0
- package/dist/rules-SZIY67QF.js.map +1 -0
- package/dist/rules-add-KTLHU3YD.js +462 -0
- package/dist/rules-add-KTLHU3YD.js.map +1 -0
- package/dist/run-HCJKCEOL.js +66 -0
- package/dist/run-IIU2UVQU.js +65 -0
- package/dist/scaffold-ad-3VMAP5BF.js +1511 -0
- package/dist/scaffold-ad-3VMAP5BF.js.map +1 -0
- package/dist/scaffold-static-ad-Z7LO7PKI.js +1005 -0
- package/dist/scaffold-static-ad-Z7LO7PKI.js.map +1 -0
- package/dist/scaffold-video-SBSSR7TZ.js +883 -0
- package/dist/scaffold-video-SBSSR7TZ.js.map +1 -0
- package/dist/schedule-BSQHXJ5V.js +61 -0
- package/dist/schedule-IDZC6M32.js +66 -0
- package/dist/scheduled-agents-MFLMG34I.js +50 -0
- package/dist/schema-EFR7NGJG.js +69 -0
- package/dist/schema-IWPG3YSN.js +132 -0
- package/dist/scrape-J2Y7YZ4Z.js +2241 -0
- package/dist/screenshot-K7ZGTVTE.js +102 -0
- package/dist/search-CI7LEOOK.js +92 -0
- package/dist/search-EGI5K77S.js +174 -0
- package/dist/search-I6DRUXBX.js +224 -0
- package/dist/search-TTL7VQET.js +26 -0
- package/dist/search-VT2KUAH6.js +91 -0
- package/dist/search-copy-N2AIJNUH.js +168 -0
- package/dist/seeds-EYYQCMGF.js +101 -0
- package/dist/select-ON3KZEEK.js +101 -0
- package/dist/select-ON3KZEEK.js.map +1 -0
- package/dist/sends-RHVFV2XM.js +309 -0
- package/dist/sequences-5DUWNSWQ.js +146 -0
- package/dist/set-prompt-RHMZ7SFC.js +193 -0
- package/dist/set-prompt-RHMZ7SFC.js.map +1 -0
- package/dist/setup-links-5ILQNMFZ.js +141 -0
- package/dist/shared-NDRFKAH7.js +31 -0
- package/dist/site-LBXNVRPE.js +177 -0
- package/dist/sitemaps-QKKXMXMV.js +87 -0
- package/dist/sites-GRC6CCCK.js +101 -0
- package/dist/skills-UML6GSW6.js +47 -0
- package/dist/sources-GP4PUTX2.js +454 -0
- package/dist/sources-N4UANUHJ.js +30 -0
- package/dist/stale-OIOOAP2S.js +71 -0
- package/dist/stale-OIOOAP2S.js.map +1 -0
- package/dist/stats-RCLQE4HJ.js +34 -0
- package/dist/status-GSFMLC6W.js +62 -0
- package/dist/sticker-SINY47WT.js +94 -0
- package/dist/stock-ECRBD7RP.js +179 -0
- package/dist/studio-YB5WXQYC.js +49 -0
- package/dist/sync-2MFUI3ME.js +54 -0
- package/dist/sync-IE4AAVGY.js +265 -0
- package/dist/sync-LIV7FU4N.js +54 -0
- package/dist/sync-definition-5JO7QXX3.js +64 -0
- package/dist/tag-manager-G3LBQZUL.js +43 -0
- package/dist/tags-4JQX7HMT.js +26 -0
- package/dist/tags-6RQVXS47.js +224 -0
- package/dist/tags-AAIFQ6LS.js +20 -0
- package/dist/tags-F355NMIR.js +20 -0
- package/dist/tags-ZHCGHGYC.js +20 -0
- package/dist/targeting-constants-KEKYU5JQ.js +118 -0
- package/dist/targeting-criteria-6FY2JB3V.js +113 -0
- package/dist/targets-NI7TR4GV.js +103 -0
- package/dist/testimonials-G7CCH7VN.js +32 -0
- package/dist/themes-PXDXIKYR.js +94 -0
- package/dist/top-companies-YH2ZJEH5.js +108 -0
- package/dist/translate-AEOQJ5JN.js +604 -0
- package/dist/translate-AEOQJ5JN.js.map +1 -0
- package/dist/triggers-WYFM7PAH.js +142 -0
- package/dist/tweets-C3QUKS3I.js +123 -0
- package/dist/unfollow-ZI5QU7RD.js +46 -0
- package/dist/unlink-PTWUSM5B.js +67 -0
- package/dist/unstage-7F7JI6HY.js +95 -0
- package/dist/unstage-MCM6EZWK.js +85 -0
- package/dist/update-2BDIJDHN.js +188 -0
- package/dist/update-2BDIJDHN.js.map +1 -0
- package/dist/update-643S2MUW.js +63 -0
- package/dist/update-GUIP6G3N.js +152 -0
- package/dist/update-V6E3CIFD.js +98 -0
- package/dist/upload-3YJJ5VID.js +126 -0
- package/dist/upload-KO46L76G.js +150 -0
- package/dist/upscale-SJ7SCSRS.js +109 -0
- package/dist/url-options-LHS4SWWB.js +130 -0
- package/dist/url-params-2DKIXKHH.js +98 -0
- package/dist/use-6ULEM3WE.js +95 -0
- package/dist/validate-PEWGXGCR.js +117 -0
- package/dist/validate-PEWGXGCR.js.map +1 -0
- package/dist/variant-5TRRSYBB.js +338 -0
- package/dist/videos-KEDR4GG3.js +39 -0
- package/dist/view-ABSWZMXW.js +121 -0
- package/dist/viewer-check-TSH3SAYJ.js +80 -0
- package/dist/web-UOGBNAHR.js +140 -0
- package/dist/winners-KRISBKOR.js +113 -0
- package/dist/winning-ads-SGBI3WHK.js +84 -0
- package/dist/write-commands-E7JOB4HX.js +1015 -0
- package/dist/write-commands-HCQI4Y27.js +737 -0
- package/dist/write-commands-QCI6XBM7.js +206 -0
- package/dist/write-commands-RHCCPMAE.js +713 -0
- package/dist/x-UNSN57YP.js +47 -0
- package/package.json +2 -1
- package/dist/account-63NUWSXK.js +0 -49
- package/dist/account-IFB6V6GL.js +0 -80
- package/dist/account-NCX3VHZT.js +0 -79
- package/dist/account-reads-Y3T65EI4.js +0 -218
- package/dist/account-writes-7YZ7PTHF.js +0 -66
- package/dist/accounts-2MQVGI4I.js +0 -77
- package/dist/accounts-66KZC7QI.js +0 -114
- package/dist/accounts-MQIYTIAX.js +0 -611
- package/dist/accounts-MVEZ2TRL.js +0 -75
- package/dist/accounts-T5DCHHZK.js +0 -115
- package/dist/actions-LRSHHDV2.js +0 -55
- package/dist/active-entities-QWPGPNGE.js +0 -103
- package/dist/activecampaign-G4XARU6N.js +0 -935
- package/dist/activities-FN7DOE5S.js +0 -74
- package/dist/ad-group-writes-JSOCSYYV.js +0 -170
- package/dist/ad-groups-UN52WNJN.js +0 -68
- package/dist/ad-writes-X23H4HLZ.js +0 -174
- package/dist/add-2MVZQJYG.js +0 -302
- package/dist/add-7EKI6ZA4.js +0 -97
- package/dist/add-ZP47HVHW.js +0 -104
- package/dist/add-ZTXN775K.js +0 -105
- package/dist/add-accounts-PEJLMYWR.js +0 -91
- package/dist/ads-7YYCWZIR.js +0 -40
- package/dist/ads-FOJ6P4OA.js +0 -128
- package/dist/ads-MKMWS36P.js +0 -113
- package/dist/ads-NEJKXB4L.js +0 -77
- package/dist/adsets-TIHFYWOU.js +0 -176
- package/dist/advertisers-246ZLRFZ.js +0 -120
- package/dist/advertisers-E77XAYCQ.js +0 -125
- package/dist/analytics-SL56NTIV.js +0 -433
- package/dist/analytics-WPYPKM6L.js +0 -1976
- package/dist/animate-3H3TL3N6.js +0 -480
- package/dist/assign-WGQVY3DW.js +0 -77
- package/dist/audience-size-C37XJ6GS.js +0 -94
- package/dist/audience-size-C37XJ6GS.js.map +0 -1
- package/dist/audiences-BWDG2R2U.js +0 -268
- package/dist/audiences-GHMNXDPR.js +0 -85
- package/dist/audiences-Q7OCAMAQ.js +0 -78
- package/dist/audit-HG53XQJK.js +0 -88
- package/dist/audit-LGD4PMAI.js +0 -151
- package/dist/autocomplete-PD2EMWRU.js +0 -111
- package/dist/avatars-U5KAMVNV.js +0 -38
- package/dist/bid-pricing-PP6PV6S4.js +0 -99
- package/dist/bid-pricing-PP6PV6S4.js.map +0 -1
- package/dist/brand-2JJ45TBO.js +0 -22
- package/dist/brief-IMTLJQN2.js +0 -490
- package/dist/brief-IMTLJQN2.js.map +0 -1
- package/dist/businesses-24QYU6BL.js +0 -53
- package/dist/campaign-groups-ZXRHEEGS.js +0 -95
- package/dist/campaign-writes-7UHMSPJ3.js +0 -170
- package/dist/campaign-writes-WIBYW73K.js +0 -165
- package/dist/campaigns-CRRLTN74.js +0 -107
- package/dist/campaigns-DJV4W6UP.js +0 -76
- package/dist/campaigns-EY3AR4N7.js +0 -109
- package/dist/campaigns-WTZBLGVX.js +0 -110
- package/dist/canvas-WFYKZYZD.js +0 -46
- package/dist/capabilities-IGKT7D4H.js +0 -144
- package/dist/cards-IO2Q423H.js +0 -85
- package/dist/catalog-X3VJFC74.js +0 -64
- package/dist/catalog-X3VJFC74.js.map +0 -1
- package/dist/catalogs-2HT3VRRI.js +0 -128
- package/dist/changes-AZ6EUVFN.js +0 -135
- package/dist/chatgpt-M27OEM7J.js +0 -47
- package/dist/chats-OXIYXI4U.js +0 -262
- package/dist/chunk-26HCUIW2.js +0 -166
- package/dist/chunk-2SDC7WNS.js +0 -817
- package/dist/chunk-2SDC7WNS.js.map +0 -1
- package/dist/chunk-2SQ6ISRI.js +0 -392
- package/dist/chunk-2VRD3HSQ.js +0 -60
- package/dist/chunk-2VRD3HSQ.js.map +0 -1
- package/dist/chunk-2XQ5HU6D.js +0 -3088
- package/dist/chunk-2XQ5HU6D.js.map +0 -1
- package/dist/chunk-37P6DTDJ.js +0 -455
- package/dist/chunk-3IGY2FWK.js +0 -6667
- package/dist/chunk-3IGY2FWK.js.map +0 -1
- package/dist/chunk-3UA4THEF.js +0 -76
- package/dist/chunk-4EPGI6I2.js +0 -76
- package/dist/chunk-4LODOBIN.js +0 -433
- package/dist/chunk-5ADTL2LR.js +0 -188
- package/dist/chunk-5HABWBQX.js +0 -139
- package/dist/chunk-5HYSKH77.js +0 -315
- package/dist/chunk-5HYSKH77.js.map +0 -1
- package/dist/chunk-5TV4GYP2.js +0 -1830
- package/dist/chunk-5TV4GYP2.js.map +0 -1
- package/dist/chunk-6M6HUJ55.js +0 -474
- package/dist/chunk-6M6HUJ55.js.map +0 -1
- package/dist/chunk-6YZNHMPJ.js +0 -74
- package/dist/chunk-7ANWFQEA.js +0 -220
- package/dist/chunk-7FKRKMGL.js +0 -133
- package/dist/chunk-7FKRKMGL.js.map +0 -1
- package/dist/chunk-7MADMR5U.js +0 -399
- package/dist/chunk-7WZHO6W3.js +0 -225
- package/dist/chunk-AAF7HL4I.js +0 -320
- package/dist/chunk-ANWV2VTO.js +0 -136
- package/dist/chunk-ANYMWCST.js +0 -2122
- package/dist/chunk-AQADZOTG.js +0 -137
- package/dist/chunk-AQYH6C32.js +0 -544
- package/dist/chunk-BODRDUYQ.js +0 -111
- package/dist/chunk-BPPT7YVK.js +0 -274
- package/dist/chunk-BWAFZSZ4.js +0 -94
- package/dist/chunk-CIWI7LHO.js +0 -191
- package/dist/chunk-CLST7PLN.js +0 -26
- package/dist/chunk-CMNVR6DX.js +0 -486
- package/dist/chunk-CMNVR6DX.js.map +0 -1
- package/dist/chunk-CPTOHQSJ.js +0 -296
- package/dist/chunk-CU2DEMQB.js +0 -1079
- package/dist/chunk-D5GVSJBK.js +0 -66
- package/dist/chunk-D5Z34AYL.js +0 -297
- package/dist/chunk-EBC64WAG.js +0 -74
- package/dist/chunk-EMPXRKIM.js +0 -644
- package/dist/chunk-EQ74MEJN.js +0 -98
- package/dist/chunk-ETFAIX4L.js +0 -74
- package/dist/chunk-F3VR6CTH.js +0 -903
- package/dist/chunk-FDPBTKXZ.js +0 -25
- package/dist/chunk-GAD2NYL4.js +0 -1442
- package/dist/chunk-GAD2NYL4.js.map +0 -1
- package/dist/chunk-GAJQPQWS.js +0 -6239
- package/dist/chunk-GAJQPQWS.js.map +0 -1
- package/dist/chunk-GRL25RKS.js +0 -4408
- package/dist/chunk-GRL25RKS.js.map +0 -1
- package/dist/chunk-GRYP7Y5V.js +0 -103
- package/dist/chunk-H4DAEWJQ.js +0 -51
- package/dist/chunk-H5CGVMQW.js +0 -472
- package/dist/chunk-HDQBILJR.js +0 -45
- package/dist/chunk-HH5PFZ7U.js +0 -84
- package/dist/chunk-HKR7VCFK.js +0 -42
- package/dist/chunk-JQ4PQ2H6.js +0 -197
- package/dist/chunk-JRLGQA2T.js +0 -333
- package/dist/chunk-JU6X4XFU.js +0 -23
- package/dist/chunk-KODTY7PB.js +0 -215
- package/dist/chunk-LEGVJCL4.js +0 -56
- package/dist/chunk-LKM3FMYC.js +0 -363
- package/dist/chunk-LOTQBFUP.js +0 -106
- package/dist/chunk-LPBLKGH7.js +0 -106
- package/dist/chunk-MICLDQES.js +0 -346
- package/dist/chunk-MUHPBWE5.js +0 -35
- package/dist/chunk-NFSLRRIE.js +0 -77
- package/dist/chunk-NHQTEQPR.js +0 -169
- package/dist/chunk-NKXH3I65.js +0 -1743
- package/dist/chunk-NKXH3I65.js.map +0 -1
- package/dist/chunk-NRRNY3TZ.js +0 -55
- package/dist/chunk-O5J5T4ZL.js +0 -111
- package/dist/chunk-O5J5T4ZL.js.map +0 -1
- package/dist/chunk-O6TGA5HT.js +0 -337
- package/dist/chunk-O6TGA5HT.js.map +0 -1
- package/dist/chunk-O6VUX3O5.js +0 -52
- package/dist/chunk-OST3RA6Q.js +0 -610
- package/dist/chunk-OST3RA6Q.js.map +0 -1
- package/dist/chunk-PCSBF6GN.js +0 -3151
- package/dist/chunk-PCSBF6GN.js.map +0 -1
- package/dist/chunk-PLK7V2SJ.js +0 -509
- package/dist/chunk-PLK7V2SJ.js.map +0 -1
- package/dist/chunk-PWABS2DB.js +0 -172
- package/dist/chunk-PXTFT35U.js +0 -547
- package/dist/chunk-QBCPZFAV.js +0 -23992
- package/dist/chunk-QEZEXMRB.js +0 -96
- package/dist/chunk-QEZEXMRB.js.map +0 -1
- package/dist/chunk-QGSV3IWT.js +0 -304
- package/dist/chunk-QGSV3IWT.js.map +0 -1
- package/dist/chunk-QGWCBGEC.js +0 -1599
- package/dist/chunk-QKUBK3AD.js +0 -97
- package/dist/chunk-QNH5NCLM.js +0 -67
- package/dist/chunk-QNLWBJUR.js +0 -58
- package/dist/chunk-R4CDO5YH.js +0 -172
- package/dist/chunk-RCMK4FM2.js +0 -19
- package/dist/chunk-RJFM6TJC.js +0 -76
- package/dist/chunk-RKPSE27R.js +0 -98
- package/dist/chunk-S6ODQYTC.js +0 -96
- package/dist/chunk-S6ODQYTC.js.map +0 -1
- package/dist/chunk-SBN5UIQY.js +0 -665
- package/dist/chunk-SOK7U4NT.js +0 -592
- package/dist/chunk-TLQQV5AY.js +0 -159
- package/dist/chunk-TOIFDXCW.js +0 -57
- package/dist/chunk-TWXM7HVR.js +0 -149
- package/dist/chunk-U6RTBCU7.js +0 -26
- package/dist/chunk-UARL36OD.js +0 -846
- package/dist/chunk-UDG37PC2.js +0 -174
- package/dist/chunk-UMFKMS4U.js +0 -275
- package/dist/chunk-UW7PZFWZ.js +0 -75
- package/dist/chunk-UWTAQM4W.js +0 -160
- package/dist/chunk-UWTAQM4W.js.map +0 -1
- package/dist/chunk-VDAYKWVH.js +0 -125
- package/dist/chunk-VY5CTURR.js +0 -46
- package/dist/chunk-WE6K2VVZ.js +0 -494
- package/dist/chunk-WOTX7TNV.js +0 -84
- package/dist/chunk-XKA4ZHGX.js +0 -206
- package/dist/chunk-XO3GZLWQ.js +0 -5181
- package/dist/chunk-XO3GZLWQ.js.map +0 -1
- package/dist/chunk-XWB2L3HS.js +0 -66
- package/dist/chunk-XYOU3ROP.js +0 -175
- package/dist/chunk-XYOU3ROP.js.map +0 -1
- package/dist/chunk-YDSF4PXO.js +0 -216
- package/dist/chunk-YDSF4PXO.js.map +0 -1
- package/dist/chunk-YDWQVAFI.js +0 -92
- package/dist/chunk-YDWQVAFI.js.map +0 -1
- package/dist/claim-DEQYWQZ4.js +0 -197
- package/dist/client-TL7BITWM.js +0 -19
- package/dist/code-ORY2WROG.js +0 -76
- package/dist/companies-QM5MOLIZ.js +0 -195
- package/dist/complete-FM6VSFCT.js +0 -81
- package/dist/config-FMDQ323H.js +0 -88
- package/dist/connect-YTIE5PRU.js +0 -42
- package/dist/content-ZQB6PXGX.js +0 -85
- package/dist/conversation-VKWYWPB6.js +0 -93
- package/dist/conversion-report-U4UFXSD2.js +0 -125
- package/dist/conversion-upload-command-INQX73AK.js +0 -438
- package/dist/conversion-writes-MCKROLRA.js +0 -120
- package/dist/conversions-OPNDVQ56.js +0 -76
- package/dist/conversions-QILFJ34A.js +0 -135
- package/dist/countries-AZ3XSZVM.js +0 -82
- package/dist/create-A7O5CBUS.js +0 -207
- package/dist/create-BEH3DUUP.js +0 -59
- package/dist/create-C4LTWKD7.js +0 -132
- package/dist/create-LRVA4MSV.js +0 -235
- package/dist/creatives-43I65CHD.js +0 -87
- package/dist/creatives-DRRWFFOH.js +0 -51
- package/dist/creatives-DRRWFFOH.js.map +0 -1
- package/dist/creatives-XEKEYLNV.js +0 -182
- package/dist/credentials-GJMH4XRU.js +0 -287
- package/dist/critique-EJJQVV4D.js +0 -213
- package/dist/critique-EJJQVV4D.js.map +0 -1
- package/dist/critique-GIJUTKIM.js +0 -1449
- package/dist/critique-GIJUTKIM.js.map +0 -1
- package/dist/crm-ECMEYPQT.js +0 -318
- package/dist/crm-WHK3PL6S.js +0 -224
- package/dist/crop-Q2GJLOHE.js +0 -113
- package/dist/currency-SVDR5N7L.js +0 -88
- package/dist/custom-conversions-5NJNPZKM.js +0 -125
- package/dist/customers-XKE3DQR7.js +0 -56
- package/dist/decide-PCJTFCWC.js +0 -199
- package/dist/delete-7K4KFPUT.js +0 -69
- package/dist/delete-APRR2OYC.js +0 -66
- package/dist/delete-DTTEHY6E.js +0 -64
- package/dist/delete-GOA4Y562.js +0 -71
- package/dist/delete-I2SIRTMZ.js +0 -71
- package/dist/delete-QCZUGDIJ.js +0 -54
- package/dist/demographics-HG7NWA5U.js +0 -138
- package/dist/describe-CRTFAH6Y.js +0 -97
- package/dist/describe-OAB2FJYK.js +0 -97
- package/dist/dimensions-PFGHRZ5T.js +0 -101
- package/dist/discard-U3DW6WV3.js +0 -66
- package/dist/discover-IOJZYJ6B.js +0 -172
- package/dist/discover-R3EUUGRZ.js +0 -93
- package/dist/domain-HTF3ARBJ.js +0 -98
- package/dist/download-2HGDCPR7.js +0 -299
- package/dist/draft-3KLT2YHI.js +0 -233
- package/dist/draft-5RL6HZ6A.js +0 -306
- package/dist/draft-7O4ABIKK.js +0 -100
- package/dist/draft-DK4NZ6PW.js +0 -281
- package/dist/draft-GPL2TZXA.js +0 -328
- package/dist/draft-KTOZ2AT7.js +0 -217
- package/dist/draft-PQGTIABK.js +0 -103
- package/dist/draft-SRMHEIRG.js +0 -307
- package/dist/env-NPSYSFXD.js +0 -51
- package/dist/experiment-V57PLATO.js +0 -1397
- package/dist/export-UN2PTCNO.js +0 -168
- package/dist/extract-5JOFQZVU.js +0 -113
- package/dist/facets-2XQEJNZZ.js +0 -114
- package/dist/favorites-4AWW5F5B.js +0 -178
- package/dist/feed-AK3IFTAL.js +0 -177
- package/dist/feedback-34M4VJ5S.js +0 -66
- package/dist/feedback-34M4VJ5S.js.map +0 -1
- package/dist/feedback-record-ZINYAVHA.js +0 -175
- package/dist/feedback-record-ZINYAVHA.js.map +0 -1
- package/dist/fetch-6ALLGDRN.js +0 -139
- package/dist/fetch-VYIMA5BI.js +0 -176
- package/dist/find-22HWPRFY.js +0 -134
- package/dist/fit-S4RO2DMX.js +0 -45
- package/dist/flows-ITS573ST.js +0 -247
- package/dist/follow-IUW3P6KH.js +0 -94
- package/dist/follow-competitors-YDF5WM4K.js +0 -112
- package/dist/following-PNOYUSHX.js +0 -113
- package/dist/fonts-U4YXUNNZ.js +0 -34
- package/dist/forecast-AFBIS6WT.js +0 -104
- package/dist/forecast-AFBIS6WT.js.map +0 -1
- package/dist/forecast-NHG3UHOP.js +0 -168
- package/dist/funding-WSJI56OH.js +0 -85
- package/dist/funnel-46QWG5DN.js +0 -394
- package/dist/ga4-4W3KJIS5.js +0 -55
- package/dist/generate-3MC7WDL2.js +0 -263
- package/dist/get-4DJXDO42.js +0 -61
- package/dist/get-BK4MBGQF.js +0 -59
- package/dist/get-IAJ57JLM.js +0 -79
- package/dist/get-MVWVS3YT.js +0 -56
- package/dist/get-P5ZTH7RQ.js +0 -63
- package/dist/get-PTOW6PVF.js +0 -63
- package/dist/get-SR2NWOPT.js +0 -92
- package/dist/gif-L6RYCB6L.js +0 -94
- package/dist/gif-L6RYCB6L.js.map +0 -1
- package/dist/google-EMSAXPVB.js +0 -136
- package/dist/google-XE35SF3Z.js +0 -3190
- package/dist/google-ads-DYNDLOBO.js +0 -195
- package/dist/group-EUYJJ4LI.js +0 -43
- package/dist/group-MBRA2QID.js +0 -43
- package/dist/gsc-B3NPUNI6.js +0 -30
- package/dist/history-4S3YEIPK.js +0 -67
- package/dist/history-7HFGP7UI.js +0 -133
- package/dist/hubspot-3LWMILTD.js +0 -779
- package/dist/icon-4DAXBICB.js +0 -137
- package/dist/ideas-RHOV2ZJ6.js +0 -32
- package/dist/images-KXEPMLOC.js +0 -90
- package/dist/images-KXEPMLOC.js.map +0 -1
- package/dist/improve-U2RA5DPI.js +0 -86
- package/dist/ingest-H4F5TJC3.js +0 -23
- package/dist/ingest-URYQ7BTL.js +0 -107
- package/dist/insights-HQGBM6VA.js +0 -423
- package/dist/insights-K2CMI3K5.js +0 -122
- package/dist/inspect-IPQTTZK3.js +0 -189
- package/dist/inspiration-TRMFE64K.js +0 -53
- package/dist/intent-2EWV4KXW.js +0 -95
- package/dist/job-7GDSDRM4.js +0 -202
- package/dist/job-create-PE7G64WC.js +0 -109
- package/dist/job-status-LUSCFLZ2.js +0 -74
- package/dist/keep-5NFHEILH.js +0 -78
- package/dist/keyword-gap-T22T7RN6.js +0 -130
- package/dist/keyword-metrics-SLCXHPZS.js +0 -197
- package/dist/keywords-for-site-HBQSJKNN.js +0 -128
- package/dist/landing-PJJGQM3M.js +0 -28
- package/dist/landings-ZR4YMEPV.js +0 -151
- package/dist/languages-HXAZNLNU.js +0 -55
- package/dist/languages-VLMJOAJN.js +0 -40
- package/dist/launches-T5LAIOYS.js +0 -19
- package/dist/layerize-24PQKKPB.js +0 -190
- package/dist/leads-EDKSVSWP.js +0 -293
- package/dist/leads-HXYLSNMB.js +0 -90
- package/dist/learn-ZUZ7MEY5.js +0 -203
- package/dist/learn-ZUZ7MEY5.js.map +0 -1
- package/dist/library-ZHREUZMU.js +0 -109
- package/dist/lighthouse-E2NTHAO4.js +0 -75
- package/dist/line-item-writes-JNHZFCRM.js +0 -208
- package/dist/line-items-WGLNILMH.js +0 -103
- package/dist/link-KLFRRU24.js +0 -64
- package/dist/linkedin-LPWIZ3SS.js +0 -1009
- package/dist/linkedin-LPWIZ3SS.js.map +0 -1
- package/dist/list-37F6C6P5.js +0 -57
- package/dist/list-7EEDCI3T.js +0 -51
- package/dist/list-E3MCY43O.js +0 -303
- package/dist/list-E7CJMIGC.js +0 -76
- package/dist/list-HA2NITR3.js +0 -50
- package/dist/list-MIGWTOQU.js +0 -64
- package/dist/list-SW3DF473.js +0 -151
- package/dist/list-TG6LBHCV.js +0 -65
- package/dist/locations-VYIDAVD4.js +0 -67
- package/dist/locations-ZWTDUUGL.js +0 -40
- package/dist/log-Y4NIMHFD.js +0 -92
- package/dist/logo-SHQJHJK7.js +0 -18
- package/dist/lookup-TWSJ7KRT.js +0 -22
- package/dist/make-IJN6E4Q7.js +0 -633
- package/dist/make-IJN6E4Q7.js.map +0 -1
- package/dist/map-DHQTEDUH.js +0 -433
- package/dist/mcp-ZHASO273.js +0 -463
- package/dist/media-LDVWXWWZ.js +0 -15
- package/dist/media-TNB4DLTJ.js +0 -89
- package/dist/media-sources-MFBQDZNS.js +0 -32
- package/dist/members-HTHOAHPO.js +0 -44
- package/dist/meta-RAVCXVZA.js +0 -69
- package/dist/metrics-2VB46SDT.js +0 -152
- package/dist/models-TYRVCPS2.js +0 -155
- package/dist/normalize-PVOL256M.js +0 -141
- package/dist/normalize-Q7EN7JIF.js +0 -806
- package/dist/options-VDTCTJHY.js +0 -122
- package/dist/organization-VC5RO4FS.js +0 -328
- package/dist/output-NHMCVVUU.js +0 -24
- package/dist/page-5PCVZ7HS.js +0 -105
- package/dist/pages-DDXB4NQ4.js +0 -66
- package/dist/performance-QOQTL4XM.js +0 -24
- package/dist/pinterest-KQYSCTVQ.js +0 -96
- package/dist/pixels-GH522EYV.js +0 -108
- package/dist/pixels-HJYPX6RR.js +0 -60
- package/dist/plan-ZS7SOXL6.js +0 -207
- package/dist/preview-W4VKXOCT.js +0 -169
- package/dist/profile-FSB4RT55.js +0 -159
- package/dist/promoted-tweet-writes-6PI2KR65.js +0 -180
- package/dist/promoted-tweets-UJRNHKKO.js +0 -119
- package/dist/properties-V74I56UK.js +0 -101
- package/dist/publish-R6RINQCF.js +0 -322
- package/dist/publish-R6RINQCF.js.map +0 -1
- package/dist/query-5F5MBR7H.js +0 -247
- package/dist/query-KBXZD4SW.js +0 -61
- package/dist/query-SFNCXH4H.js +0 -236
- package/dist/questionnaire-JK5JLQXK.js +0 -93
- package/dist/read-LGRFU7XB.js +0 -141
- package/dist/reddit-QWM5ZQ6P.js +0 -26
- package/dist/refresh-ZPF7UH3S.js +0 -94
- package/dist/release-BZPK2P3R.js +0 -60
- package/dist/relevant-pages-VMNEEEJK.js +0 -99
- package/dist/remove-C7ZJYFCG.js +0 -50
- package/dist/remove-PIHTPIHM.js +0 -48
- package/dist/reopen-6Q7NQX2C.js +0 -63
- package/dist/rerun-VRZVJDYS.js +0 -84
- package/dist/rerun-VRZVJDYS.js.map +0 -1
- package/dist/research-FXQ6X7BY.js +0 -62
- package/dist/research-X6O7IID6.js +0 -262
- package/dist/reset-FRNQUCL5.js +0 -54
- package/dist/reset-NXK6NCOO.js +0 -54
- package/dist/resolve-WHI4UP4V.js +0 -121
- package/dist/retry-VSFPEXLE.js +0 -62
- package/dist/retry-XMTYWCFA.js +0 -60
- package/dist/retry-failed-XTYV3QJS.js +0 -45
- package/dist/run-HBNAA56X.js +0 -59
- package/dist/run-TAASFDQ7.js +0 -66
- package/dist/scaffold-ad-BV5WK4IA.js +0 -1548
- package/dist/scaffold-ad-BV5WK4IA.js.map +0 -1
- package/dist/scaffold-static-ad-IWNJ6GM7.js +0 -971
- package/dist/scaffold-static-ad-IWNJ6GM7.js.map +0 -1
- package/dist/scaffold-video-JBG7Q45T.js +0 -872
- package/dist/scaffold-video-JBG7Q45T.js.map +0 -1
- package/dist/schedule-P6GVRZ4E.js +0 -61
- package/dist/schedule-WSO7ETS6.js +0 -66
- package/dist/scheduled-agents-TYT5BIBQ.js +0 -50
- package/dist/schema-DL34A626.js +0 -69
- package/dist/schema-O4CMQQGD.js +0 -132
- package/dist/scrape-ZG2OWZL4.js +0 -2241
- package/dist/screenshot-GJUY7FCW.js +0 -102
- package/dist/search-2BJ4OLMX.js +0 -224
- package/dist/search-52CSDYJS.js +0 -91
- package/dist/search-FHSQYZOC.js +0 -92
- package/dist/search-HBFAHH4W.js +0 -174
- package/dist/search-ZAY2QV3Y.js +0 -26
- package/dist/search-copy-O5AOEBXC.js +0 -168
- package/dist/seeds-XY3EZ33U.js +0 -101
- package/dist/select-ISR6YEIE.js +0 -94
- package/dist/select-ISR6YEIE.js.map +0 -1
- package/dist/sends-GECHL3NK.js +0 -309
- package/dist/sequences-5BB4S63A.js +0 -146
- package/dist/set-prompt-DF7Q6WOF.js +0 -185
- package/dist/set-prompt-DF7Q6WOF.js.map +0 -1
- package/dist/setup-links-GF2IP4TH.js +0 -141
- package/dist/shared-JDIL3BNQ.js +0 -31
- package/dist/site-T6V5S5DJ.js +0 -177
- package/dist/sitemaps-UQJFRA2W.js +0 -87
- package/dist/sites-ZNNEPEGI.js +0 -101
- package/dist/skills-WRKEF2Q4.js +0 -47
- package/dist/sources-5YUE7KUI.js +0 -30
- package/dist/sources-UR3SLKVK.js +0 -454
- package/dist/stale-6LZAROBI.js +0 -63
- package/dist/stale-6LZAROBI.js.map +0 -1
- package/dist/stats-QFBTSDVV.js +0 -34
- package/dist/status-FDKP65DR.js +0 -62
- package/dist/sticker-2JQUC7XO.js +0 -94
- package/dist/stock-W3SNJCBV.js +0 -179
- package/dist/studio-2GAZ6QOH.js +0 -49
- package/dist/sync-4LHVBFMZ.js +0 -265
- package/dist/sync-NAJQQ6NQ.js +0 -54
- package/dist/sync-OGFGTKUK.js +0 -54
- package/dist/sync-definition-MSQFCXRK.js +0 -54
- package/dist/tag-manager-MNGOJ3GC.js +0 -43
- package/dist/tags-67KLYTJF.js +0 -224
- package/dist/tags-GLHFHQW2.js +0 -20
- package/dist/tags-PYLVQEVS.js +0 -20
- package/dist/tags-SL4F3LLY.js +0 -20
- package/dist/tags-XMRO4WF6.js +0 -26
- package/dist/targeting-constants-RQT4GLUA.js +0 -118
- package/dist/targeting-criteria-VK3IR6N2.js +0 -113
- package/dist/targets-RCM2ZXSU.js +0 -103
- package/dist/testimonials-KTHDZ3R5.js +0 -32
- package/dist/themes-VVID6Y73.js +0 -94
- package/dist/top-companies-MBTTJTRK.js +0 -108
- package/dist/translate-I6LZ3UZU.js +0 -598
- package/dist/translate-I6LZ3UZU.js.map +0 -1
- package/dist/triggers-PDIVJDLP.js +0 -142
- package/dist/tweets-L4CXZLKQ.js +0 -123
- package/dist/unfollow-5T2CT3EF.js +0 -46
- package/dist/unlink-IHEFAFG6.js +0 -67
- package/dist/unstage-NEX3EIJX.js +0 -95
- package/dist/unstage-NJQAIIPT.js +0 -85
- package/dist/update-CYQIGHT4.js +0 -98
- package/dist/update-K5MMOE5N.js +0 -155
- package/dist/update-K5MMOE5N.js.map +0 -1
- package/dist/update-LR7UW5LL.js +0 -63
- package/dist/update-P5BTLCGG.js +0 -152
- package/dist/upload-C2K66PR3.js +0 -150
- package/dist/upload-VVB2LTD2.js +0 -126
- package/dist/upscale-SGBB4GWF.js +0 -109
- package/dist/url-options-LUKI4Y46.js +0 -130
- package/dist/url-params-MSRUZOGT.js +0 -98
- package/dist/use-XGTUHBUL.js +0 -95
- package/dist/validate-XMEHRCAG.js +0 -88
- package/dist/validate-XMEHRCAG.js.map +0 -1
- package/dist/variant-DQRDW6IZ.js +0 -338
- package/dist/videos-EQG7AAXT.js +0 -39
- package/dist/view-KJ6YNRXB.js +0 -121
- package/dist/viewer-check-7DZQDGD3.js +0 -68
- package/dist/web-MSYXLOFV.js +0 -140
- package/dist/winners-LD6PFXAS.js +0 -113
- package/dist/winning-ads-VWBU3BNQ.js +0 -84
- package/dist/write-commands-CKMHQ4YY.js +0 -737
- package/dist/write-commands-NW5CC3DP.js +0 -206
- package/dist/write-commands-PK23JVW3.js +0 -1015
- package/dist/write-commands-RLEYECTB.js +0 -713
- package/dist/x-ZSTQLK6Q.js +0 -47
- /package/dist/{account-63NUWSXK.js.map → account-7LUQWY6Q.js.map} +0 -0
- /package/dist/{account-NCX3VHZT.js.map → account-VH2AATWI.js.map} +0 -0
- /package/dist/{account-IFB6V6GL.js.map → account-Z65CPOWE.js.map} +0 -0
- /package/dist/{account-reads-Y3T65EI4.js.map → account-reads-GYI2SS6T.js.map} +0 -0
- /package/dist/{account-writes-7YZ7PTHF.js.map → account-writes-4N2MA2ZR.js.map} +0 -0
- /package/dist/{accounts-T5DCHHZK.js.map → accounts-E4TVYTUR.js.map} +0 -0
- /package/dist/{accounts-66KZC7QI.js.map → accounts-SMB3TNXX.js.map} +0 -0
- /package/dist/{accounts-MQIYTIAX.js.map → accounts-SPLE7URQ.js.map} +0 -0
- /package/dist/{accounts-MVEZ2TRL.js.map → accounts-UA2ZWRN4.js.map} +0 -0
- /package/dist/{accounts-2MQVGI4I.js.map → accounts-XG472YLB.js.map} +0 -0
- /package/dist/{actions-LRSHHDV2.js.map → actions-KQTXBNJU.js.map} +0 -0
- /package/dist/{active-entities-QWPGPNGE.js.map → active-entities-MCL7UEGV.js.map} +0 -0
- /package/dist/{activecampaign-G4XARU6N.js.map → activecampaign-42JXANUA.js.map} +0 -0
- /package/dist/{activities-FN7DOE5S.js.map → activities-IQPJPP4B.js.map} +0 -0
- /package/dist/{ad-group-writes-JSOCSYYV.js.map → ad-group-writes-EUTMPBMK.js.map} +0 -0
- /package/dist/{ad-groups-UN52WNJN.js.map → ad-groups-OVPAI5RM.js.map} +0 -0
- /package/dist/{ad-writes-X23H4HLZ.js.map → ad-writes-DACTYFEO.js.map} +0 -0
- /package/dist/{add-ZTXN775K.js.map → add-5IGUQHVZ.js.map} +0 -0
- /package/dist/{add-7EKI6ZA4.js.map → add-BK5AQI5A.js.map} +0 -0
- /package/dist/{add-ZP47HVHW.js.map → add-C3FQ5D62.js.map} +0 -0
- /package/dist/{add-2MVZQJYG.js.map → add-KTEJCE4L.js.map} +0 -0
- /package/dist/{add-accounts-PEJLMYWR.js.map → add-accounts-CJSV5NPL.js.map} +0 -0
- /package/dist/{ads-MKMWS36P.js.map → ads-HXX2IAFF.js.map} +0 -0
- /package/dist/{ads-NEJKXB4L.js.map → ads-L65JIKCD.js.map} +0 -0
- /package/dist/{ads-FOJ6P4OA.js.map → ads-RAUM6ISF.js.map} +0 -0
- /package/dist/{ads-7YYCWZIR.js.map → ads-WPI3AMSR.js.map} +0 -0
- /package/dist/{adsets-TIHFYWOU.js.map → adsets-LPN6WFGF.js.map} +0 -0
- /package/dist/{advertisers-246ZLRFZ.js.map → advertisers-36HP3AOE.js.map} +0 -0
- /package/dist/{advertisers-E77XAYCQ.js.map → advertisers-DS2NRWKI.js.map} +0 -0
- /package/dist/{analytics-SL56NTIV.js.map → analytics-I4LZCRG2.js.map} +0 -0
- /package/dist/{analytics-WPYPKM6L.js.map → analytics-IFNBT7IM.js.map} +0 -0
- /package/dist/{animate-3H3TL3N6.js.map → animate-3LV3LHXQ.js.map} +0 -0
- /package/dist/{assign-WGQVY3DW.js.map → assign-WBLSZNCO.js.map} +0 -0
- /package/dist/{audiences-GHMNXDPR.js.map → audiences-3LRCLHTQ.js.map} +0 -0
- /package/dist/{audiences-BWDG2R2U.js.map → audiences-RPLVMO4H.js.map} +0 -0
- /package/dist/{audiences-Q7OCAMAQ.js.map → audiences-XEZHACKH.js.map} +0 -0
- /package/dist/{audit-LGD4PMAI.js.map → audit-6AG6BPXQ.js.map} +0 -0
- /package/dist/{audit-HG53XQJK.js.map → audit-YEGQU474.js.map} +0 -0
- /package/dist/{autocomplete-PD2EMWRU.js.map → autocomplete-2QRU7ARD.js.map} +0 -0
- /package/dist/{avatars-U5KAMVNV.js.map → avatars-EIETXCF3.js.map} +0 -0
- /package/dist/{brand-2JJ45TBO.js.map → brand-CINQG3JG.js.map} +0 -0
- /package/dist/{businesses-24QYU6BL.js.map → businesses-PRRYPR7H.js.map} +0 -0
- /package/dist/{campaign-groups-ZXRHEEGS.js.map → campaign-groups-5CMTEJZZ.js.map} +0 -0
- /package/dist/{campaign-writes-WIBYW73K.js.map → campaign-writes-4RMPHQCT.js.map} +0 -0
- /package/dist/{campaign-writes-7UHMSPJ3.js.map → campaign-writes-U5LTDTYK.js.map} +0 -0
- /package/dist/{campaigns-WTZBLGVX.js.map → campaigns-4SOLY7OR.js.map} +0 -0
- /package/dist/{campaigns-CRRLTN74.js.map → campaigns-NFRLFNXI.js.map} +0 -0
- /package/dist/{campaigns-EY3AR4N7.js.map → campaigns-PC7UAVXR.js.map} +0 -0
- /package/dist/{campaigns-DJV4W6UP.js.map → campaigns-TFEQTSO3.js.map} +0 -0
- /package/dist/{canvas-WFYKZYZD.js.map → canvas-BPACZHNU.js.map} +0 -0
- /package/dist/{capabilities-IGKT7D4H.js.map → capabilities-FNVTPCDT.js.map} +0 -0
- /package/dist/{cards-IO2Q423H.js.map → cards-WHMCSRZX.js.map} +0 -0
- /package/dist/{catalogs-2HT3VRRI.js.map → catalogs-A7XMEEEP.js.map} +0 -0
- /package/dist/{changes-AZ6EUVFN.js.map → changes-J67WATHX.js.map} +0 -0
- /package/dist/{chatgpt-M27OEM7J.js.map → chatgpt-4PEWDJKP.js.map} +0 -0
- /package/dist/{chats-OXIYXI4U.js.map → chats-S5FCV7YO.js.map} +0 -0
- /package/dist/{chunk-VDAYKWVH.js.map → chunk-232YUPUI.js.map} +0 -0
- /package/dist/{chunk-ANWV2VTO.js.map → chunk-23H4ZJRP.js.map} +0 -0
- /package/dist/{chunk-QNH5NCLM.js.map → chunk-3OCSWUHV.js.map} +0 -0
- /package/dist/{chunk-BPPT7YVK.js.map → chunk-3UXMQ3K2.js.map} +0 -0
- /package/dist/{chunk-HH5PFZ7U.js.map → chunk-5WMTPYKT.js.map} +0 -0
- /package/dist/{chunk-U6RTBCU7.js.map → chunk-65N4ZPQD.js.map} +0 -0
- /package/dist/{chunk-UDG37PC2.js.map → chunk-6JWEGFM5.js.map} +0 -0
- /package/dist/{chunk-PWABS2DB.js.map → chunk-7RBJ2Z7Z.js.map} +0 -0
- /package/dist/{chunk-JU6X4XFU.js.map → chunk-ABXTGAG7.js.map} +0 -0
- /package/dist/{chunk-7MADMR5U.js.map → chunk-ADSNY4KZ.js.map} +0 -0
- /package/dist/{chunk-2SQ6ISRI.js.map → chunk-AHF6TQWB.js.map} +0 -0
- /package/dist/{chunk-RKPSE27R.js.map → chunk-AQ5WISEG.js.map} +0 -0
- /package/dist/{chunk-EQ74MEJN.js.map → chunk-BFRIRZRZ.js.map} +0 -0
- /package/dist/{chunk-WOTX7TNV.js.map → chunk-BFZS3WHS.js.map} +0 -0
- /package/dist/{chunk-NFSLRRIE.js.map → chunk-BITS62MF.js.map} +0 -0
- /package/dist/{chunk-JRLGQA2T.js.map → chunk-BLAHHMPF.js.map} +0 -0
- /package/dist/{chunk-NHQTEQPR.js.map → chunk-CCIDHU6M.js.map} +0 -0
- /package/dist/{chunk-EMPXRKIM.js.map → chunk-CM6FCSWN.js.map} +0 -0
- /package/dist/{chunk-CPTOHQSJ.js.map → chunk-CVBKW75S.js.map} +0 -0
- /package/dist/{chunk-TLQQV5AY.js.map → chunk-CXQRTLSQ.js.map} +0 -0
- /package/dist/{chunk-4EPGI6I2.js.map → chunk-D4LKZJYJ.js.map} +0 -0
- /package/dist/{chunk-D5GVSJBK.js.map → chunk-D7KR6KXR.js.map} +0 -0
- /package/dist/{chunk-SOK7U4NT.js.map → chunk-DCTEL4KG.js.map} +0 -0
- /package/dist/{chunk-GRYP7Y5V.js.map → chunk-DH5CKOYK.js.map} +0 -0
- /package/dist/{chunk-H4DAEWJQ.js.map → chunk-DQC4NIJE.js.map} +0 -0
- /package/dist/{chunk-UW7PZFWZ.js.map → chunk-DWX44QL6.js.map} +0 -0
- /package/dist/{chunk-H5CGVMQW.js.map → chunk-EE72SSB2.js.map} +0 -0
- /package/dist/{chunk-QKUBK3AD.js.map → chunk-FNA277HP.js.map} +0 -0
- /package/dist/{chunk-CLST7PLN.js.map → chunk-FU7HJWGM.js.map} +0 -0
- /package/dist/{chunk-VY5CTURR.js.map → chunk-GDLQ6SGW.js.map} +0 -0
- /package/dist/{chunk-LPBLKGH7.js.map → chunk-GEKXIXMG.js.map} +0 -0
- /package/dist/{chunk-QNLWBJUR.js.map → chunk-GLW7UJLB.js.map} +0 -0
- /package/dist/{chunk-5HABWBQX.js.map → chunk-H5HDZ7IC.js.map} +0 -0
- /package/dist/{chunk-MUHPBWE5.js.map → chunk-I5VZVQBZ.js.map} +0 -0
- /package/dist/{chunk-HDQBILJR.js.map → chunk-IC6SDOED.js.map} +0 -0
- /package/dist/{chunk-QBCPZFAV.js.map → chunk-IG627WWY.js.map} +0 -0
- /package/dist/{chunk-BWAFZSZ4.js.map → chunk-IN4G7X6W.js.map} +0 -0
- /package/dist/{chunk-5ADTL2LR.js.map → chunk-IPLE5K5E.js.map} +0 -0
- /package/dist/{chunk-SBN5UIQY.js.map → chunk-IWWOGBGA.js.map} +0 -0
- /package/dist/{chunk-R4CDO5YH.js.map → chunk-JFA4R3KS.js.map} +0 -0
- /package/dist/{chunk-LOTQBFUP.js.map → chunk-JYBLCIRN.js.map} +0 -0
- /package/dist/{chunk-O6VUX3O5.js.map → chunk-K3TNTBZJ.js.map} +0 -0
- /package/dist/{chunk-FDPBTKXZ.js.map → chunk-LCW3U4EA.js.map} +0 -0
- /package/dist/{chunk-RJFM6TJC.js.map → chunk-MI3JB5KB.js.map} +0 -0
- /package/dist/{chunk-PXTFT35U.js.map → chunk-MIOOPOG2.js.map} +0 -0
- /package/dist/{chunk-EBC64WAG.js.map → chunk-MJQBXFW6.js.map} +0 -0
- /package/dist/{chunk-ETFAIX4L.js.map → chunk-MPACDBH5.js.map} +0 -0
- /package/dist/{chunk-AQYH6C32.js.map → chunk-MXWOYFI2.js.map} +0 -0
- /package/dist/{chunk-KODTY7PB.js.map → chunk-N5O67GK5.js.map} +0 -0
- /package/dist/{chunk-4LODOBIN.js.map → chunk-NCP6RD6A.js.map} +0 -0
- /package/dist/{chunk-D5Z34AYL.js.map → chunk-NNF4RARY.js.map} +0 -0
- /package/dist/{chunk-LKM3FMYC.js.map → chunk-NR2OVOTD.js.map} +0 -0
- /package/dist/{chunk-UARL36OD.js.map → chunk-NVGXYF6K.js.map} +0 -0
- /package/dist/{chunk-AQADZOTG.js.map → chunk-OP7DNHD2.js.map} +0 -0
- /package/dist/{chunk-3UA4THEF.js.map → chunk-ORQKMXHA.js.map} +0 -0
- /package/dist/{chunk-TWXM7HVR.js.map → chunk-P3TNRS56.js.map} +0 -0
- /package/dist/{chunk-WE6K2VVZ.js.map → chunk-Q7YZL7PG.js.map} +0 -0
- /package/dist/{chunk-LEGVJCL4.js.map → chunk-QABSQADZ.js.map} +0 -0
- /package/dist/{chunk-37P6DTDJ.js.map → chunk-R2TAVQGZ.js.map} +0 -0
- /package/dist/{chunk-JQ4PQ2H6.js.map → chunk-R5WNYLG4.js.map} +0 -0
- /package/dist/{chunk-QGWCBGEC.js.map → chunk-RD2XXQW3.js.map} +0 -0
- /package/dist/{chunk-MICLDQES.js.map → chunk-RMLJNHCU.js.map} +0 -0
- /package/dist/{chunk-BODRDUYQ.js.map → chunk-S7A34DOA.js.map} +0 -0
- /package/dist/{chunk-26HCUIW2.js.map → chunk-SFJW2KED.js.map} +0 -0
- /package/dist/{chunk-6YZNHMPJ.js.map → chunk-SOKVXKRM.js.map} +0 -0
- /package/dist/{chunk-CIWI7LHO.js.map → chunk-STNCMKL6.js.map} +0 -0
- /package/dist/{chunk-AAF7HL4I.js.map → chunk-SWL4AAPP.js.map} +0 -0
- /package/dist/{chunk-7WZHO6W3.js.map → chunk-ULPO72IQ.js.map} +0 -0
- /package/dist/{chunk-CU2DEMQB.js.map → chunk-UMZIQIWN.js.map} +0 -0
- /package/dist/{chunk-RCMK4FM2.js.map → chunk-V7N666PJ.js.map} +0 -0
- /package/dist/{chunk-UMFKMS4U.js.map → chunk-WNJ5SYAG.js.map} +0 -0
- /package/dist/{chunk-ANYMWCST.js.map → chunk-WNSE7N75.js.map} +0 -0
- /package/dist/{chunk-7ANWFQEA.js.map → chunk-XDZVBX6L.js.map} +0 -0
- /package/dist/{chunk-NRRNY3TZ.js.map → chunk-XGOEX2VJ.js.map} +0 -0
- /package/dist/{chunk-TOIFDXCW.js.map → chunk-XUB2EK65.js.map} +0 -0
- /package/dist/{chunk-XKA4ZHGX.js.map → chunk-XUR4QWCS.js.map} +0 -0
- /package/dist/{chunk-XWB2L3HS.js.map → chunk-XZ4YMCZK.js.map} +0 -0
- /package/dist/{chunk-HKR7VCFK.js.map → chunk-Y3VRMFGF.js.map} +0 -0
- /package/dist/{chunk-F3VR6CTH.js.map → chunk-YD7BQDJ6.js.map} +0 -0
- /package/dist/{claim-DEQYWQZ4.js.map → claim-6MPQD43X.js.map} +0 -0
- /package/dist/{client-TL7BITWM.js.map → client-WL2FKW4T.js.map} +0 -0
- /package/dist/{code-ORY2WROG.js.map → code-NXN7QYKU.js.map} +0 -0
- /package/dist/{companies-QM5MOLIZ.js.map → companies-KRF2K4CA.js.map} +0 -0
- /package/dist/{complete-FM6VSFCT.js.map → complete-V433ON5C.js.map} +0 -0
- /package/dist/{config-FMDQ323H.js.map → config-VOF57KBL.js.map} +0 -0
- /package/dist/{connect-YTIE5PRU.js.map → connect-QVIAM3GX.js.map} +0 -0
- /package/dist/{content-ZQB6PXGX.js.map → content-KA25YYO3.js.map} +0 -0
- /package/dist/{conversation-VKWYWPB6.js.map → conversation-VZKBZZGG.js.map} +0 -0
- /package/dist/{conversion-report-U4UFXSD2.js.map → conversion-report-REOHVLCI.js.map} +0 -0
- /package/dist/{conversion-upload-command-INQX73AK.js.map → conversion-upload-command-ASHA6T6H.js.map} +0 -0
- /package/dist/{conversion-writes-MCKROLRA.js.map → conversion-writes-JU7Q2MUO.js.map} +0 -0
- /package/dist/{conversions-OPNDVQ56.js.map → conversions-3ISBR3TS.js.map} +0 -0
- /package/dist/{conversions-QILFJ34A.js.map → conversions-ZLC6YTJ5.js.map} +0 -0
- /package/dist/{countries-AZ3XSZVM.js.map → countries-XGMZWUGP.js.map} +0 -0
- /package/dist/{create-C4LTWKD7.js.map → create-B3QMYSIX.js.map} +0 -0
- /package/dist/{create-A7O5CBUS.js.map → create-IFCCMKFT.js.map} +0 -0
- /package/dist/{create-LRVA4MSV.js.map → create-R5P6JU5A.js.map} +0 -0
- /package/dist/{create-BEH3DUUP.js.map → create-SF6DOGDJ.js.map} +0 -0
- /package/dist/{creatives-XEKEYLNV.js.map → creatives-KD7MOCR3.js.map} +0 -0
- /package/dist/{creatives-43I65CHD.js.map → creatives-YJ3CXZQC.js.map} +0 -0
- /package/dist/{credentials-GJMH4XRU.js.map → credentials-2KJUKBMF.js.map} +0 -0
- /package/dist/{crm-WHK3PL6S.js.map → crm-GX72E2LT.js.map} +0 -0
- /package/dist/{crm-ECMEYPQT.js.map → crm-ZYDNEME5.js.map} +0 -0
- /package/dist/{crop-Q2GJLOHE.js.map → crop-7UTYG7GS.js.map} +0 -0
- /package/dist/{currency-SVDR5N7L.js.map → currency-CGDI2NXI.js.map} +0 -0
- /package/dist/{custom-conversions-5NJNPZKM.js.map → custom-conversions-YRYE65PU.js.map} +0 -0
- /package/dist/{customers-XKE3DQR7.js.map → customers-P4N4NXLJ.js.map} +0 -0
- /package/dist/{decide-PCJTFCWC.js.map → decide-TWKH5QQU.js.map} +0 -0
- /package/dist/{delete-7K4KFPUT.js.map → delete-2GIIUPA3.js.map} +0 -0
- /package/dist/{delete-APRR2OYC.js.map → delete-AK5IV44E.js.map} +0 -0
- /package/dist/{delete-GOA4Y562.js.map → delete-GLLYPNNB.js.map} +0 -0
- /package/dist/{delete-I2SIRTMZ.js.map → delete-J7DXPGKD.js.map} +0 -0
- /package/dist/{delete-QCZUGDIJ.js.map → delete-RS7RQDUX.js.map} +0 -0
- /package/dist/{delete-DTTEHY6E.js.map → delete-S4VKH7IS.js.map} +0 -0
- /package/dist/{demographics-HG7NWA5U.js.map → demographics-IKWN2H3V.js.map} +0 -0
- /package/dist/{describe-CRTFAH6Y.js.map → describe-5QCPRSIG.js.map} +0 -0
- /package/dist/{describe-OAB2FJYK.js.map → describe-L3UC6MIL.js.map} +0 -0
- /package/dist/{dimensions-PFGHRZ5T.js.map → dimensions-POH4JXEM.js.map} +0 -0
- /package/dist/{discard-U3DW6WV3.js.map → discard-H6DOHJRG.js.map} +0 -0
- /package/dist/{discover-IOJZYJ6B.js.map → discover-L4TPEKGY.js.map} +0 -0
- /package/dist/{discover-R3EUUGRZ.js.map → discover-XAJKZCMM.js.map} +0 -0
- /package/dist/{domain-HTF3ARBJ.js.map → domain-US4KKAXC.js.map} +0 -0
- /package/dist/{download-2HGDCPR7.js.map → download-N4J5WFHD.js.map} +0 -0
- /package/dist/{draft-5RL6HZ6A.js.map → draft-BIQ3ZAYW.js.map} +0 -0
- /package/dist/{draft-3KLT2YHI.js.map → draft-EWDOIXSH.js.map} +0 -0
- /package/dist/{draft-PQGTIABK.js.map → draft-IL37WDST.js.map} +0 -0
- /package/dist/{draft-SRMHEIRG.js.map → draft-IZ4YLQRD.js.map} +0 -0
- /package/dist/{draft-7O4ABIKK.js.map → draft-KDMYGLWN.js.map} +0 -0
- /package/dist/{draft-KTOZ2AT7.js.map → draft-OLFQZBWL.js.map} +0 -0
- /package/dist/{draft-GPL2TZXA.js.map → draft-R32RFDCI.js.map} +0 -0
- /package/dist/{draft-DK4NZ6PW.js.map → draft-Y2QJE2NM.js.map} +0 -0
- /package/dist/{env-NPSYSFXD.js.map → env-5MUVYE2L.js.map} +0 -0
- /package/dist/{experiment-V57PLATO.js.map → experiment-G3FQVAJU.js.map} +0 -0
- /package/dist/{export-UN2PTCNO.js.map → export-OLDI32HM.js.map} +0 -0
- /package/dist/{extract-5JOFQZVU.js.map → extract-PPS6ONQN.js.map} +0 -0
- /package/dist/{facets-2XQEJNZZ.js.map → facets-JBZQHN3D.js.map} +0 -0
- /package/dist/{favorites-4AWW5F5B.js.map → favorites-4ELADD3R.js.map} +0 -0
- /package/dist/{feed-AK3IFTAL.js.map → feed-XIY5TVDL.js.map} +0 -0
- /package/dist/{fetch-VYIMA5BI.js.map → fetch-GOY6DQRL.js.map} +0 -0
- /package/dist/{fetch-6ALLGDRN.js.map → fetch-YWUVDMUH.js.map} +0 -0
- /package/dist/{find-22HWPRFY.js.map → find-EVY4XEIQ.js.map} +0 -0
- /package/dist/{fit-S4RO2DMX.js.map → fit-TVQ7RK52.js.map} +0 -0
- /package/dist/{flows-ITS573ST.js.map → flows-274YPU6I.js.map} +0 -0
- /package/dist/{follow-IUW3P6KH.js.map → follow-ZTPZKIMZ.js.map} +0 -0
- /package/dist/{follow-competitors-YDF5WM4K.js.map → follow-competitors-6QDVQ4VJ.js.map} +0 -0
- /package/dist/{following-PNOYUSHX.js.map → following-PBZLZFGQ.js.map} +0 -0
- /package/dist/{fonts-U4YXUNNZ.js.map → fonts-BMUNDGOZ.js.map} +0 -0
- /package/dist/{forecast-NHG3UHOP.js.map → forecast-F2CZSIMP.js.map} +0 -0
- /package/dist/{funding-WSJI56OH.js.map → funding-ULBMKUMW.js.map} +0 -0
- /package/dist/{funnel-46QWG5DN.js.map → funnel-LEUXICXU.js.map} +0 -0
- /package/dist/{ga4-4W3KJIS5.js.map → ga4-2BL5YAYN.js.map} +0 -0
- /package/dist/{generate-3MC7WDL2.js.map → generate-4HWNFAH3.js.map} +0 -0
- /package/dist/{get-P5ZTH7RQ.js.map → get-6RZU4M6W.js.map} +0 -0
- /package/dist/{get-SR2NWOPT.js.map → get-7GCEJ6KG.js.map} +0 -0
- /package/dist/{get-IAJ57JLM.js.map → get-MGDY5JYZ.js.map} +0 -0
- /package/dist/{get-4DJXDO42.js.map → get-MZWUMHEF.js.map} +0 -0
- /package/dist/{get-BK4MBGQF.js.map → get-OAZZHUZP.js.map} +0 -0
- /package/dist/{get-PTOW6PVF.js.map → get-OHU2N7B7.js.map} +0 -0
- /package/dist/{get-MVWVS3YT.js.map → get-TY6AMFI4.js.map} +0 -0
- /package/dist/{google-EMSAXPVB.js.map → google-7STODZQR.js.map} +0 -0
- /package/dist/{google-XE35SF3Z.js.map → google-ZTTE34A4.js.map} +0 -0
- /package/dist/{google-ads-DYNDLOBO.js.map → google-ads-5ARKO757.js.map} +0 -0
- /package/dist/{group-MBRA2QID.js.map → group-D5WXNFCP.js.map} +0 -0
- /package/dist/{group-EUYJJ4LI.js.map → group-Y5PLETFT.js.map} +0 -0
- /package/dist/{gsc-B3NPUNI6.js.map → gsc-UU3T2C6B.js.map} +0 -0
- /package/dist/{history-4S3YEIPK.js.map → history-IQ33J5PB.js.map} +0 -0
- /package/dist/{history-7HFGP7UI.js.map → history-SU7VQCDJ.js.map} +0 -0
- /package/dist/{hubspot-3LWMILTD.js.map → hubspot-TJED44GO.js.map} +0 -0
- /package/dist/{icon-4DAXBICB.js.map → icon-GB7UH5RF.js.map} +0 -0
- /package/dist/{ideas-RHOV2ZJ6.js.map → ideas-UTSCGCT6.js.map} +0 -0
- /package/dist/{improve-U2RA5DPI.js.map → improve-U5USRH4G.js.map} +0 -0
- /package/dist/{ingest-H4F5TJC3.js.map → ingest-DGDNZWEM.js.map} +0 -0
- /package/dist/{ingest-URYQ7BTL.js.map → ingest-SGBJ3NXX.js.map} +0 -0
- /package/dist/{insights-HQGBM6VA.js.map → insights-4HT2NAYP.js.map} +0 -0
- /package/dist/{insights-K2CMI3K5.js.map → insights-SQLE5NOJ.js.map} +0 -0
- /package/dist/{inspect-IPQTTZK3.js.map → inspect-BMQTTKMW.js.map} +0 -0
- /package/dist/{inspiration-TRMFE64K.js.map → inspiration-XQYHBJY2.js.map} +0 -0
- /package/dist/{intent-2EWV4KXW.js.map → intent-LM36WK45.js.map} +0 -0
- /package/dist/{job-7GDSDRM4.js.map → job-CGQHEANB.js.map} +0 -0
- /package/dist/{job-create-PE7G64WC.js.map → job-create-SZYJT2NC.js.map} +0 -0
- /package/dist/{job-status-LUSCFLZ2.js.map → job-status-6LAKLCKH.js.map} +0 -0
- /package/dist/{keep-5NFHEILH.js.map → keep-3MJSHWU3.js.map} +0 -0
- /package/dist/{keyword-gap-T22T7RN6.js.map → keyword-gap-P652ODHN.js.map} +0 -0
- /package/dist/{keyword-metrics-SLCXHPZS.js.map → keyword-metrics-MQLGGJBT.js.map} +0 -0
- /package/dist/{keywords-for-site-HBQSJKNN.js.map → keywords-for-site-JL6H2YGU.js.map} +0 -0
- /package/dist/{landing-PJJGQM3M.js.map → landing-AJO2BPC2.js.map} +0 -0
- /package/dist/{landings-ZR4YMEPV.js.map → landings-ZLKUP66P.js.map} +0 -0
- /package/dist/{languages-HXAZNLNU.js.map → languages-3IJVDS5Z.js.map} +0 -0
- /package/dist/{languages-VLMJOAJN.js.map → languages-HL42MI7H.js.map} +0 -0
- /package/dist/{launches-T5LAIOYS.js.map → launches-RG2SWEXM.js.map} +0 -0
- /package/dist/{layerize-24PQKKPB.js.map → layerize-SJYK6HPD.js.map} +0 -0
- /package/dist/{leads-EDKSVSWP.js.map → leads-2XOSAYP4.js.map} +0 -0
- /package/dist/{leads-HXYLSNMB.js.map → leads-H6JIWVI6.js.map} +0 -0
- /package/dist/{library-ZHREUZMU.js.map → library-Q4OU7VR7.js.map} +0 -0
- /package/dist/{lighthouse-E2NTHAO4.js.map → lighthouse-FALRSVQH.js.map} +0 -0
- /package/dist/{line-item-writes-JNHZFCRM.js.map → line-item-writes-V7AKAHFC.js.map} +0 -0
- /package/dist/{line-items-WGLNILMH.js.map → line-items-GAMKVVIQ.js.map} +0 -0
- /package/dist/{link-KLFRRU24.js.map → link-Z5AQP6JN.js.map} +0 -0
- /package/dist/{list-TG6LBHCV.js.map → list-2ZTOMTES.js.map} +0 -0
- /package/dist/{list-E7CJMIGC.js.map → list-GK6LNWIW.js.map} +0 -0
- /package/dist/{list-E3MCY43O.js.map → list-NLGM3QDP.js.map} +0 -0
- /package/dist/{list-37F6C6P5.js.map → list-RR53EF3O.js.map} +0 -0
- /package/dist/{list-MIGWTOQU.js.map → list-SZH6TH74.js.map} +0 -0
- /package/dist/{list-HA2NITR3.js.map → list-TB677Q2F.js.map} +0 -0
- /package/dist/{list-7EEDCI3T.js.map → list-VTVRZIYL.js.map} +0 -0
- /package/dist/{list-SW3DF473.js.map → list-XZVQWIJN.js.map} +0 -0
- /package/dist/{locations-ZWTDUUGL.js.map → locations-AEGZ36JH.js.map} +0 -0
- /package/dist/{locations-VYIDAVD4.js.map → locations-YA7NZY44.js.map} +0 -0
- /package/dist/{log-Y4NIMHFD.js.map → log-JM4VLJE4.js.map} +0 -0
- /package/dist/{logo-SHQJHJK7.js.map → logo-YSNUUT33.js.map} +0 -0
- /package/dist/{lookup-TWSJ7KRT.js.map → lookup-RH5N3OWJ.js.map} +0 -0
- /package/dist/{map-DHQTEDUH.js.map → map-HRLUMCR2.js.map} +0 -0
- /package/dist/{mcp-ZHASO273.js.map → mcp-T6SAG4XB.js.map} +0 -0
- /package/dist/{media-LDVWXWWZ.js.map → media-ES2UBGYW.js.map} +0 -0
- /package/dist/{media-TNB4DLTJ.js.map → media-MPXEXN4O.js.map} +0 -0
- /package/dist/{media-sources-MFBQDZNS.js.map → media-sources-7AS3274L.js.map} +0 -0
- /package/dist/{members-HTHOAHPO.js.map → members-J5KWXTXY.js.map} +0 -0
- /package/dist/{meta-RAVCXVZA.js.map → meta-AOIPEDV5.js.map} +0 -0
- /package/dist/{metrics-2VB46SDT.js.map → metrics-VDBJ6KL7.js.map} +0 -0
- /package/dist/{models-TYRVCPS2.js.map → models-2DQ5NBMT.js.map} +0 -0
- /package/dist/{normalize-PVOL256M.js.map → normalize-CHZB4QDD.js.map} +0 -0
- /package/dist/{normalize-Q7EN7JIF.js.map → normalize-NR5RS3WR.js.map} +0 -0
- /package/dist/{options-VDTCTJHY.js.map → options-QLXFLESP.js.map} +0 -0
- /package/dist/{organization-VC5RO4FS.js.map → organization-KEGKAP4P.js.map} +0 -0
- /package/dist/{output-NHMCVVUU.js.map → output-GWIP6ROX.js.map} +0 -0
- /package/dist/{page-5PCVZ7HS.js.map → page-YWGBCN65.js.map} +0 -0
- /package/dist/{pages-DDXB4NQ4.js.map → pages-FTI44OSH.js.map} +0 -0
- /package/dist/{performance-QOQTL4XM.js.map → performance-SPGPGXE5.js.map} +0 -0
- /package/dist/{pinterest-KQYSCTVQ.js.map → pinterest-J442QLQS.js.map} +0 -0
- /package/dist/{pixels-HJYPX6RR.js.map → pixels-6IUB3Y3H.js.map} +0 -0
- /package/dist/{pixels-GH522EYV.js.map → pixels-MBKR4XPX.js.map} +0 -0
- /package/dist/{plan-ZS7SOXL6.js.map → plan-YPE77T4R.js.map} +0 -0
- /package/dist/{preview-W4VKXOCT.js.map → preview-V4YBD45S.js.map} +0 -0
- /package/dist/{profile-FSB4RT55.js.map → profile-S3MXS2VO.js.map} +0 -0
- /package/dist/{promoted-tweet-writes-6PI2KR65.js.map → promoted-tweet-writes-TRR3KPRJ.js.map} +0 -0
- /package/dist/{promoted-tweets-UJRNHKKO.js.map → promoted-tweets-XRYZNJI2.js.map} +0 -0
- /package/dist/{properties-V74I56UK.js.map → properties-G3L2OAOL.js.map} +0 -0
- /package/dist/{query-KBXZD4SW.js.map → query-M3IO54U2.js.map} +0 -0
- /package/dist/{query-SFNCXH4H.js.map → query-WCB5W4NW.js.map} +0 -0
- /package/dist/{query-5F5MBR7H.js.map → query-YBS6ZQ75.js.map} +0 -0
- /package/dist/{questionnaire-JK5JLQXK.js.map → questionnaire-PAK4DALP.js.map} +0 -0
- /package/dist/{read-LGRFU7XB.js.map → read-LUTB3UOR.js.map} +0 -0
- /package/dist/{reddit-QWM5ZQ6P.js.map → reddit-STSECKMZ.js.map} +0 -0
- /package/dist/{refresh-ZPF7UH3S.js.map → refresh-RQ3C2MHI.js.map} +0 -0
- /package/dist/{release-BZPK2P3R.js.map → release-UHGU5WBY.js.map} +0 -0
- /package/dist/{relevant-pages-VMNEEEJK.js.map → relevant-pages-G6SNC73K.js.map} +0 -0
- /package/dist/{remove-C7ZJYFCG.js.map → remove-LTKICIIF.js.map} +0 -0
- /package/dist/{remove-PIHTPIHM.js.map → remove-X6DNVS67.js.map} +0 -0
- /package/dist/{reopen-6Q7NQX2C.js.map → reopen-BP5ERELB.js.map} +0 -0
- /package/dist/{research-X6O7IID6.js.map → research-GOYMTKZM.js.map} +0 -0
- /package/dist/{research-FXQ6X7BY.js.map → research-MBAPL35Y.js.map} +0 -0
- /package/dist/{reset-NXK6NCOO.js.map → reset-Q62PEGOU.js.map} +0 -0
- /package/dist/{reset-FRNQUCL5.js.map → reset-SJPGSQ7I.js.map} +0 -0
- /package/dist/{resolve-WHI4UP4V.js.map → resolve-R45W7QEQ.js.map} +0 -0
- /package/dist/{retry-XMTYWCFA.js.map → retry-CD2Q2AJN.js.map} +0 -0
- /package/dist/{retry-VSFPEXLE.js.map → retry-NBZ7Q6HK.js.map} +0 -0
- /package/dist/{retry-failed-XTYV3QJS.js.map → retry-failed-EJBP4236.js.map} +0 -0
- /package/dist/{run-TAASFDQ7.js.map → run-HCJKCEOL.js.map} +0 -0
- /package/dist/{run-HBNAA56X.js.map → run-IIU2UVQU.js.map} +0 -0
- /package/dist/{schedule-P6GVRZ4E.js.map → schedule-BSQHXJ5V.js.map} +0 -0
- /package/dist/{schedule-WSO7ETS6.js.map → schedule-IDZC6M32.js.map} +0 -0
- /package/dist/{scheduled-agents-TYT5BIBQ.js.map → scheduled-agents-MFLMG34I.js.map} +0 -0
- /package/dist/{schema-DL34A626.js.map → schema-EFR7NGJG.js.map} +0 -0
- /package/dist/{schema-O4CMQQGD.js.map → schema-IWPG3YSN.js.map} +0 -0
- /package/dist/{scrape-ZG2OWZL4.js.map → scrape-J2Y7YZ4Z.js.map} +0 -0
- /package/dist/{screenshot-GJUY7FCW.js.map → screenshot-K7ZGTVTE.js.map} +0 -0
- /package/dist/{search-FHSQYZOC.js.map → search-CI7LEOOK.js.map} +0 -0
- /package/dist/{search-HBFAHH4W.js.map → search-EGI5K77S.js.map} +0 -0
- /package/dist/{search-2BJ4OLMX.js.map → search-I6DRUXBX.js.map} +0 -0
- /package/dist/{search-ZAY2QV3Y.js.map → search-TTL7VQET.js.map} +0 -0
- /package/dist/{search-52CSDYJS.js.map → search-VT2KUAH6.js.map} +0 -0
- /package/dist/{search-copy-O5AOEBXC.js.map → search-copy-N2AIJNUH.js.map} +0 -0
- /package/dist/{seeds-XY3EZ33U.js.map → seeds-EYYQCMGF.js.map} +0 -0
- /package/dist/{sends-GECHL3NK.js.map → sends-RHVFV2XM.js.map} +0 -0
- /package/dist/{sequences-5BB4S63A.js.map → sequences-5DUWNSWQ.js.map} +0 -0
- /package/dist/{setup-links-GF2IP4TH.js.map → setup-links-5ILQNMFZ.js.map} +0 -0
- /package/dist/{shared-JDIL3BNQ.js.map → shared-NDRFKAH7.js.map} +0 -0
- /package/dist/{site-T6V5S5DJ.js.map → site-LBXNVRPE.js.map} +0 -0
- /package/dist/{sitemaps-UQJFRA2W.js.map → sitemaps-QKKXMXMV.js.map} +0 -0
- /package/dist/{sites-ZNNEPEGI.js.map → sites-GRC6CCCK.js.map} +0 -0
- /package/dist/{skills-WRKEF2Q4.js.map → skills-UML6GSW6.js.map} +0 -0
- /package/dist/{sources-UR3SLKVK.js.map → sources-GP4PUTX2.js.map} +0 -0
- /package/dist/{sources-5YUE7KUI.js.map → sources-N4UANUHJ.js.map} +0 -0
- /package/dist/{stats-QFBTSDVV.js.map → stats-RCLQE4HJ.js.map} +0 -0
- /package/dist/{status-FDKP65DR.js.map → status-GSFMLC6W.js.map} +0 -0
- /package/dist/{sticker-2JQUC7XO.js.map → sticker-SINY47WT.js.map} +0 -0
- /package/dist/{stock-W3SNJCBV.js.map → stock-ECRBD7RP.js.map} +0 -0
- /package/dist/{studio-2GAZ6QOH.js.map → studio-YB5WXQYC.js.map} +0 -0
- /package/dist/{sync-NAJQQ6NQ.js.map → sync-2MFUI3ME.js.map} +0 -0
- /package/dist/{sync-4LHVBFMZ.js.map → sync-IE4AAVGY.js.map} +0 -0
- /package/dist/{sync-OGFGTKUK.js.map → sync-LIV7FU4N.js.map} +0 -0
- /package/dist/{sync-definition-MSQFCXRK.js.map → sync-definition-5JO7QXX3.js.map} +0 -0
- /package/dist/{tag-manager-MNGOJ3GC.js.map → tag-manager-G3LBQZUL.js.map} +0 -0
- /package/dist/{tags-XMRO4WF6.js.map → tags-4JQX7HMT.js.map} +0 -0
- /package/dist/{tags-67KLYTJF.js.map → tags-6RQVXS47.js.map} +0 -0
- /package/dist/{tags-GLHFHQW2.js.map → tags-AAIFQ6LS.js.map} +0 -0
- /package/dist/{tags-SL4F3LLY.js.map → tags-F355NMIR.js.map} +0 -0
- /package/dist/{tags-PYLVQEVS.js.map → tags-ZHCGHGYC.js.map} +0 -0
- /package/dist/{targeting-constants-RQT4GLUA.js.map → targeting-constants-KEKYU5JQ.js.map} +0 -0
- /package/dist/{targeting-criteria-VK3IR6N2.js.map → targeting-criteria-6FY2JB3V.js.map} +0 -0
- /package/dist/{targets-RCM2ZXSU.js.map → targets-NI7TR4GV.js.map} +0 -0
- /package/dist/{testimonials-KTHDZ3R5.js.map → testimonials-G7CCH7VN.js.map} +0 -0
- /package/dist/{themes-VVID6Y73.js.map → themes-PXDXIKYR.js.map} +0 -0
- /package/dist/{top-companies-MBTTJTRK.js.map → top-companies-YH2ZJEH5.js.map} +0 -0
- /package/dist/{triggers-PDIVJDLP.js.map → triggers-WYFM7PAH.js.map} +0 -0
- /package/dist/{tweets-L4CXZLKQ.js.map → tweets-C3QUKS3I.js.map} +0 -0
- /package/dist/{unfollow-5T2CT3EF.js.map → unfollow-ZI5QU7RD.js.map} +0 -0
- /package/dist/{unlink-IHEFAFG6.js.map → unlink-PTWUSM5B.js.map} +0 -0
- /package/dist/{unstage-NEX3EIJX.js.map → unstage-7F7JI6HY.js.map} +0 -0
- /package/dist/{unstage-NJQAIIPT.js.map → unstage-MCM6EZWK.js.map} +0 -0
- /package/dist/{update-LR7UW5LL.js.map → update-643S2MUW.js.map} +0 -0
- /package/dist/{update-P5BTLCGG.js.map → update-GUIP6G3N.js.map} +0 -0
- /package/dist/{update-CYQIGHT4.js.map → update-V6E3CIFD.js.map} +0 -0
- /package/dist/{upload-VVB2LTD2.js.map → upload-3YJJ5VID.js.map} +0 -0
- /package/dist/{upload-C2K66PR3.js.map → upload-KO46L76G.js.map} +0 -0
- /package/dist/{upscale-SGBB4GWF.js.map → upscale-SJ7SCSRS.js.map} +0 -0
- /package/dist/{url-options-LUKI4Y46.js.map → url-options-LHS4SWWB.js.map} +0 -0
- /package/dist/{url-params-MSRUZOGT.js.map → url-params-2DKIXKHH.js.map} +0 -0
- /package/dist/{use-XGTUHBUL.js.map → use-6ULEM3WE.js.map} +0 -0
- /package/dist/{variant-DQRDW6IZ.js.map → variant-5TRRSYBB.js.map} +0 -0
- /package/dist/{videos-EQG7AAXT.js.map → videos-KEDR4GG3.js.map} +0 -0
- /package/dist/{view-KJ6YNRXB.js.map → view-ABSWZMXW.js.map} +0 -0
- /package/dist/{viewer-check-7DZQDGD3.js.map → viewer-check-TSH3SAYJ.js.map} +0 -0
- /package/dist/{web-MSYXLOFV.js.map → web-UOGBNAHR.js.map} +0 -0
- /package/dist/{winners-LD6PFXAS.js.map → winners-KRISBKOR.js.map} +0 -0
- /package/dist/{winning-ads-VWBU3BNQ.js.map → winning-ads-SGBI3WHK.js.map} +0 -0
- /package/dist/{write-commands-PK23JVW3.js.map → write-commands-E7JOB4HX.js.map} +0 -0
- /package/dist/{write-commands-CKMHQ4YY.js.map → write-commands-HCQI4Y27.js.map} +0 -0
- /package/dist/{write-commands-NW5CC3DP.js.map → write-commands-QCI6XBM7.js.map} +0 -0
- /package/dist/{write-commands-RLEYECTB.js.map → write-commands-RHCCPMAE.js.map} +0 -0
- /package/dist/{x-ZSTQLK6Q.js.map → x-UNSN57YP.js.map} +0 -0
package/dist/chunk-XWB2L3HS.js
DELETED
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
canvasOutputsRoot
|
|
3
|
-
} from "./chunk-ANWV2VTO.js";
|
|
4
|
-
import {
|
|
5
|
-
optionalChatId
|
|
6
|
-
} from "./chunk-H5CGVMQW.js";
|
|
7
|
-
|
|
8
|
-
// src/commands/canvas/creative-limit.ts
|
|
9
|
-
import { existsSync } from "fs";
|
|
10
|
-
import { mkdir, readdir, writeFile } from "fs/promises";
|
|
11
|
-
import path from "path";
|
|
12
|
-
var NEW_CREATIVES_PER_CHAT = 10;
|
|
13
|
-
function claimNewCreative(made, slug) {
|
|
14
|
-
if (made.includes(slug)) return { allowed: true, count: made.length };
|
|
15
|
-
if (made.length >= NEW_CREATIVES_PER_CHAT) return { allowed: false, count: made.length };
|
|
16
|
-
return { allowed: true, count: made.length + 1 };
|
|
17
|
-
}
|
|
18
|
-
function chatDir(canvasRoot, chatId) {
|
|
19
|
-
return path.join(canvasRoot, ".creative-limit", (chatId ?? "no-chat").replace(/[^A-Za-z0-9_-]/g, "_"));
|
|
20
|
-
}
|
|
21
|
-
async function madeInChat(dir) {
|
|
22
|
-
return readdir(dir).catch(() => []);
|
|
23
|
-
}
|
|
24
|
-
async function claimNewCreativeInWorkspace(canvasRoot, slug, chatId, definitionPath, exists = existsSync) {
|
|
25
|
-
const dir = chatDir(canvasRoot, chatId);
|
|
26
|
-
const made = await madeInChat(dir);
|
|
27
|
-
if (!made.includes(slug) && exists(definitionPath)) return { allowed: true, count: made.length };
|
|
28
|
-
const claim = claimNewCreative(made, slug);
|
|
29
|
-
if (claim.allowed && !made.includes(slug)) {
|
|
30
|
-
try {
|
|
31
|
-
await mkdir(dir, { recursive: true });
|
|
32
|
-
await writeFile(path.join(dir, slug), "", { flag: "wx" });
|
|
33
|
-
} catch {
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
return claim;
|
|
37
|
-
}
|
|
38
|
-
function creativeLimitRefusal(slug) {
|
|
39
|
-
return {
|
|
40
|
-
ok: false,
|
|
41
|
-
error: {
|
|
42
|
-
code: "CREATIVE_LIMIT",
|
|
43
|
-
message: `${slug} would be new creative number ${NEW_CREATIVES_PER_CHAT + 1} in this chat. A chat makes at most ${NEW_CREATIVES_PER_CHAT} new creatives.`,
|
|
44
|
-
fix: `Build nothing more. Finish and show the ${NEW_CREATIVES_PER_CHAT} you have, and tell the person in one line that a chat makes up to ${NEW_CREATIVES_PER_CHAT} new creatives, so the rest go in a new chat. Editing or resizing the ones already made still works here. Working as a subagent: return now and say the limit was reached.`
|
|
45
|
-
}
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
async function enforceNewCreativeLimit(slug, canvasPath) {
|
|
49
|
-
const claim = await claimNewCreativeInWorkspace(
|
|
50
|
-
canvasOutputsRoot(canvasPath),
|
|
51
|
-
slug,
|
|
52
|
-
optionalChatId() ?? null,
|
|
53
|
-
path.join(path.dirname(path.resolve(canvasPath)), "_definition.md")
|
|
54
|
-
);
|
|
55
|
-
if (claim.allowed) return;
|
|
56
|
-
process.stderr.write(`${JSON.stringify(creativeLimitRefusal(slug), null, 2)}
|
|
57
|
-
`);
|
|
58
|
-
process.exit(2);
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
export {
|
|
62
|
-
claimNewCreativeInWorkspace,
|
|
63
|
-
creativeLimitRefusal,
|
|
64
|
-
enforceNewCreativeLimit
|
|
65
|
-
};
|
|
66
|
-
//# sourceMappingURL=chunk-XWB2L3HS.js.map
|
package/dist/chunk-XYOU3ROP.js
DELETED
|
@@ -1,175 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
handleConnectionError,
|
|
3
|
-
needsConnectionFix,
|
|
4
|
-
writeAdsJson
|
|
5
|
-
} from "./chunk-AAF7HL4I.js";
|
|
6
|
-
import {
|
|
7
|
-
LINKEDIN_SEARCH_STATUSES,
|
|
8
|
-
unsupportedLinkedinSearchStatuses
|
|
9
|
-
} from "./chunk-GAJQPQWS.js";
|
|
10
|
-
import {
|
|
11
|
-
ApiError
|
|
12
|
-
} from "./chunk-7ANWFQEA.js";
|
|
13
|
-
import {
|
|
14
|
-
MissingChatIdError,
|
|
15
|
-
getEnv
|
|
16
|
-
} from "./chunk-H5CGVMQW.js";
|
|
17
|
-
|
|
18
|
-
// src/commands/ads/linkedin/shared.ts
|
|
19
|
-
var DAY_MS = 864e5;
|
|
20
|
-
function handleLinkedinError(err) {
|
|
21
|
-
if (err instanceof ApiError) {
|
|
22
|
-
if (needsConnectionFix(err.code, err.message)) {
|
|
23
|
-
handleConnectionError("linkedin_ads", err.message);
|
|
24
|
-
}
|
|
25
|
-
if (isNoAccountsSelectedError(err.code, err.message)) {
|
|
26
|
-
handleConnectionError("linkedin_ads", err.message);
|
|
27
|
-
}
|
|
28
|
-
const explanation = explainLinkedinError(err);
|
|
29
|
-
const envelope = {
|
|
30
|
-
ok: false,
|
|
31
|
-
error: {
|
|
32
|
-
code: err.code,
|
|
33
|
-
message: err.message,
|
|
34
|
-
fix: {
|
|
35
|
-
action: explanation.action,
|
|
36
|
-
explanation: explanation.message,
|
|
37
|
-
correctedCommand: explanation.correctedCommand
|
|
38
|
-
},
|
|
39
|
-
retryable: err.code === "RATE_LIMITED" || err.code === "UNAVAILABLE" || err.code === "INTERNAL_ERROR"
|
|
40
|
-
}
|
|
41
|
-
};
|
|
42
|
-
writeAdsJson(envelope);
|
|
43
|
-
process.exit(1);
|
|
44
|
-
}
|
|
45
|
-
writeAdsJson(unexpectedErrorEnvelope(err));
|
|
46
|
-
process.exit(1);
|
|
47
|
-
}
|
|
48
|
-
function unexpectedErrorEnvelope(err) {
|
|
49
|
-
if (err instanceof MissingChatIdError) {
|
|
50
|
-
return {
|
|
51
|
-
ok: false,
|
|
52
|
-
error: {
|
|
53
|
-
code: err.code,
|
|
54
|
-
message: err.message,
|
|
55
|
-
fix: {
|
|
56
|
-
action: "reject",
|
|
57
|
-
explanation: "LinkedIn changes are staged in a chat and this run has none. Don't retry: carry on with the rest of the job and tell the user this change couldn't be staged from here."
|
|
58
|
-
},
|
|
59
|
-
retryable: false
|
|
60
|
-
}
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
const message = err instanceof Error ? err.message : "Unexpected error";
|
|
64
|
-
return { ok: false, error: { code: "NETWORK_ERROR", message } };
|
|
65
|
-
}
|
|
66
|
-
function isNoAccountsSelectedError(code, message) {
|
|
67
|
-
return code === "VALIDATION_ERROR" && /no linkedin ad accounts selected/i.test(message);
|
|
68
|
-
}
|
|
69
|
-
function explainLinkedinError(err) {
|
|
70
|
-
const lower = err.message.toLowerCase();
|
|
71
|
-
if (err.code === "VALIDATION_ERROR" && lower.includes("granularity") && lower.includes("daily")) {
|
|
72
|
-
return {
|
|
73
|
-
action: "retry_with_flag",
|
|
74
|
-
message: "LinkedIn rejects DAILY granularity when pivoting on demographic dims (job-title, company, etc.). Re-run with --granularity ALL or MONTHLY.",
|
|
75
|
-
correctedCommand: void 0
|
|
76
|
-
};
|
|
77
|
-
}
|
|
78
|
-
if (err.code === "RATE_LIMITED") {
|
|
79
|
-
return {
|
|
80
|
-
action: "wait_and_retry",
|
|
81
|
-
message: "Hit a LinkedIn throttle. The CLI already backs off automatically \u2014 if you see this you've exhausted the retry budget. Wait ~60s and retry."
|
|
82
|
-
};
|
|
83
|
-
}
|
|
84
|
-
if (err.code === "INTERNAL_ERROR" && lower.includes("deprecat")) {
|
|
85
|
-
return {
|
|
86
|
-
action: "reject",
|
|
87
|
-
message: "LinkedIn-Version header is deprecated. The backend constant LINKEDIN_API_VERSION needs to be bumped \u2014 file an issue or update the constant."
|
|
88
|
-
};
|
|
89
|
-
}
|
|
90
|
-
return { action: "reject", message: err.message };
|
|
91
|
-
}
|
|
92
|
-
var LI_ACCOUNT_ID_RE = /^(urn:li:sponsoredAccount:)?\d+$/;
|
|
93
|
-
function resolveAccountIdArg(args) {
|
|
94
|
-
const fromArgs = args["account-id"] ?? args["account-urn"];
|
|
95
|
-
const id = fromArgs || getEnv().BAKER_LINKEDIN_AD_ACCOUNT_ID;
|
|
96
|
-
if (!id) {
|
|
97
|
-
writeAdsJson({
|
|
98
|
-
ok: false,
|
|
99
|
-
error: {
|
|
100
|
-
code: "MISSING_ACCOUNT_ID",
|
|
101
|
-
message: "Pass --account-id (numeric) or --account-urn (urn:li:sponsoredAccount:N), or set BAKER_LINKEDIN_AD_ACCOUNT_ID. Run `baker ads linkedin accounts` to find IDs."
|
|
102
|
-
}
|
|
103
|
-
});
|
|
104
|
-
process.exit(1);
|
|
105
|
-
}
|
|
106
|
-
if (!LI_ACCOUNT_ID_RE.test(id)) {
|
|
107
|
-
writeAdsJson({
|
|
108
|
-
ok: false,
|
|
109
|
-
error: {
|
|
110
|
-
code: "INVALID_ACCOUNT_ID",
|
|
111
|
-
message: `Invalid LinkedIn account ID "${id}". Expected numeric or urn:li:sponsoredAccount:N.`
|
|
112
|
-
}
|
|
113
|
-
});
|
|
114
|
-
process.exit(1);
|
|
115
|
-
}
|
|
116
|
-
return id.startsWith("urn:") ? id.split(":").pop() ?? id : id;
|
|
117
|
-
}
|
|
118
|
-
function todayIso() {
|
|
119
|
-
return (/* @__PURE__ */ new Date()).toISOString().slice(0, 10);
|
|
120
|
-
}
|
|
121
|
-
function daysAgoIso(days) {
|
|
122
|
-
return new Date(Date.now() - days * DAY_MS).toISOString().slice(0, 10);
|
|
123
|
-
}
|
|
124
|
-
function csvOrJson(args) {
|
|
125
|
-
return args.output ?? "json";
|
|
126
|
-
}
|
|
127
|
-
function statusesArgDescription(level) {
|
|
128
|
-
return `CSV of statuses (${LINKEDIN_SEARCH_STATUSES[level].join(",")})`;
|
|
129
|
-
}
|
|
130
|
-
function statusFilterError(level, statuses) {
|
|
131
|
-
const unsupported = unsupportedLinkedinSearchStatuses(level, statuses);
|
|
132
|
-
if (unsupported.length === 0) {
|
|
133
|
-
return null;
|
|
134
|
-
}
|
|
135
|
-
const accepted = LINKEDIN_SEARCH_STATUSES[level].join(",");
|
|
136
|
-
return {
|
|
137
|
-
ok: false,
|
|
138
|
-
error: {
|
|
139
|
-
code: "INVALID_STATUS",
|
|
140
|
-
message: `LinkedIn does not accept status ${unsupported.join(", ")} for this listing.`,
|
|
141
|
-
fix: {
|
|
142
|
-
action: "retry_with_flag",
|
|
143
|
-
explanation: `Re-run with --statuses from ${accepted}, or --all-statuses to drop the filter.`
|
|
144
|
-
},
|
|
145
|
-
retryable: false
|
|
146
|
-
}
|
|
147
|
-
};
|
|
148
|
-
}
|
|
149
|
-
function resolveStatusFilter(args, level) {
|
|
150
|
-
if (args["all-statuses"]) {
|
|
151
|
-
return void 0;
|
|
152
|
-
}
|
|
153
|
-
const explicit = args.statuses;
|
|
154
|
-
if (!explicit) {
|
|
155
|
-
return ["ACTIVE"];
|
|
156
|
-
}
|
|
157
|
-
const statuses = explicit.split(",").map((s) => s.trim().toUpperCase()).filter(Boolean);
|
|
158
|
-
const error = statusFilterError(level, statuses);
|
|
159
|
-
if (error) {
|
|
160
|
-
writeAdsJson(error);
|
|
161
|
-
process.exit(1);
|
|
162
|
-
}
|
|
163
|
-
return statuses;
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
export {
|
|
167
|
-
handleLinkedinError,
|
|
168
|
-
resolveAccountIdArg,
|
|
169
|
-
todayIso,
|
|
170
|
-
daysAgoIso,
|
|
171
|
-
csvOrJson,
|
|
172
|
-
statusesArgDescription,
|
|
173
|
-
resolveStatusFilter
|
|
174
|
-
};
|
|
175
|
-
//# sourceMappingURL=chunk-XYOU3ROP.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/commands/ads/linkedin/shared.ts"],"sourcesContent":["import { LINKEDIN_SEARCH_STATUSES, type LinkedinSearchLevel, unsupportedLinkedinSearchStatuses } from \"@baker/api\";\nimport { ApiError } from \"../../../client.ts\";\nimport { getEnv, MissingChatIdError } from \"../../../env.ts\";\nimport { handleConnectionError, needsConnectionFix } from \"../../../error-handler.ts\";\nimport { writeAdsJson } from \"../output.ts\";\nimport type { AdsErrorEnvelope } from \"../types.ts\";\n\nconst DAY_MS = 86_400_000;\n\n/**\n * Map LinkedIn-flavored API errors into the shared CLI error envelope. The\n * backend already maps LinkedIn `serviceErrorCode` → tagged HTTP status, so by\n * the time we get here we just need to attach an actionable `fix` and exit.\n */\nexport function handleLinkedinError(err: unknown): never {\n if (err instanceof ApiError) {\n if (needsConnectionFix(err.code, err.message)) {\n handleConnectionError(\"linkedin_ads\", err.message);\n }\n if (isNoAccountsSelectedError(err.code, err.message)) {\n handleConnectionError(\"linkedin_ads\", err.message);\n }\n const explanation = explainLinkedinError(err);\n const envelope: AdsErrorEnvelope = {\n ok: false,\n error: {\n code: err.code,\n message: err.message,\n fix: {\n action: explanation.action,\n explanation: explanation.message,\n correctedCommand: explanation.correctedCommand,\n },\n retryable: err.code === \"RATE_LIMITED\" || err.code === \"UNAVAILABLE\" || err.code === \"INTERNAL_ERROR\",\n },\n };\n writeAdsJson(envelope);\n process.exit(1);\n }\n writeAdsJson(unexpectedErrorEnvelope(err));\n process.exit(1);\n}\n\n/**\n * Any failure that is not an API answer. A missing chat id gets its own code\n * and a fix — no retry can supply it — and anything else reads as the network.\n */\nexport function unexpectedErrorEnvelope(err: unknown): {\n ok: false;\n error: Pick<AdsErrorEnvelope[\"error\"], \"code\" | \"message\"> &\n Partial<Pick<AdsErrorEnvelope[\"error\"], \"fix\" | \"retryable\">>;\n} {\n if (err instanceof MissingChatIdError) {\n return {\n ok: false,\n error: {\n code: err.code,\n message: err.message,\n fix: {\n action: \"reject\",\n explanation:\n \"LinkedIn changes are staged in a chat and this run has none. Don't retry: carry on with the rest of the job and tell the user this change couldn't be staged from here.\",\n },\n retryable: false,\n },\n };\n }\n const message = err instanceof Error ? err.message : \"Unexpected error\";\n return { ok: false, error: { code: \"NETWORK_ERROR\", message } };\n}\n\n/**\n * \"No ad accounts selected\" comes back as a 400 (→ VALIDATION_ERROR), which\n * reads like a bad flag but is really an unfinished connection: the user has to\n * pick their accounts again. Route it to the connect flow, not flag advice.\n */\nexport function isNoAccountsSelectedError(code: string, message: string): boolean {\n return code === \"VALIDATION_ERROR\" && /no linkedin ad accounts selected/i.test(message);\n}\n\nfunction explainLinkedinError(err: ApiError): {\n action: AdsErrorEnvelope[\"error\"][\"fix\"][\"action\"];\n message: string;\n correctedCommand?: string;\n} {\n const lower = err.message.toLowerCase();\n if (err.code === \"VALIDATION_ERROR\" && lower.includes(\"granularity\") && lower.includes(\"daily\")) {\n return {\n action: \"retry_with_flag\",\n message:\n \"LinkedIn rejects DAILY granularity when pivoting on demographic dims (job-title, company, etc.). Re-run with --granularity ALL or MONTHLY.\",\n correctedCommand: undefined,\n };\n }\n if (err.code === \"RATE_LIMITED\") {\n return {\n action: \"wait_and_retry\",\n message:\n \"Hit a LinkedIn throttle. The CLI already backs off automatically — if you see this you've exhausted the retry budget. Wait ~60s and retry.\",\n };\n }\n if (err.code === \"INTERNAL_ERROR\" && lower.includes(\"deprecat\")) {\n return {\n action: \"reject\",\n message:\n \"LinkedIn-Version header is deprecated. The backend constant LINKEDIN_API_VERSION needs to be bumped — file an issue or update the constant.\",\n };\n }\n return { action: \"reject\", message: err.message };\n}\n\nconst LI_ACCOUNT_ID_RE = /^(urn:li:sponsoredAccount:)?\\d+$/;\n\n/** Pull the default LinkedIn ad account ID from `--account-id` arg or env. */\nexport function resolveAccountIdArg(args: Record<string, unknown>): string {\n const fromArgs = (args[\"account-id\"] as string | undefined) ?? (args[\"account-urn\"] as string | undefined);\n const id = fromArgs || getEnv().BAKER_LINKEDIN_AD_ACCOUNT_ID;\n if (!id) {\n writeAdsJson({\n ok: false,\n error: {\n code: \"MISSING_ACCOUNT_ID\",\n message:\n \"Pass --account-id (numeric) or --account-urn (urn:li:sponsoredAccount:N), or set BAKER_LINKEDIN_AD_ACCOUNT_ID. Run `baker ads linkedin accounts` to find IDs.\",\n },\n });\n process.exit(1);\n }\n if (!LI_ACCOUNT_ID_RE.test(id)) {\n writeAdsJson({\n ok: false,\n error: {\n code: \"INVALID_ACCOUNT_ID\",\n message: `Invalid LinkedIn account ID \"${id}\". Expected numeric or urn:li:sponsoredAccount:N.`,\n },\n });\n process.exit(1);\n }\n return id.startsWith(\"urn:\") ? (id.split(\":\").pop() ?? id) : id;\n}\n\nexport function todayIso(): string {\n return new Date().toISOString().slice(0, 10);\n}\n\nexport function daysAgoIso(days: number): string {\n return new Date(Date.now() - days * DAY_MS).toISOString().slice(0, 10);\n}\n\nexport function csvOrJson(args: Record<string, unknown>): string {\n return (args.output as string | undefined) ?? \"json\";\n}\n\n/** The `--statuses` help line, listing exactly what LinkedIn accepts at this level. */\nexport function statusesArgDescription(level: LinkedinSearchLevel): string {\n return `CSV of statuses (${LINKEDIN_SEARCH_STATUSES[level].join(\",\")})`;\n}\n\n/**\n * One status LinkedIn does not know fails the whole listing, so refuse it here\n * with the accepted values instead of forwarding LinkedIn's enum error.\n */\nexport function statusFilterError(level: LinkedinSearchLevel, statuses: readonly string[]): AdsErrorEnvelope | null {\n const unsupported = unsupportedLinkedinSearchStatuses(level, statuses);\n if (unsupported.length === 0) {\n return null;\n }\n const accepted = LINKEDIN_SEARCH_STATUSES[level].join(\",\");\n return {\n ok: false,\n error: {\n code: \"INVALID_STATUS\",\n message: `LinkedIn does not accept status ${unsupported.join(\", \")} for this listing.`,\n fix: {\n action: \"retry_with_flag\",\n explanation: `Re-run with --statuses from ${accepted}, or --all-statuses to drop the filter.`,\n },\n retryable: false,\n },\n };\n}\n\n/**\n * Default to ACTIVE-only on listings — almost always what an AI agent or human\n * glance wants. `--all-statuses` widens; `--statuses ACTIVE,PAUSED` overrides.\n */\nexport function resolveStatusFilter(args: Record<string, unknown>, level: LinkedinSearchLevel): string[] | undefined {\n if (args[\"all-statuses\"]) {\n return undefined;\n }\n const explicit = args.statuses as string | undefined;\n if (!explicit) {\n return [\"ACTIVE\"];\n }\n const statuses = explicit\n .split(\",\")\n .map((s) => s.trim().toUpperCase())\n .filter(Boolean);\n const error = statusFilterError(level, statuses);\n if (error) {\n writeAdsJson(error);\n process.exit(1);\n }\n return statuses;\n}\n"],"mappings":"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","names":[]}
|
package/dist/chunk-YDSF4PXO.js
DELETED
|
@@ -1,216 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
nodeParamsPreview
|
|
3
|
-
} from "./chunk-2VRD3HSQ.js";
|
|
4
|
-
import {
|
|
5
|
-
creativeSlugFromCanvasPath,
|
|
6
|
-
parseDefinitionSeriesPlace,
|
|
7
|
-
parseDefinitionSourceFields,
|
|
8
|
-
parseDefinitionStrategyFields
|
|
9
|
-
} from "./chunk-QGSV3IWT.js";
|
|
10
|
-
import {
|
|
11
|
-
prepareCanvas
|
|
12
|
-
} from "./chunk-3IGY2FWK.js";
|
|
13
|
-
import {
|
|
14
|
-
BackendClient
|
|
15
|
-
} from "./chunk-XO3GZLWQ.js";
|
|
16
|
-
import {
|
|
17
|
-
nodeDependencies
|
|
18
|
-
} from "./chunk-GRL25RKS.js";
|
|
19
|
-
import {
|
|
20
|
-
requireCredentialsFromEnv
|
|
21
|
-
} from "./chunk-NKXH3I65.js";
|
|
22
|
-
|
|
23
|
-
// src/commands/canvas/sync-definition.ts
|
|
24
|
-
import { readdir, readFile, stat } from "fs/promises";
|
|
25
|
-
import path from "path";
|
|
26
|
-
import { parseDocument } from "yaml";
|
|
27
|
-
import { defineCommand } from "citty";
|
|
28
|
-
|
|
29
|
-
// src/commands/canvas/definition-graph.ts
|
|
30
|
-
var MAX_NODES = 300;
|
|
31
|
-
var PREVIEWABLE_INGEST_EXPECTS = /* @__PURE__ */ new Set(["image"]);
|
|
32
|
-
function nodeInputPreviewUrl(type, params) {
|
|
33
|
-
if (type !== "ingest" || !params || typeof params !== "object") return void 0;
|
|
34
|
-
const p = params;
|
|
35
|
-
if (p.source !== "url" || typeof p.url !== "string") return void 0;
|
|
36
|
-
if (!/^https?:\/\//i.test(p.url)) return void 0;
|
|
37
|
-
if (typeof p.expect === "string" && !PREVIEWABLE_INGEST_EXPECTS.has(p.expect)) return void 0;
|
|
38
|
-
return p.url;
|
|
39
|
-
}
|
|
40
|
-
function canvasToDefinitionGraph(canvas) {
|
|
41
|
-
const rawNodes = canvas?.nodes;
|
|
42
|
-
if (!Array.isArray(rawNodes)) return null;
|
|
43
|
-
const parsed = [];
|
|
44
|
-
for (const raw of rawNodes) {
|
|
45
|
-
const id = raw?.id;
|
|
46
|
-
const type = raw?.type;
|
|
47
|
-
if (typeof id !== "string" || typeof type !== "string") continue;
|
|
48
|
-
parsed.push({ id, type, inputs: raw.inputs, params: raw.params });
|
|
49
|
-
if (parsed.length >= MAX_NODES) break;
|
|
50
|
-
}
|
|
51
|
-
if (parsed.length === 0) return null;
|
|
52
|
-
const ids = new Set(parsed.map((n) => n.id));
|
|
53
|
-
const nodes = parsed.map(({ id, type, inputs, params }) => {
|
|
54
|
-
const deps = nodeDependencies({ id, inputs, params }, ids);
|
|
55
|
-
deps.delete(id);
|
|
56
|
-
const depList = [...deps];
|
|
57
|
-
const paramsPreview = nodeParamsPreview(params, depList);
|
|
58
|
-
const base = { id, type };
|
|
59
|
-
if (depList.length > 0) base.deps = depList;
|
|
60
|
-
if (paramsPreview) base.paramsPreview = paramsPreview;
|
|
61
|
-
const inputPreviewUrl = nodeInputPreviewUrl(type, params);
|
|
62
|
-
if (inputPreviewUrl) base.inputPreviewUrl = inputPreviewUrl;
|
|
63
|
-
return base;
|
|
64
|
-
});
|
|
65
|
-
const rawOutput = canvas?.output;
|
|
66
|
-
const outNode = rawOutput?.node;
|
|
67
|
-
const outSlot = rawOutput?.output;
|
|
68
|
-
const output = typeof outNode === "string" && typeof outSlot === "string" ? { node: outNode, output: outSlot } : void 0;
|
|
69
|
-
return { nodes, output };
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
// src/commands/canvas/sync-definition.ts
|
|
73
|
-
function buildDefinitionSyncPayload(input, graph, chatId) {
|
|
74
|
-
const { canvas: _canvas, ...fields } = input;
|
|
75
|
-
return Object.fromEntries([
|
|
76
|
-
...Object.entries(fields).filter(([, v]) => v !== void 0),
|
|
77
|
-
["graph", graph],
|
|
78
|
-
["chatId", chatId]
|
|
79
|
-
]);
|
|
80
|
-
}
|
|
81
|
-
async function readDefinitionSourceFields(canvasPath) {
|
|
82
|
-
try {
|
|
83
|
-
return parseDefinitionSourceFields(await readFile(path.join(path.dirname(canvasPath), "_definition.md"), "utf8"));
|
|
84
|
-
} catch {
|
|
85
|
-
return {};
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
async function readDefinitionBody(canvasPath) {
|
|
89
|
-
try {
|
|
90
|
-
return { definition: await readFile(path.join(path.dirname(canvasPath), "_definition.md"), "utf8") };
|
|
91
|
-
} catch {
|
|
92
|
-
return {};
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
async function readDefinitionTitle(canvasPath) {
|
|
96
|
-
try {
|
|
97
|
-
const raw = await readFile(path.join(path.dirname(canvasPath), "_definition.md"), "utf8");
|
|
98
|
-
const match = raw.match(/^---\r?\n([\s\S]*?\r?\n)?---/);
|
|
99
|
-
const doc = match ? parseDocument(match[1] ?? "") : null;
|
|
100
|
-
const title = doc && doc.errors.length === 0 ? doc.get("title") : void 0;
|
|
101
|
-
return typeof title === "string" && title.trim() ? title.trim() : void 0;
|
|
102
|
-
} catch {
|
|
103
|
-
return void 0;
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
async function readDefinitionStrategyFields(canvasPath) {
|
|
107
|
-
try {
|
|
108
|
-
return parseDefinitionStrategyFields(await readFile(path.join(path.dirname(canvasPath), "_definition.md"), "utf8"));
|
|
109
|
-
} catch {
|
|
110
|
-
return {};
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
async function readDefinitionSeriesPlace(canvasPath) {
|
|
114
|
-
try {
|
|
115
|
-
return parseDefinitionSeriesPlace(await readFile(path.join(path.dirname(canvasPath), "_definition.md"), "utf8")) ?? {};
|
|
116
|
-
} catch {
|
|
117
|
-
return {};
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
async function syncCreativeDefinitionBestEffort(input) {
|
|
121
|
-
const chatId = process.env.BAKER_CHAT_ID;
|
|
122
|
-
if (!chatId) return;
|
|
123
|
-
const graph = canvasToDefinitionGraph(input.canvas);
|
|
124
|
-
if (!graph || graph.nodes.length === 0) return;
|
|
125
|
-
try {
|
|
126
|
-
const creds = requireCredentialsFromEnv();
|
|
127
|
-
const client = new BackendClient({ baseUrl: creds.url, apiKey: creds.apiKey });
|
|
128
|
-
await client.syncCreativeDefinition(buildDefinitionSyncPayload(input, graph, chatId));
|
|
129
|
-
process.stdout.write(`[definition] synced workflow graph (${graph.nodes.length} nodes) \u2014 view it in the dashboard
|
|
130
|
-
`);
|
|
131
|
-
} catch (e) {
|
|
132
|
-
const msg = e instanceof Error ? e.message : String(e);
|
|
133
|
-
process.stderr.write(`[warn] workflow graph not synced (${msg})
|
|
134
|
-
`);
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
async function resolveCanvasPath(inputPath) {
|
|
138
|
-
const resolved = path.resolve(inputPath);
|
|
139
|
-
let dir = resolved;
|
|
140
|
-
try {
|
|
141
|
-
if ((await stat(resolved)).isFile()) {
|
|
142
|
-
if (resolved.endsWith(".canvas.json")) return resolved;
|
|
143
|
-
dir = path.dirname(resolved);
|
|
144
|
-
}
|
|
145
|
-
} catch {
|
|
146
|
-
dir = resolved.endsWith(".canvas.json") ? path.dirname(resolved) : resolved;
|
|
147
|
-
}
|
|
148
|
-
let entries;
|
|
149
|
-
try {
|
|
150
|
-
entries = await readdir(dir);
|
|
151
|
-
} catch {
|
|
152
|
-
return null;
|
|
153
|
-
}
|
|
154
|
-
const canvases = entries.filter((name) => name.endsWith(".canvas.json"));
|
|
155
|
-
const slug = creativeSlugFromCanvasPath(`${dir}/x/`);
|
|
156
|
-
const chosen = (slug ? canvases.find((name) => name === `${slug}.canvas.json`) : void 0) ?? canvases[0];
|
|
157
|
-
return chosen ? path.join(dir, chosen) : null;
|
|
158
|
-
}
|
|
159
|
-
var syncDefinitionCommand = defineCommand({
|
|
160
|
-
meta: {
|
|
161
|
-
name: "sync-definition",
|
|
162
|
-
description: "Push a creative's current node-graph + input thumbnails to the dashboard without rendering. The graph has the creative's blueprint applied (prompt.json and scenes/*.json edits), exactly as `run` would render it, without changing any file. Runs automatically when you edit a creative's canvas.json or prompt.json."
|
|
163
|
-
},
|
|
164
|
-
args: {
|
|
165
|
-
file: {
|
|
166
|
-
type: "positional",
|
|
167
|
-
required: true,
|
|
168
|
-
description: "A path under src/creatives/<slug>/ (the .canvas.json, its prompt.json, or the folder)"
|
|
169
|
-
},
|
|
170
|
-
title: {
|
|
171
|
-
type: "boolean",
|
|
172
|
-
description: "Also record the title its _definition.md gives. Only for a creative just made from another (a series ad, a translation), never on an edit re-sync."
|
|
173
|
-
}
|
|
174
|
-
},
|
|
175
|
-
async run({ args }) {
|
|
176
|
-
const canvasPath = await resolveCanvasPath(String(args.file));
|
|
177
|
-
if (!canvasPath) {
|
|
178
|
-
return;
|
|
179
|
-
}
|
|
180
|
-
const slug = creativeSlugFromCanvasPath(canvasPath);
|
|
181
|
-
if (!slug) return;
|
|
182
|
-
let canvas;
|
|
183
|
-
let sourceSha;
|
|
184
|
-
try {
|
|
185
|
-
const prepared = await prepareCanvas(canvasPath, { write: false });
|
|
186
|
-
canvas = prepared.fileGraph;
|
|
187
|
-
sourceSha = prepared.sourceSha;
|
|
188
|
-
} catch {
|
|
189
|
-
return;
|
|
190
|
-
}
|
|
191
|
-
const title = args.title ? await readDefinitionTitle(canvasPath) : void 0;
|
|
192
|
-
await syncCreativeDefinitionBestEffort({
|
|
193
|
-
slug,
|
|
194
|
-
canvas,
|
|
195
|
-
sourceSha,
|
|
196
|
-
...title ? { title } : {},
|
|
197
|
-
...await readDefinitionSourceFields(canvasPath),
|
|
198
|
-
...await readDefinitionStrategyFields(canvasPath),
|
|
199
|
-
...await readDefinitionSeriesPlace(canvasPath),
|
|
200
|
-
...await readDefinitionBody(canvasPath)
|
|
201
|
-
});
|
|
202
|
-
}
|
|
203
|
-
});
|
|
204
|
-
|
|
205
|
-
export {
|
|
206
|
-
buildDefinitionSyncPayload,
|
|
207
|
-
readDefinitionSourceFields,
|
|
208
|
-
readDefinitionBody,
|
|
209
|
-
readDefinitionTitle,
|
|
210
|
-
readDefinitionStrategyFields,
|
|
211
|
-
readDefinitionSeriesPlace,
|
|
212
|
-
syncCreativeDefinitionBestEffort,
|
|
213
|
-
resolveCanvasPath,
|
|
214
|
-
syncDefinitionCommand
|
|
215
|
-
};
|
|
216
|
-
//# sourceMappingURL=chunk-YDSF4PXO.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/commands/canvas/sync-definition.ts","../src/commands/canvas/definition-graph.ts"],"sourcesContent":["import { readdir, readFile, stat } from \"node:fs/promises\";\nimport path from \"node:path\";\nimport { parseDocument } from \"yaml\";\nimport { defineCommand } from \"citty\";\nimport { BackendClient } from \"../../engine/index.ts\";\nimport { requireCredentialsFromEnv } from \"../../engine/client/env.ts\";\nimport {\n type DefinitionSeriesPlace,\n type DefinitionSourceFields,\n type DefinitionStrategyFields,\n parseDefinitionSeriesPlace,\n parseDefinitionSourceFields,\n parseDefinitionStrategyFields,\n} from \"./creative-definition.ts\";\nimport { canvasToDefinitionGraph } from \"./definition-graph.ts\";\nimport { prepareCanvas } from \"./prepare-canvas.ts\";\nimport { creativeSlugFromCanvasPath } from \"./run-record.ts\";\n\n/** Why the creative exists (`_definition.md` idea / message / evidence / angle / persona / awareness / hypothesis). */\ntype DefinitionSyncInput = Omit<DefinitionStrategyFields, \"seriesLead\" | \"language\"> & {\n slug: string;\n /** The series lead and language: omitted when not read (the backend keeps them), null when the definition names none (cleared). */\n seriesLead?: string | null;\n language?: string | null;\n /** Omitted on an edit re-sync so the backend keeps the creative's existing title. */\n title?: string;\n platform?: string;\n formats?: string[];\n sourceReferenceUrl?: string;\n /** The library ad it adapted (`_definition.md` sourceAdId / sourcePlatform / sourceAdvertiserId). */\n sourceAdId?: string;\n sourcePlatform?: string;\n sourceAdvertiserId?: string;\n canvas: unknown;\n /** The creative's source fingerprint (`computeSourceSha`): powers the \"edited since last render\" staleness signal. */\n sourceSha?: string;\n /** The `_definition.md` as written, so the dashboard shows the thinking behind the ad; omitted when not read (kept). */\n definition?: string;\n};\n\n/**\n * The body `POST /api/creatives/definition` receives. Absent fields are left out rather than\n * sent as undefined so the backend's `?? existing` keeps what an earlier sync recorded.\n */\nexport function buildDefinitionSyncPayload(\n input: DefinitionSyncInput,\n graph: unknown,\n chatId: string,\n): Record<string, unknown> {\n const { canvas: _canvas, ...fields } = input;\n return Object.fromEntries([\n ...Object.entries(fields).filter(([, v]) => v !== undefined),\n [\"graph\", graph],\n [\"chatId\", chatId],\n ]);\n}\n\n/** The library ids the creative's `_definition.md` names, read from beside its canvas; empty when there is none. */\nexport async function readDefinitionSourceFields(canvasPath: string): Promise<DefinitionSourceFields> {\n try {\n return parseDefinitionSourceFields(await readFile(path.join(path.dirname(canvasPath), \"_definition.md\"), \"utf8\"));\n } catch {\n return {};\n }\n}\n\n/** The `_definition.md` beside the canvas, whole; empty when there is none, so the last one synced is kept. */\nexport async function readDefinitionBody(canvasPath: string): Promise<{ definition?: string }> {\n try {\n return { definition: await readFile(path.join(path.dirname(canvasPath), \"_definition.md\"), \"utf8\") };\n } catch {\n return {};\n }\n}\n\n/** The creative's title, read from the `_definition.md` beside its canvas; undefined when it names none. */\nexport async function readDefinitionTitle(canvasPath: string): Promise<string | undefined> {\n try {\n const raw = await readFile(path.join(path.dirname(canvasPath), \"_definition.md\"), \"utf8\");\n const match = raw.match(/^---\\r?\\n([\\s\\S]*?\\r?\\n)?---/);\n const doc = match ? parseDocument(match[1] ?? \"\") : null;\n const title = doc && doc.errors.length === 0 ? doc.get(\"title\") : undefined;\n return typeof title === \"string\" && title.trim() ? title.trim() : undefined;\n } catch {\n return undefined;\n }\n}\n\n/** The creative's strategy, read from the `_definition.md` beside its canvas; empty when there is none. */\nexport async function readDefinitionStrategyFields(canvasPath: string): Promise<DefinitionStrategyFields> {\n try {\n return parseDefinitionStrategyFields(await readFile(path.join(path.dirname(canvasPath), \"_definition.md\"), \"utf8\"));\n } catch {\n return {};\n }\n}\n\n/** The series place the `_definition.md` beside the canvas names; empty when it cannot be read, so nothing is cleared. */\nexport async function readDefinitionSeriesPlace(canvasPath: string): Promise<DefinitionSeriesPlace | Record<never, never>> {\n try {\n return (\n parseDefinitionSeriesPlace(await readFile(path.join(path.dirname(canvasPath), \"_definition.md\"), \"utf8\")) ?? {}\n );\n } catch {\n return {};\n }\n}\n\n/**\n * Push a creative's parsed node-graph to the backend so the dashboard can draw\n * its workflow (and its wired input thumbnails) BEFORE — and BETWEEN — billed\n * runs. Best-effort: a missing chat id, missing creds, an unparseable canvas, or\n * a failed POST warns and returns — it must never fail the caller (a scaffold\n * that just did the real work, or a watcher reacting to an edit).\n */\nexport async function syncCreativeDefinitionBestEffort(input: DefinitionSyncInput): Promise<void> {\n const chatId = process.env.BAKER_CHAT_ID;\n if (!chatId) return; // Not chat-attached — nothing to preview against.\n const graph = canvasToDefinitionGraph(input.canvas);\n if (!graph || graph.nodes.length === 0) return;\n try {\n const creds = requireCredentialsFromEnv();\n const client = new BackendClient({ baseUrl: creds.url, apiKey: creds.apiKey });\n await client.syncCreativeDefinition(buildDefinitionSyncPayload(input, graph, chatId));\n process.stdout.write(`[definition] synced workflow graph (${graph.nodes.length} nodes) — view it in the dashboard\\n`);\n } catch (e) {\n const msg = e instanceof Error ? e.message : String(e);\n process.stderr.write(`[warn] workflow graph not synced (${msg})\\n`);\n }\n}\n\n/**\n * Resolve the canvas file backing a creative from ANY path under its dir — the\n * `{slug}.canvas.json` itself, its sibling `prompt.json`, or the creative\n * directory. Lets a file watcher hand us whichever file changed and still find\n * the one canvas to project. Prefers `{slug}.canvas.json`, else the sole\n * `*.canvas.json` in the directory; null when there is no single canvas.\n */\nexport async function resolveCanvasPath(inputPath: string): Promise<string | null> {\n const resolved = path.resolve(inputPath);\n let dir = resolved;\n try {\n if ((await stat(resolved)).isFile()) {\n if (resolved.endsWith(\".canvas.json\")) return resolved;\n dir = path.dirname(resolved);\n }\n } catch {\n // A deleted/renamed file: fall back to treating the path as its directory.\n dir = resolved.endsWith(\".canvas.json\") ? path.dirname(resolved) : resolved;\n }\n let entries: string[];\n try {\n entries = await readdir(dir);\n } catch {\n return null;\n }\n const canvases = entries.filter((name) => name.endsWith(\".canvas.json\"));\n const slug = creativeSlugFromCanvasPath(`${dir}/x/`);\n const chosen = (slug ? canvases.find((name) => name === `${slug}.canvas.json`) : undefined) ?? canvases[0];\n return chosen ? path.join(dir, chosen) : null;\n}\n\nexport const syncDefinitionCommand = defineCommand({\n meta: {\n name: \"sync-definition\",\n description:\n \"Push a creative's current node-graph + input thumbnails to the dashboard without rendering. The graph has the creative's blueprint applied (prompt.json and scenes/*.json edits), exactly as `run` would render it, without changing any file. Runs automatically when you edit a creative's canvas.json or prompt.json.\",\n },\n args: {\n file: {\n type: \"positional\",\n required: true,\n description: \"A path under src/creatives/<slug>/ (the .canvas.json, its prompt.json, or the folder)\",\n },\n title: {\n type: \"boolean\",\n description:\n \"Also record the title its _definition.md gives. Only for a creative just made from another (a series ad, a translation), never on an edit re-sync.\",\n },\n },\n async run({ args }) {\n const canvasPath = await resolveCanvasPath(String(args.file));\n if (!canvasPath) {\n // Nothing to sync (not a creative path, or no canvas yet) — a no-op, not an error.\n return;\n }\n const slug = creativeSlugFromCanvasPath(canvasPath);\n if (!slug) return;\n // The same preflight `run` uses, so the dashboard draws the graph that will render\n // (the scene and copy projections included), in the file's canvas-relative spelling,\n // never this machine's absolute paths. Read-only: the watcher runs this over every\n // creative on every edit, and must never rewrite a creative nobody touched. The\n // fingerprint is taken over the projected graph, as `run` and `baker canvas stale` take it.\n let canvas: unknown;\n let sourceSha: string | undefined;\n try {\n const prepared = await prepareCanvas(canvasPath, { write: false });\n canvas = prepared.fileGraph;\n sourceSha = prepared.sourceSha;\n } catch {\n // Mid-edit invalid JSON (canvas, prompt.json or a scene): skip this tick; the next\n // save re-fires the watcher.\n return;\n }\n // No title/platform/formats: an edit re-sync must never rename or re-classify\n // the creative — the backend preserves what the scaffold already set. The library\n // ids are re-read from `_definition.md`, so an agent that adds or fixes them after\n // the scaffold still gets them recorded without waiting for Publish — and so is the\n // creative's strategy, the moment the agent writes it.\n const title = args.title ? await readDefinitionTitle(canvasPath) : undefined;\n await syncCreativeDefinitionBestEffort({\n slug,\n canvas,\n sourceSha,\n ...(title ? { title } : {}),\n ...(await readDefinitionSourceFields(canvasPath)),\n ...(await readDefinitionStrategyFields(canvasPath)),\n ...(await readDefinitionSeriesPlace(canvasPath)),\n ...(await readDefinitionBody(canvasPath)),\n });\n },\n});\n","import { nodeDependencies } from \"../../engine/engine/graph.ts\";\nimport { nodeParamsPreview } from \"./node-preview.ts\";\n\nexport type DefinitionGraphNode = {\n id: string;\n type: string;\n deps?: string[];\n paramsPreview?: string;\n /**\n * A directly-viewable input image/video for the node BEFORE any run — today\n * an `ingest` node's `source:\"url\"` src. Lets the dashboard show a real\n * thumbnail (a swapped logo/hero) the moment the canvas changes, with no\n * render. Path-source ingests carry no preview (their bytes aren't uploaded\n * outside a run); the graph still shows the `path:` line via paramsPreview.\n */\n inputPreviewUrl?: string;\n};\nexport type CanvasDefinitionGraph = {\n nodes: DefinitionGraphNode[];\n output?: { node: string; output: string };\n};\n\n// Keep the synced blueprint bounded — matches the backend's cap.\nconst MAX_NODES = 300;\n\n// Only image ingests become a pre-run thumbnail: absent `expect` defaults to an\n// image, and a still renders unambiguously in the graph card. Video/font/json\n// ingests carry no preview (a video would need its own player wiring) — their\n// `url:`/`path:` line still shows via paramsPreview.\nconst PREVIEWABLE_INGEST_EXPECTS = new Set([\"image\"]);\n\n/**\n * A directly-viewable input URL for a node's pre-run thumbnail: an `ingest`\n * node pulling an image from a `source:\"url\"` src. Everything else (path-source\n * ingests, generators, non-image expects) returns undefined — only image bytes\n * the dashboard can already fetch become a thumbnail without a run.\n */\nfunction nodeInputPreviewUrl(type: string, params: unknown): string | undefined {\n if (type !== \"ingest\" || !params || typeof params !== \"object\") return undefined;\n const p = params as { source?: unknown; url?: unknown; expect?: unknown };\n if (p.source !== \"url\" || typeof p.url !== \"string\") return undefined;\n if (!/^https?:\\/\\//i.test(p.url)) return undefined;\n if (typeof p.expect === \"string\" && !PREVIEWABLE_INGEST_EXPECTS.has(p.expect)) return undefined;\n return p.url;\n}\n\n/**\n * Parse a canvas JSON into the compact node-graph the dashboard draws before any\n * run — shares the engine's `nodeDependencies` ($ref edges from inputs AND params) so\n * the pre-run blueprint matches the eventual run graph. Best-effort and defensive:\n * a not-yet-valid canvas (mid-edit) returns whatever nodes it can read, or null\n * if there are none, so a caller can skip the sync without failing the command.\n */\nexport function canvasToDefinitionGraph(canvas: unknown): CanvasDefinitionGraph | null {\n const rawNodes = (canvas as { nodes?: unknown })?.nodes;\n if (!Array.isArray(rawNodes)) return null;\n\n const parsed: Array<{ id: string; type: string; inputs: unknown; params: unknown }> = [];\n for (const raw of rawNodes) {\n const id = (raw as { id?: unknown })?.id;\n const type = (raw as { type?: unknown })?.type;\n if (typeof id !== \"string\" || typeof type !== \"string\") continue;\n parsed.push({ id, type, inputs: (raw as { inputs?: unknown }).inputs, params: (raw as { params?: unknown }).params });\n if (parsed.length >= MAX_NODES) break;\n }\n if (parsed.length === 0) return null;\n\n const ids = new Set(parsed.map((n) => n.id));\n const nodes: DefinitionGraphNode[] = parsed.map(({ id, type, inputs, params }) => {\n const deps = nodeDependencies({ id, inputs, params }, ids);\n deps.delete(id);\n const depList = [...deps];\n // The pre-run graph carries each node's spec (model / aspect / size / expect …) +\n // its wired props so a freshly-scaffolded creative shows full node detail in the\n // inspector BEFORE the first billed run, matching what a run later records.\n const paramsPreview = nodeParamsPreview(params, depList);\n const base: DefinitionGraphNode = { id, type };\n if (depList.length > 0) base.deps = depList;\n if (paramsPreview) base.paramsPreview = paramsPreview;\n const inputPreviewUrl = nodeInputPreviewUrl(type, params);\n if (inputPreviewUrl) base.inputPreviewUrl = inputPreviewUrl;\n return base;\n });\n\n const rawOutput = (canvas as { output?: unknown })?.output;\n const outNode = (rawOutput as { node?: unknown })?.node;\n const outSlot = (rawOutput as { output?: unknown })?.output;\n const output =\n typeof outNode === \"string\" && typeof outSlot === \"string\" ? { node: outNode, output: outSlot } : undefined;\n\n return { nodes, output };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAS,SAAS,UAAU,YAAY;AACxC,OAAO,UAAU;AACjB,SAAS,qBAAqB;AAC9B,SAAS,qBAAqB;;;ACoB9B,IAAM,YAAY;AAMlB,IAAM,6BAA6B,oBAAI,IAAI,CAAC,OAAO,CAAC;AAQpD,SAAS,oBAAoB,MAAc,QAAqC;AAC9E,MAAI,SAAS,YAAY,CAAC,UAAU,OAAO,WAAW,SAAU,QAAO;AACvE,QAAM,IAAI;AACV,MAAI,EAAE,WAAW,SAAS,OAAO,EAAE,QAAQ,SAAU,QAAO;AAC5D,MAAI,CAAC,gBAAgB,KAAK,EAAE,GAAG,EAAG,QAAO;AACzC,MAAI,OAAO,EAAE,WAAW,YAAY,CAAC,2BAA2B,IAAI,EAAE,MAAM,EAAG,QAAO;AACtF,SAAO,EAAE;AACX;AASO,SAAS,wBAAwB,QAA+C;AACrF,QAAM,WAAY,QAAgC;AAClD,MAAI,CAAC,MAAM,QAAQ,QAAQ,EAAG,QAAO;AAErC,QAAM,SAAgF,CAAC;AACvF,aAAW,OAAO,UAAU;AAC1B,UAAM,KAAM,KAA0B;AACtC,UAAM,OAAQ,KAA4B;AAC1C,QAAI,OAAO,OAAO,YAAY,OAAO,SAAS,SAAU;AACxD,WAAO,KAAK,EAAE,IAAI,MAAM,QAAS,IAA6B,QAAQ,QAAS,IAA6B,OAAO,CAAC;AACpH,QAAI,OAAO,UAAU,UAAW;AAAA,EAClC;AACA,MAAI,OAAO,WAAW,EAAG,QAAO;AAEhC,QAAM,MAAM,IAAI,IAAI,OAAO,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;AAC3C,QAAM,QAA+B,OAAO,IAAI,CAAC,EAAE,IAAI,MAAM,QAAQ,OAAO,MAAM;AAChF,UAAM,OAAO,iBAAiB,EAAE,IAAI,QAAQ,OAAO,GAAG,GAAG;AACzD,SAAK,OAAO,EAAE;AACd,UAAM,UAAU,CAAC,GAAG,IAAI;AAIxB,UAAM,gBAAgB,kBAAkB,QAAQ,OAAO;AACvD,UAAM,OAA4B,EAAE,IAAI,KAAK;AAC7C,QAAI,QAAQ,SAAS,EAAG,MAAK,OAAO;AACpC,QAAI,cAAe,MAAK,gBAAgB;AACxC,UAAM,kBAAkB,oBAAoB,MAAM,MAAM;AACxD,QAAI,gBAAiB,MAAK,kBAAkB;AAC5C,WAAO;AAAA,EACT,CAAC;AAED,QAAM,YAAa,QAAiC;AACpD,QAAM,UAAW,WAAkC;AACnD,QAAM,UAAW,WAAoC;AACrD,QAAM,SACJ,OAAO,YAAY,YAAY,OAAO,YAAY,WAAW,EAAE,MAAM,SAAS,QAAQ,QAAQ,IAAI;AAEpG,SAAO,EAAE,OAAO,OAAO;AACzB;;;AD/CO,SAAS,2BACd,OACA,OACA,QACyB;AACzB,QAAM,EAAE,QAAQ,SAAS,GAAG,OAAO,IAAI;AACvC,SAAO,OAAO,YAAY;AAAA,IACxB,GAAG,OAAO,QAAQ,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,MAAM,MAAM,MAAS;AAAA,IAC3D,CAAC,SAAS,KAAK;AAAA,IACf,CAAC,UAAU,MAAM;AAAA,EACnB,CAAC;AACH;AAGA,eAAsB,2BAA2B,YAAqD;AACpG,MAAI;AACF,WAAO,4BAA4B,MAAM,SAAS,KAAK,KAAK,KAAK,QAAQ,UAAU,GAAG,gBAAgB,GAAG,MAAM,CAAC;AAAA,EAClH,QAAQ;AACN,WAAO,CAAC;AAAA,EACV;AACF;AAGA,eAAsB,mBAAmB,YAAsD;AAC7F,MAAI;AACF,WAAO,EAAE,YAAY,MAAM,SAAS,KAAK,KAAK,KAAK,QAAQ,UAAU,GAAG,gBAAgB,GAAG,MAAM,EAAE;AAAA,EACrG,QAAQ;AACN,WAAO,CAAC;AAAA,EACV;AACF;AAGA,eAAsB,oBAAoB,YAAiD;AACzF,MAAI;AACF,UAAM,MAAM,MAAM,SAAS,KAAK,KAAK,KAAK,QAAQ,UAAU,GAAG,gBAAgB,GAAG,MAAM;AACxF,UAAM,QAAQ,IAAI,MAAM,8BAA8B;AACtD,UAAM,MAAM,QAAQ,cAAc,MAAM,CAAC,KAAK,EAAE,IAAI;AACpD,UAAM,QAAQ,OAAO,IAAI,OAAO,WAAW,IAAI,IAAI,IAAI,OAAO,IAAI;AAClE,WAAO,OAAO,UAAU,YAAY,MAAM,KAAK,IAAI,MAAM,KAAK,IAAI;AAAA,EACpE,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AAGA,eAAsB,6BAA6B,YAAuD;AACxG,MAAI;AACF,WAAO,8BAA8B,MAAM,SAAS,KAAK,KAAK,KAAK,QAAQ,UAAU,GAAG,gBAAgB,GAAG,MAAM,CAAC;AAAA,EACpH,QAAQ;AACN,WAAO,CAAC;AAAA,EACV;AACF;AAGA,eAAsB,0BAA0B,YAA2E;AACzH,MAAI;AACF,WACE,2BAA2B,MAAM,SAAS,KAAK,KAAK,KAAK,QAAQ,UAAU,GAAG,gBAAgB,GAAG,MAAM,CAAC,KAAK,CAAC;AAAA,EAElH,QAAQ;AACN,WAAO,CAAC;AAAA,EACV;AACF;AASA,eAAsB,iCAAiC,OAA2C;AAChG,QAAM,SAAS,QAAQ,IAAI;AAC3B,MAAI,CAAC,OAAQ;AACb,QAAM,QAAQ,wBAAwB,MAAM,MAAM;AAClD,MAAI,CAAC,SAAS,MAAM,MAAM,WAAW,EAAG;AACxC,MAAI;AACF,UAAM,QAAQ,0BAA0B;AACxC,UAAM,SAAS,IAAI,cAAc,EAAE,SAAS,MAAM,KAAK,QAAQ,MAAM,OAAO,CAAC;AAC7E,UAAM,OAAO,uBAAuB,2BAA2B,OAAO,OAAO,MAAM,CAAC;AACpF,YAAQ,OAAO,MAAM,uCAAuC,MAAM,MAAM,MAAM;AAAA,CAAsC;AAAA,EACtH,SAAS,GAAG;AACV,UAAM,MAAM,aAAa,QAAQ,EAAE,UAAU,OAAO,CAAC;AACrD,YAAQ,OAAO,MAAM,qCAAqC,GAAG;AAAA,CAAK;AAAA,EACpE;AACF;AASA,eAAsB,kBAAkB,WAA2C;AACjF,QAAM,WAAW,KAAK,QAAQ,SAAS;AACvC,MAAI,MAAM;AACV,MAAI;AACF,SAAK,MAAM,KAAK,QAAQ,GAAG,OAAO,GAAG;AACnC,UAAI,SAAS,SAAS,cAAc,EAAG,QAAO;AAC9C,YAAM,KAAK,QAAQ,QAAQ;AAAA,IAC7B;AAAA,EACF,QAAQ;AAEN,UAAM,SAAS,SAAS,cAAc,IAAI,KAAK,QAAQ,QAAQ,IAAI;AAAA,EACrE;AACA,MAAI;AACJ,MAAI;AACF,cAAU,MAAM,QAAQ,GAAG;AAAA,EAC7B,QAAQ;AACN,WAAO;AAAA,EACT;AACA,QAAM,WAAW,QAAQ,OAAO,CAAC,SAAS,KAAK,SAAS,cAAc,CAAC;AACvE,QAAM,OAAO,2BAA2B,GAAG,GAAG,KAAK;AACnD,QAAM,UAAU,OAAO,SAAS,KAAK,CAAC,SAAS,SAAS,GAAG,IAAI,cAAc,IAAI,WAAc,SAAS,CAAC;AACzG,SAAO,SAAS,KAAK,KAAK,KAAK,MAAM,IAAI;AAC3C;AAEO,IAAM,wBAAwB,cAAc;AAAA,EACjD,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aACE;AAAA,EACJ;AAAA,EACA,MAAM;AAAA,IACJ,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,UAAU;AAAA,MACV,aAAa;AAAA,IACf;AAAA,IACA,OAAO;AAAA,MACL,MAAM;AAAA,MACN,aACE;AAAA,IACJ;AAAA,EACF;AAAA,EACA,MAAM,IAAI,EAAE,KAAK,GAAG;AAClB,UAAM,aAAa,MAAM,kBAAkB,OAAO,KAAK,IAAI,CAAC;AAC5D,QAAI,CAAC,YAAY;AAEf;AAAA,IACF;AACA,UAAM,OAAO,2BAA2B,UAAU;AAClD,QAAI,CAAC,KAAM;AAMX,QAAI;AACJ,QAAI;AACJ,QAAI;AACF,YAAM,WAAW,MAAM,cAAc,YAAY,EAAE,OAAO,MAAM,CAAC;AACjE,eAAS,SAAS;AAClB,kBAAY,SAAS;AAAA,IACvB,QAAQ;AAGN;AAAA,IACF;AAMA,UAAM,QAAQ,KAAK,QAAQ,MAAM,oBAAoB,UAAU,IAAI;AACnE,UAAM,iCAAiC;AAAA,MACrC;AAAA,MACA;AAAA,MACA;AAAA,MACA,GAAI,QAAQ,EAAE,MAAM,IAAI,CAAC;AAAA,MACzB,GAAI,MAAM,2BAA2B,UAAU;AAAA,MAC/C,GAAI,MAAM,6BAA6B,UAAU;AAAA,MACjD,GAAI,MAAM,0BAA0B,UAAU;AAAA,MAC9C,GAAI,MAAM,mBAAmB,UAAU;AAAA,IACzC,CAAC;AAAA,EACH;AACF,CAAC;","names":[]}
|
package/dist/chunk-YDWQVAFI.js
DELETED
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
claimNewCreativeInWorkspace,
|
|
3
|
-
creativeLimitRefusal
|
|
4
|
-
} from "./chunk-XWB2L3HS.js";
|
|
5
|
-
import {
|
|
6
|
-
leadVersion,
|
|
7
|
-
writeSeriesMemberCanvas
|
|
8
|
-
} from "./chunk-PLK7V2SJ.js";
|
|
9
|
-
import {
|
|
10
|
-
definitionFieldsOf,
|
|
11
|
-
setDefinitionFields,
|
|
12
|
-
setSpecMessage
|
|
13
|
-
} from "./chunk-UWTAQM4W.js";
|
|
14
|
-
import {
|
|
15
|
-
IDEAS_DIR
|
|
16
|
-
} from "./chunk-CMNVR6DX.js";
|
|
17
|
-
|
|
18
|
-
// src/commands/creatives/make-series.ts
|
|
19
|
-
import { mkdir, readFile, writeFile } from "fs/promises";
|
|
20
|
-
import path from "path";
|
|
21
|
-
import { parseDocument } from "yaml";
|
|
22
|
-
var LEAD_ONLY = ["idea", "message", "evidence", "angle", "persona", "awareness", "hypothesis", "series", "title"];
|
|
23
|
-
function withoutFields(raw, keys) {
|
|
24
|
-
const match = raw.match(/^---\r?\n([\s\S]*?\r?\n)?---/);
|
|
25
|
-
if (!match) return raw;
|
|
26
|
-
const doc = parseDocument(match[1] ?? "");
|
|
27
|
-
if (doc.errors.length > 0) return raw;
|
|
28
|
-
for (const key of keys) doc.delete(key);
|
|
29
|
-
return `---
|
|
30
|
-
${doc.toString()}---${raw.slice(match[0].length)}`;
|
|
31
|
-
}
|
|
32
|
-
async function makeSeriesAd(root, idea, slug, lead, evidence, deps) {
|
|
33
|
-
if (slug === lead) {
|
|
34
|
-
return {
|
|
35
|
-
code: "series_of_itself",
|
|
36
|
-
message: `"${slug}" is the lead itself.`,
|
|
37
|
-
fix: "Give the new ad its own --slug."
|
|
38
|
-
};
|
|
39
|
-
}
|
|
40
|
-
const version = await leadVersion(root, lead);
|
|
41
|
-
if ("refused" in version) return version.refused;
|
|
42
|
-
const dir = path.join(root, "src", "creatives", slug);
|
|
43
|
-
const definitionPath = path.join(dir, "_definition.md");
|
|
44
|
-
const claim = await claimNewCreativeInWorkspace(path.join(root, "canvas"), slug, deps.chatId, definitionPath);
|
|
45
|
-
if (!claim.allowed) return creativeLimitRefusal(slug).error;
|
|
46
|
-
await mkdir(dir, { recursive: true });
|
|
47
|
-
await writeFile(path.join(dir, "prompt.json"), setSpecMessage(JSON.stringify(version.spec), idea.message), "utf8");
|
|
48
|
-
const leadDefinition = await readFile(path.join(root, "src", "creatives", lead, "_definition.md"), "utf8").catch(
|
|
49
|
-
() => "---\nkind: static\n---\n"
|
|
50
|
-
);
|
|
51
|
-
const definition = setDefinitionFields(withoutFields(leadDefinition, LEAD_ONLY), {
|
|
52
|
-
title: idea.message.slice(0, 120),
|
|
53
|
-
series: lead,
|
|
54
|
-
status: "draft",
|
|
55
|
-
...definitionFieldsOf(idea, evidence)
|
|
56
|
-
});
|
|
57
|
-
await writeFile(definitionPath, definition, "utf8");
|
|
58
|
-
const made = await writeSeriesMemberCanvas(root, slug, { leadWords: true });
|
|
59
|
-
if (made === null || "refused" in made) {
|
|
60
|
-
return made?.refused ?? { code: "series_not_made", message: `"${slug}" could not be made in the series of "${lead}".` };
|
|
61
|
-
}
|
|
62
|
-
if (idea.status === "idea") {
|
|
63
|
-
const ideaPath = path.join(root, IDEAS_DIR, `${idea.id}.md`);
|
|
64
|
-
const raw = await readFile(ideaPath, "utf8").catch(() => null);
|
|
65
|
-
if (raw !== null) await writeFile(ideaPath, setDefinitionFields(raw, { status: "built" }), "utf8");
|
|
66
|
-
}
|
|
67
|
-
await deps.sync(dir);
|
|
68
|
-
return { slug, lead, leadRunId: version.lead.runId, canvasPath: made.canvasPath };
|
|
69
|
-
}
|
|
70
|
-
function seriesMadeEnvelope(made, idea) {
|
|
71
|
-
return {
|
|
72
|
-
ok: true,
|
|
73
|
-
data: {
|
|
74
|
-
creative: made.slug,
|
|
75
|
-
idea: idea.id,
|
|
76
|
-
message: idea.message,
|
|
77
|
-
series: made.lead,
|
|
78
|
-
canvas_path: made.canvasPath
|
|
79
|
-
},
|
|
80
|
-
hints: [
|
|
81
|
-
`Write this ad's words in src/creatives/${made.slug}/prompt.json \`copy\`: one line for each of the lead's, in the same roles and about as long, saying this idea's message. Change nothing else: the picture, layout and colours are the lead's (${made.lead}), and every word you write replaces the lead's line in its place.`,
|
|
82
|
-
`When every ad of the series has its words: baker canvas run --series ${made.lead} (renders them all at once, each reviewed and corrected on its own).`
|
|
83
|
-
]
|
|
84
|
-
};
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
export {
|
|
88
|
-
withoutFields,
|
|
89
|
-
makeSeriesAd,
|
|
90
|
-
seriesMadeEnvelope
|
|
91
|
-
};
|
|
92
|
-
//# sourceMappingURL=chunk-YDWQVAFI.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/commands/creatives/make-series.ts"],"sourcesContent":["/**\n * `baker creatives make <idea> --series <lead>`: another message in the lead ad's style. Nothing is\n * searched, described or rendered: the ad starts as the lead's ready version with the idea's\n * message, and its words are the agent's to write. Its picture is the lead's with those words\n * (`series-member.ts`), so a series of ten messages is one design ten times.\n */\nimport { mkdir, readFile, writeFile } from \"node:fs/promises\";\nimport path from \"node:path\";\nimport { parseDocument } from \"yaml\";\nimport { claimNewCreativeInWorkspace, creativeLimitRefusal } from \"../canvas/creative-limit.ts\";\nimport { leadVersion, writeSeriesMemberCanvas } from \"../canvas/series-member.ts\";\nimport type { EvidenceLevel, Idea } from \"./ideas-model.ts\";\nimport { IDEAS_DIR } from \"./ideas-workspace.ts\";\nimport { definitionFieldsOf, setDefinitionFields, setSpecMessage } from \"./make-model.ts\";\n\ntype Failure = { code: string; message: string; fix?: string };\n\n/** The lead's own reasons, which are not this ad's: its idea, evidence and the like are replaced or dropped. */\nconst LEAD_ONLY = [\"idea\", \"message\", \"evidence\", \"angle\", \"persona\", \"awareness\", \"hypothesis\", \"series\", \"title\"];\n\n/** `raw` with `keys` dropped from its frontmatter, every other field and the body kept. */\nexport function withoutFields(raw: string, keys: readonly string[]): string {\n const match = raw.match(/^---\\r?\\n([\\s\\S]*?\\r?\\n)?---/);\n if (!match) return raw;\n const doc = parseDocument(match[1] ?? \"\");\n if (doc.errors.length > 0) return raw;\n for (const key of keys) doc.delete(key);\n return `---\\n${doc.toString()}---${raw.slice(match[0].length)}`;\n}\n\n/** Make `slug`, an ad of the series led by `lead`, from `idea`. The made ad, or why not. */\nexport async function makeSeriesAd(\n root: string,\n idea: Idea,\n slug: string,\n lead: string,\n evidence: EvidenceLevel | \"explore\",\n deps: { sync: (dir: string) => Promise<unknown>; chatId: string | null },\n): Promise<{ slug: string; lead: string; leadRunId: string; canvasPath: string } | Failure> {\n if (slug === lead) {\n return {\n code: \"series_of_itself\",\n message: `\"${slug}\" is the lead itself.`,\n fix: \"Give the new ad its own --slug.\",\n };\n }\n const version = await leadVersion(root, lead);\n if (\"refused\" in version) return version.refused;\n const dir = path.join(root, \"src\", \"creatives\", slug);\n const definitionPath = path.join(dir, \"_definition.md\");\n const claim = await claimNewCreativeInWorkspace(path.join(root, \"canvas\"), slug, deps.chatId, definitionPath);\n if (!claim.allowed) return creativeLimitRefusal(slug).error;\n await mkdir(dir, { recursive: true });\n await writeFile(path.join(dir, \"prompt.json\"), setSpecMessage(JSON.stringify(version.spec), idea.message), \"utf8\");\n const leadDefinition = await readFile(path.join(root, \"src\", \"creatives\", lead, \"_definition.md\"), \"utf8\").catch(\n () => \"---\\nkind: static\\n---\\n\",\n );\n const definition = setDefinitionFields(withoutFields(leadDefinition, LEAD_ONLY), {\n title: idea.message.slice(0, 120),\n series: lead,\n status: \"draft\",\n ...definitionFieldsOf(idea, evidence),\n });\n await writeFile(definitionPath, definition, \"utf8\");\n const made = await writeSeriesMemberCanvas(root, slug, { leadWords: true });\n if (made === null || \"refused\" in made) {\n return (\n made?.refused ?? { code: \"series_not_made\", message: `\"${slug}\" could not be made in the series of \"${lead}\".` }\n );\n }\n if (idea.status === \"idea\") {\n const ideaPath = path.join(root, IDEAS_DIR, `${idea.id}.md`);\n const raw = await readFile(ideaPath, \"utf8\").catch(() => null);\n if (raw !== null) await writeFile(ideaPath, setDefinitionFields(raw, { status: \"built\" }), \"utf8\");\n }\n // The dashboard learns the ad and its series now, not at Publish.\n await deps.sync(dir);\n return { slug, lead, leadRunId: version.lead.runId, canvasPath: made.canvasPath };\n}\n\n/** What `make --series` prints: the ad, its lead, and the one step left (its words), then the series run. Pure. */\nexport function seriesMadeEnvelope(\n made: { slug: string; lead: string; leadRunId: string; canvasPath: string },\n idea: Pick<Idea, \"id\" | \"message\">,\n) {\n return {\n ok: true as const,\n data: {\n creative: made.slug,\n idea: idea.id,\n message: idea.message,\n series: made.lead,\n canvas_path: made.canvasPath,\n },\n hints: [\n `Write this ad's words in src/creatives/${made.slug}/prompt.json \\`copy\\`: one line for each of the lead's, in the same roles and about as long, saying this idea's message. Change nothing else: the picture, layout and colours are the lead's (${made.lead}), and every word you write replaces the lead's line in its place.`,\n `When every ad of the series has its words: baker canvas run --series ${made.lead} (renders them all at once, each reviewed and corrected on its own).`,\n ],\n };\n}\n"],"mappings":"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","names":[]}
|