@koda-sl/baker-cli 0.495.0 → 0.497.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 +25 -4
- package/dist/account-ZKJFX2GK.js +80 -0
- package/dist/account-ZKJFX2GK.js.map +1 -0
- package/dist/account-users-SZCYHVBM.js +62 -0
- package/dist/account-users-SZCYHVBM.js.map +1 -0
- package/dist/accounts-5DFYKYSM.js +78 -0
- package/dist/accounts-5DFYKYSM.js.map +1 -0
- package/dist/accounts-OGAIQNE6.js +612 -0
- package/dist/accounts-OGAIQNE6.js.map +1 -0
- package/dist/actions-FMNJSOBA.js +55 -0
- package/dist/activecampaign-LYYYH6XD.js +936 -0
- package/dist/activecampaign-LYYYH6XD.js.map +1 -0
- package/dist/add-AOQLZRPC.js +80 -0
- package/dist/add-AOQLZRPC.js.map +1 -0
- package/dist/add-HWXEPSZF.js +105 -0
- package/dist/add-HWXEPSZF.js.map +1 -0
- package/dist/add-VDZPGZF5.js +148 -0
- package/dist/add-VDZPGZF5.js.map +1 -0
- package/dist/add-YYP3O536.js +303 -0
- package/dist/add-YYP3O536.js.map +1 -0
- package/dist/ads-OLXSDPD6.js +40 -0
- package/dist/advertisers-STYAIX72.js +121 -0
- package/dist/advertisers-STYAIX72.js.map +1 -0
- package/dist/analytics-6WBK4VFO.js +1977 -0
- package/dist/analytics-6WBK4VFO.js.map +1 -0
- package/dist/analytics-DHB325DM.js +434 -0
- package/dist/analytics-DHB325DM.js.map +1 -0
- package/dist/assign-BFXHYTMF.js +78 -0
- package/dist/assign-BFXHYTMF.js.map +1 -0
- package/dist/audience-size-XWHZV2GH.js +74 -0
- package/dist/audience-size-XWHZV2GH.js.map +1 -0
- package/dist/audit-IYGRU7LD.js +152 -0
- package/dist/audit-IYGRU7LD.js.map +1 -0
- package/dist/autocomplete-SDDSJTAF.js +112 -0
- package/dist/autocomplete-SDDSJTAF.js.map +1 -0
- package/dist/avatars-I4H3NMEJ.js +38 -0
- package/dist/bid-pricing-OVYBDRMV.js +101 -0
- package/dist/bid-pricing-OVYBDRMV.js.map +1 -0
- package/dist/brand-3V7ECY7D.js +22 -0
- package/dist/brief-U2W7KMFC.js +539 -0
- package/dist/brief-U2W7KMFC.js.map +1 -0
- package/dist/campaign-groups-FJHBVUA3.js +97 -0
- package/dist/campaign-groups-FJHBVUA3.js.map +1 -0
- package/dist/campaign-writes-XKYYMZML.js +166 -0
- package/dist/campaign-writes-XKYYMZML.js.map +1 -0
- package/dist/campaigns-E5UW4I3X.js +111 -0
- package/dist/campaigns-E5UW4I3X.js.map +1 -0
- package/dist/campaigns-MCB76NPQ.js +107 -0
- package/dist/canvas-JCNKMGCG.js +46 -0
- package/dist/capabilities-CLTZCXCZ.js +145 -0
- package/dist/capabilities-CLTZCXCZ.js.map +1 -0
- package/dist/chatgpt-XFZ42NXC.js +47 -0
- package/dist/chats-DTJSBDWO.js +277 -0
- package/dist/chats-DTJSBDWO.js.map +1 -0
- package/dist/check-CZTS64AW.js +105 -0
- package/dist/check-CZTS64AW.js.map +1 -0
- package/dist/chunk-2YTBPRRG.js +207 -0
- package/dist/chunk-3SNCMEJB.js +97 -0
- package/dist/chunk-7QGFO35A.js +23 -0
- package/dist/chunk-AV7ALENU.js +191 -0
- package/dist/chunk-BRLFQ4VX.js +604 -0
- package/dist/chunk-CAZGM2NX.js +92 -0
- package/dist/chunk-CAZGM2NX.js.map +1 -0
- package/dist/chunk-DJE7UXYT.js +831 -0
- package/dist/chunk-EFWXYUSK.js +139 -0
- package/dist/chunk-EONSZAZB.js +3868 -0
- package/dist/chunk-FALJQCWL.js +661 -0
- package/dist/chunk-FALJQCWL.js.map +1 -0
- package/dist/chunk-FG3MV2XM.js +89 -0
- package/dist/chunk-FKG476GH.js +392 -0
- package/dist/chunk-FUGQSIYG.js +297 -0
- package/dist/chunk-G4OFH3MX.js +455 -0
- package/dist/chunk-G4OFH3MX.js.map +1 -0
- package/dist/chunk-GZ4A2VYW.js +39 -0
- package/dist/chunk-GZ4A2VYW.js.map +1 -0
- package/dist/chunk-HPLHAHG5.js +275 -0
- package/dist/chunk-I24YT2KG.js +122 -0
- package/dist/chunk-IFDZZOUC.js +903 -0
- package/dist/chunk-JVVUI55M.js +455 -0
- package/dist/chunk-KKSHEPBY.js +363 -0
- package/dist/chunk-KQ7RCLGC.js +547 -0
- package/dist/chunk-L7WMS5PW.js +172 -0
- package/dist/chunk-LBRO4MTL.js +19 -0
- package/dist/chunk-LNRPOULW.js +224 -0
- package/dist/chunk-LX6WC2XZ.js +942 -0
- package/dist/chunk-MMGTJBM6.js +142 -0
- package/dist/chunk-NZS3KEQ2.js +97 -0
- package/dist/chunk-NZS3KEQ2.js.map +1 -0
- package/dist/chunk-O37VU7FG.js +6799 -0
- package/dist/chunk-O37VU7FG.js.map +1 -0
- package/dist/chunk-OEZYSL3U.js +51 -0
- package/dist/chunk-OOVHBMQB.js +103 -0
- package/dist/chunk-PTH7VWKK.js +159 -0
- package/dist/chunk-PYD6IGW6.js +401 -0
- package/dist/chunk-PYD6IGW6.js.map +1 -0
- package/dist/chunk-QE2E4EYJ.js +349 -0
- package/dist/chunk-QE2E4EYJ.js.map +1 -0
- package/dist/chunk-QZF4BVKL.js +66 -0
- package/dist/chunk-RITUSBYO.js +61 -0
- package/dist/chunk-SSTL3A7Z.js +206 -0
- package/dist/chunk-SZNGQ2GF.js +64 -0
- package/dist/chunk-SZNGQ2GF.js.map +1 -0
- package/dist/chunk-TD4SO6TR.js +169 -0
- package/dist/chunk-UZ4RTOFG.js +91 -0
- package/dist/chunk-VAX7PFQV.js +592 -0
- package/dist/chunk-VDRSZK4P.js +494 -0
- package/dist/chunk-VNU2EYD4.js +344 -0
- package/dist/chunk-WT4WDIXA.js +156 -0
- package/dist/chunk-XEX23CIB.js +160 -0
- package/dist/chunk-XXDF25BW.js +8939 -0
- package/dist/chunk-YJ3LSFMX.js +249 -0
- package/dist/chunk-YVK5RT3B.js +197 -0
- package/dist/chunk-YWWRLZUR.js +433 -0
- package/dist/chunk-Z4S5BCVZ.js +57 -0
- package/dist/chunk-ZYGK7GAK.js +1079 -0
- package/dist/claim-TSFPWTQY.js +198 -0
- package/dist/claim-TSFPWTQY.js.map +1 -0
- package/dist/cli.js +38 -37
- package/dist/cli.js.map +1 -1
- package/dist/companies-P7FZNJQV.js +196 -0
- package/dist/companies-P7FZNJQV.js.map +1 -0
- package/dist/complete-SYDIHMD5.js +82 -0
- package/dist/complete-SYDIHMD5.js.map +1 -0
- package/dist/connect-COS6G45S.js +43 -0
- package/dist/conversation-UJOWMJRH.js +94 -0
- package/dist/conversation-UJOWMJRH.js.map +1 -0
- package/dist/conversions-ONOIEILU.js +138 -0
- package/dist/conversions-ONOIEILU.js.map +1 -0
- package/dist/create-DPQRYQXK.js +208 -0
- package/dist/create-DPQRYQXK.js.map +1 -0
- package/dist/create-JD76Z4A4.js +60 -0
- package/dist/create-JD76Z4A4.js.map +1 -0
- package/dist/create-NOT3HGP2.js +133 -0
- package/dist/create-NOT3HGP2.js.map +1 -0
- package/dist/create-ZYEB7SHF.js +236 -0
- package/dist/create-ZYEB7SHF.js.map +1 -0
- package/dist/creatives-LRSELC7Y.js +221 -0
- package/dist/creatives-LRSELC7Y.js.map +1 -0
- package/dist/creatives-SEQHJD2M.js +58 -0
- package/dist/credentials-LHPTUVVA.js +288 -0
- package/dist/credentials-LHPTUVVA.js.map +1 -0
- package/dist/critique-Q7GSZ5RP.js +1459 -0
- package/dist/critique-Q7GSZ5RP.js.map +1 -0
- package/dist/critique-RR2XOQCE.js +228 -0
- package/dist/critique-RR2XOQCE.js.map +1 -0
- package/dist/crm-J7EU32PL.js +319 -0
- package/dist/crm-J7EU32PL.js.map +1 -0
- package/dist/crm-MC444ZVU.js +225 -0
- package/dist/crm-MC444ZVU.js.map +1 -0
- package/dist/customers-LMSX33FO.js +57 -0
- package/dist/delete-BQBVATMF.js +55 -0
- package/dist/delete-BQBVATMF.js.map +1 -0
- package/dist/delete-K7A3AUPH.js +65 -0
- package/dist/delete-K7A3AUPH.js.map +1 -0
- package/dist/delete-VV2ICIHF.js +67 -0
- package/dist/delete-VV2ICIHF.js.map +1 -0
- package/dist/demographics-7GWUXXS6.js +139 -0
- package/dist/demographics-7GWUXXS6.js.map +1 -0
- package/dist/discard-3CLZ4DPD.js +67 -0
- package/dist/discard-3CLZ4DPD.js.map +1 -0
- package/dist/domain-ZS74BSE6.js +99 -0
- package/dist/domain-ZS74BSE6.js.map +1 -0
- package/dist/draft-J3B33RAZ.js +308 -0
- package/dist/draft-J3B33RAZ.js.map +1 -0
- package/dist/draft-MZLWVX3D.js +218 -0
- package/dist/draft-MZLWVX3D.js.map +1 -0
- package/dist/draft-R56PIXCV.js +333 -0
- package/dist/draft-R56PIXCV.js.map +1 -0
- package/dist/experiment-7RJ5X2LL.js +1397 -0
- package/dist/experiments-NOSJJMYI.js +234 -0
- package/dist/experiments-NOSJJMYI.js.map +1 -0
- package/dist/facets-E6SHYUAI.js +115 -0
- package/dist/facets-E6SHYUAI.js.map +1 -0
- package/dist/feedback-HXCQBV7S.js +107 -0
- package/dist/feedback-HXCQBV7S.js.map +1 -0
- package/dist/feedback-record-GXPYXNT6.js +261 -0
- package/dist/feedback-record-GXPYXNT6.js.map +1 -0
- package/dist/fetch-HMUGSRE4.js +177 -0
- package/dist/fetch-HMUGSRE4.js.map +1 -0
- package/dist/find-2EPXK5RF.js +134 -0
- package/dist/fit-W7UNFZT5.js +63 -0
- package/dist/flows-SO5J3M3X.js +248 -0
- package/dist/flows-SO5J3M3X.js.map +1 -0
- package/dist/fonts-N42UYWTX.js +37 -0
- package/dist/forecast-24LGJVLC.js +119 -0
- package/dist/forecast-24LGJVLC.js.map +1 -0
- package/dist/funnel-NYT36B3C.js +395 -0
- package/dist/funnel-NYT36B3C.js.map +1 -0
- package/dist/ga4-6EIQC2TG.js +55 -0
- package/dist/get-KAGO4EC5.js +80 -0
- package/dist/get-KAGO4EC5.js.map +1 -0
- package/dist/get-PZX27LQY.js +38 -0
- package/dist/get-PZX27LQY.js.map +1 -0
- package/dist/get-R5JAFHTH.js +57 -0
- package/dist/get-R5JAFHTH.js.map +1 -0
- package/dist/google-O5OI6QFU.js +136 -0
- package/dist/google-ads-6X4BHGUR.js +196 -0
- package/dist/google-ads-6X4BHGUR.js.map +1 -0
- package/dist/gsc-BM3T2GDL.js +30 -0
- package/dist/history-LGOWYLBE.js +134 -0
- package/dist/history-LGOWYLBE.js.map +1 -0
- package/dist/hubspot-LJB3ETUT.js +780 -0
- package/dist/hubspot-LJB3ETUT.js.map +1 -0
- package/dist/icon-B7DG53S5.js +137 -0
- package/dist/ideas-DYN2DMFN.js +41 -0
- package/dist/images-EQCUXEHF.js +92 -0
- package/dist/ingest-B46AY3QU.js +24 -0
- package/dist/ingest-T7ZS2R4U.js +108 -0
- package/dist/ingest-T7ZS2R4U.js.map +1 -0
- package/dist/inspect-BSNGAT2S.js +190 -0
- package/dist/inspect-BSNGAT2S.js.map +1 -0
- package/dist/inspiration-TCCKM4R7.js +53 -0
- package/dist/keyword-metrics-KNTIN4ZK.js +198 -0
- package/dist/keyword-metrics-KNTIN4ZK.js.map +1 -0
- package/dist/keywords-for-site-S4MXGXWR.js +129 -0
- package/dist/keywords-for-site-S4MXGXWR.js.map +1 -0
- package/dist/landing-WVPA7NBR.js +28 -0
- package/dist/leads-EINV5FK3.js +113 -0
- package/dist/leads-EINV5FK3.js.map +1 -0
- package/dist/learn-7Z2VR6MS.js +205 -0
- package/dist/learn-7Z2VR6MS.js.map +1 -0
- package/dist/line-item-writes-Z3TIB5KZ.js +209 -0
- package/dist/line-item-writes-Z3TIB5KZ.js.map +1 -0
- package/dist/line-items-OEWYOPFP.js +103 -0
- package/dist/link-KYHUIPJE.js +65 -0
- package/dist/link-KYHUIPJE.js.map +1 -0
- package/dist/linkedin-JVB4HXJC.js +1314 -0
- package/dist/linkedin-JVB4HXJC.js.map +1 -0
- package/dist/list-EORTO73V.js +93 -0
- package/dist/list-EORTO73V.js.map +1 -0
- package/dist/list-QQVLURKH.js +152 -0
- package/dist/list-QQVLURKH.js.map +1 -0
- package/dist/list-QWGKRUSM.js +65 -0
- package/dist/list-QWGKRUSM.js.map +1 -0
- package/dist/list-WRBWQASJ.js +50 -0
- package/dist/list-Z6NMNK3T.js +304 -0
- package/dist/list-Z6NMNK3T.js.map +1 -0
- package/dist/log-RUMKYPYK.js +93 -0
- package/dist/log-RUMKYPYK.js.map +1 -0
- package/dist/logo-QTSBKP2J.js +18 -0
- package/dist/make-IJGCQA7C.js +1354 -0
- package/dist/make-IJGCQA7C.js.map +1 -0
- package/dist/map-QZHIJFQT.js +434 -0
- package/dist/map-QZHIJFQT.js.map +1 -0
- package/dist/mcp-ZH2XDV5P.js +715 -0
- package/dist/mcp-ZH2XDV5P.js.map +1 -0
- package/dist/media-sources-SQ2RPDBO.js +35 -0
- package/dist/media-sources-SQ2RPDBO.js.map +1 -0
- package/dist/members-4YX7JEZM.js +45 -0
- package/dist/members-4YX7JEZM.js.map +1 -0
- package/dist/normalize-ABIWLRIT.js +142 -0
- package/dist/normalize-ABIWLRIT.js.map +1 -0
- package/dist/options-SVCQVTNE.js +123 -0
- package/dist/options-SVCQVTNE.js.map +1 -0
- package/dist/organization-FNKDC742.js +947 -0
- package/dist/organization-FNKDC742.js.map +1 -0
- package/dist/performance-HTU5FR2K.js +25 -0
- package/dist/plan-W2K45F7K.js +207 -0
- package/dist/posts-3DAPTBH2.js +34 -0
- package/dist/posts-3DAPTBH2.js.map +1 -0
- package/dist/promoted-tweet-writes-DD3CJNWW.js +181 -0
- package/dist/promoted-tweet-writes-DD3CJNWW.js.map +1 -0
- package/dist/promoted-tweets-TTWN5OMW.js +119 -0
- package/dist/publish-Z62KGDJ2.js +342 -0
- package/dist/publish-Z62KGDJ2.js.map +1 -0
- package/dist/reddit-6C3PT5CT.js +27 -0
- package/dist/refresh-HCQXVFVR.js +95 -0
- package/dist/refresh-HCQXVFVR.js.map +1 -0
- package/dist/refresh-ZCGH64OZ.js +42 -0
- package/dist/refresh-ZCGH64OZ.js.map +1 -0
- package/dist/release-FIHW2HCH.js +61 -0
- package/dist/release-FIHW2HCH.js.map +1 -0
- package/dist/remove-CBR7NVMI.js +51 -0
- package/dist/remove-CBR7NVMI.js.map +1 -0
- package/dist/remove-PUZP5GWN.js +49 -0
- package/dist/remove-PUZP5GWN.js.map +1 -0
- package/dist/reopen-EJGLRQWR.js +64 -0
- package/dist/reopen-EJGLRQWR.js.map +1 -0
- package/dist/rerun-TVBZXASH.js +91 -0
- package/dist/rerun-TVBZXASH.js.map +1 -0
- package/dist/research-L25D4WHQ.js +263 -0
- package/dist/research-L25D4WHQ.js.map +1 -0
- package/dist/research-YCMMQVK6.js +62 -0
- package/dist/reset-HKKCWKZ7.js +55 -0
- package/dist/reset-HKKCWKZ7.js.map +1 -0
- package/dist/reset-SRL6I6GP.js +55 -0
- package/dist/reset-SRL6I6GP.js.map +1 -0
- package/dist/resolve-POMTTAFR.js +122 -0
- package/dist/resolve-POMTTAFR.js.map +1 -0
- package/dist/retry-MEPTOAV2.js +61 -0
- package/dist/retry-MEPTOAV2.js.map +1 -0
- package/dist/retry-RNGM3KKA.js +63 -0
- package/dist/retry-RNGM3KKA.js.map +1 -0
- package/dist/revenue-X4KPTSAM.js +89 -0
- package/dist/revenue-X4KPTSAM.js.map +1 -0
- package/dist/rules-VK7YA23Q.js +97 -0
- package/dist/rules-VK7YA23Q.js.map +1 -0
- package/dist/rules-add-VG7AT6EG.js +463 -0
- package/dist/rules-add-VG7AT6EG.js.map +1 -0
- package/dist/run-DIDQSZU7.js +67 -0
- package/dist/run-DIDQSZU7.js.map +1 -0
- package/dist/run-SR7DJ7M5.js +66 -0
- package/dist/scaffold-ad-46GTFUMP.js +1512 -0
- package/dist/scaffold-ad-46GTFUMP.js.map +1 -0
- package/dist/scaffold-static-ad-U63V4UHR.js +1006 -0
- package/dist/scaffold-static-ad-U63V4UHR.js.map +1 -0
- package/dist/scaffold-video-4DNTURH6.js +884 -0
- package/dist/scaffold-video-4DNTURH6.js.map +1 -0
- package/dist/schedule-JO66N7XO.js +62 -0
- package/dist/schedule-JO66N7XO.js.map +1 -0
- package/dist/schedule-JZBIX6LH.js +67 -0
- package/dist/schedule-JZBIX6LH.js.map +1 -0
- package/dist/scheduled-agents-N63EZNY6.js +50 -0
- package/dist/schema-B2XANMEY.js +133 -0
- package/dist/schema-B2XANMEY.js.map +1 -0
- package/dist/schema-C6SGBNA6.js +69 -0
- package/dist/search-7GHS3OUZ.js +51 -0
- package/dist/search-7GHS3OUZ.js.map +1 -0
- package/dist/search-W5HZUJA2.js +175 -0
- package/dist/search-W5HZUJA2.js.map +1 -0
- package/dist/select-LMGLNFWB.js +102 -0
- package/dist/select-LMGLNFWB.js.map +1 -0
- package/dist/set-prompt-M5E3UZDM.js +194 -0
- package/dist/set-prompt-M5E3UZDM.js.map +1 -0
- package/dist/setup-links-ERBQSKAB.js +142 -0
- package/dist/setup-links-ERBQSKAB.js.map +1 -0
- package/dist/site-PNVFJRYK.js +178 -0
- package/dist/site-PNVFJRYK.js.map +1 -0
- package/dist/sources-DMZJPLKC.js +455 -0
- package/dist/sources-DMZJPLKC.js.map +1 -0
- package/dist/sources-HN3GCEDX.js +30 -0
- package/dist/stale-VWN25WTL.js +72 -0
- package/dist/stale-VWN25WTL.js.map +1 -0
- package/dist/stats-CVF6AC7R.js +34 -0
- package/dist/status-SF7DTPCJ.js +63 -0
- package/dist/status-SF7DTPCJ.js.map +1 -0
- package/dist/stock-4LPQ6SM7.js +179 -0
- package/dist/studio-NZ6WQ7OE.js +49 -0
- package/dist/suggest-WMMEQCUH.js +66 -0
- package/dist/suggest-WMMEQCUH.js.map +1 -0
- package/dist/sync-F7VNZLWY.js +55 -0
- package/dist/sync-F7VNZLWY.js.map +1 -0
- package/dist/sync-HVNDPBOD.js +55 -0
- package/dist/sync-HVNDPBOD.js.map +1 -0
- package/dist/sync-definition-CKEUYKWN.js +65 -0
- package/dist/tag-KTQ2FV5C.js +57 -0
- package/dist/tag-KTQ2FV5C.js.map +1 -0
- package/dist/tag-manager-FLXXLNKP.js +43 -0
- package/dist/tags-EUOOSAKN.js +26 -0
- package/dist/tags-KOMAP2G5.js +21 -0
- package/dist/tags-KOMAP2G5.js.map +1 -0
- package/dist/tags-TKXJGTR3.js +21 -0
- package/dist/tags-TKXJGTR3.js.map +1 -0
- package/dist/tags-VWIPDCUA.js +225 -0
- package/dist/tags-VWIPDCUA.js.map +1 -0
- package/dist/tags-XAB4HWGW.js +21 -0
- package/dist/tags-XAB4HWGW.js.map +1 -0
- package/dist/targeting-criteria-HE7K52WN.js +113 -0
- package/dist/targets-NA4XPDBF.js +104 -0
- package/dist/targets-NA4XPDBF.js.map +1 -0
- package/dist/testimonials-3Q5XM7JD.js +32 -0
- package/dist/top-companies-TKO4QGPJ.js +109 -0
- package/dist/top-companies-TKO4QGPJ.js.map +1 -0
- package/dist/translate-YVIZ5T44.js +605 -0
- package/dist/translate-YVIZ5T44.js.map +1 -0
- package/dist/triggers-QX7VW7UO.js +143 -0
- package/dist/triggers-QX7VW7UO.js.map +1 -0
- package/dist/unlink-64SRPUNG.js +68 -0
- package/dist/unlink-64SRPUNG.js.map +1 -0
- package/dist/unstage-5X2MOUMF.js +86 -0
- package/dist/unstage-5X2MOUMF.js.map +1 -0
- package/dist/update-22ZBHURE.js +81 -0
- package/dist/update-22ZBHURE.js.map +1 -0
- package/dist/update-2LTPSGWT.js +99 -0
- package/dist/update-2LTPSGWT.js.map +1 -0
- package/dist/update-DOKS7ATM.js +189 -0
- package/dist/update-DOKS7ATM.js.map +1 -0
- package/dist/update-FB6X463M.js +64 -0
- package/dist/update-FB6X463M.js.map +1 -0
- package/dist/update-QIZ7XFAM.js +153 -0
- package/dist/update-QIZ7XFAM.js.map +1 -0
- package/dist/upload-XJ7TUVIK.js +127 -0
- package/dist/upload-XJ7TUVIK.js.map +1 -0
- package/dist/url-params-KLQOLNPS.js +99 -0
- package/dist/url-params-KLQOLNPS.js.map +1 -0
- package/dist/validate-YTBJBG44.js +118 -0
- package/dist/validate-YTBJBG44.js.map +1 -0
- package/dist/videos-WAPUPJVT.js +39 -0
- package/dist/viewer-check-GHQA3UY2.js +81 -0
- package/dist/web-6JMWERTT.js +141 -0
- package/dist/web-6JMWERTT.js.map +1 -0
- package/dist/winning-ads-XCVUAIOU.js +86 -0
- package/dist/write-commands-N74CDMQM.js +1493 -0
- package/dist/write-commands-N74CDMQM.js.map +1 -0
- package/dist/x-SI4KYDEY.js +47 -0
- package/package.json +1 -1
- package/dist/account-UHNR5KTE.js +0 -79
- package/dist/account-UHNR5KTE.js.map +0 -1
- package/dist/accounts-KMLXHADA.js +0 -77
- package/dist/accounts-KMLXHADA.js.map +0 -1
- package/dist/accounts-QDGNTSTV.js +0 -611
- package/dist/accounts-QDGNTSTV.js.map +0 -1
- package/dist/actions-QL5UD2W4.js +0 -55
- package/dist/activecampaign-5OD45ROS.js +0 -935
- package/dist/activecampaign-5OD45ROS.js.map +0 -1
- package/dist/add-2F7BEVYD.js +0 -105
- package/dist/add-2F7BEVYD.js.map +0 -1
- package/dist/add-6K6LO7CM.js +0 -104
- package/dist/add-6K6LO7CM.js.map +0 -1
- package/dist/add-LYDJZDGO.js +0 -302
- package/dist/add-LYDJZDGO.js.map +0 -1
- package/dist/ads-DHPJFU52.js +0 -40
- package/dist/advertisers-23LU7GTV.js +0 -120
- package/dist/advertisers-23LU7GTV.js.map +0 -1
- package/dist/analytics-DVD4OBBR.js +0 -1976
- package/dist/analytics-DVD4OBBR.js.map +0 -1
- package/dist/analytics-HO2SLL4W.js +0 -433
- package/dist/analytics-HO2SLL4W.js.map +0 -1
- package/dist/assign-CLKJKH2B.js +0 -77
- package/dist/assign-CLKJKH2B.js.map +0 -1
- package/dist/audience-size-NNYYXODL.js +0 -73
- package/dist/audience-size-NNYYXODL.js.map +0 -1
- package/dist/audit-KB4P2XGS.js +0 -151
- package/dist/audit-KB4P2XGS.js.map +0 -1
- package/dist/autocomplete-VZD2SMTE.js +0 -111
- package/dist/autocomplete-VZD2SMTE.js.map +0 -1
- package/dist/avatars-FKOO6VZ2.js +0 -38
- package/dist/bid-pricing-6LLXOLLI.js +0 -100
- package/dist/bid-pricing-6LLXOLLI.js.map +0 -1
- package/dist/brand-NNWHBIAX.js +0 -22
- package/dist/brief-CPJQWT6W.js +0 -538
- package/dist/brief-CPJQWT6W.js.map +0 -1
- package/dist/campaign-groups-YPYNXOWU.js +0 -95
- package/dist/campaign-groups-YPYNXOWU.js.map +0 -1
- package/dist/campaign-writes-UJ4L2O6G.js +0 -165
- package/dist/campaign-writes-UJ4L2O6G.js.map +0 -1
- package/dist/campaigns-HLBZRH5A.js +0 -107
- package/dist/campaigns-N44ZDGB5.js +0 -109
- package/dist/campaigns-N44ZDGB5.js.map +0 -1
- package/dist/canvas-D64GLWUO.js +0 -46
- package/dist/capabilities-LWXCWMIY.js +0 -144
- package/dist/capabilities-LWXCWMIY.js.map +0 -1
- package/dist/chatgpt-YI6YNACI.js +0 -47
- package/dist/chats-7WGC2CVW.js +0 -276
- package/dist/chats-7WGC2CVW.js.map +0 -1
- package/dist/check-EH6BXWWL.js +0 -104
- package/dist/check-EH6BXWWL.js.map +0 -1
- package/dist/chunk-237WE5LX.js +0 -455
- package/dist/chunk-237WE5LX.js.map +0 -1
- package/dist/chunk-2B772ZEA.js +0 -169
- package/dist/chunk-2KRK667G.js +0 -51
- package/dist/chunk-2TVXJPGR.js +0 -103
- package/dist/chunk-3AMLOCXY.js +0 -392
- package/dist/chunk-3B5LPK6D.js +0 -658
- package/dist/chunk-3B5LPK6D.js.map +0 -1
- package/dist/chunk-3N5A44NQ.js +0 -122
- package/dist/chunk-3WAYZQNV.js +0 -61
- package/dist/chunk-5A257KJA.js +0 -160
- package/dist/chunk-6QGS3RQP.js +0 -363
- package/dist/chunk-AFD32O4A.js +0 -494
- package/dist/chunk-AW2GKIGS.js +0 -433
- package/dist/chunk-CYSBNCPX.js +0 -55
- package/dist/chunk-CYSBNCPX.js.map +0 -1
- package/dist/chunk-DAO63OOP.js +0 -6352
- package/dist/chunk-DAO63OOP.js.map +0 -1
- package/dist/chunk-EMQUW6JB.js +0 -942
- package/dist/chunk-EW3JEKIV.js +0 -139
- package/dist/chunk-FBFWMTOP.js +0 -19
- package/dist/chunk-GXDLWBOY.js +0 -73
- package/dist/chunk-GXDLWBOY.js.map +0 -1
- package/dist/chunk-GXGYTFZA.js +0 -8939
- package/dist/chunk-I7J7YQXZ.js +0 -142
- package/dist/chunk-IBY44U2M.js +0 -1079
- package/dist/chunk-IFXGCI33.js +0 -297
- package/dist/chunk-IKLHXGMF.js +0 -91
- package/dist/chunk-IYTPWAN3.js +0 -604
- package/dist/chunk-J3CWAERS.js +0 -3868
- package/dist/chunk-JH2L5CQD.js +0 -206
- package/dist/chunk-JUVVCA7B.js +0 -97
- package/dist/chunk-MK6XJUCQ.js +0 -197
- package/dist/chunk-N3I6ZXR7.js +0 -66
- package/dist/chunk-NBO2NSAW.js +0 -592
- package/dist/chunk-NEU5QD2C.js +0 -249
- package/dist/chunk-NKIBXOHT.js +0 -344
- package/dist/chunk-OE3MIV4F.js +0 -547
- package/dist/chunk-P2MFWJR3.js +0 -903
- package/dist/chunk-PHCIFBP3.js +0 -89
- package/dist/chunk-PTUXBO5O.js +0 -224
- package/dist/chunk-Q3LXLWZY.js +0 -275
- package/dist/chunk-Q5WBTVA7.js +0 -455
- package/dist/chunk-RDEAVCMF.js +0 -399
- package/dist/chunk-RDEAVCMF.js.map +0 -1
- package/dist/chunk-RGMKXNQP.js +0 -23
- package/dist/chunk-RZTKCCUL.js +0 -831
- package/dist/chunk-TTKBNBQF.js +0 -156
- package/dist/chunk-VB3XUR6A.js +0 -207
- package/dist/chunk-XCKINS7K.js +0 -57
- package/dist/chunk-Y6GKV7CU.js +0 -346
- package/dist/chunk-Y6GKV7CU.js.map +0 -1
- package/dist/chunk-Z2GQREJY.js +0 -159
- package/dist/chunk-ZDAVSTEE.js +0 -172
- package/dist/chunk-ZXCSOVS5.js +0 -191
- package/dist/claim-SVDCQ2AI.js +0 -197
- package/dist/claim-SVDCQ2AI.js.map +0 -1
- package/dist/companies-BYMYQK6A.js +0 -195
- package/dist/companies-BYMYQK6A.js.map +0 -1
- package/dist/complete-NEH3MWRI.js +0 -81
- package/dist/complete-NEH3MWRI.js.map +0 -1
- package/dist/connect-5PGL7ZOM.js +0 -42
- package/dist/conversation-CSOKJXDW.js +0 -93
- package/dist/conversation-CSOKJXDW.js.map +0 -1
- package/dist/conversions-4JOTTFEH.js +0 -135
- package/dist/conversions-4JOTTFEH.js.map +0 -1
- package/dist/create-2XYMBULY.js +0 -207
- package/dist/create-2XYMBULY.js.map +0 -1
- package/dist/create-56PTZABQ.js +0 -235
- package/dist/create-56PTZABQ.js.map +0 -1
- package/dist/create-D6S6TGWY.js +0 -59
- package/dist/create-D6S6TGWY.js.map +0 -1
- package/dist/create-SMW4O5PC.js +0 -132
- package/dist/create-SMW4O5PC.js.map +0 -1
- package/dist/creatives-OO76DAFS.js +0 -58
- package/dist/creatives-VJUYWJL6.js +0 -182
- package/dist/creatives-VJUYWJL6.js.map +0 -1
- package/dist/credentials-2ONYUJW6.js +0 -287
- package/dist/credentials-2ONYUJW6.js.map +0 -1
- package/dist/critique-NDDFSGPE.js +0 -1458
- package/dist/critique-NDDFSGPE.js.map +0 -1
- package/dist/critique-YXZVMLZ4.js +0 -227
- package/dist/critique-YXZVMLZ4.js.map +0 -1
- package/dist/crm-Q6CEP5XV.js +0 -224
- package/dist/crm-Q6CEP5XV.js.map +0 -1
- package/dist/crm-WRONZYDH.js +0 -318
- package/dist/crm-WRONZYDH.js.map +0 -1
- package/dist/customers-2EFYSCU2.js +0 -56
- package/dist/delete-7WEVC3FS.js +0 -66
- package/dist/delete-7WEVC3FS.js.map +0 -1
- package/dist/delete-RBWK255M.js +0 -54
- package/dist/delete-RBWK255M.js.map +0 -1
- package/dist/delete-VN4WWMQF.js +0 -64
- package/dist/delete-VN4WWMQF.js.map +0 -1
- package/dist/demographics-I5XZ435C.js +0 -138
- package/dist/demographics-I5XZ435C.js.map +0 -1
- package/dist/discard-XJLIXTNM.js +0 -66
- package/dist/discard-XJLIXTNM.js.map +0 -1
- package/dist/domain-M7AEGAYI.js +0 -98
- package/dist/domain-M7AEGAYI.js.map +0 -1
- package/dist/draft-5DQI4W5F.js +0 -306
- package/dist/draft-5DQI4W5F.js.map +0 -1
- package/dist/draft-7IIYHSY2.js +0 -332
- package/dist/draft-7IIYHSY2.js.map +0 -1
- package/dist/draft-CN6GKVBF.js +0 -217
- package/dist/draft-CN6GKVBF.js.map +0 -1
- package/dist/experiment-IDDWRCJ7.js +0 -1397
- package/dist/facets-ZLZ6LIHN.js +0 -114
- package/dist/facets-ZLZ6LIHN.js.map +0 -1
- package/dist/feedback-7LEX2P5Q.js +0 -106
- package/dist/feedback-7LEX2P5Q.js.map +0 -1
- package/dist/feedback-record-P4JJ63KA.js +0 -260
- package/dist/feedback-record-P4JJ63KA.js.map +0 -1
- package/dist/fetch-MIVCEHXZ.js +0 -176
- package/dist/fetch-MIVCEHXZ.js.map +0 -1
- package/dist/find-VHN34MWL.js +0 -134
- package/dist/fit-SS6HSZPU.js +0 -62
- package/dist/flows-UTIIHDNE.js +0 -247
- package/dist/flows-UTIIHDNE.js.map +0 -1
- package/dist/fonts-YPNN7ZJP.js +0 -36
- package/dist/forecast-OBSHG2GJ.js +0 -118
- package/dist/forecast-OBSHG2GJ.js.map +0 -1
- package/dist/funnel-Z2VLXUEQ.js +0 -394
- package/dist/funnel-Z2VLXUEQ.js.map +0 -1
- package/dist/ga4-ZPAEF2G2.js +0 -55
- package/dist/get-MDAO6I7T.js +0 -56
- package/dist/get-MDAO6I7T.js.map +0 -1
- package/dist/get-ZB553BSH.js +0 -79
- package/dist/get-ZB553BSH.js.map +0 -1
- package/dist/google-C3X7O2UO.js +0 -136
- package/dist/google-ads-FTWL772L.js +0 -195
- package/dist/google-ads-FTWL772L.js.map +0 -1
- package/dist/gsc-SDDHGTZK.js +0 -30
- package/dist/history-WKJYKDMG.js +0 -133
- package/dist/history-WKJYKDMG.js.map +0 -1
- package/dist/hubspot-EPHVEPOO.js +0 -779
- package/dist/hubspot-EPHVEPOO.js.map +0 -1
- package/dist/icon-MYPDC6FM.js +0 -137
- package/dist/ideas-3PBH7VEX.js +0 -40
- package/dist/images-J35C3WG4.js +0 -92
- package/dist/ingest-5QOPUKFE.js +0 -107
- package/dist/ingest-5QOPUKFE.js.map +0 -1
- package/dist/ingest-OKUYP632.js +0 -23
- package/dist/inspect-PMNCP6MV.js +0 -189
- package/dist/inspect-PMNCP6MV.js.map +0 -1
- package/dist/inspiration-QAL7NS7G.js +0 -53
- package/dist/keyword-metrics-R752SJIT.js +0 -197
- package/dist/keyword-metrics-R752SJIT.js.map +0 -1
- package/dist/keywords-for-site-7UWPJYQF.js +0 -128
- package/dist/keywords-for-site-7UWPJYQF.js.map +0 -1
- package/dist/landing-CBVIOGJ5.js +0 -28
- package/dist/leads-LIJS6Y5W.js +0 -90
- package/dist/leads-LIJS6Y5W.js.map +0 -1
- package/dist/learn-N6QV7GXA.js +0 -204
- package/dist/learn-N6QV7GXA.js.map +0 -1
- package/dist/line-item-writes-3WPJXKIL.js +0 -208
- package/dist/line-item-writes-3WPJXKIL.js.map +0 -1
- package/dist/line-items-ZOFKOGAA.js +0 -103
- package/dist/link-DDRQKOUL.js +0 -64
- package/dist/link-DDRQKOUL.js.map +0 -1
- package/dist/linkedin-UWZCF66X.js +0 -1057
- package/dist/linkedin-UWZCF66X.js.map +0 -1
- package/dist/list-5PLXVPLB.js +0 -151
- package/dist/list-5PLXVPLB.js.map +0 -1
- package/dist/list-RC2NX6AX.js +0 -50
- package/dist/list-VSJISE7U.js +0 -303
- package/dist/list-VSJISE7U.js.map +0 -1
- package/dist/list-WTVOBQYX.js +0 -64
- package/dist/list-WTVOBQYX.js.map +0 -1
- package/dist/log-YKKPROLZ.js +0 -92
- package/dist/log-YKKPROLZ.js.map +0 -1
- package/dist/logo-WE2UELX6.js +0 -18
- package/dist/make-RNOWBLZQ.js +0 -1353
- package/dist/make-RNOWBLZQ.js.map +0 -1
- package/dist/map-WTDPQLVO.js +0 -433
- package/dist/map-WTDPQLVO.js.map +0 -1
- package/dist/mcp-XJNSCPP3.js +0 -714
- package/dist/mcp-XJNSCPP3.js.map +0 -1
- package/dist/media-sources-JGBDDXZ5.js +0 -32
- package/dist/media-sources-JGBDDXZ5.js.map +0 -1
- package/dist/members-O3BTMRXX.js +0 -44
- package/dist/members-O3BTMRXX.js.map +0 -1
- package/dist/normalize-R5AYLA2J.js +0 -141
- package/dist/normalize-R5AYLA2J.js.map +0 -1
- package/dist/options-AILRY7JY.js +0 -122
- package/dist/options-AILRY7JY.js.map +0 -1
- package/dist/organization-KJJXZLVK.js +0 -946
- package/dist/organization-KJJXZLVK.js.map +0 -1
- package/dist/performance-7YU4HOGH.js +0 -24
- package/dist/plan-ZC4JY4IG.js +0 -207
- package/dist/promoted-tweet-writes-TNELWPVG.js +0 -180
- package/dist/promoted-tweet-writes-TNELWPVG.js.map +0 -1
- package/dist/promoted-tweets-76WKUFJQ.js +0 -119
- package/dist/publish-BKLHCKHB.js +0 -341
- package/dist/publish-BKLHCKHB.js.map +0 -1
- package/dist/reddit-YK3YUZEI.js +0 -26
- package/dist/refresh-WIII7KXB.js +0 -94
- package/dist/refresh-WIII7KXB.js.map +0 -1
- package/dist/release-ZHXYQI7G.js +0 -60
- package/dist/release-ZHXYQI7G.js.map +0 -1
- package/dist/remove-NOX4BXWK.js +0 -50
- package/dist/remove-NOX4BXWK.js.map +0 -1
- package/dist/remove-VLWRCOEZ.js +0 -48
- package/dist/remove-VLWRCOEZ.js.map +0 -1
- package/dist/reopen-NLWKK5HB.js +0 -63
- package/dist/reopen-NLWKK5HB.js.map +0 -1
- package/dist/rerun-DZWQNMZQ.js +0 -90
- package/dist/rerun-DZWQNMZQ.js.map +0 -1
- package/dist/research-Q3P76RHN.js +0 -62
- package/dist/research-UDZBCDNX.js +0 -262
- package/dist/research-UDZBCDNX.js.map +0 -1
- package/dist/reset-5UHFX7QY.js +0 -54
- package/dist/reset-5UHFX7QY.js.map +0 -1
- package/dist/reset-MTRJQUP7.js +0 -54
- package/dist/reset-MTRJQUP7.js.map +0 -1
- package/dist/resolve-DA72VT7Q.js +0 -121
- package/dist/resolve-DA72VT7Q.js.map +0 -1
- package/dist/retry-LQUBX5TK.js +0 -62
- package/dist/retry-LQUBX5TK.js.map +0 -1
- package/dist/retry-U6F4CS6O.js +0 -60
- package/dist/retry-U6F4CS6O.js.map +0 -1
- package/dist/rules-VS5PZ7VO.js +0 -96
- package/dist/rules-VS5PZ7VO.js.map +0 -1
- package/dist/rules-add-LMVZYDXE.js +0 -462
- package/dist/rules-add-LMVZYDXE.js.map +0 -1
- package/dist/run-6PRA2YSD.js +0 -65
- package/dist/run-R6COFNOR.js +0 -66
- package/dist/run-R6COFNOR.js.map +0 -1
- package/dist/scaffold-ad-3OVJ7VZQ.js +0 -1511
- package/dist/scaffold-ad-3OVJ7VZQ.js.map +0 -1
- package/dist/scaffold-static-ad-DDRA3Q5I.js +0 -1005
- package/dist/scaffold-static-ad-DDRA3Q5I.js.map +0 -1
- package/dist/scaffold-video-3JZYFYFU.js +0 -883
- package/dist/scaffold-video-3JZYFYFU.js.map +0 -1
- package/dist/schedule-BRSYHMKR.js +0 -66
- package/dist/schedule-BRSYHMKR.js.map +0 -1
- package/dist/schedule-ED2YDUPY.js +0 -61
- package/dist/schedule-ED2YDUPY.js.map +0 -1
- package/dist/scheduled-agents-5P67MVGX.js +0 -50
- package/dist/schema-4XVKERSA.js +0 -132
- package/dist/schema-4XVKERSA.js.map +0 -1
- package/dist/schema-RRAQW3OS.js +0 -69
- package/dist/search-Y2UMIQ57.js +0 -174
- package/dist/search-Y2UMIQ57.js.map +0 -1
- package/dist/select-OZ4E6VLF.js +0 -101
- package/dist/select-OZ4E6VLF.js.map +0 -1
- package/dist/set-prompt-O4YAE4CE.js +0 -193
- package/dist/set-prompt-O4YAE4CE.js.map +0 -1
- package/dist/setup-links-2GJYCV2A.js +0 -141
- package/dist/setup-links-2GJYCV2A.js.map +0 -1
- package/dist/site-47B6V2UX.js +0 -177
- package/dist/site-47B6V2UX.js.map +0 -1
- package/dist/sources-DXPZAPQ7.js +0 -454
- package/dist/sources-DXPZAPQ7.js.map +0 -1
- package/dist/sources-NDXYTASG.js +0 -30
- package/dist/stale-VLVBO2L6.js +0 -71
- package/dist/stale-VLVBO2L6.js.map +0 -1
- package/dist/stats-37OFAMPW.js +0 -34
- package/dist/status-4ODD46XY.js +0 -62
- package/dist/status-4ODD46XY.js.map +0 -1
- package/dist/stock-6R5E7MJX.js +0 -179
- package/dist/studio-LEIGL3Q7.js +0 -49
- package/dist/sync-EKGEWE53.js +0 -54
- package/dist/sync-EKGEWE53.js.map +0 -1
- package/dist/sync-TKNVBUDM.js +0 -54
- package/dist/sync-TKNVBUDM.js.map +0 -1
- package/dist/sync-definition-M5R3H3TP.js +0 -64
- package/dist/tag-manager-3Q55PBEW.js +0 -43
- package/dist/tags-4N5UUUN6.js +0 -26
- package/dist/tags-5NHIAD5A.js +0 -20
- package/dist/tags-5NHIAD5A.js.map +0 -1
- package/dist/tags-UUKWSWCN.js +0 -20
- package/dist/tags-UUKWSWCN.js.map +0 -1
- package/dist/tags-VK7B5DJF.js +0 -20
- package/dist/tags-VK7B5DJF.js.map +0 -1
- package/dist/tags-XAHIB3WA.js +0 -224
- package/dist/tags-XAHIB3WA.js.map +0 -1
- package/dist/targeting-criteria-AVARWV2G.js +0 -113
- package/dist/targets-6RYLQRID.js +0 -103
- package/dist/targets-6RYLQRID.js.map +0 -1
- package/dist/testimonials-6TF6BOFN.js +0 -32
- package/dist/top-companies-45EHRCJD.js +0 -108
- package/dist/top-companies-45EHRCJD.js.map +0 -1
- package/dist/translate-VHLBACCE.js +0 -604
- package/dist/translate-VHLBACCE.js.map +0 -1
- package/dist/triggers-ERQONJNO.js +0 -142
- package/dist/triggers-ERQONJNO.js.map +0 -1
- package/dist/unlink-TPDO6JNF.js +0 -67
- package/dist/unlink-TPDO6JNF.js.map +0 -1
- package/dist/unstage-YKKQQ7LW.js +0 -85
- package/dist/unstage-YKKQQ7LW.js.map +0 -1
- package/dist/update-43WU6X7R.js +0 -63
- package/dist/update-43WU6X7R.js.map +0 -1
- package/dist/update-CAHLAXWO.js +0 -98
- package/dist/update-CAHLAXWO.js.map +0 -1
- package/dist/update-NGH6YADN.js +0 -152
- package/dist/update-NGH6YADN.js.map +0 -1
- package/dist/update-SPJIHHLE.js +0 -188
- package/dist/update-SPJIHHLE.js.map +0 -1
- package/dist/upload-ACESIZIZ.js +0 -126
- package/dist/upload-ACESIZIZ.js.map +0 -1
- package/dist/url-params-MIXEDBF7.js +0 -98
- package/dist/url-params-MIXEDBF7.js.map +0 -1
- package/dist/validate-XJJA7ULE.js +0 -117
- package/dist/validate-XJJA7ULE.js.map +0 -1
- package/dist/videos-LBXPG7WC.js +0 -39
- package/dist/viewer-check-7VJ3GUZX.js +0 -80
- package/dist/web-EWQJC2SD.js +0 -140
- package/dist/web-EWQJC2SD.js.map +0 -1
- package/dist/winning-ads-SAOJAKEQ.js +0 -86
- package/dist/write-commands-QPDE4GWW.js +0 -1024
- package/dist/write-commands-QPDE4GWW.js.map +0 -1
- package/dist/x-LXOJPCRF.js +0 -47
- /package/dist/{actions-QL5UD2W4.js.map → actions-FMNJSOBA.js.map} +0 -0
- /package/dist/{ads-DHPJFU52.js.map → ads-OLXSDPD6.js.map} +0 -0
- /package/dist/{avatars-FKOO6VZ2.js.map → avatars-I4H3NMEJ.js.map} +0 -0
- /package/dist/{brand-NNWHBIAX.js.map → brand-3V7ECY7D.js.map} +0 -0
- /package/dist/{campaigns-HLBZRH5A.js.map → campaigns-MCB76NPQ.js.map} +0 -0
- /package/dist/{canvas-D64GLWUO.js.map → canvas-JCNKMGCG.js.map} +0 -0
- /package/dist/{chatgpt-YI6YNACI.js.map → chatgpt-XFZ42NXC.js.map} +0 -0
- /package/dist/{chunk-VB3XUR6A.js.map → chunk-2YTBPRRG.js.map} +0 -0
- /package/dist/{chunk-JUVVCA7B.js.map → chunk-3SNCMEJB.js.map} +0 -0
- /package/dist/{chunk-RGMKXNQP.js.map → chunk-7QGFO35A.js.map} +0 -0
- /package/dist/{chunk-ZXCSOVS5.js.map → chunk-AV7ALENU.js.map} +0 -0
- /package/dist/{chunk-IYTPWAN3.js.map → chunk-BRLFQ4VX.js.map} +0 -0
- /package/dist/{chunk-RZTKCCUL.js.map → chunk-DJE7UXYT.js.map} +0 -0
- /package/dist/{chunk-EW3JEKIV.js.map → chunk-EFWXYUSK.js.map} +0 -0
- /package/dist/{chunk-J3CWAERS.js.map → chunk-EONSZAZB.js.map} +0 -0
- /package/dist/{chunk-PHCIFBP3.js.map → chunk-FG3MV2XM.js.map} +0 -0
- /package/dist/{chunk-3AMLOCXY.js.map → chunk-FKG476GH.js.map} +0 -0
- /package/dist/{chunk-IFXGCI33.js.map → chunk-FUGQSIYG.js.map} +0 -0
- /package/dist/{chunk-Q3LXLWZY.js.map → chunk-HPLHAHG5.js.map} +0 -0
- /package/dist/{chunk-3N5A44NQ.js.map → chunk-I24YT2KG.js.map} +0 -0
- /package/dist/{chunk-P2MFWJR3.js.map → chunk-IFDZZOUC.js.map} +0 -0
- /package/dist/{chunk-Q5WBTVA7.js.map → chunk-JVVUI55M.js.map} +0 -0
- /package/dist/{chunk-6QGS3RQP.js.map → chunk-KKSHEPBY.js.map} +0 -0
- /package/dist/{chunk-OE3MIV4F.js.map → chunk-KQ7RCLGC.js.map} +0 -0
- /package/dist/{chunk-ZDAVSTEE.js.map → chunk-L7WMS5PW.js.map} +0 -0
- /package/dist/{chunk-FBFWMTOP.js.map → chunk-LBRO4MTL.js.map} +0 -0
- /package/dist/{chunk-PTUXBO5O.js.map → chunk-LNRPOULW.js.map} +0 -0
- /package/dist/{chunk-EMQUW6JB.js.map → chunk-LX6WC2XZ.js.map} +0 -0
- /package/dist/{chunk-I7J7YQXZ.js.map → chunk-MMGTJBM6.js.map} +0 -0
- /package/dist/{chunk-2KRK667G.js.map → chunk-OEZYSL3U.js.map} +0 -0
- /package/dist/{chunk-2TVXJPGR.js.map → chunk-OOVHBMQB.js.map} +0 -0
- /package/dist/{chunk-Z2GQREJY.js.map → chunk-PTH7VWKK.js.map} +0 -0
- /package/dist/{chunk-N3I6ZXR7.js.map → chunk-QZF4BVKL.js.map} +0 -0
- /package/dist/{chunk-3WAYZQNV.js.map → chunk-RITUSBYO.js.map} +0 -0
- /package/dist/{chunk-JH2L5CQD.js.map → chunk-SSTL3A7Z.js.map} +0 -0
- /package/dist/{chunk-2B772ZEA.js.map → chunk-TD4SO6TR.js.map} +0 -0
- /package/dist/{chunk-IKLHXGMF.js.map → chunk-UZ4RTOFG.js.map} +0 -0
- /package/dist/{chunk-NBO2NSAW.js.map → chunk-VAX7PFQV.js.map} +0 -0
- /package/dist/{chunk-AFD32O4A.js.map → chunk-VDRSZK4P.js.map} +0 -0
- /package/dist/{chunk-NKIBXOHT.js.map → chunk-VNU2EYD4.js.map} +0 -0
- /package/dist/{chunk-TTKBNBQF.js.map → chunk-WT4WDIXA.js.map} +0 -0
- /package/dist/{chunk-5A257KJA.js.map → chunk-XEX23CIB.js.map} +0 -0
- /package/dist/{chunk-GXGYTFZA.js.map → chunk-XXDF25BW.js.map} +0 -0
- /package/dist/{chunk-NEU5QD2C.js.map → chunk-YJ3LSFMX.js.map} +0 -0
- /package/dist/{chunk-MK6XJUCQ.js.map → chunk-YVK5RT3B.js.map} +0 -0
- /package/dist/{chunk-AW2GKIGS.js.map → chunk-YWWRLZUR.js.map} +0 -0
- /package/dist/{chunk-XCKINS7K.js.map → chunk-Z4S5BCVZ.js.map} +0 -0
- /package/dist/{chunk-IBY44U2M.js.map → chunk-ZYGK7GAK.js.map} +0 -0
- /package/dist/{connect-5PGL7ZOM.js.map → connect-COS6G45S.js.map} +0 -0
- /package/dist/{creatives-OO76DAFS.js.map → creatives-SEQHJD2M.js.map} +0 -0
- /package/dist/{customers-2EFYSCU2.js.map → customers-LMSX33FO.js.map} +0 -0
- /package/dist/{experiment-IDDWRCJ7.js.map → experiment-7RJ5X2LL.js.map} +0 -0
- /package/dist/{find-VHN34MWL.js.map → find-2EPXK5RF.js.map} +0 -0
- /package/dist/{fit-SS6HSZPU.js.map → fit-W7UNFZT5.js.map} +0 -0
- /package/dist/{fonts-YPNN7ZJP.js.map → fonts-N42UYWTX.js.map} +0 -0
- /package/dist/{ga4-ZPAEF2G2.js.map → ga4-6EIQC2TG.js.map} +0 -0
- /package/dist/{google-C3X7O2UO.js.map → google-O5OI6QFU.js.map} +0 -0
- /package/dist/{gsc-SDDHGTZK.js.map → gsc-BM3T2GDL.js.map} +0 -0
- /package/dist/{icon-MYPDC6FM.js.map → icon-B7DG53S5.js.map} +0 -0
- /package/dist/{ideas-3PBH7VEX.js.map → ideas-DYN2DMFN.js.map} +0 -0
- /package/dist/{images-J35C3WG4.js.map → images-EQCUXEHF.js.map} +0 -0
- /package/dist/{ingest-OKUYP632.js.map → ingest-B46AY3QU.js.map} +0 -0
- /package/dist/{inspiration-QAL7NS7G.js.map → inspiration-TCCKM4R7.js.map} +0 -0
- /package/dist/{landing-CBVIOGJ5.js.map → landing-WVPA7NBR.js.map} +0 -0
- /package/dist/{line-items-ZOFKOGAA.js.map → line-items-OEWYOPFP.js.map} +0 -0
- /package/dist/{list-RC2NX6AX.js.map → list-WRBWQASJ.js.map} +0 -0
- /package/dist/{logo-WE2UELX6.js.map → logo-QTSBKP2J.js.map} +0 -0
- /package/dist/{performance-7YU4HOGH.js.map → performance-HTU5FR2K.js.map} +0 -0
- /package/dist/{plan-ZC4JY4IG.js.map → plan-W2K45F7K.js.map} +0 -0
- /package/dist/{promoted-tweets-76WKUFJQ.js.map → promoted-tweets-TTWN5OMW.js.map} +0 -0
- /package/dist/{reddit-YK3YUZEI.js.map → reddit-6C3PT5CT.js.map} +0 -0
- /package/dist/{research-Q3P76RHN.js.map → research-YCMMQVK6.js.map} +0 -0
- /package/dist/{run-6PRA2YSD.js.map → run-SR7DJ7M5.js.map} +0 -0
- /package/dist/{scheduled-agents-5P67MVGX.js.map → scheduled-agents-N63EZNY6.js.map} +0 -0
- /package/dist/{schema-RRAQW3OS.js.map → schema-C6SGBNA6.js.map} +0 -0
- /package/dist/{sources-NDXYTASG.js.map → sources-HN3GCEDX.js.map} +0 -0
- /package/dist/{stats-37OFAMPW.js.map → stats-CVF6AC7R.js.map} +0 -0
- /package/dist/{stock-6R5E7MJX.js.map → stock-4LPQ6SM7.js.map} +0 -0
- /package/dist/{studio-LEIGL3Q7.js.map → studio-NZ6WQ7OE.js.map} +0 -0
- /package/dist/{sync-definition-M5R3H3TP.js.map → sync-definition-CKEUYKWN.js.map} +0 -0
- /package/dist/{tag-manager-3Q55PBEW.js.map → tag-manager-FLXXLNKP.js.map} +0 -0
- /package/dist/{tags-4N5UUUN6.js.map → tags-EUOOSAKN.js.map} +0 -0
- /package/dist/{targeting-criteria-AVARWV2G.js.map → targeting-criteria-HE7K52WN.js.map} +0 -0
- /package/dist/{testimonials-6TF6BOFN.js.map → testimonials-3Q5XM7JD.js.map} +0 -0
- /package/dist/{videos-LBXPG7WC.js.map → videos-WAPUPJVT.js.map} +0 -0
- /package/dist/{viewer-check-7VJ3GUZX.js.map → viewer-check-GHQA3UY2.js.map} +0 -0
- /package/dist/{winning-ads-SAOJAKEQ.js.map → winning-ads-XCVUAIOU.js.map} +0 -0
- /package/dist/{x-LXOJPCRF.js.map → x-SI4KYDEY.js.map} +0 -0
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import {
|
|
2
|
+
agentProfile,
|
|
3
|
+
offers
|
|
4
|
+
} from "./chunk-FALJQCWL.js";
|
|
5
|
+
import "./chunk-57KKVDDR.js";
|
|
6
|
+
import {
|
|
7
|
+
findSchema,
|
|
8
|
+
listSchemas,
|
|
9
|
+
writeJson
|
|
10
|
+
} from "./chunk-QANGHND7.js";
|
|
11
|
+
import "./chunk-YQSBHWOI.js";
|
|
12
|
+
|
|
13
|
+
// src/commands/schema.ts
|
|
14
|
+
import { defineCommand } from "citty";
|
|
15
|
+
function narrowToFamily(commandName, available) {
|
|
16
|
+
const segments = commandName.split(".");
|
|
17
|
+
const prefix = segments[0] === "ads" && segments[1] ? `ads.${segments[1]}.` : `${segments[0]}.`;
|
|
18
|
+
const siblings = available.filter((name) => name.startsWith(prefix));
|
|
19
|
+
return siblings.length > 0 ? siblings : available;
|
|
20
|
+
}
|
|
21
|
+
var schemaCommand = defineCommand({
|
|
22
|
+
meta: {
|
|
23
|
+
name: "schema",
|
|
24
|
+
description: "Inspect command argument schemas (for AI agent introspection). Lists all commands if no argument given. Example: baker schema images search (or images.search)"
|
|
25
|
+
},
|
|
26
|
+
args: {
|
|
27
|
+
command: {
|
|
28
|
+
type: "positional",
|
|
29
|
+
description: "Command path, as typed (images list) or dotted (images.list). Omit to list all.",
|
|
30
|
+
required: false
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
run: ({ args }) => {
|
|
34
|
+
const words = args._.filter((word) => typeof word === "string" && word.length > 0);
|
|
35
|
+
if (words.length === 0) {
|
|
36
|
+
const profile = agentProfile();
|
|
37
|
+
const schemas = listSchemas().filter((name) => offers(profile, name.replaceAll(".", " ")));
|
|
38
|
+
writeJson({ ok: true, data: { commands: schemas } });
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
const commandName = words.join(".");
|
|
42
|
+
const schema = findSchema(words);
|
|
43
|
+
if (!schema) {
|
|
44
|
+
const all = listSchemas();
|
|
45
|
+
const available = narrowToFamily(commandName, all);
|
|
46
|
+
const segments = commandName.split(".");
|
|
47
|
+
const family = segments[0] === "ads" && segments[1] ? `ads-${segments[1]}` : segments[0];
|
|
48
|
+
const scope = available.length < all.length ? ` in the "${family}" family` : "";
|
|
49
|
+
writeJson({
|
|
50
|
+
ok: false,
|
|
51
|
+
error: {
|
|
52
|
+
code: "NOT_FOUND",
|
|
53
|
+
message: `Schema "${commandName}" not found. Available${scope}: ${available.join(", ")}`,
|
|
54
|
+
fix: {
|
|
55
|
+
action: `Run the command with --help for exact args, and read __tooling__/docs/tools/baker/${family}.md`,
|
|
56
|
+
explanation: "Not every command registers a schema; --help and the family doc are the ground truth for those."
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
process.exit(1);
|
|
61
|
+
}
|
|
62
|
+
writeJson({ ok: true, data: schema });
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
export {
|
|
66
|
+
narrowToFamily,
|
|
67
|
+
schemaCommand
|
|
68
|
+
};
|
|
69
|
+
//# sourceMappingURL=schema-C6SGBNA6.js.map
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import {
|
|
2
|
+
reportError
|
|
3
|
+
} from "./chunk-GZ4A2VYW.js";
|
|
4
|
+
import {
|
|
5
|
+
socialPostPlatformSchema
|
|
6
|
+
} from "./chunk-NZS3KEQ2.js";
|
|
7
|
+
import {
|
|
8
|
+
apiGet
|
|
9
|
+
} from "./chunk-6YLNY6CK.js";
|
|
10
|
+
import "./chunk-D5NEIESR.js";
|
|
11
|
+
import "./chunk-57KKVDDR.js";
|
|
12
|
+
import {
|
|
13
|
+
registerSchema,
|
|
14
|
+
writeJson
|
|
15
|
+
} from "./chunk-QANGHND7.js";
|
|
16
|
+
import "./chunk-YQSBHWOI.js";
|
|
17
|
+
|
|
18
|
+
// src/commands/posts/search.ts
|
|
19
|
+
import { defineCommand } from "citty";
|
|
20
|
+
registerSchema({
|
|
21
|
+
command: "posts.search",
|
|
22
|
+
description: "Find posts by what they say or who wrote them.",
|
|
23
|
+
args: {
|
|
24
|
+
q: { type: "string", description: "Words to look for", required: true },
|
|
25
|
+
platform: { type: "string", description: socialPostPlatformSchema.options.join("|"), required: false },
|
|
26
|
+
limit: { type: "number", description: "Max posts (default 20)", required: false }
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
var searchCommand = defineCommand({
|
|
30
|
+
meta: { name: "search", description: 'Find posts by their words. Example: baker posts search "series A"' },
|
|
31
|
+
args: {
|
|
32
|
+
q: { type: "positional", description: "Words to look for", required: true },
|
|
33
|
+
platform: { type: "string", description: socialPostPlatformSchema.options.join("|"), required: false },
|
|
34
|
+
limit: { type: "string", description: "Max posts (default 20)", required: false }
|
|
35
|
+
},
|
|
36
|
+
run: async ({ args }) => {
|
|
37
|
+
const params = { q: String(args.q) };
|
|
38
|
+
if (args.platform) params.platform = String(args.platform);
|
|
39
|
+
if (args.limit) params.limit = String(args.limit);
|
|
40
|
+
try {
|
|
41
|
+
const { posts } = await apiGet("/api/posts/search", params);
|
|
42
|
+
writeJson({ ok: true, data: posts });
|
|
43
|
+
} catch (err) {
|
|
44
|
+
reportError(err);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
export {
|
|
49
|
+
searchCommand
|
|
50
|
+
};
|
|
51
|
+
//# sourceMappingURL=search-7GHS3OUZ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/posts/search.ts"],"sourcesContent":["import { type SocialPostRow, socialPostPlatformSchema } from \"@baker/api/social-posts\";\nimport { defineCommand } from \"citty\";\nimport { apiGet } from \"../../client.ts\";\nimport { writeJson } from \"../../output.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport { reportError } from \"./shared.ts\";\n\nregisterSchema({\n command: \"posts.search\",\n description: \"Find posts by what they say or who wrote them.\",\n args: {\n q: { type: \"string\", description: \"Words to look for\", required: true },\n platform: { type: \"string\", description: socialPostPlatformSchema.options.join(\"|\"), required: false },\n limit: { type: \"number\", description: \"Max posts (default 20)\", required: false },\n },\n});\n\nexport const searchCommand = defineCommand({\n meta: { name: \"search\", description: 'Find posts by their words. Example: baker posts search \"series A\"' },\n args: {\n q: { type: \"positional\", description: \"Words to look for\", required: true },\n platform: { type: \"string\", description: socialPostPlatformSchema.options.join(\"|\"), required: false },\n limit: { type: \"string\", description: \"Max posts (default 20)\", required: false },\n },\n run: async ({ args }) => {\n const params: Record<string, string> = { q: String(args.q) };\n if (args.platform) params.platform = String(args.platform);\n if (args.limit) params.limit = String(args.limit);\n try {\n const { posts } = await apiGet<{ posts: SocialPostRow[] }>(\"/api/posts/search\", params);\n writeJson({ ok: true, data: posts });\n } catch (err) {\n reportError(err);\n }\n },\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;AACA,SAAS,qBAAqB;AAM9B,eAAe;AAAA,EACb,SAAS;AAAA,EACT,aAAa;AAAA,EACb,MAAM;AAAA,IACJ,GAAG,EAAE,MAAM,UAAU,aAAa,qBAAqB,UAAU,KAAK;AAAA,IACtE,UAAU,EAAE,MAAM,UAAU,aAAa,yBAAyB,QAAQ,KAAK,GAAG,GAAG,UAAU,MAAM;AAAA,IACrG,OAAO,EAAE,MAAM,UAAU,aAAa,0BAA0B,UAAU,MAAM;AAAA,EAClF;AACF,CAAC;AAEM,IAAM,gBAAgB,cAAc;AAAA,EACzC,MAAM,EAAE,MAAM,UAAU,aAAa,oEAAoE;AAAA,EACzG,MAAM;AAAA,IACJ,GAAG,EAAE,MAAM,cAAc,aAAa,qBAAqB,UAAU,KAAK;AAAA,IAC1E,UAAU,EAAE,MAAM,UAAU,aAAa,yBAAyB,QAAQ,KAAK,GAAG,GAAG,UAAU,MAAM;AAAA,IACrG,OAAO,EAAE,MAAM,UAAU,aAAa,0BAA0B,UAAU,MAAM;AAAA,EAClF;AAAA,EACA,KAAK,OAAO,EAAE,KAAK,MAAM;AACvB,UAAM,SAAiC,EAAE,GAAG,OAAO,KAAK,CAAC,EAAE;AAC3D,QAAI,KAAK,SAAU,QAAO,WAAW,OAAO,KAAK,QAAQ;AACzD,QAAI,KAAK,MAAO,QAAO,QAAQ,OAAO,KAAK,KAAK;AAChD,QAAI;AACF,YAAM,EAAE,MAAM,IAAI,MAAM,OAAmC,qBAAqB,MAAM;AACtF,gBAAU,EAAE,IAAI,MAAM,MAAM,MAAM,CAAC;AAAA,IACrC,SAAS,KAAK;AACZ,kBAAY,GAAG;AAAA,IACjB;AAAA,EACF;AACF,CAAC;","names":[]}
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
import {
|
|
2
|
+
measureEmptyCorpus
|
|
3
|
+
} from "./chunk-NA7PXVCW.js";
|
|
4
|
+
import {
|
|
5
|
+
activeFilterFlags
|
|
6
|
+
} from "./chunk-Q6ULQMWG.js";
|
|
7
|
+
import {
|
|
8
|
+
testimonialSourceTypeSchema
|
|
9
|
+
} from "./chunk-O37VU7FG.js";
|
|
10
|
+
import "./chunk-CAZGM2NX.js";
|
|
11
|
+
import "./chunk-NZS3KEQ2.js";
|
|
12
|
+
import "./chunk-GIWHHCD6.js";
|
|
13
|
+
import "./chunk-XQIOCIDO.js";
|
|
14
|
+
import "./chunk-WTJSMYY2.js";
|
|
15
|
+
import {
|
|
16
|
+
ApiError,
|
|
17
|
+
apiPost
|
|
18
|
+
} from "./chunk-6YLNY6CK.js";
|
|
19
|
+
import "./chunk-D5NEIESR.js";
|
|
20
|
+
import "./chunk-57KKVDDR.js";
|
|
21
|
+
import {
|
|
22
|
+
registerSchema,
|
|
23
|
+
testimonialNormalizer,
|
|
24
|
+
writeJson,
|
|
25
|
+
writeOutput
|
|
26
|
+
} from "./chunk-QANGHND7.js";
|
|
27
|
+
import "./chunk-YQSBHWOI.js";
|
|
28
|
+
|
|
29
|
+
// src/commands/testimonials/search.ts
|
|
30
|
+
import { defineCommand } from "citty";
|
|
31
|
+
var FILTER_FLAGS = ["source", "rating-min", "rating-max", "status", "sentiment", "language", "tags"];
|
|
32
|
+
function languageBiasHint(results, requestedLanguage) {
|
|
33
|
+
if (requestedLanguage) {
|
|
34
|
+
return null;
|
|
35
|
+
}
|
|
36
|
+
const withLang = results.filter((r) => typeof r.language === "string" && r.language.length > 0);
|
|
37
|
+
if (withLang.length < 3) {
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
const counts = /* @__PURE__ */ new Map();
|
|
41
|
+
for (const r of withLang) {
|
|
42
|
+
const lang = r.language;
|
|
43
|
+
counts.set(lang, (counts.get(lang) ?? 0) + 1);
|
|
44
|
+
}
|
|
45
|
+
const [topLang, topCount] = [...counts.entries()].sort((a, b) => b[1] - a[1])[0] ?? ["", 0];
|
|
46
|
+
if (topLang && topCount / withLang.length >= 0.8) {
|
|
47
|
+
return `Results skew ${topLang} (${topCount}/${withLang.length}). If you're sourcing quotes for a specific market, pass --language <code> (e.g. --language en) so the ad's language matches its audience.`;
|
|
48
|
+
}
|
|
49
|
+
return null;
|
|
50
|
+
}
|
|
51
|
+
registerSchema({
|
|
52
|
+
command: "testimonials.search",
|
|
53
|
+
description: "Search testimonials by text query. Uses hybrid BM25 + vector + reranking.",
|
|
54
|
+
args: {
|
|
55
|
+
query: { type: "string", description: "Search query text", required: true },
|
|
56
|
+
limit: { type: "number", description: "Maximum results to return", required: false, default: 10 },
|
|
57
|
+
source: {
|
|
58
|
+
type: "string",
|
|
59
|
+
description: `Filter by source: ${testimonialSourceTypeSchema.options.join("|")}`,
|
|
60
|
+
required: false,
|
|
61
|
+
enum: [...testimonialSourceTypeSchema.options]
|
|
62
|
+
},
|
|
63
|
+
"rating-min": { type: "number", description: "Minimum star rating (1-5)", required: false },
|
|
64
|
+
"rating-max": { type: "number", description: "Maximum star rating (1-5)", required: false },
|
|
65
|
+
status: {
|
|
66
|
+
type: "string",
|
|
67
|
+
description: "Filter by status: pending|processing|ready|error",
|
|
68
|
+
required: false,
|
|
69
|
+
enum: ["pending", "processing", "ready", "error"]
|
|
70
|
+
},
|
|
71
|
+
sentiment: {
|
|
72
|
+
type: "string",
|
|
73
|
+
description: "Filter: positive|neutral|negative",
|
|
74
|
+
required: false,
|
|
75
|
+
enum: ["positive", "neutral", "negative"]
|
|
76
|
+
},
|
|
77
|
+
language: { type: "string", description: "Filter by language code (e.g. en, es)", required: false },
|
|
78
|
+
tags: { type: "string", description: "Comma-separated tags to filter by", required: false }
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
function buildSearchRequest(query, args) {
|
|
82
|
+
const body = { query };
|
|
83
|
+
if (args.limit !== void 0) {
|
|
84
|
+
body.limit = Number(args.limit);
|
|
85
|
+
}
|
|
86
|
+
if (args.source) {
|
|
87
|
+
body.source = args.source;
|
|
88
|
+
}
|
|
89
|
+
if (args["rating-min"] !== void 0) {
|
|
90
|
+
body.rating_min = Number(args["rating-min"]);
|
|
91
|
+
}
|
|
92
|
+
if (args["rating-max"] !== void 0) {
|
|
93
|
+
body.rating_max = Number(args["rating-max"]);
|
|
94
|
+
}
|
|
95
|
+
if (args.status) {
|
|
96
|
+
body.status = args.status;
|
|
97
|
+
}
|
|
98
|
+
if (args.sentiment) {
|
|
99
|
+
body.sentiment = args.sentiment;
|
|
100
|
+
}
|
|
101
|
+
if (args.language) {
|
|
102
|
+
body.language = args.language;
|
|
103
|
+
}
|
|
104
|
+
if (args.tags) {
|
|
105
|
+
body.tags = args.tags.split(",").filter(Boolean);
|
|
106
|
+
}
|
|
107
|
+
return body;
|
|
108
|
+
}
|
|
109
|
+
var searchCommand = defineCommand({
|
|
110
|
+
meta: {
|
|
111
|
+
name: "search",
|
|
112
|
+
description: "Semantic search testimonials by text query. Uses hybrid BM25 + vector + reranking. Example: baker testimonials search 'great service' --rating-min 4"
|
|
113
|
+
},
|
|
114
|
+
args: {
|
|
115
|
+
query: { type: "positional", description: "Search query text", required: false },
|
|
116
|
+
limit: { type: "string", description: "Max results (default 10)", required: false },
|
|
117
|
+
source: {
|
|
118
|
+
type: "string",
|
|
119
|
+
description: `Filter by source: ${testimonialSourceTypeSchema.options.join("|")}`,
|
|
120
|
+
required: false
|
|
121
|
+
},
|
|
122
|
+
"rating-min": { type: "string", description: "Minimum star rating (1-5)", required: false },
|
|
123
|
+
"rating-max": { type: "string", description: "Maximum star rating (1-5)", required: false },
|
|
124
|
+
status: { type: "string", description: "Filter by status: pending|processing|ready|error", required: false },
|
|
125
|
+
sentiment: { type: "string", description: "Filter: positive|neutral|negative", required: false },
|
|
126
|
+
language: { type: "string", description: "Filter by language code (e.g. en, es)", required: false },
|
|
127
|
+
tags: { type: "string", description: "Comma-separated tags to filter by", required: false },
|
|
128
|
+
output: { type: "string", description: "Output format: json|files|md", required: false, default: "json" },
|
|
129
|
+
fields: { type: "string", description: "Comma-separated field names to include", required: false },
|
|
130
|
+
full: { type: "boolean", description: "Include full metadata", required: false, default: false }
|
|
131
|
+
},
|
|
132
|
+
run: async ({ args }) => {
|
|
133
|
+
try {
|
|
134
|
+
const query = args.query;
|
|
135
|
+
if (!query) {
|
|
136
|
+
writeJson({ ok: false, error: { code: "VALIDATION_ERROR", message: "Search query is required" } });
|
|
137
|
+
process.exit(1);
|
|
138
|
+
}
|
|
139
|
+
const body = buildSearchRequest(query, args);
|
|
140
|
+
const data = await apiPost("/api/testimonials/search", body);
|
|
141
|
+
const languageHint = languageBiasHint(data, body.language);
|
|
142
|
+
const { hints: emptyHints, empty } = await measureEmptyCorpus({
|
|
143
|
+
command: "search",
|
|
144
|
+
resultCount: data.length,
|
|
145
|
+
activeFilters: activeFilterFlags(args, FILTER_FLAGS)
|
|
146
|
+
});
|
|
147
|
+
const hints = [...emptyHints, ...languageHint ? [languageHint] : []];
|
|
148
|
+
const outputFormat = args.output || "json";
|
|
149
|
+
writeOutput(
|
|
150
|
+
{ ok: true, data, ...empty ? { meta: { empty } } : {}, ...hints.length > 0 ? { hints } : {} },
|
|
151
|
+
outputFormat,
|
|
152
|
+
args.fields ? args.fields.split(",") : void 0,
|
|
153
|
+
args.full,
|
|
154
|
+
testimonialNormalizer
|
|
155
|
+
);
|
|
156
|
+
if (outputFormat !== "json") {
|
|
157
|
+
for (const hint of hints) {
|
|
158
|
+
process.stderr.write(`${hint}
|
|
159
|
+
`);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
} catch (err) {
|
|
163
|
+
if (err instanceof ApiError) {
|
|
164
|
+
writeJson({ ok: false, error: { code: err.code, message: err.message } });
|
|
165
|
+
process.exit(1);
|
|
166
|
+
}
|
|
167
|
+
writeJson({ ok: false, error: { code: "INTERNAL_ERROR", message: "Unexpected error" } });
|
|
168
|
+
process.exit(1);
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
});
|
|
172
|
+
export {
|
|
173
|
+
searchCommand
|
|
174
|
+
};
|
|
175
|
+
//# sourceMappingURL=search-W5HZUJA2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/testimonials/search.ts"],"sourcesContent":["import {\n type TestimonialsSearchRequest,\n type TestimonialsSearchResponse,\n testimonialSourceTypeSchema,\n} from \"@baker/api\";\nimport { defineCommand } from \"citty\";\nimport { ApiError, apiPost } from \"../../client.ts\";\nimport { type OutputFormat, testimonialNormalizer, writeJson, writeOutput } from \"../../output.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport { activeFilterFlags } from \"../images/searchHints.ts\";\nimport { measureEmptyCorpus } from \"./emptyCorpusHints.ts\";\n\nconst FILTER_FLAGS = [\"source\", \"rating-min\", \"rating-max\", \"status\", \"sentiment\", \"language\", \"tags\"];\n\n/**\n * Hybrid search reranks over this company's whole corpus with no language\n * awareness, so a corpus seeded in one language returns that language even for\n * an English query. When the caller didn't pin a `--language` and the results\n * clearly skew to one, nudge them to scope by the target market's language —\n * otherwise a Spanish/French-heavy corpus silently starves a market-specific ad\n * of on-language quotes.\n */\nfunction languageBiasHint(results: TestimonialsSearchResponse, requestedLanguage: string | undefined): string | null {\n if (requestedLanguage) {\n return null;\n }\n const withLang = results.filter((r) => typeof r.language === \"string\" && r.language.length > 0);\n if (withLang.length < 3) {\n return null;\n }\n const counts = new Map<string, number>();\n for (const r of withLang) {\n const lang = r.language as string;\n counts.set(lang, (counts.get(lang) ?? 0) + 1);\n }\n const [topLang, topCount] = [...counts.entries()].sort((a, b) => b[1] - a[1])[0] ?? [\"\", 0];\n if (topLang && topCount / withLang.length >= 0.8) {\n return `Results skew ${topLang} (${topCount}/${withLang.length}). If you're sourcing quotes for a specific market, pass --language <code> (e.g. --language en) so the ad's language matches its audience.`;\n }\n return null;\n}\n\nregisterSchema({\n command: \"testimonials.search\",\n description: \"Search testimonials by text query. Uses hybrid BM25 + vector + reranking.\",\n args: {\n query: { type: \"string\", description: \"Search query text\", required: true },\n limit: { type: \"number\", description: \"Maximum results to return\", required: false, default: 10 },\n source: {\n type: \"string\",\n description: `Filter by source: ${testimonialSourceTypeSchema.options.join(\"|\")}`,\n required: false,\n enum: [...testimonialSourceTypeSchema.options],\n },\n \"rating-min\": { type: \"number\", description: \"Minimum star rating (1-5)\", required: false },\n \"rating-max\": { type: \"number\", description: \"Maximum star rating (1-5)\", required: false },\n status: {\n type: \"string\",\n description: \"Filter by status: pending|processing|ready|error\",\n required: false,\n enum: [\"pending\", \"processing\", \"ready\", \"error\"],\n },\n sentiment: {\n type: \"string\",\n description: \"Filter: positive|neutral|negative\",\n required: false,\n enum: [\"positive\", \"neutral\", \"negative\"],\n },\n language: { type: \"string\", description: \"Filter by language code (e.g. en, es)\", required: false },\n tags: { type: \"string\", description: \"Comma-separated tags to filter by\", required: false },\n },\n});\n\n/** Assemble the search request body from CLI args, applying only the flags that were provided. */\nfunction buildSearchRequest(query: string, args: Record<string, unknown>): TestimonialsSearchRequest {\n const body: TestimonialsSearchRequest = { query };\n if (args.limit !== undefined) {\n body.limit = Number(args.limit);\n }\n if (args.source) {\n body.source = args.source as TestimonialsSearchRequest[\"source\"];\n }\n if (args[\"rating-min\"] !== undefined) {\n body.rating_min = Number(args[\"rating-min\"]);\n }\n if (args[\"rating-max\"] !== undefined) {\n body.rating_max = Number(args[\"rating-max\"]);\n }\n if (args.status) {\n body.status = args.status as TestimonialsSearchRequest[\"status\"];\n }\n if (args.sentiment) {\n body.sentiment = args.sentiment as TestimonialsSearchRequest[\"sentiment\"];\n }\n if (args.language) {\n body.language = args.language as string;\n }\n if (args.tags) {\n body.tags = (args.tags as string).split(\",\").filter(Boolean);\n }\n return body;\n}\n\nexport const searchCommand = defineCommand({\n meta: {\n name: \"search\",\n description:\n \"Semantic search testimonials by text query. Uses hybrid BM25 + vector + reranking. Example: baker testimonials search 'great service' --rating-min 4\",\n },\n args: {\n query: { type: \"positional\", description: \"Search query text\", required: false },\n limit: { type: \"string\", description: \"Max results (default 10)\", required: false },\n source: {\n type: \"string\",\n description: `Filter by source: ${testimonialSourceTypeSchema.options.join(\"|\")}`,\n required: false,\n },\n \"rating-min\": { type: \"string\", description: \"Minimum star rating (1-5)\", required: false },\n \"rating-max\": { type: \"string\", description: \"Maximum star rating (1-5)\", required: false },\n status: { type: \"string\", description: \"Filter by status: pending|processing|ready|error\", required: false },\n sentiment: { type: \"string\", description: \"Filter: positive|neutral|negative\", required: false },\n language: { type: \"string\", description: \"Filter by language code (e.g. en, es)\", required: false },\n tags: { type: \"string\", description: \"Comma-separated tags to filter by\", required: false },\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 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: \"Search query is required\" } });\n process.exit(1);\n }\n\n const body = buildSearchRequest(query, args);\n const data = await apiPost<TestimonialsSearchResponse>(\"/api/testimonials/search\", body);\n const languageHint = languageBiasHint(data, body.language);\n const { hints: emptyHints, empty } = await measureEmptyCorpus({\n command: \"search\",\n resultCount: data.length,\n activeFilters: activeFilterFlags(args, FILTER_FLAGS),\n });\n const hints = [...emptyHints, ...(languageHint ? [languageHint] : [])];\n const outputFormat = (args.output as OutputFormat) || \"json\";\n writeOutput(\n { ok: true, data, ...(empty ? { meta: { empty } } : {}), ...(hints.length > 0 ? { hints } : {}) },\n outputFormat,\n args.fields ? args.fields.split(\",\") : undefined,\n args.full as boolean,\n testimonialNormalizer,\n );\n // md/files render only the table, so hints (which never reach the table)\n // go to stderr — otherwise `--output md` hides the language skew, and an\n // empty result prints a header row and nothing else.\n if (outputFormat !== \"json\") {\n for (const hint of hints) {\n process.stderr.write(`${hint}\\n`);\n }\n }\n } catch (err) {\n if (err instanceof ApiError) {\n writeJson({ ok: false, error: { code: err.code, 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 },\n});\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import {
|
|
2
|
+
versionOf
|
|
3
|
+
} from "./chunk-LBRO4MTL.js";
|
|
4
|
+
import "./chunk-I24YT2KG.js";
|
|
5
|
+
import "./chunk-XXDF25BW.js";
|
|
6
|
+
import "./chunk-MOFMOYUA.js";
|
|
7
|
+
import "./chunk-MMGTJBM6.js";
|
|
8
|
+
import "./chunk-FG3MV2XM.js";
|
|
9
|
+
import "./chunk-QG4MW2V4.js";
|
|
10
|
+
import "./chunk-VNU2EYD4.js";
|
|
11
|
+
import "./chunk-Y46FE75E.js";
|
|
12
|
+
import "./chunk-JVVUI55M.js";
|
|
13
|
+
import "./chunk-YJ3LSFMX.js";
|
|
14
|
+
import "./chunk-3S274625.js";
|
|
15
|
+
import "./chunk-6UNOK7WV.js";
|
|
16
|
+
import "./chunk-UFKO626N.js";
|
|
17
|
+
import "./chunk-XRIM7NYV.js";
|
|
18
|
+
import "./chunk-OL7JS4NG.js";
|
|
19
|
+
import "./chunk-7KHTJQGV.js";
|
|
20
|
+
import "./chunk-DGCUPJZD.js";
|
|
21
|
+
import "./chunk-QMOYQJIN.js";
|
|
22
|
+
import "./chunk-FKYPAGKK.js";
|
|
23
|
+
import "./chunk-S4VLLGTW.js";
|
|
24
|
+
import "./chunk-MCJ5I5LR.js";
|
|
25
|
+
import "./chunk-2WZI36D3.js";
|
|
26
|
+
import "./chunk-65Y3RCWP.js";
|
|
27
|
+
import "./chunk-A6WKCV3V.js";
|
|
28
|
+
import "./chunk-U7YR5CZL.js";
|
|
29
|
+
import "./chunk-VI5YQQ63.js";
|
|
30
|
+
import "./chunk-JX7BX2NB.js";
|
|
31
|
+
import {
|
|
32
|
+
creativesSelectRequestSchema
|
|
33
|
+
} from "./chunk-O37VU7FG.js";
|
|
34
|
+
import "./chunk-CAZGM2NX.js";
|
|
35
|
+
import "./chunk-NZS3KEQ2.js";
|
|
36
|
+
import "./chunk-GIWHHCD6.js";
|
|
37
|
+
import "./chunk-XQIOCIDO.js";
|
|
38
|
+
import "./chunk-WTJSMYY2.js";
|
|
39
|
+
import {
|
|
40
|
+
ApiError,
|
|
41
|
+
apiPost
|
|
42
|
+
} from "./chunk-6YLNY6CK.js";
|
|
43
|
+
import "./chunk-D5NEIESR.js";
|
|
44
|
+
import "./chunk-57KKVDDR.js";
|
|
45
|
+
import {
|
|
46
|
+
registerSchema,
|
|
47
|
+
writeJson
|
|
48
|
+
} from "./chunk-QANGHND7.js";
|
|
49
|
+
import "./chunk-YQSBHWOI.js";
|
|
50
|
+
|
|
51
|
+
// src/commands/creatives/select.ts
|
|
52
|
+
import { defineCommand } from "citty";
|
|
53
|
+
var DESCRIPTION = `Choose the version of a creative to keep, and optionally which of its options, only when the user says to keep this version in this chat. The creative shows that version as the chosen one, and the choice counts as the user's approval. A version you render after it replaces it when the chat is published (the user saw that one last). It does not save the image to their library (that is baker creatives publish) and puts nothing into an ad.
|
|
54
|
+
Start here: baker creatives select --slug spring-offer
|
|
55
|
+
Only some options of a version that made several: --options "ugc,2" (labels or numbers). Naming options again replaces the earlier pick.`;
|
|
56
|
+
var ARGS = {
|
|
57
|
+
slug: { type: "string", description: "The creative: its folder name under src/creatives/.", required: true },
|
|
58
|
+
run: {
|
|
59
|
+
type: "string",
|
|
60
|
+
description: "The version to keep: its canvas run id (r_\u2026) Left out, the version the creative shows now (its last render).",
|
|
61
|
+
required: false
|
|
62
|
+
},
|
|
63
|
+
options: {
|
|
64
|
+
type: "string",
|
|
65
|
+
description: 'Keep only these options of the version, comma-separated: labels ("ugc"), numbers ("2") or slots. Left out, the whole version.',
|
|
66
|
+
required: false
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
registerSchema({ command: "creatives.select", description: DESCRIPTION, args: ARGS });
|
|
70
|
+
function fail(code, message) {
|
|
71
|
+
writeJson({ ok: false, error: { code, message } });
|
|
72
|
+
process.exit(1);
|
|
73
|
+
}
|
|
74
|
+
var selectCommand = defineCommand({
|
|
75
|
+
meta: { name: "select", description: DESCRIPTION },
|
|
76
|
+
args: ARGS,
|
|
77
|
+
run: async ({ args }) => {
|
|
78
|
+
const options = typeof args.options === "string" ? args.options.split(",").map((option) => option.trim()).filter((option) => option.length > 0) : [];
|
|
79
|
+
const parsed = creativesSelectRequestSchema.safeParse({
|
|
80
|
+
slug: args.slug,
|
|
81
|
+
runId: await versionOf(String(args.slug), args.run).then(
|
|
82
|
+
(run) => run ?? fail("VALIDATION_ERROR", "--run: this creative has no rendered version here; name one (r_\u2026).")
|
|
83
|
+
),
|
|
84
|
+
...options.length > 0 ? { options } : {}
|
|
85
|
+
});
|
|
86
|
+
if (!parsed.success) {
|
|
87
|
+
const issue = parsed.error.issues[0];
|
|
88
|
+
fail("VALIDATION_ERROR", `--${String(issue?.path[0] ?? "args")}: ${issue?.message ?? "invalid"}`);
|
|
89
|
+
}
|
|
90
|
+
try {
|
|
91
|
+
const response = await apiPost("/api/creatives/select", parsed.data);
|
|
92
|
+
writeJson(response);
|
|
93
|
+
} catch (err) {
|
|
94
|
+
if (err instanceof ApiError) fail(err.code, err.message);
|
|
95
|
+
fail("INTERNAL_ERROR", "Unexpected error");
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
export {
|
|
100
|
+
selectCommand
|
|
101
|
+
};
|
|
102
|
+
//# sourceMappingURL=select-LMGLNFWB.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/creatives/select.ts"],"sourcesContent":["import { type CreativesSelectResponse, creativesSelectRequestSchema } from \"@baker/api\";\nimport { defineCommand } from \"citty\";\nimport { ApiError, apiPost } from \"../../client.ts\";\nimport { writeJson } from \"../../output.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport { versionOf } from \"./version-of.ts\";\n\nconst DESCRIPTION = `Choose the version of a creative to keep, and optionally which of its options, only when the user says to keep this version in this chat. The creative shows that version as the chosen one, and the choice counts as the user's approval. A version you render after it replaces it when the chat is published (the user saw that one last). It does not save the image to their library (that is baker creatives publish) and puts nothing into an ad.\nStart here: baker creatives select --slug spring-offer\nOnly some options of a version that made several: --options \"ugc,2\" (labels or numbers). Naming options again replaces the earlier pick.`;\n\nconst ARGS = {\n slug: { type: \"string\", description: \"The creative: its folder name under src/creatives/.\", required: true },\n run: {\n type: \"string\",\n description:\n \"The version to keep: its canvas run id (r_…) Left out, the version the creative shows now (its last render).\",\n required: false,\n },\n options: {\n type: \"string\",\n description:\n 'Keep only these options of the version, comma-separated: labels (\"ugc\"), numbers (\"2\") or slots. Left out, the whole version.',\n required: false,\n },\n} as const;\n\nregisterSchema({ command: \"creatives.select\", description: DESCRIPTION, args: ARGS });\n\nfunction fail(code: string, message: string): never {\n writeJson({ ok: false, error: { code, message } });\n process.exit(1);\n}\n\nexport const selectCommand = defineCommand({\n meta: { name: \"select\", description: DESCRIPTION },\n args: ARGS,\n run: async ({ args }) => {\n const options =\n typeof args.options === \"string\"\n ? args.options\n .split(\",\")\n .map((option) => option.trim())\n .filter((option) => option.length > 0)\n : [];\n const parsed = creativesSelectRequestSchema.safeParse({\n slug: args.slug,\n runId: await versionOf(String(args.slug), args.run).then(\n (run) => run ?? fail(\"VALIDATION_ERROR\", \"--run: this creative has no rendered version here; name one (r_…).\"),\n ),\n ...(options.length > 0 ? { options } : {}),\n });\n if (!parsed.success) {\n const issue = parsed.error.issues[0];\n fail(\"VALIDATION_ERROR\", `--${String(issue?.path[0] ?? \"args\")}: ${issue?.message ?? \"invalid\"}`);\n }\n try {\n const response = await apiPost<CreativesSelectResponse>(\"/api/creatives/select\", parsed.data);\n writeJson(response);\n } catch (err) {\n if (err instanceof ApiError) fail(err.code, err.message);\n fail(\"INTERNAL_ERROR\", \"Unexpected error\");\n }\n },\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,SAAS,qBAAqB;AAM9B,IAAM,cAAc;AAAA;AAAA;AAIpB,IAAM,OAAO;AAAA,EACX,MAAM,EAAE,MAAM,UAAU,aAAa,uDAAuD,UAAU,KAAK;AAAA,EAC3G,KAAK;AAAA,IACH,MAAM;AAAA,IACN,aACE;AAAA,IACF,UAAU;AAAA,EACZ;AAAA,EACA,SAAS;AAAA,IACP,MAAM;AAAA,IACN,aACE;AAAA,IACF,UAAU;AAAA,EACZ;AACF;AAEA,eAAe,EAAE,SAAS,oBAAoB,aAAa,aAAa,MAAM,KAAK,CAAC;AAEpF,SAAS,KAAK,MAAc,SAAwB;AAClD,YAAU,EAAE,IAAI,OAAO,OAAO,EAAE,MAAM,QAAQ,EAAE,CAAC;AACjD,UAAQ,KAAK,CAAC;AAChB;AAEO,IAAM,gBAAgB,cAAc;AAAA,EACzC,MAAM,EAAE,MAAM,UAAU,aAAa,YAAY;AAAA,EACjD,MAAM;AAAA,EACN,KAAK,OAAO,EAAE,KAAK,MAAM;AACvB,UAAM,UACJ,OAAO,KAAK,YAAY,WACpB,KAAK,QACF,MAAM,GAAG,EACT,IAAI,CAAC,WAAW,OAAO,KAAK,CAAC,EAC7B,OAAO,CAAC,WAAW,OAAO,SAAS,CAAC,IACvC,CAAC;AACP,UAAM,SAAS,6BAA6B,UAAU;AAAA,MACpD,MAAM,KAAK;AAAA,MACX,OAAO,MAAM,UAAU,OAAO,KAAK,IAAI,GAAG,KAAK,GAAG,EAAE;AAAA,QAClD,CAAC,QAAQ,OAAO,KAAK,oBAAoB,yEAAoE;AAAA,MAC/G;AAAA,MACA,GAAI,QAAQ,SAAS,IAAI,EAAE,QAAQ,IAAI,CAAC;AAAA,IAC1C,CAAC;AACD,QAAI,CAAC,OAAO,SAAS;AACnB,YAAM,QAAQ,OAAO,MAAM,OAAO,CAAC;AACnC,WAAK,oBAAoB,KAAK,OAAO,OAAO,KAAK,CAAC,KAAK,MAAM,CAAC,KAAK,OAAO,WAAW,SAAS,EAAE;AAAA,IAClG;AACA,QAAI;AACF,YAAM,WAAW,MAAM,QAAiC,yBAAyB,OAAO,IAAI;AAC5F,gBAAU,QAAQ;AAAA,IACpB,SAAS,KAAK;AACZ,UAAI,eAAe,SAAU,MAAK,IAAI,MAAM,IAAI,OAAO;AACvD,WAAK,kBAAkB,kBAAkB;AAAA,IAC3C;AAAA,EACF;AACF,CAAC;","names":[]}
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
import {
|
|
2
|
+
CanvasPrepareError,
|
|
3
|
+
adaptNodes,
|
|
4
|
+
compiledPromptNodeIds,
|
|
5
|
+
prepareCanvas,
|
|
6
|
+
sceneOwnedPrompts
|
|
7
|
+
} from "./chunk-XXDF25BW.js";
|
|
8
|
+
import "./chunk-MOFMOYUA.js";
|
|
9
|
+
import "./chunk-MMGTJBM6.js";
|
|
10
|
+
import "./chunk-FG3MV2XM.js";
|
|
11
|
+
import "./chunk-QG4MW2V4.js";
|
|
12
|
+
import "./chunk-VNU2EYD4.js";
|
|
13
|
+
import "./chunk-Y46FE75E.js";
|
|
14
|
+
import "./chunk-JVVUI55M.js";
|
|
15
|
+
import "./chunk-YJ3LSFMX.js";
|
|
16
|
+
import "./chunk-3S274625.js";
|
|
17
|
+
import "./chunk-6UNOK7WV.js";
|
|
18
|
+
import "./chunk-UFKO626N.js";
|
|
19
|
+
import "./chunk-XRIM7NYV.js";
|
|
20
|
+
import {
|
|
21
|
+
defaultRegistry,
|
|
22
|
+
validateCanvasDeep
|
|
23
|
+
} from "./chunk-B7GF34FU.js";
|
|
24
|
+
import "./chunk-OL7JS4NG.js";
|
|
25
|
+
import "./chunk-7KHTJQGV.js";
|
|
26
|
+
import "./chunk-DGCUPJZD.js";
|
|
27
|
+
import "./chunk-QMOYQJIN.js";
|
|
28
|
+
import {
|
|
29
|
+
COPY_DIRECTIVE_HEADER
|
|
30
|
+
} from "./chunk-FKYPAGKK.js";
|
|
31
|
+
import "./chunk-S4VLLGTW.js";
|
|
32
|
+
import "./chunk-MCJ5I5LR.js";
|
|
33
|
+
import "./chunk-2WZI36D3.js";
|
|
34
|
+
import "./chunk-65Y3RCWP.js";
|
|
35
|
+
import "./chunk-A6WKCV3V.js";
|
|
36
|
+
import "./chunk-U7YR5CZL.js";
|
|
37
|
+
import "./chunk-VI5YQQ63.js";
|
|
38
|
+
import "./chunk-JX7BX2NB.js";
|
|
39
|
+
import "./chunk-O37VU7FG.js";
|
|
40
|
+
import "./chunk-CAZGM2NX.js";
|
|
41
|
+
import "./chunk-NZS3KEQ2.js";
|
|
42
|
+
import "./chunk-GIWHHCD6.js";
|
|
43
|
+
import "./chunk-XQIOCIDO.js";
|
|
44
|
+
import "./chunk-WTJSMYY2.js";
|
|
45
|
+
import "./chunk-6YLNY6CK.js";
|
|
46
|
+
import "./chunk-D5NEIESR.js";
|
|
47
|
+
import "./chunk-57KKVDDR.js";
|
|
48
|
+
import "./chunk-QANGHND7.js";
|
|
49
|
+
import "./chunk-YQSBHWOI.js";
|
|
50
|
+
|
|
51
|
+
// src/commands/canvas/set-prompt.ts
|
|
52
|
+
import { readFile, writeFile } from "fs/promises";
|
|
53
|
+
import path from "path";
|
|
54
|
+
import { defineCommand } from "citty";
|
|
55
|
+
function setNodePrompt(canvas, nodeId, text) {
|
|
56
|
+
const nodes = canvas?.nodes;
|
|
57
|
+
if (!Array.isArray(nodes)) throw new Error("canvas has no nodes array");
|
|
58
|
+
const idx = nodes.findIndex((n) => n?.id === nodeId);
|
|
59
|
+
if (idx < 0) {
|
|
60
|
+
const ids = nodes.map((n) => n?.id).filter((id) => typeof id === "string");
|
|
61
|
+
throw new Error(`node "${nodeId}" not found. Known nodes: ${ids.join(", ")}`);
|
|
62
|
+
}
|
|
63
|
+
const node = nodes[idx];
|
|
64
|
+
const newNode = { ...node, params: { ...node.params ?? {}, prompt: text } };
|
|
65
|
+
const newNodes = [...nodes];
|
|
66
|
+
newNodes[idx] = newNode;
|
|
67
|
+
return { ...canvas, nodes: newNodes };
|
|
68
|
+
}
|
|
69
|
+
var SetPromptError = class extends Error {
|
|
70
|
+
code;
|
|
71
|
+
fix;
|
|
72
|
+
details;
|
|
73
|
+
constructor(code, message, opts = {}) {
|
|
74
|
+
super(message);
|
|
75
|
+
this.name = "SetPromptError";
|
|
76
|
+
this.code = code;
|
|
77
|
+
this.fix = opts.fix;
|
|
78
|
+
this.details = opts.details;
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
async function setPromptInCanvasFile(canvasPath, nodeId, text) {
|
|
82
|
+
const filePath = path.resolve(canvasPath);
|
|
83
|
+
const original = await readFile(filePath, "utf8");
|
|
84
|
+
let canvas;
|
|
85
|
+
try {
|
|
86
|
+
canvas = JSON.parse(original);
|
|
87
|
+
} catch (e) {
|
|
88
|
+
throw new SetPromptError("parse", `${filePath}: JSON parse error: ${e instanceof Error ? e.message : String(e)}`);
|
|
89
|
+
}
|
|
90
|
+
const sceneFile = (await sceneOwnedPrompts(filePath)).get(nodeId);
|
|
91
|
+
if (sceneFile) {
|
|
92
|
+
throw new SetPromptError(
|
|
93
|
+
"projected_prompt",
|
|
94
|
+
`The prompt of "${nodeId}" is rebuilt from ${sceneFile} on every validate and run, so setting it in the canvas would be overwritten.`,
|
|
95
|
+
{
|
|
96
|
+
fix: `Edit the scene's description in ${sceneFile} (its frame and motion fields, e.g. start_frame_prompt, end_frame_prompt, frame_prompt, motion_prompt), then run \`baker canvas validate\` to see the rebuilt prompt.`
|
|
97
|
+
}
|
|
98
|
+
);
|
|
99
|
+
}
|
|
100
|
+
if (compiledPromptNodeIds(canvas).has(nodeId) || adaptNodes(canvas).some((a) => a.node.id === nodeId)) {
|
|
101
|
+
throw new SetPromptError(
|
|
102
|
+
"projected_prompt",
|
|
103
|
+
`The prompt of "${nodeId}" is compiled from prompt.json on every validate and run, so setting it in the canvas would be overwritten.`,
|
|
104
|
+
{
|
|
105
|
+
fix: `Edit the ad in ${path.join(path.dirname(filePath), "prompt.json")} (its scene, copy, references or direction), then run \`baker canvas validate\` to see the compiled prompt on the node.`
|
|
106
|
+
}
|
|
107
|
+
);
|
|
108
|
+
}
|
|
109
|
+
let updated;
|
|
110
|
+
try {
|
|
111
|
+
updated = setNodePrompt(canvas, nodeId, withCopyBlock(canvas, nodeId, text));
|
|
112
|
+
} catch (e) {
|
|
113
|
+
throw new SetPromptError("node_not_found", e instanceof Error ? e.message : String(e));
|
|
114
|
+
}
|
|
115
|
+
await writeFile(filePath, `${JSON.stringify(updated, null, 2)}
|
|
116
|
+
`, "utf8");
|
|
117
|
+
const restore = () => writeFile(filePath, original, "utf8");
|
|
118
|
+
try {
|
|
119
|
+
const prepared = await prepareCanvas(filePath);
|
|
120
|
+
const validation = await validateCanvasDeep(prepared.canvas, defaultRegistry());
|
|
121
|
+
if (!validation.ok) {
|
|
122
|
+
await restore();
|
|
123
|
+
throw new SetPromptError("validation", "The edited canvas does not validate; nothing was changed.", {
|
|
124
|
+
details: { issues: validation.issues }
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
} catch (e) {
|
|
128
|
+
if (e instanceof SetPromptError) throw e;
|
|
129
|
+
await restore();
|
|
130
|
+
if (e instanceof CanvasPrepareError) {
|
|
131
|
+
throw new SetPromptError(e.code, e.message, { ...e.fix ? { fix: e.fix } : {}, ...e.details ? { details: e.details } : {} });
|
|
132
|
+
}
|
|
133
|
+
throw e;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
function withCopyBlock(canvas, nodeId, text) {
|
|
137
|
+
const nodes = canvas?.nodes;
|
|
138
|
+
const current = Array.isArray(nodes) ? nodes.find((n) => n?.id === nodeId)?.params?.prompt : void 0;
|
|
139
|
+
if (typeof current !== "string" || !current.includes(COPY_DIRECTIVE_HEADER) || text.includes(COPY_DIRECTIVE_HEADER)) {
|
|
140
|
+
return text;
|
|
141
|
+
}
|
|
142
|
+
return `${text.trimEnd()}
|
|
143
|
+
|
|
144
|
+
${COPY_DIRECTIVE_HEADER}`;
|
|
145
|
+
}
|
|
146
|
+
var setPromptCommand = defineCommand({
|
|
147
|
+
meta: {
|
|
148
|
+
name: "set-prompt",
|
|
149
|
+
description: "Safely set a node's params.prompt (a frame description, motion prompt, etc.) without hand-editing the JSON. Prefer --text-file for multi-line/accented copy \u2014 it preserves UTF-8 exactly, unlike shell-quoted jq. A prompt rebuilt from a scene file (scenes/sNN.json), or compiled from a static ad's prompt.json, is refused with the file to edit instead."
|
|
150
|
+
},
|
|
151
|
+
args: {
|
|
152
|
+
file: { type: "positional", required: true, description: "Path to canvas JSON" },
|
|
153
|
+
node: { type: "positional", required: true, description: "Node id to edit (e.g. s0_start)" },
|
|
154
|
+
text: { type: "string", description: "New prompt text (inline)" },
|
|
155
|
+
"text-file": { type: "string", description: "Read the new prompt from a UTF-8 file (preserves accents/newlines)" }
|
|
156
|
+
},
|
|
157
|
+
async run({ args }) {
|
|
158
|
+
let text;
|
|
159
|
+
if (args["text-file"]) text = await readFile(path.resolve(String(args["text-file"])), "utf8");
|
|
160
|
+
else if (args.text !== void 0) text = String(args.text);
|
|
161
|
+
else {
|
|
162
|
+
process.stderr.write(
|
|
163
|
+
`${JSON.stringify({ ok: false, error: { code: "no_text", message: "pass --text or --text-file" } }, null, 2)}
|
|
164
|
+
`
|
|
165
|
+
);
|
|
166
|
+
process.exit(2);
|
|
167
|
+
return;
|
|
168
|
+
}
|
|
169
|
+
try {
|
|
170
|
+
await setPromptInCanvasFile(String(args.file), String(args.node), text);
|
|
171
|
+
} catch (e) {
|
|
172
|
+
if (!(e instanceof SetPromptError)) throw e;
|
|
173
|
+
process.stderr.write(
|
|
174
|
+
`${JSON.stringify(
|
|
175
|
+
{ ok: false, error: { code: e.code, message: e.message, ...e.fix ? { fix: e.fix } : {}, ...e.details ?? {} } },
|
|
176
|
+
null,
|
|
177
|
+
2
|
|
178
|
+
)}
|
|
179
|
+
`
|
|
180
|
+
);
|
|
181
|
+
process.exit(2);
|
|
182
|
+
return;
|
|
183
|
+
}
|
|
184
|
+
process.stdout.write(`${JSON.stringify({ ok: true, node: String(args.node), bytes: text.length }, null, 2)}
|
|
185
|
+
`);
|
|
186
|
+
}
|
|
187
|
+
});
|
|
188
|
+
export {
|
|
189
|
+
SetPromptError,
|
|
190
|
+
setNodePrompt,
|
|
191
|
+
setPromptCommand,
|
|
192
|
+
setPromptInCanvasFile
|
|
193
|
+
};
|
|
194
|
+
//# sourceMappingURL=set-prompt-M5E3UZDM.js.map
|