@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
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/commands/actions/update.ts"],"sourcesContent":["import type { ActionsUpdateResponse } from \"@baker/api\";\nimport { defineCommand } from \"citty\";\nimport { apiPost, validateConvexId } from \"../../client.ts\";\nimport { requireChatId } from \"../../env.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport {\n ACTION_PRIORITIES,\n failApi,\n failValidation,\n isTempId,\n parsePriority,\n parseTagList,\n writeOk,\n} from \"./shared.ts\";\n\nregisterSchema({\n command: \"actions.update\",\n description:\n \"Stage an update on an action (name, description, tags, and/or priority) — no claim needed; edit any action you're not working on. Accepts either a real action ID or a tempId from `baker actions create` in THIS chat (edits the still-staged task in place — use this to flesh out a task you just created instead of removing and recreating it). Applies on publish. Blocked only if another chat currently has a real action claimed. --tags REPLACES the tag set; pass --tags '' to clear. --priority accepts urgent|high|medium|low or 'none' to clear back to unset (== normal).\",\n args: {\n id: { type: \"string\", description: \"Action ID or tempId (temp_*) of a task staged in this chat\", required: true },\n name: { type: \"string\", description: \"New name\", required: false },\n description: {\n type: \"string\",\n description:\n \"New description, in markdown — `##` headings per section, `-` bullets, `**bold**` for the decisive figures. REPLACES the whole description, so carry over anything still true.\",\n required: false,\n },\n tags: {\n type: \"string\",\n description: \"Comma-separated tag slugs — REPLACES existing tags ('' clears)\",\n required: false,\n },\n priority: {\n type: \"string\",\n description: `User priority: ${ACTION_PRIORITIES.join(\"|\")}, or 'none' to clear.`,\n required: false,\n },\n },\n});\n\nexport const updateCommand = defineCommand({\n meta: {\n name: \"update\",\n description:\n 'Stage an update on an action, or edit a task still staged in this chat by its tempId (no claim needed). Example: baker actions update <id-or-tempId> --description \"…\"',\n },\n args: {\n id: { type: \"positional\", description: \"Action ID or tempId (temp_*)\", required: false },\n \"action-id\": { type: \"string\", description: \"Action ID or tempId (temp_*)\", required: false },\n name: { type: \"string\", description: \"New name\", required: false },\n description: { type: \"string\", description: \"New description (markdown)\", required: false },\n tags: { type: \"string\", description: \"Comma-separated tag slugs — REPLACES existing ('' clears)\", required: false },\n priority: { type: \"string\", description: `Priority: ${ACTION_PRIORITIES.join(\"|\")}|none`, required: false },\n },\n run: async ({ args }) => {\n try {\n const id = (args.id as string | undefined) || (args[\"action-id\"] as string | undefined);\n if (!id) {\n failValidation(\"Action ID is required.\");\n }\n // A tempId (temp_*) references a task still staged in this chat; it is not a\n // Convex id, so only enforce the id format for real action ids.\n if (!isTempId(id)) {\n validateConvexId(id);\n }\n const tags = parseTagList(args.tags);\n const priority = parsePriority(args.priority, { allowClear: true });\n if (args.name === undefined && args.description === undefined && tags === undefined && priority === undefined) {\n failValidation(\"Provide at least one of --name, --description, --tags, --priority.\");\n }\n const chatId = requireChatId();\n await apiPost<ActionsUpdateResponse>(\"/api/actions/update\", {\n chatId,\n actionId: id,\n name: args.name,\n description: args.description,\n ...(tags !== undefined ? { tags } : {}),\n ...(priority !== undefined ? { priority } : {}),\n });\n writeOk();\n } catch (err) {\n failApi(err);\n }\n },\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,SAAS,qBAAqB;AAc9B,eAAe;AAAA,EACb,SAAS;AAAA,EACT,aACE;AAAA,EACF,MAAM;AAAA,IACJ,IAAI,EAAE,MAAM,UAAU,aAAa,8DAA8D,UAAU,KAAK;AAAA,IAChH,MAAM,EAAE,MAAM,UAAU,aAAa,YAAY,UAAU,MAAM;AAAA,IACjE,aAAa;AAAA,MACX,MAAM;AAAA,MACN,aACE;AAAA,MACF,UAAU;AAAA,IACZ;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,aAAa;AAAA,MACb,UAAU;AAAA,IACZ;AAAA,IACA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,aAAa,kBAAkB,kBAAkB,KAAK,GAAG,CAAC;AAAA,MAC1D,UAAU;AAAA,IACZ;AAAA,EACF;AACF,CAAC;AAEM,IAAM,gBAAgB,cAAc;AAAA,EACzC,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aACE;AAAA,EACJ;AAAA,EACA,MAAM;AAAA,IACJ,IAAI,EAAE,MAAM,cAAc,aAAa,gCAAgC,UAAU,MAAM;AAAA,IACvF,aAAa,EAAE,MAAM,UAAU,aAAa,gCAAgC,UAAU,MAAM;AAAA,IAC5F,MAAM,EAAE,MAAM,UAAU,aAAa,YAAY,UAAU,MAAM;AAAA,IACjE,aAAa,EAAE,MAAM,UAAU,aAAa,8BAA8B,UAAU,MAAM;AAAA,IAC1F,MAAM,EAAE,MAAM,UAAU,aAAa,kEAA6D,UAAU,MAAM;AAAA,IAClH,UAAU,EAAE,MAAM,UAAU,aAAa,aAAa,kBAAkB,KAAK,GAAG,CAAC,SAAS,UAAU,MAAM;AAAA,EAC5G;AAAA,EACA,KAAK,OAAO,EAAE,KAAK,MAAM;AACvB,QAAI;AACF,YAAM,KAAM,KAAK,MAA8B,KAAK,WAAW;AAC/D,UAAI,CAAC,IAAI;AACP,uBAAe,wBAAwB;AAAA,MACzC;AAGA,UAAI,CAAC,SAAS,EAAE,GAAG;AACjB,yBAAiB,EAAE;AAAA,MACrB;AACA,YAAM,OAAO,aAAa,KAAK,IAAI;AACnC,YAAM,WAAW,cAAc,KAAK,UAAU,EAAE,YAAY,KAAK,CAAC;AAClE,UAAI,KAAK,SAAS,UAAa,KAAK,gBAAgB,UAAa,SAAS,UAAa,aAAa,QAAW;AAC7G,uBAAe,oEAAoE;AAAA,MACrF;AACA,YAAM,SAAS,cAAc;AAC7B,YAAM,QAA+B,uBAAuB;AAAA,QAC1D;AAAA,QACA,UAAU;AAAA,QACV,MAAM,KAAK;AAAA,QACX,aAAa,KAAK;AAAA,QAClB,GAAI,SAAS,SAAY,EAAE,KAAK,IAAI,CAAC;AAAA,QACrC,GAAI,aAAa,SAAY,EAAE,SAAS,IAAI,CAAC;AAAA,MAC/C,CAAC;AACD,cAAQ;AAAA,IACV,SAAS,KAAK;AACZ,cAAQ,GAAG;AAAA,IACb;AAAA,EACF;AACF,CAAC;","names":[]}
|
package/dist/update-NGH6YADN.js
DELETED
|
@@ -1,152 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
AUTO_PUBLISH_ARG,
|
|
3
|
-
NARROWING_ARGS,
|
|
4
|
-
REACTION_ARGS,
|
|
5
|
-
SLACK_ARG,
|
|
6
|
-
TRIGGER_ARG_DESCRIPTION,
|
|
7
|
-
TRIGGER_KIND_LIST,
|
|
8
|
-
buildTriggerBody,
|
|
9
|
-
companiesArg,
|
|
10
|
-
companiesBody,
|
|
11
|
-
failApi,
|
|
12
|
-
failValidation,
|
|
13
|
-
parseBooleanFlag,
|
|
14
|
-
reactionBody,
|
|
15
|
-
refuseAutoPublish,
|
|
16
|
-
slackBody,
|
|
17
|
-
validateScheduledAgentRef,
|
|
18
|
-
writeOk
|
|
19
|
-
} from "./chunk-RDEAVCMF.js";
|
|
20
|
-
import "./chunk-3B5LPK6D.js";
|
|
21
|
-
import "./chunk-DAO63OOP.js";
|
|
22
|
-
import "./chunk-GXDLWBOY.js";
|
|
23
|
-
import "./chunk-GIWHHCD6.js";
|
|
24
|
-
import "./chunk-XQIOCIDO.js";
|
|
25
|
-
import "./chunk-WTJSMYY2.js";
|
|
26
|
-
import {
|
|
27
|
-
apiPost
|
|
28
|
-
} from "./chunk-6YLNY6CK.js";
|
|
29
|
-
import "./chunk-D5NEIESR.js";
|
|
30
|
-
import {
|
|
31
|
-
requireChatId
|
|
32
|
-
} from "./chunk-57KKVDDR.js";
|
|
33
|
-
import {
|
|
34
|
-
registerSchema
|
|
35
|
-
} from "./chunk-QANGHND7.js";
|
|
36
|
-
import "./chunk-YQSBHWOI.js";
|
|
37
|
-
|
|
38
|
-
// src/commands/scheduled-agents/update.ts
|
|
39
|
-
import { defineCommand } from "citty";
|
|
40
|
-
registerSchema({
|
|
41
|
-
command: "scheduled-agents.update",
|
|
42
|
-
description: "Stage an update to a published scheduled agent, or to one this chat staged (temp_agent_*).",
|
|
43
|
-
args: {
|
|
44
|
-
id: { type: "string", description: "Published scheduled agent ID or temp_agent_* draft ID", required: true },
|
|
45
|
-
name: { type: "string", description: "New name", required: false },
|
|
46
|
-
description: { type: "string", description: "New one-line description", required: false },
|
|
47
|
-
prompt: { type: "string", description: "Replacement brief \u2014 the whole of what the run does", required: false },
|
|
48
|
-
cron: { type: "string", description: "5-field cron expression; implies --trigger time.cron", required: false },
|
|
49
|
-
"run-at": {
|
|
50
|
-
type: "string",
|
|
51
|
-
description: "New one-off run time, as an ISO UTC timestamp ending in Z. Must still be in the future \u2014 a time that has passed is refused.",
|
|
52
|
-
required: false
|
|
53
|
-
},
|
|
54
|
-
trigger: { type: "string", description: TRIGGER_ARG_DESCRIPTION, required: false, enum: TRIGGER_KIND_LIST },
|
|
55
|
-
...NARROWING_ARGS,
|
|
56
|
-
occurrences: {
|
|
57
|
-
type: "string",
|
|
58
|
-
description: "Replacement list of firings to run on, 1-based and comma-separated",
|
|
59
|
-
required: false
|
|
60
|
-
},
|
|
61
|
-
...REACTION_ARGS,
|
|
62
|
-
...SLACK_ARG,
|
|
63
|
-
...companiesArg(),
|
|
64
|
-
timezone: { type: "string", description: "IANA timezone override", required: false },
|
|
65
|
-
enabled: { type: "string", description: "Replacement enabled state", required: false, enum: ["true", "false"] }
|
|
66
|
-
}
|
|
67
|
-
});
|
|
68
|
-
var updateCommand = defineCommand({
|
|
69
|
-
meta: {
|
|
70
|
-
name: "update",
|
|
71
|
-
description: "Stage a scheduled agent update. Examples: baker scheduled-agents update <id> --enabled false | baker scheduled-agents update <id> --trigger form.submitted --form quote"
|
|
72
|
-
},
|
|
73
|
-
args: {
|
|
74
|
-
id: { type: "positional", description: "Scheduled agent ID or temp_agent_* draft ID", required: false },
|
|
75
|
-
"scheduled-agent-id": {
|
|
76
|
-
type: "string",
|
|
77
|
-
description: "Scheduled agent ID (alternative to positional)",
|
|
78
|
-
required: false
|
|
79
|
-
},
|
|
80
|
-
name: { type: "string", description: "New name", required: false },
|
|
81
|
-
description: { type: "string", description: "New description", required: false },
|
|
82
|
-
prompt: { type: "string", description: "Replacement brief", required: false },
|
|
83
|
-
cron: { type: "string", description: "5-field cron expression", required: false },
|
|
84
|
-
"run-at": { type: "string", description: "ISO UTC timestamp ending in Z, still in the future", required: false },
|
|
85
|
-
trigger: { type: "string", description: `One of: ${TRIGGER_KIND_LIST.join(", ")}`, required: false },
|
|
86
|
-
...NARROWING_ARGS,
|
|
87
|
-
occurrences: { type: "string", description: "Only these firings, e.g. 1 or 1,3", required: false },
|
|
88
|
-
...REACTION_ARGS,
|
|
89
|
-
...SLACK_ARG,
|
|
90
|
-
...companiesArg(),
|
|
91
|
-
timezone: { type: "string", description: "IANA timezone override", required: false },
|
|
92
|
-
enabled: { type: "string", description: "true|false", required: false },
|
|
93
|
-
...AUTO_PUBLISH_ARG
|
|
94
|
-
},
|
|
95
|
-
run: async ({ args }) => {
|
|
96
|
-
try {
|
|
97
|
-
refuseAutoPublish(args);
|
|
98
|
-
const id = args.id || args["scheduled-agent-id"];
|
|
99
|
-
if (!id) {
|
|
100
|
-
failValidation("Scheduled agent ID is required.");
|
|
101
|
-
}
|
|
102
|
-
validateScheduledAgentRef(id);
|
|
103
|
-
const body = { id };
|
|
104
|
-
let hasPatch = false;
|
|
105
|
-
for (const key of ["name", "description", "prompt"]) {
|
|
106
|
-
if (typeof args[key] === "string") {
|
|
107
|
-
body[key] = args[key];
|
|
108
|
-
hasPatch = true;
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
const trigger = buildTriggerBody(args, { required: false });
|
|
112
|
-
if (trigger) {
|
|
113
|
-
Object.assign(body, trigger);
|
|
114
|
-
hasPatch = true;
|
|
115
|
-
}
|
|
116
|
-
const reaction = reactionBody(args);
|
|
117
|
-
if (Object.keys(reaction).length > 0) {
|
|
118
|
-
Object.assign(body, reaction);
|
|
119
|
-
hasPatch = true;
|
|
120
|
-
}
|
|
121
|
-
const slack = slackBody(args);
|
|
122
|
-
if (slack.slack !== void 0) {
|
|
123
|
-
Object.assign(body, slack);
|
|
124
|
-
hasPatch = true;
|
|
125
|
-
}
|
|
126
|
-
const companies = companiesBody(args);
|
|
127
|
-
if (companies.companies !== void 0) {
|
|
128
|
-
Object.assign(body, companies);
|
|
129
|
-
hasPatch = true;
|
|
130
|
-
}
|
|
131
|
-
const enabled = parseBooleanFlag(args.enabled, "--enabled");
|
|
132
|
-
if (enabled !== void 0) {
|
|
133
|
-
body.enabled = enabled;
|
|
134
|
-
hasPatch = true;
|
|
135
|
-
}
|
|
136
|
-
if (!hasPatch) {
|
|
137
|
-
failValidation(
|
|
138
|
-
"Provide at least one of --name, --description, --prompt, --cron, --run-at, --trigger, --occurrences, --times, --when, --payload, --cooldown, --timezone, --enabled, --slack."
|
|
139
|
-
);
|
|
140
|
-
}
|
|
141
|
-
body.chatId = requireChatId();
|
|
142
|
-
const response = await apiPost("/api/scheduled-agents/update", body);
|
|
143
|
-
writeOk(null, response.hints);
|
|
144
|
-
} catch (err) {
|
|
145
|
-
failApi(err);
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
});
|
|
149
|
-
export {
|
|
150
|
-
updateCommand
|
|
151
|
-
};
|
|
152
|
-
//# sourceMappingURL=update-NGH6YADN.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/commands/scheduled-agents/update.ts"],"sourcesContent":["import { defineCommand } from \"citty\";\nimport { apiPost } from \"../../client.ts\";\nimport { requireChatId } from \"../../env.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport {\n AUTO_PUBLISH_ARG,\n buildTriggerBody,\n companiesArg,\n companiesBody,\n failApi,\n failValidation,\n NARROWING_ARGS,\n parseBooleanFlag,\n REACTION_ARGS,\n reactionBody,\n refuseAutoPublish,\n SLACK_ARG,\n slackBody,\n TRIGGER_ARG_DESCRIPTION,\n TRIGGER_KIND_LIST,\n validateScheduledAgentRef,\n writeOk,\n} from \"./shared.ts\";\n\nregisterSchema({\n command: \"scheduled-agents.update\",\n description: \"Stage an update to a published scheduled agent, or to one this chat staged (temp_agent_*).\",\n args: {\n id: { type: \"string\", description: \"Published scheduled agent ID or temp_agent_* draft ID\", required: true },\n name: { type: \"string\", description: \"New name\", required: false },\n description: { type: \"string\", description: \"New one-line description\", required: false },\n prompt: { type: \"string\", description: \"Replacement brief — the whole of what the run does\", required: false },\n cron: { type: \"string\", description: \"5-field cron expression; implies --trigger time.cron\", required: false },\n \"run-at\": {\n type: \"string\",\n description:\n \"New one-off run time, as an ISO UTC timestamp ending in Z. Must still be in the future — a time that has passed is refused.\",\n required: false,\n },\n trigger: { type: \"string\", description: TRIGGER_ARG_DESCRIPTION, required: false, enum: TRIGGER_KIND_LIST },\n ...NARROWING_ARGS,\n occurrences: {\n type: \"string\",\n description: \"Replacement list of firings to run on, 1-based and comma-separated\",\n required: false,\n },\n ...REACTION_ARGS,\n ...SLACK_ARG,\n ...companiesArg(),\n timezone: { type: \"string\", description: \"IANA timezone override\", required: false },\n enabled: { type: \"string\", description: \"Replacement enabled state\", required: false, enum: [\"true\", \"false\"] },\n },\n});\n\nexport const updateCommand = defineCommand({\n meta: {\n name: \"update\",\n description:\n \"Stage a scheduled agent update. Examples: baker scheduled-agents update <id> --enabled false | baker scheduled-agents update <id> --trigger form.submitted --form quote\",\n },\n args: {\n id: { type: \"positional\", description: \"Scheduled agent ID or temp_agent_* draft ID\", required: false },\n \"scheduled-agent-id\": {\n type: \"string\",\n description: \"Scheduled agent ID (alternative to positional)\",\n required: false,\n },\n name: { type: \"string\", description: \"New name\", required: false },\n description: { type: \"string\", description: \"New description\", required: false },\n prompt: { type: \"string\", description: \"Replacement brief\", required: false },\n cron: { type: \"string\", description: \"5-field cron expression\", required: false },\n \"run-at\": { type: \"string\", description: \"ISO UTC timestamp ending in Z, still in the future\", required: false },\n trigger: { type: \"string\", description: `One of: ${TRIGGER_KIND_LIST.join(\", \")}`, required: false },\n ...NARROWING_ARGS,\n occurrences: { type: \"string\", description: \"Only these firings, e.g. 1 or 1,3\", required: false },\n ...REACTION_ARGS,\n ...SLACK_ARG,\n ...companiesArg(),\n timezone: { type: \"string\", description: \"IANA timezone override\", required: false },\n enabled: { type: \"string\", description: \"true|false\", required: false },\n\n ...AUTO_PUBLISH_ARG,\n },\n run: async ({ args }) => {\n try {\n refuseAutoPublish(args);\n const id = (args.id as string | undefined) || (args[\"scheduled-agent-id\"] as string | undefined);\n if (!id) {\n failValidation(\"Scheduled agent ID is required.\");\n }\n validateScheduledAgentRef(id);\n\n const body: Record<string, unknown> = { id };\n let hasPatch = false;\n\n for (const key of [\"name\", \"description\", \"prompt\"] as const) {\n if (typeof args[key] === \"string\") {\n body[key] = args[key];\n hasPatch = true;\n }\n }\n\n const trigger = buildTriggerBody(args, { required: false });\n if (trigger) {\n Object.assign(body, trigger);\n hasPatch = true;\n }\n\n const reaction = reactionBody(args);\n if (Object.keys(reaction).length > 0) {\n Object.assign(body, reaction);\n hasPatch = true;\n }\n\n const slack = slackBody(args);\n if (slack.slack !== undefined) {\n Object.assign(body, slack);\n hasPatch = true;\n }\n\n const companies = companiesBody(args);\n if (companies.companies !== undefined) {\n Object.assign(body, companies);\n hasPatch = true;\n }\n\n const enabled = parseBooleanFlag(args.enabled, \"--enabled\");\n if (enabled !== undefined) {\n body.enabled = enabled;\n hasPatch = true;\n }\n\n if (!hasPatch) {\n failValidation(\n \"Provide at least one of --name, --description, --prompt, --cron, --run-at, --trigger, --occurrences, --times, --when, --payload, --cooldown, --timezone, --enabled, --slack.\",\n );\n }\n\n body.chatId = requireChatId();\n const response = await apiPost<{ ok: true; hints?: string[] }>(\"/api/scheduled-agents/update\", body);\n writeOk(null, response.hints);\n } catch (err) {\n failApi(err);\n }\n },\n});\n"],"mappings":"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","names":[]}
|
package/dist/update-SPJIHHLE.js
DELETED
|
@@ -1,188 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
buildProfilePatch,
|
|
3
|
-
hasProfileEdit,
|
|
4
|
-
mergeProfile
|
|
5
|
-
} from "./chunk-IJMWEO4P.js";
|
|
6
|
-
import {
|
|
7
|
-
failAvatarApi,
|
|
8
|
-
failValidation,
|
|
9
|
-
updateHints
|
|
10
|
-
} from "./chunk-BAXDNVT2.js";
|
|
11
|
-
import {
|
|
12
|
-
readAvatars,
|
|
13
|
-
writeAvatars
|
|
14
|
-
} from "./chunk-QG4MW2V4.js";
|
|
15
|
-
import {
|
|
16
|
-
AVATAR_HANDLE_PATTERN,
|
|
17
|
-
AVATAR_RELATIONS
|
|
18
|
-
} from "./chunk-DAO63OOP.js";
|
|
19
|
-
import "./chunk-GXDLWBOY.js";
|
|
20
|
-
import "./chunk-GIWHHCD6.js";
|
|
21
|
-
import "./chunk-XQIOCIDO.js";
|
|
22
|
-
import "./chunk-WTJSMYY2.js";
|
|
23
|
-
import "./chunk-6YLNY6CK.js";
|
|
24
|
-
import "./chunk-D5NEIESR.js";
|
|
25
|
-
import "./chunk-57KKVDDR.js";
|
|
26
|
-
import {
|
|
27
|
-
registerSchema,
|
|
28
|
-
writeJson
|
|
29
|
-
} from "./chunk-QANGHND7.js";
|
|
30
|
-
import "./chunk-YQSBHWOI.js";
|
|
31
|
-
|
|
32
|
-
// src/commands/avatars/update.ts
|
|
33
|
-
import { defineCommand } from "citty";
|
|
34
|
-
|
|
35
|
-
// src/commands/avatars/relation.ts
|
|
36
|
-
function relationPatch(args) {
|
|
37
|
-
const relation = typeof args.relation === "string" ? args.relation.trim().toLowerCase() : "";
|
|
38
|
-
const testimonial = typeof args.testimonial === "string" ? args.testimonial : "";
|
|
39
|
-
const ids = testimonial.split(",").map((id) => id.trim()).filter(Boolean);
|
|
40
|
-
const known = AVATAR_RELATIONS.find((r) => r === relation);
|
|
41
|
-
if (relation && !known) {
|
|
42
|
-
return { ok: false, message: `--relation "${relation}" is not one of ${AVATAR_RELATIONS.join(", ")}.` };
|
|
43
|
-
}
|
|
44
|
-
return {
|
|
45
|
-
ok: true,
|
|
46
|
-
patch: { ...known ? { relation: known } : {}, ...ids.length > 0 ? { testimonialIds: ids } : {} }
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
// src/commands/avatars/update.ts
|
|
51
|
-
function readUpdateArgs(args) {
|
|
52
|
-
const handle = (args.handle || args["avatar-handle"])?.trim();
|
|
53
|
-
if (!handle) {
|
|
54
|
-
failValidation('An avatar handle is required, e.g. `baker avatars update marta --persona "\u2026"`.');
|
|
55
|
-
}
|
|
56
|
-
const name = args.name?.trim();
|
|
57
|
-
const newHandle = args["new-handle"]?.trim().toLowerCase();
|
|
58
|
-
const regenerateSheet = Boolean(args["regenerate-sheet"]);
|
|
59
|
-
const patch = buildProfilePatch(args);
|
|
60
|
-
const who = relationPatch(args);
|
|
61
|
-
if (!who.ok) failValidation(who.message);
|
|
62
|
-
if (patch.subjectDescription === "") {
|
|
63
|
-
failValidation(
|
|
64
|
-
"--subject cannot be emptied: it is what the identity sheet was built from. Replace it with a new description of the same length or better, and pass --regenerate-sheet."
|
|
65
|
-
);
|
|
66
|
-
}
|
|
67
|
-
if (newHandle && !AVATAR_HANDLE_PATTERN.test(newHandle)) {
|
|
68
|
-
failValidation(
|
|
69
|
-
`--new-handle "${newHandle}" is not usable. Use lowercase letters, numbers and dashes, starting with a letter.`
|
|
70
|
-
);
|
|
71
|
-
}
|
|
72
|
-
if (!name && !newHandle && !hasProfileEdit(patch) && !regenerateSheet && Object.keys(who.patch).length === 0) {
|
|
73
|
-
failValidation(
|
|
74
|
-
"Nothing to change. Pass at least one of --name, --new-handle, --subject, --persona, --speech, --motion, --wardrobe, --setting, --accent, --guardrails, --relation, --testimonial, --regenerate-sheet."
|
|
75
|
-
);
|
|
76
|
-
}
|
|
77
|
-
return { handle, name, newHandle, regenerateSheet, patch, who: who.patch };
|
|
78
|
-
}
|
|
79
|
-
registerSchema({
|
|
80
|
-
command: "avatars.update",
|
|
81
|
-
description: 'Edit an avatar: rename it, change its handle, rewrite any part of its written profile, set the accent it speaks with, or rebuild its identity sheet. Profile flags are merged over what is stored, so `--persona "\u2026"` alone leaves the subject description intact. THE RULE THAT MATTERS: if you change --subject, pass --regenerate-sheet in the same call \u2014 otherwise the sheet still shows the person you described before, the words and the face stop matching, and every render drifts. Rebuilding is a ~30s billed render and puts the avatar back to `generating`.',
|
|
82
|
-
args: {
|
|
83
|
-
handle: { type: "string", description: "Handle of the avatar to edit", required: true },
|
|
84
|
-
name: { type: "string", description: "New display name", required: false },
|
|
85
|
-
"new-handle": { type: "string", description: "New mention handle (lowercase, dashes)", required: false },
|
|
86
|
-
subject: {
|
|
87
|
-
type: "string",
|
|
88
|
-
description: "Rewrite the identity description. Pass --regenerate-sheet with it, always.",
|
|
89
|
-
required: false
|
|
90
|
-
},
|
|
91
|
-
persona: { type: "string", description: "Who they are on camera", required: false },
|
|
92
|
-
speech: { type: "string", description: "How they speak", required: false },
|
|
93
|
-
motion: { type: "string", description: "Body language in video", required: false },
|
|
94
|
-
wardrobe: { type: "string", description: "Default outfit", required: false },
|
|
95
|
-
setting: { type: "string", description: "Default surroundings", required: false },
|
|
96
|
-
guardrails: {
|
|
97
|
-
type: "string",
|
|
98
|
-
description: "Comma-separated things they must never do (replaces the stored list; empty string clears it)",
|
|
99
|
-
required: false
|
|
100
|
-
},
|
|
101
|
-
accent: {
|
|
102
|
-
type: "string",
|
|
103
|
-
description: "Where their voice is FROM, as a place: 'Spanish from Spain, Madrid accent', 'Mexican Spanish'. THE lever for how they sound \u2014 an avatar has no pinned voice (ADR 0005), so the region directed in the prompt is the only thing steering pronunciation. An adjective like 'clear Spanish accent' is read as NO accent and the clip comes out sounding like nowhere.",
|
|
104
|
-
required: false
|
|
105
|
-
},
|
|
106
|
-
relation: {
|
|
107
|
-
type: "string",
|
|
108
|
-
description: "Who this person is to the company: team | founder | customer | partner | creator | role. A customer, partner or creator face appears only in an ad quoting their own published words; only team, founder and role faces are cast freely.",
|
|
109
|
-
required: false
|
|
110
|
-
},
|
|
111
|
-
testimonial: {
|
|
112
|
-
type: "string",
|
|
113
|
-
description: "Comma-separated testimonial ids this person gave (their quotes may carry their face in an ad)",
|
|
114
|
-
required: false
|
|
115
|
-
},
|
|
116
|
-
"regenerate-sheet": {
|
|
117
|
-
type: "boolean",
|
|
118
|
-
description: "Rebuild the identity sheet (~30s, billed). Required whenever --subject changed.",
|
|
119
|
-
required: false,
|
|
120
|
-
default: false
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
});
|
|
124
|
-
var updateCommand = defineCommand({
|
|
125
|
-
meta: {
|
|
126
|
-
name: "update",
|
|
127
|
-
description: 'Edit an avatar; profile flags merge over what is stored. Example: baker avatars update marta --subject "woman in her early 50s, silver bob" --regenerate-sheet'
|
|
128
|
-
},
|
|
129
|
-
args: {
|
|
130
|
-
handle: { type: "positional", description: "Handle of the avatar to edit", required: false },
|
|
131
|
-
"avatar-handle": { type: "string", description: "Handle (alternative to positional)", required: false },
|
|
132
|
-
name: { type: "string", description: "New display name", required: false },
|
|
133
|
-
"new-handle": { type: "string", description: "New mention handle", required: false },
|
|
134
|
-
subject: { type: "string", description: "Rewrite the identity description", required: false },
|
|
135
|
-
persona: { type: "string", description: "Who they are on camera", required: false },
|
|
136
|
-
speech: { type: "string", description: "How they speak", required: false },
|
|
137
|
-
motion: { type: "string", description: "Body language in video", required: false },
|
|
138
|
-
wardrobe: { type: "string", description: "Default outfit", required: false },
|
|
139
|
-
setting: { type: "string", description: "Default surroundings", required: false },
|
|
140
|
-
guardrails: { type: "string", description: "Comma-separated rules (empty string clears)", required: false },
|
|
141
|
-
accent: { type: "string", description: "Where their voice is FROM, as a place", required: false },
|
|
142
|
-
relation: { type: "string", description: "team | founder | customer | partner | creator | role", required: false },
|
|
143
|
-
testimonial: { type: "string", description: "Comma-separated testimonial ids this person gave", required: false },
|
|
144
|
-
"regenerate-sheet": {
|
|
145
|
-
type: "boolean",
|
|
146
|
-
description: "Rebuild the identity sheet (~30s, billed)",
|
|
147
|
-
required: false,
|
|
148
|
-
default: false
|
|
149
|
-
}
|
|
150
|
-
},
|
|
151
|
-
run: async ({ args }) => {
|
|
152
|
-
const { handle, name, newHandle, regenerateSheet, patch, who } = readUpdateArgs(args);
|
|
153
|
-
try {
|
|
154
|
-
let profile;
|
|
155
|
-
let subjectChanged = false;
|
|
156
|
-
if (hasProfileEdit(patch)) {
|
|
157
|
-
const current = await readAvatars("/api/avatars/get", { handle, full: "1" });
|
|
158
|
-
profile = mergeProfile(current.profile, patch);
|
|
159
|
-
subjectChanged = profile.subjectDescription !== current.profile.subjectDescription;
|
|
160
|
-
}
|
|
161
|
-
const body = {
|
|
162
|
-
handle,
|
|
163
|
-
...name ? { name } : {},
|
|
164
|
-
...newHandle ? { newHandle } : {},
|
|
165
|
-
...profile ? { profile } : {},
|
|
166
|
-
...regenerateSheet ? { regenerateSheet: true } : {},
|
|
167
|
-
...who
|
|
168
|
-
};
|
|
169
|
-
const data = await writeAvatars("/api/avatars/update", body);
|
|
170
|
-
writeJson({
|
|
171
|
-
ok: true,
|
|
172
|
-
data,
|
|
173
|
-
hints: updateHints({
|
|
174
|
-
avatar: data.avatar,
|
|
175
|
-
subjectChanged,
|
|
176
|
-
regeneratedSheet: regenerateSheet,
|
|
177
|
-
previousHandle: handle
|
|
178
|
-
})
|
|
179
|
-
});
|
|
180
|
-
} catch (err) {
|
|
181
|
-
failAvatarApi(err, handle);
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
});
|
|
185
|
-
export {
|
|
186
|
-
updateCommand
|
|
187
|
-
};
|
|
188
|
-
//# sourceMappingURL=update-SPJIHHLE.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/commands/avatars/update.ts","../src/commands/avatars/relation.ts"],"sourcesContent":["import {\n AVATAR_HANDLE_PATTERN,\n type AvatarDetail,\n type AvatarsUpdateRequest,\n type AvatarsUpdateResponse,\n} from \"@baker/api\";\nimport { defineCommand } from \"citty\";\nimport { writeJson } from \"../../output.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport { updateHints } from \"./casting.ts\";\nimport { failAvatarApi, failValidation } from \"./failures.ts\";\nimport { buildProfilePatch, hasProfileEdit, mergeProfile } from \"./profile.ts\";\nimport { relationPatch } from \"./relation.ts\";\nimport { readAvatars, writeAvatars } from \"./transport.ts\";\n\ninterface UpdateArgs {\n handle: string;\n name?: string;\n newHandle?: string;\n regenerateSheet: boolean;\n patch: ReturnType<typeof buildProfilePatch>;\n who: { relation?: AvatarsUpdateRequest[\"relation\"]; testimonialIds?: string[] };\n}\n\n/** Read and reject the flags before any network call. Exits on a bad edit. */\nfunction readUpdateArgs(args: Record<string, unknown>): UpdateArgs {\n const handle = ((args.handle as string | undefined) || (args[\"avatar-handle\"] as string | undefined))?.trim();\n if (!handle) {\n failValidation('An avatar handle is required, e.g. `baker avatars update marta --persona \"…\"`.');\n }\n\n const name = (args.name as string | undefined)?.trim();\n const newHandle = (args[\"new-handle\"] as string | undefined)?.trim().toLowerCase();\n const regenerateSheet = Boolean(args[\"regenerate-sheet\"]);\n const patch = buildProfilePatch(args);\n const who = relationPatch(args);\n if (!who.ok) failValidation(who.message);\n\n if (patch.subjectDescription === \"\") {\n failValidation(\n \"--subject cannot be emptied: it is what the identity sheet was built from. Replace it with a new description of the same length or better, and pass --regenerate-sheet.\",\n );\n }\n if (newHandle && !AVATAR_HANDLE_PATTERN.test(newHandle)) {\n failValidation(\n `--new-handle \"${newHandle}\" is not usable. Use lowercase letters, numbers and dashes, starting with a letter.`,\n );\n }\n if (!name && !newHandle && !hasProfileEdit(patch) && !regenerateSheet && Object.keys(who.patch).length === 0) {\n failValidation(\n \"Nothing to change. Pass at least one of --name, --new-handle, --subject, --persona, --speech, --motion, --wardrobe, --setting, --accent, --guardrails, --relation, --testimonial, --regenerate-sheet.\",\n );\n }\n\n return { handle, name, newHandle, regenerateSheet, patch, who: who.patch };\n}\n\nregisterSchema({\n command: \"avatars.update\",\n description:\n 'Edit an avatar: rename it, change its handle, rewrite any part of its written profile, set the accent it speaks with, or rebuild its identity sheet. Profile flags are merged over what is stored, so `--persona \"…\"` alone leaves the subject description intact. THE RULE THAT MATTERS: if you change --subject, pass --regenerate-sheet in the same call — otherwise the sheet still shows the person you described before, the words and the face stop matching, and every render drifts. Rebuilding is a ~30s billed render and puts the avatar back to `generating`.',\n args: {\n handle: { type: \"string\", description: \"Handle of the avatar to edit\", required: true },\n name: { type: \"string\", description: \"New display name\", required: false },\n \"new-handle\": { type: \"string\", description: \"New mention handle (lowercase, dashes)\", required: false },\n subject: {\n type: \"string\",\n description: \"Rewrite the identity description. Pass --regenerate-sheet with it, always.\",\n required: false,\n },\n persona: { type: \"string\", description: \"Who they are on camera\", required: false },\n speech: { type: \"string\", description: \"How they speak\", required: false },\n motion: { type: \"string\", description: \"Body language in video\", required: false },\n wardrobe: { type: \"string\", description: \"Default outfit\", required: false },\n setting: { type: \"string\", description: \"Default surroundings\", required: false },\n guardrails: {\n type: \"string\",\n description: \"Comma-separated things they must never do (replaces the stored list; empty string clears it)\",\n required: false,\n },\n accent: {\n type: \"string\",\n description:\n \"Where their voice is FROM, as a place: 'Spanish from Spain, Madrid accent', 'Mexican Spanish'. THE lever for how they sound — an avatar has no pinned voice (ADR 0005), so the region directed in the prompt is the only thing steering pronunciation. An adjective like 'clear Spanish accent' is read as NO accent and the clip comes out sounding like nowhere.\",\n required: false,\n },\n relation: {\n type: \"string\",\n description:\n \"Who this person is to the company: team | founder | customer | partner | creator | role. A customer, partner or creator face appears only in an ad quoting their own published words; only team, founder and role faces are cast freely.\",\n required: false,\n },\n testimonial: {\n type: \"string\",\n description: \"Comma-separated testimonial ids this person gave (their quotes may carry their face in an ad)\",\n required: false,\n },\n \"regenerate-sheet\": {\n type: \"boolean\",\n description: \"Rebuild the identity sheet (~30s, billed). Required whenever --subject changed.\",\n required: false,\n default: false,\n },\n },\n});\n\nexport const updateCommand = defineCommand({\n meta: {\n name: \"update\",\n description:\n 'Edit an avatar; profile flags merge over what is stored. Example: baker avatars update marta --subject \"woman in her early 50s, silver bob\" --regenerate-sheet',\n },\n args: {\n handle: { type: \"positional\", description: \"Handle of the avatar to edit\", required: false },\n \"avatar-handle\": { type: \"string\", description: \"Handle (alternative to positional)\", required: false },\n name: { type: \"string\", description: \"New display name\", required: false },\n \"new-handle\": { type: \"string\", description: \"New mention handle\", required: false },\n subject: { type: \"string\", description: \"Rewrite the identity description\", required: false },\n persona: { type: \"string\", description: \"Who they are on camera\", required: false },\n speech: { type: \"string\", description: \"How they speak\", required: false },\n motion: { type: \"string\", description: \"Body language in video\", required: false },\n wardrobe: { type: \"string\", description: \"Default outfit\", required: false },\n setting: { type: \"string\", description: \"Default surroundings\", required: false },\n guardrails: { type: \"string\", description: \"Comma-separated rules (empty string clears)\", required: false },\n accent: { type: \"string\", description: \"Where their voice is FROM, as a place\", required: false },\n relation: { type: \"string\", description: \"team | founder | customer | partner | creator | role\", required: false },\n testimonial: { type: \"string\", description: \"Comma-separated testimonial ids this person gave\", required: false },\n \"regenerate-sheet\": {\n type: \"boolean\",\n description: \"Rebuild the identity sheet (~30s, billed)\",\n required: false,\n default: false,\n },\n },\n run: async ({ args }) => {\n const { handle, name, newHandle, regenerateSheet, patch, who } = readUpdateArgs(args);\n\n try {\n let profile: AvatarsUpdateRequest[\"profile\"];\n let subjectChanged = false;\n if (hasProfileEdit(patch)) {\n // The API replaces the profile wholesale, so read the stored one and\n // merge — otherwise editing one field silently drops the rest.\n const current = await readAvatars<AvatarDetail>(\"/api/avatars/get\", { handle, full: \"1\" });\n profile = mergeProfile(current.profile, patch);\n subjectChanged = profile.subjectDescription !== current.profile.subjectDescription;\n }\n\n const body: AvatarsUpdateRequest = {\n handle,\n ...(name ? { name } : {}),\n ...(newHandle ? { newHandle } : {}),\n ...(profile ? { profile } : {}),\n ...(regenerateSheet ? { regenerateSheet: true } : {}),\n ...who,\n };\n\n const data = await writeAvatars<AvatarsUpdateResponse>(\"/api/avatars/update\", body);\n writeJson({\n ok: true,\n data,\n hints: updateHints({\n avatar: data.avatar,\n subjectChanged,\n regeneratedSheet: regenerateSheet,\n previousHandle: handle,\n }),\n });\n } catch (err) {\n failAvatarApi(err, handle);\n }\n },\n});\n","import { AVATAR_RELATIONS, type AvatarRelation } from \"@baker/api\";\n\n/** What `--relation` and `--testimonial` change on an avatar, or why they cannot. Pure. */\nexport function relationPatch(\n args: Record<string, unknown>,\n): { ok: true; patch: { relation?: AvatarRelation; testimonialIds?: string[] } } | { ok: false; message: string } {\n const relation = typeof args.relation === \"string\" ? args.relation.trim().toLowerCase() : \"\";\n const testimonial = typeof args.testimonial === \"string\" ? args.testimonial : \"\";\n const ids = testimonial\n .split(\",\")\n .map((id) => id.trim())\n .filter(Boolean);\n const known = AVATAR_RELATIONS.find((r) => r === relation);\n if (relation && !known) {\n return { ok: false, message: `--relation \"${relation}\" is not one of ${AVATAR_RELATIONS.join(\", \")}.` };\n }\n return {\n ok: true,\n patch: { ...(known ? { relation: known } : {}), ...(ids.length > 0 ? { testimonialIds: ids } : {}) },\n };\n}\n"],"mappings":"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","names":[]}
|
package/dist/upload-ACESIZIZ.js
DELETED
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
runVideoIngest
|
|
3
|
-
} from "./chunk-6QGS3RQP.js";
|
|
4
|
-
import "./chunk-FKOECEVC.js";
|
|
5
|
-
import {
|
|
6
|
-
detectVideoContentType,
|
|
7
|
-
uploadLocalVideo
|
|
8
|
-
} from "./chunk-QNJVRI3E.js";
|
|
9
|
-
import "./chunk-VI5YQQ63.js";
|
|
10
|
-
import "./chunk-DAO63OOP.js";
|
|
11
|
-
import "./chunk-GXDLWBOY.js";
|
|
12
|
-
import "./chunk-GIWHHCD6.js";
|
|
13
|
-
import "./chunk-XQIOCIDO.js";
|
|
14
|
-
import "./chunk-WTJSMYY2.js";
|
|
15
|
-
import {
|
|
16
|
-
ApiError
|
|
17
|
-
} from "./chunk-6YLNY6CK.js";
|
|
18
|
-
import "./chunk-D5NEIESR.js";
|
|
19
|
-
import "./chunk-57KKVDDR.js";
|
|
20
|
-
import {
|
|
21
|
-
registerSchema,
|
|
22
|
-
writeJson
|
|
23
|
-
} from "./chunk-QANGHND7.js";
|
|
24
|
-
import "./chunk-YQSBHWOI.js";
|
|
25
|
-
|
|
26
|
-
// src/commands/videos/upload.ts
|
|
27
|
-
import { stat } from "fs/promises";
|
|
28
|
-
import { basename } from "path";
|
|
29
|
-
import { defineCommand } from "citty";
|
|
30
|
-
registerSchema({
|
|
31
|
-
command: "videos.upload",
|
|
32
|
-
description: "Upload a video to Baker \u2014 a local file (via Mux direct upload) or a remote http(s) URL.",
|
|
33
|
-
args: {
|
|
34
|
-
file: { type: "string", description: "Local video file path, or a remote http(s) URL", required: true },
|
|
35
|
-
"content-type": {
|
|
36
|
-
type: "string",
|
|
37
|
-
description: "MIME type (auto-detected from extension if omitted)",
|
|
38
|
-
required: false
|
|
39
|
-
},
|
|
40
|
-
context: {
|
|
41
|
-
type: "string",
|
|
42
|
-
description: "What this clip is and what it is for. Feeds the analysis, so it is the single highest-leverage flag here. Example: --context 'Customer testimonial from Maria, shot on her phone for the Q3 retargeting push'",
|
|
43
|
-
required: false
|
|
44
|
-
},
|
|
45
|
-
"dry-run": {
|
|
46
|
-
type: "boolean",
|
|
47
|
-
description: "Preview the operation without executing",
|
|
48
|
-
required: false,
|
|
49
|
-
default: false
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
});
|
|
53
|
-
function isRemoteUrl(value) {
|
|
54
|
-
return /^https?:\/\//i.test(value);
|
|
55
|
-
}
|
|
56
|
-
var uploadCommand = defineCommand({
|
|
57
|
-
meta: {
|
|
58
|
-
name: "upload",
|
|
59
|
-
description: "Upload a video to Baker \u2014 accepts a local file path OR a remote http(s) URL.\n\nLocal: auto-detects content type and uploads via Mux direct upload.\nRemote: hands off to `videos ingest` (direct fetch, or download-then-upload for a YouTube/TikTok/Vimeo page).\n\nExamples:\n baker videos upload ./demo.mp4\n baker videos upload https://www.youtube.com/watch?v=abc123"
|
|
60
|
-
},
|
|
61
|
-
args: {
|
|
62
|
-
file: { type: "positional", description: "Local video file path or remote http(s) URL", required: false },
|
|
63
|
-
"content-type": { type: "string", description: "MIME type (local only \u2014 auto-detected)", required: false },
|
|
64
|
-
context: {
|
|
65
|
-
type: "string",
|
|
66
|
-
description: "What this clip is and what it is for \u2014 who is on camera, which campaign, how it was shot. Start here: the analysis reads it, so it is what makes the clip findable later.",
|
|
67
|
-
required: false
|
|
68
|
-
},
|
|
69
|
-
source: { type: "string", description: "Provenance (URL mode only): url | youtube", required: false },
|
|
70
|
-
"external-id": { type: "string", description: "Provider asset id (URL mode only)", required: false },
|
|
71
|
-
"external-url": { type: "string", description: "Canonical page URL (URL mode only)", required: false },
|
|
72
|
-
"dry-run": { type: "boolean", description: "Preview without executing", required: false, default: false }
|
|
73
|
-
},
|
|
74
|
-
run: async ({ args }) => {
|
|
75
|
-
try {
|
|
76
|
-
const filePath = args.file;
|
|
77
|
-
if (!filePath) {
|
|
78
|
-
writeJson({ ok: false, error: { code: "VALIDATION_ERROR", message: "File path or URL is required" } });
|
|
79
|
-
process.exit(1);
|
|
80
|
-
}
|
|
81
|
-
if (isRemoteUrl(filePath)) {
|
|
82
|
-
await runVideoIngest({
|
|
83
|
-
url: filePath,
|
|
84
|
-
source: args.source,
|
|
85
|
-
externalId: args["external-id"],
|
|
86
|
-
externalUrl: args["external-url"],
|
|
87
|
-
context: args.context,
|
|
88
|
-
dryRun: args["dry-run"] === true
|
|
89
|
-
});
|
|
90
|
-
return;
|
|
91
|
-
}
|
|
92
|
-
const contentType = args["content-type"] || detectVideoContentType(filePath);
|
|
93
|
-
const descriptionContext = args.context;
|
|
94
|
-
if (args["dry-run"]) {
|
|
95
|
-
const fileStats = await stat(filePath);
|
|
96
|
-
const originalFilename = basename(filePath);
|
|
97
|
-
writeJson({
|
|
98
|
-
ok: true,
|
|
99
|
-
dryRun: true,
|
|
100
|
-
operation: "videos.upload",
|
|
101
|
-
params: { file: filePath, contentType, sizeBytes: fileStats.size, originalFilename, descriptionContext }
|
|
102
|
-
});
|
|
103
|
-
return;
|
|
104
|
-
}
|
|
105
|
-
const { videoId } = await uploadLocalVideo({ file: filePath, contentType, descriptionContext });
|
|
106
|
-
writeJson({
|
|
107
|
-
ok: true,
|
|
108
|
-
data: { videoId },
|
|
109
|
-
hints: descriptionContext ? void 0 : [
|
|
110
|
-
"No --context given. Analysis runs on the frames and audio alone, so who is on camera and which campaign this belongs to will be guessed. Pass --context next time."
|
|
111
|
-
]
|
|
112
|
-
});
|
|
113
|
-
} catch (err) {
|
|
114
|
-
if (err instanceof ApiError) {
|
|
115
|
-
writeJson({ ok: false, error: { code: err.code, message: err.message } });
|
|
116
|
-
process.exit(1);
|
|
117
|
-
}
|
|
118
|
-
writeJson({ ok: false, error: { code: "INTERNAL_ERROR", message: "Unexpected error" } });
|
|
119
|
-
process.exit(1);
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
});
|
|
123
|
-
export {
|
|
124
|
-
uploadCommand
|
|
125
|
-
};
|
|
126
|
-
//# sourceMappingURL=upload-ACESIZIZ.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/commands/videos/upload.ts"],"sourcesContent":["import { stat } from \"node:fs/promises\";\nimport { basename } from \"node:path\";\nimport { defineCommand } from \"citty\";\nimport { ApiError } from \"../../client.ts\";\nimport { writeJson } from \"../../output.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport { detectVideoContentType, uploadLocalVideo } from \"./api.ts\";\nimport { runVideoIngest } from \"./ingest.ts\";\n\nregisterSchema({\n command: \"videos.upload\",\n description: \"Upload a video to Baker — a local file (via Mux direct upload) or a remote http(s) URL.\",\n args: {\n file: { type: \"string\", description: \"Local video file path, or a remote http(s) URL\", required: true },\n \"content-type\": {\n type: \"string\",\n description: \"MIME type (auto-detected from extension if omitted)\",\n required: false,\n },\n context: {\n type: \"string\",\n description:\n \"What this clip is and what it is for. Feeds the analysis, so it is the single highest-leverage flag here. Example: --context 'Customer testimonial from Maria, shot on her phone for the Q3 retargeting push'\",\n required: false,\n },\n \"dry-run\": {\n type: \"boolean\",\n description: \"Preview the operation without executing\",\n required: false,\n default: false,\n },\n },\n});\n\nfunction isRemoteUrl(value: string): boolean {\n return /^https?:\\/\\//i.test(value);\n}\n\nexport const uploadCommand = defineCommand({\n meta: {\n name: \"upload\",\n description:\n \"Upload a video to Baker — accepts a local file path OR a remote http(s) URL.\\n\\nLocal: auto-detects content type and uploads via Mux direct upload.\\nRemote: hands off to `videos ingest` (direct fetch, or download-then-upload for a YouTube/TikTok/Vimeo page).\\n\\nExamples:\\n baker videos upload ./demo.mp4\\n baker videos upload https://www.youtube.com/watch?v=abc123\",\n },\n args: {\n file: { type: \"positional\", description: \"Local video file path or remote http(s) URL\", required: false },\n \"content-type\": { type: \"string\", description: \"MIME type (local only — auto-detected)\", required: false },\n context: {\n type: \"string\",\n description:\n \"What this clip is and what it is for — who is on camera, which campaign, how it was shot. Start here: the analysis reads it, so it is what makes the clip findable later.\",\n required: false,\n },\n source: { type: \"string\", description: \"Provenance (URL mode only): url | youtube\", required: false },\n \"external-id\": { type: \"string\", description: \"Provider asset id (URL mode only)\", required: false },\n \"external-url\": { type: \"string\", description: \"Canonical page URL (URL mode only)\", required: false },\n \"dry-run\": { type: \"boolean\", description: \"Preview without executing\", required: false, default: false },\n },\n run: async ({ args }) => {\n try {\n const filePath = args.file as string | undefined;\n if (!filePath) {\n writeJson({ ok: false, error: { code: \"VALIDATION_ERROR\", message: \"File path or URL is required\" } });\n process.exit(1);\n }\n\n // A URL is the ingest command's job — same routing `images upload` does, so\n // one verb covers both and a pasted link never fails with ENOENT.\n if (isRemoteUrl(filePath)) {\n // Every option this verb shares with `ingest` is forwarded. `--context`\n // in particular: both commands call it the highest-leverage flag, and\n // dropping it here meant a pasted link was analysed with strictly less\n // to go on than the same file uploaded by hand — silently, since no\n // error fired and the \"no context given\" hint did not either.\n await runVideoIngest({\n url: filePath,\n source: args.source as string | undefined,\n externalId: args[\"external-id\"] as string | undefined,\n externalUrl: args[\"external-url\"] as string | undefined,\n context: args.context as string | undefined,\n dryRun: args[\"dry-run\"] === true,\n });\n return;\n }\n\n const contentType = (args[\"content-type\"] as string | undefined) || detectVideoContentType(filePath);\n const descriptionContext = args.context as string | undefined;\n\n if (args[\"dry-run\"]) {\n const fileStats = await stat(filePath);\n const originalFilename = basename(filePath);\n writeJson({\n ok: true,\n dryRun: true,\n operation: \"videos.upload\",\n params: { file: filePath, contentType, sizeBytes: fileStats.size, originalFilename, descriptionContext },\n });\n return;\n }\n\n const { videoId } = await uploadLocalVideo({ file: filePath, contentType, descriptionContext });\n\n writeJson({\n ok: true,\n data: { videoId },\n hints: descriptionContext\n ? undefined\n : [\n \"No --context given. Analysis runs on the frames and audio alone, so who is on camera and which campaign this belongs to will be guessed. Pass --context next time.\",\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":[]}
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
handleLinkedinError,
|
|
3
|
-
resolveAccountIdArg
|
|
4
|
-
} from "./chunk-VB3XUR6A.js";
|
|
5
|
-
import {
|
|
6
|
-
writeAdsJson
|
|
7
|
-
} from "./chunk-2VIZ4UUZ.js";
|
|
8
|
-
import {
|
|
9
|
-
LINKEDIN_TRACKING_PARAMS_AD_SET_MAX
|
|
10
|
-
} from "./chunk-DAO63OOP.js";
|
|
11
|
-
import "./chunk-GXDLWBOY.js";
|
|
12
|
-
import "./chunk-GIWHHCD6.js";
|
|
13
|
-
import "./chunk-XQIOCIDO.js";
|
|
14
|
-
import "./chunk-WTJSMYY2.js";
|
|
15
|
-
import {
|
|
16
|
-
apiGet
|
|
17
|
-
} from "./chunk-6YLNY6CK.js";
|
|
18
|
-
import "./chunk-D5NEIESR.js";
|
|
19
|
-
import "./chunk-57KKVDDR.js";
|
|
20
|
-
import "./chunk-QANGHND7.js";
|
|
21
|
-
import "./chunk-YQSBHWOI.js";
|
|
22
|
-
|
|
23
|
-
// src/commands/ads/linkedin/url-params.ts
|
|
24
|
-
import { defineCommand } from "citty";
|
|
25
|
-
var urlParamsCommand = defineCommand({
|
|
26
|
-
meta: {
|
|
27
|
-
name: "url-params",
|
|
28
|
-
description: `Read the URL tracking parameters in effect \u2014 the ad account's, optionally every ad set's, and the keys set at BOTH (which LinkedIn appends twice).
|
|
29
|
-
|
|
30
|
-
Start here before setting UTMs on an ad set: whatever the account already carries is appended on top of it.
|
|
31
|
-
|
|
32
|
-
Examples:
|
|
33
|
-
baker ads linkedin url-params \u2014 the ad account's parameters
|
|
34
|
-
baker ads linkedin url-params --ad-sets \u2014 plus every ad set's, and the collisions
|
|
35
|
-
baker ads linkedin url-params --campaign-ids 123456,789012 \u2014 plus just those ad sets'
|
|
36
|
-
baker ads linkedin url-params --ad-sets --collisions-only \u2014 just what would land twice`
|
|
37
|
-
},
|
|
38
|
-
args: {
|
|
39
|
-
"account-id": { type: "string", description: "Numeric account ID or urn:li:sponsoredAccount:N" },
|
|
40
|
-
"account-urn": { type: "string", description: "Alias for --account-id" },
|
|
41
|
-
"ad-sets": {
|
|
42
|
-
type: "boolean",
|
|
43
|
-
description: `Also read every ad set's parameters (one call each, first ${LINKEDIN_TRACKING_PARAMS_AD_SET_MAX})`
|
|
44
|
-
},
|
|
45
|
-
"campaign-ids": { type: "string", description: "Comma-separated ad set ids to read instead of all of them" },
|
|
46
|
-
"collisions-only": { type: "boolean", description: "Report only the keys set at more than one level" }
|
|
47
|
-
},
|
|
48
|
-
run: async ({ args }) => {
|
|
49
|
-
const accountId = resolveAccountIdArg(args);
|
|
50
|
-
try {
|
|
51
|
-
const params = { "account-id": accountId };
|
|
52
|
-
if (args["campaign-ids"]) params["campaign-ids"] = String(args["campaign-ids"]);
|
|
53
|
-
if (args["ad-sets"]) params["all-ad-sets"] = "true";
|
|
54
|
-
const data = await apiGet("/api/ads/linkedin/url-params", params);
|
|
55
|
-
const examinedAdSets = Boolean(args["ad-sets"] || args["campaign-ids"]);
|
|
56
|
-
const notes = hints(data, examinedAdSets);
|
|
57
|
-
writeAdsJson({
|
|
58
|
-
ok: true,
|
|
59
|
-
data: args["collisions-only"] ? { collisions: data.collisions, adSetCoverage: data.adSetCoverage } : data,
|
|
60
|
-
...notes.length > 0 ? { hints: notes } : {}
|
|
61
|
-
});
|
|
62
|
-
} catch (err) {
|
|
63
|
-
handleLinkedinError(err);
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
});
|
|
67
|
-
function hints(data, examinedAdSets) {
|
|
68
|
-
const out = [];
|
|
69
|
-
if (data.unreadable.length > 0) {
|
|
70
|
-
out.push(
|
|
71
|
-
`could NOT read ${data.unreadable.map((entry) => entry.level === "account" ? "the ad account" : `ad set ${entry.id}`).join(", ")} \u2014 treat that as unknown, not as empty. Do not stage url-params against it: either it does not exist, or it holds parameters this write would replace unseen. First reason: ${data.unreadable[0]?.reason ?? "unknown"}`
|
|
72
|
-
);
|
|
73
|
-
}
|
|
74
|
-
if (data.collisions.length > 0) {
|
|
75
|
-
out.push(
|
|
76
|
-
`${data.collisions.map((c) => c.key).join(", ")} set at BOTH the account and an ad set \u2014 LinkedIn appends both, so each lands twice in the served URL. Clear it at one level with \`account url-params\` or \`campaigns url-params --clear\`.`
|
|
77
|
-
);
|
|
78
|
-
}
|
|
79
|
-
if (data.adSetCoverage?.capped) {
|
|
80
|
-
out.push(
|
|
81
|
-
`only ${data.adSetCoverage.examined} of ${data.adSetCoverage.total} ad sets were read \u2014 the collisions above cover those, not the rest. Narrow with --campaign-ids to check the others.`
|
|
82
|
-
);
|
|
83
|
-
}
|
|
84
|
-
if (!examinedAdSets) {
|
|
85
|
-
out.push("only the ad account was read \u2014 pass --ad-sets to find keys an ad set sets on top of these");
|
|
86
|
-
}
|
|
87
|
-
const allAnswered = data.unreadable.length === 0;
|
|
88
|
-
const nothingSet = data.account.state === "not_set" && data.adSets.every((adSet) => adSet.state === "not_set");
|
|
89
|
-
if (allAnswered && nothingSet) {
|
|
90
|
-
out.push("nothing is tagged \u2014 set the constants once with `baker ads linkedin account url-params`");
|
|
91
|
-
}
|
|
92
|
-
return out;
|
|
93
|
-
}
|
|
94
|
-
export {
|
|
95
|
-
hints,
|
|
96
|
-
urlParamsCommand
|
|
97
|
-
};
|
|
98
|
-
//# sourceMappingURL=url-params-MIXEDBF7.js.map
|