@koda-sl/baker-cli 0.512.0 → 0.514.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/dist/account-D6LEVVWT.js +82 -0
- package/dist/account-D6LEVVWT.js.map +1 -0
- package/dist/account-SGK3IJ6N.js +82 -0
- package/dist/account-SGK3IJ6N.js.map +1 -0
- package/dist/account-assets-J5Z4URLQ.js +290 -0
- package/dist/account-level-4SBYYHRS.js +611 -0
- package/dist/account-level-4SBYYHRS.js.map +1 -0
- package/dist/account-reads-2MSUVG46.js +219 -0
- package/dist/account-users-MHC7AD6K.js +64 -0
- package/dist/account-users-MHC7AD6K.js.map +1 -0
- package/dist/account-writes-QQQC54WC.js +68 -0
- package/dist/account-writes-QQQC54WC.js.map +1 -0
- package/dist/accounts-2O6I7YBN.js +80 -0
- package/dist/accounts-2O6I7YBN.js.map +1 -0
- package/dist/accounts-QNE5QWBG.js +701 -0
- package/dist/accounts-QNE5QWBG.js.map +1 -0
- package/dist/actions-D7OWCP36.js +55 -0
- package/dist/activecampaign-LBS4M4C4.js +938 -0
- package/dist/activecampaign-LBS4M4C4.js.map +1 -0
- package/dist/ad-group-writes-CJTTUUIT.js +172 -0
- package/dist/ad-group-writes-CJTTUUIT.js.map +1 -0
- package/dist/ad-groups-HLGSVH74.js +70 -0
- package/dist/ad-groups-HLGSVH74.js.map +1 -0
- package/dist/ad-writes-3UE3U7VE.js +176 -0
- package/dist/ad-writes-3UE3U7VE.js.map +1 -0
- package/dist/add-HFQB2NTU.js +107 -0
- package/dist/add-HFQB2NTU.js.map +1 -0
- package/dist/add-IUYE5H6A.js +305 -0
- package/dist/add-IUYE5H6A.js.map +1 -0
- package/dist/ads-HLUJB5SQ.js +48 -0
- package/dist/ads-MAOI7S6V.js +115 -0
- package/dist/ads-PYNDMHUD.js +79 -0
- package/dist/ads-PYNDMHUD.js.map +1 -0
- package/dist/adsets-QRKICEFD.js +182 -0
- package/dist/advertisers-XXM6POO5.js +123 -0
- package/dist/advertisers-XXM6POO5.js.map +1 -0
- package/dist/analytics-AULKYNNT.js +447 -0
- package/dist/analytics-AULKYNNT.js.map +1 -0
- package/dist/analytics-DNDTC643.js +2437 -0
- package/dist/analytics-DNDTC643.js.map +1 -0
- package/dist/asset-writes-JLVUAVUZ.js +50 -0
- package/dist/assign-2GQVQKKO.js +80 -0
- package/dist/assign-2GQVQKKO.js.map +1 -0
- package/dist/audience-size-C3YHQPZB.js +76 -0
- package/dist/audience-size-C3YHQPZB.js.map +1 -0
- package/dist/audience-writes-CDKQB3SM.js +327 -0
- package/dist/audience-writes-CDKQB3SM.js.map +1 -0
- package/dist/audiences-CDDI5HR5.js +86 -0
- package/dist/audiences-M3A3QK52.js +280 -0
- package/dist/audiences-M3A3QK52.js.map +1 -0
- package/dist/audit-FLPJ7GTE.js +154 -0
- package/dist/audit-FLPJ7GTE.js.map +1 -0
- package/dist/autocomplete-ZYMHHV7E.js +114 -0
- package/dist/autocomplete-ZYMHHV7E.js.map +1 -0
- package/dist/avatars-WZ2JDMHH.js +38 -0
- package/dist/bid-pricing-H3M63PTW.js +103 -0
- package/dist/bid-pricing-H3M63PTW.js.map +1 -0
- package/dist/brand-IZTTBZII.js +22 -0
- package/dist/brief-OPQ7ICOY.js +543 -0
- package/dist/brief-OPQ7ICOY.js.map +1 -0
- package/dist/campaign-groups-IQSDKOVI.js +99 -0
- package/dist/campaign-groups-IQSDKOVI.js.map +1 -0
- package/dist/campaign-writes-APAAV4ZU.js +168 -0
- package/dist/campaign-writes-APAAV4ZU.js.map +1 -0
- package/dist/campaign-writes-BN4PZP4Z.js +176 -0
- package/dist/campaign-writes-BN4PZP4Z.js.map +1 -0
- package/dist/campaigns-4Y3JQC2U.js +111 -0
- package/dist/campaigns-GA34MEN2.js +78 -0
- package/dist/campaigns-GA34MEN2.js.map +1 -0
- package/dist/campaigns-HES5MDUG.js +130 -0
- package/dist/campaigns-K2FVD3XW.js +113 -0
- package/dist/campaigns-K2FVD3XW.js.map +1 -0
- package/dist/canvas-IQ753Q2O.js +46 -0
- package/dist/capabilities-ZITW4RF7.js +147 -0
- package/dist/capabilities-ZITW4RF7.js.map +1 -0
- package/dist/catalogs-TGLSJEK5.js +781 -0
- package/dist/catalogs-TGLSJEK5.js.map +1 -0
- package/dist/catalogs-ZR7DECMG.js +130 -0
- package/dist/catalogs-ZR7DECMG.js.map +1 -0
- package/dist/changes-VWKTM27U.js +135 -0
- package/dist/chatgpt-OPOD2WHB.js +47 -0
- package/dist/chats-AL2SYBJO.js +279 -0
- package/dist/chats-AL2SYBJO.js.map +1 -0
- package/dist/check-U2YLRD6H.js +107 -0
- package/dist/check-U2YLRD6H.js.map +1 -0
- package/dist/chunk-2GYCWRF3.js +170 -0
- package/dist/chunk-2L7F7KR4.js +61 -0
- package/dist/chunk-44ZRCSR7.js +228 -0
- package/dist/chunk-46YLDIQG.js +4254 -0
- package/dist/chunk-4EDWXZ3I.js +363 -0
- package/dist/chunk-4FFBGR5L.js +66 -0
- package/dist/chunk-4UQRXKYJ.js +219 -0
- package/dist/chunk-4UZUUSVL.js +592 -0
- package/dist/chunk-4XHCEYHI.js +831 -0
- package/dist/chunk-4Z6PVR3M.js +479 -0
- package/dist/chunk-5Y5FZV2W.js +122 -0
- package/dist/chunk-6HJXLGDV.js +392 -0
- package/dist/chunk-6S5CWGDA.js +429 -0
- package/dist/chunk-6VYROVWO.js +494 -0
- package/dist/chunk-7BUIOP36.js +287 -0
- package/dist/chunk-AQRXXC6E.js +319 -0
- package/dist/chunk-ARBXT73X.js +387 -0
- package/dist/chunk-BEZHQIEI.js +97 -0
- package/dist/chunk-BFURWHVR.js +547 -0
- package/dist/chunk-BX6B25KK.js +358 -0
- package/dist/chunk-BX6B25KK.js.map +1 -0
- package/dist/chunk-DSCEXBDR.js +676 -0
- package/dist/chunk-FLWDFPXE.js +23 -0
- package/dist/chunk-FRNBRN2C.js +1646 -0
- package/dist/chunk-G4FG5EQO.js +110 -0
- package/dist/chunk-G4FG5EQO.js.map +1 -0
- package/dist/chunk-GE3VT3CA.js +51 -0
- package/dist/chunk-GW2WRZZA.js +24026 -0
- package/dist/chunk-GW2WRZZA.js.map +1 -0
- package/dist/chunk-HGBJQGO5.js +142 -0
- package/dist/chunk-I7AYMJZA.js +783 -0
- package/dist/chunk-IRM273C7.js +207 -0
- package/dist/chunk-IWKD56AY.js +156 -0
- package/dist/chunk-JLAQWMVF.js +3868 -0
- package/dist/chunk-JOE42ZW6.js +2984 -0
- package/dist/chunk-JOE42ZW6.js.map +1 -0
- package/dist/chunk-K6NULQN7.js +57 -0
- package/dist/chunk-L2BRAC2J.js +19 -0
- package/dist/chunk-LGMI4LSY.js +455 -0
- package/dist/chunk-NB2FU6EZ.js +179 -0
- package/dist/chunk-NKQWDEB7.js +115 -0
- package/dist/chunk-NKQWDEB7.js.map +1 -0
- package/dist/chunk-NWF2LRKO.js +188 -0
- package/dist/chunk-OG47L5GG.js +275 -0
- package/dist/chunk-OR6KVLI5.js +169 -0
- package/dist/chunk-PC3FJEZH.js +7211 -0
- package/dist/chunk-PC3FJEZH.js.map +1 -0
- package/dist/chunk-Q3GSVLE5.js +4274 -0
- package/dist/chunk-Q3GSVLE5.js.map +1 -0
- package/dist/chunk-QDQZ62FL.js +207 -0
- package/dist/chunk-QIOFOD4K.js +344 -0
- package/dist/chunk-R2SYF5FC.js +249 -0
- package/dist/chunk-RTH2I55B.js +942 -0
- package/dist/chunk-S6VFDNSQ.js +63 -0
- package/dist/chunk-SG2TDQEE.js +150 -0
- package/dist/chunk-SOPVIIUW.js +68 -0
- package/dist/chunk-SOPVIIUW.js.map +1 -0
- package/dist/chunk-T3P6O2VU.js +89 -0
- package/dist/chunk-TXDE2QJ3.js +604 -0
- package/dist/chunk-UDIEKCIR.js +203 -0
- package/dist/chunk-USCADMM3.js +163 -0
- package/dist/chunk-UUGISMNE.js +910 -0
- package/dist/chunk-VDPOCAQ2.js +197 -0
- package/dist/chunk-VEJ3QX6M.js +103 -0
- package/dist/chunk-VFJB7OG6.js +91 -0
- package/dist/chunk-VRIPVLE7.js +8954 -0
- package/dist/chunk-WFY7KSHB.js +274 -0
- package/dist/chunk-WLESMH4J.js +45 -0
- package/dist/chunk-XHQYFNNK.js +846 -0
- package/dist/chunk-XOQNM7I4.js +396 -0
- package/dist/chunk-XOQNM7I4.js.map +1 -0
- package/dist/chunk-YILZR3XI.js +224 -0
- package/dist/chunk-YJFLXOH4.js +191 -0
- package/dist/chunk-YWHZYR6S.js +297 -0
- package/dist/claim-GOLUTAJ3.js +200 -0
- package/dist/claim-GOLUTAJ3.js.map +1 -0
- package/dist/cli.js +30 -30
- package/dist/companies-4AJJGTMC.js +198 -0
- package/dist/companies-4AJJGTMC.js.map +1 -0
- package/dist/company-MOSPLRZJ.js +308 -0
- package/dist/company-MOSPLRZJ.js.map +1 -0
- package/dist/complete-777BDV45.js +84 -0
- package/dist/complete-777BDV45.js.map +1 -0
- package/dist/connect-3YY7MF3I.js +45 -0
- package/dist/conversation-KROMHDHK.js +96 -0
- package/dist/conversation-KROMHDHK.js.map +1 -0
- package/dist/conversion-report-JZHI2IHY.js +127 -0
- package/dist/conversion-report-JZHI2IHY.js.map +1 -0
- package/dist/conversion-upload-command-7RSZ5ZQU.js +439 -0
- package/dist/conversion-writes-SNCLQDXQ.js +122 -0
- package/dist/conversion-writes-SNCLQDXQ.js.map +1 -0
- package/dist/conversions-43EYP2W2.js +140 -0
- package/dist/conversions-43EYP2W2.js.map +1 -0
- package/dist/conversions-EUOWILCQ.js +78 -0
- package/dist/conversions-EUOWILCQ.js.map +1 -0
- package/dist/copy-writes-CIHIFLY6.js +170 -0
- package/dist/copy-writes-CIHIFLY6.js.map +1 -0
- package/dist/create-3WOZO2XT.js +239 -0
- package/dist/create-3WOZO2XT.js.map +1 -0
- package/dist/create-7IFYLX7P.js +210 -0
- package/dist/create-7IFYLX7P.js.map +1 -0
- package/dist/create-FOHIQC3E.js +62 -0
- package/dist/create-FOHIQC3E.js.map +1 -0
- package/dist/create-UWQSQTK6.js +135 -0
- package/dist/create-UWQSQTK6.js.map +1 -0
- package/dist/creatives-2DR3QHJW.js +58 -0
- package/dist/creatives-BB6S2OF6.js +89 -0
- package/dist/creatives-KUO67WYA.js +223 -0
- package/dist/creatives-KUO67WYA.js.map +1 -0
- package/dist/credentials-IP4L37XP.js +290 -0
- package/dist/credentials-IP4L37XP.js.map +1 -0
- package/dist/critique-LGDNMLBL.js +232 -0
- package/dist/critique-LGDNMLBL.js.map +1 -0
- package/dist/critique-LJMFAURK.js +1451 -0
- package/dist/critique-LJMFAURK.js.map +1 -0
- package/dist/crm-BNYW7PF7.js +323 -0
- package/dist/crm-BNYW7PF7.js.map +1 -0
- package/dist/crm-J53V2QTN.js +227 -0
- package/dist/crm-J53V2QTN.js.map +1 -0
- package/dist/currency-X7Y6TSLF.js +88 -0
- package/dist/custom-conversions-HAGG72LF.js +128 -0
- package/dist/customers-663K2OCP.js +59 -0
- package/dist/delete-5W3YVA4L.js +67 -0
- package/dist/delete-5W3YVA4L.js.map +1 -0
- package/dist/delete-6U7E6YUW.js +57 -0
- package/dist/delete-6U7E6YUW.js.map +1 -0
- package/dist/delete-G4NY6ZG6.js +69 -0
- package/dist/delete-G4NY6ZG6.js.map +1 -0
- package/dist/demographics-4Y5LTCU4.js +141 -0
- package/dist/demographics-4Y5LTCU4.js.map +1 -0
- package/dist/discard-RKCZNKMN.js +69 -0
- package/dist/discard-RKCZNKMN.js.map +1 -0
- package/dist/discover-6DORQWXY.js +172 -0
- package/dist/domain-PLA2O4FW.js +101 -0
- package/dist/domain-PLA2O4FW.js.map +1 -0
- package/dist/download-4EFLVSA4.js +172 -0
- package/dist/download-4EFLVSA4.js.map +1 -0
- package/dist/draft-4V7W5DV2.js +310 -0
- package/dist/draft-4V7W5DV2.js.map +1 -0
- package/dist/draft-HY3U2GHU.js +283 -0
- package/dist/draft-HY3U2GHU.js.map +1 -0
- package/dist/draft-JMNAGW7C.js +220 -0
- package/dist/draft-JMNAGW7C.js.map +1 -0
- package/dist/draft-R6EKORNS.js +308 -0
- package/dist/draft-TRPQCJ4B.js +335 -0
- package/dist/draft-TRPQCJ4B.js.map +1 -0
- package/dist/experiments-4V242DG2.js +236 -0
- package/dist/experiments-4V242DG2.js.map +1 -0
- package/dist/facets-WXJ2MCU6.js +117 -0
- package/dist/facets-WXJ2MCU6.js.map +1 -0
- package/dist/feedback-IRSRPXV6.js +111 -0
- package/dist/feedback-IRSRPXV6.js.map +1 -0
- package/dist/feedback-record-DT3R4NA3.js +265 -0
- package/dist/feedback-record-DT3R4NA3.js.map +1 -0
- package/dist/fetch-YLQP5VQL.js +179 -0
- package/dist/fetch-YLQP5VQL.js.map +1 -0
- package/dist/fit-BEFCY2B4.js +65 -0
- package/dist/flows-FDMF3F3P.js +250 -0
- package/dist/flows-FDMF3F3P.js.map +1 -0
- package/dist/fonts-C6XN5667.js +39 -0
- package/dist/forecast-BTPIXEQ5.js +169 -0
- package/dist/forecast-ZTXZD3HD.js +121 -0
- package/dist/forecast-ZTXZD3HD.js.map +1 -0
- package/dist/funnel-7KOEX7YM.js +397 -0
- package/dist/funnel-7KOEX7YM.js.map +1 -0
- package/dist/get-KBSKPTAV.js +59 -0
- package/dist/get-KBSKPTAV.js.map +1 -0
- package/dist/get-OSVQVMP6.js +82 -0
- package/dist/get-OSVQVMP6.js.map +1 -0
- package/dist/google-M6BJ22UL.js +3267 -0
- package/dist/google-ads-XCJVAXWF.js +198 -0
- package/dist/google-ads-XCJVAXWF.js.map +1 -0
- package/dist/history-3NTM5SFN.js +69 -0
- package/dist/history-3NTM5SFN.js.map +1 -0
- package/dist/history-4TN2A6BL.js +136 -0
- package/dist/history-4TN2A6BL.js.map +1 -0
- package/dist/history-5IWW2X33.js +102 -0
- package/dist/history-5IWW2X33.js.map +1 -0
- package/dist/hubspot-HMVSRJQZ.js +782 -0
- package/dist/hubspot-HMVSRJQZ.js.map +1 -0
- package/dist/ideas-M66FU45H.js +45 -0
- package/dist/images-MM5OPUKV.js +92 -0
- package/dist/ingest-GU3WEBN3.js +110 -0
- package/dist/ingest-GU3WEBN3.js.map +1 -0
- package/dist/ingest-KMLYCFF4.js +26 -0
- package/dist/insights-CQCWOCIT.js +132 -0
- package/dist/insights-CQCWOCIT.js.map +1 -0
- package/dist/insights-XZL2EM53.js +439 -0
- package/dist/insights-XZL2EM53.js.map +1 -0
- package/dist/inspect-4JO2J3D6.js +192 -0
- package/dist/inspect-4JO2J3D6.js.map +1 -0
- package/dist/instant-experiences-RM4MLJTL.js +260 -0
- package/dist/instant-experiences-RM4MLJTL.js.map +1 -0
- package/dist/intent-YCQCUCV3.js +95 -0
- package/dist/keyword-gap-PUSF7EKY.js +130 -0
- package/dist/keyword-metrics-JXBM22ZD.js +200 -0
- package/dist/keyword-metrics-JXBM22ZD.js.map +1 -0
- package/dist/keywords-for-site-OAYA7KP7.js +131 -0
- package/dist/keywords-for-site-OAYA7KP7.js.map +1 -0
- package/dist/landing-OZU5RRFV.js +28 -0
- package/dist/languages-SLFV73GE.js +40 -0
- package/dist/leads-Q7APIJRQ.js +115 -0
- package/dist/leads-Q7APIJRQ.js.map +1 -0
- package/dist/leads-ULYHTG22.js +540 -0
- package/dist/leads-ULYHTG22.js.map +1 -0
- package/dist/learn-NBBJRMVZ.js +207 -0
- package/dist/learn-NBBJRMVZ.js.map +1 -0
- package/dist/line-item-writes-X3L5NQEH.js +211 -0
- package/dist/line-item-writes-X3L5NQEH.js.map +1 -0
- package/dist/line-items-NJMEPEF5.js +107 -0
- package/dist/link-WZSNUQQ2.js +67 -0
- package/dist/link-WZSNUQQ2.js.map +1 -0
- package/dist/linkedin-55PAID62.js +1316 -0
- package/dist/linkedin-55PAID62.js.map +1 -0
- package/dist/linkedin-person-MVRI7LLC.js +139 -0
- package/dist/linkedin-person-MVRI7LLC.js.map +1 -0
- package/dist/list-6S54IAUX.js +67 -0
- package/dist/list-6S54IAUX.js.map +1 -0
- package/dist/list-QRJ4E3SC.js +154 -0
- package/dist/list-QRJ4E3SC.js.map +1 -0
- package/dist/list-RZUDFLJN.js +306 -0
- package/dist/list-RZUDFLJN.js.map +1 -0
- package/dist/locations-T2OMP6QN.js +40 -0
- package/dist/locations-W3VOYBWL.js +69 -0
- package/dist/locations-W3VOYBWL.js.map +1 -0
- package/dist/log-53SAPZZ3.js +95 -0
- package/dist/log-53SAPZZ3.js.map +1 -0
- package/dist/lookup-S5VG7AWH.js +23 -0
- package/dist/make-ZF3YIMKW.js +1370 -0
- package/dist/make-ZF3YIMKW.js.map +1 -0
- package/dist/map-J37QFJSV.js +436 -0
- package/dist/map-J37QFJSV.js.map +1 -0
- package/dist/mcp-YRIFPYNU.js +717 -0
- package/dist/mcp-YRIFPYNU.js.map +1 -0
- package/dist/media-P4T4ZBNS.js +18 -0
- package/dist/media-sources-EQI3U4TC.js +35 -0
- package/dist/members-GYVMSCKL.js +47 -0
- package/dist/members-GYVMSCKL.js.map +1 -0
- package/dist/meta-IPLWNYC7.js +122 -0
- package/dist/metrics-4YVJHYRI.js +152 -0
- package/dist/normalize-MFN3WCH5.js +144 -0
- package/dist/normalize-MFN3WCH5.js.map +1 -0
- package/dist/options-DLHDHO7H.js +125 -0
- package/dist/options-DLHDHO7H.js.map +1 -0
- package/dist/organization-C2VOA2SD.js +949 -0
- package/dist/organization-C2VOA2SD.js.map +1 -0
- package/dist/page-photos-OQ5QATQH.js +118 -0
- package/dist/page-photos-OQ5QATQH.js.map +1 -0
- package/dist/performance-NIF3CESZ.js +27 -0
- package/dist/performance-T6TBVHVU.js +5541 -0
- package/dist/performance-T6TBVHVU.js.map +1 -0
- package/dist/pixels-LQAJOZIM.js +62 -0
- package/dist/pixels-LQAJOZIM.js.map +1 -0
- package/dist/plan-7UF76Q6U.js +208 -0
- package/dist/plan-7UF76Q6U.js.map +1 -0
- package/dist/preview-LRJOQ7LM.js +218 -0
- package/dist/preview-LRJOQ7LM.js.map +1 -0
- package/dist/promoted-tweet-writes-Y6BBOWDL.js +183 -0
- package/dist/promoted-tweet-writes-Y6BBOWDL.js.map +1 -0
- package/dist/promoted-tweets-RJT53DRM.js +119 -0
- package/dist/publish-IOTMJCCY.js +344 -0
- package/dist/publish-IOTMJCCY.js.map +1 -0
- package/dist/query-XZMDGRO5.js +62 -0
- package/dist/questionnaire-DWEH5II4.js +94 -0
- package/dist/questionnaire-DWEH5II4.js.map +1 -0
- package/dist/reddit-JIHMAKAQ.js +29 -0
- package/dist/refresh-OQZ263CS.js +97 -0
- package/dist/refresh-OQZ263CS.js.map +1 -0
- package/dist/release-4CHFURO3.js +63 -0
- package/dist/release-4CHFURO3.js.map +1 -0
- package/dist/relevant-pages-FS7GBVXK.js +99 -0
- package/dist/remove-IJQPHPDI.js +53 -0
- package/dist/remove-IJQPHPDI.js.map +1 -0
- package/dist/reopen-YTLPVKUR.js +66 -0
- package/dist/reopen-YTLPVKUR.js.map +1 -0
- package/dist/rerun-C7NB7B35.js +95 -0
- package/dist/rerun-C7NB7B35.js.map +1 -0
- package/dist/research-PNBACCCP.js +72 -0
- package/dist/research-TLHNPK3O.js +265 -0
- package/dist/research-TLHNPK3O.js.map +1 -0
- package/dist/reset-JVLW7HA2.js +57 -0
- package/dist/reset-JVLW7HA2.js.map +1 -0
- package/dist/reset-Y6FXLAQE.js +57 -0
- package/dist/reset-Y6FXLAQE.js.map +1 -0
- package/dist/resolve-YLRESES5.js +124 -0
- package/dist/resolve-YLRESES5.js.map +1 -0
- package/dist/retry-3V3IGDRR.js +65 -0
- package/dist/retry-3V3IGDRR.js.map +1 -0
- package/dist/retry-AEKQLQMP.js +63 -0
- package/dist/retry-AEKQLQMP.js.map +1 -0
- package/dist/revenue-E4GQIOUY.js +91 -0
- package/dist/revenue-E4GQIOUY.js.map +1 -0
- package/dist/rule-writes-UAVWT4XS.js +525 -0
- package/dist/rule-writes-UAVWT4XS.js.map +1 -0
- package/dist/rules-34BQAWU3.js +99 -0
- package/dist/rules-34BQAWU3.js.map +1 -0
- package/dist/rules-ZVS2MWED.js +217 -0
- package/dist/rules-add-CM5XUYNS.js +465 -0
- package/dist/rules-add-CM5XUYNS.js.map +1 -0
- package/dist/run-MD64RDHZ.js +69 -0
- package/dist/run-MD64RDHZ.js.map +1 -0
- package/dist/run-QCNRR3CA.js +70 -0
- package/dist/scaffold-ad-NADPY3CB.js +1516 -0
- package/dist/scaffold-ad-NADPY3CB.js.map +1 -0
- package/dist/scaffold-static-ad-5YEYYVYH.js +1015 -0
- package/dist/scaffold-static-ad-5YEYYVYH.js.map +1 -0
- package/dist/scaffold-video-W7DF2CBJ.js +888 -0
- package/dist/scaffold-video-W7DF2CBJ.js.map +1 -0
- package/dist/schedule-CTRRF6TS.js +64 -0
- package/dist/schedule-CTRRF6TS.js.map +1 -0
- package/dist/scheduled-agents-OXYAVSIE.js +55 -0
- package/dist/schema-BEUYOGSW.js +135 -0
- package/dist/schema-BEUYOGSW.js.map +1 -0
- package/dist/search-GFJKWPKN.js +177 -0
- package/dist/search-GFJKWPKN.js.map +1 -0
- package/dist/select-S72CCL57.js +106 -0
- package/dist/select-S72CCL57.js.map +1 -0
- package/dist/sends-LAY5C74B.js +349 -0
- package/dist/sends-LAY5C74B.js.map +1 -0
- package/dist/set-prompt-YYFDRXRI.js +198 -0
- package/dist/set-prompt-YYFDRXRI.js.map +1 -0
- package/dist/setup-links-D4JJLESN.js +144 -0
- package/dist/setup-links-D4JJLESN.js.map +1 -0
- package/dist/shopify-T4UWFIQC.js +3958 -0
- package/dist/shopify-T4UWFIQC.js.map +1 -0
- package/dist/site-BBZAUZA3.js +180 -0
- package/dist/site-BBZAUZA3.js.map +1 -0
- package/dist/sources-BUPV7H7F.js +457 -0
- package/dist/sources-BUPV7H7F.js.map +1 -0
- package/dist/sources-FLUGHSVP.js +30 -0
- package/dist/stale-HP54JS5X.js +76 -0
- package/dist/stale-HP54JS5X.js.map +1 -0
- package/dist/status-CLSWQFCQ.js +65 -0
- package/dist/status-CLSWQFCQ.js.map +1 -0
- package/dist/studies-EPO2AM4M.js +250 -0
- package/dist/study-writes-7FP443QQ.js +470 -0
- package/dist/study-writes-7FP443QQ.js.map +1 -0
- package/dist/sync-4YTVVEVC.js +57 -0
- package/dist/sync-4YTVVEVC.js.map +1 -0
- package/dist/sync-definition-OGQ5XTQE.js +69 -0
- package/dist/tags-CZTRQNXV.js +26 -0
- package/dist/tags-FDQXWTCQ.js +23 -0
- package/dist/tags-FDQXWTCQ.js.map +1 -0
- package/dist/tags-R67DKRZ6.js +23 -0
- package/dist/tags-R67DKRZ6.js.map +1 -0
- package/dist/tags-SA2LU6AW.js +227 -0
- package/dist/tags-SA2LU6AW.js.map +1 -0
- package/dist/tags-ZOXX6VRE.js +23 -0
- package/dist/tags-ZOXX6VRE.js.map +1 -0
- package/dist/targeting-NKZFEZD7.js +762 -0
- package/dist/targeting-NKZFEZD7.js.map +1 -0
- package/dist/targeting-criteria-AQYXVSGN.js +113 -0
- package/dist/targets-UUVCEG3F.js +106 -0
- package/dist/targets-UUVCEG3F.js.map +1 -0
- package/dist/testimonials-G3OCNPBY.js +32 -0
- package/dist/themes-FEVYZZCW.js +95 -0
- package/dist/top-companies-BQGWKYUK.js +111 -0
- package/dist/top-companies-BQGWKYUK.js.map +1 -0
- package/dist/transcript-U46AEOEI.js +165 -0
- package/dist/transcript-U46AEOEI.js.map +1 -0
- package/dist/translate-AS7JVKYM.js +609 -0
- package/dist/translate-AS7JVKYM.js.map +1 -0
- package/dist/triggers-ECRBPYYF.js +144 -0
- package/dist/triggers-ECRBPYYF.js.map +1 -0
- package/dist/unlink-VDNCSRJV.js +70 -0
- package/dist/unlink-VDNCSRJV.js.map +1 -0
- package/dist/unstage-ATDXUYP2.js +88 -0
- package/dist/unstage-ATDXUYP2.js.map +1 -0
- package/dist/unstage-ZA3WQBEA.js +96 -0
- package/dist/unstage-ZA3WQBEA.js.map +1 -0
- package/dist/update-FJ6TBV3E.js +101 -0
- package/dist/update-FJ6TBV3E.js.map +1 -0
- package/dist/update-HDBJCSTI.js +66 -0
- package/dist/update-HDBJCSTI.js.map +1 -0
- package/dist/update-U43DJRGV.js +155 -0
- package/dist/update-U43DJRGV.js.map +1 -0
- package/dist/update-Z7TIUBMJ.js +192 -0
- package/dist/update-Z7TIUBMJ.js.map +1 -0
- package/dist/upload-LXCFSRIU.js +129 -0
- package/dist/upload-LXCFSRIU.js.map +1 -0
- package/dist/url-options-Z4BQBEMI.js +131 -0
- package/dist/url-options-Z4BQBEMI.js.map +1 -0
- package/dist/url-params-J7RKP5RB.js +101 -0
- package/dist/url-params-J7RKP5RB.js.map +1 -0
- package/dist/validate-VR3HEOMJ.js +122 -0
- package/dist/validate-VR3HEOMJ.js.map +1 -0
- package/dist/videos-36AXDUGZ.js +41 -0
- package/dist/viewer-check-6HL4OUQY.js +83 -0
- package/dist/web-7BRJRQX7.js +143 -0
- package/dist/web-7BRJRQX7.js.map +1 -0
- package/dist/winning-ads-GMM5W2O4.js +86 -0
- package/dist/write-commands-IM5DPG3R.js +1502 -0
- package/dist/write-commands-IM5DPG3R.js.map +1 -0
- package/dist/write-commands-OGVDWWBV.js +1172 -0
- package/dist/write-commands-OGVDWWBV.js.map +1 -0
- package/dist/x-HGFAL3NY.js +47 -0
- package/package.json +1 -1
- package/dist/account-C635ATVM.js +0 -80
- package/dist/account-C635ATVM.js.map +0 -1
- package/dist/account-WLQBAQMD.js +0 -80
- package/dist/account-WLQBAQMD.js.map +0 -1
- package/dist/account-assets-O7IA37RE.js +0 -290
- package/dist/account-level-EU7BWCO7.js +0 -609
- package/dist/account-level-EU7BWCO7.js.map +0 -1
- package/dist/account-reads-SNOWDHHF.js +0 -219
- package/dist/account-users-XYYENK6X.js +0 -62
- package/dist/account-users-XYYENK6X.js.map +0 -1
- package/dist/account-writes-TU3WJRSI.js +0 -66
- package/dist/account-writes-TU3WJRSI.js.map +0 -1
- package/dist/accounts-A2FBLZ5H.js +0 -78
- package/dist/accounts-A2FBLZ5H.js.map +0 -1
- package/dist/accounts-V2IZZ5KU.js +0 -699
- package/dist/accounts-V2IZZ5KU.js.map +0 -1
- package/dist/actions-Y4SULW2E.js +0 -55
- package/dist/activecampaign-63XG6CLL.js +0 -936
- package/dist/activecampaign-63XG6CLL.js.map +0 -1
- package/dist/ad-group-writes-HLBWN4E4.js +0 -170
- package/dist/ad-group-writes-HLBWN4E4.js.map +0 -1
- package/dist/ad-groups-33NZD6J3.js +0 -68
- package/dist/ad-groups-33NZD6J3.js.map +0 -1
- package/dist/ad-writes-7ZDNDZ2E.js +0 -174
- package/dist/ad-writes-7ZDNDZ2E.js.map +0 -1
- package/dist/add-FOLFVGQO.js +0 -303
- package/dist/add-FOLFVGQO.js.map +0 -1
- package/dist/add-RYB4JSYC.js +0 -105
- package/dist/add-RYB4JSYC.js.map +0 -1
- package/dist/ads-2TVWICGM.js +0 -48
- package/dist/ads-KBE5JXCH.js +0 -115
- package/dist/ads-X3AM6M7L.js +0 -77
- package/dist/ads-X3AM6M7L.js.map +0 -1
- package/dist/adsets-YWBJFPAZ.js +0 -182
- package/dist/advertisers-IGUMSK5Q.js +0 -121
- package/dist/advertisers-IGUMSK5Q.js.map +0 -1
- package/dist/analytics-3DKM7J43.js +0 -445
- package/dist/analytics-3DKM7J43.js.map +0 -1
- package/dist/analytics-R3QDSX2K.js +0 -2435
- package/dist/analytics-R3QDSX2K.js.map +0 -1
- package/dist/asset-writes-72DEVXGO.js +0 -48
- package/dist/assign-EKCGLNZB.js +0 -78
- package/dist/assign-EKCGLNZB.js.map +0 -1
- package/dist/audience-size-IKXK32HU.js +0 -74
- package/dist/audience-size-IKXK32HU.js.map +0 -1
- package/dist/audience-writes-KCHLNFSI.js +0 -325
- package/dist/audience-writes-KCHLNFSI.js.map +0 -1
- package/dist/audiences-QAH42HIM.js +0 -86
- package/dist/audiences-WCDWN64L.js +0 -268
- package/dist/audiences-WCDWN64L.js.map +0 -1
- package/dist/audit-CY76S4V7.js +0 -152
- package/dist/audit-CY76S4V7.js.map +0 -1
- package/dist/autocomplete-G2S5HNUS.js +0 -112
- package/dist/autocomplete-G2S5HNUS.js.map +0 -1
- package/dist/avatars-P4UPNZM4.js +0 -38
- package/dist/bid-pricing-AJT4QU2C.js +0 -101
- package/dist/bid-pricing-AJT4QU2C.js.map +0 -1
- package/dist/brand-HALQWZWB.js +0 -22
- package/dist/brief-NW7TGG2Q.js +0 -541
- package/dist/brief-NW7TGG2Q.js.map +0 -1
- package/dist/campaign-groups-I43KMAJP.js +0 -97
- package/dist/campaign-groups-I43KMAJP.js.map +0 -1
- package/dist/campaign-writes-DLLPFAGG.js +0 -166
- package/dist/campaign-writes-DLLPFAGG.js.map +0 -1
- package/dist/campaign-writes-XO74BALZ.js +0 -174
- package/dist/campaign-writes-XO74BALZ.js.map +0 -1
- package/dist/campaigns-LS65QM6W.js +0 -76
- package/dist/campaigns-LS65QM6W.js.map +0 -1
- package/dist/campaigns-UIYSYCF3.js +0 -111
- package/dist/campaigns-UIYSYCF3.js.map +0 -1
- package/dist/campaigns-XZOQ2VTK.js +0 -130
- package/dist/campaigns-YMM5TQVO.js +0 -111
- package/dist/canvas-IJS7H3VE.js +0 -46
- package/dist/capabilities-XMQPM3UL.js +0 -145
- package/dist/capabilities-XMQPM3UL.js.map +0 -1
- package/dist/catalogs-JLCSFZYC.js +0 -779
- package/dist/catalogs-JLCSFZYC.js.map +0 -1
- package/dist/catalogs-T23RKYFC.js +0 -128
- package/dist/catalogs-T23RKYFC.js.map +0 -1
- package/dist/changes-36C754R4.js +0 -135
- package/dist/chatgpt-3WFOPURY.js +0 -47
- package/dist/chats-ZI6EYDAF.js +0 -277
- package/dist/chats-ZI6EYDAF.js.map +0 -1
- package/dist/check-CHJ2OLAU.js +0 -105
- package/dist/check-CHJ2OLAU.js.map +0 -1
- package/dist/chunk-2TOIY2WN.js +0 -4254
- package/dist/chunk-4GAEB6NK.js +0 -228
- package/dist/chunk-5RVQK3SP.js +0 -494
- package/dist/chunk-5SRUAGTG.js +0 -547
- package/dist/chunk-5XTGG4PV.js +0 -274
- package/dist/chunk-6Z7Y4KQB.js +0 -275
- package/dist/chunk-7J3NZBPV.js +0 -2982
- package/dist/chunk-7J3NZBPV.js.map +0 -1
- package/dist/chunk-AIRD6T4W.js +0 -169
- package/dist/chunk-AQOFQNKQ.js +0 -57
- package/dist/chunk-ARUXGKZO.js +0 -91
- package/dist/chunk-AYPBARKP.js +0 -156
- package/dist/chunk-BRLZX3VP.js +0 -207
- package/dist/chunk-BTJSGJNQ.js +0 -604
- package/dist/chunk-C7QQQVBS.js +0 -51
- package/dist/chunk-CCEDZTP7.js +0 -391
- package/dist/chunk-CCEDZTP7.js.map +0 -1
- package/dist/chunk-D3KLDIPQ.js +0 -45
- package/dist/chunk-DUR7PEJI.js +0 -170
- package/dist/chunk-EDLZGTGN.js +0 -216
- package/dist/chunk-EDLZGTGN.js.map +0 -1
- package/dist/chunk-FFFJBNHA.js +0 -63
- package/dist/chunk-FPWQA7TK.js +0 -344
- package/dist/chunk-G5Y7OIPL.js +0 -392
- package/dist/chunk-GACSA5A6.js +0 -1646
- package/dist/chunk-GMHCHHAA.js +0 -19
- package/dist/chunk-H4NNQGG6.js +0 -66
- package/dist/chunk-HSQRITKG.js +0 -203
- package/dist/chunk-I47BEKYK.js +0 -831
- package/dist/chunk-JND6XSGZ.js +0 -7192
- package/dist/chunk-JND6XSGZ.js.map +0 -1
- package/dist/chunk-KBRJSPIM.js +0 -676
- package/dist/chunk-KQTNUDKD.js +0 -97
- package/dist/chunk-M7HD42M6.js +0 -24017
- package/dist/chunk-M7HD42M6.js.map +0 -1
- package/dist/chunk-MBSFEVOG.js +0 -163
- package/dist/chunk-MGYC2IRC.js +0 -783
- package/dist/chunk-MUXKYSTI.js +0 -297
- package/dist/chunk-MZCTX37B.js +0 -3868
- package/dist/chunk-N7M2TWR5.js +0 -592
- package/dist/chunk-NDFS3APP.js +0 -319
- package/dist/chunk-OBJCNGZL.js +0 -207
- package/dist/chunk-OJGYYH6K.js +0 -179
- package/dist/chunk-P6BKKUSX.js +0 -142
- package/dist/chunk-PLAOK4AK.js +0 -103
- package/dist/chunk-PLBITHV6.js +0 -846
- package/dist/chunk-PNKIOTCK.js +0 -349
- package/dist/chunk-PNKIOTCK.js.map +0 -1
- package/dist/chunk-QBRPM3DQ.js +0 -61
- package/dist/chunk-QMDMTZAW.js +0 -224
- package/dist/chunk-QW6HL7D6.js +0 -429
- package/dist/chunk-R53XMPDO.js +0 -363
- package/dist/chunk-RFIUOQLN.js +0 -89
- package/dist/chunk-RVEY7BTT.js +0 -8954
- package/dist/chunk-SCL7PM6P.js +0 -479
- package/dist/chunk-SM7G7RUA.js +0 -910
- package/dist/chunk-SVBJ56T7.js +0 -455
- package/dist/chunk-TVAIOC77.js +0 -287
- package/dist/chunk-TVTSA4EN.js +0 -188
- package/dist/chunk-VIPKDXGU.js +0 -4229
- package/dist/chunk-VIPKDXGU.js.map +0 -1
- package/dist/chunk-W574NV67.js +0 -191
- package/dist/chunk-XGPU2VDU.js +0 -219
- package/dist/chunk-XQXZJ5IR.js +0 -249
- package/dist/chunk-YMF2RG4Z.js +0 -942
- package/dist/chunk-Z2DRGXBB.js +0 -197
- package/dist/chunk-Z7YMSHRZ.js +0 -23
- package/dist/chunk-ZEC46NWW.js +0 -122
- package/dist/chunk-ZFC562TP.js +0 -387
- package/dist/chunk-ZNRGH4NS.js +0 -150
- package/dist/claim-OUYHVGB4.js +0 -198
- package/dist/claim-OUYHVGB4.js.map +0 -1
- package/dist/companies-XDNSG7ME.js +0 -196
- package/dist/companies-XDNSG7ME.js.map +0 -1
- package/dist/company-4FAYYPEJ.js +0 -306
- package/dist/company-4FAYYPEJ.js.map +0 -1
- package/dist/complete-M2PAUMDP.js +0 -82
- package/dist/complete-M2PAUMDP.js.map +0 -1
- package/dist/connect-PP6Z3F7Y.js +0 -43
- package/dist/conversation-B5NPTLFQ.js +0 -94
- package/dist/conversation-B5NPTLFQ.js.map +0 -1
- package/dist/conversion-report-DKXFHLLX.js +0 -125
- package/dist/conversion-report-DKXFHLLX.js.map +0 -1
- package/dist/conversion-upload-command-KTYAY7IG.js +0 -439
- package/dist/conversion-writes-7ODJDAUP.js +0 -120
- package/dist/conversion-writes-7ODJDAUP.js.map +0 -1
- package/dist/conversions-BKVGNNC6.js +0 -76
- package/dist/conversions-BKVGNNC6.js.map +0 -1
- package/dist/conversions-QRJL6JIO.js +0 -138
- package/dist/conversions-QRJL6JIO.js.map +0 -1
- package/dist/copy-writes-P4WK6OPM.js +0 -168
- package/dist/copy-writes-P4WK6OPM.js.map +0 -1
- package/dist/create-4DWCJ2UA.js +0 -208
- package/dist/create-4DWCJ2UA.js.map +0 -1
- package/dist/create-OYV33CQ6.js +0 -60
- package/dist/create-OYV33CQ6.js.map +0 -1
- package/dist/create-U6JVIYFY.js +0 -237
- package/dist/create-U6JVIYFY.js.map +0 -1
- package/dist/create-V4FNRO63.js +0 -133
- package/dist/create-V4FNRO63.js.map +0 -1
- package/dist/creatives-64FKWEGL.js +0 -221
- package/dist/creatives-64FKWEGL.js.map +0 -1
- package/dist/creatives-JPKA2RHU.js +0 -89
- package/dist/creatives-UJDPD4CI.js +0 -58
- package/dist/credentials-EIPEZ2C2.js +0 -288
- package/dist/credentials-EIPEZ2C2.js.map +0 -1
- package/dist/critique-BADMZAZP.js +0 -230
- package/dist/critique-BADMZAZP.js.map +0 -1
- package/dist/critique-M3DEVEDA.js +0 -1449
- package/dist/critique-M3DEVEDA.js.map +0 -1
- package/dist/crm-GIYSLLY7.js +0 -321
- package/dist/crm-GIYSLLY7.js.map +0 -1
- package/dist/crm-HXKSJRY3.js +0 -225
- package/dist/crm-HXKSJRY3.js.map +0 -1
- package/dist/currency-R4ORE2U3.js +0 -88
- package/dist/custom-conversions-5HJBB5XL.js +0 -128
- package/dist/customers-7J3QGSOJ.js +0 -57
- package/dist/delete-EDWJQMMV.js +0 -65
- package/dist/delete-EDWJQMMV.js.map +0 -1
- package/dist/delete-O24CVQMJ.js +0 -67
- package/dist/delete-O24CVQMJ.js.map +0 -1
- package/dist/delete-QN2OYUCS.js +0 -55
- package/dist/delete-QN2OYUCS.js.map +0 -1
- package/dist/demographics-MPYYF2OI.js +0 -139
- package/dist/demographics-MPYYF2OI.js.map +0 -1
- package/dist/discard-FJCFB6SA.js +0 -67
- package/dist/discard-FJCFB6SA.js.map +0 -1
- package/dist/discover-GSJRZUOC.js +0 -172
- package/dist/domain-UILPSEA5.js +0 -99
- package/dist/domain-UILPSEA5.js.map +0 -1
- package/dist/download-ZMAI7QSG.js +0 -170
- package/dist/download-ZMAI7QSG.js.map +0 -1
- package/dist/draft-5OQT3APG.js +0 -308
- package/dist/draft-5OQT3APG.js.map +0 -1
- package/dist/draft-LPVK6YHI.js +0 -281
- package/dist/draft-LPVK6YHI.js.map +0 -1
- package/dist/draft-MSESA5UE.js +0 -333
- package/dist/draft-MSESA5UE.js.map +0 -1
- package/dist/draft-WYDMLNYA.js +0 -308
- package/dist/draft-XOOSEVY5.js +0 -218
- package/dist/draft-XOOSEVY5.js.map +0 -1
- package/dist/experiments-PVOQUL47.js +0 -234
- package/dist/experiments-PVOQUL47.js.map +0 -1
- package/dist/facets-5RW4Z3D3.js +0 -115
- package/dist/facets-5RW4Z3D3.js.map +0 -1
- package/dist/feedback-GC56R2EJ.js +0 -109
- package/dist/feedback-GC56R2EJ.js.map +0 -1
- package/dist/feedback-record-JX7ZU6J7.js +0 -263
- package/dist/feedback-record-JX7ZU6J7.js.map +0 -1
- package/dist/fetch-WUTXAPBL.js +0 -177
- package/dist/fetch-WUTXAPBL.js.map +0 -1
- package/dist/fit-N7WDGWYZ.js +0 -63
- package/dist/flows-ULZACISF.js +0 -248
- package/dist/flows-ULZACISF.js.map +0 -1
- package/dist/fonts-TTUAP7HS.js +0 -37
- package/dist/forecast-4AG5F7YC.js +0 -169
- package/dist/forecast-RQJJRN5D.js +0 -119
- package/dist/forecast-RQJJRN5D.js.map +0 -1
- package/dist/funnel-QPWJIXWK.js +0 -395
- package/dist/funnel-QPWJIXWK.js.map +0 -1
- package/dist/get-35D7YHWJ.js +0 -57
- package/dist/get-35D7YHWJ.js.map +0 -1
- package/dist/get-GIETDPF4.js +0 -80
- package/dist/get-GIETDPF4.js.map +0 -1
- package/dist/google-NAA4BASO.js +0 -3267
- package/dist/google-ads-2IZFZO4C.js +0 -196
- package/dist/google-ads-2IZFZO4C.js.map +0 -1
- package/dist/history-5MRLNTCI.js +0 -67
- package/dist/history-5MRLNTCI.js.map +0 -1
- package/dist/history-RPLWWPLQ.js +0 -134
- package/dist/history-RPLWWPLQ.js.map +0 -1
- package/dist/history-TQYLUYVU.js +0 -100
- package/dist/history-TQYLUYVU.js.map +0 -1
- package/dist/hubspot-EPK43X4C.js +0 -780
- package/dist/hubspot-EPK43X4C.js.map +0 -1
- package/dist/ideas-SUXKKZC7.js +0 -43
- package/dist/images-VKVZ3DWG.js +0 -92
- package/dist/ingest-BBBFT6FZ.js +0 -24
- package/dist/ingest-EM2UY42Z.js +0 -108
- package/dist/ingest-EM2UY42Z.js.map +0 -1
- package/dist/insights-M3CYB22P.js +0 -437
- package/dist/insights-M3CYB22P.js.map +0 -1
- package/dist/insights-XCT3ONC7.js +0 -130
- package/dist/insights-XCT3ONC7.js.map +0 -1
- package/dist/inspect-ZPOVOENK.js +0 -190
- package/dist/inspect-ZPOVOENK.js.map +0 -1
- package/dist/instant-experiences-HT3HB4QZ.js +0 -258
- package/dist/instant-experiences-HT3HB4QZ.js.map +0 -1
- package/dist/intent-NSHW7EJT.js +0 -95
- package/dist/keyword-gap-ITTWKBWZ.js +0 -130
- package/dist/keyword-metrics-7DPR264W.js +0 -198
- package/dist/keyword-metrics-7DPR264W.js.map +0 -1
- package/dist/keywords-for-site-IXL22UKQ.js +0 -129
- package/dist/keywords-for-site-IXL22UKQ.js.map +0 -1
- package/dist/landing-KZ4OSHHR.js +0 -28
- package/dist/languages-MEFQQBJ2.js +0 -40
- package/dist/leads-DNQTRYIR.js +0 -113
- package/dist/leads-DNQTRYIR.js.map +0 -1
- package/dist/leads-SZOGCQFK.js +0 -538
- package/dist/leads-SZOGCQFK.js.map +0 -1
- package/dist/learn-Q7WZG7FA.js +0 -205
- package/dist/learn-Q7WZG7FA.js.map +0 -1
- package/dist/line-item-writes-3K7FT5GO.js +0 -209
- package/dist/line-item-writes-3K7FT5GO.js.map +0 -1
- package/dist/line-items-G5YJG25N.js +0 -107
- package/dist/link-2QVSIZJT.js +0 -65
- package/dist/link-2QVSIZJT.js.map +0 -1
- package/dist/linkedin-VAFPZNWZ.js +0 -1314
- package/dist/linkedin-VAFPZNWZ.js.map +0 -1
- package/dist/linkedin-person-EHTYVNZY.js +0 -137
- package/dist/linkedin-person-EHTYVNZY.js.map +0 -1
- package/dist/list-5TS2VPQZ.js +0 -152
- package/dist/list-5TS2VPQZ.js.map +0 -1
- package/dist/list-PSSQXQRJ.js +0 -65
- package/dist/list-PSSQXQRJ.js.map +0 -1
- package/dist/list-UMVIFQ3X.js +0 -304
- package/dist/list-UMVIFQ3X.js.map +0 -1
- package/dist/locations-RLWAS6AC.js +0 -40
- package/dist/locations-UKBOT6SB.js +0 -67
- package/dist/locations-UKBOT6SB.js.map +0 -1
- package/dist/log-ZZK3QMZB.js +0 -93
- package/dist/log-ZZK3QMZB.js.map +0 -1
- package/dist/lookup-ZJIP2M4X.js +0 -22
- package/dist/make-DB2BDVB3.js +0 -1368
- package/dist/make-DB2BDVB3.js.map +0 -1
- package/dist/map-UJ23GKRH.js +0 -434
- package/dist/map-UJ23GKRH.js.map +0 -1
- package/dist/mcp-SS2ALFRJ.js +0 -715
- package/dist/mcp-SS2ALFRJ.js.map +0 -1
- package/dist/media-ZWN7E777.js +0 -18
- package/dist/media-sources-GKSEDSE3.js +0 -35
- package/dist/members-KD2XRYPZ.js +0 -45
- package/dist/members-KD2XRYPZ.js.map +0 -1
- package/dist/meta-EHKXH257.js +0 -122
- package/dist/metrics-K6FDCMK7.js +0 -152
- package/dist/normalize-ZNTXNX6D.js +0 -142
- package/dist/normalize-ZNTXNX6D.js.map +0 -1
- package/dist/options-TBIFJF3E.js +0 -123
- package/dist/options-TBIFJF3E.js.map +0 -1
- package/dist/organization-26J2ZIKM.js +0 -947
- package/dist/organization-26J2ZIKM.js.map +0 -1
- package/dist/page-photos-HWKQOSCU.js +0 -116
- package/dist/page-photos-HWKQOSCU.js.map +0 -1
- package/dist/performance-6TPJGM6A.js +0 -25
- package/dist/performance-O5BXZGS6.js +0 -5539
- package/dist/performance-O5BXZGS6.js.map +0 -1
- package/dist/pixels-Z7ZGXAGB.js +0 -60
- package/dist/pixels-Z7ZGXAGB.js.map +0 -1
- package/dist/plan-TVQSEKYL.js +0 -207
- package/dist/plan-TVQSEKYL.js.map +0 -1
- package/dist/preview-CWRGDFCP.js +0 -216
- package/dist/preview-CWRGDFCP.js.map +0 -1
- package/dist/promoted-tweet-writes-SZN74JHY.js +0 -181
- package/dist/promoted-tweet-writes-SZN74JHY.js.map +0 -1
- package/dist/promoted-tweets-7P4TSQU7.js +0 -119
- package/dist/publish-3DUERLGT.js +0 -342
- package/dist/publish-3DUERLGT.js.map +0 -1
- package/dist/query-QM7MBQD7.js +0 -62
- package/dist/questionnaire-LEZJLMAV.js +0 -93
- package/dist/questionnaire-LEZJLMAV.js.map +0 -1
- package/dist/reddit-SN5CESF4.js +0 -27
- package/dist/refresh-2ICQBTK4.js +0 -95
- package/dist/refresh-2ICQBTK4.js.map +0 -1
- package/dist/release-JSZ4JXYJ.js +0 -61
- package/dist/release-JSZ4JXYJ.js.map +0 -1
- package/dist/relevant-pages-VOICMQ7U.js +0 -99
- package/dist/remove-TFUAVRFM.js +0 -51
- package/dist/remove-TFUAVRFM.js.map +0 -1
- package/dist/reopen-5T2PE7MU.js +0 -64
- package/dist/reopen-5T2PE7MU.js.map +0 -1
- package/dist/rerun-EZJ4MLYG.js +0 -93
- package/dist/rerun-EZJ4MLYG.js.map +0 -1
- package/dist/research-BKYSU2C6.js +0 -263
- package/dist/research-BKYSU2C6.js.map +0 -1
- package/dist/research-QU63CJB5.js +0 -72
- package/dist/reset-DKTKZF7G.js +0 -55
- package/dist/reset-DKTKZF7G.js.map +0 -1
- package/dist/reset-SXABIVP6.js +0 -55
- package/dist/reset-SXABIVP6.js.map +0 -1
- package/dist/resolve-L47U2T77.js +0 -122
- package/dist/resolve-L47U2T77.js.map +0 -1
- package/dist/retry-JEWPK2B5.js +0 -63
- package/dist/retry-JEWPK2B5.js.map +0 -1
- package/dist/retry-SXFVLT3W.js +0 -61
- package/dist/retry-SXFVLT3W.js.map +0 -1
- package/dist/revenue-2MAYTXRM.js +0 -89
- package/dist/revenue-2MAYTXRM.js.map +0 -1
- package/dist/rule-writes-S3RN47OG.js +0 -523
- package/dist/rule-writes-S3RN47OG.js.map +0 -1
- package/dist/rules-CHWTFASP.js +0 -97
- package/dist/rules-CHWTFASP.js.map +0 -1
- package/dist/rules-KTJ2ZZ62.js +0 -217
- package/dist/rules-add-3M5TALWN.js +0 -463
- package/dist/rules-add-3M5TALWN.js.map +0 -1
- package/dist/run-2DLA6YO4.js +0 -68
- package/dist/run-JCGH2NHD.js +0 -67
- package/dist/run-JCGH2NHD.js.map +0 -1
- package/dist/scaffold-ad-VEW7JDY7.js +0 -1514
- package/dist/scaffold-ad-VEW7JDY7.js.map +0 -1
- package/dist/scaffold-static-ad-DYRL7DOS.js +0 -1013
- package/dist/scaffold-static-ad-DYRL7DOS.js.map +0 -1
- package/dist/scaffold-video-YRAVVKUH.js +0 -886
- package/dist/scaffold-video-YRAVVKUH.js.map +0 -1
- package/dist/schedule-WYIC6VNW.js +0 -62
- package/dist/schedule-WYIC6VNW.js.map +0 -1
- package/dist/scheduled-agents-FRBF4EOK.js +0 -55
- package/dist/schema-TC2O3FYY.js +0 -133
- package/dist/schema-TC2O3FYY.js.map +0 -1
- package/dist/search-VDW242BN.js +0 -175
- package/dist/search-VDW242BN.js.map +0 -1
- package/dist/select-O5HSSC36.js +0 -104
- package/dist/select-O5HSSC36.js.map +0 -1
- package/dist/sends-6FI7WELX.js +0 -348
- package/dist/sends-6FI7WELX.js.map +0 -1
- package/dist/set-prompt-TI7N64PJ.js +0 -196
- package/dist/set-prompt-TI7N64PJ.js.map +0 -1
- package/dist/setup-links-BM2FTXUZ.js +0 -142
- package/dist/setup-links-BM2FTXUZ.js.map +0 -1
- package/dist/shopify-FIHG5PYP.js +0 -3956
- package/dist/shopify-FIHG5PYP.js.map +0 -1
- package/dist/site-S3IGBMVC.js +0 -178
- package/dist/site-S3IGBMVC.js.map +0 -1
- package/dist/sources-77WLFY4Y.js +0 -30
- package/dist/sources-A4B3R5JC.js +0 -455
- package/dist/sources-A4B3R5JC.js.map +0 -1
- package/dist/stale-YIRCXDOK.js +0 -74
- package/dist/stale-YIRCXDOK.js.map +0 -1
- package/dist/status-6YNR647D.js +0 -63
- package/dist/status-6YNR647D.js.map +0 -1
- package/dist/studies-ZOEUY6YP.js +0 -250
- package/dist/study-writes-DTGMCNFP.js +0 -468
- package/dist/study-writes-DTGMCNFP.js.map +0 -1
- package/dist/sync-FFVWHGLE.js +0 -55
- package/dist/sync-FFVWHGLE.js.map +0 -1
- package/dist/sync-definition-K4XOAG2B.js +0 -67
- package/dist/tags-5KIOGEKN.js +0 -21
- package/dist/tags-5KIOGEKN.js.map +0 -1
- package/dist/tags-BKAN5EAJ.js +0 -21
- package/dist/tags-BKAN5EAJ.js.map +0 -1
- package/dist/tags-ETOOYQ57.js +0 -26
- package/dist/tags-RPNK7TMO.js +0 -225
- package/dist/tags-RPNK7TMO.js.map +0 -1
- package/dist/tags-UM4QO46J.js +0 -21
- package/dist/tags-UM4QO46J.js.map +0 -1
- package/dist/targeting-VBQY3HUN.js +0 -760
- package/dist/targeting-VBQY3HUN.js.map +0 -1
- package/dist/targeting-criteria-L4DYIJZI.js +0 -113
- package/dist/targets-S6N7327Q.js +0 -104
- package/dist/targets-S6N7327Q.js.map +0 -1
- package/dist/testimonials-65N7IYN7.js +0 -32
- package/dist/themes-B4LCQUXB.js +0 -95
- package/dist/top-companies-SJKND75M.js +0 -109
- package/dist/top-companies-SJKND75M.js.map +0 -1
- package/dist/transcript-5I7I6DWL.js +0 -163
- package/dist/transcript-5I7I6DWL.js.map +0 -1
- package/dist/translate-SH6IG5Y7.js +0 -607
- package/dist/translate-SH6IG5Y7.js.map +0 -1
- package/dist/triggers-YRY3HTYU.js +0 -142
- package/dist/triggers-YRY3HTYU.js.map +0 -1
- package/dist/unlink-4B4YTQE4.js +0 -68
- package/dist/unlink-4B4YTQE4.js.map +0 -1
- package/dist/unstage-H5NTDJ6A.js +0 -86
- package/dist/unstage-H5NTDJ6A.js.map +0 -1
- package/dist/unstage-MDSSPUKV.js +0 -95
- package/dist/unstage-MDSSPUKV.js.map +0 -1
- package/dist/update-DI52JJGB.js +0 -99
- package/dist/update-DI52JJGB.js.map +0 -1
- package/dist/update-DMPDLMMV.js +0 -64
- package/dist/update-DMPDLMMV.js.map +0 -1
- package/dist/update-TUS4PJIG.js +0 -190
- package/dist/update-TUS4PJIG.js.map +0 -1
- package/dist/update-Z66LMXNS.js +0 -153
- package/dist/update-Z66LMXNS.js.map +0 -1
- package/dist/upload-7KQYZ7T7.js +0 -127
- package/dist/upload-7KQYZ7T7.js.map +0 -1
- package/dist/url-options-IHL4OU4C.js +0 -130
- package/dist/url-options-IHL4OU4C.js.map +0 -1
- package/dist/url-params-SDA2MWB5.js +0 -99
- package/dist/url-params-SDA2MWB5.js.map +0 -1
- package/dist/validate-ZABZNCSB.js +0 -120
- package/dist/validate-ZABZNCSB.js.map +0 -1
- package/dist/videos-BKVCCKIH.js +0 -41
- package/dist/viewer-check-B5O7ZY3Q.js +0 -81
- package/dist/web-KN3BTVG4.js +0 -141
- package/dist/web-KN3BTVG4.js.map +0 -1
- package/dist/winning-ads-JIDPISKM.js +0 -86
- package/dist/write-commands-K6M3RTVK.js +0 -1170
- package/dist/write-commands-K6M3RTVK.js.map +0 -1
- package/dist/write-commands-RVHLLLDR.js +0 -1498
- package/dist/write-commands-RVHLLLDR.js.map +0 -1
- package/dist/x-NLGWZCGX.js +0 -47
- /package/dist/{account-assets-O7IA37RE.js.map → account-assets-J5Z4URLQ.js.map} +0 -0
- /package/dist/{account-reads-SNOWDHHF.js.map → account-reads-2MSUVG46.js.map} +0 -0
- /package/dist/{actions-Y4SULW2E.js.map → actions-D7OWCP36.js.map} +0 -0
- /package/dist/{ads-2TVWICGM.js.map → ads-HLUJB5SQ.js.map} +0 -0
- /package/dist/{ads-KBE5JXCH.js.map → ads-MAOI7S6V.js.map} +0 -0
- /package/dist/{adsets-YWBJFPAZ.js.map → adsets-QRKICEFD.js.map} +0 -0
- /package/dist/{asset-writes-72DEVXGO.js.map → asset-writes-JLVUAVUZ.js.map} +0 -0
- /package/dist/{audiences-QAH42HIM.js.map → audiences-CDDI5HR5.js.map} +0 -0
- /package/dist/{avatars-P4UPNZM4.js.map → avatars-WZ2JDMHH.js.map} +0 -0
- /package/dist/{brand-HALQWZWB.js.map → brand-IZTTBZII.js.map} +0 -0
- /package/dist/{campaigns-YMM5TQVO.js.map → campaigns-4Y3JQC2U.js.map} +0 -0
- /package/dist/{campaigns-XZOQ2VTK.js.map → campaigns-HES5MDUG.js.map} +0 -0
- /package/dist/{canvas-IJS7H3VE.js.map → canvas-IQ753Q2O.js.map} +0 -0
- /package/dist/{changes-36C754R4.js.map → changes-VWKTM27U.js.map} +0 -0
- /package/dist/{chatgpt-3WFOPURY.js.map → chatgpt-OPOD2WHB.js.map} +0 -0
- /package/dist/{chunk-DUR7PEJI.js.map → chunk-2GYCWRF3.js.map} +0 -0
- /package/dist/{chunk-QBRPM3DQ.js.map → chunk-2L7F7KR4.js.map} +0 -0
- /package/dist/{chunk-4GAEB6NK.js.map → chunk-44ZRCSR7.js.map} +0 -0
- /package/dist/{chunk-2TOIY2WN.js.map → chunk-46YLDIQG.js.map} +0 -0
- /package/dist/{chunk-R53XMPDO.js.map → chunk-4EDWXZ3I.js.map} +0 -0
- /package/dist/{chunk-H4NNQGG6.js.map → chunk-4FFBGR5L.js.map} +0 -0
- /package/dist/{chunk-XGPU2VDU.js.map → chunk-4UQRXKYJ.js.map} +0 -0
- /package/dist/{chunk-N7M2TWR5.js.map → chunk-4UZUUSVL.js.map} +0 -0
- /package/dist/{chunk-I47BEKYK.js.map → chunk-4XHCEYHI.js.map} +0 -0
- /package/dist/{chunk-SCL7PM6P.js.map → chunk-4Z6PVR3M.js.map} +0 -0
- /package/dist/{chunk-ZEC46NWW.js.map → chunk-5Y5FZV2W.js.map} +0 -0
- /package/dist/{chunk-G5Y7OIPL.js.map → chunk-6HJXLGDV.js.map} +0 -0
- /package/dist/{chunk-QW6HL7D6.js.map → chunk-6S5CWGDA.js.map} +0 -0
- /package/dist/{chunk-5RVQK3SP.js.map → chunk-6VYROVWO.js.map} +0 -0
- /package/dist/{chunk-TVAIOC77.js.map → chunk-7BUIOP36.js.map} +0 -0
- /package/dist/{chunk-NDFS3APP.js.map → chunk-AQRXXC6E.js.map} +0 -0
- /package/dist/{chunk-ZFC562TP.js.map → chunk-ARBXT73X.js.map} +0 -0
- /package/dist/{chunk-KQTNUDKD.js.map → chunk-BEZHQIEI.js.map} +0 -0
- /package/dist/{chunk-5SRUAGTG.js.map → chunk-BFURWHVR.js.map} +0 -0
- /package/dist/{chunk-KBRJSPIM.js.map → chunk-DSCEXBDR.js.map} +0 -0
- /package/dist/{chunk-Z7YMSHRZ.js.map → chunk-FLWDFPXE.js.map} +0 -0
- /package/dist/{chunk-GACSA5A6.js.map → chunk-FRNBRN2C.js.map} +0 -0
- /package/dist/{chunk-C7QQQVBS.js.map → chunk-GE3VT3CA.js.map} +0 -0
- /package/dist/{chunk-P6BKKUSX.js.map → chunk-HGBJQGO5.js.map} +0 -0
- /package/dist/{chunk-MGYC2IRC.js.map → chunk-I7AYMJZA.js.map} +0 -0
- /package/dist/{chunk-BRLZX3VP.js.map → chunk-IRM273C7.js.map} +0 -0
- /package/dist/{chunk-AYPBARKP.js.map → chunk-IWKD56AY.js.map} +0 -0
- /package/dist/{chunk-MZCTX37B.js.map → chunk-JLAQWMVF.js.map} +0 -0
- /package/dist/{chunk-AQOFQNKQ.js.map → chunk-K6NULQN7.js.map} +0 -0
- /package/dist/{chunk-GMHCHHAA.js.map → chunk-L2BRAC2J.js.map} +0 -0
- /package/dist/{chunk-SVBJ56T7.js.map → chunk-LGMI4LSY.js.map} +0 -0
- /package/dist/{chunk-OJGYYH6K.js.map → chunk-NB2FU6EZ.js.map} +0 -0
- /package/dist/{chunk-TVTSA4EN.js.map → chunk-NWF2LRKO.js.map} +0 -0
- /package/dist/{chunk-6Z7Y4KQB.js.map → chunk-OG47L5GG.js.map} +0 -0
- /package/dist/{chunk-AIRD6T4W.js.map → chunk-OR6KVLI5.js.map} +0 -0
- /package/dist/{chunk-OBJCNGZL.js.map → chunk-QDQZ62FL.js.map} +0 -0
- /package/dist/{chunk-FPWQA7TK.js.map → chunk-QIOFOD4K.js.map} +0 -0
- /package/dist/{chunk-XQXZJ5IR.js.map → chunk-R2SYF5FC.js.map} +0 -0
- /package/dist/{chunk-YMF2RG4Z.js.map → chunk-RTH2I55B.js.map} +0 -0
- /package/dist/{chunk-FFFJBNHA.js.map → chunk-S6VFDNSQ.js.map} +0 -0
- /package/dist/{chunk-ZNRGH4NS.js.map → chunk-SG2TDQEE.js.map} +0 -0
- /package/dist/{chunk-RFIUOQLN.js.map → chunk-T3P6O2VU.js.map} +0 -0
- /package/dist/{chunk-BTJSGJNQ.js.map → chunk-TXDE2QJ3.js.map} +0 -0
- /package/dist/{chunk-HSQRITKG.js.map → chunk-UDIEKCIR.js.map} +0 -0
- /package/dist/{chunk-MBSFEVOG.js.map → chunk-USCADMM3.js.map} +0 -0
- /package/dist/{chunk-SM7G7RUA.js.map → chunk-UUGISMNE.js.map} +0 -0
- /package/dist/{chunk-Z2DRGXBB.js.map → chunk-VDPOCAQ2.js.map} +0 -0
- /package/dist/{chunk-PLAOK4AK.js.map → chunk-VEJ3QX6M.js.map} +0 -0
- /package/dist/{chunk-ARUXGKZO.js.map → chunk-VFJB7OG6.js.map} +0 -0
- /package/dist/{chunk-RVEY7BTT.js.map → chunk-VRIPVLE7.js.map} +0 -0
- /package/dist/{chunk-5XTGG4PV.js.map → chunk-WFY7KSHB.js.map} +0 -0
- /package/dist/{chunk-D3KLDIPQ.js.map → chunk-WLESMH4J.js.map} +0 -0
- /package/dist/{chunk-PLBITHV6.js.map → chunk-XHQYFNNK.js.map} +0 -0
- /package/dist/{chunk-QMDMTZAW.js.map → chunk-YILZR3XI.js.map} +0 -0
- /package/dist/{chunk-W574NV67.js.map → chunk-YJFLXOH4.js.map} +0 -0
- /package/dist/{chunk-MUXKYSTI.js.map → chunk-YWHZYR6S.js.map} +0 -0
- /package/dist/{connect-PP6Z3F7Y.js.map → connect-3YY7MF3I.js.map} +0 -0
- /package/dist/{conversion-upload-command-KTYAY7IG.js.map → conversion-upload-command-7RSZ5ZQU.js.map} +0 -0
- /package/dist/{creatives-UJDPD4CI.js.map → creatives-2DR3QHJW.js.map} +0 -0
- /package/dist/{creatives-JPKA2RHU.js.map → creatives-BB6S2OF6.js.map} +0 -0
- /package/dist/{currency-R4ORE2U3.js.map → currency-X7Y6TSLF.js.map} +0 -0
- /package/dist/{custom-conversions-5HJBB5XL.js.map → custom-conversions-HAGG72LF.js.map} +0 -0
- /package/dist/{customers-7J3QGSOJ.js.map → customers-663K2OCP.js.map} +0 -0
- /package/dist/{discover-GSJRZUOC.js.map → discover-6DORQWXY.js.map} +0 -0
- /package/dist/{draft-WYDMLNYA.js.map → draft-R6EKORNS.js.map} +0 -0
- /package/dist/{fit-N7WDGWYZ.js.map → fit-BEFCY2B4.js.map} +0 -0
- /package/dist/{fonts-TTUAP7HS.js.map → fonts-C6XN5667.js.map} +0 -0
- /package/dist/{forecast-4AG5F7YC.js.map → forecast-BTPIXEQ5.js.map} +0 -0
- /package/dist/{google-NAA4BASO.js.map → google-M6BJ22UL.js.map} +0 -0
- /package/dist/{ideas-SUXKKZC7.js.map → ideas-M66FU45H.js.map} +0 -0
- /package/dist/{images-VKVZ3DWG.js.map → images-MM5OPUKV.js.map} +0 -0
- /package/dist/{ingest-BBBFT6FZ.js.map → ingest-KMLYCFF4.js.map} +0 -0
- /package/dist/{intent-NSHW7EJT.js.map → intent-YCQCUCV3.js.map} +0 -0
- /package/dist/{keyword-gap-ITTWKBWZ.js.map → keyword-gap-PUSF7EKY.js.map} +0 -0
- /package/dist/{landing-KZ4OSHHR.js.map → landing-OZU5RRFV.js.map} +0 -0
- /package/dist/{languages-MEFQQBJ2.js.map → languages-SLFV73GE.js.map} +0 -0
- /package/dist/{line-items-G5YJG25N.js.map → line-items-NJMEPEF5.js.map} +0 -0
- /package/dist/{locations-RLWAS6AC.js.map → locations-T2OMP6QN.js.map} +0 -0
- /package/dist/{lookup-ZJIP2M4X.js.map → lookup-S5VG7AWH.js.map} +0 -0
- /package/dist/{media-ZWN7E777.js.map → media-P4T4ZBNS.js.map} +0 -0
- /package/dist/{media-sources-GKSEDSE3.js.map → media-sources-EQI3U4TC.js.map} +0 -0
- /package/dist/{meta-EHKXH257.js.map → meta-IPLWNYC7.js.map} +0 -0
- /package/dist/{metrics-K6FDCMK7.js.map → metrics-4YVJHYRI.js.map} +0 -0
- /package/dist/{performance-6TPJGM6A.js.map → performance-NIF3CESZ.js.map} +0 -0
- /package/dist/{promoted-tweets-7P4TSQU7.js.map → promoted-tweets-RJT53DRM.js.map} +0 -0
- /package/dist/{query-QM7MBQD7.js.map → query-XZMDGRO5.js.map} +0 -0
- /package/dist/{reddit-SN5CESF4.js.map → reddit-JIHMAKAQ.js.map} +0 -0
- /package/dist/{relevant-pages-VOICMQ7U.js.map → relevant-pages-FS7GBVXK.js.map} +0 -0
- /package/dist/{research-QU63CJB5.js.map → research-PNBACCCP.js.map} +0 -0
- /package/dist/{rules-KTJ2ZZ62.js.map → rules-ZVS2MWED.js.map} +0 -0
- /package/dist/{run-2DLA6YO4.js.map → run-QCNRR3CA.js.map} +0 -0
- /package/dist/{scheduled-agents-FRBF4EOK.js.map → scheduled-agents-OXYAVSIE.js.map} +0 -0
- /package/dist/{sources-77WLFY4Y.js.map → sources-FLUGHSVP.js.map} +0 -0
- /package/dist/{studies-ZOEUY6YP.js.map → studies-EPO2AM4M.js.map} +0 -0
- /package/dist/{sync-definition-K4XOAG2B.js.map → sync-definition-OGQ5XTQE.js.map} +0 -0
- /package/dist/{tags-ETOOYQ57.js.map → tags-CZTRQNXV.js.map} +0 -0
- /package/dist/{targeting-criteria-L4DYIJZI.js.map → targeting-criteria-AQYXVSGN.js.map} +0 -0
- /package/dist/{testimonials-65N7IYN7.js.map → testimonials-G3OCNPBY.js.map} +0 -0
- /package/dist/{themes-B4LCQUXB.js.map → themes-FEVYZZCW.js.map} +0 -0
- /package/dist/{videos-BKVCCKIH.js.map → videos-36AXDUGZ.js.map} +0 -0
- /package/dist/{viewer-check-B5O7ZY3Q.js.map → viewer-check-6HL4OUQY.js.map} +0 -0
- /package/dist/{winning-ads-JIDPISKM.js.map → winning-ads-GMM5W2O4.js.map} +0 -0
- /package/dist/{x-NLGWZCGX.js.map → x-HGFAL3NY.js.map} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/commands/ads/chatgpt/insights.ts"],"sourcesContent":["import {\n CHATGPT_ADS_GRANULARITIES,\n CHATGPT_ADS_LEVELS,\n CHATGPT_ADS_METRICS,\n CHATGPT_ADS_SEGMENTS,\n type ChatgptAdsInsightsRequest,\n type ChatgptAdsInsightsResponse,\n chatgptAdsInsightsRequestSchema,\n} from \"@baker/api/ads-chatgpt\";\nimport { defineCommand } from \"citty\";\nimport { apiPost } from \"../../../client.ts\";\nimport { registerSchema } from \"../../../schemas.ts\";\nimport { writeJsonEnvelope } from \"../output.ts\";\nimport { syncedFirstHint } from \"../synced-first.ts\";\nimport { CHATGPT_ADS_REFERENCE, insightsRequestFromArgs, runChatgptRead } from \"./shared.ts\";\n\nconst args = {\n level: {\n type: \"string\",\n description: `What one row is: ${CHATGPT_ADS_LEVELS.join(\"|\")} (default campaign)`,\n required: false,\n },\n \"campaign-id\": { type: \"string\", description: \"Report on one campaign (cmpn_…)\", required: false },\n \"ad-group-id\": { type: \"string\", description: \"Report on one ad group (adgrp_…)\", required: false },\n \"ad-id\": { type: \"string\", description: \"Report on one ad (ad_…)\", required: false },\n days: {\n type: \"string\",\n description: \"Last N complete days, ending the account's yesterday (default 7)\",\n required: false,\n },\n since: {\n type: \"string\",\n description: \"First day, YYYY-MM-DD, account timezone (instead of --days)\",\n required: false,\n },\n until: { type: \"string\", description: \"Last day, inclusive, YYYY-MM-DD\", required: false },\n granularity: {\n type: \"string\",\n description: `${CHATGPT_ADS_GRANULARITIES.join(\"|\")} (default none: one total per row)`,\n required: false,\n },\n segment: {\n type: \"string\",\n description: `Break rows down by one of ${CHATGPT_ADS_SEGMENTS.join(\"|\")}`,\n required: false,\n },\n metrics: {\n type: \"string\",\n description: `CSV of ${CHATGPT_ADS_METRICS.join(\",\")} (default impressions,clicks,spend,ctr,cpc,conversions,cpa)`,\n required: false,\n },\n sort: { type: \"string\", description: \"Metric to rank rows by, highest first\", required: false },\n limit: { type: \"string\", description: \"Rows, 1-2000 (default 200)\", required: false },\n} as const;\n\nregisterSchema({\n command: \"ads.chatgpt.insights\",\n description:\n \"Performance of the connected ChatGPT Ads account: impressions, clicks, spend, CTR, CPC, CPM, conversions, CPA, attributed sales and ROAS, per account, campaign, ad group or ad, over a window, optionally per day and broken down by country, device, platform or product. Spend and costs are in the account currency; null means not reported, not zero.\",\n args,\n});\n\nfunction insightsHints(report: ChatgptAdsInsightsResponse): string[] {\n const hints: string[] = [];\n if (report.rows.length === 0) {\n hints.push(\n \"No delivery in this window. Check `baker ads chatgpt campaigns` for serving issues before concluding the ads do not work.\",\n );\n }\n if (report.truncated) {\n hints.push(\"More rows matched than --limit allowed. Narrow the report or raise --limit (max 2000).\");\n }\n hints.push(\n \"Conversions come from ChatGPT Ads' own pixel or Conversions API and take at least a day to appear; the most recent days are still filling in.\",\n );\n return hints;\n}\n\n/** Baker's synced copy holds ChatGPT rows, never their segments: a segmented read gets no synced-first hint. */\nexport function chatgptInsightsHints(report: ChatgptAdsInsightsResponse, request: ChatgptAdsInsightsRequest): string[] {\n const hints = insightsHints(report);\n return request.segment ? hints : [...hints, syncedFirstHint(\"chatgpt\", request.level)];\n}\n\nexport const insightsCommand = defineCommand({\n meta: {\n name: \"insights\",\n description: `How a ChatGPT Ads account performs. Start here for \"how are the ChatGPT campaigns doing\".\n\nExamples:\n baker ads chatgpt insights # last 7 days, one row per campaign\n baker ads chatgpt insights --days 30 --granularity daily --level account\n baker ads chatgpt insights --campaign-id cmpn_123 --level ad --sort spend\n baker ads chatgpt insights --segment country --metrics spend,clicks,conversions\n baker ads chatgpt insights --since 2026-09-01 --until 2026-09-07 --metrics spend,order_created_roas`,\n },\n args,\n run: async ({ args: input }) => {\n const parsed = chatgptAdsInsightsRequestSchema.safeParse(insightsRequestFromArgs(input));\n if (!parsed.success) {\n const message = parsed.error.issues[0]?.message ?? \"Invalid report request\";\n writeJsonEnvelope({\n ok: false,\n error: {\n code: \"VALIDATION_ERROR\",\n message,\n fix: { action: \"retry_with_modified_query\", explanation: message },\n retryable: false,\n },\n });\n process.exit(1);\n }\n await runChatgptRead(\n CHATGPT_ADS_REFERENCE.insights,\n () => apiPost<ChatgptAdsInsightsResponse>(\"/api/ads/chatgpt/insights\", parsed.data),\n (report) => chatgptInsightsHints(report, parsed.data),\n );\n },\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,SAAS,qBAAqB;AAO9B,IAAM,OAAO;AAAA,EACX,OAAO;AAAA,IACL,MAAM;AAAA,IACN,aAAa,oBAAoB,mBAAmB,KAAK,GAAG,CAAC;AAAA,IAC7D,UAAU;AAAA,EACZ;AAAA,EACA,eAAe,EAAE,MAAM,UAAU,aAAa,wCAAmC,UAAU,MAAM;AAAA,EACjG,eAAe,EAAE,MAAM,UAAU,aAAa,yCAAoC,UAAU,MAAM;AAAA,EAClG,SAAS,EAAE,MAAM,UAAU,aAAa,gCAA2B,UAAU,MAAM;AAAA,EACnF,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACZ;AAAA,EACA,OAAO;AAAA,IACL,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACZ;AAAA,EACA,OAAO,EAAE,MAAM,UAAU,aAAa,mCAAmC,UAAU,MAAM;AAAA,EACzF,aAAa;AAAA,IACX,MAAM;AAAA,IACN,aAAa,GAAG,0BAA0B,KAAK,GAAG,CAAC;AAAA,IACnD,UAAU;AAAA,EACZ;AAAA,EACA,SAAS;AAAA,IACP,MAAM;AAAA,IACN,aAAa,6BAA6B,qBAAqB,KAAK,GAAG,CAAC;AAAA,IACxE,UAAU;AAAA,EACZ;AAAA,EACA,SAAS;AAAA,IACP,MAAM;AAAA,IACN,aAAa,UAAU,oBAAoB,KAAK,GAAG,CAAC;AAAA,IACpD,UAAU;AAAA,EACZ;AAAA,EACA,MAAM,EAAE,MAAM,UAAU,aAAa,yCAAyC,UAAU,MAAM;AAAA,EAC9F,OAAO,EAAE,MAAM,UAAU,aAAa,8BAA8B,UAAU,MAAM;AACtF;AAEA,eAAe;AAAA,EACb,SAAS;AAAA,EACT,aACE;AAAA,EACF;AACF,CAAC;AAED,SAAS,cAAc,QAA8C;AACnE,QAAM,QAAkB,CAAC;AACzB,MAAI,OAAO,KAAK,WAAW,GAAG;AAC5B,UAAM;AAAA,MACJ;AAAA,IACF;AAAA,EACF;AACA,MAAI,OAAO,WAAW;AACpB,UAAM,KAAK,wFAAwF;AAAA,EACrG;AACA,QAAM;AAAA,IACJ;AAAA,EACF;AACA,SAAO;AACT;AAGO,SAAS,qBAAqB,QAAoC,SAA8C;AACrH,QAAM,QAAQ,cAAc,MAAM;AAClC,SAAO,QAAQ,UAAU,QAAQ,CAAC,GAAG,OAAO,gBAAgB,WAAW,QAAQ,KAAK,CAAC;AACvF;AAEO,IAAM,kBAAkB,cAAc;AAAA,EAC3C,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQf;AAAA,EACA;AAAA,EACA,KAAK,OAAO,EAAE,MAAM,MAAM,MAAM;AAC9B,UAAM,SAAS,gCAAgC,UAAU,wBAAwB,KAAK,CAAC;AACvF,QAAI,CAAC,OAAO,SAAS;AACnB,YAAM,UAAU,OAAO,MAAM,OAAO,CAAC,GAAG,WAAW;AACnD,wBAAkB;AAAA,QAChB,IAAI;AAAA,QACJ,OAAO;AAAA,UACL,MAAM;AAAA,UACN;AAAA,UACA,KAAK,EAAE,QAAQ,6BAA6B,aAAa,QAAQ;AAAA,UACjE,WAAW;AAAA,QACb;AAAA,MACF,CAAC;AACD,cAAQ,KAAK,CAAC;AAAA,IAChB;AACA,UAAM;AAAA,MACJ,sBAAsB;AAAA,MACtB,MAAM,QAAoC,6BAA6B,OAAO,IAAI;AAAA,MAClF,CAAC,WAAW,qBAAqB,QAAQ,OAAO,IAAI;AAAA,IACtD;AAAA,EACF;AACF,CAAC;","names":[]}
|
package/dist/inspect-ZPOVOENK.js
DELETED
|
@@ -1,190 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
fetchRunRecord
|
|
3
|
-
} from "./chunk-Z7YMSHRZ.js";
|
|
4
|
-
import {
|
|
5
|
-
findWorkspaceRoot
|
|
6
|
-
} from "./chunk-EJGAJHLB.js";
|
|
7
|
-
import "./chunk-FOMFU2RX.js";
|
|
8
|
-
import "./chunk-PSGIHSNC.js";
|
|
9
|
-
import "./chunk-PONLPYD7.js";
|
|
10
|
-
import "./chunk-JND6XSGZ.js";
|
|
11
|
-
import "./chunk-CAZGM2NX.js";
|
|
12
|
-
import "./chunk-NZS3KEQ2.js";
|
|
13
|
-
import "./chunk-GIWHHCD6.js";
|
|
14
|
-
import "./chunk-NSBNIPIW.js";
|
|
15
|
-
import "./chunk-2TOIY2WN.js";
|
|
16
|
-
import {
|
|
17
|
-
ApiError
|
|
18
|
-
} from "./chunk-X7VQFLHI.js";
|
|
19
|
-
import "./chunk-LU4HI4KI.js";
|
|
20
|
-
import "./chunk-LGK7UWBN.js";
|
|
21
|
-
import "./chunk-Q7US4OOA.js";
|
|
22
|
-
import "./chunk-YQSBHWOI.js";
|
|
23
|
-
|
|
24
|
-
// src/commands/canvas/inspect.ts
|
|
25
|
-
import { execFile } from "child_process";
|
|
26
|
-
import { readdir, readFile, stat } from "fs/promises";
|
|
27
|
-
import path from "path";
|
|
28
|
-
import { promisify } from "util";
|
|
29
|
-
import { defineCommand } from "citty";
|
|
30
|
-
var execFileAsync = promisify(execFile);
|
|
31
|
-
var inspectCommand = defineCommand({
|
|
32
|
-
meta: {
|
|
33
|
-
name: "inspect",
|
|
34
|
-
description: "Dump a one-page summary of a canvas run: per-node duration + cache status, the run's outputs, and optionally three thumbnail frames per video output. Pass a run_id (r_\u2026) or an absolute run directory. A run whose folder is not in this workspace (an older version, or one rendered in another chat) is read from the company's run history instead: its status, stats, per-node results and the durable URL of every output."
|
|
35
|
-
},
|
|
36
|
-
args: {
|
|
37
|
-
run: { type: "positional", required: true, description: "Run id (e.g. r_01K...) or absolute run directory" },
|
|
38
|
-
"outputs-dir": { type: "string", description: "Per-run outputs root (default <workspace root>/canvas, where `canvas run` writes)" },
|
|
39
|
-
thumbnails: {
|
|
40
|
-
type: "boolean",
|
|
41
|
-
description: "Extract start/middle/end frames from every video output in the local run folder (requires ffmpeg)"
|
|
42
|
-
}
|
|
43
|
-
},
|
|
44
|
-
async run({ args }) {
|
|
45
|
-
const cwd = process.cwd();
|
|
46
|
-
const outputsDir = args["outputs-dir"] ? path.resolve(String(args["outputs-dir"])) : path.join(findWorkspaceRoot(cwd) ?? cwd, "canvas");
|
|
47
|
-
const runArg = String(args.run);
|
|
48
|
-
const runDir = await localRunDir(runArg, outputsDir);
|
|
49
|
-
if (!runDir) {
|
|
50
|
-
if (path.isAbsolute(runArg)) fail("not_found", `${runArg} is not a run directory`);
|
|
51
|
-
await inspectFromHistory(runArg, path.join(outputsDir, runArg));
|
|
52
|
-
return;
|
|
53
|
-
}
|
|
54
|
-
const manifest = await loadManifest(runDir);
|
|
55
|
-
const files = await listRunFiles(runDir);
|
|
56
|
-
const videos = files.filter((f) => isVideoFile(f.path));
|
|
57
|
-
let thumbnails = [];
|
|
58
|
-
if (args.thumbnails) {
|
|
59
|
-
thumbnails = await extractThumbnails(videos.map((v) => v.path));
|
|
60
|
-
}
|
|
61
|
-
const summary = {
|
|
62
|
-
ok: true,
|
|
63
|
-
source: "local",
|
|
64
|
-
run_id: manifest.run_id ?? path.basename(runDir),
|
|
65
|
-
run_dir: runDir,
|
|
66
|
-
stats: manifest.stats ?? null,
|
|
67
|
-
output: manifest.output ?? null,
|
|
68
|
-
node_runs: manifest.node_runs ?? [],
|
|
69
|
-
files: files.map((f) => ({ name: f.name, path: f.path, size_bytes: f.size })),
|
|
70
|
-
thumbnails
|
|
71
|
-
};
|
|
72
|
-
process.stdout.write(`${JSON.stringify(summary, null, 2)}
|
|
73
|
-
`);
|
|
74
|
-
}
|
|
75
|
-
});
|
|
76
|
-
async function localRunDir(run, outputsDir) {
|
|
77
|
-
const candidate = path.isAbsolute(run) ? run : path.join(outputsDir, run);
|
|
78
|
-
const s = await stat(candidate).catch(() => null);
|
|
79
|
-
return s?.isDirectory() ? candidate : null;
|
|
80
|
-
}
|
|
81
|
-
async function inspectFromHistory(runId, expectedDir) {
|
|
82
|
-
let run;
|
|
83
|
-
try {
|
|
84
|
-
run = await fetchRunRecord(runId);
|
|
85
|
-
} catch (e) {
|
|
86
|
-
const reason = e instanceof ApiError ? e.message : e instanceof Error ? e.message : String(e);
|
|
87
|
-
fail("unavailable", `No run folder at ${expectedDir}, and the run history could not be read (${reason}).`);
|
|
88
|
-
}
|
|
89
|
-
if (!run) {
|
|
90
|
-
fail(
|
|
91
|
-
"not_found",
|
|
92
|
-
`No run "${runId}": there is no folder at ${expectedDir} and the company's run history has no run by that id.`
|
|
93
|
-
);
|
|
94
|
-
}
|
|
95
|
-
const summary = {
|
|
96
|
-
ok: true,
|
|
97
|
-
source: "run_history",
|
|
98
|
-
run_id: run.runId,
|
|
99
|
-
creative: run.creativeSlug ?? null,
|
|
100
|
-
status: run.status,
|
|
101
|
-
...run.errorMessage ? { error: run.errorMessage } : {},
|
|
102
|
-
stats: {
|
|
103
|
-
total_nodes: run.stats.totalNodes,
|
|
104
|
-
cached_nodes: run.stats.cachedNodes,
|
|
105
|
-
total_credits: run.stats.totalCredits,
|
|
106
|
-
duration_ms: run.stats.durationMs
|
|
107
|
-
},
|
|
108
|
-
outputs: run.finalOutputs,
|
|
109
|
-
node_runs: run.nodes.map((node) => ({
|
|
110
|
-
node_id: node.nodeId,
|
|
111
|
-
node_type: node.nodeType,
|
|
112
|
-
cached: node.cached,
|
|
113
|
-
duration_ms: node.durationMs,
|
|
114
|
-
credits: node.credits,
|
|
115
|
-
...node.status ? { status: node.status } : {},
|
|
116
|
-
outputs: node.outputs
|
|
117
|
-
})),
|
|
118
|
-
...run.review ? { review: run.review } : {},
|
|
119
|
-
hints: [
|
|
120
|
-
"This run's folder is not in this workspace, so there are no local files: every output above is a durable URL. To render it again here, run `baker canvas run --slug <creative>`."
|
|
121
|
-
]
|
|
122
|
-
};
|
|
123
|
-
process.stdout.write(`${JSON.stringify(summary, null, 2)}
|
|
124
|
-
`);
|
|
125
|
-
}
|
|
126
|
-
function fail(code, message) {
|
|
127
|
-
process.stderr.write(`${JSON.stringify({ ok: false, error: { code, message } }, null, 2)}
|
|
128
|
-
`);
|
|
129
|
-
process.exit(2);
|
|
130
|
-
}
|
|
131
|
-
async function loadManifest(runDir) {
|
|
132
|
-
const manifestPath = path.join(runDir, "manifest.json");
|
|
133
|
-
try {
|
|
134
|
-
const raw = await readFile(manifestPath, "utf-8");
|
|
135
|
-
return JSON.parse(raw);
|
|
136
|
-
} catch {
|
|
137
|
-
return {};
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
async function listRunFiles(runDir) {
|
|
141
|
-
const out = [];
|
|
142
|
-
const names = await readdir(runDir);
|
|
143
|
-
for (const name of names) {
|
|
144
|
-
const abs = path.join(runDir, name);
|
|
145
|
-
const s = await stat(abs).catch(() => null);
|
|
146
|
-
if (!s?.isFile()) continue;
|
|
147
|
-
out.push({ name, path: abs, size: s.size });
|
|
148
|
-
}
|
|
149
|
-
out.sort((a, b) => a.name.localeCompare(b.name));
|
|
150
|
-
return out;
|
|
151
|
-
}
|
|
152
|
-
function isVideoFile(p) {
|
|
153
|
-
return /\.(mp4|webm|mov)$/i.test(p);
|
|
154
|
-
}
|
|
155
|
-
async function extractThumbnails(videoPaths) {
|
|
156
|
-
const out = [];
|
|
157
|
-
for (const v of videoPaths) {
|
|
158
|
-
const duration = await probeDuration(v).catch(() => null);
|
|
159
|
-
if (duration === null) {
|
|
160
|
-
out.push({ video: v, frames: [] });
|
|
161
|
-
continue;
|
|
162
|
-
}
|
|
163
|
-
const frames = [];
|
|
164
|
-
const checkpoints = [0.05, 0.5, 0.95];
|
|
165
|
-
const base = v.replace(/\.[^.]+$/, "");
|
|
166
|
-
for (const ratio of checkpoints) {
|
|
167
|
-
const at = Math.max(0, Math.min(duration * ratio, duration - 0.01));
|
|
168
|
-
const dest = `${base}__frame_${Math.round(ratio * 100).toString().padStart(2, "0")}.png`;
|
|
169
|
-
try {
|
|
170
|
-
await execFileAsync("ffmpeg", ["-ss", at.toFixed(3), "-i", v, "-frames:v", "1", "-y", dest]);
|
|
171
|
-
frames.push(dest);
|
|
172
|
-
} catch {
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
out.push({ video: v, frames });
|
|
176
|
-
}
|
|
177
|
-
return out;
|
|
178
|
-
}
|
|
179
|
-
async function probeDuration(filePath) {
|
|
180
|
-
const { stdout } = await execFileAsync(
|
|
181
|
-
"ffprobe",
|
|
182
|
-
["-v", "error", "-show_entries", "format=duration", "-of", "csv=p=0", filePath],
|
|
183
|
-
{ encoding: "utf-8" }
|
|
184
|
-
);
|
|
185
|
-
return Number.parseFloat(stdout.trim());
|
|
186
|
-
}
|
|
187
|
-
export {
|
|
188
|
-
inspectCommand
|
|
189
|
-
};
|
|
190
|
-
//# sourceMappingURL=inspect-ZPOVOENK.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/commands/canvas/inspect.ts"],"sourcesContent":["import { execFile } from \"node:child_process\";\nimport { readdir, readFile, stat } from \"node:fs/promises\";\nimport path from \"node:path\";\nimport { promisify } from \"node:util\";\nimport { defineCommand } from \"citty\";\nimport { ApiError } from \"../../client.ts\";\nimport { findWorkspaceRoot } from \"./normalize-paths.ts\";\nimport { fetchRunRecord } from \"./run-history.ts\";\n\nconst execFileAsync = promisify(execFile);\n\ntype ManifestNodeRun = {\n node_id: string;\n node_type: string;\n cached: boolean;\n duration_ms: number;\n credits: number;\n};\n\ntype Manifest = {\n run_id: string;\n output?: unknown;\n stats?: { total_nodes: number; cached_nodes: number; total_credits: number; duration_ms: number };\n node_runs?: ManifestNodeRun[];\n};\n\nexport const inspectCommand = defineCommand({\n meta: {\n name: \"inspect\",\n description:\n \"Dump a one-page summary of a canvas run: per-node duration + cache status, the run's outputs, and optionally three thumbnail frames per video output. Pass a run_id (r_…) or an absolute run directory. A run whose folder is not in this workspace (an older version, or one rendered in another chat) is read from the company's run history instead: its status, stats, per-node results and the durable URL of every output.\",\n },\n args: {\n run: { type: \"positional\", required: true, description: \"Run id (e.g. r_01K...) or absolute run directory\" },\n \"outputs-dir\": { type: \"string\", description: \"Per-run outputs root (default <workspace root>/canvas, where `canvas run` writes)\" },\n thumbnails: {\n type: \"boolean\",\n description: \"Extract start/middle/end frames from every video output in the local run folder (requires ffmpeg)\",\n },\n },\n async run({ args }) {\n const cwd = process.cwd();\n const outputsDir = args[\"outputs-dir\"]\n ? path.resolve(String(args[\"outputs-dir\"]))\n : path.join(findWorkspaceRoot(cwd) ?? cwd, \"canvas\");\n const runArg = String(args.run);\n const runDir = await localRunDir(runArg, outputsDir);\n if (!runDir) {\n if (path.isAbsolute(runArg)) fail(\"not_found\", `${runArg} is not a run directory`);\n await inspectFromHistory(runArg, path.join(outputsDir, runArg));\n return;\n }\n\n const manifest = await loadManifest(runDir);\n const files = await listRunFiles(runDir);\n const videos = files.filter((f) => isVideoFile(f.path));\n let thumbnails: Array<{ video: string; frames: string[] }> = [];\n if (args.thumbnails) {\n thumbnails = await extractThumbnails(videos.map((v) => v.path));\n }\n\n const summary = {\n ok: true,\n source: \"local\",\n run_id: manifest.run_id ?? path.basename(runDir),\n run_dir: runDir,\n stats: manifest.stats ?? null,\n output: manifest.output ?? null,\n node_runs: manifest.node_runs ?? [],\n files: files.map((f) => ({ name: f.name, path: f.path, size_bytes: f.size })),\n thumbnails,\n };\n\n process.stdout.write(`${JSON.stringify(summary, null, 2)}\\n`);\n },\n});\n\n/** The run's local folder, or null when this workspace does not have it. */\nasync function localRunDir(run: string, outputsDir: string): Promise<string | null> {\n const candidate = path.isAbsolute(run) ? run : path.join(outputsDir, run);\n const s = await stat(candidate).catch(() => null);\n return s?.isDirectory() ? candidate : null;\n}\n\n/** The run as the company's run history keeps it: no local files, durable output URLs. */\nasync function inspectFromHistory(runId: string, expectedDir: string): Promise<void> {\n let run: Awaited<ReturnType<typeof fetchRunRecord>>;\n try {\n run = await fetchRunRecord(runId);\n } catch (e) {\n const reason = e instanceof ApiError ? e.message : e instanceof Error ? e.message : String(e);\n fail(\"unavailable\", `No run folder at ${expectedDir}, and the run history could not be read (${reason}).`);\n }\n if (!run) {\n fail(\n \"not_found\",\n `No run \"${runId}\": there is no folder at ${expectedDir} and the company's run history has no run by that id.`,\n );\n }\n const summary = {\n ok: true,\n source: \"run_history\",\n run_id: run.runId,\n creative: run.creativeSlug ?? null,\n status: run.status,\n ...(run.errorMessage ? { error: run.errorMessage } : {}),\n stats: {\n total_nodes: run.stats.totalNodes,\n cached_nodes: run.stats.cachedNodes,\n total_credits: run.stats.totalCredits,\n duration_ms: run.stats.durationMs,\n },\n outputs: run.finalOutputs,\n node_runs: run.nodes.map((node) => ({\n node_id: node.nodeId,\n node_type: node.nodeType,\n cached: node.cached,\n duration_ms: node.durationMs,\n credits: node.credits,\n ...(node.status ? { status: node.status } : {}),\n outputs: node.outputs,\n })),\n ...(run.review ? { review: run.review } : {}),\n hints: [\n \"This run's folder is not in this workspace, so there are no local files: every output above is a durable URL. To render it again here, run `baker canvas run --slug <creative>`.\",\n ],\n };\n process.stdout.write(`${JSON.stringify(summary, null, 2)}\\n`);\n}\n\nfunction fail(code: string, message: string): never {\n process.stderr.write(`${JSON.stringify({ ok: false, error: { code, message } }, null, 2)}\\n`);\n process.exit(2);\n}\n\nasync function loadManifest(runDir: string): Promise<Manifest> {\n const manifestPath = path.join(runDir, \"manifest.json\");\n try {\n const raw = await readFile(manifestPath, \"utf-8\");\n return JSON.parse(raw) as Manifest;\n } catch {\n return {} as Manifest;\n }\n}\n\ntype RunFile = { name: string; path: string; size: number };\nasync function listRunFiles(runDir: string): Promise<RunFile[]> {\n const out: RunFile[] = [];\n const names = await readdir(runDir);\n for (const name of names) {\n const abs = path.join(runDir, name);\n const s = await stat(abs).catch(() => null);\n if (!s?.isFile()) continue;\n out.push({ name, path: abs, size: s.size });\n }\n out.sort((a, b) => a.name.localeCompare(b.name));\n return out;\n}\n\nfunction isVideoFile(p: string): boolean {\n return /\\.(mp4|webm|mov)$/i.test(p);\n}\n\nasync function extractThumbnails(videoPaths: string[]): Promise<Array<{ video: string; frames: string[] }>> {\n const out: Array<{ video: string; frames: string[] }> = [];\n for (const v of videoPaths) {\n const duration = await probeDuration(v).catch(() => null);\n if (duration === null) {\n out.push({ video: v, frames: [] });\n continue;\n }\n const frames: string[] = [];\n const checkpoints = [0.05, 0.5, 0.95];\n const base = v.replace(/\\.[^.]+$/, \"\");\n for (const ratio of checkpoints) {\n const at = Math.max(0, Math.min(duration * ratio, duration - 0.01));\n const dest = `${base}__frame_${Math.round(ratio * 100)\n .toString()\n .padStart(2, \"0\")}.png`;\n try {\n await execFileAsync(\"ffmpeg\", [\"-ss\", at.toFixed(3), \"-i\", v, \"-frames:v\", \"1\", \"-y\", dest]);\n frames.push(dest);\n } catch {\n // skip — best-effort; thumbnail extraction is non-fatal.\n }\n }\n out.push({ video: v, frames });\n }\n return out;\n}\n\nasync function probeDuration(filePath: string): Promise<number> {\n const { stdout } = await execFileAsync(\n \"ffprobe\",\n [\"-v\", \"error\", \"-show_entries\", \"format=duration\", \"-of\", \"csv=p=0\", filePath],\n { encoding: \"utf-8\" },\n );\n return Number.parseFloat(stdout.trim());\n}\n"],"mappings":"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","names":[]}
|
|
@@ -1,258 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
bareAccountId,
|
|
3
|
-
failWriteValidation,
|
|
4
|
-
loadJsonFileArg,
|
|
5
|
-
mergePayload,
|
|
6
|
-
requireTarget,
|
|
7
|
-
stageOp
|
|
8
|
-
} from "./chunk-OBJCNGZL.js";
|
|
9
|
-
import "./chunk-VIPKDXGU.js";
|
|
10
|
-
import "./chunk-GDFJOCDO.js";
|
|
11
|
-
import {
|
|
12
|
-
csvOrJson,
|
|
13
|
-
handleMetaError
|
|
14
|
-
} from "./chunk-B2POVFR2.js";
|
|
15
|
-
import "./chunk-ERSX3MKH.js";
|
|
16
|
-
import "./chunk-SCAGMX2I.js";
|
|
17
|
-
import "./chunk-4NZ47VXO.js";
|
|
18
|
-
import "./chunk-D5FY4FAK.js";
|
|
19
|
-
import "./chunk-QPESDKZC.js";
|
|
20
|
-
import "./chunk-Y2JZX6JB.js";
|
|
21
|
-
import {
|
|
22
|
-
writeAdsOutput,
|
|
23
|
-
writeJsonEnvelope
|
|
24
|
-
} from "./chunk-ZRP7Y2DM.js";
|
|
25
|
-
import "./chunk-E44NXCTL.js";
|
|
26
|
-
import "./chunk-EJGAJHLB.js";
|
|
27
|
-
import "./chunk-LNNTHEL7.js";
|
|
28
|
-
import "./chunk-FOMFU2RX.js";
|
|
29
|
-
import "./chunk-PSGIHSNC.js";
|
|
30
|
-
import "./chunk-PONLPYD7.js";
|
|
31
|
-
import "./chunk-NSBNIPIW.js";
|
|
32
|
-
import {
|
|
33
|
-
apiGet
|
|
34
|
-
} from "./chunk-X7VQFLHI.js";
|
|
35
|
-
import "./chunk-LU4HI4KI.js";
|
|
36
|
-
import "./chunk-LGK7UWBN.js";
|
|
37
|
-
import {
|
|
38
|
-
registerSchema
|
|
39
|
-
} from "./chunk-Q7US4OOA.js";
|
|
40
|
-
import "./chunk-YQSBHWOI.js";
|
|
41
|
-
|
|
42
|
-
// src/commands/ads/meta/instant-experiences.ts
|
|
43
|
-
import { defineCommand } from "citty";
|
|
44
|
-
var STAGED_NOTE = "Staged until publish \u2014 review with `baker ads meta draft`.";
|
|
45
|
-
var ELEMENT_FLAGS = ["text", "button", "photo-id", "video-id", "video-ref", "product-set-id", "footer"];
|
|
46
|
-
function linkPair(flag, value) {
|
|
47
|
-
const [text, ...rest] = value.split("=>");
|
|
48
|
-
const url = rest.join("=>").trim();
|
|
49
|
-
if (!text?.trim() || !url) {
|
|
50
|
-
failWriteValidation(`--${flag} takes "Button text => https://\u2026" \u2014 got "${value}"`);
|
|
51
|
-
}
|
|
52
|
-
return { text: text.trim(), url };
|
|
53
|
-
}
|
|
54
|
-
function elementFor(flag, value) {
|
|
55
|
-
switch (flag) {
|
|
56
|
-
case "text":
|
|
57
|
-
return { type: "text", text: value };
|
|
58
|
-
case "button":
|
|
59
|
-
return { type: "button", ...linkPair(flag, value) };
|
|
60
|
-
case "footer":
|
|
61
|
-
return { type: "footer", ...linkPair(flag, value) };
|
|
62
|
-
case "photo-id":
|
|
63
|
-
return { type: "photo", photo_id: value };
|
|
64
|
-
case "video-id":
|
|
65
|
-
return { type: "video", video_id: value };
|
|
66
|
-
case "video-ref":
|
|
67
|
-
return { type: "video", videoRef: value };
|
|
68
|
-
default:
|
|
69
|
-
return { type: "product_set", product_set_id: value };
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
function elementFlagOf(arg) {
|
|
73
|
-
if (!arg.startsWith("--")) return void 0;
|
|
74
|
-
const eq = arg.indexOf("=");
|
|
75
|
-
const name = eq === -1 ? arg.slice(2) : arg.slice(2, eq);
|
|
76
|
-
const flag = ELEMENT_FLAGS.find((candidate) => candidate === name);
|
|
77
|
-
if (!flag) return void 0;
|
|
78
|
-
return eq === -1 ? { flag } : { flag, inline: arg.slice(eq + 1) };
|
|
79
|
-
}
|
|
80
|
-
function canvasElementsFromRawArgs(rawArgs) {
|
|
81
|
-
const elements = [];
|
|
82
|
-
const end = rawArgs.indexOf("--");
|
|
83
|
-
const args = end === -1 ? rawArgs : rawArgs.slice(0, end);
|
|
84
|
-
for (let i = 0; i < args.length; i++) {
|
|
85
|
-
const found = elementFlagOf(args[i] ?? "");
|
|
86
|
-
if (!found) continue;
|
|
87
|
-
const value = found.inline ?? args[++i];
|
|
88
|
-
if (value === void 0 || value.startsWith("--")) failWriteValidation(`--${found.flag} needs a value`);
|
|
89
|
-
elements.push(elementFor(found.flag, value));
|
|
90
|
-
}
|
|
91
|
-
return elements;
|
|
92
|
-
}
|
|
93
|
-
registerSchema({
|
|
94
|
-
command: "ads.meta.instant-experiences",
|
|
95
|
-
description: "A Facebook Page's Instant Experiences \u2014 the full-screen pages an ad can open (creatives create --type instant_experience --canvas-id). Shows whether each is published: an ad opens only a published one.",
|
|
96
|
-
args: {
|
|
97
|
-
"page-id": { type: "string", description: "Facebook Page id (baker ads meta pages)", required: true },
|
|
98
|
-
output: { type: "string", description: "json|csv|jsonl|md", required: false, default: "json" }
|
|
99
|
-
}
|
|
100
|
-
});
|
|
101
|
-
var listCommand = defineCommand({
|
|
102
|
-
meta: {
|
|
103
|
-
name: "list",
|
|
104
|
-
description: "A Page's Instant Experiences, published or not. Runs by default. Example: baker ads meta instant-experiences --page-id 904238019441800"
|
|
105
|
-
},
|
|
106
|
-
args: {
|
|
107
|
-
"page-id": { type: "string", description: "Facebook Page id \u2014 from `baker ads meta pages`" },
|
|
108
|
-
output: { type: "string", description: "json|csv|jsonl|md", default: "json" }
|
|
109
|
-
},
|
|
110
|
-
run: async ({ args }) => {
|
|
111
|
-
if (!args["page-id"]) failWriteValidation("pass --page-id (from `baker ads meta pages`)");
|
|
112
|
-
try {
|
|
113
|
-
const rows = await apiGet("/api/ads/meta/instant-experiences", {
|
|
114
|
-
"page-id": String(args["page-id"])
|
|
115
|
-
});
|
|
116
|
-
const hints = rows.length === 0 ? ["This Page has no Instant Experiences. Stage one with `baker ads meta instant-experiences create`."] : [
|
|
117
|
-
"An ad opens only a published experience (is_published true): `creatives create --type instant_experience --canvas-id <id>`. A published one cannot be changed or deleted."
|
|
118
|
-
];
|
|
119
|
-
const fmt = csvOrJson(args);
|
|
120
|
-
if (fmt !== "json") {
|
|
121
|
-
writeAdsOutput(rows, fmt, void 0, hints);
|
|
122
|
-
return;
|
|
123
|
-
}
|
|
124
|
-
writeJsonEnvelope({ ok: true, data: rows, hints });
|
|
125
|
-
} catch (err) {
|
|
126
|
-
handleMetaError(err);
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
});
|
|
130
|
-
registerSchema({
|
|
131
|
-
command: "ads.meta.instant-experiences.create",
|
|
132
|
-
description: "Stage a new Instant Experience on a Page \u2014 its elements in command-line order \u2014 made (and published, unless --unpublished) when the chat publishes. Meta deletes no experience, so it is only ever made at publish.",
|
|
133
|
-
args: {
|
|
134
|
-
"account-id": { type: "string", description: "Ad account the change is staged under", required: false },
|
|
135
|
-
"page-id": { type: "string", description: "The Facebook Page it belongs to", required: true },
|
|
136
|
-
name: { type: "string", description: "Name in the Page's Instant Experience library", required: true },
|
|
137
|
-
text: { type: "string", description: "A paragraph, repeatable", required: false },
|
|
138
|
-
button: { type: "string", description: '"Text => https://\u2026", repeatable', required: false },
|
|
139
|
-
"photo-id": {
|
|
140
|
-
type: "string",
|
|
141
|
-
description: "A photo on the Page, or meta_temp_* of a staged `page-photos upload`, repeatable",
|
|
142
|
-
required: false
|
|
143
|
-
},
|
|
144
|
-
"video-id": { type: "string", description: "A video of the ad account, repeatable", required: false },
|
|
145
|
-
"video-ref": { type: "string", description: "meta_temp_* of a staged video upload, repeatable", required: false },
|
|
146
|
-
"product-set-id": { type: "string", description: "Products of a catalog's product set", required: false },
|
|
147
|
-
footer: { type: "string", description: '"Text => https://\u2026" pinned at the bottom (last)', required: false },
|
|
148
|
-
background: { type: "string", description: "Background colour, six hex digits", required: false },
|
|
149
|
-
unpublished: { type: "boolean", description: "Leave it unpublished (no ad can open it yet)", required: false },
|
|
150
|
-
file: { type: "string", description: "JSON file with the whole payload", required: false }
|
|
151
|
-
}
|
|
152
|
-
});
|
|
153
|
-
var instantExperiencesCreateCommand = defineCommand({
|
|
154
|
-
meta: {
|
|
155
|
-
name: "create",
|
|
156
|
-
description: `Stage a new Instant Experience (the full-screen page an ad opens). ${STAGED_NOTE}
|
|
157
|
-
Elements appear in the order of their flags; every element flag repeats. Published at publish unless --unpublished \u2014 an ad opens only a published one, a published one cannot be changed, and Meta deletes none.
|
|
158
|
-
Pictures are Page photos (--photo-id: one on the Page, or the ref of a staged \`page-photos upload\`; a collection's photo experience takes four); videos come from the ad account (--video-id, or --video-ref of a staged \`media upload --kind video\`).
|
|
159
|
-
Example: baker ads meta instant-experiences create --account-id act_123 --page-id 904238019441800 --name "Spring" --video-id 1508023623826870 --text "Our spring range" --button "Shop now => https://shop.example/spring"
|
|
160
|
-
Then: baker ads meta creatives create --type instant_experience --canvas-id meta_temp_\u2026 --page 904238019441800 --message "Tap to explore" --image-hash \u2026`
|
|
161
|
-
},
|
|
162
|
-
args: {
|
|
163
|
-
"account-id": { type: "string", description: "Numeric account ID or act_N (the account the ads run from)" },
|
|
164
|
-
"page-id": { type: "string", description: "The Facebook Page it belongs to \u2014 from `baker ads meta pages`" },
|
|
165
|
-
name: { type: "string", description: "Name in the Page's Instant Experience library" },
|
|
166
|
-
text: { type: "string", description: "A paragraph of text (repeatable)" },
|
|
167
|
-
button: { type: "string", description: '"Button text => https://\u2026" (repeatable)' },
|
|
168
|
-
"photo-id": {
|
|
169
|
-
type: "string",
|
|
170
|
-
description: "A photo on the Page, or meta_temp_* of a staged `page-photos upload` (repeatable)"
|
|
171
|
-
},
|
|
172
|
-
"video-id": { type: "string", description: "A video of the ad account (repeatable)" },
|
|
173
|
-
"video-ref": {
|
|
174
|
-
type: "string",
|
|
175
|
-
description: "meta_temp_* ref of a staged `media upload --kind video` (repeatable)"
|
|
176
|
-
},
|
|
177
|
-
"product-set-id": {
|
|
178
|
-
type: "string",
|
|
179
|
-
description: "Products from a catalog's product set, also shown under the ad (collection) \u2014 repeatable"
|
|
180
|
-
},
|
|
181
|
-
footer: { type: "string", description: '"Button text => https://\u2026" pinned at the bottom; must be last' },
|
|
182
|
-
background: { type: "string", description: "Background colour, six hex digits (e.g. FFFFFF)" },
|
|
183
|
-
unpublished: {
|
|
184
|
-
type: "boolean",
|
|
185
|
-
description: "Leave it unpublished \u2014 it can be changed, but no ad can open it yet"
|
|
186
|
-
},
|
|
187
|
-
file: { type: "string", description: "JSON file with the whole payload (page_id, name, elements[], publish)" }
|
|
188
|
-
},
|
|
189
|
-
run: async ({ args, rawArgs }) => {
|
|
190
|
-
const accountId = bareAccountId(args);
|
|
191
|
-
const elements = canvasElementsFromRawArgs(rawArgs);
|
|
192
|
-
const payload = mergePayload(loadJsonFileArg(args.file), {
|
|
193
|
-
page_id: args["page-id"] === void 0 ? void 0 : String(args["page-id"]),
|
|
194
|
-
name: args.name,
|
|
195
|
-
background_color: args.background,
|
|
196
|
-
elements: elements.length > 0 ? elements : void 0,
|
|
197
|
-
publish: args.unpublished === true ? false : void 0
|
|
198
|
-
});
|
|
199
|
-
await stageOp({ kind: "canvas.create", accountId, payload }, [
|
|
200
|
-
"An ad opens it with `creatives create --type instant_experience --canvas-id <ref>`."
|
|
201
|
-
]);
|
|
202
|
-
}
|
|
203
|
-
});
|
|
204
|
-
registerSchema({
|
|
205
|
-
command: "ads.meta.instant-experiences.update",
|
|
206
|
-
description: "Rename or publish an UNPUBLISHED Instant Experience at publish. Meta changes nothing on a published one.",
|
|
207
|
-
args: {
|
|
208
|
-
id: { type: "positional", description: "Instant Experience id or meta_temp_* ref", required: true },
|
|
209
|
-
"account-id": { type: "string", description: "Ad account the change is staged under", required: false },
|
|
210
|
-
name: { type: "string", description: "New name", required: false },
|
|
211
|
-
publish: { type: "boolean", description: "Publish it so ads can open it", required: false }
|
|
212
|
-
}
|
|
213
|
-
});
|
|
214
|
-
var instantExperiencesUpdateCommand = defineCommand({
|
|
215
|
-
meta: {
|
|
216
|
-
name: "update",
|
|
217
|
-
description: `Rename or publish an unpublished Instant Experience. ${STAGED_NOTE}
|
|
218
|
-
Example: baker ads meta instant-experiences update 1788652952402490 --account-id act_123 --publish`
|
|
219
|
-
},
|
|
220
|
-
args: {
|
|
221
|
-
id: { type: "positional", description: "Instant Experience id or meta_temp_* ref", required: true },
|
|
222
|
-
"account-id": { type: "string", description: "Numeric account ID or act_N" },
|
|
223
|
-
name: { type: "string", description: "New name" },
|
|
224
|
-
publish: { type: "boolean", description: "Publish it, so ads can open it \u2014 it is then fixed" }
|
|
225
|
-
},
|
|
226
|
-
run: async ({ args }) => {
|
|
227
|
-
const accountId = bareAccountId(args);
|
|
228
|
-
await stageOp({
|
|
229
|
-
kind: "canvas.update",
|
|
230
|
-
accountId,
|
|
231
|
-
target: requireTarget(args, "Instant Experience"),
|
|
232
|
-
payload: { name: args.name, publish: args.publish === true ? true : void 0 }
|
|
233
|
-
});
|
|
234
|
-
}
|
|
235
|
-
});
|
|
236
|
-
var instantExperiencesCommand = defineCommand({
|
|
237
|
-
meta: {
|
|
238
|
-
name: "instant-experiences",
|
|
239
|
-
description: `Instant Experiences \u2014 the full-screen page an ad opens on the phone (also behind collection ads).
|
|
240
|
-
baker ads meta instant-experiences --page-id 904238019441800 \u2014 list, with whether each is published
|
|
241
|
-
baker ads meta instant-experiences create --page-id \u2026 --name \u2026 --text \u2026 --button "Shop => https://\u2026"
|
|
242
|
-
baker ads meta instant-experiences update <id> --publish`
|
|
243
|
-
},
|
|
244
|
-
subCommands: {
|
|
245
|
-
list: listCommand,
|
|
246
|
-
create: instantExperiencesCreateCommand,
|
|
247
|
-
update: instantExperiencesUpdateCommand
|
|
248
|
-
},
|
|
249
|
-
args: { "page-id": { type: "string", description: "Facebook Page id" }, output: { type: "string", default: "json" } },
|
|
250
|
-
default: "list"
|
|
251
|
-
});
|
|
252
|
-
export {
|
|
253
|
-
canvasElementsFromRawArgs,
|
|
254
|
-
instantExperiencesCommand,
|
|
255
|
-
instantExperiencesCreateCommand,
|
|
256
|
-
instantExperiencesUpdateCommand
|
|
257
|
-
};
|
|
258
|
-
//# sourceMappingURL=instant-experiences-HT3HB4QZ.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/commands/ads/meta/instant-experiences.ts"],"sourcesContent":["import { defineCommand } from \"citty\";\nimport { apiGet } from \"../../../client.ts\";\nimport { registerSchema } from \"../../../schemas.ts\";\nimport { writeAdsOutput, writeJsonEnvelope } from \"../output.ts\";\nimport { csvOrJson, handleMetaError } from \"./shared.ts\";\nimport {\n bareAccountId,\n failWriteValidation,\n loadJsonFileArg,\n mergePayload,\n requireTarget,\n stageOp,\n} from \"./write-shared.ts\";\n\n/**\n * Instant Experiences — the full-screen page an ad opens on the phone (Meta's\n * API calls them canvases). Reading lists a Page's experiences; creating and\n * publishing stage on this chat's draft and happen at publish. Meta deletes\n * none and changes only an unpublished one, so a published experience stays\n * in the Page's library as it was made.\n */\n\nconst STAGED_NOTE = \"Staged until publish — review with `baker ads meta draft`.\";\n\ntype Args = Record<string, unknown>;\n\n/** The element flags, in the order they appear on the command line — that order is the experience's. */\nconst ELEMENT_FLAGS = [\"text\", \"button\", \"photo-id\", \"video-id\", \"video-ref\", \"product-set-id\", \"footer\"] as const;\n\nfunction linkPair(flag: string, value: string): { text: string; url: string } {\n const [text, ...rest] = value.split(\"=>\");\n const url = rest.join(\"=>\").trim();\n if (!text?.trim() || !url) {\n failWriteValidation(`--${flag} takes \"Button text => https://…\" — got \"${value}\"`);\n }\n return { text: text.trim(), url };\n}\n\nfunction elementFor(flag: (typeof ELEMENT_FLAGS)[number], value: string): Record<string, unknown> {\n switch (flag) {\n case \"text\":\n return { type: \"text\", text: value };\n case \"button\":\n return { type: \"button\", ...linkPair(flag, value) };\n case \"footer\":\n return { type: \"footer\", ...linkPair(flag, value) };\n case \"photo-id\":\n return { type: \"photo\", photo_id: value };\n case \"video-id\":\n return { type: \"video\", video_id: value };\n case \"video-ref\":\n return { type: \"video\", videoRef: value };\n default:\n return { type: \"product_set\", product_set_id: value };\n }\n}\n\n/** A command-line token as an element flag and its inline value (`--text=Hello`), if it is one. */\nfunction elementFlagOf(arg: string): { flag: (typeof ELEMENT_FLAGS)[number]; inline?: string } | undefined {\n if (!arg.startsWith(\"--\")) return undefined;\n const eq = arg.indexOf(\"=\");\n const name = eq === -1 ? arg.slice(2) : arg.slice(2, eq);\n const flag = ELEMENT_FLAGS.find((candidate) => candidate === name);\n if (!flag) return undefined;\n return eq === -1 ? { flag } : { flag, inline: arg.slice(eq + 1) };\n}\n\n/** Every element flag, repeatable, read from the command line in order (citty keeps only a flag's last value). */\nexport function canvasElementsFromRawArgs(rawArgs: readonly string[]): Record<string, unknown>[] {\n const elements: Record<string, unknown>[] = [];\n const end = rawArgs.indexOf(\"--\");\n const args = end === -1 ? rawArgs : rawArgs.slice(0, end);\n for (let i = 0; i < args.length; i++) {\n const found = elementFlagOf(args[i] ?? \"\");\n if (!found) continue;\n const value = found.inline ?? args[++i];\n if (value === undefined || value.startsWith(\"--\")) failWriteValidation(`--${found.flag} needs a value`);\n elements.push(elementFor(found.flag, value));\n }\n return elements;\n}\n\n// --- List ---\n\nregisterSchema({\n command: \"ads.meta.instant-experiences\",\n description:\n \"A Facebook Page's Instant Experiences — the full-screen pages an ad can open (creatives create --type instant_experience --canvas-id). Shows whether each is published: an ad opens only a published one.\",\n args: {\n \"page-id\": { type: \"string\", description: \"Facebook Page id (baker ads meta pages)\", required: true },\n output: { type: \"string\", description: \"json|csv|jsonl|md\", required: false, default: \"json\" },\n },\n});\n\nconst listCommand = defineCommand({\n meta: {\n name: \"list\",\n description:\n \"A Page's Instant Experiences, published or not. Runs by default. Example: baker ads meta instant-experiences --page-id 904238019441800\",\n },\n args: {\n \"page-id\": { type: \"string\", description: \"Facebook Page id — from `baker ads meta pages`\" },\n output: { type: \"string\", description: \"json|csv|jsonl|md\", default: \"json\" },\n },\n run: async ({ args }) => {\n if (!args[\"page-id\"]) failWriteValidation(\"pass --page-id (from `baker ads meta pages`)\");\n try {\n const rows = await apiGet<Record<string, unknown>[]>(\"/api/ads/meta/instant-experiences\", {\n \"page-id\": String(args[\"page-id\"]),\n });\n const hints =\n rows.length === 0\n ? [\"This Page has no Instant Experiences. Stage one with `baker ads meta instant-experiences create`.\"]\n : [\n \"An ad opens only a published experience (is_published true): `creatives create --type instant_experience --canvas-id <id>`. A published one cannot be changed or deleted.\",\n ];\n const fmt = csvOrJson(args);\n if (fmt !== \"json\") {\n writeAdsOutput(rows, fmt, undefined, hints);\n return;\n }\n writeJsonEnvelope({ ok: true, data: rows, hints });\n } catch (err) {\n handleMetaError(err);\n }\n },\n});\n\n// --- Create ---\n\nregisterSchema({\n command: \"ads.meta.instant-experiences.create\",\n description:\n \"Stage a new Instant Experience on a Page — its elements in command-line order — made (and published, unless --unpublished) when the chat publishes. Meta deletes no experience, so it is only ever made at publish.\",\n args: {\n \"account-id\": { type: \"string\", description: \"Ad account the change is staged under\", required: false },\n \"page-id\": { type: \"string\", description: \"The Facebook Page it belongs to\", required: true },\n name: { type: \"string\", description: \"Name in the Page's Instant Experience library\", required: true },\n text: { type: \"string\", description: \"A paragraph, repeatable\", required: false },\n button: { type: \"string\", description: '\"Text => https://…\", repeatable', required: false },\n \"photo-id\": {\n type: \"string\",\n description: \"A photo on the Page, or meta_temp_* of a staged `page-photos upload`, repeatable\",\n required: false,\n },\n \"video-id\": { type: \"string\", description: \"A video of the ad account, repeatable\", required: false },\n \"video-ref\": { type: \"string\", description: \"meta_temp_* of a staged video upload, repeatable\", required: false },\n \"product-set-id\": { type: \"string\", description: \"Products of a catalog's product set\", required: false },\n footer: { type: \"string\", description: '\"Text => https://…\" pinned at the bottom (last)', required: false },\n background: { type: \"string\", description: \"Background colour, six hex digits\", required: false },\n unpublished: { type: \"boolean\", description: \"Leave it unpublished (no ad can open it yet)\", required: false },\n file: { type: \"string\", description: \"JSON file with the whole payload\", required: false },\n },\n});\n\nexport const instantExperiencesCreateCommand = defineCommand({\n meta: {\n name: \"create\",\n description: `Stage a new Instant Experience (the full-screen page an ad opens). ${STAGED_NOTE}\nElements appear in the order of their flags; every element flag repeats. Published at publish unless --unpublished — an ad opens only a published one, a published one cannot be changed, and Meta deletes none.\nPictures are Page photos (--photo-id: one on the Page, or the ref of a staged \\`page-photos upload\\`; a collection's photo experience takes four); videos come from the ad account (--video-id, or --video-ref of a staged \\`media upload --kind video\\`).\nExample: baker ads meta instant-experiences create --account-id act_123 --page-id 904238019441800 --name \"Spring\" --video-id 1508023623826870 --text \"Our spring range\" --button \"Shop now => https://shop.example/spring\"\nThen: baker ads meta creatives create --type instant_experience --canvas-id meta_temp_… --page 904238019441800 --message \"Tap to explore\" --image-hash …`,\n },\n args: {\n \"account-id\": { type: \"string\", description: \"Numeric account ID or act_N (the account the ads run from)\" },\n \"page-id\": { type: \"string\", description: \"The Facebook Page it belongs to — from `baker ads meta pages`\" },\n name: { type: \"string\", description: \"Name in the Page's Instant Experience library\" },\n text: { type: \"string\", description: \"A paragraph of text (repeatable)\" },\n button: { type: \"string\", description: '\"Button text => https://…\" (repeatable)' },\n \"photo-id\": {\n type: \"string\",\n description: \"A photo on the Page, or meta_temp_* of a staged `page-photos upload` (repeatable)\",\n },\n \"video-id\": { type: \"string\", description: \"A video of the ad account (repeatable)\" },\n \"video-ref\": {\n type: \"string\",\n description: \"meta_temp_* ref of a staged `media upload --kind video` (repeatable)\",\n },\n \"product-set-id\": {\n type: \"string\",\n description: \"Products from a catalog's product set, also shown under the ad (collection) — repeatable\",\n },\n footer: { type: \"string\", description: '\"Button text => https://…\" pinned at the bottom; must be last' },\n background: { type: \"string\", description: \"Background colour, six hex digits (e.g. FFFFFF)\" },\n unpublished: {\n type: \"boolean\",\n description: \"Leave it unpublished — it can be changed, but no ad can open it yet\",\n },\n file: { type: \"string\", description: \"JSON file with the whole payload (page_id, name, elements[], publish)\" },\n },\n run: async ({ args, rawArgs }) => {\n const accountId = bareAccountId(args as Args);\n const elements = canvasElementsFromRawArgs(rawArgs);\n const payload = mergePayload(loadJsonFileArg(args.file), {\n page_id: args[\"page-id\"] === undefined ? undefined : String(args[\"page-id\"]),\n name: args.name,\n background_color: args.background,\n elements: elements.length > 0 ? elements : undefined,\n publish: args.unpublished === true ? false : undefined,\n });\n await stageOp({ kind: \"canvas.create\", accountId, payload }, [\n \"An ad opens it with `creatives create --type instant_experience --canvas-id <ref>`.\",\n ]);\n },\n});\n\n// --- Update ---\n\nregisterSchema({\n command: \"ads.meta.instant-experiences.update\",\n description:\n \"Rename or publish an UNPUBLISHED Instant Experience at publish. Meta changes nothing on a published one.\",\n args: {\n id: { type: \"positional\", description: \"Instant Experience id or meta_temp_* ref\", required: true },\n \"account-id\": { type: \"string\", description: \"Ad account the change is staged under\", required: false },\n name: { type: \"string\", description: \"New name\", required: false },\n publish: { type: \"boolean\", description: \"Publish it so ads can open it\", required: false },\n },\n});\n\nexport const instantExperiencesUpdateCommand = defineCommand({\n meta: {\n name: \"update\",\n description: `Rename or publish an unpublished Instant Experience. ${STAGED_NOTE}\nExample: baker ads meta instant-experiences update 1788652952402490 --account-id act_123 --publish`,\n },\n args: {\n id: { type: \"positional\", description: \"Instant Experience id or meta_temp_* ref\", required: true },\n \"account-id\": { type: \"string\", description: \"Numeric account ID or act_N\" },\n name: { type: \"string\", description: \"New name\" },\n publish: { type: \"boolean\", description: \"Publish it, so ads can open it — it is then fixed\" },\n },\n run: async ({ args }) => {\n const accountId = bareAccountId(args as Args);\n await stageOp({\n kind: \"canvas.update\",\n accountId,\n target: requireTarget(args as Args, \"Instant Experience\"),\n payload: { name: args.name, publish: args.publish === true ? true : undefined },\n });\n },\n});\n\nexport const instantExperiencesCommand = defineCommand({\n meta: {\n name: \"instant-experiences\",\n description: `Instant Experiences — the full-screen page an ad opens on the phone (also behind collection ads).\n baker ads meta instant-experiences --page-id 904238019441800 — list, with whether each is published\n baker ads meta instant-experiences create --page-id … --name … --text … --button \"Shop => https://…\"\n baker ads meta instant-experiences update <id> --publish`,\n },\n subCommands: {\n list: listCommand,\n create: instantExperiencesCreateCommand,\n update: instantExperiencesUpdateCommand,\n },\n args: { \"page-id\": { type: \"string\", description: \"Facebook Page id\" }, output: { type: \"string\", default: \"json\" } },\n default: \"list\",\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAS,qBAAqB;AAsB9B,IAAM,cAAc;AAKpB,IAAM,gBAAgB,CAAC,QAAQ,UAAU,YAAY,YAAY,aAAa,kBAAkB,QAAQ;AAExG,SAAS,SAAS,MAAc,OAA8C;AAC5E,QAAM,CAAC,MAAM,GAAG,IAAI,IAAI,MAAM,MAAM,IAAI;AACxC,QAAM,MAAM,KAAK,KAAK,IAAI,EAAE,KAAK;AACjC,MAAI,CAAC,MAAM,KAAK,KAAK,CAAC,KAAK;AACzB,wBAAoB,KAAK,IAAI,sDAA4C,KAAK,GAAG;AAAA,EACnF;AACA,SAAO,EAAE,MAAM,KAAK,KAAK,GAAG,IAAI;AAClC;AAEA,SAAS,WAAW,MAAsC,OAAwC;AAChG,UAAQ,MAAM;AAAA,IACZ,KAAK;AACH,aAAO,EAAE,MAAM,QAAQ,MAAM,MAAM;AAAA,IACrC,KAAK;AACH,aAAO,EAAE,MAAM,UAAU,GAAG,SAAS,MAAM,KAAK,EAAE;AAAA,IACpD,KAAK;AACH,aAAO,EAAE,MAAM,UAAU,GAAG,SAAS,MAAM,KAAK,EAAE;AAAA,IACpD,KAAK;AACH,aAAO,EAAE,MAAM,SAAS,UAAU,MAAM;AAAA,IAC1C,KAAK;AACH,aAAO,EAAE,MAAM,SAAS,UAAU,MAAM;AAAA,IAC1C,KAAK;AACH,aAAO,EAAE,MAAM,SAAS,UAAU,MAAM;AAAA,IAC1C;AACE,aAAO,EAAE,MAAM,eAAe,gBAAgB,MAAM;AAAA,EACxD;AACF;AAGA,SAAS,cAAc,KAAoF;AACzG,MAAI,CAAC,IAAI,WAAW,IAAI,EAAG,QAAO;AAClC,QAAM,KAAK,IAAI,QAAQ,GAAG;AAC1B,QAAM,OAAO,OAAO,KAAK,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,GAAG,EAAE;AACvD,QAAM,OAAO,cAAc,KAAK,CAAC,cAAc,cAAc,IAAI;AACjE,MAAI,CAAC,KAAM,QAAO;AAClB,SAAO,OAAO,KAAK,EAAE,KAAK,IAAI,EAAE,MAAM,QAAQ,IAAI,MAAM,KAAK,CAAC,EAAE;AAClE;AAGO,SAAS,0BAA0B,SAAuD;AAC/F,QAAM,WAAsC,CAAC;AAC7C,QAAM,MAAM,QAAQ,QAAQ,IAAI;AAChC,QAAM,OAAO,QAAQ,KAAK,UAAU,QAAQ,MAAM,GAAG,GAAG;AACxD,WAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AACpC,UAAM,QAAQ,cAAc,KAAK,CAAC,KAAK,EAAE;AACzC,QAAI,CAAC,MAAO;AACZ,UAAM,QAAQ,MAAM,UAAU,KAAK,EAAE,CAAC;AACtC,QAAI,UAAU,UAAa,MAAM,WAAW,IAAI,EAAG,qBAAoB,KAAK,MAAM,IAAI,gBAAgB;AACtG,aAAS,KAAK,WAAW,MAAM,MAAM,KAAK,CAAC;AAAA,EAC7C;AACA,SAAO;AACT;AAIA,eAAe;AAAA,EACb,SAAS;AAAA,EACT,aACE;AAAA,EACF,MAAM;AAAA,IACJ,WAAW,EAAE,MAAM,UAAU,aAAa,2CAA2C,UAAU,KAAK;AAAA,IACpG,QAAQ,EAAE,MAAM,UAAU,aAAa,qBAAqB,UAAU,OAAO,SAAS,OAAO;AAAA,EAC/F;AACF,CAAC;AAED,IAAM,cAAc,cAAc;AAAA,EAChC,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aACE;AAAA,EACJ;AAAA,EACA,MAAM;AAAA,IACJ,WAAW,EAAE,MAAM,UAAU,aAAa,sDAAiD;AAAA,IAC3F,QAAQ,EAAE,MAAM,UAAU,aAAa,qBAAqB,SAAS,OAAO;AAAA,EAC9E;AAAA,EACA,KAAK,OAAO,EAAE,KAAK,MAAM;AACvB,QAAI,CAAC,KAAK,SAAS,EAAG,qBAAoB,8CAA8C;AACxF,QAAI;AACF,YAAM,OAAO,MAAM,OAAkC,qCAAqC;AAAA,QACxF,WAAW,OAAO,KAAK,SAAS,CAAC;AAAA,MACnC,CAAC;AACD,YAAM,QACJ,KAAK,WAAW,IACZ,CAAC,mGAAmG,IACpG;AAAA,QACE;AAAA,MACF;AACN,YAAM,MAAM,UAAU,IAAI;AAC1B,UAAI,QAAQ,QAAQ;AAClB,uBAAe,MAAM,KAAK,QAAW,KAAK;AAC1C;AAAA,MACF;AACA,wBAAkB,EAAE,IAAI,MAAM,MAAM,MAAM,MAAM,CAAC;AAAA,IACnD,SAAS,KAAK;AACZ,sBAAgB,GAAG;AAAA,IACrB;AAAA,EACF;AACF,CAAC;AAID,eAAe;AAAA,EACb,SAAS;AAAA,EACT,aACE;AAAA,EACF,MAAM;AAAA,IACJ,cAAc,EAAE,MAAM,UAAU,aAAa,yCAAyC,UAAU,MAAM;AAAA,IACtG,WAAW,EAAE,MAAM,UAAU,aAAa,mCAAmC,UAAU,KAAK;AAAA,IAC5F,MAAM,EAAE,MAAM,UAAU,aAAa,iDAAiD,UAAU,KAAK;AAAA,IACrG,MAAM,EAAE,MAAM,UAAU,aAAa,2BAA2B,UAAU,MAAM;AAAA,IAChF,QAAQ,EAAE,MAAM,UAAU,aAAa,wCAAmC,UAAU,MAAM;AAAA,IAC1F,YAAY;AAAA,MACV,MAAM;AAAA,MACN,aAAa;AAAA,MACb,UAAU;AAAA,IACZ;AAAA,IACA,YAAY,EAAE,MAAM,UAAU,aAAa,yCAAyC,UAAU,MAAM;AAAA,IACpG,aAAa,EAAE,MAAM,UAAU,aAAa,oDAAoD,UAAU,MAAM;AAAA,IAChH,kBAAkB,EAAE,MAAM,UAAU,aAAa,uCAAuC,UAAU,MAAM;AAAA,IACxG,QAAQ,EAAE,MAAM,UAAU,aAAa,wDAAmD,UAAU,MAAM;AAAA,IAC1G,YAAY,EAAE,MAAM,UAAU,aAAa,qCAAqC,UAAU,MAAM;AAAA,IAChG,aAAa,EAAE,MAAM,WAAW,aAAa,gDAAgD,UAAU,MAAM;AAAA,IAC7G,MAAM,EAAE,MAAM,UAAU,aAAa,oCAAoC,UAAU,MAAM;AAAA,EAC3F;AACF,CAAC;AAEM,IAAM,kCAAkC,cAAc;AAAA,EAC3D,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa,sEAAsE,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA,EAKhG;AAAA,EACA,MAAM;AAAA,IACJ,cAAc,EAAE,MAAM,UAAU,aAAa,6DAA6D;AAAA,IAC1G,WAAW,EAAE,MAAM,UAAU,aAAa,qEAAgE;AAAA,IAC1G,MAAM,EAAE,MAAM,UAAU,aAAa,gDAAgD;AAAA,IACrF,MAAM,EAAE,MAAM,UAAU,aAAa,mCAAmC;AAAA,IACxE,QAAQ,EAAE,MAAM,UAAU,aAAa,+CAA0C;AAAA,IACjF,YAAY;AAAA,MACV,MAAM;AAAA,MACN,aAAa;AAAA,IACf;AAAA,IACA,YAAY,EAAE,MAAM,UAAU,aAAa,yCAAyC;AAAA,IACpF,aAAa;AAAA,MACX,MAAM;AAAA,MACN,aAAa;AAAA,IACf;AAAA,IACA,kBAAkB;AAAA,MAChB,MAAM;AAAA,MACN,aAAa;AAAA,IACf;AAAA,IACA,QAAQ,EAAE,MAAM,UAAU,aAAa,qEAAgE;AAAA,IACvG,YAAY,EAAE,MAAM,UAAU,aAAa,kDAAkD;AAAA,IAC7F,aAAa;AAAA,MACX,MAAM;AAAA,MACN,aAAa;AAAA,IACf;AAAA,IACA,MAAM,EAAE,MAAM,UAAU,aAAa,wEAAwE;AAAA,EAC/G;AAAA,EACA,KAAK,OAAO,EAAE,MAAM,QAAQ,MAAM;AAChC,UAAM,YAAY,cAAc,IAAY;AAC5C,UAAM,WAAW,0BAA0B,OAAO;AAClD,UAAM,UAAU,aAAa,gBAAgB,KAAK,IAAI,GAAG;AAAA,MACvD,SAAS,KAAK,SAAS,MAAM,SAAY,SAAY,OAAO,KAAK,SAAS,CAAC;AAAA,MAC3E,MAAM,KAAK;AAAA,MACX,kBAAkB,KAAK;AAAA,MACvB,UAAU,SAAS,SAAS,IAAI,WAAW;AAAA,MAC3C,SAAS,KAAK,gBAAgB,OAAO,QAAQ;AAAA,IAC/C,CAAC;AACD,UAAM,QAAQ,EAAE,MAAM,iBAAiB,WAAW,QAAQ,GAAG;AAAA,MAC3D;AAAA,IACF,CAAC;AAAA,EACH;AACF,CAAC;AAID,eAAe;AAAA,EACb,SAAS;AAAA,EACT,aACE;AAAA,EACF,MAAM;AAAA,IACJ,IAAI,EAAE,MAAM,cAAc,aAAa,4CAA4C,UAAU,KAAK;AAAA,IAClG,cAAc,EAAE,MAAM,UAAU,aAAa,yCAAyC,UAAU,MAAM;AAAA,IACtG,MAAM,EAAE,MAAM,UAAU,aAAa,YAAY,UAAU,MAAM;AAAA,IACjE,SAAS,EAAE,MAAM,WAAW,aAAa,iCAAiC,UAAU,MAAM;AAAA,EAC5F;AACF,CAAC;AAEM,IAAM,kCAAkC,cAAc;AAAA,EAC3D,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa,wDAAwD,WAAW;AAAA;AAAA,EAElF;AAAA,EACA,MAAM;AAAA,IACJ,IAAI,EAAE,MAAM,cAAc,aAAa,4CAA4C,UAAU,KAAK;AAAA,IAClG,cAAc,EAAE,MAAM,UAAU,aAAa,8BAA8B;AAAA,IAC3E,MAAM,EAAE,MAAM,UAAU,aAAa,WAAW;AAAA,IAChD,SAAS,EAAE,MAAM,WAAW,aAAa,yDAAoD;AAAA,EAC/F;AAAA,EACA,KAAK,OAAO,EAAE,KAAK,MAAM;AACvB,UAAM,YAAY,cAAc,IAAY;AAC5C,UAAM,QAAQ;AAAA,MACZ,MAAM;AAAA,MACN;AAAA,MACA,QAAQ,cAAc,MAAc,oBAAoB;AAAA,MACxD,SAAS,EAAE,MAAM,KAAK,MAAM,SAAS,KAAK,YAAY,OAAO,OAAO,OAAU;AAAA,IAChF,CAAC;AAAA,EACH;AACF,CAAC;AAEM,IAAM,4BAA4B,cAAc;AAAA,EACrD,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA;AAAA;AAAA;AAAA,EAIf;AAAA,EACA,aAAa;AAAA,IACX,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,QAAQ;AAAA,EACV;AAAA,EACA,MAAM,EAAE,WAAW,EAAE,MAAM,UAAU,aAAa,mBAAmB,GAAG,QAAQ,EAAE,MAAM,UAAU,SAAS,OAAO,EAAE;AAAA,EACpH,SAAS;AACX,CAAC;","names":[]}
|
package/dist/intent-NSHW7EJT.js
DELETED
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
handleResearchError,
|
|
3
|
-
writeResearchJson,
|
|
4
|
-
writeResearchOutput
|
|
5
|
-
} from "./chunk-GSKZ3ZDO.js";
|
|
6
|
-
import {
|
|
7
|
-
buildResearchQueryContext,
|
|
8
|
-
warnDefaults
|
|
9
|
-
} from "./chunk-ZNRGH4NS.js";
|
|
10
|
-
import "./chunk-4GAEB6NK.js";
|
|
11
|
-
import "./chunk-2TOIY2WN.js";
|
|
12
|
-
import {
|
|
13
|
-
apiPost
|
|
14
|
-
} from "./chunk-X7VQFLHI.js";
|
|
15
|
-
import "./chunk-LU4HI4KI.js";
|
|
16
|
-
import "./chunk-LGK7UWBN.js";
|
|
17
|
-
import {
|
|
18
|
-
registerSchema
|
|
19
|
-
} from "./chunk-Q7US4OOA.js";
|
|
20
|
-
import "./chunk-YQSBHWOI.js";
|
|
21
|
-
|
|
22
|
-
// src/commands/research/intent.ts
|
|
23
|
-
import { defineCommand } from "citty";
|
|
24
|
-
registerSchema({
|
|
25
|
-
command: "research.intent",
|
|
26
|
-
description: "Classify Google Search intent for keywords. Determines if someone searching is looking to buy, research, or navigate. If --language is omitted, defaults to English (en). The response includes a query_context object showing which language was used.",
|
|
27
|
-
args: {
|
|
28
|
-
keywords: {
|
|
29
|
-
type: "string",
|
|
30
|
-
description: "Comma-separated keywords (min 3 chars each, max 1000 keywords)",
|
|
31
|
-
required: true
|
|
32
|
-
},
|
|
33
|
-
language: {
|
|
34
|
-
type: "string",
|
|
35
|
-
description: "Language code or name. Defaults to en (English) if omitted \u2014 always set this for non-English keywords",
|
|
36
|
-
required: false
|
|
37
|
-
},
|
|
38
|
-
"no-cache": { type: "boolean", description: "Skip server cache, hit API directly", required: false }
|
|
39
|
-
}
|
|
40
|
-
});
|
|
41
|
-
var FIELDS = {
|
|
42
|
-
keyword: "The keyword analyzed",
|
|
43
|
-
intent: "Primary Google Search intent: informational, navigational, commercial, transactional",
|
|
44
|
-
probability: "Confidence score 0.0-1.0"
|
|
45
|
-
};
|
|
46
|
-
var intentCommand = defineCommand({
|
|
47
|
-
meta: {
|
|
48
|
-
name: "intent",
|
|
49
|
-
description: `Classify Google Search intent for keywords. Returns intent type and confidence.
|
|
50
|
-
|
|
51
|
-
Examples:
|
|
52
|
-
baker research intent "buy running shoes,best running shoes 2026,how to tie running shoes"
|
|
53
|
-
baker research intent "crm software" --language spanish`
|
|
54
|
-
},
|
|
55
|
-
args: {
|
|
56
|
-
keywords: { type: "positional", description: "Comma-separated keywords", required: true },
|
|
57
|
-
language: { type: "string", description: "Language code or name (default: en)", required: false },
|
|
58
|
-
output: { type: "string", description: "Format: json|csv|md|jsonl", required: false, default: "json" },
|
|
59
|
-
"no-cache": { type: "boolean", description: "Skip server cache, hit API directly", required: false }
|
|
60
|
-
},
|
|
61
|
-
run: async ({ args }) => {
|
|
62
|
-
const rawKeywords = args.keywords;
|
|
63
|
-
const keywords = rawKeywords.split(",").map((k) => k.trim()).filter((k) => k.length >= 3);
|
|
64
|
-
if (keywords.length === 0) {
|
|
65
|
-
writeResearchJson({
|
|
66
|
-
ok: false,
|
|
67
|
-
error: { code: "VALIDATION_ERROR", message: "Provide at least one keyword (min 3 chars each)" }
|
|
68
|
-
});
|
|
69
|
-
process.exit(1);
|
|
70
|
-
}
|
|
71
|
-
const language = args.language || void 0;
|
|
72
|
-
const skipCache = args["no-cache"] ? true : void 0;
|
|
73
|
-
const queryContext = buildResearchQueryContext(void 0, language, { skipLocation: true });
|
|
74
|
-
try {
|
|
75
|
-
const data = await apiPost("/api/research/intent", {
|
|
76
|
-
keywords,
|
|
77
|
-
language,
|
|
78
|
-
skipCache
|
|
79
|
-
});
|
|
80
|
-
warnDefaults(queryContext);
|
|
81
|
-
const format = args.output || "json";
|
|
82
|
-
if (format !== "json") {
|
|
83
|
-
writeResearchOutput(data, format);
|
|
84
|
-
return;
|
|
85
|
-
}
|
|
86
|
-
writeResearchJson({ ok: true, data, fields: FIELDS, query_context: queryContext });
|
|
87
|
-
} catch (err) {
|
|
88
|
-
handleResearchError(err);
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
});
|
|
92
|
-
export {
|
|
93
|
-
intentCommand
|
|
94
|
-
};
|
|
95
|
-
//# sourceMappingURL=intent-NSHW7EJT.js.map
|