@koda-sl/baker-cli 0.447.0 → 0.448.0-dev.ccc3c9a37
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 +231 -42
- package/dist/account-JG7QD522.js +79 -0
- package/dist/account-V6PB6PA5.js +80 -0
- package/dist/account-VLPX7EZT.js +49 -0
- package/dist/account-reads-4P5L6CJN.js +218 -0
- package/dist/account-reads-4P5L6CJN.js.map +1 -0
- package/dist/account-writes-BGREY7ZL.js +66 -0
- package/dist/accounts-2FINK5GZ.js +114 -0
- package/dist/accounts-2UV5Z3Y6.js +75 -0
- package/dist/accounts-3EX2PFJB.js +77 -0
- package/dist/accounts-G2QT3ZVP.js +115 -0
- package/dist/accounts-N63J5YTK.js +611 -0
- package/dist/actions-PA2BPIYO.js +55 -0
- package/dist/active-entities-RDXDSMA2.js +103 -0
- package/dist/activecampaign-EE5ERO25.js +897 -0
- package/dist/activecampaign-EE5ERO25.js.map +1 -0
- package/dist/activities-RBTU2Q24.js +74 -0
- package/dist/ad-group-writes-5NTRJTVE.js +170 -0
- package/dist/ad-groups-4OTAKWUC.js +68 -0
- package/dist/ad-writes-T7W3DDKK.js +174 -0
- package/dist/add-4VKA4NDH.js +105 -0
- package/dist/add-MQO33HL3.js +97 -0
- package/dist/add-MYPHHYC4.js +302 -0
- package/dist/add-MYPHHYC4.js.map +1 -0
- package/dist/add-QM7ANAVG.js +104 -0
- package/dist/add-accounts-VDSWHJ4K.js +91 -0
- package/dist/add-accounts-VDSWHJ4K.js.map +1 -0
- package/dist/ads-HYODBAPV.js +128 -0
- package/dist/ads-HYODBAPV.js.map +1 -0
- package/dist/ads-IJCFN2N3.js +113 -0
- package/dist/ads-QKMLAPZC.js +40 -0
- package/dist/ads-XYAWONXR.js +77 -0
- package/dist/adsets-DPTIKGTG.js +176 -0
- package/dist/advertisers-ITFXIXUW.js +125 -0
- package/dist/advertisers-ITFXIXUW.js.map +1 -0
- package/dist/advertisers-SZFDOPBQ.js +120 -0
- package/dist/analytics-HFBYIPZ7.js +433 -0
- package/dist/analytics-NDZR33ZJ.js +1976 -0
- package/dist/analytics-NDZR33ZJ.js.map +1 -0
- package/dist/animate-LUKNHCF4.js +480 -0
- package/dist/assign-QCICUD72.js +77 -0
- package/dist/audience-size-HML4BLHJ.js +94 -0
- package/dist/audiences-BSABKS5K.js +268 -0
- package/dist/audiences-FWOOSUSJ.js +78 -0
- package/dist/audiences-VK4M7GLQ.js +85 -0
- package/dist/audit-DUM55J5U.js +151 -0
- package/dist/audit-JR5R75XK.js +88 -0
- package/dist/autocomplete-VX4PMMLR.js +111 -0
- package/dist/avatars-5KCRSUJ3.js +38 -0
- package/dist/bid-pricing-AIUACXUH.js +99 -0
- package/dist/brand-UBTC2WXR.js +22 -0
- package/dist/brief-NU7ZGPXO.js +490 -0
- package/dist/brief-NU7ZGPXO.js.map +1 -0
- package/dist/businesses-P3RX4UXS.js +53 -0
- package/dist/campaign-groups-SJZEDIBL.js +95 -0
- package/dist/campaign-writes-5BPVXG4C.js +170 -0
- package/dist/campaign-writes-VE6QLIDA.js +165 -0
- package/dist/campaigns-JEWEDCTC.js +109 -0
- package/dist/campaigns-MEIMSHJF.js +110 -0
- package/dist/campaigns-NCGJNJKS.js +107 -0
- package/dist/campaigns-XY7QWHDN.js +76 -0
- package/dist/canvas-DK2DH7BA.js +46 -0
- package/dist/canvas-DK2DH7BA.js.map +1 -0
- package/dist/capabilities-W6SPXOPF.js +144 -0
- package/dist/cards-CLD4WX6G.js +85 -0
- package/dist/catalog-W6RBOIOF.js +64 -0
- package/dist/catalog-W6RBOIOF.js.map +1 -0
- package/dist/catalogs-DINPKQXY.js +128 -0
- package/dist/changes-N2YZXAPF.js +135 -0
- package/dist/chatgpt-TPAP6BVY.js +47 -0
- package/dist/chats-FKVVBXVF.js +262 -0
- package/dist/chunk-237WE5LX.js +455 -0
- package/dist/chunk-237WE5LX.js.map +1 -0
- package/dist/chunk-24IQ6K7K.js +103 -0
- package/dist/chunk-2FZG5DD2.js +297 -0
- package/dist/chunk-2T3EH2MU.js +363 -0
- package/dist/chunk-2Y5UE2CV.js +174 -0
- package/dist/chunk-2ZZR2SOF.js +215 -0
- package/dist/chunk-2ZZR2SOF.js.map +1 -0
- package/dist/chunk-3KPQDXIU.js +1830 -0
- package/dist/chunk-4AFGT3L3.js +46 -0
- package/dist/chunk-4JKBMKFC.js +225 -0
- package/dist/chunk-4KBWL7S4.js +610 -0
- package/dist/chunk-4R3QKEDV.js +136 -0
- package/dist/chunk-536R4RRM.js +166 -0
- package/dist/chunk-536R4RRM.js.map +1 -0
- package/dist/chunk-57XJ7QF7.js +65 -0
- package/dist/chunk-57XJ7QF7.js.map +1 -0
- package/dist/chunk-6AJ6ZD73.js +172 -0
- package/dist/chunk-6AJ6ZD73.js.map +1 -0
- package/dist/chunk-6SL6463H.js +309 -0
- package/dist/chunk-7TRSFEHZ.js +51 -0
- package/dist/chunk-AOCG7COT.js +474 -0
- package/dist/chunk-AOCG7COT.js.map +1 -0
- package/dist/chunk-APNV7FMK.js +191 -0
- package/dist/chunk-AR7PU7BB.js +76 -0
- package/dist/chunk-AR7PU7BB.js.map +1 -0
- package/dist/chunk-B2HLSTK6.js +392 -0
- package/dist/chunk-B2HLSTK6.js.map +1 -0
- package/dist/chunk-B2VKGTBS.js +3151 -0
- package/dist/chunk-B2VKGTBS.js.map +1 -0
- package/dist/chunk-BC2BXRXY.js +2887 -0
- package/dist/chunk-BC2BXRXY.js.map +1 -0
- package/dist/chunk-BC6M5YYV.js +1599 -0
- package/dist/chunk-BC6M5YYV.js.map +1 -0
- package/dist/chunk-BCSOWRQL.js +76 -0
- package/dist/chunk-BIZH3X6P.js +817 -0
- package/dist/chunk-BIZH3X6P.js.map +1 -0
- package/dist/chunk-BJEW3LST.js +296 -0
- package/dist/chunk-BYKUAX26.js +106 -0
- package/dist/chunk-C4KJHTQU.js +1079 -0
- package/dist/chunk-C4KJHTQU.js.map +1 -0
- package/dist/chunk-C7NPNSFO.js +169 -0
- package/dist/chunk-CAMX6OHF.js +3182 -0
- package/dist/chunk-CAMX6OHF.js.map +1 -0
- package/dist/chunk-CLK2FPAV.js +76 -0
- package/dist/chunk-CLK2FPAV.js.map +1 -0
- package/dist/chunk-CVIMIOPO.js +94 -0
- package/dist/chunk-D3RTGIT4.js +2102 -0
- package/dist/chunk-D3RTGIT4.js.map +1 -0
- package/dist/chunk-DAKIMGUS.js +74 -0
- package/dist/chunk-DCRUGS3G.js +25 -0
- package/dist/chunk-DJPCTTUN.js +1743 -0
- package/dist/chunk-DJPCTTUN.js.map +1 -0
- package/dist/chunk-DJUHGO3O.js +547 -0
- package/dist/chunk-DJUHGO3O.js.map +1 -0
- package/dist/chunk-DMA77LLI.js +106 -0
- package/dist/chunk-EEEAC655.js +45 -0
- package/dist/chunk-EEEAC655.js.map +1 -0
- package/dist/chunk-EESOZY5S.js +26 -0
- package/dist/chunk-EIZMOICE.js +175 -0
- package/dist/chunk-F3IVR3V3.js +136 -0
- package/dist/chunk-FSX6CQ2Z.js +188 -0
- package/dist/chunk-G7LAQE56.js +56 -0
- package/dist/chunk-G7QKXFQ2.js +66 -0
- package/dist/chunk-G7XY4T6K.js +23 -0
- package/dist/chunk-GIWHHCD6.js +145 -0
- package/dist/chunk-GIWHHCD6.js.map +1 -0
- package/dist/chunk-GRJCZF2H.js +5187 -0
- package/dist/chunk-GRJCZF2H.js.map +1 -0
- package/dist/chunk-HCDCWXSU.js +346 -0
- package/dist/chunk-HKSLIV4T.js +533 -0
- package/dist/chunk-HKSLIV4T.js.map +1 -0
- package/dist/chunk-I2DNBEV6.js +4227 -0
- package/dist/chunk-I2DNBEV6.js.map +1 -0
- package/dist/chunk-I4IVUAQN.js +337 -0
- package/dist/chunk-ICJFL7DU.js +35 -0
- package/dist/chunk-ICJFL7DU.js.map +1 -0
- package/dist/chunk-IWNZCYWI.js +74 -0
- package/dist/chunk-JF5LNI6O.js +84 -0
- package/dist/chunk-JJZBZYNK.js +96 -0
- package/dist/chunk-JPK34QPS.js +134 -0
- package/dist/chunk-JPK34QPS.js.map +1 -0
- package/dist/chunk-JZP5IODJ.js +98 -0
- package/dist/chunk-KL5VTXIK.js +149 -0
- package/dist/chunk-KL5VTXIK.js.map +1 -0
- package/dist/chunk-KWMYTVHI.js +455 -0
- package/dist/chunk-LFGCOAB4.js +75 -0
- package/dist/chunk-LLN6WTER.js +665 -0
- package/dist/chunk-LLN6WTER.js.map +1 -0
- package/dist/chunk-LO7OQKUD.js +4410 -0
- package/dist/chunk-LO7OQKUD.js.map +1 -0
- package/dist/chunk-LPRUP3ZX.js +172 -0
- package/dist/chunk-MAGSNHYB.js +6214 -0
- package/dist/chunk-MAGSNHYB.js.map +1 -0
- package/dist/chunk-MD3VH5UG.js +84 -0
- package/dist/chunk-MFORE6F4.js +19 -0
- package/dist/chunk-MMBHCAON.js +160 -0
- package/dist/chunk-MMOTJIV6.js +216 -0
- package/dist/chunk-MMOTJIV6.js.map +1 -0
- package/dist/chunk-NIGGMK7L.js +125 -0
- package/dist/chunk-NN7A2ILR.js +433 -0
- package/dist/chunk-O356YNIW.js +509 -0
- package/dist/chunk-O356YNIW.js.map +1 -0
- package/dist/chunk-OUQMJRH6.js +159 -0
- package/dist/chunk-OXKUWTFL.js +494 -0
- package/dist/chunk-P5T7OZKV.js +26 -0
- package/dist/chunk-PAJJXZ3Z.js +170 -0
- package/dist/chunk-PC56KVAD.js +74 -0
- package/dist/chunk-PEWNEPDR.js +206 -0
- package/dist/chunk-PY4FAOW6.js +275 -0
- package/dist/chunk-PY4FAOW6.js.map +1 -0
- package/dist/chunk-Q2T4XZG4.js +139 -0
- package/dist/chunk-QEHICHMP.js +875 -0
- package/dist/chunk-QEHICHMP.js.map +1 -0
- package/dist/chunk-RCR6RVYE.js +274 -0
- package/dist/chunk-RH2H5PBV.js +111 -0
- package/dist/chunk-S3L2ITS7.js +111 -0
- package/dist/chunk-S3L2ITS7.js.map +1 -0
- package/dist/chunk-S3XM4LD3.js +57 -0
- package/dist/chunk-SEPPFM5S.js +228 -0
- package/dist/chunk-SEPPFM5S.js.map +1 -0
- package/dist/chunk-SFHL3KWY.js +96 -0
- package/dist/chunk-SQ7DRYCC.js +150 -0
- package/dist/chunk-SSVZM3P6.js +333 -0
- package/dist/chunk-T64IRDKW.js +52 -0
- package/dist/chunk-T64IRDKW.js.map +1 -0
- package/dist/chunk-TMNLIA7R.js +60 -0
- package/dist/chunk-UF55TADX.js +92 -0
- package/dist/chunk-UGI33KTO.js +55 -0
- package/dist/chunk-UK2OTLT3.js +197 -0
- package/dist/chunk-UU3FGKUW.js +207 -0
- package/dist/chunk-UUBHU2TY.js +304 -0
- package/dist/chunk-UUBHU2TY.js.map +1 -0
- package/dist/chunk-UX7HIGS7.js +67 -0
- package/dist/chunk-VDZIGI2C.js +98 -0
- package/dist/chunk-VF6JFG27.js +846 -0
- package/dist/chunk-VF6JFG27.js.map +1 -0
- package/dist/chunk-VKVIBQP3.js +486 -0
- package/dist/chunk-VLF2M4GZ.js +592 -0
- package/dist/chunk-VTF7XNOP.js +58 -0
- package/dist/chunk-WDA3L4NF.js +382 -0
- package/dist/chunk-WMN2WKNZ.js +1442 -0
- package/dist/chunk-WMN2WKNZ.js.map +1 -0
- package/dist/chunk-XDV6Q33B.js +42 -0
- package/dist/chunk-XQIOCIDO.js +204 -0
- package/dist/chunk-XQIOCIDO.js.map +1 -0
- package/dist/chunk-XYC26BDM.js +133 -0
- package/dist/chunk-YHQYDNYD.js +23992 -0
- package/dist/chunk-YHQYDNYD.js.map +1 -0
- package/dist/chunk-YOARYFC2.js +6667 -0
- package/dist/chunk-YOARYFC2.js.map +1 -0
- package/dist/chunk-YPCVPDU7.js +455 -0
- package/dist/chunk-YPCVPDU7.js.map +1 -0
- package/dist/chunk-YTWNY3RF.js +97 -0
- package/dist/claim-JLVISHS4.js +197 -0
- package/dist/cli.js +41 -37
- package/dist/cli.js.map +1 -1
- package/dist/client-G6DGRGKT.js +19 -0
- package/dist/code-AYN42EK7.js +76 -0
- package/dist/companies-XDMOP2GL.js +195 -0
- package/dist/complete-XM7VLC4F.js +81 -0
- package/dist/config-UE7GCROG.js +88 -0
- package/dist/connect-VTDKGYP3.js +42 -0
- package/dist/content-5LHM4PBE.js +85 -0
- package/dist/content-5LHM4PBE.js.map +1 -0
- package/dist/conversation-F53OE25Y.js +93 -0
- package/dist/conversion-report-35MLL3FA.js +125 -0
- package/dist/conversion-upload-command-CV2TA7OV.js +438 -0
- package/dist/conversion-writes-NSZPNMPE.js +120 -0
- package/dist/conversions-7YO6DDL3.js +135 -0
- package/dist/conversions-XNISCCC2.js +76 -0
- package/dist/countries-NMWPKFFW.js +82 -0
- package/dist/create-ARERZYCL.js +59 -0
- package/dist/create-C6ZVYIF5.js +207 -0
- package/dist/create-FAPJFCZE.js +235 -0
- package/dist/create-M7TUO3XS.js +130 -0
- package/dist/creatives-3YIV6IOK.js +182 -0
- package/dist/creatives-QZCO6WGH.js +51 -0
- package/dist/creatives-WJLJ3NKP.js +87 -0
- package/dist/credentials-2DO23MYD.js +287 -0
- package/dist/credentials-2DO23MYD.js.map +1 -0
- package/dist/critique-56MNXW7R.js +1449 -0
- package/dist/critique-KRIKEHF6.js +213 -0
- package/dist/crm-OETFQNR3.js +224 -0
- package/dist/crm-WXCFB4TU.js +318 -0
- package/dist/crop-VCP2JLQL.js +113 -0
- package/dist/currency-MNNDKY4Z.js +88 -0
- package/dist/custom-conversions-CIU525HM.js +125 -0
- package/dist/customers-GTPEABJI.js +56 -0
- package/dist/decide-NFTEKQKC.js +199 -0
- package/dist/decide-NFTEKQKC.js.map +1 -0
- package/dist/delete-5CURRI25.js +71 -0
- package/dist/delete-CLC2Q2OE.js +63 -0
- package/dist/delete-CQ6Q3URI.js +54 -0
- package/dist/delete-JIRZBBDD.js +69 -0
- package/dist/delete-LD3F4UIW.js +66 -0
- package/dist/delete-LGZ5OI4C.js +71 -0
- package/dist/demographics-EK2ZPHWK.js +138 -0
- package/dist/describe-BNB6643C.js +97 -0
- package/dist/describe-ZXGFTCDR.js +97 -0
- package/dist/dimensions-IU4ETG4U.js +101 -0
- package/dist/discard-VWCXYJWU.js +66 -0
- package/dist/discover-4EQWGIAN.js +172 -0
- package/dist/discover-4N3V5K2R.js +93 -0
- package/dist/discover-4N3V5K2R.js.map +1 -0
- package/dist/domain-I2SAGVAB.js +98 -0
- package/dist/download-D7TB4744.js +299 -0
- package/dist/draft-4VOOSJQJ.js +233 -0
- package/dist/draft-6KG2YFOY.js +328 -0
- package/dist/draft-APDGACIC.js +306 -0
- package/dist/draft-D76C4JR3.js +103 -0
- package/dist/draft-HFH2Y6F5.js +281 -0
- package/dist/draft-NLUJX7TA.js +307 -0
- package/dist/draft-NLUJX7TA.js.map +1 -0
- package/dist/draft-NVVWWQVC.js +217 -0
- package/dist/draft-NWLPLTWM.js +100 -0
- package/dist/engine/index.d.ts +12 -0
- package/dist/engine/index.js +13 -14
- package/dist/env-LHLGM2YJ.js +43 -0
- package/dist/experiment-4SUIXVBP.js +1397 -0
- package/dist/experiment-4SUIXVBP.js.map +1 -0
- package/dist/export-VGCFD7GL.js +168 -0
- package/dist/extract-32J7V2RX.js +113 -0
- package/dist/facets-WVI6VBDC.js +114 -0
- package/dist/favorites-WKV5H5OF.js +178 -0
- package/dist/feed-2CRO4HA6.js +177 -0
- package/dist/feed-2CRO4HA6.js.map +1 -0
- package/dist/feedback-NMNKYEMU.js +66 -0
- package/dist/feedback-record-2VYBMWMO.js +175 -0
- package/dist/fetch-CENBDLT6.js +176 -0
- package/dist/fetch-XQFPE3MI.js +139 -0
- package/dist/find-PNDKEOXT.js +134 -0
- package/dist/fit-SEWGCEW5.js +45 -0
- package/dist/flows-3N4RPGSP.js +247 -0
- package/dist/flows-3N4RPGSP.js.map +1 -0
- package/dist/follow-BB5KUEXZ.js +94 -0
- package/dist/follow-BB5KUEXZ.js.map +1 -0
- package/dist/follow-competitors-EURYGGXE.js +112 -0
- package/dist/follow-competitors-EURYGGXE.js.map +1 -0
- package/dist/following-CA5BQXYB.js +113 -0
- package/dist/following-CA5BQXYB.js.map +1 -0
- package/dist/fonts-KUCQAR7N.js +34 -0
- package/dist/forecast-G5KRTVDM.js +168 -0
- package/dist/forecast-G5KRTVDM.js.map +1 -0
- package/dist/forecast-PI52G2GL.js +104 -0
- package/dist/funding-ZRC25X5I.js +85 -0
- package/dist/funnel-WGFMUWQP.js +394 -0
- package/dist/funnel-WGFMUWQP.js.map +1 -0
- package/dist/ga4-YDKXVJOC.js +55 -0
- package/dist/generate-BVMMX3SS.js +262 -0
- package/dist/get-7MSF4RVQ.js +59 -0
- package/dist/get-FILH7BDT.js +78 -0
- package/dist/get-FILH7BDT.js.map +1 -0
- package/dist/get-KFVPIDIA.js +61 -0
- package/dist/get-NHQ2XYKZ.js +63 -0
- package/dist/get-TCDAYTZA.js +56 -0
- package/dist/get-TCDAYTZA.js.map +1 -0
- package/dist/get-UMMTY74K.js +92 -0
- package/dist/get-YM77HCL5.js +63 -0
- package/dist/gif-X323HXS2.js +94 -0
- package/dist/google-76A4MHQH.js +136 -0
- package/dist/google-OZTCY7HD.js +3190 -0
- package/dist/google-OZTCY7HD.js.map +1 -0
- package/dist/google-ads-S6O4MLKA.js +195 -0
- package/dist/group-CTIZVYX2.js +43 -0
- package/dist/group-HKWQ75CJ.js +43 -0
- package/dist/gsc-CORRYJBJ.js +30 -0
- package/dist/history-4U7FJGEM.js +133 -0
- package/dist/history-BXOMJ5PL.js +67 -0
- package/dist/hubspot-I5MFAZ4G.js +779 -0
- package/dist/icon-6QW63AHG.js +137 -0
- package/dist/ideas-QDS5XA4S.js +32 -0
- package/dist/images-NVTA2OHD.js +90 -0
- package/dist/improve-WR23CHYH.js +86 -0
- package/dist/ingest-QAVJ2J7F.js +107 -0
- package/dist/ingest-XJHV3GG6.js +23 -0
- package/dist/insights-AW7SOGHI.js +122 -0
- package/dist/insights-IJEPLWQH.js +423 -0
- package/dist/inspect-7I53PWCF.js +189 -0
- package/dist/inspiration-TJJFUVY2.js +53 -0
- package/dist/intent-VEUQS34Z.js +95 -0
- package/dist/job-K7LAIBYN.js +202 -0
- package/dist/job-create-DFZL4CGA.js +109 -0
- package/dist/job-status-6Q2TVTEO.js +74 -0
- package/dist/keep-XJFCLVCP.js +78 -0
- package/dist/keyword-gap-CUOGKUMM.js +130 -0
- package/dist/keyword-metrics-LK7FME4N.js +197 -0
- package/dist/keywords-for-site-4E7UU44P.js +128 -0
- package/dist/landing-I65PFN7H.js +28 -0
- package/dist/landings-SQJWZOJR.js +151 -0
- package/dist/landings-SQJWZOJR.js.map +1 -0
- package/dist/languages-KPPKX3E2.js +40 -0
- package/dist/languages-MGEBLO64.js +55 -0
- package/dist/launches-E3Y6NCQE.js +19 -0
- package/dist/layerize-N4IQ2KE7.js +190 -0
- package/dist/leads-PPMOBH7U.js +293 -0
- package/dist/leads-TNEQUOUN.js +90 -0
- package/dist/learn-QQS323PS.js +203 -0
- package/dist/library-4QQAVB6X.js +109 -0
- package/dist/lighthouse-CD47CPJM.js +75 -0
- package/dist/line-item-writes-QJZQUQ4E.js +208 -0
- package/dist/line-items-ESEAXGBV.js +103 -0
- package/dist/link-DPJYS4WY.js +64 -0
- package/dist/linkedin-EJPNC4VY.js +1008 -0
- package/dist/list-A45NTPSJ.js +76 -0
- package/dist/list-GNP4GIV2.js +51 -0
- package/dist/list-KQFLOVC4.js +57 -0
- package/dist/list-MDHK3ENJ.js +50 -0
- package/dist/list-PRUFXMXW.js +65 -0
- package/dist/list-S3BAQCTL.js +303 -0
- package/dist/list-UU5NPLJ7.js +151 -0
- package/dist/list-V525A4Z4.js +63 -0
- package/dist/locations-J2PVPDZU.js +67 -0
- package/dist/locations-TFOYESTF.js +40 -0
- package/dist/log-XQBEJOOW.js +92 -0
- package/dist/logo-KQD5KUAH.js +18 -0
- package/dist/lookup-QCREWUV4.js +22 -0
- package/dist/make-NZHJ7ICV.js +633 -0
- package/dist/make-NZHJ7ICV.js.map +1 -0
- package/dist/map-7SHU5WCJ.js +433 -0
- package/dist/map-7SHU5WCJ.js.map +1 -0
- package/dist/mcp-GATPHY4D.js +463 -0
- package/dist/mcp-GATPHY4D.js.map +1 -0
- package/dist/media-2WENMOAA.js +15 -0
- package/dist/media-N4C6Q4IV.js +89 -0
- package/dist/media-sources-BPOTW6IB.js +32 -0
- package/dist/members-BOYZKLNK.js +44 -0
- package/dist/meta-PXYHWOOG.js +69 -0
- package/dist/metrics-FZANUN7E.js +152 -0
- package/dist/models-W6EN3WB7.js +155 -0
- package/dist/normalize-LOMDPNFJ.js +806 -0
- package/dist/normalize-RP3D7BUT.js +141 -0
- package/dist/normalize-RP3D7BUT.js.map +1 -0
- package/dist/options-FXND5P2W.js +122 -0
- package/dist/options-FXND5P2W.js.map +1 -0
- package/dist/output-SR4DN3A4.js +24 -0
- package/dist/page-FS76L5WU.js +105 -0
- package/dist/pages-INMNJSX2.js +66 -0
- package/dist/performance-53D43XVZ.js +24 -0
- package/dist/pinterest-JMHFPNVW.js +96 -0
- package/dist/pixels-K6ZD7SXV.js +60 -0
- package/dist/pixels-XPBBJYE3.js +108 -0
- package/dist/plan-45ESBYZA.js +207 -0
- package/dist/plan-45ESBYZA.js.map +1 -0
- package/dist/preview-KXSNG3BS.js +169 -0
- package/dist/profile-I4IXWBAQ.js +159 -0
- package/dist/profile-I4IXWBAQ.js.map +1 -0
- package/dist/promoted-tweet-writes-I6HVQRDB.js +180 -0
- package/dist/promoted-tweets-YAQ5ZUXI.js +119 -0
- package/dist/properties-NYNEONHI.js +101 -0
- package/dist/publish-Z5DVKZSG.js +322 -0
- package/dist/query-MSZPOHFL.js +61 -0
- package/dist/query-RK2TFMBI.js +236 -0
- package/dist/query-TWNH6GV7.js +247 -0
- package/dist/questionnaire-CNXN2TUZ.js +93 -0
- package/dist/questionnaire-CNXN2TUZ.js.map +1 -0
- package/dist/read-2AGRYWXU.js +141 -0
- package/dist/read-2AGRYWXU.js.map +1 -0
- package/dist/reddit-6DQTBTO6.js +26 -0
- package/dist/refresh-TP2TOGS6.js +94 -0
- package/dist/release-PHQEZ2ZX.js +60 -0
- package/dist/relevant-pages-ORVFFVAM.js +99 -0
- package/dist/remove-ETLMMDEA.js +48 -0
- package/dist/remove-KTBM5YSH.js +50 -0
- package/dist/reopen-OURQR6U7.js +63 -0
- package/dist/rerun-HGCVZ3D4.js +84 -0
- package/dist/rerun-HGCVZ3D4.js.map +1 -0
- package/dist/research-P23YBKS3.js +62 -0
- package/dist/research-WCNWT5Y5.js +262 -0
- package/dist/reset-2NCAWWN4.js +54 -0
- package/dist/reset-65R2CUB5.js +54 -0
- package/dist/resolve-65FKZ23N.js +121 -0
- package/dist/retry-P5K6LE6K.js +60 -0
- package/dist/retry-UIPDQJ5F.js +62 -0
- package/dist/retry-failed-QMWQ6TRL.js +45 -0
- package/dist/run-NDMEYUOI.js +59 -0
- package/dist/run-OP3T4TCF.js +65 -0
- package/dist/scaffold-ad-A5MWIOQJ.js +1548 -0
- package/dist/scaffold-ad-A5MWIOQJ.js.map +1 -0
- package/dist/scaffold-static-ad-MFPDXR6J.js +971 -0
- package/dist/scaffold-static-ad-MFPDXR6J.js.map +1 -0
- package/dist/scaffold-video-N6TY36I3.js +872 -0
- package/dist/scaffold-video-N6TY36I3.js.map +1 -0
- package/dist/schedule-6D667AXB.js +61 -0
- package/dist/schedule-KXLQVCZW.js +66 -0
- package/dist/scheduled-agents-LYWEX4PU.js +49 -0
- package/dist/schema-5HZIAHY3.js +132 -0
- package/dist/schema-5HZIAHY3.js.map +1 -0
- package/dist/schema-CCFLFAOY.js +63 -0
- package/dist/scrape-DBZQFIW7.js +2241 -0
- package/dist/screenshot-MPFANYIH.js +102 -0
- package/dist/search-4AANIUUL.js +91 -0
- package/dist/search-EMJABZYF.js +224 -0
- package/dist/search-HQDN7DOF.js +174 -0
- package/dist/search-OVHC4CRQ.js +26 -0
- package/dist/search-YSGZRANA.js +92 -0
- package/dist/search-copy-E3EVO7YT.js +168 -0
- package/dist/search-copy-E3EVO7YT.js.map +1 -0
- package/dist/seeds-XTBVEHSF.js +101 -0
- package/dist/seeds-XTBVEHSF.js.map +1 -0
- package/dist/select-C6BKHB4B.js +94 -0
- package/dist/sends-HXN5HSF6.js +309 -0
- package/dist/sequences-FRK76ZQV.js +146 -0
- package/dist/set-prompt-AOSHNBFC.js +185 -0
- package/dist/set-prompt-AOSHNBFC.js.map +1 -0
- package/dist/setup-links-BM2GLSSO.js +141 -0
- package/dist/shared-EH5ZTQXC.js +31 -0
- package/dist/site-3PEJYQJW.js +177 -0
- package/dist/sitemaps-7KHY2KXI.js +87 -0
- package/dist/sites-6B76JW6C.js +101 -0
- package/dist/skills-SCTT3LCM.js +47 -0
- package/dist/sources-ODJBHNGY.js +30 -0
- package/dist/sources-ZTLMXFHK.js +454 -0
- package/dist/sources-ZTLMXFHK.js.map +1 -0
- package/dist/stale-2O54QXY2.js +63 -0
- package/dist/stats-4NBOAOR2.js +34 -0
- package/dist/status-NE5OBM4B.js +62 -0
- package/dist/sticker-NLXBIOBO.js +94 -0
- package/dist/stock-F3SA4VHV.js +179 -0
- package/dist/studio-ZPDIOFKL.js +49 -0
- package/dist/sync-5GJNZDGZ.js +54 -0
- package/dist/sync-FCNFXTFD.js +265 -0
- package/dist/sync-YXCZ3DHY.js +54 -0
- package/dist/sync-definition-IL6Z4ZI7.js +52 -0
- package/dist/sync-definition-IL6Z4ZI7.js.map +1 -0
- package/dist/tag-manager-YM4Q3CZT.js +43 -0
- package/dist/tags-456UOYJU.js +26 -0
- package/dist/tags-5YPYHV5V.js +20 -0
- package/dist/tags-HXMHEHG2.js +224 -0
- package/dist/tags-K34666RY.js +20 -0
- package/dist/tags-NB35ISO3.js +20 -0
- package/dist/targeting-constants-3CMGPWRI.js +118 -0
- package/dist/targeting-criteria-UKQ4WF5C.js +113 -0
- package/dist/targets-VQ4BQ657.js +102 -0
- package/dist/templates-PMUIOVDX.js +178 -0
- package/dist/testimonials-XZCGVD6V.js +32 -0
- package/dist/themes-TVXLYJ7Y.js +94 -0
- package/dist/themes-TVXLYJ7Y.js.map +1 -0
- package/dist/top-companies-VMRIDOOH.js +108 -0
- package/dist/translate-F5KR62LF.js +598 -0
- package/dist/triggers-2MZX7W6Y.js +141 -0
- package/dist/tweets-XWE3VYQ4.js +123 -0
- package/dist/unfollow-7U4UBAJX.js +46 -0
- package/dist/unlink-AWSNY3QS.js +67 -0
- package/dist/unstage-OGB43ZXO.js +95 -0
- package/dist/unstage-RQBOQ4DY.js +84 -0
- package/dist/update-4KWYHMLS.js +63 -0
- package/dist/update-6DKEWM64.js +142 -0
- package/dist/update-G6EKHPIF.js +155 -0
- package/dist/update-OFV452AC.js +98 -0
- package/dist/upload-6CJWMQ24.js +126 -0
- package/dist/upload-GUKMQ5MT.js +150 -0
- package/dist/upscale-A456MESF.js +109 -0
- package/dist/url-options-FGDOVUSI.js +130 -0
- package/dist/url-options-FGDOVUSI.js.map +1 -0
- package/dist/url-params-OE3UMYMM.js +98 -0
- package/dist/use-HBVKVT5S.js +95 -0
- package/dist/validate-ZCUZV3L4.js +88 -0
- package/dist/validate-ZCUZV3L4.js.map +1 -0
- package/dist/variant-HULP57YI.js +338 -0
- package/dist/videos-ION7UT3M.js +39 -0
- package/dist/view-GCDEJZII.js +121 -0
- package/dist/viewer-check-UKYFBFMY.js +68 -0
- package/dist/viewer-check-UKYFBFMY.js.map +1 -0
- package/dist/web-CCVD6UZ4.js +140 -0
- package/dist/winners-WSMWC4M5.js +113 -0
- package/dist/winners-WSMWC4M5.js.map +1 -0
- package/dist/winning-ads-UCSSFEXD.js +84 -0
- package/dist/winning-ads-UCSSFEXD.js.map +1 -0
- package/dist/write-commands-47OP673X.js +713 -0
- package/dist/write-commands-IJ5IFHS6.js +737 -0
- package/dist/write-commands-NNVDWBLG.js +1015 -0
- package/dist/write-commands-OBMIVFZJ.js +206 -0
- package/dist/x-U32DT24S.js +47 -0
- package/package.json +2 -2
- package/dist/account-2ZMZFPIU.js +0 -79
- package/dist/account-F6MHQ64I.js +0 -80
- package/dist/account-IEVEOFIK.js +0 -49
- package/dist/account-writes-ISE4U2FQ.js +0 -66
- package/dist/accounts-4CDRK4S4.js +0 -75
- package/dist/accounts-5QDKBZMH.js +0 -115
- package/dist/accounts-KYJO3JC6.js +0 -114
- package/dist/accounts-RHGN5WMU.js +0 -611
- package/dist/accounts-VINHZRWA.js +0 -77
- package/dist/actions-5F4ZP6M4.js +0 -55
- package/dist/active-entities-YUSOUR5M.js +0 -103
- package/dist/activities-ZVQOBHZH.js +0 -74
- package/dist/ad-group-writes-UU5NNKSO.js +0 -170
- package/dist/ad-groups-CGFXZNIA.js +0 -68
- package/dist/ad-writes-NALDYWOR.js +0 -174
- package/dist/add-577QWMCF.js +0 -97
- package/dist/add-CUWAW7KG.js +0 -105
- package/dist/add-KBPMSK2P.js +0 -104
- package/dist/add-OGH4DZZ5.js +0 -280
- package/dist/add-OGH4DZZ5.js.map +0 -1
- package/dist/ads-56OWZBXZ.js +0 -40
- package/dist/ads-H7GH7A26.js +0 -113
- package/dist/ads-PV7GZXPR.js +0 -77
- package/dist/adsets-H7QT42U6.js +0 -176
- package/dist/advertisers-PM4WPG4N.js +0 -120
- package/dist/advertisers-YMHPZYNF.js +0 -111
- package/dist/advertisers-YMHPZYNF.js.map +0 -1
- package/dist/analytics-5FALU2GL.js +0 -433
- package/dist/analytics-JVZKN735.js +0 -1958
- package/dist/analytics-JVZKN735.js.map +0 -1
- package/dist/animate-FWWHSYPL.js +0 -480
- package/dist/assign-KLYZ6USE.js +0 -77
- package/dist/audience-size-JHB42DB4.js +0 -94
- package/dist/audiences-HFRVIE2X.js +0 -85
- package/dist/audiences-JACGRBNN.js +0 -78
- package/dist/audiences-VEKGLWBG.js +0 -268
- package/dist/audit-5XH7WZIM.js +0 -151
- package/dist/audit-AD4ZZNJN.js +0 -88
- package/dist/autocomplete-7F3PZLEY.js +0 -111
- package/dist/avatars-N4SRNQI7.js +0 -38
- package/dist/bid-pricing-VYLVGU26.js +0 -99
- package/dist/brand-ASBS2HZM.js +0 -22
- package/dist/brief-JSZKDPGU.js +0 -477
- package/dist/brief-JSZKDPGU.js.map +0 -1
- package/dist/businesses-JBDQZZIG.js +0 -53
- package/dist/campaign-groups-ATE2DE4V.js +0 -95
- package/dist/campaign-writes-ETT57KLQ.js +0 -165
- package/dist/campaign-writes-SX52CJYW.js +0 -170
- package/dist/campaigns-FGBAS6AZ.js +0 -107
- package/dist/campaigns-J6VZBIV6.js +0 -109
- package/dist/campaigns-WBEG5QA4.js +0 -110
- package/dist/campaigns-X3DPCCSN.js +0 -76
- package/dist/canvas-K7IN7HLO.js +0 -46
- package/dist/canvas-K7IN7HLO.js.map +0 -1
- package/dist/capabilities-RDAERPYY.js +0 -144
- package/dist/cards-4477BFEV.js +0 -85
- package/dist/catalog-MENVHL5U.js +0 -65
- package/dist/catalog-MENVHL5U.js.map +0 -1
- package/dist/catalogs-G3YEVG6S.js +0 -128
- package/dist/changes-TP7ZZHB3.js +0 -135
- package/dist/chatgpt-QNUN63YS.js +0 -47
- package/dist/chats-YIAQGQ3X.js +0 -262
- package/dist/chunk-2GK33EJV.js +0 -382
- package/dist/chunk-2TK4DEOE.js +0 -74
- package/dist/chunk-35XWJEWH.js +0 -274
- package/dist/chunk-3CWL2LY4.js +0 -206
- package/dist/chunk-4NBVGARW.js +0 -1079
- package/dist/chunk-4NBVGARW.js.map +0 -1
- package/dist/chunk-4NDCTLI5.js +0 -191
- package/dist/chunk-5ARG3CQG.js +0 -141
- package/dist/chunk-5ARG3CQG.js.map +0 -1
- package/dist/chunk-5R5ADJ47.js +0 -2880
- package/dist/chunk-5R5ADJ47.js.map +0 -1
- package/dist/chunk-5Z2KSVIV.js +0 -67
- package/dist/chunk-65RIB7A6.js +0 -592
- package/dist/chunk-6B7VKFS4.js +0 -172
- package/dist/chunk-6DB2B3GF.js +0 -175
- package/dist/chunk-6G5K6ZC6.js +0 -46
- package/dist/chunk-75FDTDLH.js +0 -96
- package/dist/chunk-7OFNN4CT.js +0 -58
- package/dist/chunk-7SDFKGQ4.js +0 -363
- package/dist/chunk-ACANMASG.js +0 -19
- package/dist/chunk-ALTBBAYU.js +0 -96
- package/dist/chunk-ANCSKUWI.js +0 -433
- package/dist/chunk-AWMFUGVX.js +0 -160
- package/dist/chunk-BA7FDXQC.js +0 -197
- package/dist/chunk-BNCW67EM.js +0 -534
- package/dist/chunk-BNCW67EM.js.map +0 -1
- package/dist/chunk-BSC33FLJ.js +0 -217
- package/dist/chunk-BSC33FLJ.js.map +0 -1
- package/dist/chunk-C6U6UDHJ.js +0 -106
- package/dist/chunk-CHSNHVYF.js +0 -3182
- package/dist/chunk-CHSNHVYF.js.map +0 -1
- package/dist/chunk-CYEO5ZIO.js +0 -133
- package/dist/chunk-CYEO5ZIO.js.map +0 -1
- package/dist/chunk-DKGTQSLR.js +0 -310
- package/dist/chunk-DKGTQSLR.js.map +0 -1
- package/dist/chunk-DR34ZTWD.js +0 -207
- package/dist/chunk-E4MDJBLO.js +0 -163
- package/dist/chunk-E4MDJBLO.js.map +0 -1
- package/dist/chunk-EFSYTROP.js +0 -94
- package/dist/chunk-EH4C4CZK.js +0 -455
- package/dist/chunk-F2S5BLPE.js +0 -97
- package/dist/chunk-FXED3VZK.js +0 -174
- package/dist/chunk-G7UTTEBS.js +0 -337
- package/dist/chunk-GATKK4RJ.js +0 -440
- package/dist/chunk-GATKK4RJ.js.map +0 -1
- package/dist/chunk-GIJT3A5U.js +0 -166
- package/dist/chunk-GIJT3A5U.js.map +0 -1
- package/dist/chunk-GX6VAHY7.js +0 -830
- package/dist/chunk-GX6VAHY7.js.map +0 -1
- package/dist/chunk-H26L3OQY.js +0 -42
- package/dist/chunk-HIPDMQZ6.js +0 -136
- package/dist/chunk-HQSCJYZO.js +0 -26
- package/dist/chunk-HZ5DR5MX.js +0 -51
- package/dist/chunk-I4NEHDSD.js +0 -813
- package/dist/chunk-I4NEHDSD.js.map +0 -1
- package/dist/chunk-IFWP3ZDO.js +0 -215
- package/dist/chunk-IFWP3ZDO.js.map +0 -1
- package/dist/chunk-IM52NHGL.js +0 -390
- package/dist/chunk-IM52NHGL.js.map +0 -1
- package/dist/chunk-JERXV5A3.js +0 -26
- package/dist/chunk-JF47LEPU.js +0 -5163
- package/dist/chunk-JF47LEPU.js.map +0 -1
- package/dist/chunk-K3PN7TN5.js +0 -84
- package/dist/chunk-KBP7WJQB.js +0 -446
- package/dist/chunk-KBP7WJQB.js.map +0 -1
- package/dist/chunk-KLBTXETO.js +0 -23992
- package/dist/chunk-KLBTXETO.js.map +0 -1
- package/dist/chunk-KLNKEVIY.js +0 -136
- package/dist/chunk-KNWHUMVZ.js +0 -4381
- package/dist/chunk-KNWHUMVZ.js.map +0 -1
- package/dist/chunk-KNY76UGC.js +0 -84
- package/dist/chunk-KQTYTCKQ.js +0 -98
- package/dist/chunk-LERTEZST.js +0 -28
- package/dist/chunk-LERTEZST.js.map +0 -1
- package/dist/chunk-LIQ4SQ2T.js +0 -150
- package/dist/chunk-LS5MTRFI.js +0 -106
- package/dist/chunk-LW4VSTL5.js +0 -304
- package/dist/chunk-LW4VSTL5.js.map +0 -1
- package/dist/chunk-LZ73CZGP.js +0 -188
- package/dist/chunk-MADAAZZV.js +0 -169
- package/dist/chunk-MELOSESI.js +0 -20
- package/dist/chunk-MELOSESI.js.map +0 -1
- package/dist/chunk-MLU6STIN.js +0 -66
- package/dist/chunk-MZL4H5PY.js +0 -225
- package/dist/chunk-NAWWC5I3.js +0 -454
- package/dist/chunk-NAWWC5I3.js.map +0 -1
- package/dist/chunk-NDXBU22S.js +0 -6145
- package/dist/chunk-NDXBU22S.js.map +0 -1
- package/dist/chunk-NE4F3FHN.js +0 -1854
- package/dist/chunk-NE4F3FHN.js.map +0 -1
- package/dist/chunk-NU7JSWVA.js +0 -946
- package/dist/chunk-NU7JSWVA.js.map +0 -1
- package/dist/chunk-OTFHEHIU.js +0 -1706
- package/dist/chunk-OTFHEHIU.js.map +0 -1
- package/dist/chunk-PBA3YCZA.js +0 -76
- package/dist/chunk-PDTB5EX6.js +0 -57
- package/dist/chunk-PWGWMIIJ.js +0 -25
- package/dist/chunk-QSN5MZGS.js +0 -74
- package/dist/chunk-RPUSTYHL.js +0 -170
- package/dist/chunk-RX6F3GEA.js +0 -610
- package/dist/chunk-SB3GZFCV.js +0 -622
- package/dist/chunk-SB3GZFCV.js.map +0 -1
- package/dist/chunk-SSJK7FEV.js +0 -2886
- package/dist/chunk-SSJK7FEV.js.map +0 -1
- package/dist/chunk-STIB5DR5.js +0 -56
- package/dist/chunk-T3BDNJIX.js +0 -494
- package/dist/chunk-TD2P4HBP.js +0 -55
- package/dist/chunk-TEINLN64.js +0 -649
- package/dist/chunk-TEINLN64.js.map +0 -1
- package/dist/chunk-TIOQ7ZFQ.js +0 -496
- package/dist/chunk-TIOQ7ZFQ.js.map +0 -1
- package/dist/chunk-U3HAMW5W.js +0 -133
- package/dist/chunk-U6SYRIOB.js +0 -486
- package/dist/chunk-UC6BWM5J.js +0 -159
- package/dist/chunk-ULJ5RFOV.js +0 -76
- package/dist/chunk-ULJ5RFOV.js.map +0 -1
- package/dist/chunk-VAISMQQB.js +0 -346
- package/dist/chunk-VAJBWA2U.js +0 -75
- package/dist/chunk-VB6WJJR3.js +0 -1830
- package/dist/chunk-VDHQJ6HD.js +0 -23
- package/dist/chunk-VFIOJD5M.js +0 -309
- package/dist/chunk-VMDAXFRI.js +0 -111
- package/dist/chunk-VVZBBKRC.js +0 -296
- package/dist/chunk-W3B4BHQU.js +0 -31
- package/dist/chunk-W3B4BHQU.js.map +0 -1
- package/dist/chunk-W3ZHJJVT.js +0 -139
- package/dist/chunk-WNFIJAUO.js +0 -98
- package/dist/chunk-WS2GMOSG.js +0 -74
- package/dist/chunk-X7ZODEXJ.js +0 -36
- package/dist/chunk-X7ZODEXJ.js.map +0 -1
- package/dist/chunk-XBOK23HI.js +0 -214
- package/dist/chunk-XBOK23HI.js.map +0 -1
- package/dist/chunk-XCM6XWOB.js +0 -417
- package/dist/chunk-XCM6XWOB.js.map +0 -1
- package/dist/chunk-XL3BMSYG.js +0 -125
- package/dist/chunk-XMD4SHFI.js +0 -60
- package/dist/chunk-Y6QAJNKP.js +0 -1411
- package/dist/chunk-Y6QAJNKP.js.map +0 -1
- package/dist/chunk-YBMVHGY3.js +0 -333
- package/dist/chunk-YBP7O5P4.js +0 -103
- package/dist/chunk-YC2TQ3VC.js +0 -297
- package/dist/chunk-YPZYOJP6.js +0 -6664
- package/dist/chunk-YPZYOJP6.js.map +0 -1
- package/dist/chunk-ZJWUBJYQ.js +0 -204
- package/dist/chunk-ZJWUBJYQ.js.map +0 -1
- package/dist/chunk-ZPU3WDVK.js +0 -92
- package/dist/claim-V4F5GZJK.js +0 -197
- package/dist/client-VHN32ZRE.js +0 -19
- package/dist/code-YS6ZMGX3.js +0 -76
- package/dist/companies-NJGJ7XNN.js +0 -195
- package/dist/complete-MGNF5OAK.js +0 -81
- package/dist/config-CQN5FHMZ.js +0 -88
- package/dist/connect-PJOTRTT4.js +0 -36
- package/dist/content-3ZPP4SW2.js +0 -81
- package/dist/content-3ZPP4SW2.js.map +0 -1
- package/dist/conversation-4DM26FRD.js +0 -93
- package/dist/conversion-report-N4HANYOB.js +0 -125
- package/dist/conversion-upload-command-TZTHU2CD.js +0 -438
- package/dist/conversion-writes-LW4HQKK5.js +0 -120
- package/dist/conversions-JGECVZSY.js +0 -135
- package/dist/conversions-TS723AZV.js +0 -76
- package/dist/countries-ESAKTQAE.js +0 -82
- package/dist/create-DSGQFBI7.js +0 -207
- package/dist/create-I2KVDTCQ.js +0 -59
- package/dist/create-SBQWVLXG.js +0 -130
- package/dist/create-WOHPIGBK.js +0 -235
- package/dist/creatives-4JGVZQGC.js +0 -182
- package/dist/creatives-DWO5KEQC.js +0 -51
- package/dist/creatives-PSWCNY7U.js +0 -87
- package/dist/credentials-UULYCN2L.js +0 -1055
- package/dist/credentials-UULYCN2L.js.map +0 -1
- package/dist/critique-NGMZK5LX.js +0 -213
- package/dist/critique-TIZJ5GFM.js +0 -1449
- package/dist/crm-2WAR565U.js +0 -224
- package/dist/crm-VDXUO2YU.js +0 -318
- package/dist/crop-2J4RKJ6B.js +0 -113
- package/dist/currency-XCGKQ7FE.js +0 -88
- package/dist/custom-conversions-6P555U2K.js +0 -125
- package/dist/customers-ATENMXDO.js +0 -56
- package/dist/delete-3AV3ARMX.js +0 -71
- package/dist/delete-A5XD52K4.js +0 -69
- package/dist/delete-AVMZYNVT.js +0 -54
- package/dist/delete-H744GNS4.js +0 -63
- package/dist/delete-MRM2S4Z5.js +0 -71
- package/dist/delete-OEYPFATY.js +0 -66
- package/dist/demographics-M5LJF3RZ.js +0 -138
- package/dist/describe-6NVOWIBE.js +0 -97
- package/dist/describe-P3PPIQME.js +0 -97
- package/dist/dimensions-EYAYO27I.js +0 -101
- package/dist/discard-72I6SM7G.js +0 -66
- package/dist/discover-BJPZNXUQ.js +0 -172
- package/dist/domain-R4EIZD2W.js +0 -98
- package/dist/download-7T6HIJKD.js +0 -299
- package/dist/draft-34C3F5U4.js +0 -217
- package/dist/draft-BBFJNZ5X.js +0 -328
- package/dist/draft-BGUJDHXR.js +0 -103
- package/dist/draft-BV2QRPZ4.js +0 -107
- package/dist/draft-BV2QRPZ4.js.map +0 -1
- package/dist/draft-KIBMVKSR.js +0 -100
- package/dist/draft-THPZFASM.js +0 -281
- package/dist/draft-YDY2Q2K6.js +0 -233
- package/dist/draft-YYYRWF7M.js +0 -306
- package/dist/env-KIP2J2UB.js +0 -43
- package/dist/experiment-LKK77YAN.js +0 -1377
- package/dist/experiment-LKK77YAN.js.map +0 -1
- package/dist/export-JQRMBJ7D.js +0 -168
- package/dist/extract-7QKLME7Z.js +0 -113
- package/dist/facets-F2H52MS4.js +0 -114
- package/dist/favorites-NSGF4OV5.js +0 -178
- package/dist/feed-RV4KPPXM.js +0 -157
- package/dist/feed-RV4KPPXM.js.map +0 -1
- package/dist/feedback-IQKKT4MC.js +0 -66
- package/dist/feedback-record-UZV4Y7UD.js +0 -175
- package/dist/fetch-XF76JABV.js +0 -139
- package/dist/fetch-ZUAZPLAE.js +0 -176
- package/dist/find-OTDIX6V4.js +0 -134
- package/dist/fit-2CA4JH7N.js +0 -45
- package/dist/flows-CWXCXEUD.js +0 -244
- package/dist/flows-CWXCXEUD.js.map +0 -1
- package/dist/follow-FN7LV3WV.js +0 -82
- package/dist/follow-FN7LV3WV.js.map +0 -1
- package/dist/follow-competitors-MKXFHLXB.js +0 -131
- package/dist/follow-competitors-MKXFHLXB.js.map +0 -1
- package/dist/following-RKC2FLHI.js +0 -109
- package/dist/following-RKC2FLHI.js.map +0 -1
- package/dist/fonts-F2XUCIIW.js +0 -34
- package/dist/forecast-IDKJYM2B.js +0 -104
- package/dist/funding-NYO65IMT.js +0 -85
- package/dist/funnel-RLGQGYKO.js +0 -837
- package/dist/funnel-RLGQGYKO.js.map +0 -1
- package/dist/ga4-UDQ2HA2J.js +0 -55
- package/dist/generate-MMBYB44G.js +0 -262
- package/dist/get-3L6W3E3T.js +0 -59
- package/dist/get-6WEYKOY6.js +0 -63
- package/dist/get-C6UQ22HH.js +0 -54
- package/dist/get-C6UQ22HH.js.map +0 -1
- package/dist/get-EEUR6SAW.js +0 -78
- package/dist/get-EEUR6SAW.js.map +0 -1
- package/dist/get-P743RPSI.js +0 -63
- package/dist/get-XN5ZGDIK.js +0 -61
- package/dist/get-YIHTAMRT.js +0 -92
- package/dist/gif-53ULFVLR.js +0 -94
- package/dist/google-35GDU3G3.js +0 -1872
- package/dist/google-35GDU3G3.js.map +0 -1
- package/dist/google-KTO3PLEU.js +0 -136
- package/dist/google-ads-Q37I2D5P.js +0 -195
- package/dist/group-EFZ3AJIE.js +0 -43
- package/dist/group-GKWCCX66.js +0 -43
- package/dist/gsc-P3QYGDV2.js +0 -30
- package/dist/history-4II5QA4B.js +0 -133
- package/dist/history-DBIEYQHY.js +0 -67
- package/dist/hubspot-TTITJFBO.js +0 -779
- package/dist/icon-I43F77FV.js +0 -137
- package/dist/ideas-V4Q6JDKV.js +0 -32
- package/dist/images-SP5REF6E.js +0 -90
- package/dist/improve-BCCU5AS6.js +0 -86
- package/dist/ingest-574GIFAR.js +0 -107
- package/dist/ingest-IC4T76W6.js +0 -23
- package/dist/insights-NZWSJKU4.js +0 -423
- package/dist/insights-ZIU6FJMS.js +0 -122
- package/dist/inspect-ATHYY6A2.js +0 -189
- package/dist/inspiration-P265QJ2H.js +0 -53
- package/dist/intent-E3UIVZBN.js +0 -95
- package/dist/job-L7RJZMSG.js +0 -202
- package/dist/job-create-JUDAN52O.js +0 -109
- package/dist/job-status-U43WE3RJ.js +0 -74
- package/dist/keep-55CPC7DG.js +0 -78
- package/dist/keyword-gap-BG6M665A.js +0 -130
- package/dist/keyword-metrics-J4UPUDN7.js +0 -197
- package/dist/keywords-for-site-MWADFEO2.js +0 -128
- package/dist/landing-R6DN7XLK.js +0 -28
- package/dist/languages-HORKPDNH.js +0 -40
- package/dist/languages-JSGWCC7Z.js +0 -55
- package/dist/layerize-RPD6SNP6.js +0 -190
- package/dist/leads-7EVHMNUF.js +0 -293
- package/dist/leads-JM6HUERX.js +0 -90
- package/dist/learn-LGS2F5TR.js +0 -203
- package/dist/library-ARKRLCNJ.js +0 -109
- package/dist/lighthouse-6ZC45E53.js +0 -75
- package/dist/line-item-writes-KUYEXSIH.js +0 -208
- package/dist/line-items-GIWLP3FL.js +0 -103
- package/dist/link-PVM7XJQI.js +0 -64
- package/dist/linkedin-WX54EAX6.js +0 -1008
- package/dist/list-4ZKQZBCL.js +0 -151
- package/dist/list-7MVBXOJT.js +0 -51
- package/dist/list-A5UCIR2J.js +0 -65
- package/dist/list-AL7N6X2P.js +0 -50
- package/dist/list-LI4OGQFW.js +0 -57
- package/dist/list-MCEFXC6L.js +0 -63
- package/dist/list-P7NAFN6J.js +0 -76
- package/dist/list-WR7QYTON.js +0 -303
- package/dist/locations-74TPQWAT.js +0 -67
- package/dist/locations-J4G5RNPH.js +0 -40
- package/dist/log-U6IWZGOF.js +0 -92
- package/dist/logo-2IP663QO.js +0 -18
- package/dist/lookup-XK45W2SH.js +0 -22
- package/dist/make-RXFHEGUI.js +0 -593
- package/dist/make-RXFHEGUI.js.map +0 -1
- package/dist/map-TWL7T4KP.js +0 -404
- package/dist/map-TWL7T4KP.js.map +0 -1
- package/dist/mcp-HVAVJGGS.js +0 -476
- package/dist/mcp-HVAVJGGS.js.map +0 -1
- package/dist/media-6CQYG4UY.js +0 -89
- package/dist/media-M7E6V2XU.js +0 -15
- package/dist/media-sources-JWGO23BZ.js +0 -32
- package/dist/members-5FAW4YE7.js +0 -44
- package/dist/meta-EZ4SY25M.js +0 -69
- package/dist/metrics-SQDJ5NQO.js +0 -152
- package/dist/models-7U3GRYHF.js +0 -155
- package/dist/normalize-GW4GZNVY.js +0 -138
- package/dist/normalize-GW4GZNVY.js.map +0 -1
- package/dist/normalize-ICQF2AST.js +0 -806
- package/dist/options-NSUCENLU.js +0 -121
- package/dist/options-NSUCENLU.js.map +0 -1
- package/dist/output-RAH3TSIL.js +0 -24
- package/dist/page-GS3WLT2C.js +0 -105
- package/dist/pages-FXYQLHSJ.js +0 -66
- package/dist/performance-FGCDWHMC.js +0 -24
- package/dist/pinterest-AUH7WBA7.js +0 -96
- package/dist/pixels-45A55MOP.js +0 -60
- package/dist/pixels-ZFF4BGUH.js +0 -108
- package/dist/preview-AD4GKYIA.js +0 -169
- package/dist/promoted-tweet-writes-BPWTDESL.js +0 -180
- package/dist/promoted-tweets-OS3NHYVE.js +0 -119
- package/dist/properties-L2XIYQDS.js +0 -101
- package/dist/publish-SXZEWBVJ.js +0 -322
- package/dist/query-IEZRY6HV.js +0 -1341
- package/dist/query-IEZRY6HV.js.map +0 -1
- package/dist/query-SGGBCHTF.js +0 -236
- package/dist/query-VTGVZQIO.js +0 -247
- package/dist/read-LSF7DYTG.js +0 -140
- package/dist/read-LSF7DYTG.js.map +0 -1
- package/dist/reddit-TF6K37SB.js +0 -26
- package/dist/refresh-APVDWXRZ.js +0 -94
- package/dist/release-32SEJU4L.js +0 -60
- package/dist/relevant-pages-OWMNUCP7.js +0 -99
- package/dist/remove-6LGGKMLJ.js +0 -48
- package/dist/remove-U64GTHLQ.js +0 -50
- package/dist/reopen-5VS233SF.js +0 -63
- package/dist/rerun-7Z45QOOO.js +0 -85
- package/dist/rerun-7Z45QOOO.js.map +0 -1
- package/dist/research-O7CJV5IS.js +0 -62
- package/dist/research-QYSQ6LW4.js +0 -262
- package/dist/reset-22FC7BXQ.js +0 -54
- package/dist/reset-47B5VPT4.js +0 -54
- package/dist/resolve-7KQGVTQT.js +0 -121
- package/dist/retry-J5UVLS72.js +0 -62
- package/dist/retry-UJ5UF4BM.js +0 -60
- package/dist/retry-failed-6HXPUVXJ.js +0 -45
- package/dist/run-SI4FA32F.js +0 -65
- package/dist/run-TFLFBQU2.js +0 -60
- package/dist/scaffold-ad-SEXNE2K6.js +0 -1549
- package/dist/scaffold-ad-SEXNE2K6.js.map +0 -1
- package/dist/scaffold-static-ad-VBOL6CLN.js +0 -966
- package/dist/scaffold-static-ad-VBOL6CLN.js.map +0 -1
- package/dist/scaffold-video-Z37MIBDI.js +0 -873
- package/dist/scaffold-video-Z37MIBDI.js.map +0 -1
- package/dist/schedule-52ZM4KRQ.js +0 -61
- package/dist/schedule-O2K6M43V.js +0 -66
- package/dist/scheduled-agents-PCWCQAKP.js +0 -49
- package/dist/schema-6GR77VJG.js +0 -63
- package/dist/schema-FY6ORDXZ.js +0 -129
- package/dist/schema-FY6ORDXZ.js.map +0 -1
- package/dist/scrape-ETAMW43A.js +0 -2241
- package/dist/screenshot-YCQF25ZB.js +0 -102
- package/dist/search-742XSULP.js +0 -224
- package/dist/search-MEEM4D3W.js +0 -92
- package/dist/search-NS7XNRZC.js +0 -174
- package/dist/search-OQNGSMUH.js +0 -91
- package/dist/search-UO5KJTYS.js +0 -26
- package/dist/seeds-N6FF5S4T.js +0 -101
- package/dist/seeds-N6FF5S4T.js.map +0 -1
- package/dist/select-4XCYVV2G.js +0 -94
- package/dist/sends-WGJVQUMF.js +0 -309
- package/dist/sequences-OIPVR7JL.js +0 -146
- package/dist/set-prompt-TRJBYA3D.js +0 -186
- package/dist/set-prompt-TRJBYA3D.js.map +0 -1
- package/dist/setup-links-V3URI7DL.js +0 -141
- package/dist/shared-HJDFNID4.js +0 -31
- package/dist/site-WIQ7SSU3.js +0 -177
- package/dist/sitemaps-POPZJTAX.js +0 -87
- package/dist/sites-262H6LM4.js +0 -101
- package/dist/skills-6TQZLIMP.js +0 -47
- package/dist/sources-DWJXOLEH.js +0 -421
- package/dist/sources-DWJXOLEH.js.map +0 -1
- package/dist/sources-L453U5MT.js +0 -30
- package/dist/stale-6OVG6VME.js +0 -63
- package/dist/stats-NNXZMPZR.js +0 -34
- package/dist/status-WXWU54WR.js +0 -62
- package/dist/sticker-4KMBSMP5.js +0 -94
- package/dist/stock-2YCDN3N6.js +0 -179
- package/dist/studio-C5K3YX3P.js +0 -49
- package/dist/sync-CDZUTGV3.js +0 -54
- package/dist/sync-CF7FVUQJ.js +0 -54
- package/dist/sync-ZSNUBYPM.js +0 -265
- package/dist/sync-definition-BAJQUBE3.js +0 -53
- package/dist/tag-manager-DYZUOIAS.js +0 -43
- package/dist/tags-6RY23XOG.js +0 -20
- package/dist/tags-BHFQWNPL.js +0 -224
- package/dist/tags-SG3NVC3J.js +0 -26
- package/dist/tags-VN5HTL35.js +0 -20
- package/dist/tags-WR6PDIDR.js +0 -20
- package/dist/targeting-constants-XJ2VOW7K.js +0 -118
- package/dist/targeting-criteria-5EXP2NXF.js +0 -113
- package/dist/targets-WUVEJPSD.js +0 -102
- package/dist/templates-LOJQX2NG.js +0 -178
- package/dist/testimonials-6M5DXORT.js +0 -32
- package/dist/top-companies-E2OMMPSV.js +0 -108
- package/dist/translate-AW4CUKDA.js +0 -598
- package/dist/triggers-MRXIDCSN.js +0 -141
- package/dist/tweets-ATP3FQAC.js +0 -123
- package/dist/unfollow-CBVPGPF7.js +0 -46
- package/dist/unlink-HNL747YM.js +0 -67
- package/dist/unstage-4ZEULXEQ.js +0 -95
- package/dist/unstage-OL2JDCLK.js +0 -84
- package/dist/update-4KGIT4BF.js +0 -142
- package/dist/update-JPBUF7M2.js +0 -98
- package/dist/update-RTTC3SAK.js +0 -155
- package/dist/update-YNNRX5B2.js +0 -63
- package/dist/upload-L5SYZB3X.js +0 -150
- package/dist/upload-UIXPCSXJ.js +0 -126
- package/dist/upscale-YWRLFU22.js +0 -109
- package/dist/url-options-GGXAL3J4.js +0 -127
- package/dist/url-options-GGXAL3J4.js.map +0 -1
- package/dist/url-params-K47CE7Y5.js +0 -98
- package/dist/use-UT2DIZOG.js +0 -95
- package/dist/validate-TD2BY4VE.js +0 -89
- package/dist/validate-TD2BY4VE.js.map +0 -1
- package/dist/variant-FLZJYGYL.js +0 -338
- package/dist/videos-BP3BKNTY.js +0 -39
- package/dist/view-NPAG66QK.js +0 -121
- package/dist/viewer-check-HFRUJ4ZU.js +0 -69
- package/dist/web-RPSGFN4U.js +0 -140
- package/dist/winners-I5BMATJZ.js +0 -79
- package/dist/winners-I5BMATJZ.js.map +0 -1
- package/dist/winning-ads-WUENRDVJ.js +0 -62
- package/dist/winning-ads-WUENRDVJ.js.map +0 -1
- package/dist/write-commands-4WARNR2T.js +0 -1015
- package/dist/write-commands-ERKVRHTC.js +0 -206
- package/dist/write-commands-TAYGTJEZ.js +0 -737
- package/dist/write-commands-WTRSOSO3.js +0 -713
- package/dist/x-VZCELH3P.js +0 -47
- /package/dist/{account-2ZMZFPIU.js.map → account-JG7QD522.js.map} +0 -0
- /package/dist/{account-F6MHQ64I.js.map → account-V6PB6PA5.js.map} +0 -0
- /package/dist/{account-IEVEOFIK.js.map → account-VLPX7EZT.js.map} +0 -0
- /package/dist/{account-writes-ISE4U2FQ.js.map → account-writes-BGREY7ZL.js.map} +0 -0
- /package/dist/{accounts-KYJO3JC6.js.map → accounts-2FINK5GZ.js.map} +0 -0
- /package/dist/{accounts-4CDRK4S4.js.map → accounts-2UV5Z3Y6.js.map} +0 -0
- /package/dist/{accounts-VINHZRWA.js.map → accounts-3EX2PFJB.js.map} +0 -0
- /package/dist/{accounts-5QDKBZMH.js.map → accounts-G2QT3ZVP.js.map} +0 -0
- /package/dist/{accounts-RHGN5WMU.js.map → accounts-N63J5YTK.js.map} +0 -0
- /package/dist/{actions-5F4ZP6M4.js.map → actions-PA2BPIYO.js.map} +0 -0
- /package/dist/{active-entities-YUSOUR5M.js.map → active-entities-RDXDSMA2.js.map} +0 -0
- /package/dist/{activities-ZVQOBHZH.js.map → activities-RBTU2Q24.js.map} +0 -0
- /package/dist/{ad-group-writes-UU5NNKSO.js.map → ad-group-writes-5NTRJTVE.js.map} +0 -0
- /package/dist/{ad-groups-CGFXZNIA.js.map → ad-groups-4OTAKWUC.js.map} +0 -0
- /package/dist/{ad-writes-NALDYWOR.js.map → ad-writes-T7W3DDKK.js.map} +0 -0
- /package/dist/{add-CUWAW7KG.js.map → add-4VKA4NDH.js.map} +0 -0
- /package/dist/{add-577QWMCF.js.map → add-MQO33HL3.js.map} +0 -0
- /package/dist/{add-KBPMSK2P.js.map → add-QM7ANAVG.js.map} +0 -0
- /package/dist/{ads-H7GH7A26.js.map → ads-IJCFN2N3.js.map} +0 -0
- /package/dist/{ads-56OWZBXZ.js.map → ads-QKMLAPZC.js.map} +0 -0
- /package/dist/{ads-PV7GZXPR.js.map → ads-XYAWONXR.js.map} +0 -0
- /package/dist/{adsets-H7QT42U6.js.map → adsets-DPTIKGTG.js.map} +0 -0
- /package/dist/{advertisers-PM4WPG4N.js.map → advertisers-SZFDOPBQ.js.map} +0 -0
- /package/dist/{analytics-5FALU2GL.js.map → analytics-HFBYIPZ7.js.map} +0 -0
- /package/dist/{animate-FWWHSYPL.js.map → animate-LUKNHCF4.js.map} +0 -0
- /package/dist/{assign-KLYZ6USE.js.map → assign-QCICUD72.js.map} +0 -0
- /package/dist/{audience-size-JHB42DB4.js.map → audience-size-HML4BLHJ.js.map} +0 -0
- /package/dist/{audiences-VEKGLWBG.js.map → audiences-BSABKS5K.js.map} +0 -0
- /package/dist/{audiences-JACGRBNN.js.map → audiences-FWOOSUSJ.js.map} +0 -0
- /package/dist/{audiences-HFRVIE2X.js.map → audiences-VK4M7GLQ.js.map} +0 -0
- /package/dist/{audit-5XH7WZIM.js.map → audit-DUM55J5U.js.map} +0 -0
- /package/dist/{audit-AD4ZZNJN.js.map → audit-JR5R75XK.js.map} +0 -0
- /package/dist/{autocomplete-7F3PZLEY.js.map → autocomplete-VX4PMMLR.js.map} +0 -0
- /package/dist/{avatars-N4SRNQI7.js.map → avatars-5KCRSUJ3.js.map} +0 -0
- /package/dist/{bid-pricing-VYLVGU26.js.map → bid-pricing-AIUACXUH.js.map} +0 -0
- /package/dist/{brand-ASBS2HZM.js.map → brand-UBTC2WXR.js.map} +0 -0
- /package/dist/{businesses-JBDQZZIG.js.map → businesses-P3RX4UXS.js.map} +0 -0
- /package/dist/{campaign-groups-ATE2DE4V.js.map → campaign-groups-SJZEDIBL.js.map} +0 -0
- /package/dist/{campaign-writes-SX52CJYW.js.map → campaign-writes-5BPVXG4C.js.map} +0 -0
- /package/dist/{campaign-writes-ETT57KLQ.js.map → campaign-writes-VE6QLIDA.js.map} +0 -0
- /package/dist/{campaigns-J6VZBIV6.js.map → campaigns-JEWEDCTC.js.map} +0 -0
- /package/dist/{campaigns-WBEG5QA4.js.map → campaigns-MEIMSHJF.js.map} +0 -0
- /package/dist/{campaigns-FGBAS6AZ.js.map → campaigns-NCGJNJKS.js.map} +0 -0
- /package/dist/{campaigns-X3DPCCSN.js.map → campaigns-XY7QWHDN.js.map} +0 -0
- /package/dist/{capabilities-RDAERPYY.js.map → capabilities-W6SPXOPF.js.map} +0 -0
- /package/dist/{cards-4477BFEV.js.map → cards-CLD4WX6G.js.map} +0 -0
- /package/dist/{catalogs-G3YEVG6S.js.map → catalogs-DINPKQXY.js.map} +0 -0
- /package/dist/{changes-TP7ZZHB3.js.map → changes-N2YZXAPF.js.map} +0 -0
- /package/dist/{chatgpt-QNUN63YS.js.map → chatgpt-TPAP6BVY.js.map} +0 -0
- /package/dist/{chats-YIAQGQ3X.js.map → chats-FKVVBXVF.js.map} +0 -0
- /package/dist/{chunk-YBP7O5P4.js.map → chunk-24IQ6K7K.js.map} +0 -0
- /package/dist/{chunk-YC2TQ3VC.js.map → chunk-2FZG5DD2.js.map} +0 -0
- /package/dist/{chunk-7SDFKGQ4.js.map → chunk-2T3EH2MU.js.map} +0 -0
- /package/dist/{chunk-FXED3VZK.js.map → chunk-2Y5UE2CV.js.map} +0 -0
- /package/dist/{chunk-VB6WJJR3.js.map → chunk-3KPQDXIU.js.map} +0 -0
- /package/dist/{chunk-6G5K6ZC6.js.map → chunk-4AFGT3L3.js.map} +0 -0
- /package/dist/{chunk-MZL4H5PY.js.map → chunk-4JKBMKFC.js.map} +0 -0
- /package/dist/{chunk-RX6F3GEA.js.map → chunk-4KBWL7S4.js.map} +0 -0
- /package/dist/{chunk-KLNKEVIY.js.map → chunk-4R3QKEDV.js.map} +0 -0
- /package/dist/{chunk-VFIOJD5M.js.map → chunk-6SL6463H.js.map} +0 -0
- /package/dist/{chunk-HZ5DR5MX.js.map → chunk-7TRSFEHZ.js.map} +0 -0
- /package/dist/{chunk-4NDCTLI5.js.map → chunk-APNV7FMK.js.map} +0 -0
- /package/dist/{chunk-PBA3YCZA.js.map → chunk-BCSOWRQL.js.map} +0 -0
- /package/dist/{chunk-VVZBBKRC.js.map → chunk-BJEW3LST.js.map} +0 -0
- /package/dist/{chunk-LS5MTRFI.js.map → chunk-BYKUAX26.js.map} +0 -0
- /package/dist/{chunk-MADAAZZV.js.map → chunk-C7NPNSFO.js.map} +0 -0
- /package/dist/{chunk-EFSYTROP.js.map → chunk-CVIMIOPO.js.map} +0 -0
- /package/dist/{chunk-WS2GMOSG.js.map → chunk-DAKIMGUS.js.map} +0 -0
- /package/dist/{chunk-PWGWMIIJ.js.map → chunk-DCRUGS3G.js.map} +0 -0
- /package/dist/{chunk-C6U6UDHJ.js.map → chunk-DMA77LLI.js.map} +0 -0
- /package/dist/{chunk-JERXV5A3.js.map → chunk-EESOZY5S.js.map} +0 -0
- /package/dist/{chunk-6DB2B3GF.js.map → chunk-EIZMOICE.js.map} +0 -0
- /package/dist/{chunk-HIPDMQZ6.js.map → chunk-F3IVR3V3.js.map} +0 -0
- /package/dist/{chunk-LZ73CZGP.js.map → chunk-FSX6CQ2Z.js.map} +0 -0
- /package/dist/{chunk-STIB5DR5.js.map → chunk-G7LAQE56.js.map} +0 -0
- /package/dist/{chunk-MLU6STIN.js.map → chunk-G7QKXFQ2.js.map} +0 -0
- /package/dist/{chunk-VDHQJ6HD.js.map → chunk-G7XY4T6K.js.map} +0 -0
- /package/dist/{chunk-VAISMQQB.js.map → chunk-HCDCWXSU.js.map} +0 -0
- /package/dist/{chunk-G7UTTEBS.js.map → chunk-I4IVUAQN.js.map} +0 -0
- /package/dist/{chunk-2TK4DEOE.js.map → chunk-IWNZCYWI.js.map} +0 -0
- /package/dist/{chunk-K3PN7TN5.js.map → chunk-JF5LNI6O.js.map} +0 -0
- /package/dist/{chunk-ALTBBAYU.js.map → chunk-JJZBZYNK.js.map} +0 -0
- /package/dist/{chunk-WNFIJAUO.js.map → chunk-JZP5IODJ.js.map} +0 -0
- /package/dist/{chunk-EH4C4CZK.js.map → chunk-KWMYTVHI.js.map} +0 -0
- /package/dist/{chunk-VAJBWA2U.js.map → chunk-LFGCOAB4.js.map} +0 -0
- /package/dist/{chunk-6B7VKFS4.js.map → chunk-LPRUP3ZX.js.map} +0 -0
- /package/dist/{chunk-KNY76UGC.js.map → chunk-MD3VH5UG.js.map} +0 -0
- /package/dist/{chunk-ACANMASG.js.map → chunk-MFORE6F4.js.map} +0 -0
- /package/dist/{chunk-AWMFUGVX.js.map → chunk-MMBHCAON.js.map} +0 -0
- /package/dist/{chunk-XL3BMSYG.js.map → chunk-NIGGMK7L.js.map} +0 -0
- /package/dist/{chunk-ANCSKUWI.js.map → chunk-NN7A2ILR.js.map} +0 -0
- /package/dist/{chunk-UC6BWM5J.js.map → chunk-OUQMJRH6.js.map} +0 -0
- /package/dist/{chunk-T3BDNJIX.js.map → chunk-OXKUWTFL.js.map} +0 -0
- /package/dist/{chunk-HQSCJYZO.js.map → chunk-P5T7OZKV.js.map} +0 -0
- /package/dist/{chunk-RPUSTYHL.js.map → chunk-PAJJXZ3Z.js.map} +0 -0
- /package/dist/{chunk-QSN5MZGS.js.map → chunk-PC56KVAD.js.map} +0 -0
- /package/dist/{chunk-3CWL2LY4.js.map → chunk-PEWNEPDR.js.map} +0 -0
- /package/dist/{chunk-W3ZHJJVT.js.map → chunk-Q2T4XZG4.js.map} +0 -0
- /package/dist/{chunk-35XWJEWH.js.map → chunk-RCR6RVYE.js.map} +0 -0
- /package/dist/{chunk-VMDAXFRI.js.map → chunk-RH2H5PBV.js.map} +0 -0
- /package/dist/{chunk-PDTB5EX6.js.map → chunk-S3XM4LD3.js.map} +0 -0
- /package/dist/{chunk-75FDTDLH.js.map → chunk-SFHL3KWY.js.map} +0 -0
- /package/dist/{chunk-LIQ4SQ2T.js.map → chunk-SQ7DRYCC.js.map} +0 -0
- /package/dist/{chunk-YBMVHGY3.js.map → chunk-SSVZM3P6.js.map} +0 -0
- /package/dist/{chunk-XMD4SHFI.js.map → chunk-TMNLIA7R.js.map} +0 -0
- /package/dist/{chunk-ZPU3WDVK.js.map → chunk-UF55TADX.js.map} +0 -0
- /package/dist/{chunk-TD2P4HBP.js.map → chunk-UGI33KTO.js.map} +0 -0
- /package/dist/{chunk-BA7FDXQC.js.map → chunk-UK2OTLT3.js.map} +0 -0
- /package/dist/{chunk-DR34ZTWD.js.map → chunk-UU3FGKUW.js.map} +0 -0
- /package/dist/{chunk-5Z2KSVIV.js.map → chunk-UX7HIGS7.js.map} +0 -0
- /package/dist/{chunk-KQTYTCKQ.js.map → chunk-VDZIGI2C.js.map} +0 -0
- /package/dist/{chunk-U6SYRIOB.js.map → chunk-VKVIBQP3.js.map} +0 -0
- /package/dist/{chunk-65RIB7A6.js.map → chunk-VLF2M4GZ.js.map} +0 -0
- /package/dist/{chunk-7OFNN4CT.js.map → chunk-VTF7XNOP.js.map} +0 -0
- /package/dist/{chunk-2GK33EJV.js.map → chunk-WDA3L4NF.js.map} +0 -0
- /package/dist/{chunk-H26L3OQY.js.map → chunk-XDV6Q33B.js.map} +0 -0
- /package/dist/{chunk-U3HAMW5W.js.map → chunk-XYC26BDM.js.map} +0 -0
- /package/dist/{chunk-F2S5BLPE.js.map → chunk-YTWNY3RF.js.map} +0 -0
- /package/dist/{claim-V4F5GZJK.js.map → claim-JLVISHS4.js.map} +0 -0
- /package/dist/{client-VHN32ZRE.js.map → client-G6DGRGKT.js.map} +0 -0
- /package/dist/{code-YS6ZMGX3.js.map → code-AYN42EK7.js.map} +0 -0
- /package/dist/{companies-NJGJ7XNN.js.map → companies-XDMOP2GL.js.map} +0 -0
- /package/dist/{complete-MGNF5OAK.js.map → complete-XM7VLC4F.js.map} +0 -0
- /package/dist/{config-CQN5FHMZ.js.map → config-UE7GCROG.js.map} +0 -0
- /package/dist/{connect-PJOTRTT4.js.map → connect-VTDKGYP3.js.map} +0 -0
- /package/dist/{conversation-4DM26FRD.js.map → conversation-F53OE25Y.js.map} +0 -0
- /package/dist/{conversion-report-N4HANYOB.js.map → conversion-report-35MLL3FA.js.map} +0 -0
- /package/dist/{conversion-upload-command-TZTHU2CD.js.map → conversion-upload-command-CV2TA7OV.js.map} +0 -0
- /package/dist/{conversion-writes-LW4HQKK5.js.map → conversion-writes-NSZPNMPE.js.map} +0 -0
- /package/dist/{conversions-JGECVZSY.js.map → conversions-7YO6DDL3.js.map} +0 -0
- /package/dist/{conversions-TS723AZV.js.map → conversions-XNISCCC2.js.map} +0 -0
- /package/dist/{countries-ESAKTQAE.js.map → countries-NMWPKFFW.js.map} +0 -0
- /package/dist/{create-I2KVDTCQ.js.map → create-ARERZYCL.js.map} +0 -0
- /package/dist/{create-DSGQFBI7.js.map → create-C6ZVYIF5.js.map} +0 -0
- /package/dist/{create-WOHPIGBK.js.map → create-FAPJFCZE.js.map} +0 -0
- /package/dist/{create-SBQWVLXG.js.map → create-M7TUO3XS.js.map} +0 -0
- /package/dist/{creatives-4JGVZQGC.js.map → creatives-3YIV6IOK.js.map} +0 -0
- /package/dist/{creatives-DWO5KEQC.js.map → creatives-QZCO6WGH.js.map} +0 -0
- /package/dist/{creatives-PSWCNY7U.js.map → creatives-WJLJ3NKP.js.map} +0 -0
- /package/dist/{critique-TIZJ5GFM.js.map → critique-56MNXW7R.js.map} +0 -0
- /package/dist/{critique-NGMZK5LX.js.map → critique-KRIKEHF6.js.map} +0 -0
- /package/dist/{crm-2WAR565U.js.map → crm-OETFQNR3.js.map} +0 -0
- /package/dist/{crm-VDXUO2YU.js.map → crm-WXCFB4TU.js.map} +0 -0
- /package/dist/{crop-2J4RKJ6B.js.map → crop-VCP2JLQL.js.map} +0 -0
- /package/dist/{currency-XCGKQ7FE.js.map → currency-MNNDKY4Z.js.map} +0 -0
- /package/dist/{custom-conversions-6P555U2K.js.map → custom-conversions-CIU525HM.js.map} +0 -0
- /package/dist/{customers-ATENMXDO.js.map → customers-GTPEABJI.js.map} +0 -0
- /package/dist/{delete-3AV3ARMX.js.map → delete-5CURRI25.js.map} +0 -0
- /package/dist/{delete-H744GNS4.js.map → delete-CLC2Q2OE.js.map} +0 -0
- /package/dist/{delete-AVMZYNVT.js.map → delete-CQ6Q3URI.js.map} +0 -0
- /package/dist/{delete-A5XD52K4.js.map → delete-JIRZBBDD.js.map} +0 -0
- /package/dist/{delete-OEYPFATY.js.map → delete-LD3F4UIW.js.map} +0 -0
- /package/dist/{delete-MRM2S4Z5.js.map → delete-LGZ5OI4C.js.map} +0 -0
- /package/dist/{demographics-M5LJF3RZ.js.map → demographics-EK2ZPHWK.js.map} +0 -0
- /package/dist/{describe-6NVOWIBE.js.map → describe-BNB6643C.js.map} +0 -0
- /package/dist/{describe-P3PPIQME.js.map → describe-ZXGFTCDR.js.map} +0 -0
- /package/dist/{dimensions-EYAYO27I.js.map → dimensions-IU4ETG4U.js.map} +0 -0
- /package/dist/{discard-72I6SM7G.js.map → discard-VWCXYJWU.js.map} +0 -0
- /package/dist/{discover-BJPZNXUQ.js.map → discover-4EQWGIAN.js.map} +0 -0
- /package/dist/{domain-R4EIZD2W.js.map → domain-I2SAGVAB.js.map} +0 -0
- /package/dist/{download-7T6HIJKD.js.map → download-D7TB4744.js.map} +0 -0
- /package/dist/{draft-YDY2Q2K6.js.map → draft-4VOOSJQJ.js.map} +0 -0
- /package/dist/{draft-BBFJNZ5X.js.map → draft-6KG2YFOY.js.map} +0 -0
- /package/dist/{draft-YYYRWF7M.js.map → draft-APDGACIC.js.map} +0 -0
- /package/dist/{draft-BGUJDHXR.js.map → draft-D76C4JR3.js.map} +0 -0
- /package/dist/{draft-THPZFASM.js.map → draft-HFH2Y6F5.js.map} +0 -0
- /package/dist/{draft-34C3F5U4.js.map → draft-NVVWWQVC.js.map} +0 -0
- /package/dist/{draft-KIBMVKSR.js.map → draft-NWLPLTWM.js.map} +0 -0
- /package/dist/{env-KIP2J2UB.js.map → env-LHLGM2YJ.js.map} +0 -0
- /package/dist/{export-JQRMBJ7D.js.map → export-VGCFD7GL.js.map} +0 -0
- /package/dist/{extract-7QKLME7Z.js.map → extract-32J7V2RX.js.map} +0 -0
- /package/dist/{facets-F2H52MS4.js.map → facets-WVI6VBDC.js.map} +0 -0
- /package/dist/{favorites-NSGF4OV5.js.map → favorites-WKV5H5OF.js.map} +0 -0
- /package/dist/{feedback-IQKKT4MC.js.map → feedback-NMNKYEMU.js.map} +0 -0
- /package/dist/{feedback-record-UZV4Y7UD.js.map → feedback-record-2VYBMWMO.js.map} +0 -0
- /package/dist/{fetch-ZUAZPLAE.js.map → fetch-CENBDLT6.js.map} +0 -0
- /package/dist/{fetch-XF76JABV.js.map → fetch-XQFPE3MI.js.map} +0 -0
- /package/dist/{find-OTDIX6V4.js.map → find-PNDKEOXT.js.map} +0 -0
- /package/dist/{fit-2CA4JH7N.js.map → fit-SEWGCEW5.js.map} +0 -0
- /package/dist/{fonts-F2XUCIIW.js.map → fonts-KUCQAR7N.js.map} +0 -0
- /package/dist/{forecast-IDKJYM2B.js.map → forecast-PI52G2GL.js.map} +0 -0
- /package/dist/{funding-NYO65IMT.js.map → funding-ZRC25X5I.js.map} +0 -0
- /package/dist/{ga4-UDQ2HA2J.js.map → ga4-YDKXVJOC.js.map} +0 -0
- /package/dist/{generate-MMBYB44G.js.map → generate-BVMMX3SS.js.map} +0 -0
- /package/dist/{get-3L6W3E3T.js.map → get-7MSF4RVQ.js.map} +0 -0
- /package/dist/{get-XN5ZGDIK.js.map → get-KFVPIDIA.js.map} +0 -0
- /package/dist/{get-6WEYKOY6.js.map → get-NHQ2XYKZ.js.map} +0 -0
- /package/dist/{get-YIHTAMRT.js.map → get-UMMTY74K.js.map} +0 -0
- /package/dist/{get-P743RPSI.js.map → get-YM77HCL5.js.map} +0 -0
- /package/dist/{gif-53ULFVLR.js.map → gif-X323HXS2.js.map} +0 -0
- /package/dist/{google-KTO3PLEU.js.map → google-76A4MHQH.js.map} +0 -0
- /package/dist/{google-ads-Q37I2D5P.js.map → google-ads-S6O4MLKA.js.map} +0 -0
- /package/dist/{group-GKWCCX66.js.map → group-CTIZVYX2.js.map} +0 -0
- /package/dist/{group-EFZ3AJIE.js.map → group-HKWQ75CJ.js.map} +0 -0
- /package/dist/{gsc-P3QYGDV2.js.map → gsc-CORRYJBJ.js.map} +0 -0
- /package/dist/{history-4II5QA4B.js.map → history-4U7FJGEM.js.map} +0 -0
- /package/dist/{history-DBIEYQHY.js.map → history-BXOMJ5PL.js.map} +0 -0
- /package/dist/{hubspot-TTITJFBO.js.map → hubspot-I5MFAZ4G.js.map} +0 -0
- /package/dist/{icon-I43F77FV.js.map → icon-6QW63AHG.js.map} +0 -0
- /package/dist/{ideas-V4Q6JDKV.js.map → ideas-QDS5XA4S.js.map} +0 -0
- /package/dist/{images-SP5REF6E.js.map → images-NVTA2OHD.js.map} +0 -0
- /package/dist/{improve-BCCU5AS6.js.map → improve-WR23CHYH.js.map} +0 -0
- /package/dist/{ingest-574GIFAR.js.map → ingest-QAVJ2J7F.js.map} +0 -0
- /package/dist/{ingest-IC4T76W6.js.map → ingest-XJHV3GG6.js.map} +0 -0
- /package/dist/{insights-ZIU6FJMS.js.map → insights-AW7SOGHI.js.map} +0 -0
- /package/dist/{insights-NZWSJKU4.js.map → insights-IJEPLWQH.js.map} +0 -0
- /package/dist/{inspect-ATHYY6A2.js.map → inspect-7I53PWCF.js.map} +0 -0
- /package/dist/{inspiration-P265QJ2H.js.map → inspiration-TJJFUVY2.js.map} +0 -0
- /package/dist/{intent-E3UIVZBN.js.map → intent-VEUQS34Z.js.map} +0 -0
- /package/dist/{job-L7RJZMSG.js.map → job-K7LAIBYN.js.map} +0 -0
- /package/dist/{job-create-JUDAN52O.js.map → job-create-DFZL4CGA.js.map} +0 -0
- /package/dist/{job-status-U43WE3RJ.js.map → job-status-6Q2TVTEO.js.map} +0 -0
- /package/dist/{keep-55CPC7DG.js.map → keep-XJFCLVCP.js.map} +0 -0
- /package/dist/{keyword-gap-BG6M665A.js.map → keyword-gap-CUOGKUMM.js.map} +0 -0
- /package/dist/{keyword-metrics-J4UPUDN7.js.map → keyword-metrics-LK7FME4N.js.map} +0 -0
- /package/dist/{keywords-for-site-MWADFEO2.js.map → keywords-for-site-4E7UU44P.js.map} +0 -0
- /package/dist/{landing-R6DN7XLK.js.map → landing-I65PFN7H.js.map} +0 -0
- /package/dist/{languages-HORKPDNH.js.map → languages-KPPKX3E2.js.map} +0 -0
- /package/dist/{languages-JSGWCC7Z.js.map → languages-MGEBLO64.js.map} +0 -0
- /package/dist/{logo-2IP663QO.js.map → launches-E3Y6NCQE.js.map} +0 -0
- /package/dist/{layerize-RPD6SNP6.js.map → layerize-N4IQ2KE7.js.map} +0 -0
- /package/dist/{leads-7EVHMNUF.js.map → leads-PPMOBH7U.js.map} +0 -0
- /package/dist/{leads-JM6HUERX.js.map → leads-TNEQUOUN.js.map} +0 -0
- /package/dist/{learn-LGS2F5TR.js.map → learn-QQS323PS.js.map} +0 -0
- /package/dist/{library-ARKRLCNJ.js.map → library-4QQAVB6X.js.map} +0 -0
- /package/dist/{lighthouse-6ZC45E53.js.map → lighthouse-CD47CPJM.js.map} +0 -0
- /package/dist/{line-item-writes-KUYEXSIH.js.map → line-item-writes-QJZQUQ4E.js.map} +0 -0
- /package/dist/{line-items-GIWLP3FL.js.map → line-items-ESEAXGBV.js.map} +0 -0
- /package/dist/{link-PVM7XJQI.js.map → link-DPJYS4WY.js.map} +0 -0
- /package/dist/{linkedin-WX54EAX6.js.map → linkedin-EJPNC4VY.js.map} +0 -0
- /package/dist/{list-P7NAFN6J.js.map → list-A45NTPSJ.js.map} +0 -0
- /package/dist/{list-7MVBXOJT.js.map → list-GNP4GIV2.js.map} +0 -0
- /package/dist/{list-LI4OGQFW.js.map → list-KQFLOVC4.js.map} +0 -0
- /package/dist/{list-AL7N6X2P.js.map → list-MDHK3ENJ.js.map} +0 -0
- /package/dist/{list-A5UCIR2J.js.map → list-PRUFXMXW.js.map} +0 -0
- /package/dist/{list-WR7QYTON.js.map → list-S3BAQCTL.js.map} +0 -0
- /package/dist/{list-4ZKQZBCL.js.map → list-UU5NPLJ7.js.map} +0 -0
- /package/dist/{list-MCEFXC6L.js.map → list-V525A4Z4.js.map} +0 -0
- /package/dist/{locations-74TPQWAT.js.map → locations-J2PVPDZU.js.map} +0 -0
- /package/dist/{locations-J4G5RNPH.js.map → locations-TFOYESTF.js.map} +0 -0
- /package/dist/{log-U6IWZGOF.js.map → log-XQBEJOOW.js.map} +0 -0
- /package/dist/{lookup-XK45W2SH.js.map → logo-KQD5KUAH.js.map} +0 -0
- /package/dist/{output-RAH3TSIL.js.map → lookup-QCREWUV4.js.map} +0 -0
- /package/dist/{media-M7E6V2XU.js.map → media-2WENMOAA.js.map} +0 -0
- /package/dist/{media-6CQYG4UY.js.map → media-N4C6Q4IV.js.map} +0 -0
- /package/dist/{media-sources-JWGO23BZ.js.map → media-sources-BPOTW6IB.js.map} +0 -0
- /package/dist/{members-5FAW4YE7.js.map → members-BOYZKLNK.js.map} +0 -0
- /package/dist/{meta-EZ4SY25M.js.map → meta-PXYHWOOG.js.map} +0 -0
- /package/dist/{metrics-SQDJ5NQO.js.map → metrics-FZANUN7E.js.map} +0 -0
- /package/dist/{models-7U3GRYHF.js.map → models-W6EN3WB7.js.map} +0 -0
- /package/dist/{normalize-ICQF2AST.js.map → normalize-LOMDPNFJ.js.map} +0 -0
- /package/dist/{performance-FGCDWHMC.js.map → output-SR4DN3A4.js.map} +0 -0
- /package/dist/{page-GS3WLT2C.js.map → page-FS76L5WU.js.map} +0 -0
- /package/dist/{pages-FXYQLHSJ.js.map → pages-INMNJSX2.js.map} +0 -0
- /package/dist/{reddit-TF6K37SB.js.map → performance-53D43XVZ.js.map} +0 -0
- /package/dist/{pinterest-AUH7WBA7.js.map → pinterest-JMHFPNVW.js.map} +0 -0
- /package/dist/{pixels-45A55MOP.js.map → pixels-K6ZD7SXV.js.map} +0 -0
- /package/dist/{pixels-ZFF4BGUH.js.map → pixels-XPBBJYE3.js.map} +0 -0
- /package/dist/{preview-AD4GKYIA.js.map → preview-KXSNG3BS.js.map} +0 -0
- /package/dist/{promoted-tweet-writes-BPWTDESL.js.map → promoted-tweet-writes-I6HVQRDB.js.map} +0 -0
- /package/dist/{promoted-tweets-OS3NHYVE.js.map → promoted-tweets-YAQ5ZUXI.js.map} +0 -0
- /package/dist/{properties-L2XIYQDS.js.map → properties-NYNEONHI.js.map} +0 -0
- /package/dist/{publish-SXZEWBVJ.js.map → publish-Z5DVKZSG.js.map} +0 -0
- /package/dist/{run-TFLFBQU2.js.map → query-MSZPOHFL.js.map} +0 -0
- /package/dist/{query-SGGBCHTF.js.map → query-RK2TFMBI.js.map} +0 -0
- /package/dist/{query-VTGVZQIO.js.map → query-TWNH6GV7.js.map} +0 -0
- /package/dist/{search-UO5KJTYS.js.map → reddit-6DQTBTO6.js.map} +0 -0
- /package/dist/{refresh-APVDWXRZ.js.map → refresh-TP2TOGS6.js.map} +0 -0
- /package/dist/{release-32SEJU4L.js.map → release-PHQEZ2ZX.js.map} +0 -0
- /package/dist/{relevant-pages-OWMNUCP7.js.map → relevant-pages-ORVFFVAM.js.map} +0 -0
- /package/dist/{remove-6LGGKMLJ.js.map → remove-ETLMMDEA.js.map} +0 -0
- /package/dist/{remove-U64GTHLQ.js.map → remove-KTBM5YSH.js.map} +0 -0
- /package/dist/{reopen-5VS233SF.js.map → reopen-OURQR6U7.js.map} +0 -0
- /package/dist/{research-O7CJV5IS.js.map → research-P23YBKS3.js.map} +0 -0
- /package/dist/{research-QYSQ6LW4.js.map → research-WCNWT5Y5.js.map} +0 -0
- /package/dist/{reset-47B5VPT4.js.map → reset-2NCAWWN4.js.map} +0 -0
- /package/dist/{reset-22FC7BXQ.js.map → reset-65R2CUB5.js.map} +0 -0
- /package/dist/{resolve-7KQGVTQT.js.map → resolve-65FKZ23N.js.map} +0 -0
- /package/dist/{retry-UJ5UF4BM.js.map → retry-P5K6LE6K.js.map} +0 -0
- /package/dist/{retry-J5UVLS72.js.map → retry-UIPDQJ5F.js.map} +0 -0
- /package/dist/{retry-failed-6HXPUVXJ.js.map → retry-failed-QMWQ6TRL.js.map} +0 -0
- /package/dist/{shared-HJDFNID4.js.map → run-NDMEYUOI.js.map} +0 -0
- /package/dist/{run-SI4FA32F.js.map → run-OP3T4TCF.js.map} +0 -0
- /package/dist/{schedule-52ZM4KRQ.js.map → schedule-6D667AXB.js.map} +0 -0
- /package/dist/{schedule-O2K6M43V.js.map → schedule-KXLQVCZW.js.map} +0 -0
- /package/dist/{scheduled-agents-PCWCQAKP.js.map → scheduled-agents-LYWEX4PU.js.map} +0 -0
- /package/dist/{schema-6GR77VJG.js.map → schema-CCFLFAOY.js.map} +0 -0
- /package/dist/{scrape-ETAMW43A.js.map → scrape-DBZQFIW7.js.map} +0 -0
- /package/dist/{screenshot-YCQF25ZB.js.map → screenshot-MPFANYIH.js.map} +0 -0
- /package/dist/{search-OQNGSMUH.js.map → search-4AANIUUL.js.map} +0 -0
- /package/dist/{search-742XSULP.js.map → search-EMJABZYF.js.map} +0 -0
- /package/dist/{search-NS7XNRZC.js.map → search-HQDN7DOF.js.map} +0 -0
- /package/dist/{sync-definition-BAJQUBE3.js.map → search-OVHC4CRQ.js.map} +0 -0
- /package/dist/{search-MEEM4D3W.js.map → search-YSGZRANA.js.map} +0 -0
- /package/dist/{select-4XCYVV2G.js.map → select-C6BKHB4B.js.map} +0 -0
- /package/dist/{sends-WGJVQUMF.js.map → sends-HXN5HSF6.js.map} +0 -0
- /package/dist/{sequences-OIPVR7JL.js.map → sequences-FRK76ZQV.js.map} +0 -0
- /package/dist/{setup-links-V3URI7DL.js.map → setup-links-BM2GLSSO.js.map} +0 -0
- /package/dist/{viewer-check-HFRUJ4ZU.js.map → shared-EH5ZTQXC.js.map} +0 -0
- /package/dist/{site-WIQ7SSU3.js.map → site-3PEJYQJW.js.map} +0 -0
- /package/dist/{sitemaps-POPZJTAX.js.map → sitemaps-7KHY2KXI.js.map} +0 -0
- /package/dist/{sites-262H6LM4.js.map → sites-6B76JW6C.js.map} +0 -0
- /package/dist/{skills-6TQZLIMP.js.map → skills-SCTT3LCM.js.map} +0 -0
- /package/dist/{sources-L453U5MT.js.map → sources-ODJBHNGY.js.map} +0 -0
- /package/dist/{stale-6OVG6VME.js.map → stale-2O54QXY2.js.map} +0 -0
- /package/dist/{stats-NNXZMPZR.js.map → stats-4NBOAOR2.js.map} +0 -0
- /package/dist/{status-WXWU54WR.js.map → status-NE5OBM4B.js.map} +0 -0
- /package/dist/{sticker-4KMBSMP5.js.map → sticker-NLXBIOBO.js.map} +0 -0
- /package/dist/{stock-2YCDN3N6.js.map → stock-F3SA4VHV.js.map} +0 -0
- /package/dist/{studio-C5K3YX3P.js.map → studio-ZPDIOFKL.js.map} +0 -0
- /package/dist/{sync-CDZUTGV3.js.map → sync-5GJNZDGZ.js.map} +0 -0
- /package/dist/{sync-ZSNUBYPM.js.map → sync-FCNFXTFD.js.map} +0 -0
- /package/dist/{sync-CF7FVUQJ.js.map → sync-YXCZ3DHY.js.map} +0 -0
- /package/dist/{tag-manager-DYZUOIAS.js.map → tag-manager-YM4Q3CZT.js.map} +0 -0
- /package/dist/{tags-SG3NVC3J.js.map → tags-456UOYJU.js.map} +0 -0
- /package/dist/{tags-6RY23XOG.js.map → tags-5YPYHV5V.js.map} +0 -0
- /package/dist/{tags-BHFQWNPL.js.map → tags-HXMHEHG2.js.map} +0 -0
- /package/dist/{tags-WR6PDIDR.js.map → tags-K34666RY.js.map} +0 -0
- /package/dist/{tags-VN5HTL35.js.map → tags-NB35ISO3.js.map} +0 -0
- /package/dist/{targeting-constants-XJ2VOW7K.js.map → targeting-constants-3CMGPWRI.js.map} +0 -0
- /package/dist/{targeting-criteria-5EXP2NXF.js.map → targeting-criteria-UKQ4WF5C.js.map} +0 -0
- /package/dist/{targets-WUVEJPSD.js.map → targets-VQ4BQ657.js.map} +0 -0
- /package/dist/{templates-LOJQX2NG.js.map → templates-PMUIOVDX.js.map} +0 -0
- /package/dist/{testimonials-6M5DXORT.js.map → testimonials-XZCGVD6V.js.map} +0 -0
- /package/dist/{top-companies-E2OMMPSV.js.map → top-companies-VMRIDOOH.js.map} +0 -0
- /package/dist/{translate-AW4CUKDA.js.map → translate-F5KR62LF.js.map} +0 -0
- /package/dist/{triggers-MRXIDCSN.js.map → triggers-2MZX7W6Y.js.map} +0 -0
- /package/dist/{tweets-ATP3FQAC.js.map → tweets-XWE3VYQ4.js.map} +0 -0
- /package/dist/{unfollow-CBVPGPF7.js.map → unfollow-7U4UBAJX.js.map} +0 -0
- /package/dist/{unlink-HNL747YM.js.map → unlink-AWSNY3QS.js.map} +0 -0
- /package/dist/{unstage-4ZEULXEQ.js.map → unstage-OGB43ZXO.js.map} +0 -0
- /package/dist/{unstage-OL2JDCLK.js.map → unstage-RQBOQ4DY.js.map} +0 -0
- /package/dist/{update-YNNRX5B2.js.map → update-4KWYHMLS.js.map} +0 -0
- /package/dist/{update-4KGIT4BF.js.map → update-6DKEWM64.js.map} +0 -0
- /package/dist/{update-RTTC3SAK.js.map → update-G6EKHPIF.js.map} +0 -0
- /package/dist/{update-JPBUF7M2.js.map → update-OFV452AC.js.map} +0 -0
- /package/dist/{upload-UIXPCSXJ.js.map → upload-6CJWMQ24.js.map} +0 -0
- /package/dist/{upload-L5SYZB3X.js.map → upload-GUKMQ5MT.js.map} +0 -0
- /package/dist/{upscale-YWRLFU22.js.map → upscale-A456MESF.js.map} +0 -0
- /package/dist/{url-params-K47CE7Y5.js.map → url-params-OE3UMYMM.js.map} +0 -0
- /package/dist/{use-UT2DIZOG.js.map → use-HBVKVT5S.js.map} +0 -0
- /package/dist/{variant-FLZJYGYL.js.map → variant-HULP57YI.js.map} +0 -0
- /package/dist/{videos-BP3BKNTY.js.map → videos-ION7UT3M.js.map} +0 -0
- /package/dist/{view-NPAG66QK.js.map → view-GCDEJZII.js.map} +0 -0
- /package/dist/{web-RPSGFN4U.js.map → web-CCVD6UZ4.js.map} +0 -0
- /package/dist/{write-commands-WTRSOSO3.js.map → write-commands-47OP673X.js.map} +0 -0
- /package/dist/{write-commands-TAYGTJEZ.js.map → write-commands-IJ5IFHS6.js.map} +0 -0
- /package/dist/{write-commands-4WARNR2T.js.map → write-commands-NNVDWBLG.js.map} +0 -0
- /package/dist/{write-commands-ERKVRHTC.js.map → write-commands-OBMIVFZJ.js.map} +0 -0
- /package/dist/{x-VZCELH3P.js.map → x-U32DT24S.js.map} +0 -0
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import {
|
|
2
|
+
handleConnectionError,
|
|
3
|
+
needsConnectionFix,
|
|
4
|
+
writeAdsJson
|
|
5
|
+
} from "./chunk-6SL6463H.js";
|
|
6
|
+
import {
|
|
7
|
+
ApiError
|
|
8
|
+
} from "./chunk-MMOTJIV6.js";
|
|
9
|
+
import {
|
|
10
|
+
getEnv
|
|
11
|
+
} from "./chunk-YPCVPDU7.js";
|
|
12
|
+
|
|
13
|
+
// src/commands/ads/meta/shared.ts
|
|
14
|
+
var DAY_MS = 864e5;
|
|
15
|
+
function metaForbiddenFix(message) {
|
|
16
|
+
if (message.includes("has not accepted Meta's Lead Generation Terms")) {
|
|
17
|
+
return {
|
|
18
|
+
action: "reject",
|
|
19
|
+
explanation: `${message}
|
|
20
|
+
|
|
21
|
+
Meta confirmed the Page's terms status using its Page access. Give the Page owner the terms link in the error and ask them to accept it before trying the form or lead ad set again. Do not suggest reconnecting Meta for this refusal; continue with other work that does not require the form or ad set.`
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
return {
|
|
25
|
+
action: "reject",
|
|
26
|
+
explanation: [
|
|
27
|
+
message,
|
|
28
|
+
"This is a permission refusal, not a dead connection, and Meta returns the same code for two causes with opposite remedies. Tell them apart by how much else works before you answer.",
|
|
29
|
+
"If other reads on this account are ALSO refused (campaigns, ad sets, insights), the connection is short a permission it was never granted. Only the user can widen it, by reconnecting Meta from the dashboard.",
|
|
30
|
+
"If those reads work and only this object is refused, the asset (pixel/dataset, Page, or catalog) belongs to a Business the connected user holds no role in. Ad-account access does not carry asset access and reconnecting cannot grant it \u2014 the client assigns that asset to the connected user or partner in Meta Business settings, under the asset's own section (Data sources \u2192 Datasets for a pixel).",
|
|
31
|
+
"Either way do not retry the same call, and do not abort the wider job. Continue with what you can read, and state in your answer that this specific check could not run and why \u2014 never present the task as verified when this step was skipped."
|
|
32
|
+
].join("\n\n")
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
function handleMetaError(err) {
|
|
36
|
+
if (err instanceof ApiError) {
|
|
37
|
+
if (needsConnectionFix(err.code, err.message)) {
|
|
38
|
+
handleConnectionError("meta_ads", err.message);
|
|
39
|
+
}
|
|
40
|
+
const envelope = {
|
|
41
|
+
ok: false,
|
|
42
|
+
error: {
|
|
43
|
+
code: err.code,
|
|
44
|
+
message: err.message,
|
|
45
|
+
fix: err.code === "FORBIDDEN" ? metaForbiddenFix(err.message) : { action: "reject", explanation: err.message },
|
|
46
|
+
retryable: err.code === "RATE_LIMITED" || err.code === "UNAVAILABLE" || err.code === "INTERNAL_ERROR"
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
writeAdsJson(envelope);
|
|
50
|
+
process.exit(1);
|
|
51
|
+
}
|
|
52
|
+
const message = err instanceof Error ? err.message : "Unexpected error";
|
|
53
|
+
writeAdsJson({ ok: false, error: { code: "NETWORK_ERROR", message } });
|
|
54
|
+
process.exit(1);
|
|
55
|
+
}
|
|
56
|
+
var ACCOUNT_ID_RE = /^(act_)?[0-9]+$/;
|
|
57
|
+
function resolveAccountIdArg(args) {
|
|
58
|
+
const fromArgs = args["account-id"];
|
|
59
|
+
const id = fromArgs || getEnv().BAKER_META_AD_ACCOUNT_ID;
|
|
60
|
+
if (!id) {
|
|
61
|
+
writeAdsJson({
|
|
62
|
+
ok: false,
|
|
63
|
+
error: {
|
|
64
|
+
code: "MISSING_ACCOUNT_ID",
|
|
65
|
+
message: "Pass --account-id or set BAKER_META_AD_ACCOUNT_ID. Run `baker ads meta accounts` to find IDs."
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
process.exit(1);
|
|
69
|
+
}
|
|
70
|
+
if (!ACCOUNT_ID_RE.test(id)) {
|
|
71
|
+
writeAdsJson({
|
|
72
|
+
ok: false,
|
|
73
|
+
error: {
|
|
74
|
+
code: "INVALID_ACCOUNT_ID",
|
|
75
|
+
message: `Invalid account ID "${id}". Expected numeric ID, optionally prefixed with "act_".`
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
process.exit(1);
|
|
79
|
+
}
|
|
80
|
+
return id.startsWith("act_") ? id : `act_${id}`;
|
|
81
|
+
}
|
|
82
|
+
function getDateRange(args) {
|
|
83
|
+
const datePreset = args["date-preset"];
|
|
84
|
+
const since = args.since;
|
|
85
|
+
const until = args.until;
|
|
86
|
+
if (since && until) return { since, until };
|
|
87
|
+
return { datePreset: datePreset ?? "last_7d" };
|
|
88
|
+
}
|
|
89
|
+
function todayIso() {
|
|
90
|
+
return (/* @__PURE__ */ new Date()).toISOString().slice(0, 10);
|
|
91
|
+
}
|
|
92
|
+
function daysAgoIso(days) {
|
|
93
|
+
return new Date(Date.now() - days * DAY_MS).toISOString().slice(0, 10);
|
|
94
|
+
}
|
|
95
|
+
function csvOrJson(args) {
|
|
96
|
+
return args.output ?? "json";
|
|
97
|
+
}
|
|
98
|
+
var NAME_CONTAINS_ARG = {
|
|
99
|
+
type: "string",
|
|
100
|
+
description: "Only rows whose name contains this text, matched by Meta before anything is returned. Start here to find one entity by name: --name-contains octubre --all-statuses"
|
|
101
|
+
};
|
|
102
|
+
function resolveEffectiveStatus(args) {
|
|
103
|
+
if (args["all-statuses"]) {
|
|
104
|
+
return void 0;
|
|
105
|
+
}
|
|
106
|
+
const explicit = args["effective-status"];
|
|
107
|
+
if (explicit) {
|
|
108
|
+
return explicit;
|
|
109
|
+
}
|
|
110
|
+
return "ACTIVE";
|
|
111
|
+
}
|
|
112
|
+
function statusFilterHints(rows, effectiveStatus, noun) {
|
|
113
|
+
if (rows.length > 0 || effectiveStatus === void 0) return [];
|
|
114
|
+
if (effectiveStatus === "ACTIVE") {
|
|
115
|
+
return [
|
|
116
|
+
`No ACTIVE ${noun}. The ACTIVE filter hides paused, archived and in-review ones (under a paused campaign or ad set that is all of them), so this does NOT mean none exist. Re-run with --all-statuses before concluding there are none.`
|
|
117
|
+
];
|
|
118
|
+
}
|
|
119
|
+
return [
|
|
120
|
+
`No ${noun} with effective_status ${effectiveStatus}. Re-run with --all-statuses to see every status before concluding there are none.`
|
|
121
|
+
];
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
export {
|
|
125
|
+
metaForbiddenFix,
|
|
126
|
+
handleMetaError,
|
|
127
|
+
resolveAccountIdArg,
|
|
128
|
+
getDateRange,
|
|
129
|
+
todayIso,
|
|
130
|
+
daysAgoIso,
|
|
131
|
+
csvOrJson,
|
|
132
|
+
NAME_CONTAINS_ARG,
|
|
133
|
+
resolveEffectiveStatus,
|
|
134
|
+
statusFilterHints
|
|
135
|
+
};
|
|
136
|
+
//# sourceMappingURL=chunk-4R3QKEDV.js.map
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
import {
|
|
2
|
+
HEADLINE_SET_FLOOR,
|
|
3
|
+
SAME_CLAIM_HELD,
|
|
4
|
+
TELL_QUESTIONS,
|
|
5
|
+
copySentences,
|
|
6
|
+
sameClaimQuestion,
|
|
7
|
+
tellQuestionsFor
|
|
8
|
+
} from "./chunk-4NZ47VXO.js";
|
|
9
|
+
import {
|
|
10
|
+
rememberedJev
|
|
11
|
+
} from "./chunk-YTWNY3RF.js";
|
|
12
|
+
import {
|
|
13
|
+
holdUnbilledSpend
|
|
14
|
+
} from "./chunk-JF5LNI6O.js";
|
|
15
|
+
import {
|
|
16
|
+
findWorkspaceRoot
|
|
17
|
+
} from "./chunk-F3IVR3V3.js";
|
|
18
|
+
import {
|
|
19
|
+
CAPABILITY_SURFACE_SPECS
|
|
20
|
+
} from "./chunk-XQIOCIDO.js";
|
|
21
|
+
|
|
22
|
+
// src/commands/capabilities/fix.ts
|
|
23
|
+
function capabilityFix(surface) {
|
|
24
|
+
const spec = CAPABILITY_SURFACE_SPECS[surface];
|
|
25
|
+
return {
|
|
26
|
+
action: `baker capabilities ${surface}`,
|
|
27
|
+
explanation: `Do not guess another field name. \`baker capabilities ${surface}\` lists every ${spec.label} change with its required and optional fields and the exact values each field accepts, plus what cannot be changed here at all and why. Read it, then either re-stage correctly or tell the user this part is out of reach \u2014 and carry on with the rest of the job either way.`
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
// src/commands/ads/boolean-word-positional.ts
|
|
32
|
+
var BOOLEAN_WORD = /^(true|false)$/i;
|
|
33
|
+
function booleanWordPositionalError(args, entity) {
|
|
34
|
+
const positionals = Array.isArray(args._) ? args._ : [];
|
|
35
|
+
const word = positionals.find((value2) => typeof value2 === "string" && BOOLEAN_WORD.test(value2));
|
|
36
|
+
if (word === void 0) {
|
|
37
|
+
return void 0;
|
|
38
|
+
}
|
|
39
|
+
const value = word.toLowerCase();
|
|
40
|
+
const raised = Object.keys(args).filter((key) => key !== "_" && args[key] === true);
|
|
41
|
+
const named = raised.length > 0 ? raised.map((flag) => `--${flag}`).join(" or ") : "a boolean flag";
|
|
42
|
+
const fix = raised.length > 0 ? raised.map((flag) => `--${flag}=${value}`).join(" or ") : `--<flag>=${value}`;
|
|
43
|
+
const negated = raised.length === 1 && value === "false" ? ` (or --no-${raised[0]})` : "";
|
|
44
|
+
return `"${word}" was read as the ${entity} target, not as a value for ${named}. A boolean flag written with a space is set to TRUE and the word is dropped \u2014 attach it instead: ${fix}${negated}.`;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
// src/commands/ads/copy-hints.ts
|
|
48
|
+
import path from "path";
|
|
49
|
+
|
|
50
|
+
// src/engine/copy-tells/judge.ts
|
|
51
|
+
var SAMPLE_MAX = 60;
|
|
52
|
+
var sample = (text) => text.length <= SAMPLE_MAX ? text : `${text.slice(0, SAMPLE_MAX)}\u2026`;
|
|
53
|
+
async function judgedCopyTells(input, ask) {
|
|
54
|
+
const sentences = input.texts.flatMap((t) => copySentences(t));
|
|
55
|
+
const pairs = (input.headlineSets ?? []).map((set) => set.map((h) => h.trim()).filter(Boolean)).filter((set) => set.length >= HEADLINE_SET_FLOOR).flatMap((set, s) => set.flatMap((a, i) => set.slice(i + 1).map((b) => ({ set: s, a, b }))));
|
|
56
|
+
const questions = [...sentences.flatMap(tellQuestionsFor), ...pairs.map(({ a, b }) => sameClaimQuestion(a, b))];
|
|
57
|
+
if (questions.length === 0) return [];
|
|
58
|
+
const answers = await ask(questions);
|
|
59
|
+
if (answers === null) return null;
|
|
60
|
+
const tells = [];
|
|
61
|
+
TELL_QUESTIONS.forEach((tell, t) => {
|
|
62
|
+
const hits = sentences.filter((_, s) => (answers[s * TELL_QUESTIONS.length + t] ?? 0) >= tell.threshold);
|
|
63
|
+
if (hits.length > 0) tells.push({ id: tell.id, count: hits.length, sample: sample(hits[0]?.text ?? "") });
|
|
64
|
+
});
|
|
65
|
+
const offset = sentences.length * TELL_QUESTIONS.length;
|
|
66
|
+
const cycled = pairs.filter((_, p) => (answers[offset + p] ?? 0) >= SAME_CLAIM_HELD);
|
|
67
|
+
for (const set of new Set(cycled.map((p) => p.set))) {
|
|
68
|
+
const inSet = cycled.filter((p) => p.set === set);
|
|
69
|
+
const { a, b } = inSet[0] ?? { a: "", b: "" };
|
|
70
|
+
tells.push({ id: "synonym-cycling", count: inSet.length, sample: sample(`"${a}" / "${b}"`) });
|
|
71
|
+
}
|
|
72
|
+
return tells;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
// src/commands/ads/copy-hints.ts
|
|
76
|
+
var COPY_KEYS = /* @__PURE__ */ new Set([
|
|
77
|
+
"headline",
|
|
78
|
+
"headlines",
|
|
79
|
+
"longheadline",
|
|
80
|
+
"longheadlines",
|
|
81
|
+
"shortheadline",
|
|
82
|
+
"shortheadlines",
|
|
83
|
+
"description",
|
|
84
|
+
"descriptions",
|
|
85
|
+
"primarytext",
|
|
86
|
+
"primarytexts",
|
|
87
|
+
"message",
|
|
88
|
+
"messages",
|
|
89
|
+
"commentary",
|
|
90
|
+
"body",
|
|
91
|
+
"bodies",
|
|
92
|
+
"text",
|
|
93
|
+
"calltoaction",
|
|
94
|
+
"linkdescription",
|
|
95
|
+
"sitelinktext",
|
|
96
|
+
"callout",
|
|
97
|
+
"callouts",
|
|
98
|
+
"introtext"
|
|
99
|
+
]);
|
|
100
|
+
var HEADLINE_SET_KEYS = /* @__PURE__ */ new Set(["headlines", "longheadlines", "shortheadlines"]);
|
|
101
|
+
var MAX_HINTS = 5;
|
|
102
|
+
var SYNONYM_PAIR_FLOOR = 2;
|
|
103
|
+
function asStrings(value) {
|
|
104
|
+
const one = (v) => {
|
|
105
|
+
const text = typeof v === "string" ? v : v !== null && typeof v === "object" ? v.text : "";
|
|
106
|
+
return typeof text === "string" && text.trim() ? text : void 0;
|
|
107
|
+
};
|
|
108
|
+
const values = Array.isArray(value) ? value : [value];
|
|
109
|
+
return values.map(one).filter((v) => v !== void 0);
|
|
110
|
+
}
|
|
111
|
+
function collectCopy(value, depth = 0) {
|
|
112
|
+
const texts = [];
|
|
113
|
+
const headlineSets = [];
|
|
114
|
+
if (depth > 4 || value === null || typeof value !== "object") return { texts, headlineSets };
|
|
115
|
+
if (Array.isArray(value)) {
|
|
116
|
+
for (const item of value) {
|
|
117
|
+
const nested = collectCopy(item, depth + 1);
|
|
118
|
+
texts.push(...nested.texts);
|
|
119
|
+
headlineSets.push(...nested.headlineSets);
|
|
120
|
+
}
|
|
121
|
+
return { texts, headlineSets };
|
|
122
|
+
}
|
|
123
|
+
for (const [key, raw] of Object.entries(value)) {
|
|
124
|
+
const normalized = key.toLowerCase().replace(/[_-]/g, "");
|
|
125
|
+
const strings = COPY_KEYS.has(normalized) ? asStrings(raw) : [];
|
|
126
|
+
if (strings.length > 0) {
|
|
127
|
+
texts.push(...strings);
|
|
128
|
+
if (HEADLINE_SET_KEYS.has(normalized) && strings.length > 1) headlineSets.push(strings);
|
|
129
|
+
continue;
|
|
130
|
+
}
|
|
131
|
+
const nested = collectCopy(raw, depth + 1);
|
|
132
|
+
texts.push(...nested.texts);
|
|
133
|
+
headlineSets.push(...nested.headlineSets);
|
|
134
|
+
}
|
|
135
|
+
return { texts, headlineSets };
|
|
136
|
+
}
|
|
137
|
+
function hintFor(tell) {
|
|
138
|
+
if (tell.id === "synonym-cycling") {
|
|
139
|
+
return `AI COPY TELL \u2014 ${tell.count} headline pairs are the same claim reworded (${tell.sample}). A cycled set gives the auction nothing to choose between: make each headline a different claim, not a different verb.`;
|
|
140
|
+
}
|
|
141
|
+
return `AI COPY TELL (${tell.id}) \u2014 "${tell.sample}". This construction reads as machine-written; rewrite it as a plain, specific claim before publishing.`;
|
|
142
|
+
}
|
|
143
|
+
async function adCopyHints(payload, ask) {
|
|
144
|
+
const { texts, headlineSets } = collectCopy(payload);
|
|
145
|
+
if (texts.length === 0) return [];
|
|
146
|
+
const cacheDir = path.join(findWorkspaceRoot(process.cwd()) ?? process.cwd(), "canvas", ".cache");
|
|
147
|
+
const spent = [];
|
|
148
|
+
const judged = await judgedCopyTells(
|
|
149
|
+
{ texts: texts.flatMap((t) => t.split("\n")), headlineSets },
|
|
150
|
+
ask ?? rememberedJev(path.join(cacheDir, "copy-tells.json"), (u) => spent.push(u))
|
|
151
|
+
).catch(() => null);
|
|
152
|
+
await holdUnbilledSpend(cacheDir, spent).catch(() => void 0);
|
|
153
|
+
const cycled = (judged ?? []).filter((t) => t.id === "synonym-cycling" && t.count >= SYNONYM_PAIR_FLOOR).sort((a, b) => b.count - a.count).slice(0, 1);
|
|
154
|
+
const tells = [...cycled, ...(judged ?? []).filter((t) => t.id !== "synonym-cycling")];
|
|
155
|
+
tells.sort(
|
|
156
|
+
(a, b) => (b.id === "synonym-cycling" ? 1 : 0) - (a.id === "synonym-cycling" ? 1 : 0) || b.count - a.count
|
|
157
|
+
);
|
|
158
|
+
return tells.slice(0, MAX_HINTS).map(hintFor);
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
export {
|
|
162
|
+
capabilityFix,
|
|
163
|
+
booleanWordPositionalError,
|
|
164
|
+
adCopyHints
|
|
165
|
+
};
|
|
166
|
+
//# sourceMappingURL=chunk-536R4RRM.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/capabilities/fix.ts","../src/commands/ads/boolean-word-positional.ts","../src/commands/ads/copy-hints.ts","../src/engine/copy-tells/judge.ts"],"sourcesContent":["import type { CapabilitySurfaceId } from \"@baker/api/capabilities\";\nimport { CAPABILITY_SURFACE_SPECS } from \"@baker/api/capabilities\";\n\n/**\n * A rejected change should say where the real contract is.\n *\n * The expensive version of \"this field is not valid\" is an agent trying four\n * spellings of a field that never existed, staging a bogus op, and cleaning it\n * up again — several turns, none of them work. The validation message already\n * names what was wrong with THIS attempt; this names the one call that lists\n * every field the change accepts and every value each one takes, so the next\n * attempt is informed rather than another guess.\n */\nexport function capabilityFix(surface: CapabilitySurfaceId): { action: string; explanation: string } {\n const spec = CAPABILITY_SURFACE_SPECS[surface];\n return {\n action: `baker capabilities ${surface}`,\n explanation:\n `Do not guess another field name. \\`baker capabilities ${surface}\\` lists every ${spec.label} change with its ` +\n \"required and optional fields and the exact values each field accepts, plus what cannot be changed here at all \" +\n \"and why. Read it, then either re-stage correctly or tell the user this part is out of reach — and carry on \" +\n \"with the rest of the job either way.\",\n };\n}\n","/**\n * `--flag false` — the natural way to type a negation — is a citty trap, not a typo we can honour:\n * a boolean flag written with a space parses as the flag set to **TRUE** plus a stray positional\n * nobody consumes. The word does the OPPOSITE of what was typed and nothing fails, because the\n * target still resolves and the command still reports \"staged\". No layer downstream can catch it —\n * an inverted boolean is a valid op — so it has to be caught where the positionals are read.\n *\n * This is the same rule on every ad surface (it is citty's parse, not a platform's), but each\n * surface owns its own error envelope, so this returns the message and the caller fails with it.\n */\n\nconst BOOLEAN_WORD = /^(true|false)$/i;\n\n/**\n * The refusal message for a bare `true`/`false` sitting in the positionals, or `undefined` when\n * there is none. `entity` is the surface's own noun for what the positional addresses (\"campaign\",\n * \"ad set\", …), so the message reads as that command's vocabulary.\n */\nexport function booleanWordPositionalError(args: Record<string, unknown>, entity: string): string | undefined {\n const positionals = Array.isArray(args._) ? args._ : [];\n const word = positionals.find((value): value is string => typeof value === \"string\" && BOOLEAN_WORD.test(value));\n if (word === undefined) {\n return undefined;\n }\n const value = word.toLowerCase();\n // Every flag citty just set to true, so the fix is copy-pasteable. Which one the word was meant for\n // is unknowable from parsed args — it need not even follow that flag on the command line — so with\n // several raised we list them all rather than inventing a single culprit the user never typed.\n const raised = Object.keys(args).filter((key) => key !== \"_\" && args[key] === true);\n const named = raised.length > 0 ? raised.map((flag) => `--${flag}`).join(\" or \") : \"a boolean flag\";\n const fix = raised.length > 0 ? raised.map((flag) => `--${flag}=${value}`).join(\" or \") : `--<flag>=${value}`;\n const negated = raised.length === 1 && value === \"false\" ? ` (or --no-${raised[0]})` : \"\";\n return `\"${word}\" was read as the ${entity} target, not as a value for ${named}. A boolean flag written with a space is set to TRUE and the word is dropped — attach it instead: ${fix}${negated}.`;\n}\n","/**\n * AI copy tells on staged ad copy → `hints[]`.\n *\n * Ad text is the surface where a tell costs real money and the one place we had\n * no copy check at all: staging validated character limits and policy, never\n * whether the words read like a model wrote them.\n *\n * ADVISORY BY CONSTRUCTION. These are hints, never errors — an ad refused over a\n * fallible prose heuristic costs more than a tell that ships, and the agent can\n * act on a hint in the same turn. Nothing here can fail a staged write.\n *\n * Thresholds differ from the landing gate on purpose. A landing needs a CLUSTER\n * before a tell means anything (`COPY_TELL_GATES`); a 30-character headline has\n * no room for a cluster, so one occurrence is the signal. The exclusion list\n * below is where most of the judgment lives.\n *\n * The tells that read the words are asked of the decision model, in whatever\n * language the ad is written; when it cannot answer, nothing is reported rather\n * than a guess.\n */\n\nimport path from \"node:path\";\nimport type { CopyTell } from \"../../engine/copy-tells/detect.ts\";\nimport { judgedCopyTells } from \"../../engine/copy-tells/judge.ts\";\nimport { type AskNouls, rememberedJev } from \"../../engine/lib/remembered-nouls.ts\";\nimport type { ReviewUsage } from \"../../engine/nodes/local/lib/render-review.ts\";\nimport { findWorkspaceRoot } from \"../canvas/normalize-paths.ts\";\nimport { holdUnbilledSpend } from \"../canvas/unbilled-spend.ts\";\n\n/*\n * The tells that are a shape (`structuralCopyTells`) do not apply to ad copy, and\n * none is hinted. Each is a real convention in this medium, so reporting it would\n * train the agent to ignore hints:\n * - `title-case-heading` — English search ads are conventionally Title Case.\n * - `staccato-drama` — \"Compara. Ahorra. Cambia.\" is ad rhythm, not drama.\n * - `emoji` — deliberate and effective in Meta and LinkedIn primary text.\n * - `curly-quote` — inserted automatically by every editor copy is pasted from.\n * - `inline-header-list` — a markdown shape that ad fields cannot hold.\n */\n\n/**\n * Payload keys whose values are copy a human will read in the ad. Every platform\n * names its primary text differently in `@baker/api` — Meta stages it as\n * `message`, LinkedIn as `commentary` — so the concept appears here under each\n * of its contract names, not under one invented one.\n */\nconst COPY_KEYS = new Set([\n \"headline\",\n \"headlines\",\n \"longheadline\",\n \"longheadlines\",\n \"shortheadline\",\n \"shortheadlines\",\n \"description\",\n \"descriptions\",\n \"primarytext\",\n \"primarytexts\",\n \"message\",\n \"messages\",\n \"commentary\",\n \"body\",\n \"bodies\",\n \"text\",\n \"calltoaction\",\n \"linkdescription\",\n \"sitelinktext\",\n \"callout\",\n \"callouts\",\n \"introtext\",\n]);\n\n/** Keys holding a SET of headlines, where synonym cycling is meaningful. */\nconst HEADLINE_SET_KEYS = new Set([\"headlines\", \"longheadlines\", \"shortheadlines\"]);\n\n/**\n * At most this many hints, so copy advice never crowds out the staging result.\n *\n * Five, not three: a heavily model-written ad routinely carries six tells, and a\n * cap of three showed the agent half the diagnosis. Since it already has the copy\n * in front of it, fixing six constructions in one pass is cheaper than three\n * re-stagings that each reveal the next batch.\n */\nconst MAX_HINTS = 5;\n/** Two near-duplicate pairs; one pair in a 15-headline RSA is not a pattern. */\nconst SYNONYM_PAIR_FLOOR = 2;\n\n/**\n * The copy under a copy key, whether it is a plain string or a Google text\n * asset. Google stages EVERY ad text as `{ text, pinnedField? }`\n * (`adTextAssetSchema` in `@baker/api/ads-google`), so reading only strings here\n * would skip the whole Google surface — headlines, descriptions, long headline.\n */\nfunction asStrings(value: unknown): string[] {\n const one = (v: unknown): string | undefined => {\n const text = typeof v === \"string\" ? v : v !== null && typeof v === \"object\" ? (v as { text?: unknown }).text : \"\";\n return typeof text === \"string\" && text.trim() ? text : undefined;\n };\n const values = Array.isArray(value) ? value : [value];\n return values.map(one).filter((v): v is string => v !== undefined);\n}\n\n/** Walk a staged-op payload of unknown shape and pull out the human-readable\n * copy fields plus any headline sets. Depth-limited — payloads are shallow, and\n * an unbounded walk on a hostile shape is a hang, not a hint. */\nfunction collectCopy(value: unknown, depth = 0): { texts: string[]; headlineSets: string[][] } {\n const texts: string[] = [];\n const headlineSets: string[][] = [];\n if (depth > 4 || value === null || typeof value !== \"object\") return { texts, headlineSets };\n\n if (Array.isArray(value)) {\n for (const item of value) {\n const nested = collectCopy(item, depth + 1);\n texts.push(...nested.texts);\n headlineSets.push(...nested.headlineSets);\n }\n return { texts, headlineSets };\n }\n\n for (const [key, raw] of Object.entries(value as Record<string, unknown>)) {\n const normalized = key.toLowerCase().replace(/[_-]/g, \"\");\n const strings = COPY_KEYS.has(normalized) ? asStrings(raw) : [];\n if (strings.length > 0) {\n texts.push(...strings);\n if (HEADLINE_SET_KEYS.has(normalized) && strings.length > 1) headlineSets.push(strings);\n continue;\n }\n // A copy key holding neither a string nor a text asset (`call_to_action`)\n // still gets walked — a matched key must never swallow the subtree.\n const nested = collectCopy(raw, depth + 1);\n texts.push(...nested.texts);\n headlineSets.push(...nested.headlineSets);\n }\n return { texts, headlineSets };\n}\n\nfunction hintFor(tell: CopyTell): string {\n if (tell.id === \"synonym-cycling\") {\n return `AI COPY TELL — ${tell.count} headline pairs are the same claim reworded (${tell.sample}). A cycled set gives the auction nothing to choose between: make each headline a different claim, not a different verb.`;\n }\n return `AI COPY TELL (${tell.id}) — \"${tell.sample}\". This construction reads as machine-written; rewrite it as a plain, specific claim before publishing.`;\n}\n\n/**\n * Inspect a staged ad-copy payload and return advisory hints about AI writing\n * tells. Never throws; returns `[]` when the copy reads clean or the payload\n * carries no copy at all. `ask` is the decision model (the real one, its answers\n * kept in the workspace's canvas cache and its spend billed with the next run,\n * unless given).\n */\nexport async function adCopyHints(payload: unknown, ask?: AskNouls): Promise<string[]> {\n const { texts, headlineSets } = collectCopy(payload);\n if (texts.length === 0) return [];\n\n const cacheDir = path.join(findWorkspaceRoot(process.cwd()) ?? process.cwd(), \"canvas\", \".cache\");\n const spent: ReviewUsage[] = [];\n // A line break in ad text is the author's, never a wrap: each line is read on its own.\n const judged = await judgedCopyTells(\n { texts: texts.flatMap((t) => t.split(\"\\n\")), headlineSets },\n ask ?? rememberedJev(path.join(cacheDir, \"copy-tells.json\"), (u) => spent.push(u)),\n ).catch(() => null);\n await holdUnbilledSpend(cacheDir, spent).catch(() => undefined);\n\n // The floor is per headline set (one per ad); only the most cycled set is hinted.\n const cycled = (judged ?? [])\n .filter((t) => t.id === \"synonym-cycling\" && t.count >= SYNONYM_PAIR_FLOOR)\n .sort((a, b) => b.count - a.count)\n .slice(0, 1);\n const tells: CopyTell[] = [...cycled, ...(judged ?? []).filter((t) => t.id !== \"synonym-cycling\")];\n\n // Loudest first: the cycled-headline finding is a set-level defect, and the\n // rest sort by how often the tell fired.\n tells.sort(\n (a, b) => (b.id === \"synonym-cycling\" ? 1 : 0) - (a.id === \"synonym-cycling\" ? 1 : 0) || b.count - a.count,\n );\n return tells.slice(0, MAX_HINTS).map(hintFor);\n}\n","/**\n * The AI copy tells in a piece of copy that are a reading of its words, and synonym cycling in a\n * set of headlines, asked of the decision model (Jev) in one fanned-out set of requests, in\n * whatever language the copy is written. Raw counts, like `structuralCopyTells`: the caller gates.\n */\nimport type { AskNouls } from \"../lib/remembered-nouls.ts\";\nimport type { CopyTell } from \"./detect.ts\";\nimport { HEADLINE_SET_FLOOR } from \"./patterns.ts\";\nimport { SAME_CLAIM_HELD, sameClaimQuestion, TELL_QUESTIONS, tellQuestionsFor } from \"./questions.ts\";\nimport { copySentences } from \"./sentences.ts\";\n\nconst SAMPLE_MAX = 60;\nconst sample = (text: string) => (text.length <= SAMPLE_MAX ? text : `${text.slice(0, SAMPLE_MAX)}…`);\n\n/**\n * Every judged tell in `texts` (one count per sentence that carries it) and, for each headline set\n * of at least `HEADLINE_SET_FLOOR`, one `synonym-cycling` tell counting that set's pairs that are\n * one claim reworded. Null when the model could not answer: the caller reports nothing rather than\n * guess.\n */\nexport async function judgedCopyTells(\n input: { texts: readonly string[]; headlineSets?: ReadonlyArray<readonly string[]> },\n ask: AskNouls,\n): Promise<CopyTell[] | null> {\n const sentences = input.texts.flatMap((t) => copySentences(t));\n const pairs = (input.headlineSets ?? [])\n .map((set) => set.map((h) => h.trim()).filter(Boolean))\n .filter((set) => set.length >= HEADLINE_SET_FLOOR)\n .flatMap((set, s) => set.flatMap((a, i) => set.slice(i + 1).map((b) => ({ set: s, a, b }))));\n const questions = [...sentences.flatMap(tellQuestionsFor), ...pairs.map(({ a, b }) => sameClaimQuestion(a, b))];\n if (questions.length === 0) return [];\n const answers = await ask(questions);\n if (answers === null) return null;\n\n const tells: CopyTell[] = [];\n TELL_QUESTIONS.forEach((tell, t) => {\n const hits = sentences.filter((_, s) => (answers[s * TELL_QUESTIONS.length + t] ?? 0) >= tell.threshold);\n if (hits.length > 0) tells.push({ id: tell.id, count: hits.length, sample: sample(hits[0]?.text ?? \"\") });\n });\n const offset = sentences.length * TELL_QUESTIONS.length;\n const cycled = pairs.filter((_, p) => (answers[offset + p] ?? 0) >= SAME_CLAIM_HELD);\n for (const set of new Set(cycled.map((p) => p.set))) {\n const inSet = cycled.filter((p) => p.set === set);\n const { a, b } = inSet[0] ?? { a: \"\", b: \"\" };\n tells.push({ id: \"synonym-cycling\", count: inSet.length, sample: sample(`\"${a}\" / \"${b}\"`) });\n }\n return tells;\n}\n"],"mappings":"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","names":["value"]}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import {
|
|
2
|
+
applyFieldMask,
|
|
3
|
+
compactWinningAd,
|
|
4
|
+
fullWinningAd,
|
|
5
|
+
winningAdNormalizer,
|
|
6
|
+
writeJson
|
|
7
|
+
} from "./chunk-D3RTGIT4.js";
|
|
8
|
+
|
|
9
|
+
// src/commands/winning-ads/adRows.ts
|
|
10
|
+
var EVERY_SIGNAL = {
|
|
11
|
+
dna: {
|
|
12
|
+
visual: "-",
|
|
13
|
+
container: "-",
|
|
14
|
+
mechanism: "-",
|
|
15
|
+
audience_temperature: "-",
|
|
16
|
+
funnel_stage: "-",
|
|
17
|
+
advertiser_size: "-",
|
|
18
|
+
presumes_brand_knowledge: true,
|
|
19
|
+
brand_knowledge_reason: "-"
|
|
20
|
+
},
|
|
21
|
+
baker_uses: { companies: 1, ours: true, approved: 1, rejected: 1 },
|
|
22
|
+
source: "followed",
|
|
23
|
+
stage: "-",
|
|
24
|
+
survived_test: true
|
|
25
|
+
};
|
|
26
|
+
var COMPACT_FIELDS = new Set(Object.keys(compactWinningAd(EVERY_SIGNAL)));
|
|
27
|
+
var ALL_FIELDS = Object.keys(fullWinningAd(EVERY_SIGNAL));
|
|
28
|
+
function adFields(requested, full) {
|
|
29
|
+
if (!requested) return { fields: void 0, full };
|
|
30
|
+
const fields = requested.map((f) => f.trim()).filter(Boolean);
|
|
31
|
+
const invalid = fields.filter((f) => !ALL_FIELDS.includes(f));
|
|
32
|
+
if (invalid.length > 0) return { invalid, valid: ALL_FIELDS };
|
|
33
|
+
return { fields, full: full || fields.some((f) => !COMPACT_FIELDS.has(f)) };
|
|
34
|
+
}
|
|
35
|
+
function adFieldPlan(fields, full) {
|
|
36
|
+
const plan = adFields(fields ? String(fields).split(",") : void 0, Boolean(full));
|
|
37
|
+
if (!("invalid" in plan)) return plan;
|
|
38
|
+
writeJson({
|
|
39
|
+
ok: false,
|
|
40
|
+
error: {
|
|
41
|
+
code: "VALIDATION_ERROR",
|
|
42
|
+
message: `Unknown --fields: ${plan.invalid.join(", ")}`,
|
|
43
|
+
fix: {
|
|
44
|
+
action: "retry_with_valid_values",
|
|
45
|
+
explanation: "Pass only fields an ad row carries.",
|
|
46
|
+
flag: "--fields",
|
|
47
|
+
invalidValues: plan.invalid,
|
|
48
|
+
validValues: plan.valid
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
process.exit(1);
|
|
53
|
+
}
|
|
54
|
+
function adRows(raw, plan) {
|
|
55
|
+
return raw.map((r) => {
|
|
56
|
+
const row = winningAdNormalizer(r, plan.full);
|
|
57
|
+
return plan.fields ? applyFieldMask(row, plan.fields) : row;
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export {
|
|
62
|
+
adFieldPlan,
|
|
63
|
+
adRows
|
|
64
|
+
};
|
|
65
|
+
//# sourceMappingURL=chunk-57XJ7QF7.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/winning-ads/adRows.ts"],"sourcesContent":["import { applyFieldMask, compactWinningAd, fullWinningAd, winningAdNormalizer, writeJson } from \"../../output.ts\";\n\n/**\n * The rows `search`, `feed`, `winners` and `ads` print: one ad each, compact\n * unless `--full`, cut to `--fields` in every output. Before, the JSON a\n * `feed`, `winners` or `ads` call prints ignored `--fields`, so an agent that\n * asked for three columns still read every row whole.\n */\n\nexport type AdFieldPlan = { fields: string[] | undefined; full: boolean };\n\n// A row with every optional signal set: its keys are every field an ad row can carry.\nconst EVERY_SIGNAL: Record<string, unknown> = {\n dna: {\n visual: \"-\",\n container: \"-\",\n mechanism: \"-\",\n audience_temperature: \"-\",\n funnel_stage: \"-\",\n advertiser_size: \"-\",\n presumes_brand_knowledge: true,\n brand_knowledge_reason: \"-\",\n },\n baker_uses: { companies: 1, ours: true, approved: 1, rejected: 1 },\n source: \"followed\",\n stage: \"-\",\n survived_test: true,\n};\nconst COMPACT_FIELDS = new Set(Object.keys(compactWinningAd(EVERY_SIGNAL)));\nconst ALL_FIELDS = Object.keys(fullWinningAd(EVERY_SIGNAL));\n\n/**\n * The `--fields` asked for, read the way an agent types them: names trimmed,\n * the full row when a name only `--full` carries is asked for, and a name no\n * row carries refused with the ones that exist. Before, each of those printed\n * an empty column.\n */\nexport function adFields(\n requested: string[] | undefined,\n full: boolean,\n): AdFieldPlan | { invalid: string[]; valid: string[] } {\n if (!requested) return { fields: undefined, full };\n const fields = requested.map((f) => f.trim()).filter(Boolean);\n const invalid = fields.filter((f) => !ALL_FIELDS.includes(f));\n if (invalid.length > 0) return { invalid, valid: ALL_FIELDS };\n return { fields, full: full || fields.some((f) => !COMPACT_FIELDS.has(f)) };\n}\n\n/** The `--fields` plan of a command, or the refusal of a name no row carries (exits). */\nexport function adFieldPlan(fields: unknown, full: unknown): AdFieldPlan {\n const plan = adFields(fields ? String(fields).split(\",\") : undefined, Boolean(full));\n if (!(\"invalid\" in plan)) return plan;\n writeJson({\n ok: false,\n error: {\n code: \"VALIDATION_ERROR\",\n message: `Unknown --fields: ${plan.invalid.join(\", \")}`,\n fix: {\n action: \"retry_with_valid_values\",\n explanation: \"Pass only fields an ad row carries.\",\n flag: \"--fields\",\n invalidValues: plan.invalid,\n validValues: plan.valid,\n },\n },\n });\n process.exit(1);\n}\n\nexport function adRows(raw: readonly unknown[], plan: AdFieldPlan): Record<string, unknown>[] {\n return raw.map((r) => {\n const row = winningAdNormalizer(r as Record<string, unknown>, plan.full);\n return plan.fields ? applyFieldMask(row, plan.fields) : row;\n });\n}\n"],"mappings":";;;;;;;;;AAYA,IAAM,eAAwC;AAAA,EAC5C,KAAK;AAAA,IACH,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,WAAW;AAAA,IACX,sBAAsB;AAAA,IACtB,cAAc;AAAA,IACd,iBAAiB;AAAA,IACjB,0BAA0B;AAAA,IAC1B,wBAAwB;AAAA,EAC1B;AAAA,EACA,YAAY,EAAE,WAAW,GAAG,MAAM,MAAM,UAAU,GAAG,UAAU,EAAE;AAAA,EACjE,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,eAAe;AACjB;AACA,IAAM,iBAAiB,IAAI,IAAI,OAAO,KAAK,iBAAiB,YAAY,CAAC,CAAC;AAC1E,IAAM,aAAa,OAAO,KAAK,cAAc,YAAY,CAAC;AAQnD,SAAS,SACd,WACA,MACsD;AACtD,MAAI,CAAC,UAAW,QAAO,EAAE,QAAQ,QAAW,KAAK;AACjD,QAAM,SAAS,UAAU,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,OAAO;AAC5D,QAAM,UAAU,OAAO,OAAO,CAAC,MAAM,CAAC,WAAW,SAAS,CAAC,CAAC;AAC5D,MAAI,QAAQ,SAAS,EAAG,QAAO,EAAE,SAAS,OAAO,WAAW;AAC5D,SAAO,EAAE,QAAQ,MAAM,QAAQ,OAAO,KAAK,CAAC,MAAM,CAAC,eAAe,IAAI,CAAC,CAAC,EAAE;AAC5E;AAGO,SAAS,YAAY,QAAiB,MAA4B;AACvE,QAAM,OAAO,SAAS,SAAS,OAAO,MAAM,EAAE,MAAM,GAAG,IAAI,QAAW,QAAQ,IAAI,CAAC;AACnF,MAAI,EAAE,aAAa,MAAO,QAAO;AACjC,YAAU;AAAA,IACR,IAAI;AAAA,IACJ,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS,qBAAqB,KAAK,QAAQ,KAAK,IAAI,CAAC;AAAA,MACrD,KAAK;AAAA,QACH,QAAQ;AAAA,QACR,aAAa;AAAA,QACb,MAAM;AAAA,QACN,eAAe,KAAK;AAAA,QACpB,aAAa,KAAK;AAAA,MACpB;AAAA,IACF;AAAA,EACF,CAAC;AACD,UAAQ,KAAK,CAAC;AAChB;AAEO,SAAS,OAAO,KAAyB,MAA8C;AAC5F,SAAO,IAAI,IAAI,CAAC,MAAM;AACpB,UAAM,MAAM,oBAAoB,GAA8B,KAAK,IAAI;AACvE,WAAO,KAAK,SAAS,eAAe,KAAK,KAAK,MAAM,IAAI;AAAA,EAC1D,CAAC;AACH;","names":[]}
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ACTION_TEMP_ID_PREFIX
|
|
3
|
+
} from "./chunk-MAGSNHYB.js";
|
|
4
|
+
import {
|
|
5
|
+
ApiError
|
|
6
|
+
} from "./chunk-MMOTJIV6.js";
|
|
7
|
+
import {
|
|
8
|
+
writeJson
|
|
9
|
+
} from "./chunk-D3RTGIT4.js";
|
|
10
|
+
|
|
11
|
+
// src/commands/actions/tagError.ts
|
|
12
|
+
var UNKNOWN_TAG_RE = /Unknown action tag\(s\): ([^.]+)\. Valid tags: ([^.]+)\./;
|
|
13
|
+
function splitSlugs(list) {
|
|
14
|
+
return list.split(",").map((slug) => slug.trim()).filter((slug) => slug.length > 0);
|
|
15
|
+
}
|
|
16
|
+
function actionTagFix(message) {
|
|
17
|
+
const match = UNKNOWN_TAG_RE.exec(message);
|
|
18
|
+
if (!match) {
|
|
19
|
+
return null;
|
|
20
|
+
}
|
|
21
|
+
const [, unknownList, validList] = match;
|
|
22
|
+
const unknownTags = splitSlugs(unknownList ?? "");
|
|
23
|
+
const validTags = splitSlugs(validList ?? "");
|
|
24
|
+
const first = unknownTags[0];
|
|
25
|
+
if (first === void 0 || validTags.length === 0) {
|
|
26
|
+
return null;
|
|
27
|
+
}
|
|
28
|
+
return {
|
|
29
|
+
action: "retry_with_a_valid_tag",
|
|
30
|
+
explanation: `The tag(s) ${unknownTags.join(", ")} are not in this company's taxonomy. \`validTags\` below is the complete accepted set \u2014 pick from it and re-run the same command. Only mint a new tag when none of them names this work; a near-duplicate of an existing tag splits the backlog's filter instead of extending it.`,
|
|
31
|
+
unknownTags,
|
|
32
|
+
validTags,
|
|
33
|
+
mintCommand: `baker actions tags create --slug ${first} --description "<what ${first} groups>"`,
|
|
34
|
+
listCommand: "baker actions tags list"
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// src/commands/actions/shared.ts
|
|
39
|
+
function writeOk(data) {
|
|
40
|
+
writeJson({ ok: true, data: data ?? null });
|
|
41
|
+
}
|
|
42
|
+
function failValidation(message) {
|
|
43
|
+
writeJson({ ok: false, error: { code: "VALIDATION_ERROR", message } });
|
|
44
|
+
process.exit(1);
|
|
45
|
+
}
|
|
46
|
+
function failApi(err) {
|
|
47
|
+
if (err instanceof ApiError) {
|
|
48
|
+
const fix = actionTagFix(err.message);
|
|
49
|
+
writeJson({ ok: false, error: { code: err.code, message: err.message, ...fix ? { fix } : {} } });
|
|
50
|
+
process.exit(1);
|
|
51
|
+
}
|
|
52
|
+
if (err instanceof Error) {
|
|
53
|
+
writeJson({ ok: false, error: { code: "INTERNAL_ERROR", message: err.message } });
|
|
54
|
+
process.exit(1);
|
|
55
|
+
}
|
|
56
|
+
writeJson({ ok: false, error: { code: "INTERNAL_ERROR", message: "Unexpected error" } });
|
|
57
|
+
process.exit(1);
|
|
58
|
+
}
|
|
59
|
+
function generateTempId() {
|
|
60
|
+
return `${ACTION_TEMP_ID_PREFIX}${Date.now().toString(36)}_${Math.random().toString(36).slice(2, 10)}`;
|
|
61
|
+
}
|
|
62
|
+
function isTempId(id) {
|
|
63
|
+
return id.startsWith(ACTION_TEMP_ID_PREFIX);
|
|
64
|
+
}
|
|
65
|
+
function parseTagList(value) {
|
|
66
|
+
if (typeof value !== "string") {
|
|
67
|
+
return void 0;
|
|
68
|
+
}
|
|
69
|
+
const tags = value.split(",").map((t) => t.trim()).filter((t) => t.length > 0);
|
|
70
|
+
return [...new Set(tags)];
|
|
71
|
+
}
|
|
72
|
+
var ACTION_PRIORITIES = ["urgent", "high", "medium", "low"];
|
|
73
|
+
function parsePriority(value, { allowClear }) {
|
|
74
|
+
if (value === void 0) {
|
|
75
|
+
return void 0;
|
|
76
|
+
}
|
|
77
|
+
if (typeof value !== "string") {
|
|
78
|
+
failValidation(
|
|
79
|
+
`--priority must be one of: ${ACTION_PRIORITIES.join(", ")}${allowClear ? ", or 'none' to clear" : ""}.`
|
|
80
|
+
);
|
|
81
|
+
}
|
|
82
|
+
const trimmed = value.trim().toLowerCase();
|
|
83
|
+
if (trimmed === "") {
|
|
84
|
+
if (allowClear) {
|
|
85
|
+
return null;
|
|
86
|
+
}
|
|
87
|
+
return void 0;
|
|
88
|
+
}
|
|
89
|
+
if (allowClear && (trimmed === "none" || trimmed === "clear")) {
|
|
90
|
+
return null;
|
|
91
|
+
}
|
|
92
|
+
if (ACTION_PRIORITIES.includes(trimmed)) {
|
|
93
|
+
return trimmed;
|
|
94
|
+
}
|
|
95
|
+
failValidation(
|
|
96
|
+
`Unknown --priority "${value}". Expected one of: ${ACTION_PRIORITIES.join(", ")}${allowClear ? ", or 'none' to clear" : ""}.`
|
|
97
|
+
);
|
|
98
|
+
}
|
|
99
|
+
var FAN_OUT_NUDGE_THRESHOLD = 2;
|
|
100
|
+
var FAN_OUT_THRESHOLD = 3;
|
|
101
|
+
function buildCreateHints({
|
|
102
|
+
advisory,
|
|
103
|
+
description,
|
|
104
|
+
tempId,
|
|
105
|
+
tags,
|
|
106
|
+
prioritySet,
|
|
107
|
+
draftCreateCount
|
|
108
|
+
}) {
|
|
109
|
+
const hints = [];
|
|
110
|
+
if (advisory) {
|
|
111
|
+
hints.push(
|
|
112
|
+
`${advisory.hint} If nothing actually blocks it: baker actions draft remove ${tempId}, then do the work.`
|
|
113
|
+
);
|
|
114
|
+
}
|
|
115
|
+
if (draftCreateCount >= FAN_OUT_THRESHOLD) {
|
|
116
|
+
hints.push(
|
|
117
|
+
`${draftCreateCount} Tasks are staged in this chat. Re-read them with \`baker actions draft\`: can any be done now with a surface you already have, and do any two touch the same system (same container, same campaign, same page)? Those belong in ONE Task \u2014 fold them together with \`baker actions update\` and drop the extras with \`baker actions draft remove <tempId>\`.`
|
|
118
|
+
);
|
|
119
|
+
} else if (draftCreateCount === FAN_OUT_NUDGE_THRESHOLD) {
|
|
120
|
+
hints.push(
|
|
121
|
+
`Second Task staged in this chat. If these two land on the same system (same container, same campaign, same page) they are ONE Task \u2014 fold them with \`baker actions update\` and drop the extra with \`baker actions draft remove ${tempId}\`.`
|
|
122
|
+
);
|
|
123
|
+
}
|
|
124
|
+
hints.push(`Link dependencies: baker actions link --blocker <id> --blocked ${tempId}`);
|
|
125
|
+
if (!description) {
|
|
126
|
+
hints.push("Add description: baker actions update <tempId> --description '...' (what/why/where/done-when)");
|
|
127
|
+
}
|
|
128
|
+
if (!tags || tags.length === 0) {
|
|
129
|
+
hints.push(
|
|
130
|
+
"MISSING --tags. This action is invisible to the backlog's tag filter. Re-run with --tags <slug,...> (`baker actions tags list` for the taxonomy, `baker actions tags create --slug <slug>` to mint) \u2014 or `baker actions update <tempId> --tags <slug,...>`."
|
|
131
|
+
);
|
|
132
|
+
}
|
|
133
|
+
if (!prioritySet) {
|
|
134
|
+
hints.push(
|
|
135
|
+
`MISSING --priority. Without it this action ranks as 'normal' (medium) in the do-first ordering, so urgent/high client work won't surface first. Re-run with --priority ${ACTION_PRIORITIES.join("|")} \u2014 or \`baker actions update <tempId> --priority <level>\`.`
|
|
136
|
+
);
|
|
137
|
+
}
|
|
138
|
+
return hints;
|
|
139
|
+
}
|
|
140
|
+
var ACTIONS_LIST_DEFAULT_LIMIT = 500;
|
|
141
|
+
function buildListHints({ returned, limit }) {
|
|
142
|
+
if (returned < limit) {
|
|
143
|
+
return [];
|
|
144
|
+
}
|
|
145
|
+
return [
|
|
146
|
+
`This list is capped at ${limit} Tasks and came back full, so older Tasks exist that are NOT shown. Do not treat it as the whole backlog \u2014 re-run with --limit ${limit * 2} (or narrow with --status / --search).`
|
|
147
|
+
];
|
|
148
|
+
}
|
|
149
|
+
function buildGetHints(detail) {
|
|
150
|
+
if (detail?.action.status !== "pending" || detail.activeChat !== null) {
|
|
151
|
+
return [];
|
|
152
|
+
}
|
|
153
|
+
return [
|
|
154
|
+
`If you are working on this Task in this chat, claim it first so the Tasks page shows it in progress: baker actions claim ${detail.action._id}`
|
|
155
|
+
];
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
export {
|
|
159
|
+
writeOk,
|
|
160
|
+
failValidation,
|
|
161
|
+
failApi,
|
|
162
|
+
generateTempId,
|
|
163
|
+
isTempId,
|
|
164
|
+
parseTagList,
|
|
165
|
+
ACTION_PRIORITIES,
|
|
166
|
+
parsePriority,
|
|
167
|
+
buildCreateHints,
|
|
168
|
+
ACTIONS_LIST_DEFAULT_LIMIT,
|
|
169
|
+
buildListHints,
|
|
170
|
+
buildGetHints
|
|
171
|
+
};
|
|
172
|
+
//# sourceMappingURL=chunk-6AJ6ZD73.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/actions/tagError.ts","../src/commands/actions/shared.ts"],"sourcesContent":["/**\n * Structured remediation for the one `actions` failure an agent cannot fix from\n * the message alone: an unknown `--tags` slug.\n *\n * The backend already inlines the valid taxonomy in the rejection text\n * (`unknownActionTagMessage`, packages/backend/convex/actionItems/tags/utils.ts),\n * but only `{ code, message }` crosses the HTTP boundary into `ApiError`. Parsing\n * the two lists back out here is what lets `error.fix` carry them as data, so the\n * agent retries in the same call instead of running `tags list` and trying again\n * — the \"list-then-retry dance\" this file exists to end.\n *\n * Fails closed: anything that doesn't match exactly returns `null` and the caller\n * emits the plain message it would have emitted anyway.\n */\n\nconst UNKNOWN_TAG_RE = /Unknown action tag\\(s\\): ([^.]+)\\. Valid tags: ([^.]+)\\./;\n\n// A type alias, not an interface: the envelope's `fix` slot is\n// `{ action, explanation } & Record<string, unknown>`, and only an alias is\n// structurally assignable to that index signature.\nexport type ActionTagFix = {\n action: \"retry_with_a_valid_tag\";\n explanation: string;\n unknownTags: string[];\n validTags: string[];\n mintCommand: string;\n listCommand: string;\n};\n\nfunction splitSlugs(list: string): string[] {\n return list\n .split(\",\")\n .map((slug) => slug.trim())\n .filter((slug) => slug.length > 0);\n}\n\nexport function actionTagFix(message: string): ActionTagFix | null {\n const match = UNKNOWN_TAG_RE.exec(message);\n if (!match) {\n return null;\n }\n const [, unknownList, validList] = match;\n const unknownTags = splitSlugs(unknownList ?? \"\");\n const validTags = splitSlugs(validList ?? \"\");\n const first = unknownTags[0];\n if (first === undefined || validTags.length === 0) {\n return null;\n }\n return {\n action: \"retry_with_a_valid_tag\",\n explanation:\n `The tag(s) ${unknownTags.join(\", \")} are not in this company's taxonomy. ` +\n `\\`validTags\\` below is the complete accepted set — pick from it and re-run the same command. ` +\n `Only mint a new tag when none of them names this work; a near-duplicate of an existing tag ` +\n `splits the backlog's filter instead of extending it.`,\n unknownTags,\n validTags,\n mintCommand: `baker actions tags create --slug ${first} --description \"<what ${first} groups>\"`,\n listCommand: \"baker actions tags list\",\n };\n}\n","import { ACTION_TEMP_ID_PREFIX } from \"@baker/api\";\nimport { ApiError } from \"../../client.ts\";\nimport { writeJson } from \"../../output.ts\";\nimport type { AdvisoryHint } from \"./advisory.ts\";\nimport { actionTagFix } from \"./tagError.ts\";\n\nexport function writeOk<T = null>(data?: T): void {\n writeJson({ ok: true, data: (data ?? null) as T });\n}\n\nexport function failValidation(message: string): never {\n writeJson({ ok: false, error: { code: \"VALIDATION_ERROR\", message } });\n process.exit(1);\n}\n\n// Every actions command routes its API failures through here, so attaching the\n// tag `fix` at this one point covers `create`, `update`, and any later write\n// path that hits the same strict tag gate. Non-tag errors are untouched.\nexport function failApi(err: unknown): never {\n if (err instanceof ApiError) {\n const fix = actionTagFix(err.message);\n writeJson({ ok: false, error: { code: err.code, message: err.message, ...(fix ? { fix } : {}) } });\n process.exit(1);\n }\n if (err instanceof Error) {\n writeJson({ ok: false, error: { code: \"INTERNAL_ERROR\", message: err.message } });\n process.exit(1);\n }\n writeJson({ ok: false, error: { code: \"INTERNAL_ERROR\", message: \"Unexpected error\" } });\n process.exit(1);\n}\n\nexport function generateTempId(): string {\n return `${ACTION_TEMP_ID_PREFIX}${Date.now().toString(36)}_${Math.random().toString(36).slice(2, 10)}`;\n}\n\nexport function isTempId(id: string): boolean {\n return id.startsWith(ACTION_TEMP_ID_PREFIX);\n}\n\n// Parse a `--tags a,b,c` CSV flag into a deduped slug list. Returns undefined\n// when the flag was omitted so callers can distinguish \"not provided\" from\n// \"explicitly cleared\" (empty list).\nexport function parseTagList(value: unknown): string[] | undefined {\n if (typeof value !== \"string\") {\n return undefined;\n }\n const tags = value\n .split(\",\")\n .map((t) => t.trim())\n .filter((t) => t.length > 0);\n return [...new Set(tags)];\n}\n\n// User priority for an action. Drives the dependency-aware \"Do first\" ordering\n// in `baker actions list`. Unset == \"normal\" (ranks as medium).\nexport const ACTION_PRIORITIES = [\"urgent\", \"high\", \"medium\", \"low\"] as const;\ntype ActionPriority = (typeof ACTION_PRIORITIES)[number];\n\n// Parse a `--priority` flag. Returns:\n// - undefined → flag omitted (leave unchanged on update; unset on create)\n// - null → explicit clear (only meaningful on update; \"\" or \"none\")\n// - one of ACTION_PRIORITIES on a valid value\n// Fails validation on any other string so the agent gets an immediate error.\nexport function parsePriority(\n value: unknown,\n { allowClear }: { allowClear: boolean },\n): ActionPriority | null | undefined {\n if (value === undefined) {\n return undefined;\n }\n if (typeof value !== \"string\") {\n failValidation(\n `--priority must be one of: ${ACTION_PRIORITIES.join(\", \")}${allowClear ? \", or 'none' to clear\" : \"\"}.`,\n );\n }\n const trimmed = value.trim().toLowerCase();\n if (trimmed === \"\") {\n if (allowClear) {\n return null;\n }\n return undefined;\n }\n if (allowClear && (trimmed === \"none\" || trimmed === \"clear\")) {\n return null;\n }\n if ((ACTION_PRIORITIES as readonly string[]).includes(trimmed)) {\n return trimmed as ActionPriority;\n }\n failValidation(\n `Unknown --priority \"${value}\". Expected one of: ${ACTION_PRIORITIES.join(\", \")}${allowClear ? \", or 'none' to clear\" : \"\"}.`,\n );\n}\n\n// Two tiers, because the two counts want different amounts of words.\n//\n// The mean chat that files anything files ~2, and two Tasks is already above\n// the bar (\"a Task is the exception\"), so a 2→1 merge is the cheapest win\n// available — but firing the full paragraph on the modal chat is how you train\n// the model to skim `hints[]` and miss the do-it-now redirect above it. So 2\n// gets one sentence.\n//\n// Three is where \"capturing follow-ups\" stops looking like a backlog and\n// starts looking like a to-do list handed back to the user. That gets the\n// paragraph, from there on, every time — a legitimate 3-Task chat (an approved\n// plan) still benefits from being asked whether any two merge.\nexport const FAN_OUT_NUDGE_THRESHOLD = 2;\nexport const FAN_OUT_THRESHOLD = 3;\n\n// Every hint `create` returns, in reading order. The two that argue against\n// the action existing come first — by the time the agent reaches \"add tags\" it\n// has already accepted the action as a given.\nexport function buildCreateHints({\n advisory,\n description,\n tempId,\n tags,\n prioritySet,\n draftCreateCount,\n}: {\n /** What the Task reads as (`advisory.ts`), decided before: recurring work, or work a surface does now. */\n advisory: AdvisoryHint | null;\n description: string;\n tempId: string;\n tags: string[] | undefined;\n prioritySet: boolean;\n draftCreateCount: number;\n}): string[] {\n const hints: string[] = [];\n if (advisory) {\n hints.push(\n `${advisory.hint} If nothing actually blocks it: baker actions draft remove ${tempId}, then do the work.`,\n );\n }\n // The advisory reading is a judgment; this count is a fact. It keeps firing on\n // every further create — a chat that fanned out into a to-do list is the\n // failure the whole hint set exists to catch.\n if (draftCreateCount >= FAN_OUT_THRESHOLD) {\n hints.push(\n `${draftCreateCount} Tasks are staged in this chat. Re-read them with \\`baker actions draft\\`: can any be done now with a surface you already have, and do any two touch the same system (same container, same campaign, same page)? Those belong in ONE Task — fold them together with \\`baker actions update\\` and drop the extras with \\`baker actions draft remove <tempId>\\`.`,\n );\n } else if (draftCreateCount === FAN_OUT_NUDGE_THRESHOLD) {\n hints.push(\n `Second Task staged in this chat. If these two land on the same system (same container, same campaign, same page) they are ONE Task — fold them with \\`baker actions update\\` and drop the extra with \\`baker actions draft remove ${tempId}\\`.`,\n );\n }\n hints.push(`Link dependencies: baker actions link --blocker <id> --blocked ${tempId}`);\n if (!description) {\n hints.push(\"Add description: baker actions update <tempId> --description '...' (what/why/where/done-when)\");\n }\n if (!tags || tags.length === 0) {\n hints.push(\n \"MISSING --tags. This action is invisible to the backlog's tag filter. Re-run with --tags <slug,...> (`baker actions tags list` for the taxonomy, `baker actions tags create --slug <slug>` to mint) — or `baker actions update <tempId> --tags <slug,...>`.\",\n );\n }\n if (!prioritySet) {\n hints.push(\n `MISSING --priority. Without it this action ranks as 'normal' (medium) in the do-first ordering, so urgent/high client work won't surface first. Re-run with --priority ${ACTION_PRIORITIES.join(\"|\")} — or \\`baker actions update <tempId> --priority <level>\\`.`,\n );\n }\n return hints;\n}\n\n/**\n * How far back a flat `baker actions list` reads when the caller does not say.\n *\n * Sent explicitly rather than left to the server default so this side knows the\n * window it asked for, and can therefore tell when a read came back exactly full\n * — the only evidence available that older Tasks exist. Without that the agent\n * reads a truncated backlog as a complete one and reports finished work that was\n * never seen.\n */\nexport const ACTIONS_LIST_DEFAULT_LIMIT = 500;\n\nexport function buildListHints({ returned, limit }: { returned: number; limit: number }): string[] {\n if (returned < limit) {\n return [];\n }\n return [\n `This list is capped at ${limit} Tasks and came back full, so older Tasks exist that are NOT shown. Do not treat it as the whole backlog — re-run with --limit ${limit * 2} (or narrow with --status / --search).`,\n ];\n}\n\n/**\n * A pending Task nobody is working on is one the agent was most likely asked to\n * solve: without a claim the dashboard shows no work in progress on it.\n */\nexport function buildGetHints(\n detail: { action: { _id: string; status: string }; activeChat: unknown } | null,\n): string[] {\n if (detail?.action.status !== \"pending\" || detail.activeChat !== null) {\n return [];\n }\n return [\n `If you are working on this Task in this chat, claim it first so the Tasks page shows it in progress: baker actions claim ${detail.action._id}`,\n ];\n}\n"],"mappings":"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","names":[]}
|