@koda-sl/baker-cli 0.553.0 → 0.555.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -4
- package/dist/account-H5CL6KUY.js +82 -0
- package/dist/account-assets-QMKT5AT7.js +290 -0
- package/dist/account-level-BELF6JHB.js +611 -0
- package/dist/account-reads-T6GTSAXE.js +219 -0
- package/dist/account-users-ZGJCVGX4.js +64 -0
- package/dist/accounts-EXQNPSYH.js +701 -0
- package/dist/accounts-GNVLFZ3X.js +80 -0
- package/dist/actions-Q2BMP27K.js +55 -0
- package/dist/activecampaign-SJO2YK6M.js +938 -0
- package/dist/add-Q3FGYX5Q.js +305 -0
- package/dist/add-YGQBSEVK.js +107 -0
- package/dist/ads-7QKQEHKT.js +48 -0
- package/dist/ads-H5AEYIY3.js +120 -0
- package/dist/adsets-BUIT7HF2.js +182 -0
- package/dist/advertisers-ZAHXMIAT.js +123 -0
- package/dist/analytics-B6ER4TQ7.js +2437 -0
- package/dist/analytics-QW5ZXDJR.js +447 -0
- package/dist/animate-Q43SOWB4.js +480 -0
- package/dist/asset-writes-JVFE457M.js +50 -0
- package/dist/assign-HJ2NXW4W.js +80 -0
- package/dist/audience-size-IM3N6W7C.js +76 -0
- package/dist/audience-writes-DWSCHYQF.js +327 -0
- package/dist/audiences-PYBJU2GV.js +106 -0
- package/dist/audit-N3LAQMD4.js +154 -0
- package/dist/autocomplete-FBTPT5MA.js +114 -0
- package/dist/avatars-Y3DALQIU.js +38 -0
- package/dist/bid-pricing-UUAC4GTQ.js +103 -0
- package/dist/brand-IZYD5SBJ.js +22 -0
- package/dist/brief-NA3E2W4P.js +543 -0
- package/dist/campaign-groups-3IUOLEK2.js +99 -0
- package/dist/campaign-writes-Y7QNFOE7.js +168 -0
- package/dist/campaigns-2Z6WXIVA.js +130 -0
- package/dist/campaigns-B2AUW4TV.js +111 -0
- package/dist/campaigns-IDEA3LOK.js +113 -0
- package/dist/canvas-WHFDCHUP.js +46 -0
- package/dist/capabilities-FVMMLKPY.js +147 -0
- package/dist/catalog-URTZYAPU.js +66 -0
- package/dist/catalogs-OEUNVE4N.js +782 -0
- package/dist/chatgpt-YBHXCXWZ.js +47 -0
- package/dist/chats-EENMDXWZ.js +449 -0
- package/dist/check-7735BPTR.js +107 -0
- package/dist/chunk-2QGGI7MF.js +831 -0
- package/dist/chunk-3HKZU3Y5.js +19 -0
- package/dist/chunk-3OMFSYQ3.js +344 -0
- package/dist/chunk-4N3Y5QWW.js +29 -0
- package/dist/chunk-4N3Y5QWW.js.map +1 -0
- package/dist/chunk-65CQYRMK.js +98 -0
- package/dist/chunk-6MZFOMLU.js +225 -0
- package/dist/chunk-6PT22YSR.js +91 -0
- package/dist/chunk-6WVYBY2G.js +8954 -0
- package/dist/chunk-757ZFIL4.js +910 -0
- package/dist/chunk-75HAGIH6.js +61 -0
- package/dist/chunk-7BVRFQN4.js +430 -0
- package/dist/chunk-7TDJCDKT.js +163 -0
- package/dist/chunk-AL4MRNYI.js +709 -0
- package/dist/chunk-BMNOMOWP.js +156 -0
- package/dist/chunk-BS2MC62Y.js +203 -0
- package/dist/chunk-C6PWVZQE.js +103 -0
- package/dist/chunk-CDTAKCJR.js +178 -0
- package/dist/chunk-CH44XVPE.js +142 -0
- package/dist/chunk-CJWLDKFO.js +494 -0
- package/dist/chunk-DAMC4FKK.js +224 -0
- package/dist/chunk-DSDI5DY3.js +115 -0
- package/dist/chunk-DSDI5DY3.js.map +1 -0
- package/dist/chunk-DWPOAU4Z.js +5471 -0
- package/dist/chunk-EENYLJUN.js +225 -0
- package/dist/chunk-EJBLF2LI.js +167 -0
- package/dist/chunk-EJMPKO6V.js +287 -0
- package/dist/chunk-EKXLJRO3.js +197 -0
- package/dist/chunk-EL3TDR5S.js +1744 -0
- package/dist/chunk-GRDZWZKQ.js +249 -0
- package/dist/chunk-GVUBRSD3.js +51 -0
- package/dist/chunk-GYREQDTJ.js +392 -0
- package/dist/chunk-HBRXFQQV.js +3510 -0
- package/dist/chunk-HLHR3EK2.js +23 -0
- package/dist/chunk-IMFIRELA.js +547 -0
- package/dist/chunk-IOKD77L2.js +89 -0
- package/dist/chunk-KDAINT54.js +131 -0
- package/dist/chunk-KKKZRQFY.js +297 -0
- package/dist/chunk-KOEXPN3G.js +2209 -0
- package/dist/chunk-KT5JVIPZ.js +91 -0
- package/dist/chunk-LC6PVPJX.js +76 -0
- package/dist/chunk-LETR3RQE.js +275 -0
- package/dist/chunk-MKLAZD23.js +7857 -0
- package/dist/chunk-MKLAZD23.js.map +1 -0
- package/dist/chunk-N3PASNUA.js +136 -0
- package/dist/chunk-NL77JRKE.js +170 -0
- package/dist/chunk-OBQ5YUOZ.js +1902 -0
- package/dist/chunk-OTFHIGEO.js +207 -0
- package/dist/chunk-PCUWBZM3.js +169 -0
- package/dist/chunk-PNWXTOQ4.js +455 -0
- package/dist/chunk-PQFTKHDA.js +479 -0
- package/dist/chunk-Q5DFEVLE.js +148 -0
- package/dist/chunk-QXCGWAC6.js +399 -0
- package/dist/chunk-RKDMYL4A.js +438 -0
- package/dist/chunk-SCBSAIVV.js +392 -0
- package/dist/chunk-SPBUE7R4.js +685 -0
- package/dist/chunk-TWFZIHKK.js +219 -0
- package/dist/chunk-U6G6ALXP.js +66 -0
- package/dist/chunk-UCJAPB5Y.js +334 -0
- package/dist/chunk-VFDWUIGR.js +57 -0
- package/dist/chunk-WC3YSN7L.js +604 -0
- package/dist/chunk-WIOPEK7K.js +930 -0
- package/dist/chunk-X3GWGFZP.js +5368 -0
- package/dist/chunk-X6U3B6YK.js +343 -0
- package/dist/chunk-X6U3B6YK.js.map +1 -0
- package/dist/chunk-XYKODRQR.js +191 -0
- package/dist/chunk-XZAVBONI.js +64 -0
- package/dist/chunk-Y5PNLB24.js +84 -0
- package/dist/claim-PGDIRXIC.js +200 -0
- package/dist/cli.js +34 -34
- package/dist/companies-WTPKGEB3.js +198 -0
- package/dist/company-6H2H73YP.js +308 -0
- package/dist/complete-2QBC3POO.js +84 -0
- package/dist/connect-35YPFAUL.js +45 -0
- package/dist/conversation-YZFNEWDV.js +96 -0
- package/dist/conversion-upload-command-J2FIO74Y.js +439 -0
- package/dist/conversions-ZFDBD3OU.js +140 -0
- package/dist/copy-writes-2B36QJUY.js +170 -0
- package/dist/create-3H67EUTO.js +62 -0
- package/dist/create-ALTOBDP4.js +239 -0
- package/dist/create-C3MWUYX2.js +210 -0
- package/dist/create-WHTT6IXY.js +135 -0
- package/dist/creatives-22BYP5VN.js +118 -0
- package/dist/creatives-LTIV3XPT.js +58 -0
- package/dist/creatives-Y2WLGDJW.js +223 -0
- package/dist/credentials-J5DMQJWN.js +290 -0
- package/dist/critique-RFTS2I46.js +232 -0
- package/dist/critique-X6XVPIUG.js +1451 -0
- package/dist/crm-LWRGJYHW.js +227 -0
- package/dist/crm-RUNEJY2R.js +323 -0
- package/dist/crop-4V4P3SKI.js +113 -0
- package/dist/custom-conversions-V7QPZIB4.js +128 -0
- package/dist/customers-IDB6NLQ6.js +65 -0
- package/dist/delete-2QKVUKKB.js +67 -0
- package/dist/delete-B7BKF24X.js +57 -0
- package/dist/delete-HBRYUWAA.js +69 -0
- package/dist/demographics-JHB3NFLU.js +141 -0
- package/dist/dimensions-KI3OENZD.js +101 -0
- package/dist/discard-FEJ6YL22.js +69 -0
- package/dist/domain-JYWNXBKS.js +101 -0
- package/dist/download-H3ZDQTFG.js +337 -0
- package/dist/download-H3ZDQTFG.js.map +1 -0
- package/dist/download-LOBPOIU5.js +172 -0
- package/dist/draft-2JVWCYRF.js +134 -0
- package/dist/draft-2JVWCYRF.js.map +1 -0
- package/dist/draft-4WMYCA7I.js +315 -0
- package/dist/draft-4WMYCA7I.js.map +1 -0
- package/dist/draft-7VGBJIJU.js +260 -0
- package/dist/draft-7VGBJIJU.js.map +1 -0
- package/dist/draft-DR5BJK7V.js +138 -0
- package/dist/draft-DR5BJK7V.js.map +1 -0
- package/dist/draft-EB5ZFDVN.js +557 -0
- package/dist/draft-EB5ZFDVN.js.map +1 -0
- package/dist/draft-I2FLECEX.js +220 -0
- package/dist/draft-N56HPS36.js +374 -0
- package/dist/draft-N56HPS36.js.map +1 -0
- package/dist/draft-ZLZRTPY6.js +332 -0
- package/dist/draft-ZLZRTPY6.js.map +1 -0
- package/dist/engine/index.js +5 -5
- package/dist/experiments-WVTBHD6G.js +236 -0
- package/dist/extract-UELZV3NI.js +142 -0
- package/dist/extract-UELZV3NI.js.map +1 -0
- package/dist/facets-V2ITIUKD.js +117 -0
- package/dist/feedback-PXWPR3NZ.js +136 -0
- package/dist/feedback-QSIPSNAL.js +115 -0
- package/dist/feedback-record-DJHJWJAF.js +269 -0
- package/dist/fetch-QVOOC3FA.js +204 -0
- package/dist/fit-REGMM46H.js +65 -0
- package/dist/flows-EZV3KCV6.js +250 -0
- package/dist/fonts-NUX66HEI.js +39 -0
- package/dist/forecast-W6HKYVX5.js +121 -0
- package/dist/forecast-XDRKCR65.js +169 -0
- package/dist/funnel-3YABA3G2.js +397 -0
- package/dist/ga4-IJ2UUICC.js +55 -0
- package/dist/generate-22HT24SA.js +263 -0
- package/dist/get-GQQLBE5C.js +82 -0
- package/dist/get-NL3YZFUJ.js +62 -0
- package/dist/google-BPB5JLJG.js +162 -0
- package/dist/google-BPB5JLJG.js.map +1 -0
- package/dist/google-UJ4YJGTJ.js +3285 -0
- package/dist/google-ads-RRKKSKDD.js +198 -0
- package/dist/history-2UANIBRN.js +102 -0
- package/dist/history-YZ727ZRG.js +153 -0
- package/dist/hubspot-KWLXJ6QD.js +782 -0
- package/dist/ideas-ZO533P5Y.js +45 -0
- package/dist/images-VUWUKGD6.js +92 -0
- package/dist/ingest-C2HJ5LUY.js +27 -0
- package/dist/ingest-H53JR4GK.js +123 -0
- package/dist/inspect-BM6GJHQV.js +192 -0
- package/dist/instant-experiences-U6U3FYIH.js +264 -0
- package/dist/keyword-metrics-R2QCEDYW.js +200 -0
- package/dist/keywords-for-site-NBV72C3W.js +131 -0
- package/dist/landing-L3WDTW4D.js +28 -0
- package/dist/leads-6PF7ZWCH.js +115 -0
- package/dist/leads-IG3IIHXG.js +541 -0
- package/dist/learn-V2LIBEEY.js +207 -0
- package/dist/line-item-writes-GMNWL4DI.js +211 -0
- package/dist/line-items-KPIKXLG4.js +107 -0
- package/dist/link-X7IYKR5V.js +67 -0
- package/dist/linkedin-RONIUYLJ.js +1330 -0
- package/dist/linkedin-RONIUYLJ.js.map +1 -0
- package/dist/linkedin-person-47XFTBIN.js +139 -0
- package/dist/list-PHNA7QIF.js +154 -0
- package/dist/list-QF3BANBM.js +306 -0
- package/dist/list-SB3SUTH6.js +67 -0
- package/dist/log-JFLSSUJ6.js +95 -0
- package/dist/make-ZIJQZD5K.js +1367 -0
- package/dist/map-NYJT2MGI.js +436 -0
- package/dist/mcp-ABQEICYR.js +729 -0
- package/dist/media-AT3VV3PU.js +18 -0
- package/dist/media-sources-L4BI7HFL.js +35 -0
- package/dist/members-BX37KHKO.js +47 -0
- package/dist/meta-2GJZPVKM.js +122 -0
- package/dist/normalize-M3VMWF4W.js +806 -0
- package/dist/normalize-MA2FBBIV.js +144 -0
- package/dist/options-NMWWF2HN.js +125 -0
- package/dist/organization-GRAA6ZXU.js +949 -0
- package/dist/page-photos-ABK4CJME.js +118 -0
- package/dist/performance-MQLRSH44.js +5565 -0
- package/dist/performance-RUBIGEAQ.js +27 -0
- package/dist/promoted-tweet-writes-3P6QFGLN.js +183 -0
- package/dist/promoted-tweets-TGFPH7UI.js +119 -0
- package/dist/publish-OUVO65Z5.js +344 -0
- package/dist/reddit-HWQCUSEM.js +29 -0
- package/dist/refresh-ENQDQGTK.js +97 -0
- package/dist/release-ZTVXLUQS.js +63 -0
- package/dist/remove-XAFRT7O7.js +53 -0
- package/dist/reopen-SWSZHXJZ.js +66 -0
- package/dist/rerun-MA2GB6WL.js +96 -0
- package/dist/research-TDH4OBX6.js +265 -0
- package/dist/research-WWJUNYSJ.js +75 -0
- package/dist/reset-34HTKUBQ.js +57 -0
- package/dist/reset-KMMGLM7W.js +57 -0
- package/dist/resolve-2CIIKADD.js +124 -0
- package/dist/retry-V7KZIZKR.js +63 -0
- package/dist/retry-YXM23NSB.js +65 -0
- package/dist/revenue-D4L6U2CW.js +91 -0
- package/dist/rule-writes-HUBHHYEO.js +530 -0
- package/dist/rules-47LFGCPW.js +217 -0
- package/dist/rules-F6RNUOXP.js +99 -0
- package/dist/rules-add-SAQRESVK.js +465 -0
- package/dist/run-FRPO2WNQ.js +69 -0
- package/dist/run-HENSSAQW.js +71 -0
- package/dist/scaffold-ad-QQBCUYUO.js +1513 -0
- package/dist/scaffold-static-ad-WUOAQEXS.js +1011 -0
- package/dist/scaffold-video-KFQAKQUO.js +885 -0
- package/dist/schedule-S4XAVVEI.js +64 -0
- package/dist/scheduled-agents-ZWAP6QLC.js +55 -0
- package/dist/schema-EJ2XPUN6.js +135 -0
- package/dist/search-2BAY3KKX.js +177 -0
- package/dist/select-K2SXPDDJ.js +110 -0
- package/dist/set-prompt-BZFOV3EB.js +199 -0
- package/dist/setup-links-QT63UZBR.js +144 -0
- package/dist/shopify-Q7TQIQ6N.js +4009 -0
- package/dist/shopify-Q7TQIQ6N.js.map +1 -0
- package/dist/site-S6QVMP7W.js +180 -0
- package/dist/sources-DTQ4NQAM.js +30 -0
- package/dist/sources-ORG5KQSW.js +457 -0
- package/dist/stale-5O7BQVTN.js +90 -0
- package/dist/status-4G2YUCZR.js +65 -0
- package/dist/stock-5SQ2PGEC.js +211 -0
- package/dist/stock-5SQ2PGEC.js.map +1 -0
- package/dist/studies-QLSKON6M.js +250 -0
- package/dist/studio-IDXFTGHP.js +49 -0
- package/dist/study-writes-GBUUKX4O.js +471 -0
- package/dist/sync-7LJZPHM3.js +57 -0
- package/dist/sync-definition-Q3XUSEZJ.js +70 -0
- package/dist/tag-manager-5WZPX2FJ.js +43 -0
- package/dist/tags-2ARVNEYS.js +23 -0
- package/dist/tags-F4IT7RQR.js +23 -0
- package/dist/tags-F7ZO52EM.js +23 -0
- package/dist/tags-NBGGBHXR.js +227 -0
- package/dist/tags-TCSGQYDR.js +26 -0
- package/dist/targeting-DAUTJDUB.js +762 -0
- package/dist/targeting-criteria-H42LRULY.js +113 -0
- package/dist/targets-WB4E5XL2.js +106 -0
- package/dist/testimonials-KLF3Y4QO.js +32 -0
- package/dist/themes-BGBDYQQK.js +95 -0
- package/dist/top-companies-C2W5TJ7G.js +111 -0
- package/dist/transcript-S7VR2GJE.js +165 -0
- package/dist/translate-CBITGC7C.js +603 -0
- package/dist/triggers-EOKMR74O.js +144 -0
- package/dist/unlink-PC3TMWUT.js +70 -0
- package/dist/unstage-SU2ATDSZ.js +88 -0
- package/dist/update-DKX3EEES.js +155 -0
- package/dist/update-JYZ45YJG.js +66 -0
- package/dist/update-TAZSUOAS.js +192 -0
- package/dist/update-WRJUH2NM.js +101 -0
- package/dist/upload-BLXTMK5Q.js +130 -0
- package/dist/url-params-YVOFU6MK.js +101 -0
- package/dist/validate-SAQEORZY.js +125 -0
- package/dist/videos-GOIDZVVD.js +41 -0
- package/dist/viewer-check-KTRRUVZN.js +83 -0
- package/dist/web-6KUM7Q7S.js +173 -0
- package/dist/winning-ads-LOMI72Q2.js +86 -0
- package/dist/write-commands-3U5ZMIHH.js +1524 -0
- package/dist/write-commands-F5XPPLOO.js +1169 -0
- package/dist/x-APVY4YHX.js +47 -0
- package/package.json +1 -1
- package/dist/account-XIC5TTV3.js +0 -82
- package/dist/account-assets-V7KSSTVP.js +0 -290
- package/dist/account-level-2KLG6HTG.js +0 -611
- package/dist/account-reads-ZPZUCB3P.js +0 -219
- package/dist/account-users-XTUKRDWK.js +0 -64
- package/dist/accounts-25JL77F7.js +0 -701
- package/dist/accounts-AF72N4NV.js +0 -80
- package/dist/actions-IJO4JW7J.js +0 -55
- package/dist/activecampaign-PBTUMTO5.js +0 -938
- package/dist/add-KHQXXHC5.js +0 -107
- package/dist/add-YQPFRDVM.js +0 -305
- package/dist/ads-EVQ37EV3.js +0 -120
- package/dist/ads-O5PUYU7H.js +0 -48
- package/dist/adsets-4IW5TRAK.js +0 -182
- package/dist/advertisers-JNOWSZZC.js +0 -123
- package/dist/analytics-CZMCM7XC.js +0 -2437
- package/dist/analytics-K5FCQLI5.js +0 -447
- package/dist/animate-C6BRMRRD.js +0 -480
- package/dist/asset-writes-RF6XTWLY.js +0 -50
- package/dist/assign-WXZNXVJH.js +0 -80
- package/dist/audience-size-ZCWH4CFC.js +0 -76
- package/dist/audience-writes-5KT6FHUY.js +0 -327
- package/dist/audiences-ZDOK3OYC.js +0 -106
- package/dist/audit-RBRXPPKK.js +0 -154
- package/dist/autocomplete-P5OU7QVL.js +0 -114
- package/dist/avatars-UHBA2BQ3.js +0 -38
- package/dist/bid-pricing-LHNYSDG4.js +0 -103
- package/dist/brand-7WL3O74X.js +0 -22
- package/dist/brief-HWZU75WP.js +0 -543
- package/dist/campaign-groups-BYS3GNEP.js +0 -99
- package/dist/campaign-writes-N6OHAK6V.js +0 -168
- package/dist/campaigns-2E4AQBFB.js +0 -113
- package/dist/campaigns-3U5IRXSV.js +0 -130
- package/dist/campaigns-QLKGN4FB.js +0 -111
- package/dist/canvas-GGHJ26ZM.js +0 -46
- package/dist/capabilities-TKEEHR7K.js +0 -147
- package/dist/catalog-7KQN43HS.js +0 -66
- package/dist/catalogs-5CHPI4H6.js +0 -782
- package/dist/chatgpt-RQQWU7AP.js +0 -47
- package/dist/chats-PBXYH2LT.js +0 -449
- package/dist/check-SVYI72DF.js +0 -107
- package/dist/chunk-2RL2T5JO.js +0 -142
- package/dist/chunk-3HLQZTQ3.js +0 -685
- package/dist/chunk-42JTSTQ3.js +0 -207
- package/dist/chunk-4AEAL63J.js +0 -203
- package/dist/chunk-4PM32OS3.js +0 -57
- package/dist/chunk-4ULGRGBG.js +0 -333
- package/dist/chunk-4ULGRGBG.js.map +0 -1
- package/dist/chunk-4XMPL3RU.js +0 -19
- package/dist/chunk-5AOTCCTT.js +0 -831
- package/dist/chunk-5NLUTJCQ.js +0 -5368
- package/dist/chunk-6FWVRXDW.js +0 -64
- package/dist/chunk-6MXM6DA6.js +0 -225
- package/dist/chunk-73MLPGI2.js +0 -66
- package/dist/chunk-7OVPQX4X.js +0 -163
- package/dist/chunk-B5UVOCYA.js +0 -344
- package/dist/chunk-BRNZMKO4.js +0 -604
- package/dist/chunk-CJFCQMUY.js +0 -438
- package/dist/chunk-D6VQPBVM.js +0 -5471
- package/dist/chunk-DK66PUXL.js +0 -275
- package/dist/chunk-DNH2ZPZP.js +0 -287
- package/dist/chunk-DWSSQBLO.js +0 -103
- package/dist/chunk-ESXUIV6V.js +0 -169
- package/dist/chunk-FSEFZZ2T.js +0 -930
- package/dist/chunk-I4BQTVMY.js +0 -225
- package/dist/chunk-IBBGABK2.js +0 -91
- package/dist/chunk-IC4MREQH.js +0 -219
- package/dist/chunk-IJ6NQKAT.js +0 -61
- package/dist/chunk-IZROFBH7.js +0 -167
- package/dist/chunk-J5UTL4HE.js +0 -3510
- package/dist/chunk-JBMZVC5D.js +0 -91
- package/dist/chunk-LFELUKCA.js +0 -249
- package/dist/chunk-LMOZWB4G.js +0 -98
- package/dist/chunk-LVLTWPRR.js +0 -392
- package/dist/chunk-N5AIO23H.js +0 -2209
- package/dist/chunk-NE3OMP7R.js +0 -23
- package/dist/chunk-NO52OH3Y.js +0 -156
- package/dist/chunk-NRIKX35V.js +0 -399
- package/dist/chunk-NZYWKZ3Q.js +0 -76
- package/dist/chunk-OIORUNKH.js +0 -1902
- package/dist/chunk-OKXLOLEV.js +0 -455
- package/dist/chunk-P4MXGSSJ.js +0 -178
- package/dist/chunk-PYAR343F.js +0 -479
- package/dist/chunk-QFVZIQRQ.js +0 -8954
- package/dist/chunk-QI5UKQX3.js +0 -297
- package/dist/chunk-RCNAKWK7.js +0 -7852
- package/dist/chunk-RCNAKWK7.js.map +0 -1
- package/dist/chunk-RHNNFCRY.js +0 -494
- package/dist/chunk-RJQT7QXX.js +0 -547
- package/dist/chunk-RMZLB4AH.js +0 -197
- package/dist/chunk-S4NMWYHW.js +0 -51
- package/dist/chunk-S6XZIBWV.js +0 -392
- package/dist/chunk-SFQFUQDW.js +0 -170
- package/dist/chunk-SP3MHBME.js +0 -89
- package/dist/chunk-TGT4XHLX.js +0 -131
- package/dist/chunk-VX6GTRT3.js +0 -910
- package/dist/chunk-WGJ2QEW4.js +0 -334
- package/dist/chunk-XB4NKZAQ.js +0 -136
- package/dist/chunk-XSBX3LJP.js +0 -430
- package/dist/chunk-XXBP73RV.js +0 -148
- package/dist/chunk-Y3SK6EMU.js +0 -84
- package/dist/chunk-Y4ZBNZBU.js +0 -191
- package/dist/chunk-YCAJCVW4.js +0 -224
- package/dist/chunk-ZANXEMON.js +0 -1744
- package/dist/chunk-ZMTWQDFC.js +0 -709
- package/dist/claim-Q76T3MYA.js +0 -200
- package/dist/companies-MLWRWQ73.js +0 -198
- package/dist/company-X5Z67PMK.js +0 -308
- package/dist/complete-3CFP6XVY.js +0 -84
- package/dist/connect-QXFAB4RJ.js +0 -45
- package/dist/conversation-C6K6IZTH.js +0 -96
- package/dist/conversion-upload-command-D7S5HF22.js +0 -439
- package/dist/conversions-4ILDIG3K.js +0 -140
- package/dist/copy-writes-FYXKHJDB.js +0 -170
- package/dist/create-LDQ3YHET.js +0 -62
- package/dist/create-TKOG7DNJ.js +0 -210
- package/dist/create-WFMJOZLO.js +0 -135
- package/dist/create-WQNT345R.js +0 -239
- package/dist/creatives-45SJAD3G.js +0 -118
- package/dist/creatives-E4CTMZJJ.js +0 -223
- package/dist/creatives-Q4OXNCTT.js +0 -58
- package/dist/credentials-E2AIMWKX.js +0 -290
- package/dist/critique-EWV3O3TD.js +0 -1451
- package/dist/critique-JVT6X2T3.js +0 -232
- package/dist/crm-NQH5FTK6.js +0 -227
- package/dist/crm-YGQKK76D.js +0 -323
- package/dist/crop-KV24WHOR.js +0 -113
- package/dist/custom-conversions-EJNX4MCK.js +0 -128
- package/dist/customers-YFEPJF4G.js +0 -65
- package/dist/delete-2UJVTHRE.js +0 -67
- package/dist/delete-7QAJSOCO.js +0 -69
- package/dist/delete-O4RO2HMR.js +0 -57
- package/dist/demographics-YWBHAMZ5.js +0 -141
- package/dist/dimensions-YXOXHOXW.js +0 -101
- package/dist/discard-YX4XUXG3.js +0 -69
- package/dist/domain-5R6CYVFY.js +0 -101
- package/dist/download-D2O4RYJ3.js +0 -172
- package/dist/download-SYWQXF57.js +0 -299
- package/dist/download-SYWQXF57.js.map +0 -1
- package/dist/draft-2NKXOBT6.js +0 -106
- package/dist/draft-2NKXOBT6.js.map +0 -1
- package/dist/draft-3MPADYS4.js +0 -220
- package/dist/draft-AAEGEQZZ.js +0 -247
- package/dist/draft-AAEGEQZZ.js.map +0 -1
- package/dist/draft-CRDQR5I3.js +0 -342
- package/dist/draft-CRDQR5I3.js.map +0 -1
- package/dist/draft-I63QQ7LY.js +0 -106
- package/dist/draft-I63QQ7LY.js.map +0 -1
- package/dist/draft-PO5X4UVA.js +0 -313
- package/dist/draft-PO5X4UVA.js.map +0 -1
- package/dist/draft-QCKJT7XQ.js +0 -288
- package/dist/draft-QCKJT7XQ.js.map +0 -1
- package/dist/draft-VMLXZQQX.js +0 -408
- package/dist/draft-VMLXZQQX.js.map +0 -1
- package/dist/experiments-DYNNWQRB.js +0 -236
- package/dist/extract-DWDZI35Y.js +0 -121
- package/dist/extract-DWDZI35Y.js.map +0 -1
- package/dist/facets-Y2IEM37E.js +0 -117
- package/dist/feedback-HJRVTU6C.js +0 -115
- package/dist/feedback-IVSLM5PN.js +0 -136
- package/dist/feedback-record-P7CO3IGE.js +0 -269
- package/dist/fetch-V2U5VUQZ.js +0 -204
- package/dist/fit-JDG6E46O.js +0 -65
- package/dist/flows-DP574PEX.js +0 -250
- package/dist/fonts-RMROS3LX.js +0 -39
- package/dist/forecast-AAHHVTBK.js +0 -169
- package/dist/forecast-BRXNGMGD.js +0 -121
- package/dist/funnel-FQX3DOE7.js +0 -397
- package/dist/ga4-A3HLGTSI.js +0 -55
- package/dist/generate-SYOQE3F7.js +0 -263
- package/dist/get-HMTI2IR6.js +0 -82
- package/dist/get-VFDNTZ54.js +0 -62
- package/dist/google-HWEDJ4YS.js +0 -144
- package/dist/google-HWEDJ4YS.js.map +0 -1
- package/dist/google-WH3IXXMX.js +0 -3285
- package/dist/google-ads-4DLYASRC.js +0 -198
- package/dist/history-6B6RXNV3.js +0 -102
- package/dist/history-NLZSX4BK.js +0 -153
- package/dist/hubspot-LABBRJ44.js +0 -782
- package/dist/ideas-A4ELJN23.js +0 -45
- package/dist/images-JVNT7KYM.js +0 -92
- package/dist/ingest-GQWR3RHR.js +0 -27
- package/dist/ingest-JYN2IDKV.js +0 -123
- package/dist/inspect-72DY33YD.js +0 -192
- package/dist/instant-experiences-6NTBX4SL.js +0 -264
- package/dist/keyword-metrics-GP7L2MQE.js +0 -200
- package/dist/keywords-for-site-6YWAUOKJ.js +0 -131
- package/dist/landing-EKHAZS5P.js +0 -28
- package/dist/leads-RN6RYOMU.js +0 -541
- package/dist/leads-UCXIIA5K.js +0 -115
- package/dist/learn-EJEFERQZ.js +0 -207
- package/dist/line-item-writes-IMCE2FDW.js +0 -211
- package/dist/line-items-ISUC3WDO.js +0 -107
- package/dist/link-6QL4ZVSU.js +0 -67
- package/dist/linkedin-ZOBYUBGV.js +0 -1330
- package/dist/linkedin-ZOBYUBGV.js.map +0 -1
- package/dist/linkedin-person-C24CBKCH.js +0 -139
- package/dist/list-2VNI3U7I.js +0 -154
- package/dist/list-PZD2QOZL.js +0 -67
- package/dist/list-SUXUMXPJ.js +0 -306
- package/dist/log-VLI7KQF2.js +0 -95
- package/dist/make-365ZJ25L.js +0 -1367
- package/dist/map-OEFL45WA.js +0 -436
- package/dist/mcp-NCZYQXQL.js +0 -729
- package/dist/media-WASM45QW.js +0 -18
- package/dist/media-sources-CZDK4W5Q.js +0 -35
- package/dist/members-N3PQSVQC.js +0 -47
- package/dist/meta-IRXPQRBH.js +0 -122
- package/dist/normalize-4OKUF5BJ.js +0 -806
- package/dist/normalize-6DEJPTBF.js +0 -144
- package/dist/options-OJX77MYT.js +0 -125
- package/dist/organization-URQGKFEC.js +0 -949
- package/dist/page-photos-N4S7U7FR.js +0 -118
- package/dist/performance-P5T4LJRG.js +0 -27
- package/dist/performance-SIWBDORI.js +0 -5565
- package/dist/promoted-tweet-writes-S2HP5DEI.js +0 -183
- package/dist/promoted-tweets-WZT4N5IR.js +0 -119
- package/dist/publish-EDYBQHGJ.js +0 -344
- package/dist/reddit-DEGGHR4M.js +0 -29
- package/dist/refresh-HPNJGI2U.js +0 -97
- package/dist/release-H7M37CEO.js +0 -63
- package/dist/remove-MV4YS72N.js +0 -53
- package/dist/reopen-EFW2SKOY.js +0 -66
- package/dist/rerun-OM4N74YK.js +0 -96
- package/dist/research-7YDQOKA6.js +0 -265
- package/dist/research-MHXKAQW4.js +0 -75
- package/dist/reset-HT4AGJPR.js +0 -57
- package/dist/reset-XPZQ5F4D.js +0 -57
- package/dist/resolve-RTTXEN2B.js +0 -124
- package/dist/retry-DVLVWHEK.js +0 -63
- package/dist/retry-SBGWOUQO.js +0 -65
- package/dist/revenue-KJLJ53XY.js +0 -91
- package/dist/rule-writes-DNXELESR.js +0 -530
- package/dist/rules-KCSET46P.js +0 -217
- package/dist/rules-NVKU732Z.js +0 -99
- package/dist/rules-add-KY42EHJE.js +0 -465
- package/dist/run-2LQ7XJEO.js +0 -69
- package/dist/run-M7YU6KCV.js +0 -71
- package/dist/scaffold-ad-6YPZ75YJ.js +0 -1513
- package/dist/scaffold-static-ad-UJEWTDU5.js +0 -1011
- package/dist/scaffold-video-M4VWSVJ6.js +0 -885
- package/dist/schedule-J7HZQ2EL.js +0 -64
- package/dist/scheduled-agents-IVUQUKF4.js +0 -55
- package/dist/schema-LHBKBUV7.js +0 -135
- package/dist/search-3AW52FO6.js +0 -177
- package/dist/select-STIWQ36I.js +0 -110
- package/dist/set-prompt-TODWV2F4.js +0 -199
- package/dist/setup-links-MNBD3UMH.js +0 -144
- package/dist/shopify-PVMHMVIC.js +0 -3980
- package/dist/shopify-PVMHMVIC.js.map +0 -1
- package/dist/site-ZZUKS6MQ.js +0 -180
- package/dist/sources-36MJ6T4V.js +0 -30
- package/dist/sources-GNLQHTSJ.js +0 -457
- package/dist/stale-GJN7UO3D.js +0 -90
- package/dist/status-6EGB6ORB.js +0 -65
- package/dist/stock-DJ6I3CTO.js +0 -187
- package/dist/stock-DJ6I3CTO.js.map +0 -1
- package/dist/studies-4XXCEAHH.js +0 -250
- package/dist/studio-OARORMDJ.js +0 -49
- package/dist/study-writes-J56UIIE3.js +0 -471
- package/dist/sync-QHM3LMAX.js +0 -57
- package/dist/sync-definition-YXGN6PIQ.js +0 -70
- package/dist/tag-manager-XAX5AI42.js +0 -43
- package/dist/tags-GHV5R7NI.js +0 -26
- package/dist/tags-IDWUV2FY.js +0 -227
- package/dist/tags-MBBRBZJH.js +0 -23
- package/dist/tags-MQYF2JHQ.js +0 -23
- package/dist/tags-ZGXJHATH.js +0 -23
- package/dist/targeting-KJ4DI56R.js +0 -762
- package/dist/targeting-criteria-GDCXOAUD.js +0 -113
- package/dist/targets-MYHOPAYY.js +0 -106
- package/dist/testimonials-R6RFGAKP.js +0 -32
- package/dist/themes-LHVXXVTX.js +0 -95
- package/dist/top-companies-POTV3Y2A.js +0 -111
- package/dist/transcript-4RVYKDVZ.js +0 -165
- package/dist/translate-UCASCVMN.js +0 -603
- package/dist/triggers-XHMMOZJK.js +0 -144
- package/dist/unlink-3IW3EORE.js +0 -70
- package/dist/unstage-APVF6KHB.js +0 -88
- package/dist/update-2VSJH4LQ.js +0 -66
- package/dist/update-42QYBUE3.js +0 -101
- package/dist/update-ESK6PSME.js +0 -192
- package/dist/update-V7SRDGHN.js +0 -155
- package/dist/upload-42IR5RIL.js +0 -130
- package/dist/url-params-GEESXN57.js +0 -101
- package/dist/validate-Z5SSEUES.js +0 -125
- package/dist/videos-PJAPZPOT.js +0 -41
- package/dist/viewer-check-6M34VY7K.js +0 -83
- package/dist/web-PUVVFMV3.js +0 -173
- package/dist/winning-ads-ZCP4MIEQ.js +0 -86
- package/dist/write-commands-5LEEPKA7.js +0 -1169
- package/dist/write-commands-ZS4O4DSV.js +0 -1524
- package/dist/x-2IZMW46M.js +0 -47
- /package/dist/{account-XIC5TTV3.js.map → account-H5CL6KUY.js.map} +0 -0
- /package/dist/{account-assets-V7KSSTVP.js.map → account-assets-QMKT5AT7.js.map} +0 -0
- /package/dist/{account-level-2KLG6HTG.js.map → account-level-BELF6JHB.js.map} +0 -0
- /package/dist/{account-reads-ZPZUCB3P.js.map → account-reads-T6GTSAXE.js.map} +0 -0
- /package/dist/{account-users-XTUKRDWK.js.map → account-users-ZGJCVGX4.js.map} +0 -0
- /package/dist/{accounts-25JL77F7.js.map → accounts-EXQNPSYH.js.map} +0 -0
- /package/dist/{accounts-AF72N4NV.js.map → accounts-GNVLFZ3X.js.map} +0 -0
- /package/dist/{actions-IJO4JW7J.js.map → actions-Q2BMP27K.js.map} +0 -0
- /package/dist/{activecampaign-PBTUMTO5.js.map → activecampaign-SJO2YK6M.js.map} +0 -0
- /package/dist/{add-YQPFRDVM.js.map → add-Q3FGYX5Q.js.map} +0 -0
- /package/dist/{add-KHQXXHC5.js.map → add-YGQBSEVK.js.map} +0 -0
- /package/dist/{ads-O5PUYU7H.js.map → ads-7QKQEHKT.js.map} +0 -0
- /package/dist/{ads-EVQ37EV3.js.map → ads-H5AEYIY3.js.map} +0 -0
- /package/dist/{adsets-4IW5TRAK.js.map → adsets-BUIT7HF2.js.map} +0 -0
- /package/dist/{advertisers-JNOWSZZC.js.map → advertisers-ZAHXMIAT.js.map} +0 -0
- /package/dist/{analytics-CZMCM7XC.js.map → analytics-B6ER4TQ7.js.map} +0 -0
- /package/dist/{analytics-K5FCQLI5.js.map → analytics-QW5ZXDJR.js.map} +0 -0
- /package/dist/{animate-C6BRMRRD.js.map → animate-Q43SOWB4.js.map} +0 -0
- /package/dist/{asset-writes-RF6XTWLY.js.map → asset-writes-JVFE457M.js.map} +0 -0
- /package/dist/{assign-WXZNXVJH.js.map → assign-HJ2NXW4W.js.map} +0 -0
- /package/dist/{audience-size-ZCWH4CFC.js.map → audience-size-IM3N6W7C.js.map} +0 -0
- /package/dist/{audience-writes-5KT6FHUY.js.map → audience-writes-DWSCHYQF.js.map} +0 -0
- /package/dist/{audiences-ZDOK3OYC.js.map → audiences-PYBJU2GV.js.map} +0 -0
- /package/dist/{audit-RBRXPPKK.js.map → audit-N3LAQMD4.js.map} +0 -0
- /package/dist/{autocomplete-P5OU7QVL.js.map → autocomplete-FBTPT5MA.js.map} +0 -0
- /package/dist/{avatars-UHBA2BQ3.js.map → avatars-Y3DALQIU.js.map} +0 -0
- /package/dist/{bid-pricing-LHNYSDG4.js.map → bid-pricing-UUAC4GTQ.js.map} +0 -0
- /package/dist/{brand-7WL3O74X.js.map → brand-IZYD5SBJ.js.map} +0 -0
- /package/dist/{brief-HWZU75WP.js.map → brief-NA3E2W4P.js.map} +0 -0
- /package/dist/{campaign-groups-BYS3GNEP.js.map → campaign-groups-3IUOLEK2.js.map} +0 -0
- /package/dist/{campaign-writes-N6OHAK6V.js.map → campaign-writes-Y7QNFOE7.js.map} +0 -0
- /package/dist/{campaigns-3U5IRXSV.js.map → campaigns-2Z6WXIVA.js.map} +0 -0
- /package/dist/{campaigns-QLKGN4FB.js.map → campaigns-B2AUW4TV.js.map} +0 -0
- /package/dist/{campaigns-2E4AQBFB.js.map → campaigns-IDEA3LOK.js.map} +0 -0
- /package/dist/{canvas-GGHJ26ZM.js.map → canvas-WHFDCHUP.js.map} +0 -0
- /package/dist/{capabilities-TKEEHR7K.js.map → capabilities-FVMMLKPY.js.map} +0 -0
- /package/dist/{catalog-7KQN43HS.js.map → catalog-URTZYAPU.js.map} +0 -0
- /package/dist/{catalogs-5CHPI4H6.js.map → catalogs-OEUNVE4N.js.map} +0 -0
- /package/dist/{chatgpt-RQQWU7AP.js.map → chatgpt-YBHXCXWZ.js.map} +0 -0
- /package/dist/{chats-PBXYH2LT.js.map → chats-EENMDXWZ.js.map} +0 -0
- /package/dist/{check-SVYI72DF.js.map → check-7735BPTR.js.map} +0 -0
- /package/dist/{chunk-5AOTCCTT.js.map → chunk-2QGGI7MF.js.map} +0 -0
- /package/dist/{chunk-4XMPL3RU.js.map → chunk-3HKZU3Y5.js.map} +0 -0
- /package/dist/{chunk-B5UVOCYA.js.map → chunk-3OMFSYQ3.js.map} +0 -0
- /package/dist/{chunk-LMOZWB4G.js.map → chunk-65CQYRMK.js.map} +0 -0
- /package/dist/{chunk-I4BQTVMY.js.map → chunk-6MZFOMLU.js.map} +0 -0
- /package/dist/{chunk-IBBGABK2.js.map → chunk-6PT22YSR.js.map} +0 -0
- /package/dist/{chunk-QFVZIQRQ.js.map → chunk-6WVYBY2G.js.map} +0 -0
- /package/dist/{chunk-VX6GTRT3.js.map → chunk-757ZFIL4.js.map} +0 -0
- /package/dist/{chunk-IJ6NQKAT.js.map → chunk-75HAGIH6.js.map} +0 -0
- /package/dist/{chunk-XSBX3LJP.js.map → chunk-7BVRFQN4.js.map} +0 -0
- /package/dist/{chunk-7OVPQX4X.js.map → chunk-7TDJCDKT.js.map} +0 -0
- /package/dist/{chunk-ZMTWQDFC.js.map → chunk-AL4MRNYI.js.map} +0 -0
- /package/dist/{chunk-NO52OH3Y.js.map → chunk-BMNOMOWP.js.map} +0 -0
- /package/dist/{chunk-4AEAL63J.js.map → chunk-BS2MC62Y.js.map} +0 -0
- /package/dist/{chunk-DWSSQBLO.js.map → chunk-C6PWVZQE.js.map} +0 -0
- /package/dist/{chunk-P4MXGSSJ.js.map → chunk-CDTAKCJR.js.map} +0 -0
- /package/dist/{chunk-2RL2T5JO.js.map → chunk-CH44XVPE.js.map} +0 -0
- /package/dist/{chunk-RHNNFCRY.js.map → chunk-CJWLDKFO.js.map} +0 -0
- /package/dist/{chunk-YCAJCVW4.js.map → chunk-DAMC4FKK.js.map} +0 -0
- /package/dist/{chunk-D6VQPBVM.js.map → chunk-DWPOAU4Z.js.map} +0 -0
- /package/dist/{chunk-6MXM6DA6.js.map → chunk-EENYLJUN.js.map} +0 -0
- /package/dist/{chunk-IZROFBH7.js.map → chunk-EJBLF2LI.js.map} +0 -0
- /package/dist/{chunk-DNH2ZPZP.js.map → chunk-EJMPKO6V.js.map} +0 -0
- /package/dist/{chunk-RMZLB4AH.js.map → chunk-EKXLJRO3.js.map} +0 -0
- /package/dist/{chunk-ZANXEMON.js.map → chunk-EL3TDR5S.js.map} +0 -0
- /package/dist/{chunk-LFELUKCA.js.map → chunk-GRDZWZKQ.js.map} +0 -0
- /package/dist/{chunk-S4NMWYHW.js.map → chunk-GVUBRSD3.js.map} +0 -0
- /package/dist/{chunk-LVLTWPRR.js.map → chunk-GYREQDTJ.js.map} +0 -0
- /package/dist/{chunk-J5UTL4HE.js.map → chunk-HBRXFQQV.js.map} +0 -0
- /package/dist/{chunk-NE3OMP7R.js.map → chunk-HLHR3EK2.js.map} +0 -0
- /package/dist/{chunk-RJQT7QXX.js.map → chunk-IMFIRELA.js.map} +0 -0
- /package/dist/{chunk-SP3MHBME.js.map → chunk-IOKD77L2.js.map} +0 -0
- /package/dist/{chunk-TGT4XHLX.js.map → chunk-KDAINT54.js.map} +0 -0
- /package/dist/{chunk-QI5UKQX3.js.map → chunk-KKKZRQFY.js.map} +0 -0
- /package/dist/{chunk-N5AIO23H.js.map → chunk-KOEXPN3G.js.map} +0 -0
- /package/dist/{chunk-JBMZVC5D.js.map → chunk-KT5JVIPZ.js.map} +0 -0
- /package/dist/{chunk-NZYWKZ3Q.js.map → chunk-LC6PVPJX.js.map} +0 -0
- /package/dist/{chunk-DK66PUXL.js.map → chunk-LETR3RQE.js.map} +0 -0
- /package/dist/{chunk-XB4NKZAQ.js.map → chunk-N3PASNUA.js.map} +0 -0
- /package/dist/{chunk-SFQFUQDW.js.map → chunk-NL77JRKE.js.map} +0 -0
- /package/dist/{chunk-OIORUNKH.js.map → chunk-OBQ5YUOZ.js.map} +0 -0
- /package/dist/{chunk-42JTSTQ3.js.map → chunk-OTFHIGEO.js.map} +0 -0
- /package/dist/{chunk-ESXUIV6V.js.map → chunk-PCUWBZM3.js.map} +0 -0
- /package/dist/{chunk-OKXLOLEV.js.map → chunk-PNWXTOQ4.js.map} +0 -0
- /package/dist/{chunk-PYAR343F.js.map → chunk-PQFTKHDA.js.map} +0 -0
- /package/dist/{chunk-XXBP73RV.js.map → chunk-Q5DFEVLE.js.map} +0 -0
- /package/dist/{chunk-NRIKX35V.js.map → chunk-QXCGWAC6.js.map} +0 -0
- /package/dist/{chunk-CJFCQMUY.js.map → chunk-RKDMYL4A.js.map} +0 -0
- /package/dist/{chunk-S6XZIBWV.js.map → chunk-SCBSAIVV.js.map} +0 -0
- /package/dist/{chunk-3HLQZTQ3.js.map → chunk-SPBUE7R4.js.map} +0 -0
- /package/dist/{chunk-IC4MREQH.js.map → chunk-TWFZIHKK.js.map} +0 -0
- /package/dist/{chunk-73MLPGI2.js.map → chunk-U6G6ALXP.js.map} +0 -0
- /package/dist/{chunk-WGJ2QEW4.js.map → chunk-UCJAPB5Y.js.map} +0 -0
- /package/dist/{chunk-4PM32OS3.js.map → chunk-VFDWUIGR.js.map} +0 -0
- /package/dist/{chunk-BRNZMKO4.js.map → chunk-WC3YSN7L.js.map} +0 -0
- /package/dist/{chunk-FSEFZZ2T.js.map → chunk-WIOPEK7K.js.map} +0 -0
- /package/dist/{chunk-5NLUTJCQ.js.map → chunk-X3GWGFZP.js.map} +0 -0
- /package/dist/{chunk-Y4ZBNZBU.js.map → chunk-XYKODRQR.js.map} +0 -0
- /package/dist/{chunk-6FWVRXDW.js.map → chunk-XZAVBONI.js.map} +0 -0
- /package/dist/{chunk-Y3SK6EMU.js.map → chunk-Y5PNLB24.js.map} +0 -0
- /package/dist/{claim-Q76T3MYA.js.map → claim-PGDIRXIC.js.map} +0 -0
- /package/dist/{companies-MLWRWQ73.js.map → companies-WTPKGEB3.js.map} +0 -0
- /package/dist/{company-X5Z67PMK.js.map → company-6H2H73YP.js.map} +0 -0
- /package/dist/{complete-3CFP6XVY.js.map → complete-2QBC3POO.js.map} +0 -0
- /package/dist/{connect-QXFAB4RJ.js.map → connect-35YPFAUL.js.map} +0 -0
- /package/dist/{conversation-C6K6IZTH.js.map → conversation-YZFNEWDV.js.map} +0 -0
- /package/dist/{conversion-upload-command-D7S5HF22.js.map → conversion-upload-command-J2FIO74Y.js.map} +0 -0
- /package/dist/{conversions-4ILDIG3K.js.map → conversions-ZFDBD3OU.js.map} +0 -0
- /package/dist/{copy-writes-FYXKHJDB.js.map → copy-writes-2B36QJUY.js.map} +0 -0
- /package/dist/{create-LDQ3YHET.js.map → create-3H67EUTO.js.map} +0 -0
- /package/dist/{create-WQNT345R.js.map → create-ALTOBDP4.js.map} +0 -0
- /package/dist/{create-TKOG7DNJ.js.map → create-C3MWUYX2.js.map} +0 -0
- /package/dist/{create-WFMJOZLO.js.map → create-WHTT6IXY.js.map} +0 -0
- /package/dist/{creatives-45SJAD3G.js.map → creatives-22BYP5VN.js.map} +0 -0
- /package/dist/{creatives-Q4OXNCTT.js.map → creatives-LTIV3XPT.js.map} +0 -0
- /package/dist/{creatives-E4CTMZJJ.js.map → creatives-Y2WLGDJW.js.map} +0 -0
- /package/dist/{credentials-E2AIMWKX.js.map → credentials-J5DMQJWN.js.map} +0 -0
- /package/dist/{critique-JVT6X2T3.js.map → critique-RFTS2I46.js.map} +0 -0
- /package/dist/{critique-EWV3O3TD.js.map → critique-X6XVPIUG.js.map} +0 -0
- /package/dist/{crm-NQH5FTK6.js.map → crm-LWRGJYHW.js.map} +0 -0
- /package/dist/{crm-YGQKK76D.js.map → crm-RUNEJY2R.js.map} +0 -0
- /package/dist/{crop-KV24WHOR.js.map → crop-4V4P3SKI.js.map} +0 -0
- /package/dist/{custom-conversions-EJNX4MCK.js.map → custom-conversions-V7QPZIB4.js.map} +0 -0
- /package/dist/{customers-YFEPJF4G.js.map → customers-IDB6NLQ6.js.map} +0 -0
- /package/dist/{delete-2UJVTHRE.js.map → delete-2QKVUKKB.js.map} +0 -0
- /package/dist/{delete-O4RO2HMR.js.map → delete-B7BKF24X.js.map} +0 -0
- /package/dist/{delete-7QAJSOCO.js.map → delete-HBRYUWAA.js.map} +0 -0
- /package/dist/{demographics-YWBHAMZ5.js.map → demographics-JHB3NFLU.js.map} +0 -0
- /package/dist/{dimensions-YXOXHOXW.js.map → dimensions-KI3OENZD.js.map} +0 -0
- /package/dist/{discard-YX4XUXG3.js.map → discard-FEJ6YL22.js.map} +0 -0
- /package/dist/{domain-5R6CYVFY.js.map → domain-JYWNXBKS.js.map} +0 -0
- /package/dist/{download-D2O4RYJ3.js.map → download-LOBPOIU5.js.map} +0 -0
- /package/dist/{draft-3MPADYS4.js.map → draft-I2FLECEX.js.map} +0 -0
- /package/dist/{experiments-DYNNWQRB.js.map → experiments-WVTBHD6G.js.map} +0 -0
- /package/dist/{facets-Y2IEM37E.js.map → facets-V2ITIUKD.js.map} +0 -0
- /package/dist/{feedback-IVSLM5PN.js.map → feedback-PXWPR3NZ.js.map} +0 -0
- /package/dist/{feedback-HJRVTU6C.js.map → feedback-QSIPSNAL.js.map} +0 -0
- /package/dist/{feedback-record-P7CO3IGE.js.map → feedback-record-DJHJWJAF.js.map} +0 -0
- /package/dist/{fetch-V2U5VUQZ.js.map → fetch-QVOOC3FA.js.map} +0 -0
- /package/dist/{fit-JDG6E46O.js.map → fit-REGMM46H.js.map} +0 -0
- /package/dist/{flows-DP574PEX.js.map → flows-EZV3KCV6.js.map} +0 -0
- /package/dist/{fonts-RMROS3LX.js.map → fonts-NUX66HEI.js.map} +0 -0
- /package/dist/{forecast-BRXNGMGD.js.map → forecast-W6HKYVX5.js.map} +0 -0
- /package/dist/{forecast-AAHHVTBK.js.map → forecast-XDRKCR65.js.map} +0 -0
- /package/dist/{funnel-FQX3DOE7.js.map → funnel-3YABA3G2.js.map} +0 -0
- /package/dist/{ga4-A3HLGTSI.js.map → ga4-IJ2UUICC.js.map} +0 -0
- /package/dist/{generate-SYOQE3F7.js.map → generate-22HT24SA.js.map} +0 -0
- /package/dist/{get-HMTI2IR6.js.map → get-GQQLBE5C.js.map} +0 -0
- /package/dist/{get-VFDNTZ54.js.map → get-NL3YZFUJ.js.map} +0 -0
- /package/dist/{google-WH3IXXMX.js.map → google-UJ4YJGTJ.js.map} +0 -0
- /package/dist/{google-ads-4DLYASRC.js.map → google-ads-RRKKSKDD.js.map} +0 -0
- /package/dist/{history-6B6RXNV3.js.map → history-2UANIBRN.js.map} +0 -0
- /package/dist/{history-NLZSX4BK.js.map → history-YZ727ZRG.js.map} +0 -0
- /package/dist/{hubspot-LABBRJ44.js.map → hubspot-KWLXJ6QD.js.map} +0 -0
- /package/dist/{ideas-A4ELJN23.js.map → ideas-ZO533P5Y.js.map} +0 -0
- /package/dist/{images-JVNT7KYM.js.map → images-VUWUKGD6.js.map} +0 -0
- /package/dist/{ingest-GQWR3RHR.js.map → ingest-C2HJ5LUY.js.map} +0 -0
- /package/dist/{ingest-JYN2IDKV.js.map → ingest-H53JR4GK.js.map} +0 -0
- /package/dist/{inspect-72DY33YD.js.map → inspect-BM6GJHQV.js.map} +0 -0
- /package/dist/{instant-experiences-6NTBX4SL.js.map → instant-experiences-U6U3FYIH.js.map} +0 -0
- /package/dist/{keyword-metrics-GP7L2MQE.js.map → keyword-metrics-R2QCEDYW.js.map} +0 -0
- /package/dist/{keywords-for-site-6YWAUOKJ.js.map → keywords-for-site-NBV72C3W.js.map} +0 -0
- /package/dist/{landing-EKHAZS5P.js.map → landing-L3WDTW4D.js.map} +0 -0
- /package/dist/{leads-UCXIIA5K.js.map → leads-6PF7ZWCH.js.map} +0 -0
- /package/dist/{leads-RN6RYOMU.js.map → leads-IG3IIHXG.js.map} +0 -0
- /package/dist/{learn-EJEFERQZ.js.map → learn-V2LIBEEY.js.map} +0 -0
- /package/dist/{line-item-writes-IMCE2FDW.js.map → line-item-writes-GMNWL4DI.js.map} +0 -0
- /package/dist/{line-items-ISUC3WDO.js.map → line-items-KPIKXLG4.js.map} +0 -0
- /package/dist/{link-6QL4ZVSU.js.map → link-X7IYKR5V.js.map} +0 -0
- /package/dist/{linkedin-person-C24CBKCH.js.map → linkedin-person-47XFTBIN.js.map} +0 -0
- /package/dist/{list-2VNI3U7I.js.map → list-PHNA7QIF.js.map} +0 -0
- /package/dist/{list-SUXUMXPJ.js.map → list-QF3BANBM.js.map} +0 -0
- /package/dist/{list-PZD2QOZL.js.map → list-SB3SUTH6.js.map} +0 -0
- /package/dist/{log-VLI7KQF2.js.map → log-JFLSSUJ6.js.map} +0 -0
- /package/dist/{make-365ZJ25L.js.map → make-ZIJQZD5K.js.map} +0 -0
- /package/dist/{map-OEFL45WA.js.map → map-NYJT2MGI.js.map} +0 -0
- /package/dist/{mcp-NCZYQXQL.js.map → mcp-ABQEICYR.js.map} +0 -0
- /package/dist/{media-WASM45QW.js.map → media-AT3VV3PU.js.map} +0 -0
- /package/dist/{media-sources-CZDK4W5Q.js.map → media-sources-L4BI7HFL.js.map} +0 -0
- /package/dist/{members-N3PQSVQC.js.map → members-BX37KHKO.js.map} +0 -0
- /package/dist/{meta-IRXPQRBH.js.map → meta-2GJZPVKM.js.map} +0 -0
- /package/dist/{normalize-4OKUF5BJ.js.map → normalize-M3VMWF4W.js.map} +0 -0
- /package/dist/{normalize-6DEJPTBF.js.map → normalize-MA2FBBIV.js.map} +0 -0
- /package/dist/{options-OJX77MYT.js.map → options-NMWWF2HN.js.map} +0 -0
- /package/dist/{organization-URQGKFEC.js.map → organization-GRAA6ZXU.js.map} +0 -0
- /package/dist/{page-photos-N4S7U7FR.js.map → page-photos-ABK4CJME.js.map} +0 -0
- /package/dist/{performance-SIWBDORI.js.map → performance-MQLRSH44.js.map} +0 -0
- /package/dist/{performance-P5T4LJRG.js.map → performance-RUBIGEAQ.js.map} +0 -0
- /package/dist/{promoted-tweet-writes-S2HP5DEI.js.map → promoted-tweet-writes-3P6QFGLN.js.map} +0 -0
- /package/dist/{promoted-tweets-WZT4N5IR.js.map → promoted-tweets-TGFPH7UI.js.map} +0 -0
- /package/dist/{publish-EDYBQHGJ.js.map → publish-OUVO65Z5.js.map} +0 -0
- /package/dist/{reddit-DEGGHR4M.js.map → reddit-HWQCUSEM.js.map} +0 -0
- /package/dist/{refresh-HPNJGI2U.js.map → refresh-ENQDQGTK.js.map} +0 -0
- /package/dist/{release-H7M37CEO.js.map → release-ZTVXLUQS.js.map} +0 -0
- /package/dist/{remove-MV4YS72N.js.map → remove-XAFRT7O7.js.map} +0 -0
- /package/dist/{reopen-EFW2SKOY.js.map → reopen-SWSZHXJZ.js.map} +0 -0
- /package/dist/{rerun-OM4N74YK.js.map → rerun-MA2GB6WL.js.map} +0 -0
- /package/dist/{research-7YDQOKA6.js.map → research-TDH4OBX6.js.map} +0 -0
- /package/dist/{research-MHXKAQW4.js.map → research-WWJUNYSJ.js.map} +0 -0
- /package/dist/{reset-HT4AGJPR.js.map → reset-34HTKUBQ.js.map} +0 -0
- /package/dist/{reset-XPZQ5F4D.js.map → reset-KMMGLM7W.js.map} +0 -0
- /package/dist/{resolve-RTTXEN2B.js.map → resolve-2CIIKADD.js.map} +0 -0
- /package/dist/{retry-DVLVWHEK.js.map → retry-V7KZIZKR.js.map} +0 -0
- /package/dist/{retry-SBGWOUQO.js.map → retry-YXM23NSB.js.map} +0 -0
- /package/dist/{revenue-KJLJ53XY.js.map → revenue-D4L6U2CW.js.map} +0 -0
- /package/dist/{rule-writes-DNXELESR.js.map → rule-writes-HUBHHYEO.js.map} +0 -0
- /package/dist/{rules-KCSET46P.js.map → rules-47LFGCPW.js.map} +0 -0
- /package/dist/{rules-NVKU732Z.js.map → rules-F6RNUOXP.js.map} +0 -0
- /package/dist/{rules-add-KY42EHJE.js.map → rules-add-SAQRESVK.js.map} +0 -0
- /package/dist/{run-2LQ7XJEO.js.map → run-FRPO2WNQ.js.map} +0 -0
- /package/dist/{run-M7YU6KCV.js.map → run-HENSSAQW.js.map} +0 -0
- /package/dist/{scaffold-ad-6YPZ75YJ.js.map → scaffold-ad-QQBCUYUO.js.map} +0 -0
- /package/dist/{scaffold-static-ad-UJEWTDU5.js.map → scaffold-static-ad-WUOAQEXS.js.map} +0 -0
- /package/dist/{scaffold-video-M4VWSVJ6.js.map → scaffold-video-KFQAKQUO.js.map} +0 -0
- /package/dist/{schedule-J7HZQ2EL.js.map → schedule-S4XAVVEI.js.map} +0 -0
- /package/dist/{scheduled-agents-IVUQUKF4.js.map → scheduled-agents-ZWAP6QLC.js.map} +0 -0
- /package/dist/{schema-LHBKBUV7.js.map → schema-EJ2XPUN6.js.map} +0 -0
- /package/dist/{search-3AW52FO6.js.map → search-2BAY3KKX.js.map} +0 -0
- /package/dist/{select-STIWQ36I.js.map → select-K2SXPDDJ.js.map} +0 -0
- /package/dist/{set-prompt-TODWV2F4.js.map → set-prompt-BZFOV3EB.js.map} +0 -0
- /package/dist/{setup-links-MNBD3UMH.js.map → setup-links-QT63UZBR.js.map} +0 -0
- /package/dist/{site-ZZUKS6MQ.js.map → site-S6QVMP7W.js.map} +0 -0
- /package/dist/{sources-36MJ6T4V.js.map → sources-DTQ4NQAM.js.map} +0 -0
- /package/dist/{sources-GNLQHTSJ.js.map → sources-ORG5KQSW.js.map} +0 -0
- /package/dist/{stale-GJN7UO3D.js.map → stale-5O7BQVTN.js.map} +0 -0
- /package/dist/{status-6EGB6ORB.js.map → status-4G2YUCZR.js.map} +0 -0
- /package/dist/{studies-4XXCEAHH.js.map → studies-QLSKON6M.js.map} +0 -0
- /package/dist/{studio-OARORMDJ.js.map → studio-IDXFTGHP.js.map} +0 -0
- /package/dist/{study-writes-J56UIIE3.js.map → study-writes-GBUUKX4O.js.map} +0 -0
- /package/dist/{sync-QHM3LMAX.js.map → sync-7LJZPHM3.js.map} +0 -0
- /package/dist/{sync-definition-YXGN6PIQ.js.map → sync-definition-Q3XUSEZJ.js.map} +0 -0
- /package/dist/{tag-manager-XAX5AI42.js.map → tag-manager-5WZPX2FJ.js.map} +0 -0
- /package/dist/{tags-MQYF2JHQ.js.map → tags-2ARVNEYS.js.map} +0 -0
- /package/dist/{tags-ZGXJHATH.js.map → tags-F4IT7RQR.js.map} +0 -0
- /package/dist/{tags-MBBRBZJH.js.map → tags-F7ZO52EM.js.map} +0 -0
- /package/dist/{tags-IDWUV2FY.js.map → tags-NBGGBHXR.js.map} +0 -0
- /package/dist/{tags-GHV5R7NI.js.map → tags-TCSGQYDR.js.map} +0 -0
- /package/dist/{targeting-KJ4DI56R.js.map → targeting-DAUTJDUB.js.map} +0 -0
- /package/dist/{targeting-criteria-GDCXOAUD.js.map → targeting-criteria-H42LRULY.js.map} +0 -0
- /package/dist/{targets-MYHOPAYY.js.map → targets-WB4E5XL2.js.map} +0 -0
- /package/dist/{testimonials-R6RFGAKP.js.map → testimonials-KLF3Y4QO.js.map} +0 -0
- /package/dist/{themes-LHVXXVTX.js.map → themes-BGBDYQQK.js.map} +0 -0
- /package/dist/{top-companies-POTV3Y2A.js.map → top-companies-C2W5TJ7G.js.map} +0 -0
- /package/dist/{transcript-4RVYKDVZ.js.map → transcript-S7VR2GJE.js.map} +0 -0
- /package/dist/{translate-UCASCVMN.js.map → translate-CBITGC7C.js.map} +0 -0
- /package/dist/{triggers-XHMMOZJK.js.map → triggers-EOKMR74O.js.map} +0 -0
- /package/dist/{unlink-3IW3EORE.js.map → unlink-PC3TMWUT.js.map} +0 -0
- /package/dist/{unstage-APVF6KHB.js.map → unstage-SU2ATDSZ.js.map} +0 -0
- /package/dist/{update-V7SRDGHN.js.map → update-DKX3EEES.js.map} +0 -0
- /package/dist/{update-2VSJH4LQ.js.map → update-JYZ45YJG.js.map} +0 -0
- /package/dist/{update-ESK6PSME.js.map → update-TAZSUOAS.js.map} +0 -0
- /package/dist/{update-42QYBUE3.js.map → update-WRJUH2NM.js.map} +0 -0
- /package/dist/{upload-42IR5RIL.js.map → upload-BLXTMK5Q.js.map} +0 -0
- /package/dist/{url-params-GEESXN57.js.map → url-params-YVOFU6MK.js.map} +0 -0
- /package/dist/{validate-Z5SSEUES.js.map → validate-SAQEORZY.js.map} +0 -0
- /package/dist/{videos-PJAPZPOT.js.map → videos-GOIDZVVD.js.map} +0 -0
- /package/dist/{viewer-check-6M34VY7K.js.map → viewer-check-KTRRUVZN.js.map} +0 -0
- /package/dist/{web-PUVVFMV3.js.map → web-6KUM7Q7S.js.map} +0 -0
- /package/dist/{winning-ads-ZCP4MIEQ.js.map → winning-ads-LOMI72Q2.js.map} +0 -0
- /package/dist/{write-commands-ZS4O4DSV.js.map → write-commands-3U5ZMIHH.js.map} +0 -0
- /package/dist/{write-commands-5LEEPKA7.js.map → write-commands-F5XPPLOO.js.map} +0 -0
- /package/dist/{x-2IZMW46M.js.map → x-APVY4YHX.js.map} +0 -0
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import {
|
|
2
|
+
staleCreatives
|
|
3
|
+
} from "./chunk-OBQ5YUOZ.js";
|
|
4
|
+
import "./chunk-EJBLF2LI.js";
|
|
5
|
+
import "./chunk-6WVYBY2G.js";
|
|
6
|
+
import "./chunk-QFODAMYR.js";
|
|
7
|
+
import "./chunk-EKX37C3T.js";
|
|
8
|
+
import "./chunk-Q5DFEVLE.js";
|
|
9
|
+
import "./chunk-2QGGI7MF.js";
|
|
10
|
+
import "./chunk-CH44XVPE.js";
|
|
11
|
+
import "./chunk-IOKD77L2.js";
|
|
12
|
+
import "./chunk-PGAYESXE.js";
|
|
13
|
+
import "./chunk-3OMFSYQ3.js";
|
|
14
|
+
import "./chunk-UKZKLXTE.js";
|
|
15
|
+
import "./chunk-PNWXTOQ4.js";
|
|
16
|
+
import "./chunk-GRDZWZKQ.js";
|
|
17
|
+
import "./chunk-KDAINT54.js";
|
|
18
|
+
import "./chunk-G6XKD7QE.js";
|
|
19
|
+
import "./chunk-4H6XLX7E.js";
|
|
20
|
+
import "./chunk-Y5PNLB24.js";
|
|
21
|
+
import {
|
|
22
|
+
findWorkspaceRoot
|
|
23
|
+
} from "./chunk-N3PASNUA.js";
|
|
24
|
+
import "./chunk-HBRXFQQV.js";
|
|
25
|
+
import "./chunk-X3GWGFZP.js";
|
|
26
|
+
import "./chunk-GWLP45WQ.js";
|
|
27
|
+
import "./chunk-DGCUPJZD.js";
|
|
28
|
+
import "./chunk-6QINKM6T.js";
|
|
29
|
+
import "./chunk-H3HA22Z3.js";
|
|
30
|
+
import "./chunk-DLM5OSHM.js";
|
|
31
|
+
import "./chunk-MCJ5I5LR.js";
|
|
32
|
+
import "./chunk-2WZI36D3.js";
|
|
33
|
+
import "./chunk-65Y3RCWP.js";
|
|
34
|
+
import "./chunk-E56V3RFO.js";
|
|
35
|
+
import "./chunk-EL3TDR5S.js";
|
|
36
|
+
import "./chunk-G6U45QD3.js";
|
|
37
|
+
import "./chunk-X6U3B6YK.js";
|
|
38
|
+
import "./chunk-MKLAZD23.js";
|
|
39
|
+
import "./chunk-QV6AST5T.js";
|
|
40
|
+
import "./chunk-WCU362Z6.js";
|
|
41
|
+
import "./chunk-GIWHHCD6.js";
|
|
42
|
+
import "./chunk-SOPVIIUW.js";
|
|
43
|
+
import "./chunk-G4FG5EQO.js";
|
|
44
|
+
import "./chunk-R7XDGNZD.js";
|
|
45
|
+
import "./chunk-MSMTG6OC.js";
|
|
46
|
+
import "./chunk-GFWWHCBF.js";
|
|
47
|
+
import "./chunk-JXTNP3B5.js";
|
|
48
|
+
import {
|
|
49
|
+
optionalTurnId
|
|
50
|
+
} from "./chunk-45D6WRCJ.js";
|
|
51
|
+
import {
|
|
52
|
+
registerSchema
|
|
53
|
+
} from "./chunk-CCYZJMZ7.js";
|
|
54
|
+
import "./chunk-YQSBHWOI.js";
|
|
55
|
+
|
|
56
|
+
// src/commands/canvas/stale.ts
|
|
57
|
+
import { defineCommand } from "citty";
|
|
58
|
+
var DESCRIPTION = "List the creatives edited since their last render in this workspace: what the models would be sent (the projected canvas, prompt.json without its `reference`/`source_context`/`notes` bookkeeping, scenes/*.json, the compositions it renders, the formats in _definition.md) no longer matches what the last completed `baker canvas run` drew, so the preview shows an older creative. Reformatting a file is not an edit. Read-only, offline and free. During a turn, re-render each one listed that the person should see with `baker canvas run <canvasPath>`. During a publish, never: Publish ships the last version the person was shown. Creatives never rendered here and half-built ones (unfilled [TODO] asset slots) are not listed. An entry with `refusedThisTurn` cannot be rendered again in this chat turn (it is ready, or had its renders or its time): do not run it; show the version it has and let the person's next message say what changes.";
|
|
59
|
+
registerSchema({ command: "canvas.stale", description: DESCRIPTION, args: {} });
|
|
60
|
+
var staleCommand = defineCommand({
|
|
61
|
+
meta: {
|
|
62
|
+
name: "stale",
|
|
63
|
+
description: DESCRIPTION
|
|
64
|
+
},
|
|
65
|
+
args: {},
|
|
66
|
+
async run() {
|
|
67
|
+
const cwd = process.cwd();
|
|
68
|
+
const stale = await staleCreatives(findWorkspaceRoot(cwd) ?? cwd, optionalTurnId());
|
|
69
|
+
process.stdout.write(
|
|
70
|
+
`${JSON.stringify(
|
|
71
|
+
{
|
|
72
|
+
ok: true,
|
|
73
|
+
data: { stale },
|
|
74
|
+
...stale.length > 0 ? {
|
|
75
|
+
hints: stale.map(
|
|
76
|
+
(c) => c.refusedThisTurn ? `No render of ${c.slug} in this turn: ${c.refusedThisTurn}` : `Re-render ${c.slug} before showing it (never during a publish): baker canvas run ${c.canvasPath}`
|
|
77
|
+
)
|
|
78
|
+
} : {}
|
|
79
|
+
},
|
|
80
|
+
null,
|
|
81
|
+
2
|
|
82
|
+
)}
|
|
83
|
+
`
|
|
84
|
+
);
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
export {
|
|
88
|
+
staleCommand
|
|
89
|
+
};
|
|
90
|
+
//# sourceMappingURL=stale-5O7BQVTN.js.map
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import {
|
|
2
|
+
failApi,
|
|
3
|
+
failValidation
|
|
4
|
+
} from "./chunk-BS2MC62Y.js";
|
|
5
|
+
import "./chunk-MKLAZD23.js";
|
|
6
|
+
import "./chunk-QV6AST5T.js";
|
|
7
|
+
import "./chunk-WCU362Z6.js";
|
|
8
|
+
import "./chunk-GIWHHCD6.js";
|
|
9
|
+
import "./chunk-SOPVIIUW.js";
|
|
10
|
+
import "./chunk-G4FG5EQO.js";
|
|
11
|
+
import "./chunk-R7XDGNZD.js";
|
|
12
|
+
import "./chunk-MSMTG6OC.js";
|
|
13
|
+
import {
|
|
14
|
+
apiPost
|
|
15
|
+
} from "./chunk-GFWWHCBF.js";
|
|
16
|
+
import "./chunk-JXTNP3B5.js";
|
|
17
|
+
import {
|
|
18
|
+
getEnv
|
|
19
|
+
} from "./chunk-45D6WRCJ.js";
|
|
20
|
+
import {
|
|
21
|
+
registerSchema,
|
|
22
|
+
writeJson
|
|
23
|
+
} from "./chunk-CCYZJMZ7.js";
|
|
24
|
+
import "./chunk-YQSBHWOI.js";
|
|
25
|
+
|
|
26
|
+
// src/commands/actions/status.ts
|
|
27
|
+
import { defineCommand } from "citty";
|
|
28
|
+
registerSchema({
|
|
29
|
+
command: "actions.status",
|
|
30
|
+
description: "Resolve one or more Work Action refs by real action ID or temp_* ref in a single batch call. When BAKER_CHAT_ID is set, a temp_* ref still staged in THIS chat resolves to status 'draft' (not 'not_found') \u2014 staged ops only become published actions on chat publish.",
|
|
31
|
+
args: {
|
|
32
|
+
ref: {
|
|
33
|
+
type: "positional",
|
|
34
|
+
description: "One or more action refs: real action IDs or temp_* refs (space-separated)",
|
|
35
|
+
required: true
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
var statusCommand = defineCommand({
|
|
40
|
+
meta: {
|
|
41
|
+
name: "status",
|
|
42
|
+
description: "Resolve Work Action refs by real ID or temp_* ref. Example: baker actions status temp_hero jx123"
|
|
43
|
+
},
|
|
44
|
+
args: {
|
|
45
|
+
ref: { type: "positional", description: "Action ID or temp_* ref; accepts multiple refs", required: false }
|
|
46
|
+
},
|
|
47
|
+
run: async ({ args }) => {
|
|
48
|
+
try {
|
|
49
|
+
const refs = [args.ref, ...Array.isArray(args._) ? args._ : []].filter((ref) => typeof ref === "string").map((ref) => ref.trim()).filter(Boolean);
|
|
50
|
+
if (refs.length === 0) {
|
|
51
|
+
failValidation("At least one action ref is required.");
|
|
52
|
+
}
|
|
53
|
+
const { BAKER_CHAT_ID } = getEnv();
|
|
54
|
+
const body = BAKER_CHAT_ID ? { refs, chatId: BAKER_CHAT_ID } : { refs };
|
|
55
|
+
const response = await apiPost("/api/actions/status", body);
|
|
56
|
+
writeJson(response);
|
|
57
|
+
} catch (err) {
|
|
58
|
+
failApi(err);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
export {
|
|
63
|
+
statusCommand
|
|
64
|
+
};
|
|
65
|
+
//# sourceMappingURL=status-4G2YUCZR.js.map
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
import {
|
|
2
|
+
parseRequestFlags
|
|
3
|
+
} from "./chunk-4N3Y5QWW.js";
|
|
4
|
+
import {
|
|
5
|
+
activeFilterFlags,
|
|
6
|
+
emptyResultHints
|
|
7
|
+
} from "./chunk-Q6ULQMWG.js";
|
|
8
|
+
import {
|
|
9
|
+
AUTO_INGEST_MAX,
|
|
10
|
+
parseAutoIngest
|
|
11
|
+
} from "./chunk-KKJ4KJCW.js";
|
|
12
|
+
import {
|
|
13
|
+
OUTPUT_ARGS,
|
|
14
|
+
writeProviderHits
|
|
15
|
+
} from "./chunk-IAZKXDWV.js";
|
|
16
|
+
import {
|
|
17
|
+
imagesStockRequestSchema
|
|
18
|
+
} from "./chunk-MKLAZD23.js";
|
|
19
|
+
import "./chunk-QV6AST5T.js";
|
|
20
|
+
import "./chunk-WCU362Z6.js";
|
|
21
|
+
import "./chunk-GIWHHCD6.js";
|
|
22
|
+
import "./chunk-SOPVIIUW.js";
|
|
23
|
+
import "./chunk-G4FG5EQO.js";
|
|
24
|
+
import "./chunk-R7XDGNZD.js";
|
|
25
|
+
import "./chunk-MSMTG6OC.js";
|
|
26
|
+
import {
|
|
27
|
+
ApiError,
|
|
28
|
+
apiPost
|
|
29
|
+
} from "./chunk-GFWWHCBF.js";
|
|
30
|
+
import "./chunk-JXTNP3B5.js";
|
|
31
|
+
import "./chunk-45D6WRCJ.js";
|
|
32
|
+
import {
|
|
33
|
+
registerSchema,
|
|
34
|
+
writeJson
|
|
35
|
+
} from "./chunk-CCYZJMZ7.js";
|
|
36
|
+
import "./chunk-YQSBHWOI.js";
|
|
37
|
+
|
|
38
|
+
// src/commands/images/stock.ts
|
|
39
|
+
import { defineCommand } from "citty";
|
|
40
|
+
var STOCK_ERROR_FIX = {
|
|
41
|
+
action: "use_different_resource",
|
|
42
|
+
explanation: "Switch provider instead of retrying stock search. Stock search is one of several image sources. Run `baker images find <query> --sources library,pinterest,google` (`--sources` is required \u2014 `find` alone searches the library only) or `baker studio generate` to make the asset. Never sleep-and-retry this command \u2014 the CLI already backs off on rate limits. If no image can be sourced, continue the rest of the task with a placeholder rather than aborting it."
|
|
43
|
+
};
|
|
44
|
+
registerSchema({
|
|
45
|
+
command: "images.stock",
|
|
46
|
+
description: "Stock search across the free libraries \u2014 Pexels photos plus Pixabay photos, illustrations and vectors. The previous provider's --license, --ai, --people and --order do not exist here: everything both libraries hold is free for commercial use with no attribution, neither indexes AI-generated content separately, neither has a people filter (name the person in the query instead), and both sort by relevance only.",
|
|
47
|
+
args: {
|
|
48
|
+
query: { type: "string", description: "Search query", required: true },
|
|
49
|
+
type: {
|
|
50
|
+
type: "string",
|
|
51
|
+
description: "Content type: photo (default, both libraries) | illustration | vector (Pixabay only)",
|
|
52
|
+
required: false,
|
|
53
|
+
enum: ["photo", "illustration", "vector"]
|
|
54
|
+
},
|
|
55
|
+
orientation: {
|
|
56
|
+
type: "string",
|
|
57
|
+
description: "landscape | portrait | square (square searches Pexels only \u2014 Pixabay has no square)",
|
|
58
|
+
required: false,
|
|
59
|
+
enum: ["landscape", "portrait", "square"]
|
|
60
|
+
},
|
|
61
|
+
size: {
|
|
62
|
+
type: "string",
|
|
63
|
+
description: "Minimum resolution: large (24MP) | medium (12MP) | small (4MP)",
|
|
64
|
+
required: false,
|
|
65
|
+
enum: ["large", "medium", "small"]
|
|
66
|
+
},
|
|
67
|
+
color: {
|
|
68
|
+
type: "string",
|
|
69
|
+
description: "Colour filter \u2014 a name (red, turquoise, black, \u2026) searches both libraries; a hex code such as '#0a0a0a' searches Pexels only",
|
|
70
|
+
required: false
|
|
71
|
+
},
|
|
72
|
+
locale: {
|
|
73
|
+
type: "string",
|
|
74
|
+
description: "Locale of the search terms, e.g. 'es-ES' or 'de-DE' \u2014 Pexels matches translated tags",
|
|
75
|
+
required: false
|
|
76
|
+
},
|
|
77
|
+
limit: { type: "number", description: "Max results (1-80, default 10)", required: false, default: 10 },
|
|
78
|
+
page: { type: "number", description: "Page number for pagination", required: false },
|
|
79
|
+
"auto-ingest": {
|
|
80
|
+
type: "number",
|
|
81
|
+
description: `Auto-ingest top N hits (0-${AUTO_INGEST_MAX.stock}, default 0) and return Baker-owned URLs on ingested hits`,
|
|
82
|
+
required: false,
|
|
83
|
+
default: 0
|
|
84
|
+
},
|
|
85
|
+
context: {
|
|
86
|
+
type: "string",
|
|
87
|
+
description: "Free-text hint applied to every auto-ingested hit (overrides the library's own alt text or tags)",
|
|
88
|
+
required: false
|
|
89
|
+
},
|
|
90
|
+
output: { type: "string", description: "Output format: json|files|md", required: false, default: "json" },
|
|
91
|
+
fields: { type: "string", description: "Comma-separated field names to include", required: false },
|
|
92
|
+
full: { type: "boolean", description: "Include full metadata", required: false, default: false }
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
function buildStockRequest(query, args) {
|
|
96
|
+
const body = { query };
|
|
97
|
+
if (args.type) body.contentType = args.type;
|
|
98
|
+
if (args.orientation) body.orientation = args.orientation;
|
|
99
|
+
if (args.size) body.size = args.size;
|
|
100
|
+
if (args.color) body.color = args.color;
|
|
101
|
+
if (args.locale) body.locale = args.locale;
|
|
102
|
+
if (args.limit) body.limit = Number(args.limit);
|
|
103
|
+
if (args.page) body.page = Number(args.page);
|
|
104
|
+
if (args["auto-ingest"]) body.autoIngest = Number(args["auto-ingest"]);
|
|
105
|
+
if (args.context) body.descriptionContext = args.context;
|
|
106
|
+
return body;
|
|
107
|
+
}
|
|
108
|
+
function partialLibraryHints(errors, hitCount) {
|
|
109
|
+
if (!errors || errors.length === 0) return [];
|
|
110
|
+
const sources = errors.map((e) => e.source);
|
|
111
|
+
const names = sources.join(", ");
|
|
112
|
+
if (hitCount === 0) {
|
|
113
|
+
const failed = sources.length === 1 ? `${sources[0]} did not answer` : `none of ${names} answered`;
|
|
114
|
+
return [
|
|
115
|
+
`Stock search did not run \u2014 ${failed}. This is an outage, not an empty result: do not re-run it with a different query or flags, and report that stock search is unavailable. Source the asset another way (\`baker images find <query> --sources library,pinterest,google\`) or \`baker studio generate\`.`
|
|
116
|
+
];
|
|
117
|
+
}
|
|
118
|
+
return [
|
|
119
|
+
`These results are partial: ${names} did not answer, so they come from the remaining library alone. Treat a thin result as unproven rather than as "stock does not have this", and report the outage rather than re-running the search.`
|
|
120
|
+
];
|
|
121
|
+
}
|
|
122
|
+
var stockCommand = defineCommand({
|
|
123
|
+
meta: {
|
|
124
|
+
name: "stock",
|
|
125
|
+
description: "Stock search across the free libraries \u2014 Pexels photographs plus Pixabay photographs, illustrations and vectors. No per-request cost. With --auto-ingest, ingested hits return Baker-owned URLs.\n\nExamples:\n baker images stock 'minimalist office'\n baker images stock 'hero photo of a kitchen' --orientation landscape --size large\n baker images stock 'flat office workers' --type illustration\n baker images stock 'leaf outline mark' --type vector\n baker images stock 'smiling carpenter portrait' --orientation portrait"
|
|
126
|
+
},
|
|
127
|
+
args: {
|
|
128
|
+
query: { type: "positional", description: "Search query", required: false },
|
|
129
|
+
type: { type: "string", description: "photo|illustration|vector", required: false },
|
|
130
|
+
orientation: { type: "string", description: "landscape|portrait|square", required: false },
|
|
131
|
+
size: { type: "string", description: "Minimum resolution: large|medium|small", required: false },
|
|
132
|
+
color: { type: "string", description: "Colour name or hex code", required: false },
|
|
133
|
+
locale: { type: "string", description: "Locale of the search terms, e.g. es-ES", required: false },
|
|
134
|
+
limit: { type: "string", description: "Max results (1-80)", required: false },
|
|
135
|
+
page: { type: "string", description: "Page number", required: false },
|
|
136
|
+
"auto-ingest": {
|
|
137
|
+
type: "string",
|
|
138
|
+
description: `Auto-ingest top N (0-${AUTO_INGEST_MAX.stock}) and return Baker-owned URLs on ingested hits`,
|
|
139
|
+
required: false
|
|
140
|
+
},
|
|
141
|
+
context: { type: "string", description: "Description context hint applied to auto-ingested hits", required: false },
|
|
142
|
+
...OUTPUT_ARGS
|
|
143
|
+
},
|
|
144
|
+
run: async ({ args }) => {
|
|
145
|
+
try {
|
|
146
|
+
const query = args.query;
|
|
147
|
+
if (!query) {
|
|
148
|
+
writeJson({ ok: false, error: { code: "VALIDATION_ERROR", message: "Query is required" } });
|
|
149
|
+
process.exit(1);
|
|
150
|
+
}
|
|
151
|
+
if (args["auto-ingest"] !== void 0) {
|
|
152
|
+
const parsed = parseAutoIngest(args["auto-ingest"], AUTO_INGEST_MAX.stock);
|
|
153
|
+
if (!parsed.ok) {
|
|
154
|
+
writeJson({
|
|
155
|
+
ok: false,
|
|
156
|
+
error: {
|
|
157
|
+
code: "VALIDATION_ERROR",
|
|
158
|
+
message: parsed.message,
|
|
159
|
+
fix: {
|
|
160
|
+
action: "retry_with_changes",
|
|
161
|
+
explanation: `Re-run with --auto-ingest in 0-${AUTO_INGEST_MAX.stock}.`
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
});
|
|
165
|
+
process.exit(1);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
const request = parseRequestFlags(imagesStockRequestSchema, buildStockRequest(query, args), {
|
|
169
|
+
contentType: "--type",
|
|
170
|
+
orientation: "--orientation",
|
|
171
|
+
size: "--size",
|
|
172
|
+
limit: "--limit",
|
|
173
|
+
page: "--page"
|
|
174
|
+
});
|
|
175
|
+
if (!request.ok) {
|
|
176
|
+
writeJson(request.envelope);
|
|
177
|
+
process.exit(1);
|
|
178
|
+
}
|
|
179
|
+
const data = await apiPost("/api/images/stock", request.data);
|
|
180
|
+
const outage = (data.errors?.length ?? 0) > 0 && data.hits.length === 0;
|
|
181
|
+
const hints = [
|
|
182
|
+
...partialLibraryHints(data.errors, data.hits.length),
|
|
183
|
+
...outage ? [] : emptyResultHints({
|
|
184
|
+
provider: "stock",
|
|
185
|
+
hitCount: data.hits.length,
|
|
186
|
+
activeFilters: activeFilterFlags(args, ["type", "orientation", "size", "color", "locale"])
|
|
187
|
+
})
|
|
188
|
+
];
|
|
189
|
+
writeProviderHits(data, data.hits, args, hints);
|
|
190
|
+
} catch (err) {
|
|
191
|
+
if (err instanceof ApiError) {
|
|
192
|
+
writeJson({
|
|
193
|
+
ok: false,
|
|
194
|
+
error: {
|
|
195
|
+
code: err.code,
|
|
196
|
+
message: err.message,
|
|
197
|
+
fix: STOCK_ERROR_FIX
|
|
198
|
+
}
|
|
199
|
+
});
|
|
200
|
+
process.exit(1);
|
|
201
|
+
}
|
|
202
|
+
writeJson({ ok: false, error: { code: "INTERNAL_ERROR", message: "Unexpected error" } });
|
|
203
|
+
process.exit(1);
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
});
|
|
207
|
+
export {
|
|
208
|
+
partialLibraryHints,
|
|
209
|
+
stockCommand
|
|
210
|
+
};
|
|
211
|
+
//# sourceMappingURL=stock-5SQ2PGEC.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/images/stock.ts"],"sourcesContent":["import { type ImagesStockRequest, type ImagesStockResponse, imagesStockRequestSchema } from \"@baker/api\";\nimport { defineCommand } from \"citty\";\nimport { ApiError, apiPost } from \"../../client.ts\";\nimport { writeJson } from \"../../output.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport { AUTO_INGEST_MAX, parseAutoIngest } from \"./autoIngest.ts\";\nimport { OUTPUT_ARGS, writeProviderHits } from \"./providerHits.ts\";\nimport { parseRequestFlags } from \"./requestFlags.ts\";\nimport { activeFilterFlags, emptyResultHints } from \"./searchHints.ts\";\n\nconst STOCK_ERROR_FIX = {\n action: \"use_different_resource\",\n explanation:\n \"Switch provider instead of retrying stock search. Stock search is one of several image sources. Run `baker images find <query> --sources library,pinterest,google` (`--sources` is required — `find` alone searches the library only) or `baker studio generate` to make the asset. Never sleep-and-retry this command — the CLI already backs off on rate limits. If no image can be sourced, continue the rest of the task with a placeholder rather than aborting it.\",\n};\n\nregisterSchema({\n command: \"images.stock\",\n description:\n \"Stock search across the free libraries — Pexels photos plus Pixabay photos, illustrations and vectors. \" +\n \"The previous provider's --license, --ai, --people and --order do not exist here: everything both libraries hold is free \" +\n \"for commercial use with no attribution, neither indexes AI-generated content separately, neither has a people filter \" +\n \"(name the person in the query instead), and both sort by relevance only.\",\n args: {\n query: { type: \"string\", description: \"Search query\", required: true },\n type: {\n type: \"string\",\n description: \"Content type: photo (default, both libraries) | illustration | vector (Pixabay only)\",\n required: false,\n enum: [\"photo\", \"illustration\", \"vector\"],\n },\n orientation: {\n type: \"string\",\n description: \"landscape | portrait | square (square searches Pexels only — Pixabay has no square)\",\n required: false,\n enum: [\"landscape\", \"portrait\", \"square\"],\n },\n size: {\n type: \"string\",\n description: \"Minimum resolution: large (24MP) | medium (12MP) | small (4MP)\",\n required: false,\n enum: [\"large\", \"medium\", \"small\"],\n },\n color: {\n type: \"string\",\n description:\n \"Colour filter — a name (red, turquoise, black, …) searches both libraries; a hex code such as '#0a0a0a' searches Pexels only\",\n required: false,\n },\n locale: {\n type: \"string\",\n description: \"Locale of the search terms, e.g. 'es-ES' or 'de-DE' — Pexels matches translated tags\",\n required: false,\n },\n limit: { type: \"number\", description: \"Max results (1-80, default 10)\", required: false, default: 10 },\n page: { type: \"number\", description: \"Page number for pagination\", required: false },\n \"auto-ingest\": {\n type: \"number\",\n description: `Auto-ingest top N hits (0-${AUTO_INGEST_MAX.stock}, default 0) and return Baker-owned URLs on ingested hits`,\n required: false,\n default: 0,\n },\n context: {\n type: \"string\",\n description: \"Free-text hint applied to every auto-ingested hit (overrides the library's own alt text or tags)\",\n required: false,\n },\n output: { type: \"string\", description: \"Output format: json|files|md\", required: false, default: \"json\" },\n fields: { type: \"string\", description: \"Comma-separated field names to include\", required: false },\n full: { type: \"boolean\", description: \"Include full metadata\", required: false, default: false },\n },\n});\n\n/** Assemble the search request body from CLI args, applying only the flags that were provided. */\nfunction buildStockRequest(query: string, args: Record<string, unknown>): ImagesStockRequest {\n const body: ImagesStockRequest = { query };\n if (args.type) body.contentType = args.type as ImagesStockRequest[\"contentType\"];\n if (args.orientation) body.orientation = args.orientation as ImagesStockRequest[\"orientation\"];\n if (args.size) body.size = args.size as ImagesStockRequest[\"size\"];\n if (args.color) body.color = args.color as string;\n if (args.locale) body.locale = args.locale as string;\n if (args.limit) body.limit = Number(args.limit);\n if (args.page) body.page = Number(args.page);\n if (args[\"auto-ingest\"]) body.autoIngest = Number(args[\"auto-ingest\"]);\n if (args.context) body.descriptionContext = args.context as string;\n return body;\n}\n\n/**\n * A stock search spans two libraries and returns what it got.\n *\n * The two failures read differently and steer differently. If one library fails\n * the other still answers, so a thin result looks like a complete one and has to\n * be marked unproven. If *both* fail nothing was searched at all — and the\n * earlier version of this said the hits \"come from the other library alone\",\n * which named a library that had also failed and told the agent to trust a list\n * that was empty for a reason it never learned.\n */\nexport function partialLibraryHints(errors: ImagesStockResponse[\"errors\"], hitCount: number): string[] {\n if (!errors || errors.length === 0) return [];\n const sources = errors.map((e) => e.source);\n const names = sources.join(\", \");\n if (hitCount === 0) {\n const failed = sources.length === 1 ? `${sources[0]} did not answer` : `none of ${names} answered`;\n return [\n `Stock search did not run — ${failed}. This is an outage, not an empty result: do not re-run it with a different query or flags, and report that stock search is unavailable. Source the asset another way (\\`baker images find <query> --sources library,pinterest,google\\`) or \\`baker studio generate\\`.`,\n ];\n }\n return [\n `These results are partial: ${names} did not answer, so they come from the remaining library alone. Treat a thin result as unproven rather than as \"stock does not have this\", and report the outage rather than re-running the search.`,\n ];\n}\n\nexport const stockCommand = defineCommand({\n meta: {\n name: \"stock\",\n description:\n \"Stock search across the free libraries — Pexels photographs plus Pixabay photographs, illustrations and vectors. No per-request cost. With --auto-ingest, ingested hits return Baker-owned URLs.\\n\\nExamples:\\n baker images stock 'minimalist office'\\n baker images stock 'hero photo of a kitchen' --orientation landscape --size large\\n baker images stock 'flat office workers' --type illustration\\n baker images stock 'leaf outline mark' --type vector\\n baker images stock 'smiling carpenter portrait' --orientation portrait\",\n },\n args: {\n query: { type: \"positional\", description: \"Search query\", required: false },\n type: { type: \"string\", description: \"photo|illustration|vector\", required: false },\n orientation: { type: \"string\", description: \"landscape|portrait|square\", required: false },\n size: { type: \"string\", description: \"Minimum resolution: large|medium|small\", required: false },\n color: { type: \"string\", description: \"Colour name or hex code\", required: false },\n locale: { type: \"string\", description: \"Locale of the search terms, e.g. es-ES\", required: false },\n limit: { type: \"string\", description: \"Max results (1-80)\", required: false },\n page: { type: \"string\", description: \"Page number\", required: false },\n \"auto-ingest\": {\n type: \"string\",\n description: `Auto-ingest top N (0-${AUTO_INGEST_MAX.stock}) and return Baker-owned URLs on ingested hits`,\n required: false,\n },\n context: { type: \"string\", description: \"Description context hint applied to auto-ingested hits\", required: false },\n ...OUTPUT_ARGS,\n },\n run: async ({ args }) => {\n try {\n const query = args.query as string | undefined;\n if (!query) {\n writeJson({ ok: false, error: { code: \"VALIDATION_ERROR\", message: \"Query is required\" } });\n process.exit(1);\n }\n if (args[\"auto-ingest\"] !== undefined) {\n const parsed = parseAutoIngest(args[\"auto-ingest\"], AUTO_INGEST_MAX.stock);\n if (!parsed.ok) {\n writeJson({\n ok: false,\n error: {\n code: \"VALIDATION_ERROR\",\n message: parsed.message,\n fix: {\n action: \"retry_with_changes\",\n explanation: `Re-run with --auto-ingest in 0-${AUTO_INGEST_MAX.stock}.`,\n },\n },\n });\n process.exit(1);\n }\n }\n const request = parseRequestFlags(imagesStockRequestSchema, buildStockRequest(query, args), {\n contentType: \"--type\",\n orientation: \"--orientation\",\n size: \"--size\",\n limit: \"--limit\",\n page: \"--page\",\n });\n if (!request.ok) {\n writeJson(request.envelope);\n process.exit(1);\n }\n const data = await apiPost<ImagesStockResponse>(\"/api/images/stock\", request.data);\n // When no library answered, the search never ran. The zero-hit steering\n // below diagnoses an empty result — it would blame the filters for an\n // outage and tell the agent to drop them and retry, which is the exact\n // opposite of what the outage hint just told it to do.\n const outage = (data.errors?.length ?? 0) > 0 && data.hits.length === 0;\n const hints = [\n ...partialLibraryHints(data.errors, data.hits.length),\n ...(outage\n ? []\n : emptyResultHints({\n provider: \"stock\",\n hitCount: data.hits.length,\n activeFilters: activeFilterFlags(args, [\"type\", \"orientation\", \"size\", \"color\", \"locale\"]),\n })),\n ];\n writeProviderHits(data, data.hits, args as Record<string, unknown>, hints);\n } catch (err) {\n if (err instanceof ApiError) {\n writeJson({\n ok: false,\n error: {\n code: err.code,\n message: err.message,\n fix: STOCK_ERROR_FIX,\n },\n });\n process.exit(1);\n }\n writeJson({ ok: false, error: { code: \"INTERNAL_ERROR\", message: \"Unexpected error\" } });\n process.exit(1);\n }\n },\n});\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
import {
|
|
2
|
+
adStudyFromWire,
|
|
3
|
+
cellObjects,
|
|
4
|
+
unixSeconds
|
|
5
|
+
} from "./chunk-GDFJOCDO.js";
|
|
6
|
+
import {
|
|
7
|
+
handleMetaError,
|
|
8
|
+
resolveAccountIdArg
|
|
9
|
+
} from "./chunk-QY7EK6Q4.js";
|
|
10
|
+
import "./chunk-QALAJNBG.js";
|
|
11
|
+
import {
|
|
12
|
+
writeJsonEnvelope
|
|
13
|
+
} from "./chunk-QYH2UZAK.js";
|
|
14
|
+
import {
|
|
15
|
+
NO_CACHE_ARG
|
|
16
|
+
} from "./chunk-GO6ISZUZ.js";
|
|
17
|
+
import {
|
|
18
|
+
apiGet
|
|
19
|
+
} from "./chunk-GFWWHCBF.js";
|
|
20
|
+
import "./chunk-JXTNP3B5.js";
|
|
21
|
+
import "./chunk-45D6WRCJ.js";
|
|
22
|
+
import {
|
|
23
|
+
registerSchema
|
|
24
|
+
} from "./chunk-CCYZJMZ7.js";
|
|
25
|
+
import "./chunk-YQSBHWOI.js";
|
|
26
|
+
|
|
27
|
+
// ../api/src/ads-meta/adStudyDescription.ts
|
|
28
|
+
var MONTHS = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
|
|
29
|
+
function adStudyTime(seconds) {
|
|
30
|
+
const date = new Date(seconds * 1e3);
|
|
31
|
+
const hh = String(date.getUTCHours()).padStart(2, "0");
|
|
32
|
+
const mm = String(date.getUTCMinutes()).padStart(2, "0");
|
|
33
|
+
return `${date.getUTCDate()} ${MONTHS[date.getUTCMonth()]} ${date.getUTCFullYear()}, ${hh}:${mm} UTC`;
|
|
34
|
+
}
|
|
35
|
+
function daysLabel(seconds) {
|
|
36
|
+
const days = Math.round(seconds / 86400 * 10) / 10;
|
|
37
|
+
return `${days} ${days === 1 ? "day" : "days"}`;
|
|
38
|
+
}
|
|
39
|
+
function quoted(id, names) {
|
|
40
|
+
const name = names[id];
|
|
41
|
+
return name ? `"${name}"` : id;
|
|
42
|
+
}
|
|
43
|
+
function cellWords(cell, names) {
|
|
44
|
+
const [noun, ids] = cell.ads ? ["ad", cell.ads] : cell.adsets ? ["ad set", cell.adsets] : ["campaign", cell.campaigns ?? []];
|
|
45
|
+
const plural = ids.length > 1 ? `${noun}s` : noun;
|
|
46
|
+
const runs = ids.length > 0 ? ` (${plural} ${ids.map((id) => quoted(id, names)).join(", ")})` : "";
|
|
47
|
+
const share = cell.control_percentage === void 0 ? `${cell.treatment_percentage}%` : `${cell.treatment_percentage}% see the ads, ${cell.control_percentage}% held out`;
|
|
48
|
+
return `${cell.name}${runs} ${share}`;
|
|
49
|
+
}
|
|
50
|
+
var STUDY_KIND = {
|
|
51
|
+
SPLIT_TEST: "Split test",
|
|
52
|
+
LIFT: "Lift study",
|
|
53
|
+
SPLIT_TEST_V2: "Creative test"
|
|
54
|
+
};
|
|
55
|
+
function primaryObjective(objectives) {
|
|
56
|
+
if (!objectives || objectives.length === 0) {
|
|
57
|
+
return void 0;
|
|
58
|
+
}
|
|
59
|
+
return objectives.find((objective) => objective.is_primary === true) ?? objectives[0];
|
|
60
|
+
}
|
|
61
|
+
var SOURCE_NOUN = {
|
|
62
|
+
adspixels: "pixel",
|
|
63
|
+
applications: "app",
|
|
64
|
+
offsite_datasets: "dataset"
|
|
65
|
+
};
|
|
66
|
+
function sourceWords(objective, names) {
|
|
67
|
+
const words = [];
|
|
68
|
+
for (const key of ["adspixels", "applications", "offsite_datasets"]) {
|
|
69
|
+
for (const source of objective[key] ?? []) {
|
|
70
|
+
const events = source.event_names?.join(" or ") ?? "any event";
|
|
71
|
+
words.push(`${events} on ${SOURCE_NOUN[key]} ${quoted(source.id, names)}`);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
for (const source of objective.customconversions ?? []) {
|
|
75
|
+
words.push(`custom conversion ${quoted(source.id, names)}`);
|
|
76
|
+
}
|
|
77
|
+
return words;
|
|
78
|
+
}
|
|
79
|
+
function measuringWords(objectives, names) {
|
|
80
|
+
const primary = primaryObjective(objectives);
|
|
81
|
+
if (!primary) {
|
|
82
|
+
return "cost per result on the campaigns' objective";
|
|
83
|
+
}
|
|
84
|
+
const sources = sourceWords(primary, names);
|
|
85
|
+
return `cost per "${primary.name}"${sources.length > 0 ? ` (${sources.join(", ")})` : ""}`;
|
|
86
|
+
}
|
|
87
|
+
function measuringPhrase(type, primary, measuring) {
|
|
88
|
+
if (type === "LIFT") return `measuring the lift in ${primary ? `"${primary.name}"` : "results"}`;
|
|
89
|
+
return `measuring ${primary ? `cost per "${primary.name}"` : measuring}`;
|
|
90
|
+
}
|
|
91
|
+
function describeAdStudy(study, { names = {} } = {}) {
|
|
92
|
+
const versions = study.cells && study.cells.length > 0 ? study.cells.map((cell) => cellWords(cell, names)).join(" vs ") : void 0;
|
|
93
|
+
const measuring = measuringWords(study.objectives, names);
|
|
94
|
+
const primary = primaryObjective(study.objectives);
|
|
95
|
+
const others = (study.objectives ?? []).filter((objective) => objective !== primary);
|
|
96
|
+
const alsoMeasured = others.length > 0 ? others.map((objective) => `"${objective.name}"`).join(", ") : void 0;
|
|
97
|
+
const hasSchedule = study.start_time !== void 0 && study.end_time !== void 0;
|
|
98
|
+
const length = hasSchedule ? daysLabel((study.end_time ?? 0) - (study.start_time ?? 0)) : void 0;
|
|
99
|
+
const schedule = hasSchedule ? `${adStudyTime(study.start_time ?? 0)} \u2192 ${adStudyTime(study.end_time ?? 0)} \xB7 ${length}` : void 0;
|
|
100
|
+
const confidence = study.confidence_level !== void 0 ? `${Math.round(study.confidence_level * 100)}%` : void 0;
|
|
101
|
+
const parts = [
|
|
102
|
+
versions,
|
|
103
|
+
measuringPhrase(study.type, primary, measuring),
|
|
104
|
+
length,
|
|
105
|
+
confidence ? `${confidence} confidence` : void 0
|
|
106
|
+
].filter((part) => part !== void 0);
|
|
107
|
+
const kind = STUDY_KIND[study.type ?? "SPLIT_TEST"] ?? "Split test";
|
|
108
|
+
return { sentence: `${kind}: ${parts.join(", ")}`, versions, measuring, alsoMeasured, schedule, confidence };
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
// src/commands/ads/meta/studies.ts
|
|
112
|
+
import { defineCommand } from "citty";
|
|
113
|
+
function studyState(row, nowSeconds) {
|
|
114
|
+
if (row.canceled_time) return "cancelled";
|
|
115
|
+
const start = unixSeconds(row.start_time) ?? 0;
|
|
116
|
+
const end = unixSeconds(row.end_time) ?? Number.POSITIVE_INFINITY;
|
|
117
|
+
if (nowSeconds < start) return "scheduled";
|
|
118
|
+
return nowSeconds < end ? "running" : "ended";
|
|
119
|
+
}
|
|
120
|
+
function compactStudy(row, nowSeconds) {
|
|
121
|
+
const study = adStudyFromWire(row);
|
|
122
|
+
const words = describeAdStudy(study, { names: study.names });
|
|
123
|
+
return {
|
|
124
|
+
id: study.id,
|
|
125
|
+
name: study.name,
|
|
126
|
+
state: studyState(row, nowSeconds),
|
|
127
|
+
compares: words.versions,
|
|
128
|
+
...study.start_time !== void 0 ? { starts: adStudyTime(study.start_time) } : {},
|
|
129
|
+
...study.end_time !== void 0 ? { ends: adStudyTime(study.end_time) } : {},
|
|
130
|
+
...row.results_first_available_date ? { results_from: row.results_first_available_date } : {}
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
function studyDetail(row, nowSeconds) {
|
|
134
|
+
const study = adStudyFromWire(row);
|
|
135
|
+
const measures = (row.objectives?.data ?? []).map((objective) => ({
|
|
136
|
+
id: objective.id,
|
|
137
|
+
name: objective.name,
|
|
138
|
+
primary: objective.is_primary === true,
|
|
139
|
+
...objective.results !== void 0 ? { results: objective.results } : {}
|
|
140
|
+
}));
|
|
141
|
+
return {
|
|
142
|
+
...compactStudy(row, nowSeconds),
|
|
143
|
+
...study.description ? { description: study.description } : {},
|
|
144
|
+
versions: study.cells.map((cell) => ({
|
|
145
|
+
cell_id: cell.id,
|
|
146
|
+
name: cell.name,
|
|
147
|
+
share: `${cell.treatment_percentage}%`,
|
|
148
|
+
runs: cellObjects(cell).map((id) => ({ id, name: study.names[id] })),
|
|
149
|
+
level: cell.ads ? "ad" : cell.adsets ? "ad set" : "campaign"
|
|
150
|
+
})),
|
|
151
|
+
measures
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
function studyHints(detail) {
|
|
155
|
+
const state = detail.state;
|
|
156
|
+
if (state === "scheduled") {
|
|
157
|
+
return [
|
|
158
|
+
"Not started: it can still be re-timed, re-split (`studies update --split <cell_id>=60 \u2026`) or deleted. Results appear once it runs."
|
|
159
|
+
];
|
|
160
|
+
}
|
|
161
|
+
const measures = detail.measures ?? [];
|
|
162
|
+
const hasResults = measures.some((measure) => measure.results !== void 0);
|
|
163
|
+
return [
|
|
164
|
+
hasResults ? "Meta's verdict is in each measure's results, with its confidence. Report a winner only when Meta names one at the test's confidence level; otherwise say the versions performed alike." : "No results yet \u2014 Meta publishes them once the test has gathered enough. Compare per-version delivery meanwhile with `baker ads meta insights --object <ad set or campaign id>`, and do not call a winner from it.",
|
|
165
|
+
state === "running" ? "Running: its split and start are fixed; it can be renamed, its end moved, ended now (`studies end`) or deleted (results and all)." : "Over. Read the per-version numbers with `baker ads meta insights --object <id>` for the period it ran."
|
|
166
|
+
];
|
|
167
|
+
}
|
|
168
|
+
registerSchema({
|
|
169
|
+
command: "ads.meta.studies",
|
|
170
|
+
description: "Meta A/B tests (ad studies) whose versions run in an ad account \u2014 what each compares, when it runs and its state (scheduled, running, ended). --study-id reads one: every version with its cell id and share, and each measure with Meta's results. --business-id lists every test on a Business. Stage new ones with `studies create`.",
|
|
171
|
+
args: {
|
|
172
|
+
"account-id": { type: "string", description: "Meta ad account ID (act_123)", required: false },
|
|
173
|
+
"business-id": { type: "string", description: "List every test on this Business instead", required: false },
|
|
174
|
+
"study-id": { type: "string", description: "One test: its versions and results", required: false },
|
|
175
|
+
full: { type: "boolean", description: "The tests as Meta returns them", required: false },
|
|
176
|
+
"no-cache": { type: "boolean", description: "Bypass the cache", required: false }
|
|
177
|
+
}
|
|
178
|
+
});
|
|
179
|
+
var listArgs = {
|
|
180
|
+
"account-id": { type: "string", description: "Meta ad account ID" },
|
|
181
|
+
"business-id": { type: "string", description: "List every test on this Business instead" },
|
|
182
|
+
"study-id": { type: "string", description: "Read one test: versions, cell ids, results" },
|
|
183
|
+
full: { type: "boolean", description: "The tests as Meta returns them" },
|
|
184
|
+
"no-cache": NO_CACHE_ARG
|
|
185
|
+
};
|
|
186
|
+
async function read(path, params, noCache) {
|
|
187
|
+
if (noCache) params["skip-cache"] = "true";
|
|
188
|
+
return await apiGet(path, params);
|
|
189
|
+
}
|
|
190
|
+
var listCommand = defineCommand({
|
|
191
|
+
meta: {
|
|
192
|
+
name: "list",
|
|
193
|
+
description: "List A/B tests. Runs by default. Example: baker ads meta studies --account-id act_123 \xB7 one test: baker ads meta studies --study-id 6123"
|
|
194
|
+
},
|
|
195
|
+
args: listArgs,
|
|
196
|
+
run: async ({ args }) => {
|
|
197
|
+
const now = Math.floor(Date.now() / 1e3);
|
|
198
|
+
try {
|
|
199
|
+
if (args["study-id"]) {
|
|
200
|
+
const row = await read(
|
|
201
|
+
"/api/ads/meta/study-results",
|
|
202
|
+
{ "study-id": String(args["study-id"]) },
|
|
203
|
+
args["no-cache"]
|
|
204
|
+
);
|
|
205
|
+
const detail = studyDetail(row, now);
|
|
206
|
+
writeJsonEnvelope({ ok: true, data: args.full ? row : detail, hints: studyHints(detail) });
|
|
207
|
+
return;
|
|
208
|
+
}
|
|
209
|
+
const params = args["business-id"] ? { "business-id": String(args["business-id"]) } : { "account-id": await resolveAccountIdArg(args) };
|
|
210
|
+
const rows = await read("/api/ads/meta/studies", params, args["no-cache"]);
|
|
211
|
+
const hints = rows.length === 0 ? [
|
|
212
|
+
"No A/B tests. To set one up: duplicate the ad set (`adsets duplicate`), change ONE thing on the copy, then `studies create --adsets <original>,<copy>`."
|
|
213
|
+
] : ["`studies --study-id <id>` reads one test's versions and results."];
|
|
214
|
+
writeJsonEnvelope({ ok: true, data: args.full ? rows : rows.map((row) => compactStudy(row, now)), hints });
|
|
215
|
+
} catch (err) {
|
|
216
|
+
handleMetaError(err);
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
});
|
|
220
|
+
var studiesCommand = defineCommand({
|
|
221
|
+
meta: {
|
|
222
|
+
name: "studies",
|
|
223
|
+
description: `Meta A/B tests (ad studies): Meta splits one audience between versions \u2014 ad sets or campaigns \u2014 so each person sees one, and calls the winner.
|
|
224
|
+
Not Baker's own page experiments (\`baker experiment\`), which test landing pages.
|
|
225
|
+
|
|
226
|
+
Examples:
|
|
227
|
+
baker ads meta studies --account-id act_123 # tests on this account and their state
|
|
228
|
+
baker ads meta studies --study-id 6123 # versions, cell ids, Meta's results
|
|
229
|
+
baker ads meta studies create --name "Broad vs lookalike" --adsets 6123,6124 --start 2026-10-20T08:00Z --days 14 --confidence 90
|
|
230
|
+
baker ads meta studies update 6123 --end 2026-11-10T08:00Z
|
|
231
|
+
baker ads meta studies end 6123 | delete 6123`
|
|
232
|
+
},
|
|
233
|
+
subCommands: {
|
|
234
|
+
list: listCommand,
|
|
235
|
+
create: () => import("./study-writes-GBUUKX4O.js").then((m) => m.studiesCreateCommand),
|
|
236
|
+
update: () => import("./study-writes-GBUUKX4O.js").then((m) => m.studiesUpdateCommand),
|
|
237
|
+
end: () => import("./study-writes-GBUUKX4O.js").then((m) => m.studiesEndCommand),
|
|
238
|
+
delete: () => import("./study-writes-GBUUKX4O.js").then((m) => m.studiesDeleteCommand)
|
|
239
|
+
},
|
|
240
|
+
args: listArgs,
|
|
241
|
+
default: "list"
|
|
242
|
+
});
|
|
243
|
+
export {
|
|
244
|
+
compactStudy,
|
|
245
|
+
studiesCommand,
|
|
246
|
+
studyDetail,
|
|
247
|
+
studyHints,
|
|
248
|
+
studyState
|
|
249
|
+
};
|
|
250
|
+
//# sourceMappingURL=studies-QLSKON6M.js.map
|