@koda-sl/baker-cli 0.489.0 → 0.491.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 +169 -7
- package/dist/account-3H6BZO5H.js +80 -0
- package/dist/account-IKFDY52P.js +138 -0
- package/dist/account-IKFDY52P.js.map +1 -0
- package/dist/account-VGSYM7LY.js +79 -0
- package/dist/account-assets-LKZVWZAR.js +289 -0
- package/dist/account-assets-LKZVWZAR.js.map +1 -0
- package/dist/account-level-UJOZDVXY.js +608 -0
- package/dist/account-level-UJOZDVXY.js.map +1 -0
- package/dist/account-writes-AE5IJGGW.js +66 -0
- package/dist/accounts-2ARS6XP2.js +77 -0
- package/dist/accounts-AQFW4ZUM.js +611 -0
- package/dist/accounts-K4INATCW.js +75 -0
- package/dist/actions-QMUHOAXG.js +55 -0
- package/dist/activecampaign-J3QN5FMG.js +935 -0
- package/dist/activities-T253KK4Q.js +74 -0
- package/dist/ad-group-writes-VRSBI2Z2.js +170 -0
- package/dist/ad-groups-IEBVEAMS.js +68 -0
- package/dist/ad-writes-ALV4KFPZ.js +174 -0
- package/dist/add-VDUA6OWM.js +104 -0
- package/dist/add-XHOKCSW5.js +302 -0
- package/dist/ads-CQZHD7FC.js +77 -0
- package/dist/ads-HGDPNIT6.js +40 -0
- package/dist/ads-ZEY72UBN.js +114 -0
- package/dist/ads-ZEY72UBN.js.map +1 -0
- package/dist/adsets-5H3MOT3D.js +177 -0
- package/dist/adsets-5H3MOT3D.js.map +1 -0
- package/dist/advertisers-UDSEFMP7.js +120 -0
- package/dist/analytics-TBETZOPJ.js +433 -0
- package/dist/analytics-VH74LMMC.js +1976 -0
- package/dist/asset-writes-L5TMKIZC.js +47 -0
- package/dist/assign-6IE2ASFC.js +77 -0
- package/dist/audience-size-CSBWDFEP.js +73 -0
- package/dist/audience-writes-X52VG35Y.js +324 -0
- package/dist/audience-writes-X52VG35Y.js.map +1 -0
- package/dist/audiences-AAZH56WD.js +268 -0
- package/dist/audiences-X3RLGOVM.js +84 -0
- package/dist/audiences-X3RLGOVM.js.map +1 -0
- package/dist/audit-AEENRVGD.js +151 -0
- package/dist/autocomplete-AAGTJHVL.js +111 -0
- package/dist/avatars-VEATUUKU.js +38 -0
- package/dist/bid-pricing-SZTGCZTV.js +100 -0
- package/dist/brand-MXGETE4R.js +22 -0
- package/dist/brief-3GHSHOGM.js +538 -0
- package/dist/businesses-H3HIDQX6.js +53 -0
- package/dist/campaign-groups-WRI56M5X.js +95 -0
- package/dist/campaign-writes-PYGKSCPS.js +165 -0
- package/dist/campaign-writes-PYGKSCPS.js.map +1 -0
- package/dist/campaign-writes-U5PUVSMT.js +170 -0
- package/dist/campaigns-4QWC2JE7.js +109 -0
- package/dist/campaigns-AV6G3AUU.js +127 -0
- package/dist/campaigns-AV6G3AUU.js.map +1 -0
- package/dist/campaigns-JEIKY2M4.js +76 -0
- package/dist/campaigns-Q4HN7HBY.js +107 -0
- package/dist/canvas-VJ3XKCAC.js +46 -0
- package/dist/capabilities-SNGGAOV3.js +144 -0
- package/dist/catalog-S32MX453.js +65 -0
- package/dist/catalogs-OCVXZLIF.js +128 -0
- package/dist/catalogs-RXJTZTVX.js +778 -0
- package/dist/catalogs-RXJTZTVX.js.map +1 -0
- package/dist/chatgpt-QVF2FD3E.js +47 -0
- package/dist/chats-2DRTB7GK.js +276 -0
- package/dist/chats-2DRTB7GK.js.map +1 -0
- package/dist/check-Z6UMIQKD.js +104 -0
- package/dist/chunk-2C7AHPM4.js +191 -0
- package/dist/chunk-2C7AHPM4.js.map +1 -0
- package/dist/chunk-2WZI36D3.js +317 -0
- package/dist/chunk-3AMLOCXY.js +392 -0
- package/dist/chunk-3CVAEQMZ.js +156 -0
- package/dist/chunk-3WAYZQNV.js +61 -0
- package/dist/chunk-46GWHUKN.js +225 -0
- package/dist/chunk-4O6T76A3.js +191 -0
- package/dist/chunk-5C35OW7L.js +205 -0
- package/dist/chunk-5C35OW7L.js.map +1 -0
- package/dist/chunk-5GQCN2QZ.js +391 -0
- package/dist/chunk-5GQCN2QZ.js.map +1 -0
- package/dist/chunk-5MCVK4A3.js +903 -0
- package/dist/chunk-5ZLN23V5.js +97 -0
- package/dist/chunk-65Y3RCWP.js +68 -0
- package/dist/chunk-65Y3RCWP.js.map +1 -0
- package/dist/chunk-77ULVP62.js +547 -0
- package/dist/chunk-A4MVVPJ2.js +4204 -0
- package/dist/chunk-A4MVVPJ2.js.map +1 -0
- package/dist/chunk-AQM4JH62.js +274 -0
- package/dist/chunk-AQM4JH62.js.map +1 -0
- package/dist/chunk-AW2GKIGS.js +433 -0
- package/dist/chunk-BRLY6XD6.js +249 -0
- package/dist/chunk-C7NWUCLQ.js +64 -0
- package/dist/chunk-CP4P6YKM.js +287 -0
- package/dist/chunk-CP4P6YKM.js.map +1 -0
- package/dist/chunk-D4HKJBEW.js +23 -0
- package/dist/chunk-DAO63OOP.js +6352 -0
- package/dist/chunk-DAO63OOP.js.map +1 -0
- package/dist/chunk-DCBZ5CHZ.js +139 -0
- package/dist/chunk-G6XKD7QE.js +77 -0
- package/dist/chunk-GBFL4TD2.js +172 -0
- package/dist/chunk-H5SCKWFT.js +224 -0
- package/dist/chunk-HLVRHBKL.js +1078 -0
- package/dist/chunk-HLVRHBKL.js.map +1 -0
- package/dist/chunk-HXPK6KAL.js +363 -0
- package/dist/chunk-I7GOSMWT.js +197 -0
- package/dist/chunk-IBY44U2M.js +1079 -0
- package/dist/chunk-ITNHIZKK.js +275 -0
- package/dist/chunk-J33P2JNS.js +455 -0
- package/dist/chunk-JH2L5CQD.js +206 -0
- package/dist/chunk-JQH5VG6F.js +5368 -0
- package/dist/chunk-JVH5A3XC.js +8914 -0
- package/dist/chunk-KTOYQP6D.js +169 -0
- package/dist/chunk-LO3IF5PS.js +399 -0
- package/dist/chunk-LRRFGOW3.js +604 -0
- package/dist/chunk-LTPTJWZC.js +942 -0
- package/dist/chunk-MRQHJW5U.js +159 -0
- package/dist/chunk-NHYI7ORL.js +346 -0
- package/dist/chunk-NLI7C3K2.js +51 -0
- package/dist/chunk-NSEMXBUB.js +91 -0
- package/dist/chunk-OM2BRYXJ.js +3868 -0
- package/dist/chunk-OY4SKCIU.js +103 -0
- package/dist/chunk-OYAJNTRO.js +494 -0
- package/dist/chunk-PL7J3DPQ.js +831 -0
- package/dist/chunk-PUSBUMYM.js +89 -0
- package/dist/chunk-QTOZ32SU.js +163 -0
- package/dist/chunk-QTOZ32SU.js.map +1 -0
- package/dist/chunk-RRADFRPI.js +297 -0
- package/dist/chunk-SGEPZB3D.js +344 -0
- package/dist/chunk-SVAB6KV5.js +219 -0
- package/dist/chunk-SVAB6KV5.js.map +1 -0
- package/dist/chunk-TFTZDWCX.js +66 -0
- package/dist/chunk-TG4NCHFS.js +142 -0
- package/dist/chunk-TTHM66TA.js +207 -0
- package/dist/chunk-VL2GNXZY.js +19 -0
- package/dist/chunk-VQPZDM6N.js +160 -0
- package/dist/chunk-XCKINS7K.js +57 -0
- package/dist/chunk-YLYXSJ6O.js +8939 -0
- package/dist/chunk-ZAPO6UWS.js +592 -0
- package/dist/chunk-ZEPUDYPL.js +122 -0
- package/dist/chunk-ZJSGGJ5R.js +167 -0
- package/dist/claim-J2LYNHZK.js +197 -0
- package/dist/cli.js +34 -34
- package/dist/companies-VYY22B6T.js +195 -0
- package/dist/complete-5I32XM7P.js +81 -0
- package/dist/connect-EUFFQQ7O.js +42 -0
- package/dist/conversation-D6KZHGPP.js +93 -0
- package/dist/conversion-writes-ECZBVY7D.js +120 -0
- package/dist/conversions-5QCSCRLI.js +76 -0
- package/dist/conversions-Y3X6ZTTF.js +135 -0
- package/dist/copy-writes-D2RTHAL6.js +167 -0
- package/dist/copy-writes-D2RTHAL6.js.map +1 -0
- package/dist/create-2JCRTQJL.js +59 -0
- package/dist/create-LMSQPHPB.js +235 -0
- package/dist/create-MBLNB5RY.js +132 -0
- package/dist/create-VR7RXKL7.js +207 -0
- package/dist/creatives-5C42BDMW.js +182 -0
- package/dist/creatives-HYPSTANO.js +58 -0
- package/dist/creatives-MZ6ICNSY.js +88 -0
- package/dist/creatives-MZ6ICNSY.js.map +1 -0
- package/dist/credentials-4H4AUYJN.js +287 -0
- package/dist/critique-UOJZWDG2.js +1458 -0
- package/dist/critique-WCWMQQVV.js +227 -0
- package/dist/crm-B7OTHMBP.js +318 -0
- package/dist/crm-DZRWKJ6V.js +224 -0
- package/dist/custom-conversions-FIP6ZS34.js +127 -0
- package/dist/custom-conversions-FIP6ZS34.js.map +1 -0
- package/dist/customers-AOFJJCGD.js +56 -0
- package/dist/delete-DEG5KOBY.js +64 -0
- package/dist/delete-EFIODCXG.js +54 -0
- package/dist/delete-PQIMW2LK.js +66 -0
- package/dist/demographics-F26DIOCM.js +138 -0
- package/dist/discard-2EJY6UGP.js +66 -0
- package/dist/domain-XLJABLWB.js +98 -0
- package/dist/draft-2YND6T4U.js +217 -0
- package/dist/draft-34CGWUVA.js +281 -0
- package/dist/draft-L45PGCYZ.js +237 -0
- package/dist/draft-L45PGCYZ.js.map +1 -0
- package/dist/draft-TCPK6XYW.js +332 -0
- package/dist/draft-TCPK6XYW.js.map +1 -0
- package/dist/draft-WRVEANL5.js +306 -0
- package/dist/engine/index.js +4 -4
- package/dist/experiment-7N4QFRWV.js +1397 -0
- package/dist/facets-OPTNDPW2.js +114 -0
- package/dist/feedback-43BPXNBI.js +106 -0
- package/dist/feedback-record-35ZSDL6Z.js +260 -0
- package/dist/fetch-O46XBA7S.js +176 -0
- package/dist/find-FSQAEGGF.js +134 -0
- package/dist/fit-CWJ5QQ4R.js +62 -0
- package/dist/flows-CVORIQ4B.js +247 -0
- package/dist/fonts-6TPYR6IW.js +36 -0
- package/dist/forecast-2VLA6NJA.js +118 -0
- package/dist/funnel-XLKDLXMG.js +394 -0
- package/dist/ga4-LPDIBNYP.js +55 -0
- package/dist/get-O56GGN3V.js +56 -0
- package/dist/get-WFQ4XEAW.js +79 -0
- package/dist/google-5ESVO76E.js +136 -0
- package/dist/google-ads-DZMOTUY5.js +195 -0
- package/dist/gsc-FIZTQX3N.js +30 -0
- package/dist/history-43BBQZOB.js +133 -0
- package/dist/history-QKDYBSYM.js +67 -0
- package/dist/hubspot-S44MPK3G.js +779 -0
- package/dist/icon-CSVAZ7NE.js +137 -0
- package/dist/ideas-SLP5WXFF.js +40 -0
- package/dist/images-TWZOROCT.js +92 -0
- package/dist/ingest-5GCZ5ZBV.js +23 -0
- package/dist/ingest-P54J4W3V.js +107 -0
- package/dist/insights-YWVJMATY.js +424 -0
- package/dist/insights-YWVJMATY.js.map +1 -0
- package/dist/inspect-S4COGUBC.js +189 -0
- package/dist/inspiration-IX5N724J.js +53 -0
- package/dist/instant-experiences-NQ2GWIWL.js +257 -0
- package/dist/instant-experiences-NQ2GWIWL.js.map +1 -0
- package/dist/keyword-metrics-26CCKFZK.js +197 -0
- package/dist/keywords-for-site-JWWECF63.js +128 -0
- package/dist/landing-VFDRADZY.js +28 -0
- package/dist/leads-DTKKYSKH.js +90 -0
- package/dist/leads-THI37ZMD.js +537 -0
- package/dist/leads-THI37ZMD.js.map +1 -0
- package/dist/learn-GQ75IPRK.js +204 -0
- package/dist/line-item-writes-DVVHVR3Y.js +208 -0
- package/dist/line-items-EOZMK7A5.js +103 -0
- package/dist/link-R5NGCQ5H.js +64 -0
- package/dist/linkedin-DHZO3IJX.js +1057 -0
- package/dist/list-57QBEGLM.js +303 -0
- package/dist/list-Q44BBHDI.js +64 -0
- package/dist/list-W6G2NTG5.js +151 -0
- package/dist/locations-HM56X2MK.js +67 -0
- package/dist/locations-HM56X2MK.js.map +1 -0
- package/dist/log-B6X5EPKA.js +92 -0
- package/dist/logo-VHXH4J6A.js +18 -0
- package/dist/make-OIFLF3QS.js +1353 -0
- package/dist/map-PIOZT2MQ.js +433 -0
- package/dist/mcp-GFKHLWDB.js +714 -0
- package/dist/media-H6B7VDON.js +18 -0
- package/dist/media-H6B7VDON.js.map +1 -0
- package/dist/media-sources-VMMMW5UM.js +32 -0
- package/dist/members-W2QBMNIW.js +44 -0
- package/dist/meta-YHDTGJQ6.js +122 -0
- package/dist/meta-YHDTGJQ6.js.map +1 -0
- package/dist/normalize-N6XC3SLC.js +141 -0
- package/dist/options-XYJY2OEQ.js +122 -0
- package/dist/organization-BVTXCZIV.js +942 -0
- package/dist/organization-BVTXCZIV.js.map +1 -0
- package/dist/page-photos-CXRG4AXV.js +115 -0
- package/dist/page-photos-CXRG4AXV.js.map +1 -0
- package/dist/pages-PTWRXAZT.js +66 -0
- package/dist/performance-7NEZTOJ5.js +24 -0
- package/dist/pixels-MYT3TCHZ.js +60 -0
- package/dist/pixels-ZZCQUS3J.js +108 -0
- package/dist/preview-XOXAAPMQ.js +215 -0
- package/dist/preview-XOXAAPMQ.js.map +1 -0
- package/dist/promoted-tweet-writes-X2F7R2AE.js +180 -0
- package/dist/promoted-tweets-XCSD6VKP.js +119 -0
- package/dist/publish-OBY6E43R.js +341 -0
- package/dist/reddit-WJ6KHYBC.js +26 -0
- package/dist/refresh-G5BQ2LWU.js +94 -0
- package/dist/release-PBZO35KY.js +60 -0
- package/dist/remove-VJ2MEUPM.js +50 -0
- package/dist/reopen-W3LYOHSR.js +63 -0
- package/dist/rerun-4GDNBFNM.js +90 -0
- package/dist/research-4YTFPGH7.js +262 -0
- package/dist/research-LOQRIBO6.js +62 -0
- package/dist/reset-55CCQGXB.js +54 -0
- package/dist/reset-AVTQEJPZ.js +54 -0
- package/dist/resolve-E6FNMFE3.js +121 -0
- package/dist/retry-HBJ7MKVI.js +60 -0
- package/dist/retry-QBRYM6MG.js +62 -0
- package/dist/rule-writes-6ZCAJDYZ.js +522 -0
- package/dist/rule-writes-6ZCAJDYZ.js.map +1 -0
- package/dist/rules-BMYOY2BM.js +216 -0
- package/dist/rules-BMYOY2BM.js.map +1 -0
- package/dist/rules-XNDBGOIS.js +96 -0
- package/dist/rules-add-UM3ZKSVD.js +462 -0
- package/dist/run-D4YHZ4Z4.js +66 -0
- package/dist/run-ZCJ7NP63.js +65 -0
- package/dist/scaffold-ad-VQZAP32M.js +1511 -0
- package/dist/scaffold-static-ad-LEU4M44N.js +1005 -0
- package/dist/scaffold-video-PSWSYRSC.js +883 -0
- package/dist/schedule-AAH7HYFK.js +61 -0
- package/dist/scheduled-agents-HDABMHZI.js +50 -0
- package/dist/schema-OH5OWMVQ.js +132 -0
- package/dist/search-BSDPVSGA.js +174 -0
- package/dist/select-EI4QF4YZ.js +101 -0
- package/dist/set-prompt-RKDAGUWG.js +193 -0
- package/dist/setup-links-CNNJA7AB.js +141 -0
- package/dist/shared-3IBNDEFL.js +31 -0
- package/dist/site-NV4U7PIF.js +177 -0
- package/dist/sources-ATONL7W5.js +454 -0
- package/dist/sources-C3TGHKLQ.js +30 -0
- package/dist/stale-6QPXL6BZ.js +71 -0
- package/dist/stats-ZAGJH4AD.js +34 -0
- package/dist/status-BML3F4MZ.js +62 -0
- package/dist/stock-6SHHLSKG.js +179 -0
- package/dist/studies-4NIV4D5Y.js +249 -0
- package/dist/studies-4NIV4D5Y.js.map +1 -0
- package/dist/studio-ZLCGXFAN.js +49 -0
- package/dist/study-writes-L2AA2PGL.js +467 -0
- package/dist/study-writes-L2AA2PGL.js.map +1 -0
- package/dist/sync-DZAOUQPE.js +54 -0
- package/dist/sync-definition-RFEL65JE.js +64 -0
- package/dist/tag-manager-3CJ66GKJ.js +43 -0
- package/dist/tags-2KSXCJRZ.js +20 -0
- package/dist/tags-662KZJLV.js +26 -0
- package/dist/tags-6QBVW25V.js +20 -0
- package/dist/tags-LQCEJGIL.js +20 -0
- package/dist/tags-RIVD54ZG.js +224 -0
- package/dist/targeting-LNDQV4EK.js +759 -0
- package/dist/targeting-LNDQV4EK.js.map +1 -0
- package/dist/targeting-criteria-XNLYPIL2.js +113 -0
- package/dist/targets-OYIVS5KJ.js +103 -0
- package/dist/testimonials-WT43CF7V.js +32 -0
- package/dist/top-companies-6QQMOS2Y.js +108 -0
- package/dist/translate-7QN7JFGU.js +604 -0
- package/dist/triggers-LVQY3QJ2.js +142 -0
- package/dist/unlink-5ASZTCS2.js +67 -0
- package/dist/unstage-LNZTEATR.js +85 -0
- package/dist/update-7BIR4GYO.js +152 -0
- package/dist/update-BRLM5DB3.js +98 -0
- package/dist/update-DRZAAJQ2.js +63 -0
- package/dist/update-NOWC3ICD.js +188 -0
- package/dist/upload-457Q4ANZ.js +126 -0
- package/dist/url-params-KM4NJGYC.js +98 -0
- package/dist/validate-COLEPJBA.js +117 -0
- package/dist/videos-5IDZTEWC.js +39 -0
- package/dist/viewer-check-433AZPBC.js +80 -0
- package/dist/viewer-check-433AZPBC.js.map +1 -0
- package/dist/web-FZYOCCYN.js +140 -0
- package/dist/winning-ads-I4DMP7RU.js +84 -0
- package/dist/write-commands-FYB6QG7K.js +1024 -0
- package/dist/write-commands-PEJBTME6.js +1165 -0
- package/dist/write-commands-PEJBTME6.js.map +1 -0
- package/dist/x-OMN5DDLM.js +47 -0
- package/package.json +1 -1
- package/dist/account-7LUQWY6Q.js +0 -49
- package/dist/account-7LUQWY6Q.js.map +0 -1
- package/dist/account-KNRDOUJP.js +0 -79
- package/dist/account-Z65CPOWE.js +0 -80
- package/dist/account-writes-4N2MA2ZR.js +0 -66
- package/dist/accounts-RTN5ZGTU.js +0 -611
- package/dist/accounts-RW6KXBOQ.js +0 -77
- package/dist/accounts-UA2ZWRN4.js +0 -75
- package/dist/actions-HNLISA7T.js +0 -55
- package/dist/activecampaign-I5CILZPU.js +0 -935
- package/dist/activities-IQPJPP4B.js +0 -74
- package/dist/ad-group-writes-EUTMPBMK.js +0 -170
- package/dist/ad-groups-OVPAI5RM.js +0 -68
- package/dist/ad-writes-DACTYFEO.js +0 -174
- package/dist/add-6WKPFMLG.js +0 -302
- package/dist/add-XF5COUAS.js +0 -104
- package/dist/ads-G6AS5L7G.js +0 -40
- package/dist/ads-HXX2IAFF.js +0 -113
- package/dist/ads-HXX2IAFF.js.map +0 -1
- package/dist/ads-L65JIKCD.js +0 -77
- package/dist/adsets-LPN6WFGF.js +0 -176
- package/dist/adsets-LPN6WFGF.js.map +0 -1
- package/dist/advertisers-6NUM2Q3A.js +0 -120
- package/dist/analytics-QKP3A5F3.js +0 -1976
- package/dist/analytics-VLHE5A2M.js +0 -433
- package/dist/assign-6HI6TNLP.js +0 -77
- package/dist/audience-size-25LP2OBF.js +0 -73
- package/dist/audiences-RPLVMO4H.js +0 -268
- package/dist/audiences-XEZHACKH.js +0 -78
- package/dist/audiences-XEZHACKH.js.map +0 -1
- package/dist/audit-YY6X2MPA.js +0 -151
- package/dist/autocomplete-SAWJK4NF.js +0 -111
- package/dist/avatars-MXTI74VC.js +0 -38
- package/dist/bid-pricing-HZ74SLEB.js +0 -100
- package/dist/brand-T3OACVQX.js +0 -22
- package/dist/brief-BN4UGUXF.js +0 -538
- package/dist/businesses-PRRYPR7H.js +0 -53
- package/dist/campaign-groups-YJK767AP.js +0 -95
- package/dist/campaign-writes-BAFB5E7A.js +0 -165
- package/dist/campaign-writes-BAFB5E7A.js.map +0 -1
- package/dist/campaign-writes-U5LTDTYK.js +0 -170
- package/dist/campaigns-4SOLY7OR.js +0 -110
- package/dist/campaigns-4SOLY7OR.js.map +0 -1
- package/dist/campaigns-GALDR5KK.js +0 -109
- package/dist/campaigns-NR6TNQFN.js +0 -107
- package/dist/campaigns-TFEQTSO3.js +0 -76
- package/dist/canvas-GJAQAVS6.js +0 -46
- package/dist/capabilities-2KT6TCGZ.js +0 -144
- package/dist/catalog-USZL4SGX.js +0 -65
- package/dist/catalogs-A7XMEEEP.js +0 -128
- package/dist/chatgpt-4PEWDJKP.js +0 -47
- package/dist/chats-INN2OHSH.js +0 -262
- package/dist/chats-INN2OHSH.js.map +0 -1
- package/dist/check-MMJGFFZS.js +0 -104
- package/dist/chunk-2LI6746F.js +0 -103
- package/dist/chunk-2PWNIEW4.js +0 -197
- package/dist/chunk-2XRMPSEV.js +0 -142
- package/dist/chunk-3TZVZXM6.js +0 -224
- package/dist/chunk-3UXMQ3K2.js +0 -274
- package/dist/chunk-3UXMQ3K2.js.map +0 -1
- package/dist/chunk-5HJRZFMW.js +0 -207
- package/dist/chunk-62JQQUAU.js +0 -5368
- package/dist/chunk-66QHX566.js +0 -6306
- package/dist/chunk-66QHX566.js.map +0 -1
- package/dist/chunk-6JWEGFM5.js +0 -174
- package/dist/chunk-6JWEGFM5.js.map +0 -1
- package/dist/chunk-6WCAV27H.js +0 -494
- package/dist/chunk-6WXV5GTA.js +0 -8914
- package/dist/chunk-7RBJ2Z7Z.js +0 -172
- package/dist/chunk-7RBJ2Z7Z.js.map +0 -1
- package/dist/chunk-AVNSH2JE.js +0 -8939
- package/dist/chunk-BITS62MF.js +0 -77
- package/dist/chunk-BL2MX6CR.js +0 -249
- package/dist/chunk-BOPC3D6I.js +0 -604
- package/dist/chunk-C6EYCD5J.js +0 -942
- package/dist/chunk-CSZFZKVX.js +0 -97
- package/dist/chunk-D5CUAOQX.js +0 -297
- package/dist/chunk-D5UXWKLQ.js +0 -903
- package/dist/chunk-FA4YZFRV.js +0 -392
- package/dist/chunk-FUKDI2UK.js +0 -122
- package/dist/chunk-G4STCTY3.js +0 -399
- package/dist/chunk-GOJXKIFQ.js +0 -1605
- package/dist/chunk-GOJXKIFQ.js.map +0 -1
- package/dist/chunk-H5HDZ7IC.js +0 -139
- package/dist/chunk-HSPMBLKE.js +0 -363
- package/dist/chunk-IJ22WP3G.js +0 -275
- package/dist/chunk-ILSKYRDR.js +0 -169
- package/dist/chunk-JQU2LUZG.js +0 -57
- package/dist/chunk-JWSEPW7F.js +0 -225
- package/dist/chunk-KIGGMKAE.js +0 -66
- package/dist/chunk-KIGGMKAE.js.map +0 -1
- package/dist/chunk-KPYDTIAI.js +0 -317
- package/dist/chunk-LBO2YAZY.js +0 -3868
- package/dist/chunk-LOMH4TTC.js +0 -1079
- package/dist/chunk-LPXSM2DI.js +0 -66
- package/dist/chunk-MVB32GPI.js +0 -592
- package/dist/chunk-MXH35PJ5.js +0 -51
- package/dist/chunk-NEIUVSDK.js +0 -206
- package/dist/chunk-NPMAATZG.js +0 -64
- package/dist/chunk-NXZCCGES.js +0 -159
- package/dist/chunk-OP7DNHD2.js +0 -137
- package/dist/chunk-OP7DNHD2.js.map +0 -1
- package/dist/chunk-OWA7ZLC4.js +0 -547
- package/dist/chunk-P3W6SRSQ.js +0 -455
- package/dist/chunk-PA4W7BCQ.js +0 -23
- package/dist/chunk-PTGYM4J6.js +0 -89
- package/dist/chunk-QE3JEJXF.js +0 -831
- package/dist/chunk-QNLJ3GNZ.js +0 -433
- package/dist/chunk-R3EKM2P2.js +0 -191
- package/dist/chunk-SISA4HQR.js +0 -61
- package/dist/chunk-TP7HKSBX.js +0 -172
- package/dist/chunk-TPANP5A2.js +0 -91
- package/dist/chunk-TRPJJMCS.js +0 -346
- package/dist/chunk-TZEVD4Q6.js +0 -160
- package/dist/chunk-UWXDNVS5.js +0 -167
- package/dist/chunk-VD73V44J.js +0 -344
- package/dist/chunk-X7F4Z6UM.js +0 -156
- package/dist/chunk-ZL23HA4N.js +0 -19
- package/dist/claim-SLGYOOWD.js +0 -197
- package/dist/companies-IVMH6YII.js +0 -195
- package/dist/complete-45L2FI2X.js +0 -81
- package/dist/connect-WBGCBBFJ.js +0 -42
- package/dist/conversation-RIOL3OJ7.js +0 -93
- package/dist/conversion-writes-JU7Q2MUO.js +0 -120
- package/dist/conversions-3ISBR3TS.js +0 -76
- package/dist/conversions-TKIXNSYR.js +0 -135
- package/dist/create-7JY2PTIZ.js +0 -132
- package/dist/create-ACLCRXQP.js +0 -59
- package/dist/create-KYBMFD32.js +0 -207
- package/dist/create-VAPJ52GJ.js +0 -235
- package/dist/creatives-S5QUWUL6.js +0 -58
- package/dist/creatives-VQO2TKE3.js +0 -182
- package/dist/creatives-YJ3CXZQC.js +0 -87
- package/dist/creatives-YJ3CXZQC.js.map +0 -1
- package/dist/credentials-YTQ6BHWV.js +0 -287
- package/dist/critique-5LCG5TYF.js +0 -227
- package/dist/critique-BHYJYZDV.js +0 -1458
- package/dist/crm-IKTWHWEB.js +0 -318
- package/dist/crm-N7K57LZJ.js +0 -224
- package/dist/custom-conversions-YRYE65PU.js +0 -125
- package/dist/custom-conversions-YRYE65PU.js.map +0 -1
- package/dist/customers-NLU7NYDC.js +0 -56
- package/dist/delete-26J3X3ZH.js +0 -64
- package/dist/delete-A4F5Z54J.js +0 -66
- package/dist/delete-EVXOFT2H.js +0 -54
- package/dist/demographics-VZKFMM4X.js +0 -138
- package/dist/discard-ULRVUJDV.js +0 -66
- package/dist/domain-L4WCCX7R.js +0 -98
- package/dist/draft-57OQKHZI.js +0 -306
- package/dist/draft-EWDOIXSH.js +0 -233
- package/dist/draft-EWDOIXSH.js.map +0 -1
- package/dist/draft-GPN3HOAG.js +0 -328
- package/dist/draft-GPN3HOAG.js.map +0 -1
- package/dist/draft-O4S5RKWK.js +0 -217
- package/dist/draft-Y2QJE2NM.js +0 -281
- package/dist/experiment-G3FQVAJU.js +0 -1397
- package/dist/facets-EHQKGGJ2.js +0 -114
- package/dist/feedback-CAOZPGTT.js +0 -106
- package/dist/feedback-record-EXV5H6OS.js +0 -260
- package/dist/fetch-ETKT2RBC.js +0 -176
- package/dist/find-EVY4XEIQ.js +0 -134
- package/dist/fit-UJQ47C4A.js +0 -62
- package/dist/flows-Z7355RMD.js +0 -247
- package/dist/fonts-7VWBQPJF.js +0 -36
- package/dist/forecast-OI7YWZ6F.js +0 -118
- package/dist/funnel-2B3JXJPX.js +0 -394
- package/dist/ga4-2BL5YAYN.js +0 -55
- package/dist/get-2RSN4N3J.js +0 -56
- package/dist/get-6N7QJMIP.js +0 -79
- package/dist/google-7STODZQR.js +0 -136
- package/dist/google-ads-G7REKD4A.js +0 -195
- package/dist/gsc-UU3T2C6B.js +0 -30
- package/dist/history-IQ33J5PB.js +0 -67
- package/dist/history-YMK2JNZU.js +0 -133
- package/dist/hubspot-BUFS7S33.js +0 -779
- package/dist/icon-GB7UH5RF.js +0 -137
- package/dist/ideas-F6CIGTVU.js +0 -40
- package/dist/images-WCKTD6Z2.js +0 -92
- package/dist/ingest-RQUJGS7K.js +0 -107
- package/dist/ingest-XLTRLCDV.js +0 -23
- package/dist/insights-4HT2NAYP.js +0 -423
- package/dist/insights-4HT2NAYP.js.map +0 -1
- package/dist/inspect-KFVAMD4N.js +0 -189
- package/dist/inspiration-XQYHBJY2.js +0 -53
- package/dist/keyword-metrics-WYF3QMCW.js +0 -197
- package/dist/keywords-for-site-G5L5EP3T.js +0 -128
- package/dist/landing-WUILAWDS.js +0 -28
- package/dist/leads-2XOSAYP4.js +0 -293
- package/dist/leads-2XOSAYP4.js.map +0 -1
- package/dist/leads-4SJ4NJOI.js +0 -90
- package/dist/learn-CC6Q5IK2.js +0 -204
- package/dist/line-item-writes-YXKYR25W.js +0 -208
- package/dist/line-items-CKUD2UU4.js +0 -103
- package/dist/link-VBYFI7AM.js +0 -64
- package/dist/linkedin-XKVPSCLV.js +0 -1057
- package/dist/list-6ZNZGRRK.js +0 -151
- package/dist/list-ENYDGT3F.js +0 -64
- package/dist/list-VSUF2IWT.js +0 -303
- package/dist/locations-YA7NZY44.js +0 -67
- package/dist/locations-YA7NZY44.js.map +0 -1
- package/dist/log-AACKGBDW.js +0 -92
- package/dist/logo-YSNUUT33.js +0 -18
- package/dist/make-ED7HBLH3.js +0 -1353
- package/dist/map-63CQHWPI.js +0 -433
- package/dist/mcp-RKAXC6IP.js +0 -714
- package/dist/media-ES2UBGYW.js +0 -15
- package/dist/media-ES2UBGYW.js.map +0 -1
- package/dist/media-sources-PEHUMH7C.js +0 -32
- package/dist/members-SELIA674.js +0 -44
- package/dist/meta-AOIPEDV5.js +0 -69
- package/dist/meta-AOIPEDV5.js.map +0 -1
- package/dist/normalize-VAZPTBDX.js +0 -141
- package/dist/options-6FCNFWUF.js +0 -122
- package/dist/organization-SHREKDST.js +0 -881
- package/dist/organization-SHREKDST.js.map +0 -1
- package/dist/pages-FTI44OSH.js +0 -66
- package/dist/performance-K7E5KAZW.js +0 -24
- package/dist/pixels-6IUB3Y3H.js +0 -60
- package/dist/pixels-MBKR4XPX.js +0 -108
- package/dist/preview-V4YBD45S.js +0 -169
- package/dist/preview-V4YBD45S.js.map +0 -1
- package/dist/promoted-tweet-writes-PKEO6WUK.js +0 -180
- package/dist/promoted-tweets-7MXVZRBI.js +0 -119
- package/dist/publish-MPMGRV72.js +0 -341
- package/dist/reddit-XIHRI3CN.js +0 -26
- package/dist/refresh-A27N75NH.js +0 -94
- package/dist/release-UKRB5IUN.js +0 -60
- package/dist/remove-AFNFVPZY.js +0 -50
- package/dist/reopen-M5HE6J3G.js +0 -63
- package/dist/rerun-A2XHGFZS.js +0 -90
- package/dist/research-BLDY5UWH.js +0 -62
- package/dist/research-U7RQXMYH.js +0 -262
- package/dist/reset-4CCWB2RT.js +0 -54
- package/dist/reset-J3KCWFMZ.js +0 -54
- package/dist/resolve-HEK27ANI.js +0 -121
- package/dist/retry-HPZIUG2S.js +0 -62
- package/dist/retry-VVI6N6UR.js +0 -60
- package/dist/rules-SK5DFFPY.js +0 -96
- package/dist/rules-add-YQNYSME7.js +0 -462
- package/dist/run-KBN5K7LE.js +0 -65
- package/dist/run-M7ZDE6IA.js +0 -66
- package/dist/scaffold-ad-6BN5LWQH.js +0 -1511
- package/dist/scaffold-static-ad-VVZRAWBR.js +0 -1005
- package/dist/scaffold-video-LFIYI4GP.js +0 -883
- package/dist/schedule-QMOKWTJ3.js +0 -61
- package/dist/scheduled-agents-FCQHQ6KR.js +0 -50
- package/dist/schema-THFLCMBN.js +0 -132
- package/dist/search-XIUYSWO6.js +0 -174
- package/dist/select-QBU6ED4K.js +0 -101
- package/dist/set-prompt-TL64CRBQ.js +0 -193
- package/dist/setup-links-QVI6NAOK.js +0 -141
- package/dist/shared-NDRFKAH7.js +0 -31
- package/dist/site-PZPJY33N.js +0 -177
- package/dist/sources-ER7ANNG3.js +0 -454
- package/dist/sources-RMNFV4CA.js +0 -30
- package/dist/stale-ITFCPOER.js +0 -71
- package/dist/stats-RCLQE4HJ.js +0 -34
- package/dist/status-ABMJBCPJ.js +0 -62
- package/dist/stock-ECRBD7RP.js +0 -179
- package/dist/studio-MARZ22J2.js +0 -49
- package/dist/sync-QDD3MRJ6.js +0 -54
- package/dist/sync-definition-C6ROLKJ4.js +0 -64
- package/dist/tag-manager-G3LBQZUL.js +0 -43
- package/dist/tags-5JYOEYIT.js +0 -20
- package/dist/tags-B473RWAA.js +0 -224
- package/dist/tags-EWHPUM2V.js +0 -20
- package/dist/tags-KBCX6BDU.js +0 -26
- package/dist/tags-PEWN6GNZ.js +0 -20
- package/dist/targeting-criteria-EU65WUUF.js +0 -113
- package/dist/targets-KVXS5QKM.js +0 -103
- package/dist/testimonials-YMMA5YWL.js +0 -32
- package/dist/top-companies-OOX3DITI.js +0 -108
- package/dist/translate-OXVIMYHE.js +0 -604
- package/dist/triggers-OX2GKG4Y.js +0 -142
- package/dist/unlink-3USEPJSA.js +0 -67
- package/dist/unstage-VSCNPTAC.js +0 -85
- package/dist/update-6JKTH65B.js +0 -152
- package/dist/update-FG4ELXYJ.js +0 -98
- package/dist/update-GZFKHA3A.js +0 -188
- package/dist/update-HZHG67N6.js +0 -63
- package/dist/upload-BKCQ6FRW.js +0 -126
- package/dist/url-params-UN4DRN2H.js +0 -98
- package/dist/validate-ZS2M5Q3V.js +0 -117
- package/dist/videos-I6YXFBFT.js +0 -39
- package/dist/viewer-check-7ZG7KHEN.js +0 -80
- package/dist/web-UGU7YMII.js +0 -140
- package/dist/winning-ads-ABN5OULS.js +0 -84
- package/dist/write-commands-6VR2UD3T.js +0 -1024
- package/dist/write-commands-HCQI4Y27.js +0 -737
- package/dist/write-commands-HCQI4Y27.js.map +0 -1
- package/dist/x-WK2VQDPF.js +0 -47
- /package/dist/{account-Z65CPOWE.js.map → account-3H6BZO5H.js.map} +0 -0
- /package/dist/{account-KNRDOUJP.js.map → account-VGSYM7LY.js.map} +0 -0
- /package/dist/{account-writes-4N2MA2ZR.js.map → account-writes-AE5IJGGW.js.map} +0 -0
- /package/dist/{accounts-RW6KXBOQ.js.map → accounts-2ARS6XP2.js.map} +0 -0
- /package/dist/{accounts-RTN5ZGTU.js.map → accounts-AQFW4ZUM.js.map} +0 -0
- /package/dist/{accounts-UA2ZWRN4.js.map → accounts-K4INATCW.js.map} +0 -0
- /package/dist/{actions-HNLISA7T.js.map → actions-QMUHOAXG.js.map} +0 -0
- /package/dist/{activecampaign-I5CILZPU.js.map → activecampaign-J3QN5FMG.js.map} +0 -0
- /package/dist/{activities-IQPJPP4B.js.map → activities-T253KK4Q.js.map} +0 -0
- /package/dist/{ad-group-writes-EUTMPBMK.js.map → ad-group-writes-VRSBI2Z2.js.map} +0 -0
- /package/dist/{ad-groups-OVPAI5RM.js.map → ad-groups-IEBVEAMS.js.map} +0 -0
- /package/dist/{ad-writes-DACTYFEO.js.map → ad-writes-ALV4KFPZ.js.map} +0 -0
- /package/dist/{add-XF5COUAS.js.map → add-VDUA6OWM.js.map} +0 -0
- /package/dist/{add-6WKPFMLG.js.map → add-XHOKCSW5.js.map} +0 -0
- /package/dist/{ads-L65JIKCD.js.map → ads-CQZHD7FC.js.map} +0 -0
- /package/dist/{ads-G6AS5L7G.js.map → ads-HGDPNIT6.js.map} +0 -0
- /package/dist/{advertisers-6NUM2Q3A.js.map → advertisers-UDSEFMP7.js.map} +0 -0
- /package/dist/{analytics-VLHE5A2M.js.map → analytics-TBETZOPJ.js.map} +0 -0
- /package/dist/{analytics-QKP3A5F3.js.map → analytics-VH74LMMC.js.map} +0 -0
- /package/dist/{connect-WBGCBBFJ.js.map → asset-writes-L5TMKIZC.js.map} +0 -0
- /package/dist/{assign-6HI6TNLP.js.map → assign-6IE2ASFC.js.map} +0 -0
- /package/dist/{audience-size-25LP2OBF.js.map → audience-size-CSBWDFEP.js.map} +0 -0
- /package/dist/{audiences-RPLVMO4H.js.map → audiences-AAZH56WD.js.map} +0 -0
- /package/dist/{audit-YY6X2MPA.js.map → audit-AEENRVGD.js.map} +0 -0
- /package/dist/{autocomplete-SAWJK4NF.js.map → autocomplete-AAGTJHVL.js.map} +0 -0
- /package/dist/{avatars-MXTI74VC.js.map → avatars-VEATUUKU.js.map} +0 -0
- /package/dist/{bid-pricing-HZ74SLEB.js.map → bid-pricing-SZTGCZTV.js.map} +0 -0
- /package/dist/{brand-T3OACVQX.js.map → brand-MXGETE4R.js.map} +0 -0
- /package/dist/{brief-BN4UGUXF.js.map → brief-3GHSHOGM.js.map} +0 -0
- /package/dist/{businesses-PRRYPR7H.js.map → businesses-H3HIDQX6.js.map} +0 -0
- /package/dist/{campaign-groups-YJK767AP.js.map → campaign-groups-WRI56M5X.js.map} +0 -0
- /package/dist/{campaign-writes-U5LTDTYK.js.map → campaign-writes-U5PUVSMT.js.map} +0 -0
- /package/dist/{campaigns-GALDR5KK.js.map → campaigns-4QWC2JE7.js.map} +0 -0
- /package/dist/{campaigns-TFEQTSO3.js.map → campaigns-JEIKY2M4.js.map} +0 -0
- /package/dist/{campaigns-NR6TNQFN.js.map → campaigns-Q4HN7HBY.js.map} +0 -0
- /package/dist/{canvas-GJAQAVS6.js.map → canvas-VJ3XKCAC.js.map} +0 -0
- /package/dist/{capabilities-2KT6TCGZ.js.map → capabilities-SNGGAOV3.js.map} +0 -0
- /package/dist/{catalog-USZL4SGX.js.map → catalog-S32MX453.js.map} +0 -0
- /package/dist/{catalogs-A7XMEEEP.js.map → catalogs-OCVXZLIF.js.map} +0 -0
- /package/dist/{chatgpt-4PEWDJKP.js.map → chatgpt-QVF2FD3E.js.map} +0 -0
- /package/dist/{check-MMJGFFZS.js.map → check-Z6UMIQKD.js.map} +0 -0
- /package/dist/{chunk-KPYDTIAI.js.map → chunk-2WZI36D3.js.map} +0 -0
- /package/dist/{chunk-FA4YZFRV.js.map → chunk-3AMLOCXY.js.map} +0 -0
- /package/dist/{chunk-X7F4Z6UM.js.map → chunk-3CVAEQMZ.js.map} +0 -0
- /package/dist/{chunk-SISA4HQR.js.map → chunk-3WAYZQNV.js.map} +0 -0
- /package/dist/{chunk-JWSEPW7F.js.map → chunk-46GWHUKN.js.map} +0 -0
- /package/dist/{chunk-R3EKM2P2.js.map → chunk-4O6T76A3.js.map} +0 -0
- /package/dist/{chunk-D5UXWKLQ.js.map → chunk-5MCVK4A3.js.map} +0 -0
- /package/dist/{chunk-CSZFZKVX.js.map → chunk-5ZLN23V5.js.map} +0 -0
- /package/dist/{chunk-OWA7ZLC4.js.map → chunk-77ULVP62.js.map} +0 -0
- /package/dist/{chunk-QNLJ3GNZ.js.map → chunk-AW2GKIGS.js.map} +0 -0
- /package/dist/{chunk-BL2MX6CR.js.map → chunk-BRLY6XD6.js.map} +0 -0
- /package/dist/{chunk-NPMAATZG.js.map → chunk-C7NWUCLQ.js.map} +0 -0
- /package/dist/{chunk-PA4W7BCQ.js.map → chunk-D4HKJBEW.js.map} +0 -0
- /package/dist/{chunk-H5HDZ7IC.js.map → chunk-DCBZ5CHZ.js.map} +0 -0
- /package/dist/{chunk-BITS62MF.js.map → chunk-G6XKD7QE.js.map} +0 -0
- /package/dist/{chunk-TP7HKSBX.js.map → chunk-GBFL4TD2.js.map} +0 -0
- /package/dist/{chunk-3TZVZXM6.js.map → chunk-H5SCKWFT.js.map} +0 -0
- /package/dist/{chunk-HSPMBLKE.js.map → chunk-HXPK6KAL.js.map} +0 -0
- /package/dist/{chunk-2PWNIEW4.js.map → chunk-I7GOSMWT.js.map} +0 -0
- /package/dist/{chunk-LOMH4TTC.js.map → chunk-IBY44U2M.js.map} +0 -0
- /package/dist/{chunk-IJ22WP3G.js.map → chunk-ITNHIZKK.js.map} +0 -0
- /package/dist/{chunk-P3W6SRSQ.js.map → chunk-J33P2JNS.js.map} +0 -0
- /package/dist/{chunk-NEIUVSDK.js.map → chunk-JH2L5CQD.js.map} +0 -0
- /package/dist/{chunk-62JQQUAU.js.map → chunk-JQH5VG6F.js.map} +0 -0
- /package/dist/{chunk-6WXV5GTA.js.map → chunk-JVH5A3XC.js.map} +0 -0
- /package/dist/{chunk-ILSKYRDR.js.map → chunk-KTOYQP6D.js.map} +0 -0
- /package/dist/{chunk-G4STCTY3.js.map → chunk-LO3IF5PS.js.map} +0 -0
- /package/dist/{chunk-BOPC3D6I.js.map → chunk-LRRFGOW3.js.map} +0 -0
- /package/dist/{chunk-C6EYCD5J.js.map → chunk-LTPTJWZC.js.map} +0 -0
- /package/dist/{chunk-NXZCCGES.js.map → chunk-MRQHJW5U.js.map} +0 -0
- /package/dist/{chunk-TRPJJMCS.js.map → chunk-NHYI7ORL.js.map} +0 -0
- /package/dist/{chunk-MXH35PJ5.js.map → chunk-NLI7C3K2.js.map} +0 -0
- /package/dist/{chunk-TPANP5A2.js.map → chunk-NSEMXBUB.js.map} +0 -0
- /package/dist/{chunk-LBO2YAZY.js.map → chunk-OM2BRYXJ.js.map} +0 -0
- /package/dist/{chunk-2LI6746F.js.map → chunk-OY4SKCIU.js.map} +0 -0
- /package/dist/{chunk-6WCAV27H.js.map → chunk-OYAJNTRO.js.map} +0 -0
- /package/dist/{chunk-QE3JEJXF.js.map → chunk-PL7J3DPQ.js.map} +0 -0
- /package/dist/{chunk-PTGYM4J6.js.map → chunk-PUSBUMYM.js.map} +0 -0
- /package/dist/{chunk-D5CUAOQX.js.map → chunk-RRADFRPI.js.map} +0 -0
- /package/dist/{chunk-VD73V44J.js.map → chunk-SGEPZB3D.js.map} +0 -0
- /package/dist/{chunk-LPXSM2DI.js.map → chunk-TFTZDWCX.js.map} +0 -0
- /package/dist/{chunk-2XRMPSEV.js.map → chunk-TG4NCHFS.js.map} +0 -0
- /package/dist/{chunk-5HJRZFMW.js.map → chunk-TTHM66TA.js.map} +0 -0
- /package/dist/{chunk-ZL23HA4N.js.map → chunk-VL2GNXZY.js.map} +0 -0
- /package/dist/{chunk-TZEVD4Q6.js.map → chunk-VQPZDM6N.js.map} +0 -0
- /package/dist/{chunk-JQU2LUZG.js.map → chunk-XCKINS7K.js.map} +0 -0
- /package/dist/{chunk-AVNSH2JE.js.map → chunk-YLYXSJ6O.js.map} +0 -0
- /package/dist/{chunk-MVB32GPI.js.map → chunk-ZAPO6UWS.js.map} +0 -0
- /package/dist/{chunk-FUKDI2UK.js.map → chunk-ZEPUDYPL.js.map} +0 -0
- /package/dist/{chunk-UWXDNVS5.js.map → chunk-ZJSGGJ5R.js.map} +0 -0
- /package/dist/{claim-SLGYOOWD.js.map → claim-J2LYNHZK.js.map} +0 -0
- /package/dist/{companies-IVMH6YII.js.map → companies-VYY22B6T.js.map} +0 -0
- /package/dist/{complete-45L2FI2X.js.map → complete-5I32XM7P.js.map} +0 -0
- /package/dist/{customers-NLU7NYDC.js.map → connect-EUFFQQ7O.js.map} +0 -0
- /package/dist/{conversation-RIOL3OJ7.js.map → conversation-D6KZHGPP.js.map} +0 -0
- /package/dist/{conversion-writes-JU7Q2MUO.js.map → conversion-writes-ECZBVY7D.js.map} +0 -0
- /package/dist/{conversions-3ISBR3TS.js.map → conversions-5QCSCRLI.js.map} +0 -0
- /package/dist/{conversions-TKIXNSYR.js.map → conversions-Y3X6ZTTF.js.map} +0 -0
- /package/dist/{create-ACLCRXQP.js.map → create-2JCRTQJL.js.map} +0 -0
- /package/dist/{create-VAPJ52GJ.js.map → create-LMSQPHPB.js.map} +0 -0
- /package/dist/{create-7JY2PTIZ.js.map → create-MBLNB5RY.js.map} +0 -0
- /package/dist/{create-KYBMFD32.js.map → create-VR7RXKL7.js.map} +0 -0
- /package/dist/{creatives-VQO2TKE3.js.map → creatives-5C42BDMW.js.map} +0 -0
- /package/dist/{creatives-S5QUWUL6.js.map → creatives-HYPSTANO.js.map} +0 -0
- /package/dist/{credentials-YTQ6BHWV.js.map → credentials-4H4AUYJN.js.map} +0 -0
- /package/dist/{critique-BHYJYZDV.js.map → critique-UOJZWDG2.js.map} +0 -0
- /package/dist/{critique-5LCG5TYF.js.map → critique-WCWMQQVV.js.map} +0 -0
- /package/dist/{crm-IKTWHWEB.js.map → crm-B7OTHMBP.js.map} +0 -0
- /package/dist/{crm-N7K57LZJ.js.map → crm-DZRWKJ6V.js.map} +0 -0
- /package/dist/{fit-UJQ47C4A.js.map → customers-AOFJJCGD.js.map} +0 -0
- /package/dist/{delete-26J3X3ZH.js.map → delete-DEG5KOBY.js.map} +0 -0
- /package/dist/{delete-EVXOFT2H.js.map → delete-EFIODCXG.js.map} +0 -0
- /package/dist/{delete-A4F5Z54J.js.map → delete-PQIMW2LK.js.map} +0 -0
- /package/dist/{demographics-VZKFMM4X.js.map → demographics-F26DIOCM.js.map} +0 -0
- /package/dist/{discard-ULRVUJDV.js.map → discard-2EJY6UGP.js.map} +0 -0
- /package/dist/{domain-L4WCCX7R.js.map → domain-XLJABLWB.js.map} +0 -0
- /package/dist/{draft-O4S5RKWK.js.map → draft-2YND6T4U.js.map} +0 -0
- /package/dist/{draft-Y2QJE2NM.js.map → draft-34CGWUVA.js.map} +0 -0
- /package/dist/{draft-57OQKHZI.js.map → draft-WRVEANL5.js.map} +0 -0
- /package/dist/{experiment-G3FQVAJU.js.map → experiment-7N4QFRWV.js.map} +0 -0
- /package/dist/{facets-EHQKGGJ2.js.map → facets-OPTNDPW2.js.map} +0 -0
- /package/dist/{feedback-CAOZPGTT.js.map → feedback-43BPXNBI.js.map} +0 -0
- /package/dist/{feedback-record-EXV5H6OS.js.map → feedback-record-35ZSDL6Z.js.map} +0 -0
- /package/dist/{fetch-ETKT2RBC.js.map → fetch-O46XBA7S.js.map} +0 -0
- /package/dist/{find-EVY4XEIQ.js.map → find-FSQAEGGF.js.map} +0 -0
- /package/dist/{fonts-7VWBQPJF.js.map → fit-CWJ5QQ4R.js.map} +0 -0
- /package/dist/{flows-Z7355RMD.js.map → flows-CVORIQ4B.js.map} +0 -0
- /package/dist/{ideas-F6CIGTVU.js.map → fonts-6TPYR6IW.js.map} +0 -0
- /package/dist/{forecast-OI7YWZ6F.js.map → forecast-2VLA6NJA.js.map} +0 -0
- /package/dist/{funnel-2B3JXJPX.js.map → funnel-XLKDLXMG.js.map} +0 -0
- /package/dist/{ga4-2BL5YAYN.js.map → ga4-LPDIBNYP.js.map} +0 -0
- /package/dist/{get-2RSN4N3J.js.map → get-O56GGN3V.js.map} +0 -0
- /package/dist/{get-6N7QJMIP.js.map → get-WFQ4XEAW.js.map} +0 -0
- /package/dist/{google-7STODZQR.js.map → google-5ESVO76E.js.map} +0 -0
- /package/dist/{google-ads-G7REKD4A.js.map → google-ads-DZMOTUY5.js.map} +0 -0
- /package/dist/{gsc-UU3T2C6B.js.map → gsc-FIZTQX3N.js.map} +0 -0
- /package/dist/{history-YMK2JNZU.js.map → history-43BBQZOB.js.map} +0 -0
- /package/dist/{history-IQ33J5PB.js.map → history-QKDYBSYM.js.map} +0 -0
- /package/dist/{hubspot-BUFS7S33.js.map → hubspot-S44MPK3G.js.map} +0 -0
- /package/dist/{icon-GB7UH5RF.js.map → icon-CSVAZ7NE.js.map} +0 -0
- /package/dist/{ingest-XLTRLCDV.js.map → ideas-SLP5WXFF.js.map} +0 -0
- /package/dist/{images-WCKTD6Z2.js.map → images-TWZOROCT.js.map} +0 -0
- /package/dist/{logo-YSNUUT33.js.map → ingest-5GCZ5ZBV.js.map} +0 -0
- /package/dist/{ingest-RQUJGS7K.js.map → ingest-P54J4W3V.js.map} +0 -0
- /package/dist/{inspect-KFVAMD4N.js.map → inspect-S4COGUBC.js.map} +0 -0
- /package/dist/{inspiration-XQYHBJY2.js.map → inspiration-IX5N724J.js.map} +0 -0
- /package/dist/{keyword-metrics-WYF3QMCW.js.map → keyword-metrics-26CCKFZK.js.map} +0 -0
- /package/dist/{keywords-for-site-G5L5EP3T.js.map → keywords-for-site-JWWECF63.js.map} +0 -0
- /package/dist/{landing-WUILAWDS.js.map → landing-VFDRADZY.js.map} +0 -0
- /package/dist/{leads-4SJ4NJOI.js.map → leads-DTKKYSKH.js.map} +0 -0
- /package/dist/{learn-CC6Q5IK2.js.map → learn-GQ75IPRK.js.map} +0 -0
- /package/dist/{line-item-writes-YXKYR25W.js.map → line-item-writes-DVVHVR3Y.js.map} +0 -0
- /package/dist/{line-items-CKUD2UU4.js.map → line-items-EOZMK7A5.js.map} +0 -0
- /package/dist/{link-VBYFI7AM.js.map → link-R5NGCQ5H.js.map} +0 -0
- /package/dist/{linkedin-XKVPSCLV.js.map → linkedin-DHZO3IJX.js.map} +0 -0
- /package/dist/{list-VSUF2IWT.js.map → list-57QBEGLM.js.map} +0 -0
- /package/dist/{list-ENYDGT3F.js.map → list-Q44BBHDI.js.map} +0 -0
- /package/dist/{list-6ZNZGRRK.js.map → list-W6G2NTG5.js.map} +0 -0
- /package/dist/{log-AACKGBDW.js.map → log-B6X5EPKA.js.map} +0 -0
- /package/dist/{performance-K7E5KAZW.js.map → logo-VHXH4J6A.js.map} +0 -0
- /package/dist/{make-ED7HBLH3.js.map → make-OIFLF3QS.js.map} +0 -0
- /package/dist/{map-63CQHWPI.js.map → map-PIOZT2MQ.js.map} +0 -0
- /package/dist/{mcp-RKAXC6IP.js.map → mcp-GFKHLWDB.js.map} +0 -0
- /package/dist/{media-sources-PEHUMH7C.js.map → media-sources-VMMMW5UM.js.map} +0 -0
- /package/dist/{members-SELIA674.js.map → members-W2QBMNIW.js.map} +0 -0
- /package/dist/{normalize-VAZPTBDX.js.map → normalize-N6XC3SLC.js.map} +0 -0
- /package/dist/{options-6FCNFWUF.js.map → options-XYJY2OEQ.js.map} +0 -0
- /package/dist/{pages-FTI44OSH.js.map → pages-PTWRXAZT.js.map} +0 -0
- /package/dist/{reddit-XIHRI3CN.js.map → performance-7NEZTOJ5.js.map} +0 -0
- /package/dist/{pixels-6IUB3Y3H.js.map → pixels-MYT3TCHZ.js.map} +0 -0
- /package/dist/{pixels-MBKR4XPX.js.map → pixels-ZZCQUS3J.js.map} +0 -0
- /package/dist/{promoted-tweet-writes-PKEO6WUK.js.map → promoted-tweet-writes-X2F7R2AE.js.map} +0 -0
- /package/dist/{promoted-tweets-7MXVZRBI.js.map → promoted-tweets-XCSD6VKP.js.map} +0 -0
- /package/dist/{publish-MPMGRV72.js.map → publish-OBY6E43R.js.map} +0 -0
- /package/dist/{run-KBN5K7LE.js.map → reddit-WJ6KHYBC.js.map} +0 -0
- /package/dist/{refresh-A27N75NH.js.map → refresh-G5BQ2LWU.js.map} +0 -0
- /package/dist/{release-UKRB5IUN.js.map → release-PBZO35KY.js.map} +0 -0
- /package/dist/{remove-AFNFVPZY.js.map → remove-VJ2MEUPM.js.map} +0 -0
- /package/dist/{reopen-M5HE6J3G.js.map → reopen-W3LYOHSR.js.map} +0 -0
- /package/dist/{rerun-A2XHGFZS.js.map → rerun-4GDNBFNM.js.map} +0 -0
- /package/dist/{research-U7RQXMYH.js.map → research-4YTFPGH7.js.map} +0 -0
- /package/dist/{research-BLDY5UWH.js.map → research-LOQRIBO6.js.map} +0 -0
- /package/dist/{reset-4CCWB2RT.js.map → reset-55CCQGXB.js.map} +0 -0
- /package/dist/{reset-J3KCWFMZ.js.map → reset-AVTQEJPZ.js.map} +0 -0
- /package/dist/{resolve-HEK27ANI.js.map → resolve-E6FNMFE3.js.map} +0 -0
- /package/dist/{retry-VVI6N6UR.js.map → retry-HBJ7MKVI.js.map} +0 -0
- /package/dist/{retry-HPZIUG2S.js.map → retry-QBRYM6MG.js.map} +0 -0
- /package/dist/{rules-SK5DFFPY.js.map → rules-XNDBGOIS.js.map} +0 -0
- /package/dist/{rules-add-YQNYSME7.js.map → rules-add-UM3ZKSVD.js.map} +0 -0
- /package/dist/{run-M7ZDE6IA.js.map → run-D4YHZ4Z4.js.map} +0 -0
- /package/dist/{shared-NDRFKAH7.js.map → run-ZCJ7NP63.js.map} +0 -0
- /package/dist/{scaffold-ad-6BN5LWQH.js.map → scaffold-ad-VQZAP32M.js.map} +0 -0
- /package/dist/{scaffold-static-ad-VVZRAWBR.js.map → scaffold-static-ad-LEU4M44N.js.map} +0 -0
- /package/dist/{scaffold-video-LFIYI4GP.js.map → scaffold-video-PSWSYRSC.js.map} +0 -0
- /package/dist/{schedule-QMOKWTJ3.js.map → schedule-AAH7HYFK.js.map} +0 -0
- /package/dist/{scheduled-agents-FCQHQ6KR.js.map → scheduled-agents-HDABMHZI.js.map} +0 -0
- /package/dist/{schema-THFLCMBN.js.map → schema-OH5OWMVQ.js.map} +0 -0
- /package/dist/{search-XIUYSWO6.js.map → search-BSDPVSGA.js.map} +0 -0
- /package/dist/{select-QBU6ED4K.js.map → select-EI4QF4YZ.js.map} +0 -0
- /package/dist/{set-prompt-TL64CRBQ.js.map → set-prompt-RKDAGUWG.js.map} +0 -0
- /package/dist/{setup-links-QVI6NAOK.js.map → setup-links-CNNJA7AB.js.map} +0 -0
- /package/dist/{sync-definition-C6ROLKJ4.js.map → shared-3IBNDEFL.js.map} +0 -0
- /package/dist/{site-PZPJY33N.js.map → site-NV4U7PIF.js.map} +0 -0
- /package/dist/{sources-ER7ANNG3.js.map → sources-ATONL7W5.js.map} +0 -0
- /package/dist/{sources-RMNFV4CA.js.map → sources-C3TGHKLQ.js.map} +0 -0
- /package/dist/{stale-ITFCPOER.js.map → stale-6QPXL6BZ.js.map} +0 -0
- /package/dist/{stats-RCLQE4HJ.js.map → stats-ZAGJH4AD.js.map} +0 -0
- /package/dist/{status-ABMJBCPJ.js.map → status-BML3F4MZ.js.map} +0 -0
- /package/dist/{stock-ECRBD7RP.js.map → stock-6SHHLSKG.js.map} +0 -0
- /package/dist/{studio-MARZ22J2.js.map → studio-ZLCGXFAN.js.map} +0 -0
- /package/dist/{sync-QDD3MRJ6.js.map → sync-DZAOUQPE.js.map} +0 -0
- /package/dist/{viewer-check-7ZG7KHEN.js.map → sync-definition-RFEL65JE.js.map} +0 -0
- /package/dist/{tag-manager-G3LBQZUL.js.map → tag-manager-3CJ66GKJ.js.map} +0 -0
- /package/dist/{tags-EWHPUM2V.js.map → tags-2KSXCJRZ.js.map} +0 -0
- /package/dist/{tags-KBCX6BDU.js.map → tags-662KZJLV.js.map} +0 -0
- /package/dist/{tags-5JYOEYIT.js.map → tags-6QBVW25V.js.map} +0 -0
- /package/dist/{tags-PEWN6GNZ.js.map → tags-LQCEJGIL.js.map} +0 -0
- /package/dist/{tags-B473RWAA.js.map → tags-RIVD54ZG.js.map} +0 -0
- /package/dist/{targeting-criteria-EU65WUUF.js.map → targeting-criteria-XNLYPIL2.js.map} +0 -0
- /package/dist/{targets-KVXS5QKM.js.map → targets-OYIVS5KJ.js.map} +0 -0
- /package/dist/{testimonials-YMMA5YWL.js.map → testimonials-WT43CF7V.js.map} +0 -0
- /package/dist/{top-companies-OOX3DITI.js.map → top-companies-6QQMOS2Y.js.map} +0 -0
- /package/dist/{translate-OXVIMYHE.js.map → translate-7QN7JFGU.js.map} +0 -0
- /package/dist/{triggers-OX2GKG4Y.js.map → triggers-LVQY3QJ2.js.map} +0 -0
- /package/dist/{unlink-3USEPJSA.js.map → unlink-5ASZTCS2.js.map} +0 -0
- /package/dist/{unstage-VSCNPTAC.js.map → unstage-LNZTEATR.js.map} +0 -0
- /package/dist/{update-6JKTH65B.js.map → update-7BIR4GYO.js.map} +0 -0
- /package/dist/{update-FG4ELXYJ.js.map → update-BRLM5DB3.js.map} +0 -0
- /package/dist/{update-HZHG67N6.js.map → update-DRZAAJQ2.js.map} +0 -0
- /package/dist/{update-GZFKHA3A.js.map → update-NOWC3ICD.js.map} +0 -0
- /package/dist/{upload-BKCQ6FRW.js.map → upload-457Q4ANZ.js.map} +0 -0
- /package/dist/{url-params-UN4DRN2H.js.map → url-params-KM4NJGYC.js.map} +0 -0
- /package/dist/{validate-ZS2M5Q3V.js.map → validate-COLEPJBA.js.map} +0 -0
- /package/dist/{videos-I6YXFBFT.js.map → videos-5IDZTEWC.js.map} +0 -0
- /package/dist/{web-UGU7YMII.js.map → web-FZYOCCYN.js.map} +0 -0
- /package/dist/{winning-ads-ABN5OULS.js.map → winning-ads-I4DMP7RU.js.map} +0 -0
- /package/dist/{write-commands-6VR2UD3T.js.map → write-commands-FYB6QG7K.js.map} +0 -0
- /package/dist/{x-WK2VQDPF.js.map → x-OMN5DDLM.js.map} +0 -0
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import {
|
|
2
|
+
brandVerificationHints
|
|
3
|
+
} from "./chunk-IVIJJXXT.js";
|
|
4
|
+
import {
|
|
5
|
+
OUTPUT_ARGS,
|
|
6
|
+
writeProviderHits
|
|
7
|
+
} from "./chunk-MJQBXFW6.js";
|
|
8
|
+
import {
|
|
9
|
+
AUTO_INGEST_MAX,
|
|
10
|
+
parseAutoIngest
|
|
11
|
+
} from "./chunk-KKJ4KJCW.js";
|
|
12
|
+
import {
|
|
13
|
+
emptyResultHints
|
|
14
|
+
} from "./chunk-Q6ULQMWG.js";
|
|
15
|
+
import {
|
|
16
|
+
ApiError,
|
|
17
|
+
apiPost
|
|
18
|
+
} from "./chunk-XDZVBX6L.js";
|
|
19
|
+
import {
|
|
20
|
+
registerSchema,
|
|
21
|
+
writeJson
|
|
22
|
+
} from "./chunk-WNSE7N75.js";
|
|
23
|
+
|
|
24
|
+
// src/commands/images/logo.ts
|
|
25
|
+
import { defineCommand } from "citty";
|
|
26
|
+
registerSchema({
|
|
27
|
+
command: "images.logo",
|
|
28
|
+
description: "Brand logo lookup via Brandfetch. Auto-ingests by default. Returns `brandMatch` \u2014 Brandfetch's own verdict on whose brand the domain is (confirmed | mismatch | unverified). Branch on it: `mismatch` means the mark is another company's, so do not place it. `confirmed` verifies the record, not the artwork \u2014 read the ingested row back to check the mark itself.",
|
|
29
|
+
args: {
|
|
30
|
+
domain: { type: "string", description: "Brand domain (e.g. stripe.com)", required: true },
|
|
31
|
+
variant: { type: "string", description: "icon | logo | symbol", required: false },
|
|
32
|
+
"auto-ingest": {
|
|
33
|
+
type: "number",
|
|
34
|
+
description: `Ingest top N hits (0-${AUTO_INGEST_MAX.logo}). Defaults to 1 (the first variant). Brandfetch resolves at most ${AUTO_INGEST_MAX.logo} variants, so ${AUTO_INGEST_MAX.logo} ingests every one. Keep it at 1+ \u2014 the ingested row is the only way to check the mark is the brand you asked for.`,
|
|
35
|
+
required: false
|
|
36
|
+
},
|
|
37
|
+
"no-auto-ingest": {
|
|
38
|
+
type: "boolean",
|
|
39
|
+
description: "Skip auto-ingest (equivalent to --auto-ingest 0). Leaves the returned mark unverifiable.",
|
|
40
|
+
required: false,
|
|
41
|
+
default: false
|
|
42
|
+
},
|
|
43
|
+
context: {
|
|
44
|
+
type: "string",
|
|
45
|
+
description: "Free-text hint applied to ingested logo variants (e.g. 'Stripe \u2014 payments integration partner', 'Acme competitor brand mark')",
|
|
46
|
+
required: false
|
|
47
|
+
},
|
|
48
|
+
output: { type: "string", description: "Output format: json|files|md", required: false, default: "json" },
|
|
49
|
+
fields: { type: "string", description: "Comma-separated field names to include", required: false },
|
|
50
|
+
full: { type: "boolean", description: "Include full metadata", required: false, default: false }
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
var logoCommand = defineCommand({
|
|
54
|
+
meta: {
|
|
55
|
+
name: "logo",
|
|
56
|
+
description: "Brand logo via Brandfetch. Returns up to 5 variants (icon, light/dark logo, light/dark symbol) plus `brandMatch`. Auto-ingests the first variant.\n\nStart here: check `brandMatch.verdict`.\n mismatch \u2192 the mark belongs to `brandMatch.name`, a different company. Do not place it.\n unverified \u2192 nothing confirmed whose logo this is. Treat as unchecked.\n confirmed \u2192 Brandfetch has this brand's record. That verifies the record, NOT the artwork \u2014 a confirmed domain has served another company's logo before.\n\n\u26A0 Whatever the verdict, read the ingested row back with `baker images get <imageId>` and check `textInImage`/`subject` before placing it. That is the only check that looks at the mark.\n\nExample: baker images logo stripe.com --variant logo"
|
|
57
|
+
},
|
|
58
|
+
args: {
|
|
59
|
+
domain: { type: "positional", description: "Brand domain", required: false },
|
|
60
|
+
variant: { type: "string", description: "icon|logo|symbol", required: false },
|
|
61
|
+
"auto-ingest": {
|
|
62
|
+
type: "string",
|
|
63
|
+
description: `Ingest top N (0-${AUTO_INGEST_MAX.logo}, default 1)`,
|
|
64
|
+
required: false
|
|
65
|
+
},
|
|
66
|
+
"no-auto-ingest": { type: "boolean", description: "Skip auto-ingest", required: false },
|
|
67
|
+
context: { type: "string", description: "Description context hint applied to ingested logos", required: false },
|
|
68
|
+
...OUTPUT_ARGS
|
|
69
|
+
},
|
|
70
|
+
run: async ({ args }) => {
|
|
71
|
+
try {
|
|
72
|
+
const domain = args.domain;
|
|
73
|
+
if (!domain) {
|
|
74
|
+
writeJson({ ok: false, error: { code: "VALIDATION_ERROR", message: "Domain is required" } });
|
|
75
|
+
process.exit(1);
|
|
76
|
+
}
|
|
77
|
+
const body = { domain };
|
|
78
|
+
if (args.variant) body.variant = args.variant;
|
|
79
|
+
if (args["auto-ingest"] !== void 0) {
|
|
80
|
+
const parsed = parseAutoIngest(args["auto-ingest"], AUTO_INGEST_MAX.logo);
|
|
81
|
+
if (!parsed.ok) {
|
|
82
|
+
writeJson({
|
|
83
|
+
ok: false,
|
|
84
|
+
error: {
|
|
85
|
+
code: "VALIDATION_ERROR",
|
|
86
|
+
message: parsed.message,
|
|
87
|
+
fix: {
|
|
88
|
+
action: "retry_with_changes",
|
|
89
|
+
explanation: `Brandfetch resolves at most ${AUTO_INGEST_MAX.logo} variants for a domain, so --auto-ingest ${AUTO_INGEST_MAX.logo} already ingests every one. Re-run with a value in 0-${AUTO_INGEST_MAX.logo}.`
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
process.exit(1);
|
|
94
|
+
}
|
|
95
|
+
body.autoIngest = parsed.value;
|
|
96
|
+
} else if (args["no-auto-ingest"]) {
|
|
97
|
+
body.autoIngest = 0;
|
|
98
|
+
}
|
|
99
|
+
if (args.context) body.descriptionContext = args.context;
|
|
100
|
+
const data = await apiPost("/api/images/logo", body);
|
|
101
|
+
const hints = [
|
|
102
|
+
// `brandMatch` is Brandfetch's own answer to whose brand this domain is,
|
|
103
|
+
// so the warning can now be graded instead of fired blind: loud on a
|
|
104
|
+
// mismatch, honest about what a confirmation does and does not cover.
|
|
105
|
+
...brandVerificationHints({
|
|
106
|
+
domain,
|
|
107
|
+
ingested: data.ingested,
|
|
108
|
+
hitCount: data.hits.length,
|
|
109
|
+
brandMatch: data.brandMatch
|
|
110
|
+
}),
|
|
111
|
+
...emptyResultHints({ provider: "logo", hitCount: data.hits.length, activeFilters: [], subject: domain })
|
|
112
|
+
];
|
|
113
|
+
writeProviderHits(data, data.hits, args, hints);
|
|
114
|
+
} catch (err) {
|
|
115
|
+
if (err instanceof ApiError) {
|
|
116
|
+
writeJson({ ok: false, error: { code: err.code, message: err.message } });
|
|
117
|
+
process.exit(1);
|
|
118
|
+
}
|
|
119
|
+
writeJson({ ok: false, error: { code: "INTERNAL_ERROR", message: "Unexpected error" } });
|
|
120
|
+
process.exit(1);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
});
|
|
124
|
+
async function fetchBrandLogo(domain) {
|
|
125
|
+
try {
|
|
126
|
+
const body = { domain, variant: "logo" };
|
|
127
|
+
const data = await apiPost("/api/images/logo", body);
|
|
128
|
+
if (data?.brandMatch?.verdict === "mismatch") return null;
|
|
129
|
+
return data?.ingested?.[0]?.imageUrl ?? data?.hits?.find((h) => h.imageUrl)?.imageUrl ?? null;
|
|
130
|
+
} catch {
|
|
131
|
+
return null;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
export {
|
|
136
|
+
logoCommand,
|
|
137
|
+
fetchBrandLogo
|
|
138
|
+
};
|
|
139
|
+
//# sourceMappingURL=chunk-DCBZ5CHZ.js.map
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import {
|
|
2
|
+
classifyAudience
|
|
3
|
+
} from "./chunk-2WZI36D3.js";
|
|
4
|
+
|
|
5
|
+
// src/audience-names.ts
|
|
6
|
+
var BUYERS_QUESTION = `\`name\` is the name an advertiser gave a custom audience in their Meta ad account, in any language. Is it made of people who have already bought from the brand: purchasers, paying customers, clients, a customer list? People who only visited, engaged, signed up, started a checkout or are leads or prospects have not bought. A lookalike of buyers is not buyers.`;
|
|
7
|
+
var BUYERS_HELD = 0.42;
|
|
8
|
+
var LOOKALIKE_QUESTION = `\`name\` is the name an advertiser gave a custom audience in their Meta ad account, in any language. Is it a lookalike audience: new people Meta finds because they resemble a seed audience (often named "Lookalike (GB, 1%)", "LAL 3%", "Similar to\u2026")?`;
|
|
9
|
+
var LOOKALIKE_HELD = 0.4;
|
|
10
|
+
async function readAudienceNames(names, ask) {
|
|
11
|
+
const distinct = [...new Set(names.map((n) => n.trim()).filter(Boolean))];
|
|
12
|
+
if (distinct.length === 0) return () => void 0;
|
|
13
|
+
const answers = await ask(
|
|
14
|
+
distinct.flatMap((name) => [
|
|
15
|
+
{ instructions: { name, question: BUYERS_QUESTION } },
|
|
16
|
+
{ instructions: { name, question: LOOKALIKE_QUESTION } }
|
|
17
|
+
])
|
|
18
|
+
);
|
|
19
|
+
if (answers === null) return () => void 0;
|
|
20
|
+
const read = new Map(
|
|
21
|
+
distinct.map((name, i) => [
|
|
22
|
+
name,
|
|
23
|
+
{ buyers: (answers[2 * i] ?? 0) >= BUYERS_HELD, lookalike: (answers[2 * i + 1] ?? 0) >= LOOKALIKE_HELD }
|
|
24
|
+
])
|
|
25
|
+
);
|
|
26
|
+
return (name) => read.get(name.trim());
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
// src/commands/ads/meta/adset-viewers.ts
|
|
30
|
+
function adSetViewerRows(adSets, audiences, campaigns, readName) {
|
|
31
|
+
const campaignById = new Map(campaigns.map((campaign) => [campaign.id, campaign]));
|
|
32
|
+
return adSets.map((adSet) => ({
|
|
33
|
+
id: adSet.id,
|
|
34
|
+
name: adSet.name,
|
|
35
|
+
campaign_id: adSet.campaign_id,
|
|
36
|
+
effective_status: adSet.effective_status,
|
|
37
|
+
viewer: classifyAudience(adSet, audiences, campaignById.get(adSet.campaign_id), readName)
|
|
38
|
+
}));
|
|
39
|
+
}
|
|
40
|
+
var VIEWER_TABLE_COLUMNS = [
|
|
41
|
+
"id",
|
|
42
|
+
"name",
|
|
43
|
+
"effective_status",
|
|
44
|
+
"temperature",
|
|
45
|
+
"knows",
|
|
46
|
+
"placements",
|
|
47
|
+
"why"
|
|
48
|
+
];
|
|
49
|
+
function flattenViewerRows(rows) {
|
|
50
|
+
return rows.map(({ viewer, ...row }) => ({
|
|
51
|
+
id: row.id,
|
|
52
|
+
name: row.name,
|
|
53
|
+
effective_status: row.effective_status,
|
|
54
|
+
temperature: viewer.temperature,
|
|
55
|
+
knows: viewer.knows.length > 0 ? viewer.knows.join(", ") : "nothing yet",
|
|
56
|
+
placements: viewer.placements.join(", "),
|
|
57
|
+
why: viewer.reasons.join(" ")
|
|
58
|
+
}));
|
|
59
|
+
}
|
|
60
|
+
function audienceNamesOf(adSets, audiences) {
|
|
61
|
+
const refs = adSets.flatMap((adSet) => {
|
|
62
|
+
const targeting = adSet.targeting ?? {};
|
|
63
|
+
return [targeting.custom_audiences, targeting.excluded_custom_audiences].flatMap(
|
|
64
|
+
(list) => Array.isArray(list) ? list.map((ref) => ref?.name) : []
|
|
65
|
+
);
|
|
66
|
+
});
|
|
67
|
+
return [...refs, ...audiences.map((a) => a.name)].filter((n) => typeof n === "string" && n.length > 0);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
export {
|
|
71
|
+
readAudienceNames,
|
|
72
|
+
adSetViewerRows,
|
|
73
|
+
VIEWER_TABLE_COLUMNS,
|
|
74
|
+
flattenViewerRows,
|
|
75
|
+
audienceNamesOf
|
|
76
|
+
};
|
|
77
|
+
//# sourceMappingURL=chunk-G6XKD7QE.js.map
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ACTION_TEMP_ID_PREFIX
|
|
3
|
+
} from "./chunk-DAO63OOP.js";
|
|
4
|
+
import {
|
|
5
|
+
ApiError
|
|
6
|
+
} from "./chunk-XDZVBX6L.js";
|
|
7
|
+
import {
|
|
8
|
+
writeJson
|
|
9
|
+
} from "./chunk-WNSE7N75.js";
|
|
10
|
+
|
|
11
|
+
// src/commands/actions/tagError.ts
|
|
12
|
+
var UNKNOWN_TAG_RE = /Unknown action tag\(s\): ([^.]+)\. Valid tags: ([^.]+)\./;
|
|
13
|
+
function splitSlugs(list) {
|
|
14
|
+
return list.split(",").map((slug) => slug.trim()).filter((slug) => slug.length > 0);
|
|
15
|
+
}
|
|
16
|
+
function actionTagFix(message) {
|
|
17
|
+
const match = UNKNOWN_TAG_RE.exec(message);
|
|
18
|
+
if (!match) {
|
|
19
|
+
return null;
|
|
20
|
+
}
|
|
21
|
+
const [, unknownList, validList] = match;
|
|
22
|
+
const unknownTags = splitSlugs(unknownList ?? "");
|
|
23
|
+
const validTags = splitSlugs(validList ?? "");
|
|
24
|
+
const first = unknownTags[0];
|
|
25
|
+
if (first === void 0 || validTags.length === 0) {
|
|
26
|
+
return null;
|
|
27
|
+
}
|
|
28
|
+
return {
|
|
29
|
+
action: "retry_with_a_valid_tag",
|
|
30
|
+
explanation: `The tag(s) ${unknownTags.join(", ")} are not in this company's taxonomy. \`validTags\` below is the complete accepted set \u2014 pick from it and re-run the same command. Only mint a new tag when none of them names this work; a near-duplicate of an existing tag splits the backlog's filter instead of extending it.`,
|
|
31
|
+
unknownTags,
|
|
32
|
+
validTags,
|
|
33
|
+
mintCommand: `baker actions tags create --slug ${first} --description "<what ${first} groups>"`,
|
|
34
|
+
listCommand: "baker actions tags list"
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// src/commands/actions/shared.ts
|
|
39
|
+
function writeOk(data) {
|
|
40
|
+
writeJson({ ok: true, data: data ?? null });
|
|
41
|
+
}
|
|
42
|
+
function failValidation(message) {
|
|
43
|
+
writeJson({ ok: false, error: { code: "VALIDATION_ERROR", message } });
|
|
44
|
+
process.exit(1);
|
|
45
|
+
}
|
|
46
|
+
function failApi(err) {
|
|
47
|
+
if (err instanceof ApiError) {
|
|
48
|
+
const fix = actionTagFix(err.message);
|
|
49
|
+
writeJson({ ok: false, error: { code: err.code, message: err.message, ...fix ? { fix } : {} } });
|
|
50
|
+
process.exit(1);
|
|
51
|
+
}
|
|
52
|
+
if (err instanceof Error) {
|
|
53
|
+
writeJson({ ok: false, error: { code: "INTERNAL_ERROR", message: err.message } });
|
|
54
|
+
process.exit(1);
|
|
55
|
+
}
|
|
56
|
+
writeJson({ ok: false, error: { code: "INTERNAL_ERROR", message: "Unexpected error" } });
|
|
57
|
+
process.exit(1);
|
|
58
|
+
}
|
|
59
|
+
function generateTempId() {
|
|
60
|
+
return `${ACTION_TEMP_ID_PREFIX}${Date.now().toString(36)}_${Math.random().toString(36).slice(2, 10)}`;
|
|
61
|
+
}
|
|
62
|
+
function isTempId(id) {
|
|
63
|
+
return id.startsWith(ACTION_TEMP_ID_PREFIX);
|
|
64
|
+
}
|
|
65
|
+
function parseTagList(value) {
|
|
66
|
+
if (typeof value !== "string") {
|
|
67
|
+
return void 0;
|
|
68
|
+
}
|
|
69
|
+
const tags = value.split(",").map((t) => t.trim()).filter((t) => t.length > 0);
|
|
70
|
+
return [...new Set(tags)];
|
|
71
|
+
}
|
|
72
|
+
var ACTION_PRIORITIES = ["urgent", "high", "medium", "low"];
|
|
73
|
+
function parsePriority(value, { allowClear }) {
|
|
74
|
+
if (value === void 0) {
|
|
75
|
+
return void 0;
|
|
76
|
+
}
|
|
77
|
+
if (typeof value !== "string") {
|
|
78
|
+
failValidation(
|
|
79
|
+
`--priority must be one of: ${ACTION_PRIORITIES.join(", ")}${allowClear ? ", or 'none' to clear" : ""}.`
|
|
80
|
+
);
|
|
81
|
+
}
|
|
82
|
+
const trimmed = value.trim().toLowerCase();
|
|
83
|
+
if (trimmed === "") {
|
|
84
|
+
if (allowClear) {
|
|
85
|
+
return null;
|
|
86
|
+
}
|
|
87
|
+
return void 0;
|
|
88
|
+
}
|
|
89
|
+
if (allowClear && (trimmed === "none" || trimmed === "clear")) {
|
|
90
|
+
return null;
|
|
91
|
+
}
|
|
92
|
+
if (ACTION_PRIORITIES.includes(trimmed)) {
|
|
93
|
+
return trimmed;
|
|
94
|
+
}
|
|
95
|
+
failValidation(
|
|
96
|
+
`Unknown --priority "${value}". Expected one of: ${ACTION_PRIORITIES.join(", ")}${allowClear ? ", or 'none' to clear" : ""}.`
|
|
97
|
+
);
|
|
98
|
+
}
|
|
99
|
+
var FAN_OUT_NUDGE_THRESHOLD = 2;
|
|
100
|
+
var FAN_OUT_THRESHOLD = 3;
|
|
101
|
+
function buildCreateHints({
|
|
102
|
+
advisory,
|
|
103
|
+
description,
|
|
104
|
+
tempId,
|
|
105
|
+
tags,
|
|
106
|
+
prioritySet,
|
|
107
|
+
draftCreateCount
|
|
108
|
+
}) {
|
|
109
|
+
const hints = [];
|
|
110
|
+
if (advisory) {
|
|
111
|
+
hints.push(
|
|
112
|
+
`${advisory.hint} If nothing actually blocks it: baker actions draft remove ${tempId}, then do the work.`
|
|
113
|
+
);
|
|
114
|
+
}
|
|
115
|
+
if (draftCreateCount >= FAN_OUT_THRESHOLD) {
|
|
116
|
+
hints.push(
|
|
117
|
+
`${draftCreateCount} Tasks are staged in this chat. Re-read them with \`baker actions draft\`: can any be done now with a surface you already have, and do any two touch the same system (same container, same campaign, same page)? Those belong in ONE Task \u2014 fold them together with \`baker actions update\` and drop the extras with \`baker actions draft remove <tempId>\`.`
|
|
118
|
+
);
|
|
119
|
+
} else if (draftCreateCount === FAN_OUT_NUDGE_THRESHOLD) {
|
|
120
|
+
hints.push(
|
|
121
|
+
`Second Task staged in this chat. If these two land on the same system (same container, same campaign, same page) they are ONE Task \u2014 fold them with \`baker actions update\` and drop the extra with \`baker actions draft remove ${tempId}\`.`
|
|
122
|
+
);
|
|
123
|
+
}
|
|
124
|
+
hints.push(`Link dependencies: baker actions link --blocker <id> --blocked ${tempId}`);
|
|
125
|
+
if (!description) {
|
|
126
|
+
hints.push("Add description: baker actions update <tempId> --description '...' (what/why/where/done-when)");
|
|
127
|
+
}
|
|
128
|
+
if (!tags || tags.length === 0) {
|
|
129
|
+
hints.push(
|
|
130
|
+
"MISSING --tags. This action is invisible to the backlog's tag filter. Re-run with --tags <slug,...> (`baker actions tags list` for the taxonomy, `baker actions tags create --slug <slug>` to mint) \u2014 or `baker actions update <tempId> --tags <slug,...>`."
|
|
131
|
+
);
|
|
132
|
+
}
|
|
133
|
+
if (!prioritySet) {
|
|
134
|
+
hints.push(
|
|
135
|
+
`MISSING --priority. Without it this action ranks as 'normal' (medium) in the do-first ordering, so urgent/high client work won't surface first. Re-run with --priority ${ACTION_PRIORITIES.join("|")} \u2014 or \`baker actions update <tempId> --priority <level>\`.`
|
|
136
|
+
);
|
|
137
|
+
}
|
|
138
|
+
return hints;
|
|
139
|
+
}
|
|
140
|
+
var ACTIONS_LIST_DEFAULT_LIMIT = 500;
|
|
141
|
+
function buildListHints({ returned, limit }) {
|
|
142
|
+
if (returned < limit) {
|
|
143
|
+
return [];
|
|
144
|
+
}
|
|
145
|
+
return [
|
|
146
|
+
`This list is capped at ${limit} Tasks and came back full, so older Tasks exist that are NOT shown. Do not treat it as the whole backlog \u2014 re-run with --limit ${limit * 2} (or narrow with --status / --search).`
|
|
147
|
+
];
|
|
148
|
+
}
|
|
149
|
+
function buildGetHints(detail) {
|
|
150
|
+
if (detail?.action.status !== "pending" || detail.activeChat !== null) {
|
|
151
|
+
return [];
|
|
152
|
+
}
|
|
153
|
+
return [
|
|
154
|
+
`If you are working on this Task in this chat, claim it first so the Tasks page shows it in progress: baker actions claim ${detail.action._id}`
|
|
155
|
+
];
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
export {
|
|
159
|
+
writeOk,
|
|
160
|
+
failValidation,
|
|
161
|
+
failApi,
|
|
162
|
+
generateTempId,
|
|
163
|
+
isTempId,
|
|
164
|
+
parseTagList,
|
|
165
|
+
ACTION_PRIORITIES,
|
|
166
|
+
parsePriority,
|
|
167
|
+
buildCreateHints,
|
|
168
|
+
ACTIONS_LIST_DEFAULT_LIMIT,
|
|
169
|
+
buildListHints,
|
|
170
|
+
buildGetHints
|
|
171
|
+
};
|
|
172
|
+
//# sourceMappingURL=chunk-GBFL4TD2.js.map
|
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
import {
|
|
2
|
+
nodeParamsPreview
|
|
3
|
+
} from "./chunk-C7NWUCLQ.js";
|
|
4
|
+
import {
|
|
5
|
+
creativeSlugFromCanvasPath
|
|
6
|
+
} from "./chunk-ZJSGGJ5R.js";
|
|
7
|
+
import {
|
|
8
|
+
parseDefinitionDelivery,
|
|
9
|
+
parseDefinitionSeriesPlace,
|
|
10
|
+
parseDefinitionSourceFields,
|
|
11
|
+
parseDefinitionStrategyFields,
|
|
12
|
+
prepareCanvas
|
|
13
|
+
} from "./chunk-YLYXSJ6O.js";
|
|
14
|
+
import {
|
|
15
|
+
BackendClient
|
|
16
|
+
} from "./chunk-JVH5A3XC.js";
|
|
17
|
+
import {
|
|
18
|
+
nodeDependencies
|
|
19
|
+
} from "./chunk-JQH5VG6F.js";
|
|
20
|
+
import {
|
|
21
|
+
requireCredentialsFromEnv
|
|
22
|
+
} from "./chunk-2FSEESJU.js";
|
|
23
|
+
|
|
24
|
+
// src/commands/canvas/sync-definition.ts
|
|
25
|
+
import { readdir, readFile, stat } from "fs/promises";
|
|
26
|
+
import path from "path";
|
|
27
|
+
import { parseDocument } from "yaml";
|
|
28
|
+
import { defineCommand } from "citty";
|
|
29
|
+
|
|
30
|
+
// src/commands/canvas/definition-graph.ts
|
|
31
|
+
var MAX_NODES = 300;
|
|
32
|
+
var PREVIEWABLE_INGEST_EXPECTS = /* @__PURE__ */ new Set(["image"]);
|
|
33
|
+
function nodeInputPreviewUrl(type, params) {
|
|
34
|
+
if (type !== "ingest" || !params || typeof params !== "object") return void 0;
|
|
35
|
+
const p = params;
|
|
36
|
+
if (p.source !== "url" || typeof p.url !== "string") return void 0;
|
|
37
|
+
if (!/^https?:\/\//i.test(p.url)) return void 0;
|
|
38
|
+
if (typeof p.expect === "string" && !PREVIEWABLE_INGEST_EXPECTS.has(p.expect)) return void 0;
|
|
39
|
+
return p.url;
|
|
40
|
+
}
|
|
41
|
+
function canvasToDefinitionGraph(canvas) {
|
|
42
|
+
const rawNodes = canvas?.nodes;
|
|
43
|
+
if (!Array.isArray(rawNodes)) return null;
|
|
44
|
+
const parsed = [];
|
|
45
|
+
for (const raw of rawNodes) {
|
|
46
|
+
const id = raw?.id;
|
|
47
|
+
const type = raw?.type;
|
|
48
|
+
if (typeof id !== "string" || typeof type !== "string") continue;
|
|
49
|
+
parsed.push({ id, type, inputs: raw.inputs, params: raw.params });
|
|
50
|
+
if (parsed.length >= MAX_NODES) break;
|
|
51
|
+
}
|
|
52
|
+
if (parsed.length === 0) return null;
|
|
53
|
+
const ids = new Set(parsed.map((n) => n.id));
|
|
54
|
+
const nodes = parsed.map(({ id, type, inputs, params }) => {
|
|
55
|
+
const deps = nodeDependencies({ id, inputs, params }, ids);
|
|
56
|
+
deps.delete(id);
|
|
57
|
+
const depList = [...deps];
|
|
58
|
+
const paramsPreview = nodeParamsPreview(params, depList);
|
|
59
|
+
const base = { id, type };
|
|
60
|
+
if (depList.length > 0) base.deps = depList;
|
|
61
|
+
if (paramsPreview) base.paramsPreview = paramsPreview;
|
|
62
|
+
const inputPreviewUrl = nodeInputPreviewUrl(type, params);
|
|
63
|
+
if (inputPreviewUrl) base.inputPreviewUrl = inputPreviewUrl;
|
|
64
|
+
return base;
|
|
65
|
+
});
|
|
66
|
+
const rawOutput = canvas?.output;
|
|
67
|
+
const outNode = rawOutput?.node;
|
|
68
|
+
const outSlot = rawOutput?.output;
|
|
69
|
+
const output = typeof outNode === "string" && typeof outSlot === "string" ? { node: outNode, output: outSlot } : void 0;
|
|
70
|
+
return { nodes, output };
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
// src/commands/canvas/sync-definition.ts
|
|
74
|
+
function buildDefinitionSyncPayload(input, graph, chatId) {
|
|
75
|
+
const { canvas: _canvas, ...fields } = input;
|
|
76
|
+
return Object.fromEntries([
|
|
77
|
+
...Object.entries(fields).filter(([, v]) => v !== void 0),
|
|
78
|
+
["graph", graph],
|
|
79
|
+
["chatId", chatId]
|
|
80
|
+
]);
|
|
81
|
+
}
|
|
82
|
+
async function readDefinitionSourceFields(canvasPath) {
|
|
83
|
+
try {
|
|
84
|
+
return parseDefinitionSourceFields(await readFile(path.join(path.dirname(canvasPath), "_definition.md"), "utf8"));
|
|
85
|
+
} catch {
|
|
86
|
+
return {};
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
async function readDefinitionPlatforms(canvasPath) {
|
|
90
|
+
const raw = await readFile(path.join(path.dirname(canvasPath), "_definition.md"), "utf8").catch(() => null);
|
|
91
|
+
const delivery = raw === null ? null : parseDefinitionDelivery(raw);
|
|
92
|
+
return delivery ? { platforms: delivery.platforms ?? null } : {};
|
|
93
|
+
}
|
|
94
|
+
async function readDefinitionBody(canvasPath) {
|
|
95
|
+
try {
|
|
96
|
+
return { definition: await readFile(path.join(path.dirname(canvasPath), "_definition.md"), "utf8") };
|
|
97
|
+
} catch {
|
|
98
|
+
return {};
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
async function readDefinitionTitle(canvasPath) {
|
|
102
|
+
try {
|
|
103
|
+
const raw = await readFile(path.join(path.dirname(canvasPath), "_definition.md"), "utf8");
|
|
104
|
+
const match = raw.match(/^---\r?\n([\s\S]*?\r?\n)?---/);
|
|
105
|
+
const doc = match ? parseDocument(match[1] ?? "") : null;
|
|
106
|
+
const title = doc && doc.errors.length === 0 ? doc.get("title") : void 0;
|
|
107
|
+
return typeof title === "string" && title.trim() ? title.trim() : void 0;
|
|
108
|
+
} catch {
|
|
109
|
+
return void 0;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
async function readDefinitionStrategyFields(canvasPath) {
|
|
113
|
+
try {
|
|
114
|
+
return parseDefinitionStrategyFields(await readFile(path.join(path.dirname(canvasPath), "_definition.md"), "utf8"));
|
|
115
|
+
} catch {
|
|
116
|
+
return {};
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
async function readDefinitionSeriesPlace(canvasPath) {
|
|
120
|
+
try {
|
|
121
|
+
return parseDefinitionSeriesPlace(await readFile(path.join(path.dirname(canvasPath), "_definition.md"), "utf8")) ?? {};
|
|
122
|
+
} catch {
|
|
123
|
+
return {};
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
async function syncCreativeDefinitionBestEffort(input) {
|
|
127
|
+
const chatId = process.env.BAKER_CHAT_ID;
|
|
128
|
+
if (!chatId) return;
|
|
129
|
+
const graph = canvasToDefinitionGraph(input.canvas);
|
|
130
|
+
if (!graph || graph.nodes.length === 0) return;
|
|
131
|
+
try {
|
|
132
|
+
const creds = requireCredentialsFromEnv();
|
|
133
|
+
const client = new BackendClient({ baseUrl: creds.url, apiKey: creds.apiKey });
|
|
134
|
+
await client.syncCreativeDefinition(buildDefinitionSyncPayload(input, graph, chatId));
|
|
135
|
+
process.stdout.write(`[definition] synced workflow graph (${graph.nodes.length} nodes) \u2014 view it in the dashboard
|
|
136
|
+
`);
|
|
137
|
+
} catch (e) {
|
|
138
|
+
const msg = e instanceof Error ? e.message : String(e);
|
|
139
|
+
process.stderr.write(`[warn] workflow graph not synced (${msg})
|
|
140
|
+
`);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
async function resolveCanvasPath(inputPath) {
|
|
144
|
+
const resolved = path.resolve(inputPath);
|
|
145
|
+
let dir = resolved;
|
|
146
|
+
try {
|
|
147
|
+
if ((await stat(resolved)).isFile()) {
|
|
148
|
+
if (resolved.endsWith(".canvas.json")) return resolved;
|
|
149
|
+
dir = path.dirname(resolved);
|
|
150
|
+
}
|
|
151
|
+
} catch {
|
|
152
|
+
dir = resolved.endsWith(".canvas.json") ? path.dirname(resolved) : resolved;
|
|
153
|
+
}
|
|
154
|
+
let entries;
|
|
155
|
+
try {
|
|
156
|
+
entries = await readdir(dir);
|
|
157
|
+
} catch {
|
|
158
|
+
return null;
|
|
159
|
+
}
|
|
160
|
+
const canvases = entries.filter((name) => name.endsWith(".canvas.json"));
|
|
161
|
+
const slug = creativeSlugFromCanvasPath(`${dir}/x/`);
|
|
162
|
+
const chosen = (slug ? canvases.find((name) => name === `${slug}.canvas.json`) : void 0) ?? canvases[0];
|
|
163
|
+
return chosen ? path.join(dir, chosen) : null;
|
|
164
|
+
}
|
|
165
|
+
var syncDefinitionCommand = defineCommand({
|
|
166
|
+
meta: {
|
|
167
|
+
name: "sync-definition",
|
|
168
|
+
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."
|
|
169
|
+
},
|
|
170
|
+
args: {
|
|
171
|
+
file: {
|
|
172
|
+
type: "positional",
|
|
173
|
+
required: true,
|
|
174
|
+
description: "A path under src/creatives/<slug>/ (the .canvas.json, its prompt.json, or the folder)"
|
|
175
|
+
},
|
|
176
|
+
title: {
|
|
177
|
+
type: "boolean",
|
|
178
|
+
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."
|
|
179
|
+
}
|
|
180
|
+
},
|
|
181
|
+
async run({ args }) {
|
|
182
|
+
const canvasPath = await resolveCanvasPath(String(args.file));
|
|
183
|
+
if (!canvasPath) {
|
|
184
|
+
return;
|
|
185
|
+
}
|
|
186
|
+
const slug = creativeSlugFromCanvasPath(canvasPath);
|
|
187
|
+
if (!slug) return;
|
|
188
|
+
let canvas;
|
|
189
|
+
let sourceSha;
|
|
190
|
+
try {
|
|
191
|
+
const prepared = await prepareCanvas(canvasPath, { write: false });
|
|
192
|
+
canvas = prepared.fileGraph;
|
|
193
|
+
sourceSha = prepared.sourceSha;
|
|
194
|
+
} catch {
|
|
195
|
+
return;
|
|
196
|
+
}
|
|
197
|
+
const title = args.title ? await readDefinitionTitle(canvasPath) : void 0;
|
|
198
|
+
await syncCreativeDefinitionBestEffort({
|
|
199
|
+
slug,
|
|
200
|
+
canvas,
|
|
201
|
+
sourceSha,
|
|
202
|
+
...title ? { title } : {},
|
|
203
|
+
...await readDefinitionSourceFields(canvasPath),
|
|
204
|
+
...await readDefinitionStrategyFields(canvasPath),
|
|
205
|
+
...await readDefinitionSeriesPlace(canvasPath),
|
|
206
|
+
...await readDefinitionPlatforms(canvasPath),
|
|
207
|
+
...await readDefinitionBody(canvasPath)
|
|
208
|
+
});
|
|
209
|
+
}
|
|
210
|
+
});
|
|
211
|
+
|
|
212
|
+
export {
|
|
213
|
+
buildDefinitionSyncPayload,
|
|
214
|
+
readDefinitionSourceFields,
|
|
215
|
+
readDefinitionPlatforms,
|
|
216
|
+
readDefinitionBody,
|
|
217
|
+
readDefinitionTitle,
|
|
218
|
+
readDefinitionStrategyFields,
|
|
219
|
+
readDefinitionSeriesPlace,
|
|
220
|
+
syncCreativeDefinitionBestEffort,
|
|
221
|
+
resolveCanvasPath,
|
|
222
|
+
syncDefinitionCommand
|
|
223
|
+
};
|
|
224
|
+
//# sourceMappingURL=chunk-H5SCKWFT.js.map
|