@koda-sl/baker-cli 0.458.0 → 0.459.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/dist/account-7Q3SWFEQ.js +78 -0
- package/dist/account-7Q3SWFEQ.js.map +1 -0
- package/dist/account-IRGRKYJY.js +80 -0
- package/dist/account-Y355AWQZ.js +49 -0
- package/dist/account-reads-76UWMB3T.js +218 -0
- package/dist/account-writes-G6B3D75J.js +66 -0
- package/dist/accounts-3EN57BBF.js +76 -0
- package/dist/accounts-3EN57BBF.js.map +1 -0
- package/dist/accounts-6BSNUSL2.js +115 -0
- package/dist/accounts-RFLO74GX.js +610 -0
- package/dist/accounts-RFLO74GX.js.map +1 -0
- package/dist/accounts-W3O34NIB.js +114 -0
- package/dist/accounts-ZCKOPY4V.js +75 -0
- package/dist/actions-SPJ7K3WP.js +55 -0
- package/dist/active-entities-OF34PSKJ.js +103 -0
- package/dist/activities-C5WK3MXQ.js +74 -0
- package/dist/ad-group-writes-NOJXE2SD.js +170 -0
- package/dist/ad-groups-YJQFLYXT.js +68 -0
- package/dist/ad-writes-NZITPMNK.js +174 -0
- package/dist/add-37RLQWXR.js +105 -0
- package/dist/add-BXTSVYMJ.js +97 -0
- package/dist/add-KREQCZ3B.js +103 -0
- package/dist/add-KREQCZ3B.js.map +1 -0
- package/dist/add-WFAYC64E.js +301 -0
- package/dist/add-WFAYC64E.js.map +1 -0
- package/dist/ads-4FVN7UTX.js +113 -0
- package/dist/ads-FZSPK3L7.js +77 -0
- package/dist/ads-KCIFEMF6.js +128 -0
- package/dist/ads-KCIFEMF6.js.map +1 -0
- package/dist/ads-YYVMBTMC.js +40 -0
- package/dist/adsets-I35MU53T.js +176 -0
- package/dist/advertisers-6C3JWMFN.js +125 -0
- package/dist/advertisers-S4YJJF36.js +119 -0
- package/dist/advertisers-S4YJJF36.js.map +1 -0
- package/dist/analytics-7XFTQHRQ.js +432 -0
- package/dist/analytics-7XFTQHRQ.js.map +1 -0
- package/dist/analytics-FTAYYC7B.js +1975 -0
- package/dist/analytics-FTAYYC7B.js.map +1 -0
- package/dist/animate-BZZ4PRNK.js +480 -0
- package/dist/assign-DS6P23RY.js +76 -0
- package/dist/assign-DS6P23RY.js.map +1 -0
- package/dist/audience-size-BFRNMLRD.js +93 -0
- package/dist/audience-size-BFRNMLRD.js.map +1 -0
- package/dist/audiences-57Z5DJ3C.js +78 -0
- package/dist/audiences-ALMKJXOE.js +85 -0
- package/dist/audiences-QEFTSR3A.js +268 -0
- package/dist/audit-4ODYNTLU.js +88 -0
- package/dist/audit-5FREWHG6.js +150 -0
- package/dist/audit-5FREWHG6.js.map +1 -0
- package/dist/autocomplete-CJMIVLXG.js +110 -0
- package/dist/autocomplete-CJMIVLXG.js.map +1 -0
- package/dist/avatars-D7RH6FQK.js +38 -0
- package/dist/bid-pricing-WEVFA3ZV.js +98 -0
- package/dist/bid-pricing-WEVFA3ZV.js.map +1 -0
- package/dist/brand-GON2DGDG.js +22 -0
- package/dist/brief-5ZXJG52M.js +490 -0
- package/dist/brief-5ZXJG52M.js.map +1 -0
- package/dist/businesses-U7V7D5O4.js +53 -0
- package/dist/campaign-groups-PRIQBLMQ.js +94 -0
- package/dist/campaign-groups-PRIQBLMQ.js.map +1 -0
- package/dist/campaign-writes-2URYK37Q.js +170 -0
- package/dist/campaign-writes-UYRSROW5.js +164 -0
- package/dist/campaign-writes-UYRSROW5.js.map +1 -0
- package/dist/campaigns-ENPXM4OI.js +110 -0
- package/dist/campaigns-IUPJX5EL.js +76 -0
- package/dist/campaigns-V66PVG7T.js +107 -0
- package/dist/campaigns-YRSLVSCL.js +108 -0
- package/dist/campaigns-YRSLVSCL.js.map +1 -0
- package/dist/canvas-BJQ556BB.js +46 -0
- package/dist/capabilities-WR5B364T.js +143 -0
- package/dist/capabilities-WR5B364T.js.map +1 -0
- package/dist/cards-5TOCOH5L.js +85 -0
- package/dist/catalog-7GPT7ZNH.js +65 -0
- package/dist/catalogs-I6PRBCEX.js +128 -0
- package/dist/changes-KSTSKL7T.js +135 -0
- package/dist/chatgpt-Y3UXQIRV.js +47 -0
- package/dist/chats-4ZTDTK7O.js +261 -0
- package/dist/chats-4ZTDTK7O.js.map +1 -0
- package/dist/chunk-2J5N24NW.js +98 -0
- package/dist/chunk-2WXLB66I.js +169 -0
- package/dist/chunk-2YK5XCY2.js +197 -0
- package/dist/chunk-2ZRSQDXR.js +160 -0
- package/dist/chunk-3GO6OOUD.js +474 -0
- package/dist/chunk-3L4P5X7N.js +75 -0
- package/dist/chunk-3XA4JVMY.js +454 -0
- package/dist/chunk-44RWJ33Z.js +74 -0
- package/dist/chunk-4AK4BUJR.js +191 -0
- package/dist/chunk-4EKRZKPX.js +84 -0
- package/dist/chunk-4RARCMPM.js +4410 -0
- package/dist/chunk-6MUPGGQ3.js +592 -0
- package/dist/chunk-6NS5HQUZ.js +74 -0
- package/dist/chunk-7VCD55XF.js +1599 -0
- package/dist/chunk-AINDZHQQ.js +225 -0
- package/dist/chunk-AUDVLNMT.js +172 -0
- package/dist/chunk-B7GQ4YUK.js +1830 -0
- package/dist/chunk-BABISVOU.js +74 -0
- package/dist/chunk-BBJWIA7F.js +159 -0
- package/dist/chunk-CE6IE364.js +215 -0
- package/dist/chunk-CL2X6KB5.js +846 -0
- package/dist/chunk-CUJ2F472.js +31 -0
- package/dist/chunk-DMXNT47S.js +136 -0
- package/dist/chunk-DQZEJV3K.js +494 -0
- package/dist/chunk-E5EJRF7J.js +139 -0
- package/dist/chunk-EHXZDWAE.js +25 -0
- package/dist/chunk-EPQXF3JZ.js +58 -0
- package/dist/chunk-FH23H72G.js +111 -0
- package/dist/chunk-FZT2UQF2.js +819 -0
- package/dist/chunk-GM4EDUTF.js +76 -0
- package/dist/chunk-HSAPEQBP.js +509 -0
- package/dist/chunk-I2HHXYRN.js +304 -0
- package/dist/chunk-IDORRX5W.js +275 -0
- package/dist/chunk-IFT6ID4T.js +28 -0
- package/dist/chunk-IK56IWZC.js +333 -0
- package/dist/chunk-IRUUPYCH.js +5189 -0
- package/dist/chunk-ITWB62LG.js +610 -0
- package/dist/chunk-IUPS2OYL.js +346 -0
- package/dist/chunk-J2UCNSRR.js +665 -0
- package/dist/chunk-JBDX74X5.js +1711 -0
- package/dist/chunk-JE2MELTY.js +19 -0
- package/dist/chunk-KDW5DT5B.js +297 -0
- package/dist/chunk-L4TPZLDW.js +45 -0
- package/dist/chunk-LFNVHAF3.js +172 -0
- package/dist/chunk-LLEF2Q66.js +486 -0
- package/dist/chunk-LXBRJNIB.js +337 -0
- package/dist/chunk-M2746TPS.js +207 -0
- package/dist/chunk-M6VLLYN2.js +98 -0
- package/dist/chunk-MD3B6MTI.js +103 -0
- package/dist/chunk-ME76DRT3.js +149 -0
- package/dist/chunk-MQEA2YZZ.js +96 -0
- package/dist/chunk-MQW4DEQD.js +382 -0
- package/dist/chunk-MWOIESOS.js +60 -0
- package/dist/chunk-NQGRCWKN.js +541 -0
- package/dist/chunk-NUHMHZTZ.js +214 -0
- package/dist/chunk-OAYHDIW2.js +309 -0
- package/dist/chunk-OB6QMAE3.js +84 -0
- package/dist/chunk-P2I4FSVO.js +188 -0
- package/dist/chunk-PSRKQJ6Y.js +125 -0
- package/dist/chunk-QDG5N7JH.js +106 -0
- package/dist/chunk-QNEKQWJS.js +175 -0
- package/dist/chunk-QZTIAVYI.js +274 -0
- package/dist/chunk-RGI7YZ6K.js +174 -0
- package/dist/chunk-S4EYRHCD.js +136 -0
- package/dist/chunk-SKAB7IBX.js +97 -0
- package/dist/chunk-SKXCU3XX.js +533 -0
- package/dist/chunk-SKXCU3XX.js.map +1 -0
- package/dist/chunk-SRAMULKE.js +67 -0
- package/dist/chunk-SXIPXBL2.js +96 -0
- package/dist/chunk-T6N4L5L5.js +65 -0
- package/dist/chunk-T7Q4SWW4.js +3153 -0
- package/dist/chunk-TD4PVILC.js +92 -0
- package/dist/chunk-TII4OUSW.js +42 -0
- package/dist/chunk-TU7DPHNP.js +6667 -0
- package/dist/chunk-TUYWBLHR.js +23 -0
- package/dist/chunk-UEQ4MZSP.js +51 -0
- package/dist/chunk-ULPPKJQH.js +296 -0
- package/dist/chunk-UMVRVX6L.js +76 -0
- package/dist/chunk-USFTTDIO.js +1965 -0
- package/dist/chunk-USFTTDIO.js.map +1 -0
- package/dist/chunk-UU6MRBKX.js +622 -0
- package/dist/chunk-VIZ5NYTI.js +94 -0
- package/dist/chunk-WAGMHPWG.js +455 -0
- package/dist/chunk-WCOZUD56.js +26 -0
- package/dist/chunk-WLRQPH3F.js +55 -0
- package/dist/chunk-WNP25LQF.js +46 -0
- package/dist/chunk-WSUZBTE6.js +1441 -0
- package/dist/chunk-WVABBPSH.js +166 -0
- package/dist/chunk-WZH3D2H7.js +106 -0
- package/dist/chunk-XF6OUF7E.js +363 -0
- package/dist/chunk-XN2OQQXR.js +23992 -0
- package/dist/chunk-XQITDMRD.js +133 -0
- package/dist/chunk-YZBQ4ACW.js +66 -0
- package/dist/chunk-ZH7F3M3L.js +56 -0
- package/dist/claim-IP7TW36G.js +196 -0
- package/dist/claim-IP7TW36G.js.map +1 -0
- package/dist/cli.js +36 -36
- package/dist/client-7ZMKIPDA.js +19 -0
- package/dist/code-T6ANPNY4.js +76 -0
- package/dist/companies-CVZSYR4I.js +194 -0
- package/dist/companies-CVZSYR4I.js.map +1 -0
- package/dist/complete-3EI3UAXO.js +80 -0
- package/dist/complete-3EI3UAXO.js.map +1 -0
- package/dist/config-4BUL56PU.js +88 -0
- package/dist/connect-OPAG6B4I.js +41 -0
- package/dist/content-627YHJUP.js +85 -0
- package/dist/conversation-DCV3XLVJ.js +92 -0
- package/dist/conversation-DCV3XLVJ.js.map +1 -0
- package/dist/conversion-report-5KFFJ2VU.js +125 -0
- package/dist/conversion-upload-command-JU6ZSJBV.js +438 -0
- package/dist/conversion-writes-RSCIEGWD.js +120 -0
- package/dist/conversions-YXBMEICL.js +134 -0
- package/dist/conversions-YXBMEICL.js.map +1 -0
- package/dist/conversions-ZODHC7RT.js +76 -0
- package/dist/countries-HKTPBBLQ.js +82 -0
- package/dist/create-PB7SQBVR.js +58 -0
- package/dist/create-PB7SQBVR.js.map +1 -0
- package/dist/create-POI3XUG4.js +206 -0
- package/dist/create-POI3XUG4.js.map +1 -0
- package/dist/create-UQT3B6RD.js +129 -0
- package/dist/create-UQT3B6RD.js.map +1 -0
- package/dist/create-W77RMT5Y.js +234 -0
- package/dist/create-W77RMT5Y.js.map +1 -0
- package/dist/creatives-G3L7TNF2.js +181 -0
- package/dist/creatives-G3L7TNF2.js.map +1 -0
- package/dist/creatives-KV3N6WGN.js +87 -0
- package/dist/creatives-NFKVUZE6.js +51 -0
- package/dist/credentials-ICIHZGMJ.js +286 -0
- package/dist/credentials-ICIHZGMJ.js.map +1 -0
- package/dist/critique-5ZBSMDQB.js +1448 -0
- package/dist/critique-5ZBSMDQB.js.map +1 -0
- package/dist/critique-WCTII73A.js +212 -0
- package/dist/critique-WCTII73A.js.map +1 -0
- package/dist/crm-37OBNSMQ.js +317 -0
- package/dist/crm-37OBNSMQ.js.map +1 -0
- package/dist/crm-WAYQIIPC.js +223 -0
- package/dist/crm-WAYQIIPC.js.map +1 -0
- package/dist/crop-JXBA435D.js +113 -0
- package/dist/currency-G3MQUET6.js +88 -0
- package/dist/custom-conversions-CKNJONBF.js +125 -0
- package/dist/customers-54DNP36T.js +55 -0
- package/dist/delete-5AE5ZXKZ.js +65 -0
- package/dist/delete-5AE5ZXKZ.js.map +1 -0
- package/dist/delete-DRIIOQVD.js +71 -0
- package/dist/delete-KEY72YMK.js +62 -0
- package/dist/delete-KEY72YMK.js.map +1 -0
- package/dist/delete-MJRH3R3P.js +69 -0
- package/dist/delete-UVCG2LTO.js +53 -0
- package/dist/delete-UVCG2LTO.js.map +1 -0
- package/dist/delete-ZO2NTIMH.js +71 -0
- package/dist/demographics-DFQAW2TZ.js +137 -0
- package/dist/demographics-DFQAW2TZ.js.map +1 -0
- package/dist/describe-2UB4CN5S.js +97 -0
- package/dist/describe-6744DROL.js +97 -0
- package/dist/dimensions-TZLKBZN7.js +101 -0
- package/dist/discard-N6IROZSY.js +65 -0
- package/dist/discard-N6IROZSY.js.map +1 -0
- package/dist/discover-73K5J5RJ.js +172 -0
- package/dist/domain-26HC6EFR.js +97 -0
- package/dist/domain-26HC6EFR.js.map +1 -0
- package/dist/download-FSZVKV5I.js +299 -0
- package/dist/draft-I33XVUQO.js +216 -0
- package/dist/draft-I33XVUQO.js.map +1 -0
- package/dist/draft-NWYVWHR4.js +103 -0
- package/dist/draft-OTEC5VNP.js +307 -0
- package/dist/draft-RVMSQTH6.js +233 -0
- package/dist/draft-TR6L3SUD.js +327 -0
- package/dist/draft-TR6L3SUD.js.map +1 -0
- package/dist/draft-XPUDO6BL.js +100 -0
- package/dist/draft-YTEETFEN.js +281 -0
- package/dist/draft-YXZHA6YH.js +305 -0
- package/dist/draft-YXZHA6YH.js.map +1 -0
- package/dist/engine/index.js +13 -13
- package/dist/env-CJCGNARF.js +43 -0
- package/dist/experiment-CBAGPNF4.js +1397 -0
- package/dist/export-5TK2LH7S.js +168 -0
- package/dist/extract-OP7YHID2.js +113 -0
- package/dist/facets-3XBOJEUW.js +113 -0
- package/dist/facets-3XBOJEUW.js.map +1 -0
- package/dist/favorites-S4ZT5JII.js +178 -0
- package/dist/feed-5U4RTYLR.js +179 -0
- package/dist/feedback-FRILY4XF.js +66 -0
- package/dist/feedback-record-T6JXOSAV.js +174 -0
- package/dist/feedback-record-T6JXOSAV.js.map +1 -0
- package/dist/fetch-E6SRZGRB.js +139 -0
- package/dist/fetch-ELCHOTCH.js +175 -0
- package/dist/fetch-ELCHOTCH.js.map +1 -0
- package/dist/find-KBXUSX2G.js +134 -0
- package/dist/fit-QBG3EXST.js +45 -0
- package/dist/flows-KGXKD2OV.js +246 -0
- package/dist/flows-KGXKD2OV.js.map +1 -0
- package/dist/follow-7JLLZBRN.js +80 -0
- package/dist/follow-7JLLZBRN.js.map +1 -0
- package/dist/follow-competitors-XNBHJAFQ.js +129 -0
- package/dist/follow-competitors-XNBHJAFQ.js.map +1 -0
- package/dist/following-AH24UDXY.js +113 -0
- package/dist/fonts-5OKN5H2C.js +33 -0
- package/dist/forecast-3KUCCPOJ.js +103 -0
- package/dist/forecast-3KUCCPOJ.js.map +1 -0
- package/dist/forecast-HDF4PALO.js +168 -0
- package/dist/funding-KGAE3LKV.js +85 -0
- package/dist/funnel-VSBJ5AZK.js +393 -0
- package/dist/funnel-VSBJ5AZK.js.map +1 -0
- package/dist/ga4-G5NBFPPT.js +55 -0
- package/dist/generate-HXE2MOAO.js +262 -0
- package/dist/get-2Q3FKYH7.js +63 -0
- package/dist/get-ALNQPO3F.js +59 -0
- package/dist/get-BLWUJWTJ.js +92 -0
- package/dist/get-BQYGOFSS.js +55 -0
- package/dist/get-BQYGOFSS.js.map +1 -0
- package/dist/get-OT3AANLU.js +61 -0
- package/dist/get-PFFST42A.js +63 -0
- package/dist/get-TMTKSZVG.js +77 -0
- package/dist/get-TMTKSZVG.js.map +1 -0
- package/dist/gif-QCH3FJHD.js +94 -0
- package/dist/google-5RM2V7PE.js +3190 -0
- package/dist/google-YQ5D4PB6.js +136 -0
- package/dist/google-ads-CJHPQ6ZB.js +194 -0
- package/dist/google-ads-CJHPQ6ZB.js.map +1 -0
- package/dist/group-CHOPV2I3.js +43 -0
- package/dist/group-KTFOHXGH.js +43 -0
- package/dist/gsc-35YVWJ4E.js +30 -0
- package/dist/history-7D3P5JDO.js +132 -0
- package/dist/history-7D3P5JDO.js.map +1 -0
- package/dist/history-Y4VNF5TU.js +67 -0
- package/dist/hubspot-NLHQKLH4.js +778 -0
- package/dist/hubspot-NLHQKLH4.js.map +1 -0
- package/dist/icon-WT2BZJ5G.js +137 -0
- package/dist/ideas-MT2NSIYS.js +31 -0
- package/dist/images-JFNAKV5U.js +90 -0
- package/dist/improve-4BN7ASFK.js +86 -0
- package/dist/ingest-JGVH4DZH.js +106 -0
- package/dist/ingest-JGVH4DZH.js.map +1 -0
- package/dist/ingest-XWWDPKPZ.js +22 -0
- package/dist/insights-2JRN53IF.js +423 -0
- package/dist/insights-Q3QN4YQ2.js +122 -0
- package/dist/inspect-FXUYLHPE.js +188 -0
- package/dist/inspect-FXUYLHPE.js.map +1 -0
- package/dist/inspiration-3MF6SN4M.js +53 -0
- package/dist/intent-4X76HZ4S.js +95 -0
- package/dist/job-IA7XUMHW.js +202 -0
- package/dist/job-create-A3YQCY4U.js +109 -0
- package/dist/job-status-56EON3DS.js +74 -0
- package/dist/keep-S6MJM5RW.js +78 -0
- package/dist/keyword-gap-JZQSQBCJ.js +130 -0
- package/dist/keyword-metrics-OWHQGCOD.js +196 -0
- package/dist/keyword-metrics-OWHQGCOD.js.map +1 -0
- package/dist/keywords-for-site-JPZUG65E.js +127 -0
- package/dist/keywords-for-site-JPZUG65E.js.map +1 -0
- package/dist/landing-T5X74INN.js +28 -0
- package/dist/landings-IBADDGX5.js +144 -0
- package/dist/landings-IBADDGX5.js.map +1 -0
- package/dist/languages-CVH5RLA3.js +40 -0
- package/dist/languages-OG5UB5HX.js +55 -0
- package/dist/launches-VA7F7VNW.js +108 -0
- package/dist/layerize-AD5QZ27N.js +190 -0
- package/dist/leads-MWLO42NZ.js +293 -0
- package/dist/leads-N43AJZ2A.js +89 -0
- package/dist/leads-N43AJZ2A.js.map +1 -0
- package/dist/learn-DF7MS7DH.js +202 -0
- package/dist/learn-DF7MS7DH.js.map +1 -0
- package/dist/library-JZWQF5LV.js +109 -0
- package/dist/lighthouse-PZVDR4V4.js +75 -0
- package/dist/line-item-writes-NLV2J5LT.js +207 -0
- package/dist/line-item-writes-NLV2J5LT.js.map +1 -0
- package/dist/line-items-U6W2WHK2.js +103 -0
- package/dist/link-TFWYRATB.js +63 -0
- package/dist/link-TFWYRATB.js.map +1 -0
- package/dist/linkedin-TOXNMGL5.js +1007 -0
- package/dist/linkedin-TOXNMGL5.js.map +1 -0
- package/dist/list-FHD6XLBG.js +50 -0
- package/dist/list-H77PTVSF.js +51 -0
- package/dist/list-JDJY55SE.js +76 -0
- package/dist/list-MIQZ6ARQ.js +302 -0
- package/dist/list-MIQZ6ARQ.js.map +1 -0
- package/dist/list-UZQ4J3GJ.js +62 -0
- package/dist/list-UZQ4J3GJ.js.map +1 -0
- package/dist/list-VP2FP2DZ.js +65 -0
- package/dist/list-Z44K4QN3.js +57 -0
- package/dist/list-ZWOILE3A.js +150 -0
- package/dist/list-ZWOILE3A.js.map +1 -0
- package/dist/locations-3PVEWKUN.js +40 -0
- package/dist/locations-KPB7YMY7.js +67 -0
- package/dist/log-LGOEQGH5.js +91 -0
- package/dist/log-LGOEQGH5.js.map +1 -0
- package/dist/logo-N7JOUSLF.js +18 -0
- package/dist/lookup-NTOAWVB7.js +22 -0
- package/dist/make-P6VL4GWO.js +633 -0
- package/dist/make-P6VL4GWO.js.map +1 -0
- package/dist/map-5Y367KMF.js +403 -0
- package/dist/map-5Y367KMF.js.map +1 -0
- package/dist/mcp-T6NHJX6O.js +462 -0
- package/dist/mcp-T6NHJX6O.js.map +1 -0
- package/dist/media-IZ4RDOGZ.js +15 -0
- package/dist/media-QNVOMX2L.js +89 -0
- package/dist/media-sources-ESDSKU77.js +32 -0
- package/dist/members-PKYLK6YN.js +43 -0
- package/dist/members-PKYLK6YN.js.map +1 -0
- package/dist/meta-P5CF3K3C.js +69 -0
- package/dist/metrics-DGEUY2UE.js +152 -0
- package/dist/models-KAAOFX22.js +155 -0
- package/dist/normalize-GTETIA76.js +140 -0
- package/dist/normalize-GTETIA76.js.map +1 -0
- package/dist/normalize-LC6FTTX2.js +806 -0
- package/dist/options-PJCPZWKV.js +120 -0
- package/dist/options-PJCPZWKV.js.map +1 -0
- package/dist/output-G3GBWY3I.js +24 -0
- package/dist/page-T27BIISC.js +105 -0
- package/dist/pages-Z7L65T4G.js +66 -0
- package/dist/performance-PIB64TCS.js +23 -0
- package/dist/pinterest-EGNWZUFU.js +96 -0
- package/dist/pixels-EXZO6PO7.js +108 -0
- package/dist/pixels-PK3NDJWX.js +60 -0
- package/dist/plan-2FBPAUNT.js +207 -0
- package/dist/preview-VON3MQGX.js +169 -0
- package/dist/profile-2UZLQUTP.js +131 -0
- package/dist/promoted-tweet-writes-OMUOQL2P.js +179 -0
- package/dist/promoted-tweet-writes-OMUOQL2P.js.map +1 -0
- package/dist/promoted-tweets-GHHCSHZU.js +119 -0
- package/dist/properties-TKJVTJWP.js +101 -0
- package/dist/publish-YCCZLTKN.js +321 -0
- package/dist/publish-YCCZLTKN.js.map +1 -0
- package/dist/query-E6G2FS4B.js +236 -0
- package/dist/query-IEJ6GDJT.js +61 -0
- package/dist/query-JDLAZAZB.js +247 -0
- package/dist/questionnaire-7TDP2OIX.js +93 -0
- package/dist/read-H3WO6TUB.js +141 -0
- package/dist/reddit-6U3NJUBN.js +25 -0
- package/dist/refresh-ZGUGIV4V.js +93 -0
- package/dist/refresh-ZGUGIV4V.js.map +1 -0
- package/dist/release-2DPMLDCF.js +59 -0
- package/dist/release-2DPMLDCF.js.map +1 -0
- package/dist/relevant-pages-E5IWT4JX.js +99 -0
- package/dist/remove-AKNVDNMY.js +49 -0
- package/dist/remove-AKNVDNMY.js.map +1 -0
- package/dist/remove-BNRKVQEW.js +48 -0
- package/dist/reopen-SDM64C4N.js +62 -0
- package/dist/reopen-SDM64C4N.js.map +1 -0
- package/dist/rerun-V4AMTVWG.js +84 -0
- package/dist/rerun-V4AMTVWG.js.map +1 -0
- package/dist/research-C6SQN5IV.js +261 -0
- package/dist/research-C6SQN5IV.js.map +1 -0
- package/dist/research-XRE3LGFO.js +62 -0
- package/dist/reset-G67E32S3.js +53 -0
- package/dist/reset-G67E32S3.js.map +1 -0
- package/dist/reset-GKF3PG5D.js +53 -0
- package/dist/reset-GKF3PG5D.js.map +1 -0
- package/dist/resolve-5LR4LNOX.js +120 -0
- package/dist/resolve-5LR4LNOX.js.map +1 -0
- package/dist/retry-YB2OHYYY.js +59 -0
- package/dist/retry-YB2OHYYY.js.map +1 -0
- package/dist/retry-YPLHXIDR.js +61 -0
- package/dist/retry-YPLHXIDR.js.map +1 -0
- package/dist/retry-failed-3DMGOEFM.js +45 -0
- package/dist/run-NK5LF3UC.js +59 -0
- package/dist/run-NWYMEPOI.js +64 -0
- package/dist/run-NWYMEPOI.js.map +1 -0
- package/dist/scaffold-ad-ZPHWORM7.js +1548 -0
- package/dist/scaffold-ad-ZPHWORM7.js.map +1 -0
- package/dist/scaffold-static-ad-TS42T3XI.js +971 -0
- package/dist/scaffold-static-ad-TS42T3XI.js.map +1 -0
- package/dist/scaffold-video-EY7LQHUY.js +872 -0
- package/dist/scaffold-video-EY7LQHUY.js.map +1 -0
- package/dist/schedule-5FHKONNU.js +60 -0
- package/dist/schedule-5FHKONNU.js.map +1 -0
- package/dist/schedule-EB3LSEUO.js +66 -0
- package/dist/scheduled-agents-UDH7LHT2.js +49 -0
- package/dist/schema-B6HPX7LD.js +131 -0
- package/dist/schema-B6HPX7LD.js.map +1 -0
- package/dist/schema-TSTEGRJ7.js +63 -0
- package/dist/scrape-VGSZS6SM.js +2241 -0
- package/dist/screenshot-NUVTRG3D.js +102 -0
- package/dist/search-265T7Y7G.js +92 -0
- package/dist/search-7XFVB6DH.js +26 -0
- package/dist/search-SOZ3HPIB.js +91 -0
- package/dist/search-UNYQXK6E.js +224 -0
- package/dist/search-ZPX5JOSI.js +173 -0
- package/dist/search-ZPX5JOSI.js.map +1 -0
- package/dist/search-copy-AKY73GKO.js +115 -0
- package/dist/seeds-FF6JTDIB.js +101 -0
- package/dist/select-43CHIWPI.js +93 -0
- package/dist/select-43CHIWPI.js.map +1 -0
- package/dist/sends-XOR6X3MW.js +309 -0
- package/dist/sequences-HJJTLSCV.js +146 -0
- package/dist/set-prompt-UTPNGH5C.js +185 -0
- package/dist/set-prompt-UTPNGH5C.js.map +1 -0
- package/dist/setup-links-W2CYPT3X.js +140 -0
- package/dist/setup-links-W2CYPT3X.js.map +1 -0
- package/dist/shared-NOT4U5P3.js +31 -0
- package/dist/site-MTXQAIMF.js +176 -0
- package/dist/site-MTXQAIMF.js.map +1 -0
- package/dist/sitemaps-GHFPKIGO.js +87 -0
- package/dist/sites-UGDJGEI4.js +101 -0
- package/dist/skills-RKCLARCX.js +47 -0
- package/dist/sources-RDRS6BKL.js +420 -0
- package/dist/sources-RDRS6BKL.js.map +1 -0
- package/dist/sources-ZQG5GKKC.js +30 -0
- package/dist/stale-LDDPU7U5.js +62 -0
- package/dist/stale-LDDPU7U5.js.map +1 -0
- package/dist/stats-RX67ANJJ.js +34 -0
- package/dist/status-ENQK53AS.js +61 -0
- package/dist/status-ENQK53AS.js.map +1 -0
- package/dist/sticker-FPIFV6J3.js +94 -0
- package/dist/stock-4BZVZYM5.js +179 -0
- package/dist/studio-6J4HFHKT.js +49 -0
- package/dist/sync-3XOV4JVW.js +54 -0
- package/dist/sync-ORAGCD3B.js +53 -0
- package/dist/sync-ORAGCD3B.js.map +1 -0
- package/dist/sync-XMQP4ASW.js +265 -0
- package/dist/sync-definition-IQ7LDTM2.js +52 -0
- package/dist/tag-manager-3FKPMUYJ.js +43 -0
- package/dist/tags-2JN5EFEM.js +223 -0
- package/dist/tags-2JN5EFEM.js.map +1 -0
- package/dist/tags-BT4U6UG2.js +19 -0
- package/dist/tags-BT4U6UG2.js.map +1 -0
- package/dist/tags-EEPRL747.js +26 -0
- package/dist/tags-EFBFX4RT.js +19 -0
- package/dist/tags-EFBFX4RT.js.map +1 -0
- package/dist/tags-ZN4AOY3F.js +19 -0
- package/dist/tags-ZN4AOY3F.js.map +1 -0
- package/dist/targeting-constants-T5SV3RBQ.js +118 -0
- package/dist/targeting-criteria-4CMZS63Y.js +113 -0
- package/dist/targets-6RCKH4KY.js +101 -0
- package/dist/targets-6RCKH4KY.js.map +1 -0
- package/dist/templates-H4EIQV6D.js +177 -0
- package/dist/templates-H4EIQV6D.js.map +1 -0
- package/dist/testimonials-HX7LCXEB.js +32 -0
- package/dist/themes-N3A5RRFO.js +94 -0
- package/dist/top-companies-7X23BKOG.js +107 -0
- package/dist/top-companies-7X23BKOG.js.map +1 -0
- package/dist/translate-A55Q7MGZ.js +597 -0
- package/dist/translate-A55Q7MGZ.js.map +1 -0
- package/dist/triggers-XKDF3ABP.js +140 -0
- package/dist/triggers-XKDF3ABP.js.map +1 -0
- package/dist/tweets-IR2HROMH.js +123 -0
- package/dist/unfollow-A7GRLMY2.js +46 -0
- package/dist/unlink-HITAQUFK.js +66 -0
- package/dist/unlink-HITAQUFK.js.map +1 -0
- package/dist/unstage-4UHFMQYC.js +83 -0
- package/dist/unstage-4UHFMQYC.js.map +1 -0
- package/dist/unstage-EY5GFBKG.js +95 -0
- package/dist/update-HO67FDTK.js +141 -0
- package/dist/update-HO67FDTK.js.map +1 -0
- package/dist/update-M2NPG4OC.js +154 -0
- package/dist/update-M2NPG4OC.js.map +1 -0
- package/dist/update-PBZSKQ2A.js +62 -0
- package/dist/update-PBZSKQ2A.js.map +1 -0
- package/dist/update-VH535NTO.js +97 -0
- package/dist/update-VH535NTO.js.map +1 -0
- package/dist/upload-GYJP3MTW.js +150 -0
- package/dist/upload-UQ5G7O5L.js +125 -0
- package/dist/upload-UQ5G7O5L.js.map +1 -0
- package/dist/upscale-IN7ONODV.js +109 -0
- package/dist/url-options-M2PRFR7P.js +130 -0
- package/dist/url-params-HGTPP2FP.js +97 -0
- package/dist/url-params-HGTPP2FP.js.map +1 -0
- package/dist/use-DRH3UODR.js +95 -0
- package/dist/validate-YSL4KA63.js +88 -0
- package/dist/validate-YSL4KA63.js.map +1 -0
- package/dist/variant-4JRLIUEF.js +338 -0
- package/dist/videos-M6OJINGL.js +39 -0
- package/dist/view-NKEOHFYX.js +121 -0
- package/dist/viewer-check-FVVKJROL.js +69 -0
- package/dist/web-YSFEOI53.js +139 -0
- package/dist/web-YSFEOI53.js.map +1 -0
- package/dist/winners-3QYUR4HE.js +113 -0
- package/dist/winning-ads-MCH5FYMT.js +79 -0
- package/dist/write-commands-24EXCNQQ.js +206 -0
- package/dist/write-commands-EXK4PK7F.js +1014 -0
- package/dist/write-commands-EXK4PK7F.js.map +1 -0
- package/dist/write-commands-K7UNX4CE.js +737 -0
- package/dist/write-commands-QQVMIG7U.js +713 -0
- package/dist/x-3CFDN2QM.js +47 -0
- package/package.json +1 -1
- package/dist/account-CZWMPCRJ.js +0 -79
- package/dist/account-CZWMPCRJ.js.map +0 -1
- package/dist/account-F2D257QB.js +0 -49
- package/dist/account-VGIKDAK3.js +0 -80
- package/dist/account-reads-OS6RLJFJ.js +0 -218
- package/dist/account-writes-7HZJWI5U.js +0 -66
- package/dist/accounts-25JDCWKR.js +0 -75
- package/dist/accounts-4IIILFLV.js +0 -115
- package/dist/accounts-6GNGCHU7.js +0 -77
- package/dist/accounts-6GNGCHU7.js.map +0 -1
- package/dist/accounts-X5MPAWZX.js +0 -114
- package/dist/accounts-Z45QINO4.js +0 -611
- package/dist/accounts-Z45QINO4.js.map +0 -1
- package/dist/actions-CLFWCFFA.js +0 -55
- package/dist/active-entities-V2K2S3UY.js +0 -103
- package/dist/activities-CUVZGTGA.js +0 -74
- package/dist/ad-group-writes-GG3BUQQY.js +0 -170
- package/dist/ad-groups-KRZ6YX7O.js +0 -68
- package/dist/ad-writes-YDMS7NPG.js +0 -174
- package/dist/add-7P4VYS7R.js +0 -302
- package/dist/add-7P4VYS7R.js.map +0 -1
- package/dist/add-BHLEFGCG.js +0 -97
- package/dist/add-LHAZ34ZF.js +0 -105
- package/dist/add-PC7YGO2Z.js +0 -104
- package/dist/add-PC7YGO2Z.js.map +0 -1
- package/dist/ads-5SGFPSQL.js +0 -113
- package/dist/ads-CP4VTPKO.js +0 -77
- package/dist/ads-FYSAF7HG.js +0 -130
- package/dist/ads-FYSAF7HG.js.map +0 -1
- package/dist/ads-Q54IPFAS.js +0 -40
- package/dist/adsets-4RXF4YXR.js +0 -176
- package/dist/advertisers-JDUAIACQ.js +0 -125
- package/dist/advertisers-LAIOXSCF.js +0 -120
- package/dist/advertisers-LAIOXSCF.js.map +0 -1
- package/dist/analytics-7M6JSC2C.js +0 -1976
- package/dist/analytics-7M6JSC2C.js.map +0 -1
- package/dist/analytics-7RGPJKUD.js +0 -433
- package/dist/analytics-7RGPJKUD.js.map +0 -1
- package/dist/animate-PYYWDHQ2.js +0 -480
- package/dist/assign-4UP6F6UX.js +0 -77
- package/dist/assign-4UP6F6UX.js.map +0 -1
- package/dist/audience-size-AYNVGVBR.js +0 -94
- package/dist/audience-size-AYNVGVBR.js.map +0 -1
- package/dist/audiences-6QF625VZ.js +0 -268
- package/dist/audiences-B2ZSJSOJ.js +0 -78
- package/dist/audiences-S6IHCG3G.js +0 -85
- package/dist/audit-43GSHWBO.js +0 -151
- package/dist/audit-43GSHWBO.js.map +0 -1
- package/dist/audit-IJUKCS2K.js +0 -88
- package/dist/autocomplete-YVP3WOFQ.js +0 -111
- package/dist/autocomplete-YVP3WOFQ.js.map +0 -1
- package/dist/avatars-O64BDZHC.js +0 -38
- package/dist/bid-pricing-GMEWVIQP.js +0 -99
- package/dist/bid-pricing-GMEWVIQP.js.map +0 -1
- package/dist/brand-W55FHWU6.js +0 -22
- package/dist/brief-QH7Z6QBP.js +0 -491
- package/dist/brief-QH7Z6QBP.js.map +0 -1
- package/dist/businesses-ZFP263RY.js +0 -53
- package/dist/campaign-groups-XPYTQFNQ.js +0 -95
- package/dist/campaign-groups-XPYTQFNQ.js.map +0 -1
- package/dist/campaign-writes-7MFHQAAI.js +0 -165
- package/dist/campaign-writes-7MFHQAAI.js.map +0 -1
- package/dist/campaign-writes-APYVRCNH.js +0 -170
- package/dist/campaigns-ANQW3YDH.js +0 -76
- package/dist/campaigns-LXSVJEXI.js +0 -109
- package/dist/campaigns-LXSVJEXI.js.map +0 -1
- package/dist/campaigns-UN3XB6TJ.js +0 -107
- package/dist/campaigns-YPI4KS7U.js +0 -110
- package/dist/canvas-GPXU2ZSC.js +0 -46
- package/dist/capabilities-HD2T6H24.js +0 -144
- package/dist/capabilities-HD2T6H24.js.map +0 -1
- package/dist/cards-QRX43TGI.js +0 -85
- package/dist/catalog-CRIYIXOJ.js +0 -65
- package/dist/catalogs-D677AN33.js +0 -128
- package/dist/changes-PWBOKKNL.js +0 -135
- package/dist/chatgpt-RYL44ASK.js +0 -47
- package/dist/chats-OQ6JOASV.js +0 -262
- package/dist/chats-OQ6JOASV.js.map +0 -1
- package/dist/chunk-2QLNGCFZ.js +0 -175
- package/dist/chunk-2V2M2CHS.js +0 -225
- package/dist/chunk-35QYDREI.js +0 -160
- package/dist/chunk-3BG2BVWN.js +0 -622
- package/dist/chunk-3FOE4P6A.js +0 -28
- package/dist/chunk-3JX4NUGF.js +0 -45
- package/dist/chunk-3KN3VCS3.js +0 -1711
- package/dist/chunk-54VIXBLO.js +0 -46
- package/dist/chunk-5IQL24NI.js +0 -76
- package/dist/chunk-5TOKIRCD.js +0 -1441
- package/dist/chunk-5URIFBIL.js +0 -75
- package/dist/chunk-5Z6SSOLG.js +0 -188
- package/dist/chunk-6C4S466W.js +0 -486
- package/dist/chunk-6HLPM7U3.js +0 -191
- package/dist/chunk-6R7CMUIZ.js +0 -74
- package/dist/chunk-6XPBHM5P.js +0 -84
- package/dist/chunk-6ZEFXZRD.js +0 -274
- package/dist/chunk-73JXX4LJ.js +0 -136
- package/dist/chunk-A2PTD6FL.js +0 -166
- package/dist/chunk-AGEJ7IJG.js +0 -592
- package/dist/chunk-APY53DKV.js +0 -304
- package/dist/chunk-BJ4SHBS2.js +0 -207
- package/dist/chunk-BXKJZBBJ.js +0 -125
- package/dist/chunk-C2DAPBYB.js +0 -4410
- package/dist/chunk-D2JOBGBD.js +0 -541
- package/dist/chunk-DE64GHEP.js +0 -74
- package/dist/chunk-E4ICSNSW.js +0 -215
- package/dist/chunk-EIAA3XTT.js +0 -275
- package/dist/chunk-EMLM2TKM.js +0 -6667
- package/dist/chunk-EOWMPN3Q.js +0 -51
- package/dist/chunk-F66W4QQL.js +0 -92
- package/dist/chunk-FCADB4RG.js +0 -535
- package/dist/chunk-FCADB4RG.js.map +0 -1
- package/dist/chunk-FIBL3EZN.js +0 -197
- package/dist/chunk-FJDTR2IN.js +0 -363
- package/dist/chunk-FNKOQQ2U.js +0 -42
- package/dist/chunk-FZKC65TR.js +0 -455
- package/dist/chunk-G4PE563Y.js +0 -309
- package/dist/chunk-G6UBBPH3.js +0 -106
- package/dist/chunk-GKUIGEY6.js +0 -56
- package/dist/chunk-GWFJAVWD.js +0 -97
- package/dist/chunk-HMKVVPWY.js +0 -333
- package/dist/chunk-HMVVNB23.js +0 -76
- package/dist/chunk-ICFITD5H.js +0 -31
- package/dist/chunk-IDEFDDTX.js +0 -819
- package/dist/chunk-IFZD2MDE.js +0 -474
- package/dist/chunk-IH4NS3NT.js +0 -172
- package/dist/chunk-ITYFVNLA.js +0 -846
- package/dist/chunk-IX6PPPOS.js +0 -346
- package/dist/chunk-JTSYEIHY.js +0 -103
- package/dist/chunk-K63BDJYR.js +0 -136
- package/dist/chunk-KNX2UBLI.js +0 -610
- package/dist/chunk-KPHBHRJY.js +0 -149
- package/dist/chunk-KWMCE3Q2.js +0 -23
- package/dist/chunk-KYQZM5FB.js +0 -1830
- package/dist/chunk-LAAJ3V67.js +0 -159
- package/dist/chunk-LCMGWIEQ.js +0 -296
- package/dist/chunk-MNCMAJKB.js +0 -337
- package/dist/chunk-N3DLCXMB.js +0 -98
- package/dist/chunk-NKU7RLAI.js +0 -169
- package/dist/chunk-NWAFH7K3.js +0 -98
- package/dist/chunk-NYVO4TND.js +0 -26
- package/dist/chunk-O5MNUL7C.js +0 -509
- package/dist/chunk-O5RBFETA.js +0 -665
- package/dist/chunk-ODMKCAAQ.js +0 -111
- package/dist/chunk-OIS3WG2U.js +0 -65
- package/dist/chunk-OL4RPZ64.js +0 -96
- package/dist/chunk-OP2OMNVN.js +0 -106
- package/dist/chunk-P5V7NXMY.js +0 -25
- package/dist/chunk-Q3PB5ZUT.js +0 -172
- package/dist/chunk-QT7FKFNS.js +0 -60
- package/dist/chunk-R5VW2ACF.js +0 -494
- package/dist/chunk-RGE7STV4.js +0 -3153
- package/dist/chunk-RIXGQIMZ.js +0 -84
- package/dist/chunk-RWEVT5SO.js +0 -133
- package/dist/chunk-S3TSJQOJ.js +0 -96
- package/dist/chunk-SMVHUBXE.js +0 -66
- package/dist/chunk-SZX5LUHK.js +0 -94
- package/dist/chunk-TG63NMMW.js +0 -58
- package/dist/chunk-TOYLG3ZY.js +0 -214
- package/dist/chunk-TZKJNSZH.js +0 -55
- package/dist/chunk-U57KAPAJ.js +0 -74
- package/dist/chunk-VAOMHPEX.js +0 -936
- package/dist/chunk-VAOMHPEX.js.map +0 -1
- package/dist/chunk-VFME5MT5.js +0 -297
- package/dist/chunk-WCHPZD64.js +0 -5189
- package/dist/chunk-WHOS7L4N.js +0 -19
- package/dist/chunk-WOB3ESBQ.js +0 -67
- package/dist/chunk-XM75RTFZ.js +0 -1599
- package/dist/chunk-XUGTYYXY.js +0 -174
- package/dist/chunk-Y4V55WFQ.js +0 -23992
- package/dist/chunk-YKSIHGIL.js +0 -454
- package/dist/chunk-YOLNNZ77.js +0 -382
- package/dist/chunk-ZW6EMA2U.js +0 -139
- package/dist/chunk-ZZFYDAJQ.js +0 -981
- package/dist/chunk-ZZFYDAJQ.js.map +0 -1
- package/dist/claim-B6LWKULS.js +0 -197
- package/dist/claim-B6LWKULS.js.map +0 -1
- package/dist/client-DUZXHJAT.js +0 -19
- package/dist/code-BQCH5ARZ.js +0 -76
- package/dist/companies-BC6TCRXY.js +0 -195
- package/dist/companies-BC6TCRXY.js.map +0 -1
- package/dist/complete-Y7ZAKY62.js +0 -81
- package/dist/complete-Y7ZAKY62.js.map +0 -1
- package/dist/config-2NKM5GSZ.js +0 -88
- package/dist/connect-4WXSJAIK.js +0 -42
- package/dist/content-MJ3W6FKW.js +0 -85
- package/dist/conversation-SEVRAH5J.js +0 -93
- package/dist/conversation-SEVRAH5J.js.map +0 -1
- package/dist/conversion-report-KLP2PJKJ.js +0 -125
- package/dist/conversion-upload-command-KB6ME34E.js +0 -438
- package/dist/conversion-writes-LO24U7NW.js +0 -120
- package/dist/conversions-OC2UHXG7.js +0 -135
- package/dist/conversions-OC2UHXG7.js.map +0 -1
- package/dist/conversions-QBWE4C5T.js +0 -76
- package/dist/countries-F67IA6DF.js +0 -82
- package/dist/create-BPHBGMFM.js +0 -59
- package/dist/create-BPHBGMFM.js.map +0 -1
- package/dist/create-IGZH5OFP.js +0 -235
- package/dist/create-IGZH5OFP.js.map +0 -1
- package/dist/create-NLNOXZ2T.js +0 -130
- package/dist/create-NLNOXZ2T.js.map +0 -1
- package/dist/create-YX3YN4SU.js +0 -207
- package/dist/create-YX3YN4SU.js.map +0 -1
- package/dist/creatives-4N6RRVBP.js +0 -87
- package/dist/creatives-ESTFGCVQ.js +0 -182
- package/dist/creatives-ESTFGCVQ.js.map +0 -1
- package/dist/creatives-ZDWQ7AP3.js +0 -51
- package/dist/credentials-GA4ZW4QL.js +0 -287
- package/dist/credentials-GA4ZW4QL.js.map +0 -1
- package/dist/critique-IJG6WBDW.js +0 -1449
- package/dist/critique-IJG6WBDW.js.map +0 -1
- package/dist/critique-SYBZXBHJ.js +0 -213
- package/dist/critique-SYBZXBHJ.js.map +0 -1
- package/dist/crm-2P7WHZBW.js +0 -224
- package/dist/crm-2P7WHZBW.js.map +0 -1
- package/dist/crm-SVDB2XHW.js +0 -318
- package/dist/crm-SVDB2XHW.js.map +0 -1
- package/dist/crop-ZAYOFRSS.js +0 -113
- package/dist/currency-UWW5QJGL.js +0 -88
- package/dist/custom-conversions-2BG2VUOY.js +0 -125
- package/dist/customers-2LZ3HG3V.js +0 -56
- package/dist/delete-A3JJJHC6.js +0 -63
- package/dist/delete-A3JJJHC6.js.map +0 -1
- package/dist/delete-ER3LIA3F.js +0 -71
- package/dist/delete-HVCQQSG4.js +0 -71
- package/dist/delete-QPPPLHS4.js +0 -54
- package/dist/delete-QPPPLHS4.js.map +0 -1
- package/dist/delete-T22GD7FG.js +0 -69
- package/dist/delete-VZUF57KL.js +0 -66
- package/dist/delete-VZUF57KL.js.map +0 -1
- package/dist/demographics-3KAK7JGZ.js +0 -138
- package/dist/demographics-3KAK7JGZ.js.map +0 -1
- package/dist/describe-ADQWM55K.js +0 -97
- package/dist/describe-XEGTSEUI.js +0 -97
- package/dist/dimensions-WQZBBY7I.js +0 -101
- package/dist/discard-VU72HO4B.js +0 -66
- package/dist/discard-VU72HO4B.js.map +0 -1
- package/dist/discover-HXKIQWH2.js +0 -172
- package/dist/domain-ERWROFZC.js +0 -98
- package/dist/domain-ERWROFZC.js.map +0 -1
- package/dist/download-7Z3BWAHR.js +0 -299
- package/dist/draft-3V3HOB5N.js +0 -217
- package/dist/draft-3V3HOB5N.js.map +0 -1
- package/dist/draft-4TCT6UQD.js +0 -103
- package/dist/draft-5YJY6YT5.js +0 -328
- package/dist/draft-5YJY6YT5.js.map +0 -1
- package/dist/draft-7LIGULA2.js +0 -100
- package/dist/draft-C2DDLJH2.js +0 -307
- package/dist/draft-FCCYMFKW.js +0 -281
- package/dist/draft-FELTG6LD.js +0 -306
- package/dist/draft-FELTG6LD.js.map +0 -1
- package/dist/draft-JIFFSL5U.js +0 -233
- package/dist/env-IUF4DTG2.js +0 -43
- package/dist/experiment-T3H6LFLK.js +0 -1397
- package/dist/export-V7WQJD4L.js +0 -168
- package/dist/extract-WW7WLLRB.js +0 -113
- package/dist/facets-J4JLHESD.js +0 -114
- package/dist/facets-J4JLHESD.js.map +0 -1
- package/dist/favorites-XLCT5S6E.js +0 -178
- package/dist/feed-PG6AXUYA.js +0 -179
- package/dist/feedback-J6FSCCWF.js +0 -66
- package/dist/feedback-record-4AY3MG2E.js +0 -175
- package/dist/feedback-record-4AY3MG2E.js.map +0 -1
- package/dist/fetch-C4JYRA53.js +0 -139
- package/dist/fetch-QIHGIATQ.js +0 -176
- package/dist/fetch-QIHGIATQ.js.map +0 -1
- package/dist/find-SLZO4FBR.js +0 -134
- package/dist/fit-SSR3JDDI.js +0 -45
- package/dist/flows-IRFHGBUR.js +0 -247
- package/dist/flows-IRFHGBUR.js.map +0 -1
- package/dist/follow-EKNBOS7Z.js +0 -82
- package/dist/follow-EKNBOS7Z.js.map +0 -1
- package/dist/follow-competitors-OYQXYSI5.js +0 -131
- package/dist/follow-competitors-OYQXYSI5.js.map +0 -1
- package/dist/following-M3C3XSHY.js +0 -113
- package/dist/fonts-ZU5Q4A6U.js +0 -34
- package/dist/forecast-KVPAU7OT.js +0 -104
- package/dist/forecast-KVPAU7OT.js.map +0 -1
- package/dist/forecast-XGBT722Z.js +0 -168
- package/dist/funding-BWSGYQPP.js +0 -85
- package/dist/funnel-JXC5WXLR.js +0 -394
- package/dist/funnel-JXC5WXLR.js.map +0 -1
- package/dist/ga4-XWK5H7HN.js +0 -55
- package/dist/generate-E6YDVJ23.js +0 -262
- package/dist/get-23E7ZEKP.js +0 -56
- package/dist/get-23E7ZEKP.js.map +0 -1
- package/dist/get-HXJSMHDC.js +0 -61
- package/dist/get-IWYF6PA4.js +0 -78
- package/dist/get-IWYF6PA4.js.map +0 -1
- package/dist/get-JGCMBA7Y.js +0 -63
- package/dist/get-QLFMRSLN.js +0 -59
- package/dist/get-XWIA6BEO.js +0 -63
- package/dist/get-ZLSZTGXA.js +0 -92
- package/dist/gif-KHF452GC.js +0 -94
- package/dist/google-5GESCEKC.js +0 -136
- package/dist/google-KTDHD75U.js +0 -3190
- package/dist/google-ads-VW5UGOGO.js +0 -195
- package/dist/google-ads-VW5UGOGO.js.map +0 -1
- package/dist/group-JYNKEOPG.js +0 -43
- package/dist/group-ZMCHUQMI.js +0 -43
- package/dist/gsc-I6RIFE7I.js +0 -30
- package/dist/history-F3N6M4JM.js +0 -67
- package/dist/history-IAKV2LJN.js +0 -133
- package/dist/history-IAKV2LJN.js.map +0 -1
- package/dist/hubspot-QVDLE3BF.js +0 -779
- package/dist/hubspot-QVDLE3BF.js.map +0 -1
- package/dist/icon-4C2JOBPE.js +0 -137
- package/dist/ideas-7COQX7C3.js +0 -32
- package/dist/images-5XNXXZLM.js +0 -90
- package/dist/improve-6VC6ORAG.js +0 -86
- package/dist/ingest-L6MMXL6R.js +0 -23
- package/dist/ingest-UP42M3WU.js +0 -107
- package/dist/ingest-UP42M3WU.js.map +0 -1
- package/dist/insights-3H736QZH.js +0 -122
- package/dist/insights-3TEVP4B2.js +0 -423
- package/dist/inspect-2WOLOPTV.js +0 -189
- package/dist/inspect-2WOLOPTV.js.map +0 -1
- package/dist/inspiration-I2XMXXEW.js +0 -53
- package/dist/intent-IYUKLNST.js +0 -95
- package/dist/job-MTHK2PPN.js +0 -202
- package/dist/job-create-AD3L6A6F.js +0 -109
- package/dist/job-status-MCFOA5V3.js +0 -74
- package/dist/keep-NNATO2B6.js +0 -78
- package/dist/keyword-gap-RSITTJ56.js +0 -130
- package/dist/keyword-metrics-E5D2ESIH.js +0 -197
- package/dist/keyword-metrics-E5D2ESIH.js.map +0 -1
- package/dist/keywords-for-site-SRUKRBCR.js +0 -128
- package/dist/keywords-for-site-SRUKRBCR.js.map +0 -1
- package/dist/landing-ZFZ4LYCB.js +0 -28
- package/dist/landings-JJELYF4P.js +0 -143
- package/dist/landings-JJELYF4P.js.map +0 -1
- package/dist/languages-3FETIHSB.js +0 -55
- package/dist/languages-SJ6ZWALA.js +0 -40
- package/dist/launches-ZZ7ST4SY.js +0 -108
- package/dist/layerize-NSF6NEWY.js +0 -190
- package/dist/leads-EVFLPNG6.js +0 -293
- package/dist/leads-P46ND2LT.js +0 -90
- package/dist/leads-P46ND2LT.js.map +0 -1
- package/dist/learn-EJSMXKSE.js +0 -203
- package/dist/learn-EJSMXKSE.js.map +0 -1
- package/dist/library-UKGHGGOG.js +0 -109
- package/dist/lighthouse-B2IBNWLX.js +0 -75
- package/dist/line-item-writes-EM6I5KIH.js +0 -208
- package/dist/line-item-writes-EM6I5KIH.js.map +0 -1
- package/dist/line-items-GLNMIKM5.js +0 -103
- package/dist/link-CZ4XFU2D.js +0 -64
- package/dist/link-CZ4XFU2D.js.map +0 -1
- package/dist/linkedin-ES3KPPHF.js +0 -1008
- package/dist/linkedin-ES3KPPHF.js.map +0 -1
- package/dist/list-3IJMAQHX.js +0 -51
- package/dist/list-B7GN44R3.js +0 -63
- package/dist/list-B7GN44R3.js.map +0 -1
- package/dist/list-BDPUPCQZ.js +0 -57
- package/dist/list-HGQY4OHN.js +0 -151
- package/dist/list-HGQY4OHN.js.map +0 -1
- package/dist/list-JD7EIBPU.js +0 -303
- package/dist/list-JD7EIBPU.js.map +0 -1
- package/dist/list-NZZ75O6C.js +0 -65
- package/dist/list-XBYKFXS3.js +0 -76
- package/dist/list-XRON5I6M.js +0 -50
- package/dist/locations-M2665NGJ.js +0 -40
- package/dist/locations-TKPILKLO.js +0 -67
- package/dist/log-KUHIZL53.js +0 -92
- package/dist/log-KUHIZL53.js.map +0 -1
- package/dist/logo-EVE3TAL5.js +0 -18
- package/dist/lookup-Z5TFHYDU.js +0 -22
- package/dist/make-ISUBJILH.js +0 -634
- package/dist/make-ISUBJILH.js.map +0 -1
- package/dist/map-NNMEQE6E.js +0 -404
- package/dist/map-NNMEQE6E.js.map +0 -1
- package/dist/mcp-AJDXG3NV.js +0 -463
- package/dist/mcp-AJDXG3NV.js.map +0 -1
- package/dist/media-DGNFOT7M.js +0 -89
- package/dist/media-FRNTELKI.js +0 -15
- package/dist/media-sources-V452RJ6B.js +0 -32
- package/dist/members-VUJ62KJQ.js +0 -44
- package/dist/members-VUJ62KJQ.js.map +0 -1
- package/dist/meta-NGBLUNVU.js +0 -69
- package/dist/metrics-QRRK473C.js +0 -152
- package/dist/models-4BTFIZZZ.js +0 -155
- package/dist/normalize-O47OIEUO.js +0 -806
- package/dist/normalize-OTNIBYUO.js +0 -141
- package/dist/normalize-OTNIBYUO.js.map +0 -1
- package/dist/options-FTXE6HFT.js +0 -121
- package/dist/options-FTXE6HFT.js.map +0 -1
- package/dist/output-W473ZLGR.js +0 -24
- package/dist/page-7TEJ5NA5.js +0 -105
- package/dist/pages-S2E3FHDH.js +0 -66
- package/dist/performance-IMD2N7OD.js +0 -24
- package/dist/pinterest-DQC3JXQT.js +0 -96
- package/dist/pixels-M5GS7DIH.js +0 -60
- package/dist/pixels-MHH4N35F.js +0 -108
- package/dist/plan-GGLBOLIU.js +0 -207
- package/dist/preview-AHDEJO2X.js +0 -169
- package/dist/profile-2TPKFD4Y.js +0 -131
- package/dist/promoted-tweet-writes-XUM4WGZH.js +0 -180
- package/dist/promoted-tweet-writes-XUM4WGZH.js.map +0 -1
- package/dist/promoted-tweets-TIHMJ5PU.js +0 -119
- package/dist/properties-KOY2GE45.js +0 -101
- package/dist/publish-Q7MHUVVZ.js +0 -322
- package/dist/publish-Q7MHUVVZ.js.map +0 -1
- package/dist/query-EO7BX4MH.js +0 -236
- package/dist/query-QZWMKAJZ.js +0 -247
- package/dist/query-XLTRAAQO.js +0 -61
- package/dist/questionnaire-BL3G6UYL.js +0 -93
- package/dist/read-ZMNYD3PA.js +0 -141
- package/dist/reddit-RO3VKMJ7.js +0 -26
- package/dist/refresh-OER4JT3Q.js +0 -94
- package/dist/refresh-OER4JT3Q.js.map +0 -1
- package/dist/release-4DLGFSYY.js +0 -60
- package/dist/release-4DLGFSYY.js.map +0 -1
- package/dist/relevant-pages-ZGGWFDLL.js +0 -99
- package/dist/remove-MQ3JY36P.js +0 -48
- package/dist/remove-WENY6GQU.js +0 -50
- package/dist/remove-WENY6GQU.js.map +0 -1
- package/dist/reopen-VSVK5EZI.js +0 -63
- package/dist/reopen-VSVK5EZI.js.map +0 -1
- package/dist/rerun-B32CIKVH.js +0 -85
- package/dist/rerun-B32CIKVH.js.map +0 -1
- package/dist/research-2XAQRMC3.js +0 -62
- package/dist/research-ZEIW667A.js +0 -262
- package/dist/research-ZEIW667A.js.map +0 -1
- package/dist/reset-DXBESBL7.js +0 -54
- package/dist/reset-DXBESBL7.js.map +0 -1
- package/dist/reset-G4A52FMR.js +0 -54
- package/dist/reset-G4A52FMR.js.map +0 -1
- package/dist/resolve-FA6CFVX4.js +0 -121
- package/dist/resolve-FA6CFVX4.js.map +0 -1
- package/dist/retry-CXTOGFZT.js +0 -60
- package/dist/retry-CXTOGFZT.js.map +0 -1
- package/dist/retry-THMD27CA.js +0 -62
- package/dist/retry-THMD27CA.js.map +0 -1
- package/dist/retry-failed-3R35LZ6I.js +0 -45
- package/dist/run-HRSNUGWJ.js +0 -60
- package/dist/run-NYJUDS32.js +0 -65
- package/dist/run-NYJUDS32.js.map +0 -1
- package/dist/scaffold-ad-RUJQIYQH.js +0 -1549
- package/dist/scaffold-ad-RUJQIYQH.js.map +0 -1
- package/dist/scaffold-static-ad-36KRZNWU.js +0 -973
- package/dist/scaffold-static-ad-36KRZNWU.js.map +0 -1
- package/dist/scaffold-video-RYVG4IFA.js +0 -873
- package/dist/scaffold-video-RYVG4IFA.js.map +0 -1
- package/dist/schedule-ENH4N66R.js +0 -61
- package/dist/schedule-ENH4N66R.js.map +0 -1
- package/dist/schedule-KSIMVG5U.js +0 -66
- package/dist/scheduled-agents-RM24BRGD.js +0 -49
- package/dist/schema-JJVSWKGP.js +0 -132
- package/dist/schema-JJVSWKGP.js.map +0 -1
- package/dist/schema-MT76C7XK.js +0 -63
- package/dist/scrape-ICS5UA62.js +0 -2241
- package/dist/screenshot-YPUFPY5W.js +0 -102
- package/dist/search-6BHODVNN.js +0 -27
- package/dist/search-HOQZ3XIK.js +0 -92
- package/dist/search-KFP4GPMJ.js +0 -174
- package/dist/search-KFP4GPMJ.js.map +0 -1
- package/dist/search-TCDI77HS.js +0 -91
- package/dist/search-W7E5S347.js +0 -224
- package/dist/search-copy-LXBPFQC3.js +0 -115
- package/dist/seeds-Q6VS27LT.js +0 -101
- package/dist/select-CB5BBKHR.js +0 -94
- package/dist/select-CB5BBKHR.js.map +0 -1
- package/dist/sends-HDTG7XRL.js +0 -309
- package/dist/sequences-SISO5JGS.js +0 -146
- package/dist/set-prompt-IS7JSFYY.js +0 -186
- package/dist/set-prompt-IS7JSFYY.js.map +0 -1
- package/dist/setup-links-NBO7B64S.js +0 -141
- package/dist/setup-links-NBO7B64S.js.map +0 -1
- package/dist/shared-MJEF5Z6R.js +0 -31
- package/dist/site-5MPVICS2.js +0 -177
- package/dist/site-5MPVICS2.js.map +0 -1
- package/dist/sitemaps-G3YCZDEM.js +0 -87
- package/dist/sites-YH2ZIMCP.js +0 -101
- package/dist/skills-SQTM676S.js +0 -47
- package/dist/sources-FSYJ2EQL.js +0 -421
- package/dist/sources-FSYJ2EQL.js.map +0 -1
- package/dist/sources-OES5YJY6.js +0 -30
- package/dist/stale-YT3CGHAI.js +0 -63
- package/dist/stale-YT3CGHAI.js.map +0 -1
- package/dist/stats-IDL2KWGM.js +0 -34
- package/dist/status-ZDKRO7TH.js +0 -62
- package/dist/status-ZDKRO7TH.js.map +0 -1
- package/dist/sticker-2R5LODHJ.js +0 -94
- package/dist/stock-5DWDTNFB.js +0 -179
- package/dist/studio-PPFFAUWO.js +0 -49
- package/dist/sync-7DWOHCVF.js +0 -265
- package/dist/sync-JRRGJWFH.js +0 -54
- package/dist/sync-RNKJFPDI.js +0 -54
- package/dist/sync-RNKJFPDI.js.map +0 -1
- package/dist/sync-definition-SDJM567M.js +0 -53
- package/dist/tag-manager-MBS6YCZM.js +0 -43
- package/dist/tags-5EVJ73IX.js +0 -26
- package/dist/tags-5THBYIHN.js +0 -20
- package/dist/tags-5THBYIHN.js.map +0 -1
- package/dist/tags-D74DMYCW.js +0 -20
- package/dist/tags-D74DMYCW.js.map +0 -1
- package/dist/tags-KFDRX4H7.js +0 -20
- package/dist/tags-KFDRX4H7.js.map +0 -1
- package/dist/tags-YEWHOSC5.js +0 -224
- package/dist/tags-YEWHOSC5.js.map +0 -1
- package/dist/targeting-constants-KIMGCL2N.js +0 -118
- package/dist/targeting-criteria-5BN4EELG.js +0 -113
- package/dist/targets-DBQNYE34.js +0 -102
- package/dist/targets-DBQNYE34.js.map +0 -1
- package/dist/templates-J2NZIOY2.js +0 -178
- package/dist/templates-J2NZIOY2.js.map +0 -1
- package/dist/testimonials-2IJE6K2L.js +0 -32
- package/dist/themes-6BRONMJ2.js +0 -94
- package/dist/top-companies-TAA7HKTA.js +0 -108
- package/dist/top-companies-TAA7HKTA.js.map +0 -1
- package/dist/translate-ZVQQJJQT.js +0 -598
- package/dist/translate-ZVQQJJQT.js.map +0 -1
- package/dist/triggers-2VPLSNP7.js +0 -141
- package/dist/triggers-2VPLSNP7.js.map +0 -1
- package/dist/tweets-YEMIGLP7.js +0 -123
- package/dist/unfollow-S6XQVQIA.js +0 -46
- package/dist/unlink-DDTHG25I.js +0 -67
- package/dist/unlink-DDTHG25I.js.map +0 -1
- package/dist/unstage-ABSCDW43.js +0 -84
- package/dist/unstage-ABSCDW43.js.map +0 -1
- package/dist/unstage-VDLTHNHY.js +0 -95
- package/dist/update-C2QWKWXB.js +0 -98
- package/dist/update-C2QWKWXB.js.map +0 -1
- package/dist/update-COMDOEYG.js +0 -142
- package/dist/update-COMDOEYG.js.map +0 -1
- package/dist/update-FMROPHXQ.js +0 -155
- package/dist/update-FMROPHXQ.js.map +0 -1
- package/dist/update-SY54UP5O.js +0 -63
- package/dist/update-SY54UP5O.js.map +0 -1
- package/dist/upload-7QBWAQLM.js +0 -126
- package/dist/upload-7QBWAQLM.js.map +0 -1
- package/dist/upload-PTXQ7IEE.js +0 -150
- package/dist/upscale-YQ2KZRCI.js +0 -109
- package/dist/url-options-QRGN4Q34.js +0 -130
- package/dist/url-params-ZBOCO4CG.js +0 -98
- package/dist/url-params-ZBOCO4CG.js.map +0 -1
- package/dist/use-BFD6WCDB.js +0 -95
- package/dist/validate-M7B2SBDH.js +0 -89
- package/dist/validate-M7B2SBDH.js.map +0 -1
- package/dist/variant-U77I2UDY.js +0 -338
- package/dist/videos-2EPKRCW6.js +0 -39
- package/dist/view-BDLUTKMK.js +0 -121
- package/dist/viewer-check-YF6ENNNL.js +0 -69
- package/dist/web-JRDXE2GL.js +0 -140
- package/dist/web-JRDXE2GL.js.map +0 -1
- package/dist/winners-AWRCSFAC.js +0 -113
- package/dist/winning-ads-QQ6Y5R7T.js +0 -79
- package/dist/write-commands-3UXPJJ75.js +0 -1015
- package/dist/write-commands-3UXPJJ75.js.map +0 -1
- package/dist/write-commands-HZI5YF52.js +0 -737
- package/dist/write-commands-MYA273DT.js +0 -206
- package/dist/write-commands-OQPBPQ77.js +0 -713
- package/dist/x-WA3Q46K6.js +0 -47
- /package/dist/{account-VGIKDAK3.js.map → account-IRGRKYJY.js.map} +0 -0
- /package/dist/{account-F2D257QB.js.map → account-Y355AWQZ.js.map} +0 -0
- /package/dist/{account-reads-OS6RLJFJ.js.map → account-reads-76UWMB3T.js.map} +0 -0
- /package/dist/{account-writes-7HZJWI5U.js.map → account-writes-G6B3D75J.js.map} +0 -0
- /package/dist/{accounts-4IIILFLV.js.map → accounts-6BSNUSL2.js.map} +0 -0
- /package/dist/{accounts-X5MPAWZX.js.map → accounts-W3O34NIB.js.map} +0 -0
- /package/dist/{accounts-25JDCWKR.js.map → accounts-ZCKOPY4V.js.map} +0 -0
- /package/dist/{actions-CLFWCFFA.js.map → actions-SPJ7K3WP.js.map} +0 -0
- /package/dist/{active-entities-V2K2S3UY.js.map → active-entities-OF34PSKJ.js.map} +0 -0
- /package/dist/{activities-CUVZGTGA.js.map → activities-C5WK3MXQ.js.map} +0 -0
- /package/dist/{ad-group-writes-GG3BUQQY.js.map → ad-group-writes-NOJXE2SD.js.map} +0 -0
- /package/dist/{ad-groups-KRZ6YX7O.js.map → ad-groups-YJQFLYXT.js.map} +0 -0
- /package/dist/{ad-writes-YDMS7NPG.js.map → ad-writes-NZITPMNK.js.map} +0 -0
- /package/dist/{add-LHAZ34ZF.js.map → add-37RLQWXR.js.map} +0 -0
- /package/dist/{add-BHLEFGCG.js.map → add-BXTSVYMJ.js.map} +0 -0
- /package/dist/{ads-5SGFPSQL.js.map → ads-4FVN7UTX.js.map} +0 -0
- /package/dist/{ads-CP4VTPKO.js.map → ads-FZSPK3L7.js.map} +0 -0
- /package/dist/{ads-Q54IPFAS.js.map → ads-YYVMBTMC.js.map} +0 -0
- /package/dist/{adsets-4RXF4YXR.js.map → adsets-I35MU53T.js.map} +0 -0
- /package/dist/{advertisers-JDUAIACQ.js.map → advertisers-6C3JWMFN.js.map} +0 -0
- /package/dist/{animate-PYYWDHQ2.js.map → animate-BZZ4PRNK.js.map} +0 -0
- /package/dist/{audiences-B2ZSJSOJ.js.map → audiences-57Z5DJ3C.js.map} +0 -0
- /package/dist/{audiences-S6IHCG3G.js.map → audiences-ALMKJXOE.js.map} +0 -0
- /package/dist/{audiences-6QF625VZ.js.map → audiences-QEFTSR3A.js.map} +0 -0
- /package/dist/{audit-IJUKCS2K.js.map → audit-4ODYNTLU.js.map} +0 -0
- /package/dist/{avatars-O64BDZHC.js.map → avatars-D7RH6FQK.js.map} +0 -0
- /package/dist/{brand-W55FHWU6.js.map → brand-GON2DGDG.js.map} +0 -0
- /package/dist/{businesses-ZFP263RY.js.map → businesses-U7V7D5O4.js.map} +0 -0
- /package/dist/{campaign-writes-APYVRCNH.js.map → campaign-writes-2URYK37Q.js.map} +0 -0
- /package/dist/{campaigns-YPI4KS7U.js.map → campaigns-ENPXM4OI.js.map} +0 -0
- /package/dist/{campaigns-ANQW3YDH.js.map → campaigns-IUPJX5EL.js.map} +0 -0
- /package/dist/{campaigns-UN3XB6TJ.js.map → campaigns-V66PVG7T.js.map} +0 -0
- /package/dist/{canvas-GPXU2ZSC.js.map → canvas-BJQ556BB.js.map} +0 -0
- /package/dist/{cards-QRX43TGI.js.map → cards-5TOCOH5L.js.map} +0 -0
- /package/dist/{catalog-CRIYIXOJ.js.map → catalog-7GPT7ZNH.js.map} +0 -0
- /package/dist/{catalogs-D677AN33.js.map → catalogs-I6PRBCEX.js.map} +0 -0
- /package/dist/{changes-PWBOKKNL.js.map → changes-KSTSKL7T.js.map} +0 -0
- /package/dist/{chatgpt-RYL44ASK.js.map → chatgpt-Y3UXQIRV.js.map} +0 -0
- /package/dist/{chunk-N3DLCXMB.js.map → chunk-2J5N24NW.js.map} +0 -0
- /package/dist/{chunk-NKU7RLAI.js.map → chunk-2WXLB66I.js.map} +0 -0
- /package/dist/{chunk-FIBL3EZN.js.map → chunk-2YK5XCY2.js.map} +0 -0
- /package/dist/{chunk-35QYDREI.js.map → chunk-2ZRSQDXR.js.map} +0 -0
- /package/dist/{chunk-IFZD2MDE.js.map → chunk-3GO6OOUD.js.map} +0 -0
- /package/dist/{chunk-5URIFBIL.js.map → chunk-3L4P5X7N.js.map} +0 -0
- /package/dist/{chunk-YKSIHGIL.js.map → chunk-3XA4JVMY.js.map} +0 -0
- /package/dist/{chunk-6R7CMUIZ.js.map → chunk-44RWJ33Z.js.map} +0 -0
- /package/dist/{chunk-6HLPM7U3.js.map → chunk-4AK4BUJR.js.map} +0 -0
- /package/dist/{chunk-6XPBHM5P.js.map → chunk-4EKRZKPX.js.map} +0 -0
- /package/dist/{chunk-C2DAPBYB.js.map → chunk-4RARCMPM.js.map} +0 -0
- /package/dist/{chunk-AGEJ7IJG.js.map → chunk-6MUPGGQ3.js.map} +0 -0
- /package/dist/{chunk-U57KAPAJ.js.map → chunk-6NS5HQUZ.js.map} +0 -0
- /package/dist/{chunk-XM75RTFZ.js.map → chunk-7VCD55XF.js.map} +0 -0
- /package/dist/{chunk-2V2M2CHS.js.map → chunk-AINDZHQQ.js.map} +0 -0
- /package/dist/{chunk-IH4NS3NT.js.map → chunk-AUDVLNMT.js.map} +0 -0
- /package/dist/{chunk-KYQZM5FB.js.map → chunk-B7GQ4YUK.js.map} +0 -0
- /package/dist/{chunk-DE64GHEP.js.map → chunk-BABISVOU.js.map} +0 -0
- /package/dist/{chunk-LAAJ3V67.js.map → chunk-BBJWIA7F.js.map} +0 -0
- /package/dist/{chunk-E4ICSNSW.js.map → chunk-CE6IE364.js.map} +0 -0
- /package/dist/{chunk-ITYFVNLA.js.map → chunk-CL2X6KB5.js.map} +0 -0
- /package/dist/{chunk-ICFITD5H.js.map → chunk-CUJ2F472.js.map} +0 -0
- /package/dist/{chunk-K63BDJYR.js.map → chunk-DMXNT47S.js.map} +0 -0
- /package/dist/{chunk-R5VW2ACF.js.map → chunk-DQZEJV3K.js.map} +0 -0
- /package/dist/{chunk-ZW6EMA2U.js.map → chunk-E5EJRF7J.js.map} +0 -0
- /package/dist/{chunk-P5V7NXMY.js.map → chunk-EHXZDWAE.js.map} +0 -0
- /package/dist/{chunk-TG63NMMW.js.map → chunk-EPQXF3JZ.js.map} +0 -0
- /package/dist/{chunk-ODMKCAAQ.js.map → chunk-FH23H72G.js.map} +0 -0
- /package/dist/{chunk-IDEFDDTX.js.map → chunk-FZT2UQF2.js.map} +0 -0
- /package/dist/{chunk-5IQL24NI.js.map → chunk-GM4EDUTF.js.map} +0 -0
- /package/dist/{chunk-O5MNUL7C.js.map → chunk-HSAPEQBP.js.map} +0 -0
- /package/dist/{chunk-APY53DKV.js.map → chunk-I2HHXYRN.js.map} +0 -0
- /package/dist/{chunk-EIAA3XTT.js.map → chunk-IDORRX5W.js.map} +0 -0
- /package/dist/{chunk-3FOE4P6A.js.map → chunk-IFT6ID4T.js.map} +0 -0
- /package/dist/{chunk-HMKVVPWY.js.map → chunk-IK56IWZC.js.map} +0 -0
- /package/dist/{chunk-WCHPZD64.js.map → chunk-IRUUPYCH.js.map} +0 -0
- /package/dist/{chunk-KNX2UBLI.js.map → chunk-ITWB62LG.js.map} +0 -0
- /package/dist/{chunk-IX6PPPOS.js.map → chunk-IUPS2OYL.js.map} +0 -0
- /package/dist/{chunk-O5RBFETA.js.map → chunk-J2UCNSRR.js.map} +0 -0
- /package/dist/{chunk-3KN3VCS3.js.map → chunk-JBDX74X5.js.map} +0 -0
- /package/dist/{chunk-WHOS7L4N.js.map → chunk-JE2MELTY.js.map} +0 -0
- /package/dist/{chunk-VFME5MT5.js.map → chunk-KDW5DT5B.js.map} +0 -0
- /package/dist/{chunk-3JX4NUGF.js.map → chunk-L4TPZLDW.js.map} +0 -0
- /package/dist/{chunk-Q3PB5ZUT.js.map → chunk-LFNVHAF3.js.map} +0 -0
- /package/dist/{chunk-6C4S466W.js.map → chunk-LLEF2Q66.js.map} +0 -0
- /package/dist/{chunk-MNCMAJKB.js.map → chunk-LXBRJNIB.js.map} +0 -0
- /package/dist/{chunk-BJ4SHBS2.js.map → chunk-M2746TPS.js.map} +0 -0
- /package/dist/{chunk-NWAFH7K3.js.map → chunk-M6VLLYN2.js.map} +0 -0
- /package/dist/{chunk-JTSYEIHY.js.map → chunk-MD3B6MTI.js.map} +0 -0
- /package/dist/{chunk-KPHBHRJY.js.map → chunk-ME76DRT3.js.map} +0 -0
- /package/dist/{chunk-S3TSJQOJ.js.map → chunk-MQEA2YZZ.js.map} +0 -0
- /package/dist/{chunk-YOLNNZ77.js.map → chunk-MQW4DEQD.js.map} +0 -0
- /package/dist/{chunk-QT7FKFNS.js.map → chunk-MWOIESOS.js.map} +0 -0
- /package/dist/{chunk-D2JOBGBD.js.map → chunk-NQGRCWKN.js.map} +0 -0
- /package/dist/{chunk-TOYLG3ZY.js.map → chunk-NUHMHZTZ.js.map} +0 -0
- /package/dist/{chunk-G4PE563Y.js.map → chunk-OAYHDIW2.js.map} +0 -0
- /package/dist/{chunk-RIXGQIMZ.js.map → chunk-OB6QMAE3.js.map} +0 -0
- /package/dist/{chunk-5Z6SSOLG.js.map → chunk-P2I4FSVO.js.map} +0 -0
- /package/dist/{chunk-BXKJZBBJ.js.map → chunk-PSRKQJ6Y.js.map} +0 -0
- /package/dist/{chunk-G6UBBPH3.js.map → chunk-QDG5N7JH.js.map} +0 -0
- /package/dist/{chunk-2QLNGCFZ.js.map → chunk-QNEKQWJS.js.map} +0 -0
- /package/dist/{chunk-6ZEFXZRD.js.map → chunk-QZTIAVYI.js.map} +0 -0
- /package/dist/{chunk-XUGTYYXY.js.map → chunk-RGI7YZ6K.js.map} +0 -0
- /package/dist/{chunk-73JXX4LJ.js.map → chunk-S4EYRHCD.js.map} +0 -0
- /package/dist/{chunk-GWFJAVWD.js.map → chunk-SKAB7IBX.js.map} +0 -0
- /package/dist/{chunk-WOB3ESBQ.js.map → chunk-SRAMULKE.js.map} +0 -0
- /package/dist/{chunk-OL4RPZ64.js.map → chunk-SXIPXBL2.js.map} +0 -0
- /package/dist/{chunk-OIS3WG2U.js.map → chunk-T6N4L5L5.js.map} +0 -0
- /package/dist/{chunk-RGE7STV4.js.map → chunk-T7Q4SWW4.js.map} +0 -0
- /package/dist/{chunk-F66W4QQL.js.map → chunk-TD4PVILC.js.map} +0 -0
- /package/dist/{chunk-FNKOQQ2U.js.map → chunk-TII4OUSW.js.map} +0 -0
- /package/dist/{chunk-EMLM2TKM.js.map → chunk-TU7DPHNP.js.map} +0 -0
- /package/dist/{chunk-KWMCE3Q2.js.map → chunk-TUYWBLHR.js.map} +0 -0
- /package/dist/{chunk-EOWMPN3Q.js.map → chunk-UEQ4MZSP.js.map} +0 -0
- /package/dist/{chunk-LCMGWIEQ.js.map → chunk-ULPPKJQH.js.map} +0 -0
- /package/dist/{chunk-HMVVNB23.js.map → chunk-UMVRVX6L.js.map} +0 -0
- /package/dist/{chunk-3BG2BVWN.js.map → chunk-UU6MRBKX.js.map} +0 -0
- /package/dist/{chunk-SZX5LUHK.js.map → chunk-VIZ5NYTI.js.map} +0 -0
- /package/dist/{chunk-FZKC65TR.js.map → chunk-WAGMHPWG.js.map} +0 -0
- /package/dist/{chunk-NYVO4TND.js.map → chunk-WCOZUD56.js.map} +0 -0
- /package/dist/{chunk-TZKJNSZH.js.map → chunk-WLRQPH3F.js.map} +0 -0
- /package/dist/{chunk-54VIXBLO.js.map → chunk-WNP25LQF.js.map} +0 -0
- /package/dist/{chunk-5TOKIRCD.js.map → chunk-WSUZBTE6.js.map} +0 -0
- /package/dist/{chunk-A2PTD6FL.js.map → chunk-WVABBPSH.js.map} +0 -0
- /package/dist/{chunk-OP2OMNVN.js.map → chunk-WZH3D2H7.js.map} +0 -0
- /package/dist/{chunk-FJDTR2IN.js.map → chunk-XF6OUF7E.js.map} +0 -0
- /package/dist/{chunk-Y4V55WFQ.js.map → chunk-XN2OQQXR.js.map} +0 -0
- /package/dist/{chunk-RWEVT5SO.js.map → chunk-XQITDMRD.js.map} +0 -0
- /package/dist/{chunk-SMVHUBXE.js.map → chunk-YZBQ4ACW.js.map} +0 -0
- /package/dist/{chunk-GKUIGEY6.js.map → chunk-ZH7F3M3L.js.map} +0 -0
- /package/dist/{client-DUZXHJAT.js.map → client-7ZMKIPDA.js.map} +0 -0
- /package/dist/{code-BQCH5ARZ.js.map → code-T6ANPNY4.js.map} +0 -0
- /package/dist/{config-2NKM5GSZ.js.map → config-4BUL56PU.js.map} +0 -0
- /package/dist/{connect-4WXSJAIK.js.map → connect-OPAG6B4I.js.map} +0 -0
- /package/dist/{content-MJ3W6FKW.js.map → content-627YHJUP.js.map} +0 -0
- /package/dist/{conversion-report-KLP2PJKJ.js.map → conversion-report-5KFFJ2VU.js.map} +0 -0
- /package/dist/{conversion-upload-command-KB6ME34E.js.map → conversion-upload-command-JU6ZSJBV.js.map} +0 -0
- /package/dist/{conversion-writes-LO24U7NW.js.map → conversion-writes-RSCIEGWD.js.map} +0 -0
- /package/dist/{conversions-QBWE4C5T.js.map → conversions-ZODHC7RT.js.map} +0 -0
- /package/dist/{countries-F67IA6DF.js.map → countries-HKTPBBLQ.js.map} +0 -0
- /package/dist/{creatives-4N6RRVBP.js.map → creatives-KV3N6WGN.js.map} +0 -0
- /package/dist/{creatives-ZDWQ7AP3.js.map → creatives-NFKVUZE6.js.map} +0 -0
- /package/dist/{crop-ZAYOFRSS.js.map → crop-JXBA435D.js.map} +0 -0
- /package/dist/{currency-UWW5QJGL.js.map → currency-G3MQUET6.js.map} +0 -0
- /package/dist/{custom-conversions-2BG2VUOY.js.map → custom-conversions-CKNJONBF.js.map} +0 -0
- /package/dist/{customers-2LZ3HG3V.js.map → customers-54DNP36T.js.map} +0 -0
- /package/dist/{delete-HVCQQSG4.js.map → delete-DRIIOQVD.js.map} +0 -0
- /package/dist/{delete-T22GD7FG.js.map → delete-MJRH3R3P.js.map} +0 -0
- /package/dist/{delete-ER3LIA3F.js.map → delete-ZO2NTIMH.js.map} +0 -0
- /package/dist/{describe-XEGTSEUI.js.map → describe-2UB4CN5S.js.map} +0 -0
- /package/dist/{describe-ADQWM55K.js.map → describe-6744DROL.js.map} +0 -0
- /package/dist/{dimensions-WQZBBY7I.js.map → dimensions-TZLKBZN7.js.map} +0 -0
- /package/dist/{discover-HXKIQWH2.js.map → discover-73K5J5RJ.js.map} +0 -0
- /package/dist/{download-7Z3BWAHR.js.map → download-FSZVKV5I.js.map} +0 -0
- /package/dist/{draft-4TCT6UQD.js.map → draft-NWYVWHR4.js.map} +0 -0
- /package/dist/{draft-C2DDLJH2.js.map → draft-OTEC5VNP.js.map} +0 -0
- /package/dist/{draft-JIFFSL5U.js.map → draft-RVMSQTH6.js.map} +0 -0
- /package/dist/{draft-7LIGULA2.js.map → draft-XPUDO6BL.js.map} +0 -0
- /package/dist/{draft-FCCYMFKW.js.map → draft-YTEETFEN.js.map} +0 -0
- /package/dist/{env-IUF4DTG2.js.map → env-CJCGNARF.js.map} +0 -0
- /package/dist/{experiment-T3H6LFLK.js.map → experiment-CBAGPNF4.js.map} +0 -0
- /package/dist/{export-V7WQJD4L.js.map → export-5TK2LH7S.js.map} +0 -0
- /package/dist/{extract-WW7WLLRB.js.map → extract-OP7YHID2.js.map} +0 -0
- /package/dist/{favorites-XLCT5S6E.js.map → favorites-S4ZT5JII.js.map} +0 -0
- /package/dist/{feed-PG6AXUYA.js.map → feed-5U4RTYLR.js.map} +0 -0
- /package/dist/{feedback-J6FSCCWF.js.map → feedback-FRILY4XF.js.map} +0 -0
- /package/dist/{fetch-C4JYRA53.js.map → fetch-E6SRZGRB.js.map} +0 -0
- /package/dist/{find-SLZO4FBR.js.map → find-KBXUSX2G.js.map} +0 -0
- /package/dist/{fit-SSR3JDDI.js.map → fit-QBG3EXST.js.map} +0 -0
- /package/dist/{following-M3C3XSHY.js.map → following-AH24UDXY.js.map} +0 -0
- /package/dist/{fonts-ZU5Q4A6U.js.map → fonts-5OKN5H2C.js.map} +0 -0
- /package/dist/{forecast-XGBT722Z.js.map → forecast-HDF4PALO.js.map} +0 -0
- /package/dist/{funding-BWSGYQPP.js.map → funding-KGAE3LKV.js.map} +0 -0
- /package/dist/{ga4-XWK5H7HN.js.map → ga4-G5NBFPPT.js.map} +0 -0
- /package/dist/{generate-E6YDVJ23.js.map → generate-HXE2MOAO.js.map} +0 -0
- /package/dist/{get-XWIA6BEO.js.map → get-2Q3FKYH7.js.map} +0 -0
- /package/dist/{get-QLFMRSLN.js.map → get-ALNQPO3F.js.map} +0 -0
- /package/dist/{get-ZLSZTGXA.js.map → get-BLWUJWTJ.js.map} +0 -0
- /package/dist/{get-HXJSMHDC.js.map → get-OT3AANLU.js.map} +0 -0
- /package/dist/{get-JGCMBA7Y.js.map → get-PFFST42A.js.map} +0 -0
- /package/dist/{gif-KHF452GC.js.map → gif-QCH3FJHD.js.map} +0 -0
- /package/dist/{google-KTDHD75U.js.map → google-5RM2V7PE.js.map} +0 -0
- /package/dist/{google-5GESCEKC.js.map → google-YQ5D4PB6.js.map} +0 -0
- /package/dist/{group-ZMCHUQMI.js.map → group-CHOPV2I3.js.map} +0 -0
- /package/dist/{group-JYNKEOPG.js.map → group-KTFOHXGH.js.map} +0 -0
- /package/dist/{gsc-I6RIFE7I.js.map → gsc-35YVWJ4E.js.map} +0 -0
- /package/dist/{history-F3N6M4JM.js.map → history-Y4VNF5TU.js.map} +0 -0
- /package/dist/{icon-4C2JOBPE.js.map → icon-WT2BZJ5G.js.map} +0 -0
- /package/dist/{ideas-7COQX7C3.js.map → ideas-MT2NSIYS.js.map} +0 -0
- /package/dist/{images-5XNXXZLM.js.map → images-JFNAKV5U.js.map} +0 -0
- /package/dist/{improve-6VC6ORAG.js.map → improve-4BN7ASFK.js.map} +0 -0
- /package/dist/{ingest-L6MMXL6R.js.map → ingest-XWWDPKPZ.js.map} +0 -0
- /package/dist/{insights-3TEVP4B2.js.map → insights-2JRN53IF.js.map} +0 -0
- /package/dist/{insights-3H736QZH.js.map → insights-Q3QN4YQ2.js.map} +0 -0
- /package/dist/{inspiration-I2XMXXEW.js.map → inspiration-3MF6SN4M.js.map} +0 -0
- /package/dist/{intent-IYUKLNST.js.map → intent-4X76HZ4S.js.map} +0 -0
- /package/dist/{job-MTHK2PPN.js.map → job-IA7XUMHW.js.map} +0 -0
- /package/dist/{job-create-AD3L6A6F.js.map → job-create-A3YQCY4U.js.map} +0 -0
- /package/dist/{job-status-MCFOA5V3.js.map → job-status-56EON3DS.js.map} +0 -0
- /package/dist/{keep-NNATO2B6.js.map → keep-S6MJM5RW.js.map} +0 -0
- /package/dist/{keyword-gap-RSITTJ56.js.map → keyword-gap-JZQSQBCJ.js.map} +0 -0
- /package/dist/{landing-ZFZ4LYCB.js.map → landing-T5X74INN.js.map} +0 -0
- /package/dist/{languages-SJ6ZWALA.js.map → languages-CVH5RLA3.js.map} +0 -0
- /package/dist/{languages-3FETIHSB.js.map → languages-OG5UB5HX.js.map} +0 -0
- /package/dist/{launches-ZZ7ST4SY.js.map → launches-VA7F7VNW.js.map} +0 -0
- /package/dist/{layerize-NSF6NEWY.js.map → layerize-AD5QZ27N.js.map} +0 -0
- /package/dist/{leads-EVFLPNG6.js.map → leads-MWLO42NZ.js.map} +0 -0
- /package/dist/{library-UKGHGGOG.js.map → library-JZWQF5LV.js.map} +0 -0
- /package/dist/{lighthouse-B2IBNWLX.js.map → lighthouse-PZVDR4V4.js.map} +0 -0
- /package/dist/{line-items-GLNMIKM5.js.map → line-items-U6W2WHK2.js.map} +0 -0
- /package/dist/{list-XRON5I6M.js.map → list-FHD6XLBG.js.map} +0 -0
- /package/dist/{list-3IJMAQHX.js.map → list-H77PTVSF.js.map} +0 -0
- /package/dist/{list-XBYKFXS3.js.map → list-JDJY55SE.js.map} +0 -0
- /package/dist/{list-NZZ75O6C.js.map → list-VP2FP2DZ.js.map} +0 -0
- /package/dist/{list-BDPUPCQZ.js.map → list-Z44K4QN3.js.map} +0 -0
- /package/dist/{locations-M2665NGJ.js.map → locations-3PVEWKUN.js.map} +0 -0
- /package/dist/{locations-TKPILKLO.js.map → locations-KPB7YMY7.js.map} +0 -0
- /package/dist/{logo-EVE3TAL5.js.map → logo-N7JOUSLF.js.map} +0 -0
- /package/dist/{lookup-Z5TFHYDU.js.map → lookup-NTOAWVB7.js.map} +0 -0
- /package/dist/{media-FRNTELKI.js.map → media-IZ4RDOGZ.js.map} +0 -0
- /package/dist/{media-DGNFOT7M.js.map → media-QNVOMX2L.js.map} +0 -0
- /package/dist/{media-sources-V452RJ6B.js.map → media-sources-ESDSKU77.js.map} +0 -0
- /package/dist/{meta-NGBLUNVU.js.map → meta-P5CF3K3C.js.map} +0 -0
- /package/dist/{metrics-QRRK473C.js.map → metrics-DGEUY2UE.js.map} +0 -0
- /package/dist/{models-4BTFIZZZ.js.map → models-KAAOFX22.js.map} +0 -0
- /package/dist/{normalize-O47OIEUO.js.map → normalize-LC6FTTX2.js.map} +0 -0
- /package/dist/{output-W473ZLGR.js.map → output-G3GBWY3I.js.map} +0 -0
- /package/dist/{page-7TEJ5NA5.js.map → page-T27BIISC.js.map} +0 -0
- /package/dist/{pages-S2E3FHDH.js.map → pages-Z7L65T4G.js.map} +0 -0
- /package/dist/{performance-IMD2N7OD.js.map → performance-PIB64TCS.js.map} +0 -0
- /package/dist/{pinterest-DQC3JXQT.js.map → pinterest-EGNWZUFU.js.map} +0 -0
- /package/dist/{pixels-MHH4N35F.js.map → pixels-EXZO6PO7.js.map} +0 -0
- /package/dist/{pixels-M5GS7DIH.js.map → pixels-PK3NDJWX.js.map} +0 -0
- /package/dist/{plan-GGLBOLIU.js.map → plan-2FBPAUNT.js.map} +0 -0
- /package/dist/{preview-AHDEJO2X.js.map → preview-VON3MQGX.js.map} +0 -0
- /package/dist/{profile-2TPKFD4Y.js.map → profile-2UZLQUTP.js.map} +0 -0
- /package/dist/{promoted-tweets-TIHMJ5PU.js.map → promoted-tweets-GHHCSHZU.js.map} +0 -0
- /package/dist/{properties-KOY2GE45.js.map → properties-TKJVTJWP.js.map} +0 -0
- /package/dist/{query-EO7BX4MH.js.map → query-E6G2FS4B.js.map} +0 -0
- /package/dist/{query-XLTRAAQO.js.map → query-IEJ6GDJT.js.map} +0 -0
- /package/dist/{query-QZWMKAJZ.js.map → query-JDLAZAZB.js.map} +0 -0
- /package/dist/{questionnaire-BL3G6UYL.js.map → questionnaire-7TDP2OIX.js.map} +0 -0
- /package/dist/{read-ZMNYD3PA.js.map → read-H3WO6TUB.js.map} +0 -0
- /package/dist/{reddit-RO3VKMJ7.js.map → reddit-6U3NJUBN.js.map} +0 -0
- /package/dist/{relevant-pages-ZGGWFDLL.js.map → relevant-pages-E5IWT4JX.js.map} +0 -0
- /package/dist/{remove-MQ3JY36P.js.map → remove-BNRKVQEW.js.map} +0 -0
- /package/dist/{research-2XAQRMC3.js.map → research-XRE3LGFO.js.map} +0 -0
- /package/dist/{retry-failed-3R35LZ6I.js.map → retry-failed-3DMGOEFM.js.map} +0 -0
- /package/dist/{run-HRSNUGWJ.js.map → run-NK5LF3UC.js.map} +0 -0
- /package/dist/{schedule-KSIMVG5U.js.map → schedule-EB3LSEUO.js.map} +0 -0
- /package/dist/{scheduled-agents-RM24BRGD.js.map → scheduled-agents-UDH7LHT2.js.map} +0 -0
- /package/dist/{schema-MT76C7XK.js.map → schema-TSTEGRJ7.js.map} +0 -0
- /package/dist/{scrape-ICS5UA62.js.map → scrape-VGSZS6SM.js.map} +0 -0
- /package/dist/{screenshot-YPUFPY5W.js.map → screenshot-NUVTRG3D.js.map} +0 -0
- /package/dist/{search-HOQZ3XIK.js.map → search-265T7Y7G.js.map} +0 -0
- /package/dist/{search-6BHODVNN.js.map → search-7XFVB6DH.js.map} +0 -0
- /package/dist/{search-TCDI77HS.js.map → search-SOZ3HPIB.js.map} +0 -0
- /package/dist/{search-W7E5S347.js.map → search-UNYQXK6E.js.map} +0 -0
- /package/dist/{search-copy-LXBPFQC3.js.map → search-copy-AKY73GKO.js.map} +0 -0
- /package/dist/{seeds-Q6VS27LT.js.map → seeds-FF6JTDIB.js.map} +0 -0
- /package/dist/{sends-HDTG7XRL.js.map → sends-XOR6X3MW.js.map} +0 -0
- /package/dist/{sequences-SISO5JGS.js.map → sequences-HJJTLSCV.js.map} +0 -0
- /package/dist/{shared-MJEF5Z6R.js.map → shared-NOT4U5P3.js.map} +0 -0
- /package/dist/{sitemaps-G3YCZDEM.js.map → sitemaps-GHFPKIGO.js.map} +0 -0
- /package/dist/{sites-YH2ZIMCP.js.map → sites-UGDJGEI4.js.map} +0 -0
- /package/dist/{skills-SQTM676S.js.map → skills-RKCLARCX.js.map} +0 -0
- /package/dist/{sources-OES5YJY6.js.map → sources-ZQG5GKKC.js.map} +0 -0
- /package/dist/{stats-IDL2KWGM.js.map → stats-RX67ANJJ.js.map} +0 -0
- /package/dist/{sticker-2R5LODHJ.js.map → sticker-FPIFV6J3.js.map} +0 -0
- /package/dist/{stock-5DWDTNFB.js.map → stock-4BZVZYM5.js.map} +0 -0
- /package/dist/{studio-PPFFAUWO.js.map → studio-6J4HFHKT.js.map} +0 -0
- /package/dist/{sync-JRRGJWFH.js.map → sync-3XOV4JVW.js.map} +0 -0
- /package/dist/{sync-7DWOHCVF.js.map → sync-XMQP4ASW.js.map} +0 -0
- /package/dist/{sync-definition-SDJM567M.js.map → sync-definition-IQ7LDTM2.js.map} +0 -0
- /package/dist/{tag-manager-MBS6YCZM.js.map → tag-manager-3FKPMUYJ.js.map} +0 -0
- /package/dist/{tags-5EVJ73IX.js.map → tags-EEPRL747.js.map} +0 -0
- /package/dist/{targeting-constants-KIMGCL2N.js.map → targeting-constants-T5SV3RBQ.js.map} +0 -0
- /package/dist/{targeting-criteria-5BN4EELG.js.map → targeting-criteria-4CMZS63Y.js.map} +0 -0
- /package/dist/{testimonials-2IJE6K2L.js.map → testimonials-HX7LCXEB.js.map} +0 -0
- /package/dist/{themes-6BRONMJ2.js.map → themes-N3A5RRFO.js.map} +0 -0
- /package/dist/{tweets-YEMIGLP7.js.map → tweets-IR2HROMH.js.map} +0 -0
- /package/dist/{unfollow-S6XQVQIA.js.map → unfollow-A7GRLMY2.js.map} +0 -0
- /package/dist/{unstage-VDLTHNHY.js.map → unstage-EY5GFBKG.js.map} +0 -0
- /package/dist/{upload-PTXQ7IEE.js.map → upload-GYJP3MTW.js.map} +0 -0
- /package/dist/{upscale-YQ2KZRCI.js.map → upscale-IN7ONODV.js.map} +0 -0
- /package/dist/{url-options-QRGN4Q34.js.map → url-options-M2PRFR7P.js.map} +0 -0
- /package/dist/{use-BFD6WCDB.js.map → use-DRH3UODR.js.map} +0 -0
- /package/dist/{variant-U77I2UDY.js.map → variant-4JRLIUEF.js.map} +0 -0
- /package/dist/{videos-2EPKRCW6.js.map → videos-M6OJINGL.js.map} +0 -0
- /package/dist/{view-BDLUTKMK.js.map → view-NKEOHFYX.js.map} +0 -0
- /package/dist/{viewer-check-YF6ENNNL.js.map → viewer-check-FVVKJROL.js.map} +0 -0
- /package/dist/{winners-AWRCSFAC.js.map → winners-3QYUR4HE.js.map} +0 -0
- /package/dist/{winning-ads-QQ6Y5R7T.js.map → winning-ads-MCH5FYMT.js.map} +0 -0
- /package/dist/{write-commands-MYA273DT.js.map → write-commands-24EXCNQQ.js.map} +0 -0
- /package/dist/{write-commands-HZI5YF52.js.map → write-commands-K7UNX4CE.js.map} +0 -0
- /package/dist/{write-commands-OQPBPQ77.js.map → write-commands-QQVMIG7U.js.map} +0 -0
- /package/dist/{x-WA3Q46K6.js.map → x-3CFDN2QM.js.map} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/funnel/index.ts","../src/commands/funnel/formMoments.ts","../src/commands/funnel/funnelArgs.ts"],"sourcesContent":["import { readFileSync } from \"node:fs\";\nimport type { FunnelRequest, FunnelResponse } from \"@baker/api/funnel\";\nimport { defineCommand } from \"citty\";\nimport { ApiError, apiPost } from \"../../client.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport { writeJsonEnvelope } from \"../ads/output.ts\";\nimport { flowDataPath, listFlowSlugs } from \"../flows/shared.ts\";\nimport { formsNamedHere, unplacedFormHints, type WorkspaceForm, withFormMoments } from \"./formMoments.ts\";\nimport { FunnelArgsError, funnelWrite, parseFunnelArgs } from \"./funnelArgs.ts\";\n\n/**\n * `baker funnel` — the company's own funnel: the steps it has, in its own\n * words, wired the way its business actually runs.\n *\n * One command rather than a family, because there is one thing to say: this is\n * the funnel. A read with no flags, a write that restates the whole graph. It\n * is the only staged write in the CLI that does not take operations, and the\n * reason is in `@baker/api/funnel/wire.ts`: a funnel is a graph of a handful of\n * steps, so restating it costs nothing and the person reviewing it sees the\n * funnel they will get rather than a list of edits.\n */\nconst args = {\n steps: {\n type: \"string\",\n description:\n 'The WHOLE funnel, as a JSON array. One object per step: {\"key\":\"meeting_held\",\"displayName\":\"Demo held\",\"stepClass\":\"engaged\",\"after\":[\"lead\"],\"triggers\":[{\"id\":\"t1\",\"kind\":\"event\",\"eventKey\":\"page:demo_held\"}]}. It REPLACES the funnel rather than adding to it, so read first and restate everything you want to keep. `key` is permanent and reaches reporting and URLs (lowercase, digits, underscores); `displayName` is the client\\'s own words and can be anything. `stepClass` is the stage, one of visited, lead, engaged, customer, repeat, lost — six plain words every business has, used to compare one company\\'s funnel with another\\'s. `after` is a LIST, so two ways into one step is expressible and normal. `triggers` is what MOVES somebody onto the step, any one of them being enough, and there are three kinds: `{\"id\":\"t1\",\"kind\":\"event\",\"eventKey\":\"submit:contact\"}` for anything the company\\'s Forms, pages or systems produced, used by its own key with nothing named first; `{\"id\":\"t2\",\"kind\":\"landing\",\"landingId\":\"<from --moments>\"}` for one landing page being viewed; `{\"id\":\"t3\",\"kind\":\"any_landing\"}` for any landing being viewed. Take every key and id from `--moments`. A trigger carries no amount: an event is worth what it says, and a step is worth the sum. Where a step SENDS its people is not written here: a send belongs to the system\\'s event (`baker analytics sends`), and the step reads it back as `sends[]`',\n required: false,\n },\n step: {\n type: \"string\",\n description:\n 'ONE step as a JSON object, in the same shape as an entry of --steps. It is added to the funnel as it now stands, or replaces the step with the same `key`, and every other step is left exactly as it is — the door for adding or changing a stage without restating the rest. Example: --step \\'{\"key\":\"demo\",\"displayName\":\"Demo held\",\"stepClass\":\"engaged\",\"after\":[\"lead\"],\"triggers\":[{\"id\":\"t1\",\"kind\":\"event\",\"eventKey\":\"page:demo_held\"}]}\\'',\n required: false,\n },\n \"add-trigger\": {\n type: \"string\",\n description:\n 'The key of ONE step to add a way in to, with `--event` naming what gets somebody there: `--add-trigger lead --event \"submit:contact\"`. Start here for \"this Form should count as a lead\" — it adds that one way in and leaves the step\\'s name, stage, `after[]` and every other trigger exactly as they are. Prefer it to `--step`, which takes a WHOLE step and therefore silently removes any trigger the restatement forgets. Adding a key the step already listens for changes nothing. Take the key from `--moments`, never from memory',\n required: false,\n },\n \"remove-trigger\": {\n type: \"string\",\n description:\n 'The key of ONE step to take a way in OFF, with `--event` naming which: `--remove-trigger lead --event \"submit:contact\"`. By event key rather than by trigger id, because the id is not something you ever saw. Everything else about the step is untouched',\n required: false,\n },\n event: {\n type: \"string\",\n description:\n \"The event key `--add-trigger` or `--remove-trigger` acts on — an `events[].eventKey` from `--moments`, never invented. Every Form's endings are listed there by the step each happens on, at zero before anybody has filled the Form in; which one means the step is your decision\",\n required: false,\n },\n \"remove-step\": {\n type: \"string\",\n description:\n \"The key of one step to take off the funnel. Whatever came after it moves up to whatever came before it, so the chain stays joined. The response lists it under `removed`\",\n required: false,\n },\n preset: {\n type: \"string\",\n description:\n \"Draw one of the ready-made graphs instead of stating steps: b2b_sales, b2b_inbound, saas_self_serve, saas_sales_assisted, ecommerce_purchase. It draws over the whole funnel — every company already has one, so prefer --step to change a step. Run --templates first to see what each one contains\",\n required: false,\n },\n moments: {\n type: \"boolean\",\n description:\n \"Also return everything a trigger can name, so a trigger is PICKED rather than invented: `events` (every event this company's Forms, pages and systems produced in the window, with volume, the Form it belongs to, `origin` — `site` for a page or Form, `systems` for the client's own server, `both` — and `countedAs` when the company also counts it as a page conversion, which a trigger does not need; PLUS **every workspace Form's endings** — each step's completion and its `submit:` — with the `step` each happens on, at zero and `seen: false` until somebody fires one, so a Form built minutes ago is pickable with nothing set up first, and `countedAs` when the company already counts it. Nothing is marked as the outcome: which ending means a step is YOUR decision — read the step names, and ask the person when they do not make it obvious (a Form that branches into “Not a fit” and “Quote confirmed”). If the Form is already counted, use that same key, so the step and the conversion agree. `baker analytics conversions --flow <slug>` also lists a widget's housekeeping), `sources` (the client's own systems that post events to Baker, by the `page:<name>` key each raises, pickable before its first send arrives) and `landings` (its pages, by the id a `landing` trigger takes). Use this before writing any `triggers`: a key typed from memory saves, publishes and counts nobody forever. A Form's events need NOTHING set up first — no Source, no conversion: a Baker page raises them by itself\",\n required: false,\n },\n days: {\n type: \"string\",\n description:\n \"How many days the counts beside each step cover (default 30, up to 400). Every step comes back with `people` (reached it), `atLeast` (reached it or anything after it), `before` (got as far as the step before) and `share` (atLeast / before) — counted in PEOPLE across visits and devices, not in visits\",\n required: false,\n },\n templates: {\n type: \"boolean\",\n description:\n \"Also return the libraries: the suggested steps with their stages, the presets, and `stages[]` (the six stages with the test to apply). Where a step can be sent is not here — a send belongs to the system's event, and `baker analytics sends` lists the platforms and the tags that can send\",\n required: false,\n },\n} as const;\n\nregisterSchema({\n command: \"funnel\",\n description: \"Read the company's funnel, or draw one\",\n args,\n});\n\nexport const funnelCommand = defineCommand({\n meta: {\n name: \"funnel\",\n description:\n 'Start here: run with no flags to see the funnel this company has, with the last 30 days of PEOPLE counted beside every step — `people` reached it, `atLeast` got at least that far, `before` got as far as the step before, `share` is the ratio, and `worstStep` names where the most people are lost. Every company has one from the day it exists: Visited (any landing) → Became a lead → Became a customer, the last two with no way in until somebody gives them one. Then `--moments` for everything a trigger can name (every event the company\\'s Forms, pages and systems produced, its sources, its landings, plus each Form\\'s own outcome at zero). **To make an event count on a step — the usual job — use `--add-trigger <step> --event <key>`:** it adds that one way in and touches nothing else about the step. `--step \\'<json>\\'` is for adding or renaming a STEP; it replaces the step with that key, so it means restating its `after` and every trigger it keeps, and one left out is gone. A step is reached by three kinds of thing and nothing else: an event by its own key (`{\"id\":\"t1\",\"kind\":\"event\",\"eventKey\":\"<from moments.events or moments.sources>\"}`), one landing being viewed (`{\"id\":\"t2\",\"kind\":\"landing\",\"landingId\":\"<from moments.landings>\"}`) or any landing (`{\"id\":\"t3\",\"kind\":\"any_landing\"}`). Nothing has to be named first. Pick every trigger from `--moments`, never from memory. A step with no `triggers` advances NOBODY and reports zero forever without warning — that is what the hints keep pointing at. There is no default door: a Form is only counted where a trigger names it. Keep it true: a chat that adds a Form, a Source or an event that moves people forward places it on its step in the same chat. Each step comes back with `sends[]`, read-only: where the people who reach it are sent and what happened, read off the system events behind its ways in. A send is set on the event with `baker analytics sends`, never on a step, and once published it spends ad budget — a failed one is named in the hints. Everything here is STAGED: it becomes the company\\'s funnel in one piece when the chat is published — the client sees it on the canvas in this chat and can edit it there too — and the previous version stays on file so what was already measured under it is not lost.',\n },\n args,\n run: async ({ args: raw }) => {\n try {\n const parsed = parseFunnelArgs(raw as Record<string, unknown>);\n // Read once: every Form in this workspace, including the one built in\n // this Session that the backend has never seen.\n const forms = workspaceForms();\n const namedByCaller = formsNamedHere(forms);\n const request: FunnelRequest = {\n ...funnelWrite(parsed),\n ...(namedByCaller.length === 0 ? {} : { namedByCaller }),\n };\n const response = await apiPost<FunnelResponse>(\"/api/funnel\", request);\n // What the company already counts, so a Form's ending can say so: the\n // agent choosing a way in should put the same key on the step.\n const counted = new Map((response.data.counted ?? []).map((row) => [row.eventKey, row.name] as const));\n const data =\n response.data.moments === undefined\n ? response.data\n : { ...response.data, moments: withFormMoments(response.data.moments, forms, counted) };\n const hints = [...(response.hints ?? []), ...unplacedFormHints(response.data.steps ?? [], forms, counted)];\n writeJsonEnvelope({\n ok: true,\n data,\n ...(hints.length > 0 ? { hints } : {}),\n });\n } catch (err) {\n handleError(err);\n }\n },\n});\n\n/**\n * A malformed `--steps` is the caller's own JSON, so it comes back as a\n * validation error carrying the parser's own sentence and its `fix` — the\n * request was never made, and \"that did not parse\" is something the agent can\n * act on in the same turn.\n */\nfunction handleError(err: unknown): never {\n if (err instanceof FunnelArgsError) {\n writeJsonEnvelope({\n ok: false,\n error: { code: \"VALIDATION_ERROR\", message: err.message, ...(err.fix ? { fix: err.fix } : {}) },\n });\n process.exit(1);\n }\n if (err instanceof ApiError) {\n writeJsonEnvelope({ ok: false, error: { code: err.code, message: err.message } });\n process.exit(1);\n }\n writeJsonEnvelope({\n ok: false,\n error: { code: \"NETWORK_ERROR\", message: err instanceof Error ? err.message : \"Unexpected error\" },\n });\n process.exit(1);\n}\n\n/**\n * Every Form in this workspace with its tree, skipping whatever cannot be read.\n *\n * Skipping rather than failing: `baker funnel` is one of the commands reached\n * for while a Form is half-written, and a flow-builder loop that has created\n * the folder but not yet the file would otherwise take the whole funnel down\n * with it. A Form left out costs one unfired ending in a list; a throw costs\n * the command.\n */\nfunction workspaceForms(): WorkspaceForm[] {\n const forms: WorkspaceForm[] = [];\n for (const slug of listFlowSlugs()) {\n try {\n forms.push({ slug, tree: JSON.parse(readFileSync(flowDataPath(slug), \"utf-8\")) });\n } catch {\n // Unreadable or not yet written.\n }\n }\n return forms;\n}\n","import { type FlowEventKey, flowEventKeys } from \"@baker/api/analytics/flowEventKeys\";\nimport type { FunnelResponse } from \"@baker/api/funnel\";\n\n/**\n * A Form's endings, added to `--moments` before any of them has fired.\n *\n * `moments.events` is built from the event store, so it knows an event only\n * once somebody has produced one. A Form published this morning offered\n * nothing, and the picker's remaining affordances — type the key by hand, or\n * add a Source — are both wrong: a Source is a door for the company's own\n * systems, and a Baker page already raises its events natively. That is how a\n * funnel step ends up naming a key nothing produces, which never errors and\n * counts zero forever.\n *\n * Facts only. Which ending is the point of a Form is the agent's decision:\n * it is a reading of what the steps mean — \"Quote confirmed\" against \"Not a\n * fit\" — and a rule over the tree's shape picked the step both branches pass\n * through, which would have counted every rejected visitor as a lead. So\n * nothing here is marked as the outcome; each ending says the step it happens\n * on and whether the company already counts it, and the agent chooses.\n *\n * Pure, and the reading of the trees is the caller's: a half-written\n * `_data.json` under a flow-builder loop must not take out `baker funnel`.\n */\n\ntype Moments = NonNullable<FunnelResponse[\"data\"][\"moments\"]>;\ntype MomentEvent = Moments[\"events\"][number];\n\nexport interface WorkspaceForm {\n slug: string;\n tree: unknown;\n}\n\n/** Event key → the name the company counts it under, this chat's staged counts included. */\nexport type CountedNames = ReadonlyMap<string, string>;\n\n/**\n * Each step's completion and the Form's own submit — the endings a step could\n * mean. A widget's housekeeping (\"the booking page was viewed\") is left out:\n * it is never what a person means by reaching a step, it roughly doubled the\n * list, and `baker analytics conversions --flow <slug>` still has it.\n */\nfunction offeredEndings(form: WorkspaceForm): FlowEventKey[] {\n return flowEventKeys(form.tree, form.slug).filter((ending) => ending.isCompletion || ending.nodeId === null);\n}\n\n/**\n * The store's events plus every workspace Form's endings, each with its step.\n *\n * An ending that has fired stays the store's own row, never replaced: it\n * carries a real volume, and a zero in its place would say the opposite of\n * what is true. It gains the step it happens on, which only the Form knows. An\n * ending nothing has fired yet is appended at zero, `seen: false`, with the\n * name the company counts it under when it counts it.\n */\nexport function formMoments(\n events: readonly MomentEvent[],\n forms: readonly WorkspaceForm[],\n counted: CountedNames,\n): MomentEvent[] {\n const endings = new Map<string, { slug: string; ending: FlowEventKey }>();\n for (const form of forms) {\n for (const ending of offeredEndings(form)) endings.set(ending.eventKey, { slug: form.slug, ending });\n }\n\n const known = events.map((event) => {\n const found = endings.get(event.eventKey);\n if (found === undefined) return event;\n endings.delete(event.eventKey);\n return { ...event, step: found.ending.nodeName };\n });\n const unfired = [...endings.values()].map(({ slug, ending }): MomentEvent => {\n const countedAs = counted.get(ending.eventKey);\n return {\n eventKey: ending.eventKey,\n origin: \"site\",\n flowSlug: slug,\n ...(ending.nodeType === null ? {} : { nodeType: ending.nodeType }),\n events: 0,\n sessions: 0,\n step: ending.nodeName,\n seen: false,\n ...(countedAs === undefined ? {} : { countedAs }),\n };\n });\n return [...known, ...unfired];\n}\n\n/** The moments as answered, with every workspace Form's endings alongside. */\nexport function withFormMoments(moments: Moments, forms: readonly WorkspaceForm[], counted: CountedNames): Moments {\n return { ...moments, events: formMoments(moments.events, forms, counted) };\n}\n\n/**\n * The Forms {@link unplacedFormHints} speaks for, by slug — every one that\n * raises an ending at all.\n *\n * Sent with the request so the backend leaves them out of its own \"on no step\"\n * hint, and every unplaced Form is named once. A Form whose tree holds no step\n * is left to the backend, so it is still named.\n */\nexport function formsNamedHere(forms: readonly WorkspaceForm[]): string[] {\n return forms.filter((form) => flowEventKeys(form.tree, form.slug).length > 0).map((form) => form.slug);\n}\n\n/**\n * The Forms in this workspace that no step counts, as ONE hint.\n *\n * The backend knows only PUBLISHED Forms, so a Form built in this Session was\n * named by nobody — on the one turn where the reminder is worth most. So this\n * owns the reminder for every Form in the workspace ({@link formsNamedHere})\n * and the backend's hint covers only the rest.\n *\n * It names Forms and never a key to place: the key is the agent's decision.\n * The one key it does print is a fact — the ending the company already counts\n * — because a step on a different ending of the same Form saves, publishes and\n * disagrees with the conversion for ever.\n *\n * One hint rather than one per Form, measured: a 27-Form client got 27\n * near-identical paragraphs, which is how an agent learns to skip the hints.\n * But every Form is named in it: the backend leaves all of them to this hint,\n * so a Form cut from the list here is named nowhere.\n */\nexport function unplacedFormHints(\n steps: readonly { key: string; triggers?: readonly { eventKey?: string }[] }[],\n forms: readonly WorkspaceForm[],\n counted: CountedNames,\n): string[] {\n const onAStep = new Set(\n steps.flatMap((step) => (step.triggers ?? []).flatMap((trigger) => (trigger.eventKey ? [trigger.eventKey] : []))),\n );\n const unplaced: string[] = [];\n for (const form of forms) {\n const endings = flowEventKeys(form.tree, form.slug);\n if (endings.length === 0 || endings.some((ending) => onAStep.has(ending.eventKey))) continue;\n const countedOn = endings.filter((ending) => counted.has(ending.eventKey));\n unplaced.push(\n countedOn.length === 0\n ? form.slug\n : `${form.slug} (counted as ${countedOn.map((ending) => `\"${counted.get(ending.eventKey)}\" on \\`${ending.eventKey}\\``).join(\", \")})`,\n );\n }\n if (unplaced.length === 0) return [];\n\n return [\n `${unplaced.length} Form(s) in this workspace reach no funnel step, so they move nobody along it however many people finish them: ${unplaced.join(\"; \")}. Which ending moves somebody to which step is your call: \\`baker funnel --moments\\` lists every Form's endings by the step each happens on, and when the step names do not make it obvious — a Form that branches into a rejection and a confirmation — ask the person which one means a lead or a customer. Place it with \\`baker funnel --add-trigger <step> --event <key>\\`. A Form already counted as a page conversion goes on the funnel by THAT SAME key, or the two numbers disagree for ever.`,\n ];\n}\n","import { parseEventKey } from \"@baker/api/analytics\";\nimport { FUNNEL_VERTICALS, type FunnelRequest, funnelRequestSchema } from \"@baker/api/funnel\";\n\n/**\n * `baker funnel`'s flags, turned into the one request the route takes.\n *\n * Pure and tier-1 tested, because everything that can go wrong with this\n * command goes wrong here: hand-written JSON, a preset spelled from memory, and\n * a step whose ways in are half-written. Each of those has to come back as a\n * sentence the agent can act on in the same turn rather than as a request that\n * failed for a reason only the server can see.\n *\n * There is no `--forms` any more. It used to say which step each Form's\n * submissions entered, alongside a rule that dropped an unplaced Form on the\n * funnel's first step — so a funnel that measured a client's Forms\n * by accident was indistinguishable from one that measured them deliberately.\n * A Form reaches a step because a trigger on that step names it, and `baker\n * funnel`'s hints name every Form no step counts.\n */\n\nexport class FunnelArgsError extends Error {\n /** Structured remediation, in the shape the CLI's error envelope carries. */\n readonly fix?: { action: string; explanation: string };\n\n constructor(message: string, fix?: { action: string; explanation: string }) {\n super(message);\n this.name = \"FunnelArgsError\";\n if (fix) {\n this.fix = fix;\n }\n }\n}\n\nexport interface FunnelArgs {\n steps?: unknown[];\n /** One step, added or replaced by key; the rest of the funnel is left as it stands. */\n step?: unknown;\n /** One step taken off by key. */\n removeStep?: string;\n /** One way in added to a step, by the event key it listens for. */\n addTrigger?: { stepKey: string; eventKey: string };\n /** One way in taken off a step. */\n removeTrigger?: { stepKey: string; eventKey: string };\n preset?: string;\n templates: boolean;\n moments: boolean;\n days?: number;\n}\n\nexport function parseFunnelArgs(raw: Record<string, unknown>): FunnelArgs {\n const steps = parseSteps(raw.steps);\n const step = parseStep(raw.step);\n const removeStep = parseRemoveStep(raw[\"remove-step\"] ?? raw.removeStep);\n const preset = parsePreset(raw.preset);\n const addTrigger = parseWayIn(raw[\"add-trigger\"] ?? raw.addTrigger, raw.event, \"--add-trigger\");\n const removeTrigger = parseWayIn(raw[\"remove-trigger\"] ?? raw.removeTrigger, raw.event, \"--remove-trigger\");\n\n const doors = [steps, step, removeStep, preset, addTrigger, removeTrigger].filter(\n (door) => door !== undefined,\n ).length;\n if (doors > 1) {\n throw new FunnelArgsError(\n \"Give one of --steps, --step, --remove-step, --preset, --add-trigger or --remove-trigger, not two.\",\n );\n }\n\n const days = raw.days === undefined ? undefined : Number(raw.days);\n if (days !== undefined && (!Number.isInteger(days) || days <= 0 || days > 400)) {\n throw new FunnelArgsError(\"--days must be a whole number of days, from 1 to 400.\");\n }\n\n return {\n ...(steps === undefined ? {} : { steps }),\n ...(step === undefined ? {} : { step }),\n ...(removeStep === undefined ? {} : { removeStep }),\n ...(preset === undefined ? {} : { preset }),\n ...(addTrigger === undefined ? {} : { addTrigger }),\n ...(removeTrigger === undefined ? {} : { removeTrigger }),\n templates: raw.templates === true,\n moments: raw.moments === true,\n ...(days === undefined ? {} : { days }),\n };\n}\n\n/**\n * The request body. Validated against the shared schema here rather than only\n * on the server, so a malformed step is named before a round trip — and named\n * as the step it is, which the server's first-issue message cannot always do.\n */\nexport function funnelWrite(args: FunnelArgs): FunnelRequest {\n const body = {\n ...(args.steps === undefined ? {} : { steps: args.steps }),\n ...(args.step === undefined ? {} : { step: args.step }),\n ...(args.removeStep === undefined ? {} : { removeStep: args.removeStep }),\n ...(args.preset === undefined ? {} : { preset: args.preset }),\n ...(args.addTrigger === undefined ? {} : { addTrigger: args.addTrigger }),\n ...(args.removeTrigger === undefined ? {} : { removeTrigger: args.removeTrigger }),\n ...(args.templates ? { templates: true } : {}),\n ...(args.moments ? { moments: true } : {}),\n ...(args.days === undefined ? {} : { days: args.days }),\n };\n const parsed = funnelRequestSchema.safeParse(body);\n if (!parsed.success) {\n const issue = parsed.error.issues[0];\n throw new FunnelArgsError(\n `That funnel cannot be sent — ${issue?.path.join(\".\") || \"steps\"}: ${issue?.message ?? \"invalid\"}`,\n {\n action: \"read_the_schema\",\n explanation:\n \"Run `baker schema funnel` for the exact shape of one step, or `baker funnel --templates` for sixteen worked examples plus every field an event carries.\",\n },\n );\n }\n return parsed.data;\n}\n\nfunction parseSteps(raw: unknown): unknown[] | undefined {\n if (raw === undefined) {\n return undefined;\n }\n if (typeof raw !== \"string\") {\n throw new FunnelArgsError(\"--steps takes a JSON array of steps.\");\n }\n let parsed: unknown;\n try {\n parsed = JSON.parse(raw);\n } catch (cause) {\n throw new FunnelArgsError(`--steps is not valid JSON: ${cause instanceof Error ? cause.message : \"parse failed\"}`, {\n action: \"quote_the_json\",\n explanation:\n 'Wrap the whole array in single quotes so the shell leaves the double quotes alone: --steps \\'[{\"key\":\"lead\",...}]\\'.',\n });\n }\n if (!Array.isArray(parsed)) {\n throw new FunnelArgsError(\"--steps takes an ARRAY of steps, even when the funnel has one step.\");\n }\n refuseRetiredShapes(parsed);\n return parsed;\n}\n\n/**\n * One step, as JSON. The same shape one entry of `--steps` takes, and the same\n * refusals — a step written the old way is refused here too.\n */\nfunction parseStep(raw: unknown): unknown | undefined {\n if (raw === undefined) {\n return undefined;\n }\n if (typeof raw !== \"string\") {\n throw new FunnelArgsError(\"--step takes one step as a JSON object.\");\n }\n let parsed: unknown;\n try {\n parsed = JSON.parse(raw);\n } catch (cause) {\n throw new FunnelArgsError(`--step is not valid JSON: ${cause instanceof Error ? cause.message : \"parse failed\"}`, {\n action: \"quote_the_json\",\n explanation:\n 'Wrap the object in single quotes so the shell leaves the double quotes alone: --step \\'{\"key\":\"demo\",...}\\'.',\n });\n }\n if (typeof parsed !== \"object\" || parsed === null || Array.isArray(parsed)) {\n throw new FunnelArgsError(\"--step takes ONE step as an object. To restate several, use --steps with an array.\");\n }\n refuseRetiredShapes([parsed]);\n return parsed;\n}\n\nfunction parseRemoveStep(raw: unknown): string | undefined {\n if (raw === undefined) {\n return undefined;\n }\n if (typeof raw !== \"string\" || raw.trim() === \"\") {\n throw new FunnelArgsError(\"--remove-step takes the key of the step to take off, as `baker funnel` lists it.\");\n }\n return raw.trim();\n}\n\n/**\n * The shapes a step used to have and no longer does, refused by name.\n *\n * The wire schema would strip them silently: a step written with\n * `offlineConversions` would be stored without them and answer `ok`, and an\n * `analytics` or `conversion` trigger would be refused with zod's generic\n * discriminator message. Each has a home now — a send is set on the event, and\n * a way in is an event by its key with nothing to name first — so the refusal\n * says where.\n */\nfunction refuseRetiredShapes(steps: readonly unknown[]): void {\n for (const step of steps) {\n if (typeof step !== \"object\" || step === null) continue;\n const key = String((step as { key?: unknown }).key ?? \"?\");\n if (\"offlineConversions\" in step) {\n throw new FunnelArgsError(`Step \"${key}\" puts sends on the step, and a send belongs to the conversion.`, {\n action: \"set_sends_on_the_conversion\",\n explanation:\n \"Drop `offlineConversions`. Name the outcome with `baker analytics conversions`, then `baker analytics sends --set --conversion <name> --platform <p> --tag <tagId> --event <e>`; the step reads its conversions' sends back as `sends[]`.\",\n });\n }\n const triggers = (step as { triggers?: unknown }).triggers;\n if (!Array.isArray(triggers)) continue;\n const kinds = triggers.map((trigger) =>\n typeof trigger === \"object\" && trigger !== null ? (trigger as { kind?: unknown }).kind : undefined,\n );\n if (kinds.includes(\"analytics\") || kinds.includes(\"conversion\")) {\n const word = kinds.includes(\"analytics\") ? \"analytics\" : \"conversion\";\n throw new FunnelArgsError(\n `Step \"${key}\" has a \\`${word}\\` trigger, and a step is reached by an event or a landing only.`,\n {\n action: \"use_an_event_trigger\",\n explanation:\n 'Pick the moment from `baker funnel --moments` and write it as `{\"kind\":\"event\",\"eventKey\":\"<from moments.events or moments.sources>\"}` — nothing has to be named first. A landing is `{\"kind\":\"landing\",\"landingId\":\"<from moments.landings>\"}`.',\n },\n );\n }\n }\n}\n\nfunction parsePreset(raw: unknown): string | undefined {\n if (raw === undefined) {\n return undefined;\n }\n if (typeof raw !== \"string\" || !(FUNNEL_VERTICALS as readonly string[]).includes(raw)) {\n throw new FunnelArgsError(`--preset must be one of: ${FUNNEL_VERTICALS.join(\", \")}`, {\n action: \"list_the_presets\",\n explanation: \"Run `baker funnel --templates` to see what each preset contains before picking one.\",\n });\n }\n return raw;\n}\n\n/**\n * `--add-trigger <step> --event <key>`, or a refusal naming the missing half.\n *\n * Two flags rather than one JSON object, because that is the whole point of\n * this door: the thing being asked is \"this event should count on that step\",\n * and asking for JSON here would put the caller back in the business of\n * hand-writing a shape. The event key is still never invented — `--moments`\n * is where it comes from, and the refusal says so.\n */\nfunction parseWayIn(\n stepKey: unknown,\n eventKey: unknown,\n flag: string,\n): { stepKey: string; eventKey: string } | undefined {\n if (stepKey === undefined) return undefined;\n if (typeof stepKey !== \"string\" || stepKey.trim() === \"\") {\n throw new FunnelArgsError(`${flag} takes the key of the step to change: \\`${flag} lead\\`.`);\n }\n if (typeof eventKey !== \"string\" || eventKey.trim() === \"\") {\n throw new FunnelArgsError(`${flag} needs --event, naming what gets somebody there.`, {\n action: \"read_the_moments\",\n explanation: `Run \\`baker funnel --moments\\` and copy an \\`events[].eventKey\\` — a Form's own outcome is listed there at zero before anybody has filled it in. Then: \\`${flag} ${stepKey.trim()} --event \"<key>\"\\`.`,\n });\n }\n const key = eventKey.trim();\n // Refused here rather than at the backend, and only when ADDING: a key\n // nothing can produce does not error downstream, it counts zero for ever.\n // Removing is the opposite case — a key already on a step precisely because\n // it was wrong has to stay removable, whatever it parses as.\n if (flag === \"--add-trigger\" && parseEventKey(key) === null) {\n throw new FunnelArgsError(`\"${key}\" is not an event key, so nothing would ever reach that step through it.`, {\n action: \"read_the_moments\",\n explanation:\n \"Run `baker funnel --moments` and copy an `events[].eventKey`. They look like form:<form>:<step>:<trigger>, submit:<form>, page:<name> or view:<landing>.\",\n });\n }\n return { stepKey: stepKey.trim(), eventKey: key };\n}\n"],"mappings":"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","names":["args"]}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import "./chunk-YQSBHWOI.js";
|
|
2
|
+
|
|
3
|
+
// src/commands/ga4/index.ts
|
|
4
|
+
import { defineCommand } from "citty";
|
|
5
|
+
var ga4Command = defineCommand({
|
|
6
|
+
meta: {
|
|
7
|
+
name: "ga4",
|
|
8
|
+
description: `Google Analytics 4. Report on a property, audit its config, and change what it measures.
|
|
9
|
+
|
|
10
|
+
Start here:
|
|
11
|
+
baker ga4 properties \u2014 list accessible properties
|
|
12
|
+
baker ga4 config \u2014 what the property measures today (and whether Baker may change it)
|
|
13
|
+
baker ga4 query --list-presets \u2014 see available report presets
|
|
14
|
+
|
|
15
|
+
Report:
|
|
16
|
+
baker ga4 audit \u2014 full property health check
|
|
17
|
+
baker ga4 query --preset tracking-health \u2014 compare GA4 vs GAds data
|
|
18
|
+
baker ga4 query --dimensions "date" --metrics "sessions" --days 7 \u2014 free-form query
|
|
19
|
+
|
|
20
|
+
Then stage changes (nothing is sent to Google Analytics until the chat completes):
|
|
21
|
+
baker ga4 key-event create --json '{"eventName":"generate_lead","countingMethod":"ONCE_PER_EVENT"}'
|
|
22
|
+
baker ga4 custom-event create --json '{"destinationEvent":"quote_request","eventConditions":[...]}'
|
|
23
|
+
baker ga4 custom-dimension create --json '{"parameterName":"plan_tier","displayName":"Plan tier","scope":"EVENT"}'
|
|
24
|
+
baker ga4 audience create --json '{"displayName":"Visited without demo", \u2026}' \u2014 a group to retarget
|
|
25
|
+
baker ga4 property set --industry TECHNOLOGY \u2014 benchmarking cohort
|
|
26
|
+
baker ga4 ads-link create --customer-id 123-456-7890 \u2014 what makes audiences targetable
|
|
27
|
+
baker ga4 enhanced-measurement set --scrolls true --outbound-clicks true \u2014 automatic events, no tag needed
|
|
28
|
+
baker ga4 draft list \u2014 review everything staged
|
|
29
|
+
|
|
30
|
+
An applied change takes effect on the property immediately \u2014 there is no version to publish afterwards
|
|
31
|
+
and no undo. Agree the changes with the user before the chat completes, not after.
|
|
32
|
+
|
|
33
|
+
Full guide: __tooling__/docs/tools/baker/ga4.md`
|
|
34
|
+
},
|
|
35
|
+
subCommands: {
|
|
36
|
+
properties: () => import("./properties-TKJVTJWP.js").then((m) => m.propertiesCommand),
|
|
37
|
+
config: () => import("./config-4BUL56PU.js").then((m) => m.configCommand),
|
|
38
|
+
audit: () => import("./audit-4ODYNTLU.js").then((m) => m.auditCommand),
|
|
39
|
+
query: () => import("./query-E6G2FS4B.js").then((m) => m.queryCommand),
|
|
40
|
+
"key-event": () => import("./write-commands-QQVMIG7U.js").then((m) => m.keyEventCommand),
|
|
41
|
+
"custom-dimension": () => import("./write-commands-QQVMIG7U.js").then((m) => m.customDimensionCommand),
|
|
42
|
+
"custom-metric": () => import("./write-commands-QQVMIG7U.js").then((m) => m.customMetricCommand),
|
|
43
|
+
"custom-event": () => import("./write-commands-QQVMIG7U.js").then((m) => m.customEventCommand),
|
|
44
|
+
"data-retention": () => import("./write-commands-QQVMIG7U.js").then((m) => m.dataRetentionCommand),
|
|
45
|
+
audience: () => import("./write-commands-QQVMIG7U.js").then((m) => m.audienceCommand),
|
|
46
|
+
property: () => import("./write-commands-QQVMIG7U.js").then((m) => m.propertyCommand),
|
|
47
|
+
"ads-link": () => import("./write-commands-QQVMIG7U.js").then((m) => m.adsLinkCommand),
|
|
48
|
+
"enhanced-measurement": () => import("./write-commands-QQVMIG7U.js").then((m) => m.enhancedMeasurementCommand),
|
|
49
|
+
draft: () => import("./draft-XPUDO6BL.js").then((m) => m.draftCommand)
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
export {
|
|
53
|
+
ga4Command
|
|
54
|
+
};
|
|
55
|
+
//# sourceMappingURL=ga4-G5NBFPPT.js.map
|
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
import {
|
|
2
|
+
IMAGE_MODEL_IDS,
|
|
3
|
+
IMAGE_QUALITIES,
|
|
4
|
+
IMAGE_SIZES,
|
|
5
|
+
resolveLibraryImageIds
|
|
6
|
+
} from "./chunk-M6VLLYN2.js";
|
|
7
|
+
import {
|
|
8
|
+
awaitBatch,
|
|
9
|
+
batchHints,
|
|
10
|
+
projectBatch,
|
|
11
|
+
resolveMaxWaitMs,
|
|
12
|
+
waitingHint
|
|
13
|
+
} from "./chunk-PSRKQJ6Y.js";
|
|
14
|
+
import {
|
|
15
|
+
failStudioCommand
|
|
16
|
+
} from "./chunk-TII4OUSW.js";
|
|
17
|
+
import "./chunk-GM4EDUTF.js";
|
|
18
|
+
import "./chunk-MQEA2YZZ.js";
|
|
19
|
+
import {
|
|
20
|
+
DEFAULT_IMAGE_GENERATE_MODEL,
|
|
21
|
+
MODEL_REGISTRY,
|
|
22
|
+
maxInputReferences
|
|
23
|
+
} from "./chunk-CHSNHVYF.js";
|
|
24
|
+
import "./chunk-IK56IWZC.js";
|
|
25
|
+
import {
|
|
26
|
+
ApiError,
|
|
27
|
+
apiGet,
|
|
28
|
+
apiPost
|
|
29
|
+
} from "./chunk-NUHMHZTZ.js";
|
|
30
|
+
import "./chunk-CE6IE364.js";
|
|
31
|
+
import "./chunk-3XA4JVMY.js";
|
|
32
|
+
import {
|
|
33
|
+
registerSchema,
|
|
34
|
+
writeJson
|
|
35
|
+
} from "./chunk-USFTTDIO.js";
|
|
36
|
+
import "./chunk-YQSBHWOI.js";
|
|
37
|
+
|
|
38
|
+
// src/commands/studio/generate.ts
|
|
39
|
+
import { defineCommand } from "citty";
|
|
40
|
+
var MODEL_LIST = IMAGE_MODEL_IDS;
|
|
41
|
+
var DEFAULT_MAX_WAIT_MS = 24e4;
|
|
42
|
+
registerSchema({
|
|
43
|
+
command: "studio.generate",
|
|
44
|
+
description: "Start here to make an image. Opens a Studio batch: the images are ingested into the media library as they render and the whole batch shows up in the dashboard Studio for the client, labelled with this conversation. Default model google/gemini-3.1-flash-image \u2014 fast, reference editing, extreme aspect ratios. --reference is the biggest quality lever: pass library image ids, local file paths, and/or image URLs to ground the render in real imagery.",
|
|
45
|
+
args: {
|
|
46
|
+
prompt: {
|
|
47
|
+
type: "string",
|
|
48
|
+
description: "What to generate \u2014 full art direction, not a keyword. Length caps are per model (Recraft 10,000 characters, gpt-image 32,000, Gemini publishes none) and a --skill or --brand block counts toward them; `baker studio models` has the number.",
|
|
49
|
+
required: true
|
|
50
|
+
},
|
|
51
|
+
model: {
|
|
52
|
+
type: "string",
|
|
53
|
+
description: `Model (default google/gemini-3.1-flash-image). They accept genuinely different things \u2014 check with \`baker studio models\` rather than assuming. One of: ${MODEL_LIST.join(", ")}`,
|
|
54
|
+
required: false,
|
|
55
|
+
enum: MODEL_LIST
|
|
56
|
+
},
|
|
57
|
+
"aspect-ratio": {
|
|
58
|
+
type: "string",
|
|
59
|
+
// Snapped, not refused: ask for the ad shape you want and the backend
|
|
60
|
+
// moves it to the nearest one the chosen model renders (gpt-image-2 has no
|
|
61
|
+
// 4:5, so a 4:5 request becomes 3:4 rather than failing).
|
|
62
|
+
description: "Aspect ratio, e.g. 1:1 (default), 16:9, 9:16, 4:5, 3:2 \u2014 Gemini flash also does 1:4 / 8:1. Snapped to the nearest shape the chosen model renders, so ask for the ad format you want (4:5 on gpt-image-2 or Recraft becomes 3:4, neither renders it). Must be width:height.",
|
|
63
|
+
required: false
|
|
64
|
+
},
|
|
65
|
+
count: { type: "number", description: "Takes to render, 1-8 (default 1)", required: false, default: 1 },
|
|
66
|
+
avatar: {
|
|
67
|
+
type: "string",
|
|
68
|
+
description: "Cast one of the company's avatars by short name (e.g. marta). Grounds the render on their identity sheet and reuses their subject description verbatim \u2014 do this instead of passing the sheet through --reference, which skips both and leaves the batch unattributed. `baker avatars list` shows who there is.",
|
|
69
|
+
required: false
|
|
70
|
+
},
|
|
71
|
+
reference: {
|
|
72
|
+
type: "string",
|
|
73
|
+
description: "Comma-separated visual references, in order: library image ids, local file paths, and/or image URLs. Paths and URLs are added to the media library first, so the reference is reusable and the client can see what grounded the render. How many are allowed is per model \u2014 Gemini takes 14, gpt-image 16, Recraft exactly 1.",
|
|
74
|
+
required: false
|
|
75
|
+
},
|
|
76
|
+
skill: {
|
|
77
|
+
type: "string",
|
|
78
|
+
description: "Craft direction by id (run `baker studio skills`), e.g. product-pack-shot, ugc-selfie-hook",
|
|
79
|
+
required: false
|
|
80
|
+
},
|
|
81
|
+
brand: {
|
|
82
|
+
type: "boolean",
|
|
83
|
+
description: "Append the company palette and visual style. Off by default \u2014 you are writing the art direction yourself and a brand block appended after it fights what you just specified.",
|
|
84
|
+
required: false,
|
|
85
|
+
default: false
|
|
86
|
+
},
|
|
87
|
+
"image-size": {
|
|
88
|
+
type: "string",
|
|
89
|
+
// No default: left unset the provider picks the pixels from the ratio.
|
|
90
|
+
// gpt-image-2 has no resolution setting at all and REFUSES this flag.
|
|
91
|
+
description: `Output resolution \u2014 only on models that have one (gpt-image-2 and Recraft have none and REFUSE this). The tiers differ per model: Lite renders 1K only, Pro 1K-4K, Gemini flash also 0.5K. One of: ${IMAGE_SIZES.join(", ")}`,
|
|
92
|
+
required: false,
|
|
93
|
+
enum: IMAGE_SIZES
|
|
94
|
+
},
|
|
95
|
+
quality: {
|
|
96
|
+
type: "string",
|
|
97
|
+
description: `Rendering quality \u2014 the OpenAI models only; every Gemini tier and Recraft REFUSE it. One of: ${IMAGE_QUALITIES.join(", ")}`,
|
|
98
|
+
required: false,
|
|
99
|
+
enum: IMAGE_QUALITIES
|
|
100
|
+
},
|
|
101
|
+
strength: { type: "number", description: "Recraft vector only: vectorization strength 0-1", required: false },
|
|
102
|
+
"rgb-colors": {
|
|
103
|
+
type: "string",
|
|
104
|
+
description: 'Recraft only: JSON array of [r,g,b] palette triples, each channel a whole number 0-255, e.g. "[[10,10,10],[255,80,0]]"',
|
|
105
|
+
required: false
|
|
106
|
+
},
|
|
107
|
+
"bg-rgb": {
|
|
108
|
+
type: "string",
|
|
109
|
+
description: 'Recraft only: JSON [r,g,b] background colour, e.g. "[255,255,255]"',
|
|
110
|
+
required: false
|
|
111
|
+
},
|
|
112
|
+
wait: {
|
|
113
|
+
type: "string",
|
|
114
|
+
description: "Pass false to get the batch id back immediately instead of waiting for the takes",
|
|
115
|
+
required: false,
|
|
116
|
+
default: "true"
|
|
117
|
+
},
|
|
118
|
+
"max-wait": {
|
|
119
|
+
type: "number",
|
|
120
|
+
description: "Max ms to wait for the takes (default 240000). 0 returns the id immediately.",
|
|
121
|
+
required: false,
|
|
122
|
+
default: DEFAULT_MAX_WAIT_MS
|
|
123
|
+
},
|
|
124
|
+
full: { type: "boolean", description: "Include settings, references and attribution", required: false }
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
function parseJsonArg(raw, flag) {
|
|
128
|
+
try {
|
|
129
|
+
return JSON.parse(raw);
|
|
130
|
+
} catch {
|
|
131
|
+
throw new ApiError("VALIDATION_ERROR", `--${flag} must be valid JSON (got: ${raw})`);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
function referenceLimitFor(model) {
|
|
135
|
+
const chosen = model ?? DEFAULT_IMAGE_GENERATE_MODEL;
|
|
136
|
+
const max = maxInputReferences("image_generate", chosen);
|
|
137
|
+
if (max === void 0) return void 0;
|
|
138
|
+
const label = MODEL_REGISTRY.image_generate[chosen]?.label ?? chosen;
|
|
139
|
+
return {
|
|
140
|
+
max,
|
|
141
|
+
refuse: (count) => max === 1 ? `${label} takes exactly one reference image \u2014 you passed ${count}. Pick the one that matters, or switch to a model that reads several.` : `${label} takes up to ${max} reference images \u2014 you passed ${count}. Drop the weakest ones.`
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
async function effectiveModel(pinned, skillId, fetchSkills = () => apiGet("/api/studio/skills")) {
|
|
145
|
+
if (pinned || !skillId) return pinned;
|
|
146
|
+
try {
|
|
147
|
+
const { skills } = await fetchSkills();
|
|
148
|
+
return skills.find((skill) => skill.id === skillId)?.defaults.model;
|
|
149
|
+
} catch {
|
|
150
|
+
return void 0;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
function buildGenerateBody(args, prompt) {
|
|
154
|
+
const body = { prompt };
|
|
155
|
+
if (args.model) body.model = args.model;
|
|
156
|
+
if (args["aspect-ratio"]) body.aspectRatio = args["aspect-ratio"];
|
|
157
|
+
if (args.count !== void 0 && args.count !== "") body.count = Number(args.count);
|
|
158
|
+
if (args.avatar) body.avatar = args.avatar;
|
|
159
|
+
if (args.skill) body.skillId = args.skill;
|
|
160
|
+
if (args.brand) body.useBrand = true;
|
|
161
|
+
if (args["image-size"]) body.imageSize = args["image-size"];
|
|
162
|
+
if (args.quality) body.quality = args.quality;
|
|
163
|
+
if (args.strength !== void 0 && args.strength !== "") body.strength = Number(args.strength);
|
|
164
|
+
if (args["rgb-colors"]) {
|
|
165
|
+
body.rgbColors = parseJsonArg(args["rgb-colors"], "rgb-colors");
|
|
166
|
+
}
|
|
167
|
+
if (args["bg-rgb"]) {
|
|
168
|
+
body.backgroundRgbColor = parseJsonArg(
|
|
169
|
+
args["bg-rgb"],
|
|
170
|
+
"bg-rgb"
|
|
171
|
+
);
|
|
172
|
+
}
|
|
173
|
+
return body;
|
|
174
|
+
}
|
|
175
|
+
var generateCommand = defineCommand({
|
|
176
|
+
meta: {
|
|
177
|
+
name: "generate",
|
|
178
|
+
description: "Start here to make an image. Renders 1-8 takes of one brief, ingests each into the media library as it lands, and shows the batch in the dashboard Studio next to the ones the client ran.\n\nModel choice: google/gemini-3.1-flash-image (default \u2014 fast, best at editing a reference and at extreme ratios), google/gemini-3-pro-image (highest fidelity, slower), openai/gpt-image-2 (photoreal and the cleanest in-image text \u2014 no --image-size, no 4:5 / 5:4), recraft/recraft-v4.1-pro-vector (vector/flat marks with palette control).\n\n--reference is the biggest quality lever there is: a real logo, product shot, Pinterest pin or sandbox screenshot beats any amount of adjectives.\n\nExamples:\n baker studio generate 'matte black bottle on wet marble, hard studio light, 35mm' --aspect-ratio 3:2 --count 3\n baker studio generate 'this bottle on a sunlit kitchen counter' --reference './src/brand/product.png,https://\u2026/kitchen.jpg'\n baker studio generate 'founder-style selfie, kitchen background, natural light' --skill ugc-selfie-hook\n baker studio generate 'flat geometric mascot, brand palette' --model recraft/recraft-v4.1-pro-vector --rgb-colors '[[10,10,10],[255,80,0]]'"
|
|
179
|
+
},
|
|
180
|
+
args: {
|
|
181
|
+
avatar: {
|
|
182
|
+
type: "string",
|
|
183
|
+
description: "Cast an avatar by short name \u2014 grounds the image on their identity sheet",
|
|
184
|
+
required: false
|
|
185
|
+
},
|
|
186
|
+
prompt: { type: "positional", description: "What to generate", required: false },
|
|
187
|
+
model: { type: "string", description: "Model id (default google/gemini-3.1-flash-image)", required: false },
|
|
188
|
+
"aspect-ratio": { type: "string", description: "Aspect ratio (default 1:1)", required: false },
|
|
189
|
+
count: { type: "string", description: "Takes to render, 1-8 (default 1)", required: false },
|
|
190
|
+
reference: {
|
|
191
|
+
type: "string",
|
|
192
|
+
description: "Comma-separated library image ids, local file paths, and/or image URLs",
|
|
193
|
+
required: false
|
|
194
|
+
},
|
|
195
|
+
skill: { type: "string", description: "Craft direction id (`baker studio skills`)", required: false },
|
|
196
|
+
brand: { type: "boolean", description: "Append the company palette and style", required: false },
|
|
197
|
+
"image-size": {
|
|
198
|
+
type: "string",
|
|
199
|
+
description: `Output resolution, models that have one only: ${IMAGE_SIZES.join(" | ")}`,
|
|
200
|
+
required: false
|
|
201
|
+
},
|
|
202
|
+
quality: {
|
|
203
|
+
type: "string",
|
|
204
|
+
description: `Rendering quality, models that honour it only: ${IMAGE_QUALITIES.join(" | ")}`,
|
|
205
|
+
required: false
|
|
206
|
+
},
|
|
207
|
+
strength: { type: "string", description: "Recraft vectorization strength 0-1", required: false },
|
|
208
|
+
"rgb-colors": { type: "string", description: "Recraft palette JSON", required: false },
|
|
209
|
+
"bg-rgb": { type: "string", description: "Recraft background JSON", required: false },
|
|
210
|
+
wait: { type: "string", description: "false to return the batch id immediately", required: false },
|
|
211
|
+
"max-wait": { type: "string", description: "Max ms to wait (default 240000, 0 = no wait)", required: false },
|
|
212
|
+
full: { type: "boolean", description: "Include settings, references and attribution", required: false }
|
|
213
|
+
},
|
|
214
|
+
run: async ({ args }) => {
|
|
215
|
+
try {
|
|
216
|
+
const prompt = args.prompt;
|
|
217
|
+
if (!prompt) {
|
|
218
|
+
writeJson({ ok: false, error: { code: "VALIDATION_ERROR", message: "A prompt is required" } });
|
|
219
|
+
process.exit(1);
|
|
220
|
+
}
|
|
221
|
+
const body = buildGenerateBody(args, prompt);
|
|
222
|
+
if (args.reference) {
|
|
223
|
+
const model = await effectiveModel(body.model, body.skillId);
|
|
224
|
+
const { imageIds } = await resolveLibraryImageIds(args.reference, referenceLimitFor(model));
|
|
225
|
+
if (imageIds.length > 0) body.referenceImageIds = imageIds;
|
|
226
|
+
}
|
|
227
|
+
const start = await apiPost("/api/studio/generate", body);
|
|
228
|
+
const maxWaitMs = resolveMaxWaitMs(args.wait, args["max-wait"], DEFAULT_MAX_WAIT_MS);
|
|
229
|
+
if (maxWaitMs === 0) {
|
|
230
|
+
writeJson({
|
|
231
|
+
ok: true,
|
|
232
|
+
data: start,
|
|
233
|
+
hints: [`Rendering ${start.count} take(s). Read them with \`baker studio get ${start.generationId}\`.`]
|
|
234
|
+
});
|
|
235
|
+
return;
|
|
236
|
+
}
|
|
237
|
+
const outcome = await awaitBatch(start.generationId, maxWaitMs);
|
|
238
|
+
if (outcome.kind !== "settled") {
|
|
239
|
+
writeJson({
|
|
240
|
+
ok: true,
|
|
241
|
+
data: { ...start, status: "running" },
|
|
242
|
+
hints: [waitingHint(outcome, start.generationId, maxWaitMs)]
|
|
243
|
+
});
|
|
244
|
+
return;
|
|
245
|
+
}
|
|
246
|
+
writeJson({
|
|
247
|
+
ok: true,
|
|
248
|
+
data: projectBatch(outcome.generation, args.full === true),
|
|
249
|
+
hints: batchHints(outcome.generation)
|
|
250
|
+
});
|
|
251
|
+
} catch (error) {
|
|
252
|
+
failStudioCommand(error, { withFix: true });
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
});
|
|
256
|
+
export {
|
|
257
|
+
buildGenerateBody,
|
|
258
|
+
effectiveModel,
|
|
259
|
+
generateCommand,
|
|
260
|
+
referenceLimitFor
|
|
261
|
+
};
|
|
262
|
+
//# sourceMappingURL=generate-HXE2MOAO.js.map
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ApiError,
|
|
3
|
+
apiGet,
|
|
4
|
+
validateConvexId
|
|
5
|
+
} from "./chunk-NUHMHZTZ.js";
|
|
6
|
+
import "./chunk-CE6IE364.js";
|
|
7
|
+
import "./chunk-3XA4JVMY.js";
|
|
8
|
+
import {
|
|
9
|
+
registerSchema,
|
|
10
|
+
testimonialNormalizer,
|
|
11
|
+
writeJson,
|
|
12
|
+
writeOutput
|
|
13
|
+
} from "./chunk-USFTTDIO.js";
|
|
14
|
+
import "./chunk-YQSBHWOI.js";
|
|
15
|
+
|
|
16
|
+
// src/commands/testimonials/get.ts
|
|
17
|
+
import { defineCommand } from "citty";
|
|
18
|
+
registerSchema({
|
|
19
|
+
command: "testimonials.get",
|
|
20
|
+
description: "Get a single testimonial by ID",
|
|
21
|
+
args: {
|
|
22
|
+
id: { type: "string", description: "Testimonial ID", required: true }
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
var getCommand = defineCommand({
|
|
26
|
+
meta: { name: "get", description: "Get a single testimonial by ID. Example: baker testimonials get j571abc123" },
|
|
27
|
+
args: {
|
|
28
|
+
id: { type: "positional", description: "Testimonial ID", required: false },
|
|
29
|
+
"testimonial-id": { type: "string", description: "Testimonial ID (alternative to positional)", required: false },
|
|
30
|
+
output: { type: "string", description: "Output format: json|files|md", required: false, default: "json" },
|
|
31
|
+
fields: { type: "string", description: "Comma-separated field names to include", required: false },
|
|
32
|
+
full: { type: "boolean", description: "Include full metadata", required: false, default: false }
|
|
33
|
+
},
|
|
34
|
+
run: async ({ args }) => {
|
|
35
|
+
try {
|
|
36
|
+
const id = args.id || args["testimonial-id"];
|
|
37
|
+
if (!id) {
|
|
38
|
+
writeJson({ ok: false, error: { code: "VALIDATION_ERROR", message: "Testimonial ID is required" } });
|
|
39
|
+
process.exit(1);
|
|
40
|
+
}
|
|
41
|
+
validateConvexId(id);
|
|
42
|
+
const data = await apiGet("/api/testimonials/get", { id });
|
|
43
|
+
writeOutput(
|
|
44
|
+
{ ok: true, data },
|
|
45
|
+
args.output || "json",
|
|
46
|
+
args.fields ? args.fields.split(",") : void 0,
|
|
47
|
+
args.full,
|
|
48
|
+
testimonialNormalizer
|
|
49
|
+
);
|
|
50
|
+
} catch (err) {
|
|
51
|
+
if (err instanceof ApiError) {
|
|
52
|
+
writeJson({ ok: false, error: { code: err.code, message: err.message } });
|
|
53
|
+
process.exit(1);
|
|
54
|
+
}
|
|
55
|
+
writeJson({ ok: false, error: { code: "INTERNAL_ERROR", message: "Unexpected error" } });
|
|
56
|
+
process.exit(1);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
export {
|
|
61
|
+
getCommand
|
|
62
|
+
};
|
|
63
|
+
//# sourceMappingURL=get-2Q3FKYH7.js.map
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import {
|
|
2
|
+
batchHints,
|
|
3
|
+
projectBatch
|
|
4
|
+
} from "./chunk-PSRKQJ6Y.js";
|
|
5
|
+
import {
|
|
6
|
+
failStudioCommand
|
|
7
|
+
} from "./chunk-TII4OUSW.js";
|
|
8
|
+
import {
|
|
9
|
+
apiGet
|
|
10
|
+
} from "./chunk-NUHMHZTZ.js";
|
|
11
|
+
import "./chunk-CE6IE364.js";
|
|
12
|
+
import "./chunk-3XA4JVMY.js";
|
|
13
|
+
import {
|
|
14
|
+
registerSchema,
|
|
15
|
+
writeJson
|
|
16
|
+
} from "./chunk-USFTTDIO.js";
|
|
17
|
+
import "./chunk-YQSBHWOI.js";
|
|
18
|
+
|
|
19
|
+
// src/commands/studio/get.ts
|
|
20
|
+
import { defineCommand } from "citty";
|
|
21
|
+
registerSchema({
|
|
22
|
+
command: "studio.get",
|
|
23
|
+
description: "Read one Studio batch: every take, where it lives, and why a take is missing. This is how you pick up a batch that was still rendering when the start command returned.",
|
|
24
|
+
args: {
|
|
25
|
+
"generation-id": { type: "string", description: "Batch id from `generate` / `animate`", required: true },
|
|
26
|
+
full: { type: "boolean", description: "Include settings, references and attribution", required: false }
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
var getCommand = defineCommand({
|
|
30
|
+
meta: {
|
|
31
|
+
name: "get",
|
|
32
|
+
description: "Read one Studio batch \u2014 the takes, their urls, whether each is in the library, and the reason for any that failed.\n\nExample: baker studio get j57abc123def456ghi789\nExample: baker studio get j57abc123def456ghi789 --full"
|
|
33
|
+
},
|
|
34
|
+
args: {
|
|
35
|
+
"generation-id": { type: "positional", description: "Batch id", required: false },
|
|
36
|
+
full: { type: "boolean", description: "Include settings, references and attribution", required: false }
|
|
37
|
+
},
|
|
38
|
+
run: async ({ args }) => {
|
|
39
|
+
try {
|
|
40
|
+
const generationId = args["generation-id"];
|
|
41
|
+
if (!generationId) {
|
|
42
|
+
writeJson({ ok: false, error: { code: "VALIDATION_ERROR", message: "A batch id is required" } });
|
|
43
|
+
process.exit(1);
|
|
44
|
+
}
|
|
45
|
+
const { generation } = await apiGet(`/api/studio/generations/${generationId}`);
|
|
46
|
+
writeJson({
|
|
47
|
+
ok: true,
|
|
48
|
+
data: projectBatch(generation, args.full === true),
|
|
49
|
+
hints: batchHints(generation)
|
|
50
|
+
});
|
|
51
|
+
} catch (error) {
|
|
52
|
+
failStudioCommand(error);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
export {
|
|
57
|
+
getCommand
|
|
58
|
+
};
|
|
59
|
+
//# sourceMappingURL=get-ALNQPO3F.js.map
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import {
|
|
2
|
+
waitForSheet
|
|
3
|
+
} from "./chunk-WN4KX7GE.js";
|
|
4
|
+
import {
|
|
5
|
+
avatarRowNormalizer,
|
|
6
|
+
castingHints,
|
|
7
|
+
failAvatarApi,
|
|
8
|
+
failValidation
|
|
9
|
+
} from "./chunk-AINDZHQQ.js";
|
|
10
|
+
import {
|
|
11
|
+
readAvatars
|
|
12
|
+
} from "./chunk-EHXZDWAE.js";
|
|
13
|
+
import "./chunk-NUHMHZTZ.js";
|
|
14
|
+
import "./chunk-CE6IE364.js";
|
|
15
|
+
import "./chunk-3XA4JVMY.js";
|
|
16
|
+
import {
|
|
17
|
+
registerSchema,
|
|
18
|
+
writeJson,
|
|
19
|
+
writeOutput
|
|
20
|
+
} from "./chunk-USFTTDIO.js";
|
|
21
|
+
import "./chunk-YQSBHWOI.js";
|
|
22
|
+
|
|
23
|
+
// src/commands/avatars/get.ts
|
|
24
|
+
import { defineCommand } from "citty";
|
|
25
|
+
registerSchema({
|
|
26
|
+
command: "avatars.get",
|
|
27
|
+
description: "Read one avatar by handle \u2014 the command you run before casting it. Returns its status (only `ready` can be cast), the identity sheet URL every render must be grounded on via --reference, and the subject description that goes into the prompt verbatim. Add --full for the whole written profile (persona, speech, motion, wardrobe, setting, guardrails, voice, source photos).",
|
|
28
|
+
args: {
|
|
29
|
+
handle: { type: "string", description: 'Avatar handle, e.g. "marta" (lowercase, dashes)', required: true },
|
|
30
|
+
full: {
|
|
31
|
+
type: "boolean",
|
|
32
|
+
description: "Return the whole written profile, not just the casting essentials",
|
|
33
|
+
required: false,
|
|
34
|
+
default: false
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
var getCommand = defineCommand({
|
|
39
|
+
meta: {
|
|
40
|
+
name: "get",
|
|
41
|
+
description: "Read one avatar by handle: status, identity sheet URL for --reference, and the subject description to reuse verbatim. Example: baker avatars get marta --full"
|
|
42
|
+
},
|
|
43
|
+
args: {
|
|
44
|
+
handle: { type: "positional", description: "Avatar handle", required: false },
|
|
45
|
+
"avatar-handle": { type: "string", description: "Avatar handle (alternative to positional)", required: false },
|
|
46
|
+
full: { type: "boolean", description: "Include the whole written profile", required: false, default: false },
|
|
47
|
+
output: { type: "string", description: "Output format: json|files|md", required: false, default: "json" },
|
|
48
|
+
fields: { type: "string", description: "Comma-separated field names to include", required: false },
|
|
49
|
+
wait: {
|
|
50
|
+
type: "boolean",
|
|
51
|
+
description: "Block until the identity sheet has settled (up to 90s), instead of returning while it is still building. Use it when the NEXT thing you do needs this avatar \u2014 a clip, a still, anything with --avatar. Without it you get the current status and have to come back; with it the command returns the moment it is ready. Never write your own sleep/poll loop around this.",
|
|
52
|
+
required: false,
|
|
53
|
+
default: false
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
run: async ({ args }) => {
|
|
57
|
+
const handle = (args.handle || args["avatar-handle"])?.trim();
|
|
58
|
+
if (!handle) {
|
|
59
|
+
failValidation("An avatar handle is required, e.g. `baker avatars get marta`. Run `baker avatars list` first.");
|
|
60
|
+
}
|
|
61
|
+
try {
|
|
62
|
+
const params = { handle };
|
|
63
|
+
if (args.full) params.full = "1";
|
|
64
|
+
let avatar = await readAvatars("/api/avatars/get", params);
|
|
65
|
+
if (args.wait) {
|
|
66
|
+
avatar = await waitForSheet(
|
|
67
|
+
avatar,
|
|
68
|
+
() => readAvatars("/api/avatars/get", params)
|
|
69
|
+
);
|
|
70
|
+
}
|
|
71
|
+
const hints = castingHints(avatar);
|
|
72
|
+
const format = args.output || "json";
|
|
73
|
+
if (format === "json") {
|
|
74
|
+
writeJson({ ok: true, data: avatar, hints });
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
writeOutput(
|
|
78
|
+
{ ok: true, data: avatar },
|
|
79
|
+
format,
|
|
80
|
+
args.fields ? args.fields.split(",") : void 0,
|
|
81
|
+
Boolean(args.full),
|
|
82
|
+
avatarRowNormalizer
|
|
83
|
+
);
|
|
84
|
+
} catch (err) {
|
|
85
|
+
failAvatarApi(err, handle);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
export {
|
|
90
|
+
getCommand
|
|
91
|
+
};
|
|
92
|
+
//# sourceMappingURL=get-BLWUJWTJ.js.map
|