@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,144 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
failApi
|
|
3
|
-
} from "./chunk-ZDAVSTEE.js";
|
|
4
|
-
import "./chunk-DAO63OOP.js";
|
|
5
|
-
import "./chunk-GXDLWBOY.js";
|
|
6
|
-
import "./chunk-GIWHHCD6.js";
|
|
7
|
-
import {
|
|
8
|
-
CAPABILITY_SURFACES
|
|
9
|
-
} from "./chunk-XQIOCIDO.js";
|
|
10
|
-
import "./chunk-WTJSMYY2.js";
|
|
11
|
-
import {
|
|
12
|
-
apiPost
|
|
13
|
-
} from "./chunk-6YLNY6CK.js";
|
|
14
|
-
import "./chunk-D5NEIESR.js";
|
|
15
|
-
import {
|
|
16
|
-
getEnv
|
|
17
|
-
} from "./chunk-57KKVDDR.js";
|
|
18
|
-
import {
|
|
19
|
-
registerSchema,
|
|
20
|
-
writeJson
|
|
21
|
-
} from "./chunk-QANGHND7.js";
|
|
22
|
-
import "./chunk-YQSBHWOI.js";
|
|
23
|
-
|
|
24
|
-
// src/commands/capabilities/index.ts
|
|
25
|
-
import { defineCommand } from "citty";
|
|
26
|
-
registerSchema({
|
|
27
|
-
command: "capabilities",
|
|
28
|
-
description: "Start here, before promising the user anything on an ad platform, in Analytics, or in Tag Manager. Answers three questions in one call: what is connected and with what access, what a write on each surface actually does when it lands, and what CANNOT be done here and why. Run it with no arguments for every surface; name one surface to also get the exact fields every change on it accepts.",
|
|
29
|
-
args: {
|
|
30
|
-
surface: {
|
|
31
|
-
type: "positional",
|
|
32
|
-
description: `One of: ${CAPABILITY_SURFACES.join(" | ")}. Omit for all of them.`,
|
|
33
|
-
required: false
|
|
34
|
-
},
|
|
35
|
-
full: {
|
|
36
|
-
type: "boolean",
|
|
37
|
-
description: "Include the field-level contract of every change on every surface",
|
|
38
|
-
required: false,
|
|
39
|
-
default: false
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
});
|
|
43
|
-
function capabilityHints(surfaces, tools = []) {
|
|
44
|
-
const hints = [];
|
|
45
|
-
const immediate = surfaces.filter((surface) => surface.writeMode === "applies-at-publish");
|
|
46
|
-
if (immediate.length > 0) {
|
|
47
|
-
hints.push(
|
|
48
|
-
`REAL AND IMMEDIATE: ${immediate.map((s) => s.label).join(", ")}. Completing this chat changes the user's live setup, so agree the changes before you finish, not after.`
|
|
49
|
-
);
|
|
50
|
-
}
|
|
51
|
-
const blocked = surfaces.filter((surface) => surface.blockers.length > 0);
|
|
52
|
-
if (blocked.length > 0) {
|
|
53
|
-
hints.push(`BLOCKED: ${blocked.flatMap((surface) => surface.blockers).join(" ")}`);
|
|
54
|
-
}
|
|
55
|
-
const limitCount = surfaces.reduce((total, surface) => total + surface.limits.length, 0);
|
|
56
|
-
if (limitCount > 0) {
|
|
57
|
-
hints.push(
|
|
58
|
-
`${limitCount} thing(s) listed under \`limits\` cannot be done at all. Read them before you plan the work \u2014 each one says what to tell the user instead. Do not try them and report the failure as a surprise.`
|
|
59
|
-
);
|
|
60
|
-
}
|
|
61
|
-
if (surfaces.length > 1) {
|
|
62
|
-
hints.push(
|
|
63
|
-
"Naming one surface (`baker capabilities google-ads`) adds `ops` \u2014 the exact fields and accepted values of every change there. Read that instead of guessing a field name."
|
|
64
|
-
);
|
|
65
|
-
}
|
|
66
|
-
const usable = tools.filter((tool) => tool.ready);
|
|
67
|
-
if (usable.length > 0) {
|
|
68
|
-
hints.push(
|
|
69
|
-
`ALSO AVAILABLE, and not on any surface above: ${usable.map((tool) => tool.label).join(", ")}. These answer WHY a page behaves as it does, which no surface here can. See \`tools[].reach\` for how to call each one.`
|
|
70
|
-
);
|
|
71
|
-
}
|
|
72
|
-
const broken = tools.filter((tool) => !tool.ready);
|
|
73
|
-
if (broken.length > 0) {
|
|
74
|
-
hints.push(
|
|
75
|
-
`CONNECTED BUT UNUSABLE: ${broken.map((tool) => `${tool.label} \u2014 ${tool.note ?? "not reachable"}`).join(" ")} Tell the user rather than planning around it silently.`
|
|
76
|
-
);
|
|
77
|
-
}
|
|
78
|
-
return hints;
|
|
79
|
-
}
|
|
80
|
-
var runCapabilities = defineCommand({
|
|
81
|
-
meta: {
|
|
82
|
-
name: "capabilities",
|
|
83
|
-
description: `What Baker can and cannot do for this company, before any work starts.
|
|
84
|
-
|
|
85
|
-
Reports, per surface: what is connected and with what access, what a write there does when it lands, the entities that can be changed, and \u2014 the part nothing else tells you \u2014 what cannot be changed and why.
|
|
86
|
-
|
|
87
|
-
Also returns \`tools\`: everything else this company can reach that is not one of those surfaces \u2014 Microsoft Clarity and any other MCP toolkit, custom servers, HubSpot. This is the one call that answers "what do I actually have".
|
|
88
|
-
|
|
89
|
-
Examples:
|
|
90
|
-
baker capabilities
|
|
91
|
-
baker capabilities google-ads
|
|
92
|
-
baker capabilities tag-manager
|
|
93
|
-
baker capabilities --full
|
|
94
|
-
|
|
95
|
-
Full guide: __tooling__/docs/tools/baker/capabilities.md`
|
|
96
|
-
},
|
|
97
|
-
args: {
|
|
98
|
-
surface: {
|
|
99
|
-
type: "positional",
|
|
100
|
-
description: `Narrow to one surface: ${CAPABILITY_SURFACES.join(" | ")}`,
|
|
101
|
-
required: false
|
|
102
|
-
},
|
|
103
|
-
full: {
|
|
104
|
-
type: "boolean",
|
|
105
|
-
description: "Include the field-level contract of every change on every surface",
|
|
106
|
-
required: false,
|
|
107
|
-
default: false
|
|
108
|
-
}
|
|
109
|
-
},
|
|
110
|
-
run: async ({ args }) => {
|
|
111
|
-
try {
|
|
112
|
-
const body = {};
|
|
113
|
-
const surface = args.surface;
|
|
114
|
-
if (surface) {
|
|
115
|
-
if (!CAPABILITY_SURFACES.includes(surface)) {
|
|
116
|
-
throw new Error(`"${surface}" is not a surface. Use one of: ${CAPABILITY_SURFACES.join(", ")}`);
|
|
117
|
-
}
|
|
118
|
-
body.surface = surface;
|
|
119
|
-
}
|
|
120
|
-
if (args.full) {
|
|
121
|
-
body.full = true;
|
|
122
|
-
}
|
|
123
|
-
const actingUserId = getEnv().BAKER_ACTING_USER_ID;
|
|
124
|
-
if (actingUserId) {
|
|
125
|
-
body.actingUserId = actingUserId;
|
|
126
|
-
}
|
|
127
|
-
const response = await apiPost("/api/capabilities", body);
|
|
128
|
-
const hints = capabilityHints(response.data.surfaces, response.data.tools);
|
|
129
|
-
writeJson({
|
|
130
|
-
...response,
|
|
131
|
-
meta: { count: response.data.surfaces.length },
|
|
132
|
-
...hints.length > 0 ? { hints } : {}
|
|
133
|
-
});
|
|
134
|
-
} catch (err) {
|
|
135
|
-
failApi(err);
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
});
|
|
139
|
-
var capabilitiesCommand = runCapabilities;
|
|
140
|
-
export {
|
|
141
|
-
capabilitiesCommand,
|
|
142
|
-
capabilityHints
|
|
143
|
-
};
|
|
144
|
-
//# sourceMappingURL=capabilities-LWXCWMIY.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/commands/capabilities/index.ts"],"sourcesContent":["import {\n CAPABILITY_SURFACES,\n type CapabilitiesResponse,\n type CapabilitySurfaceReport,\n type CapabilityTool,\n} from \"@baker/api/capabilities\";\nimport { defineCommand } from \"citty\";\nimport { apiPost } from \"../../client.ts\";\nimport { getEnv } from \"../../env.ts\";\nimport { writeJson } from \"../../output.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport { failApi } from \"../actions/shared.ts\";\n\nregisterSchema({\n command: \"capabilities\",\n description:\n \"Start here, before promising the user anything on an ad platform, in Analytics, or in Tag Manager. Answers three questions in one call: what is connected and with what access, what a write on each surface actually does when it lands, and what CANNOT be done here and why. Run it with no arguments for every surface; name one surface to also get the exact fields every change on it accepts.\",\n args: {\n surface: {\n type: \"positional\",\n description: `One of: ${CAPABILITY_SURFACES.join(\" | \")}. Omit for all of them.`,\n required: false,\n },\n full: {\n type: \"boolean\",\n description: \"Include the field-level contract of every change on every surface\",\n required: false,\n default: false,\n },\n },\n});\n\n/**\n * What the agent must not miss even if it skims the payload.\n *\n * Every line here comes from a real session that went wrong: a Tag Manager\n * change described as a draft when it was about to go live, work promised on a\n * read-only surface, an ad change called a preview after it had already spent.\n */\nexport function capabilityHints(surfaces: CapabilitySurfaceReport[], tools: CapabilityTool[] = []): string[] {\n const hints: string[] = [];\n\n const immediate = surfaces.filter((surface) => surface.writeMode === \"applies-at-publish\");\n if (immediate.length > 0) {\n hints.push(\n `REAL AND IMMEDIATE: ${immediate.map((s) => s.label).join(\", \")}. Completing this chat changes the user's live setup, so agree the changes before you finish, not after.`,\n );\n }\n\n const blocked = surfaces.filter((surface) => surface.blockers.length > 0);\n if (blocked.length > 0) {\n hints.push(`BLOCKED: ${blocked.flatMap((surface) => surface.blockers).join(\" \")}`);\n }\n\n const limitCount = surfaces.reduce((total, surface) => total + surface.limits.length, 0);\n if (limitCount > 0) {\n hints.push(\n `${limitCount} thing(s) listed under \\`limits\\` cannot be done at all. Read them before you plan the work — each one says what to tell the user instead. Do not try them and report the failure as a surprise.`,\n );\n }\n\n if (surfaces.length > 1) {\n hints.push(\n \"Naming one surface (`baker capabilities google-ads`) adds `ops` — the exact fields and accepted values of every change there. Read that instead of guessing a field name.\",\n );\n }\n\n // The whole reason `tools` exists. An agent that read only `surfaces` used to\n // conclude a company had no session-recording tool while Microsoft Clarity\n // sat in its own tool list — and that is the source most likely to change\n // what it decides about a page.\n const usable = tools.filter((tool) => tool.ready);\n if (usable.length > 0) {\n hints.push(\n `ALSO AVAILABLE, and not on any surface above: ${usable.map((tool) => tool.label).join(\", \")}. These answer WHY a page behaves as it does, which no surface here can. See \\`tools[].reach\\` for how to call each one.`,\n );\n }\n\n const broken = tools.filter((tool) => !tool.ready);\n if (broken.length > 0) {\n hints.push(\n `CONNECTED BUT UNUSABLE: ${broken.map((tool) => `${tool.label} — ${tool.note ?? \"not reachable\"}`).join(\" \")} Tell the user rather than planning around it silently.`,\n );\n }\n\n return hints;\n}\n\nconst runCapabilities = defineCommand({\n meta: {\n name: \"capabilities\",\n description: `What Baker can and cannot do for this company, before any work starts.\n\nReports, per surface: what is connected and with what access, what a write there does when it lands, the entities that can be changed, and — the part nothing else tells you — what cannot be changed and why.\n\nAlso returns \\`tools\\`: everything else this company can reach that is not one of those surfaces — Microsoft Clarity and any other MCP toolkit, custom servers, HubSpot. This is the one call that answers \"what do I actually have\".\n\nExamples:\n baker capabilities\n baker capabilities google-ads\n baker capabilities tag-manager\n baker capabilities --full\n\nFull guide: __tooling__/docs/tools/baker/capabilities.md`,\n },\n args: {\n surface: {\n type: \"positional\",\n description: `Narrow to one surface: ${CAPABILITY_SURFACES.join(\" | \")}`,\n required: false,\n },\n full: {\n type: \"boolean\",\n description: \"Include the field-level contract of every change on every surface\",\n required: false,\n default: false,\n },\n },\n run: async ({ args }) => {\n try {\n const body: Record<string, unknown> = {};\n const surface = args.surface as string | undefined;\n if (surface) {\n if (!(CAPABILITY_SURFACES as readonly string[]).includes(surface)) {\n throw new Error(`\"${surface}\" is not a surface. Use one of: ${CAPABILITY_SURFACES.join(\", \")}`);\n }\n body.surface = surface;\n }\n if (args.full) {\n body.full = true;\n }\n // Who this chat acts as: their own connected tools load with it — a\n // personal inbox in a scheduled run of theirs — and are listed with it.\n const actingUserId = getEnv().BAKER_ACTING_USER_ID;\n if (actingUserId) {\n body.actingUserId = actingUserId;\n }\n const response = await apiPost<CapabilitiesResponse>(\"/api/capabilities\", body);\n const hints = capabilityHints(response.data.surfaces, response.data.tools);\n writeJson({\n ...response,\n meta: { count: response.data.surfaces.length },\n ...(hints.length > 0 ? { hints } : {}),\n });\n } catch (err) {\n failApi(err);\n }\n },\n});\n\nexport const capabilitiesCommand = runCapabilities;\n"],"mappings":"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","names":[]}
|
package/dist/chatgpt-YI6YNACI.js
DELETED
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import "./chunk-YQSBHWOI.js";
|
|
2
|
-
|
|
3
|
-
// src/commands/ads/chatgpt/index.ts
|
|
4
|
-
import { defineCommand } from "citty";
|
|
5
|
-
var chatgptCommand = defineCommand({
|
|
6
|
-
meta: {
|
|
7
|
-
name: "chatgpt",
|
|
8
|
-
description: `ChatGPT Ads (OpenAI's ads inside ChatGPT) \u2014 read the connected account, its campaigns, ad groups and ads, and how they perform; stage changes that apply when the chat is published.
|
|
9
|
-
|
|
10
|
-
Start here:
|
|
11
|
-
baker ads chatgpt account \u2014 currency, timezone, and whether reviews let anything serve
|
|
12
|
-
baker ads chatgpt insights \u2014 last 7 days, one row per campaign
|
|
13
|
-
|
|
14
|
-
Examples:
|
|
15
|
-
baker ads chatgpt campaigns
|
|
16
|
-
baker ads chatgpt ad-groups --campaign-id cmpn_123
|
|
17
|
-
baker ads chatgpt ads --ad-group-id adgrp_123
|
|
18
|
-
baker ads chatgpt conversions \u2014 pixels and conversion events
|
|
19
|
-
baker ads chatgpt insights --days 30 --granularity daily --segment country
|
|
20
|
-
baker ads chatgpt campaigns create --name "Spring push" --objective clicks --daily-budget 20
|
|
21
|
-
baker ads chatgpt draft \u2014 what this chat has staged
|
|
22
|
-
|
|
23
|
-
Writes never reach ChatGPT Ads mid-chat: create, update, pause, resume and archive stage
|
|
24
|
-
changes on this chat, and they apply when the chat is published.
|
|
25
|
-
|
|
26
|
-
One company connects one ChatGPT Ads account, so there is no account id to pass.
|
|
27
|
-
Full guide: __tooling__/docs/tools/baker/ads-chatgpt.md`
|
|
28
|
-
},
|
|
29
|
-
subCommands: {
|
|
30
|
-
account: () => import("./account-EF6OPUJT.js").then((m) => m.accountCommand),
|
|
31
|
-
campaigns: () => import("./campaigns-FLTPD66X.js").then((m) => m.campaignsCommand),
|
|
32
|
-
"ad-groups": () => import("./ad-groups-M7CV6NTH.js").then((m) => m.adGroupsCommand),
|
|
33
|
-
ads: () => import("./ads-CGLO73MH.js").then((m) => m.adsCommand),
|
|
34
|
-
conversions: () => import("./conversions-CIJZLGII.js").then((m) => m.conversionsCommand),
|
|
35
|
-
pixels: () => import("./pixels-R4MOLWAR.js").then((m) => m.pixelsCommand),
|
|
36
|
-
audiences: () => import("./audiences-WXIP5PJH.js").then((m) => m.audiencesCommand),
|
|
37
|
-
catalogs: () => import("./catalogs-26VXVUST.js").then((m) => m.catalogsCommand),
|
|
38
|
-
history: () => import("./history-DGHMJ2XF.js").then((m) => m.historyCommand),
|
|
39
|
-
insights: () => import("./insights-EU45J56U.js").then((m) => m.insightsCommand),
|
|
40
|
-
locations: () => import("./locations-TGJH3URF.js").then((m) => m.locationsCommand),
|
|
41
|
-
draft: () => import("./draft-7DWRFCXW.js").then((m) => m.draftCommand)
|
|
42
|
-
}
|
|
43
|
-
});
|
|
44
|
-
export {
|
|
45
|
-
chatgptCommand
|
|
46
|
-
};
|
|
47
|
-
//# sourceMappingURL=chatgpt-YI6YNACI.js.map
|
package/dist/chats-7WGC2CVW.js
DELETED
|
@@ -1,276 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
failApi
|
|
3
|
-
} from "./chunk-ZDAVSTEE.js";
|
|
4
|
-
import "./chunk-DAO63OOP.js";
|
|
5
|
-
import "./chunk-GXDLWBOY.js";
|
|
6
|
-
import "./chunk-GIWHHCD6.js";
|
|
7
|
-
import "./chunk-XQIOCIDO.js";
|
|
8
|
-
import "./chunk-WTJSMYY2.js";
|
|
9
|
-
import {
|
|
10
|
-
apiPost
|
|
11
|
-
} from "./chunk-6YLNY6CK.js";
|
|
12
|
-
import "./chunk-D5NEIESR.js";
|
|
13
|
-
import {
|
|
14
|
-
getEnv
|
|
15
|
-
} from "./chunk-57KKVDDR.js";
|
|
16
|
-
import {
|
|
17
|
-
registerSchema,
|
|
18
|
-
writeJson
|
|
19
|
-
} from "./chunk-QANGHND7.js";
|
|
20
|
-
import "./chunk-YQSBHWOI.js";
|
|
21
|
-
|
|
22
|
-
// src/commands/chats/index.ts
|
|
23
|
-
import { defineCommand } from "citty";
|
|
24
|
-
|
|
25
|
-
// src/commands/chats/publish-hints.ts
|
|
26
|
-
function publishHints(publish) {
|
|
27
|
-
const hints = [];
|
|
28
|
-
if (!publish.complete) {
|
|
29
|
-
const failed = publish.failedTotal;
|
|
30
|
-
hints.push(
|
|
31
|
-
`This Session's publish left ${failed} change${failed === 1 ? "" : "s"} behind \u2014 see \`publish.surfaces\` for the platform's own words. Do not report those changes as live.`
|
|
32
|
-
);
|
|
33
|
-
}
|
|
34
|
-
const unconfirmed = publish.unconfirmedTotal ?? 0;
|
|
35
|
-
if (unconfirmed > 0) {
|
|
36
|
-
hints.push(
|
|
37
|
-
`${unconfirmed} change${unconfirmed === 1 ? "" : "s"} went through but could not be confirmed when read back from the platform \u2014 \`publish.surfaces[].unconfirmedChanges\` says what it shows instead. Check before reporting them as done.`
|
|
38
|
-
);
|
|
39
|
-
}
|
|
40
|
-
return hints;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
// src/commands/chats/index.ts
|
|
44
|
-
var STATUS_GROUPS = ["active", "archived", "all"];
|
|
45
|
-
var REPO_SURFACES = ["knowledge", "company", "brand", "landings", "flows", "creatives"];
|
|
46
|
-
function parseBoundedInt(raw, name, min, max) {
|
|
47
|
-
if (raw === void 0) {
|
|
48
|
-
return void 0;
|
|
49
|
-
}
|
|
50
|
-
const value = Number.parseInt(raw, 10);
|
|
51
|
-
if (Number.isNaN(value) || value < min || value > max) {
|
|
52
|
-
throw new Error(`--${name} must be an integer between ${min} and ${max}`);
|
|
53
|
-
}
|
|
54
|
-
return value;
|
|
55
|
-
}
|
|
56
|
-
registerSchema({
|
|
57
|
-
command: "chats.list",
|
|
58
|
-
description: "Start here: list other Sessions on this account (newest first) so you can reuse what was done before. Each row shows the Session id, title, status, and a count of what it produced (creatives, landings, actions, flows, reports\u2026). Then drill in with `baker chats view <id>`, `baker chats transcript <id>`, or `baker chats diff <id>`. Read-only.",
|
|
59
|
-
args: {
|
|
60
|
-
status: { type: "string", description: "Filter: active|archived|all (default: all)", required: false },
|
|
61
|
-
limit: { type: "string", description: "Max Sessions to return, 1-100 (default: 20)", required: false },
|
|
62
|
-
full: { type: "boolean", description: "Include each Session's full change list", required: false, default: false }
|
|
63
|
-
}
|
|
64
|
-
});
|
|
65
|
-
var listCommand = defineCommand({
|
|
66
|
-
meta: { name: "list", description: "List other Sessions on this account, newest first." },
|
|
67
|
-
args: {
|
|
68
|
-
status: { type: "string", description: "Filter: active|archived|all (default: all)", required: false },
|
|
69
|
-
limit: { type: "string", description: "Max Sessions (1-100, default 20)", required: false },
|
|
70
|
-
full: { type: "boolean", description: "Include each Session's full change list", required: false, default: false }
|
|
71
|
-
},
|
|
72
|
-
run: async ({ args }) => {
|
|
73
|
-
try {
|
|
74
|
-
const body = {};
|
|
75
|
-
if (args.status) {
|
|
76
|
-
if (!STATUS_GROUPS.includes(args.status)) {
|
|
77
|
-
throw new Error(`--status must be one of: ${STATUS_GROUPS.join("|")}`);
|
|
78
|
-
}
|
|
79
|
-
body.status = args.status;
|
|
80
|
-
}
|
|
81
|
-
const limit = parseBoundedInt(args.limit, "limit", 1, 100);
|
|
82
|
-
if (limit !== void 0) {
|
|
83
|
-
body.limit = limit;
|
|
84
|
-
}
|
|
85
|
-
if (args.full) {
|
|
86
|
-
body.full = true;
|
|
87
|
-
}
|
|
88
|
-
const selfChatId = getEnv().BAKER_CHAT_ID;
|
|
89
|
-
if (selfChatId) {
|
|
90
|
-
body.excludeChatId = selfChatId;
|
|
91
|
-
}
|
|
92
|
-
const response = await apiPost("/api/chats/list", body);
|
|
93
|
-
writeJson({
|
|
94
|
-
...response,
|
|
95
|
-
meta: { count: response.data.chats.length },
|
|
96
|
-
...response.data.chats.length === 0 ? { hints: ["No Sessions matched. Widen with --status all or a larger --limit."] } : {
|
|
97
|
-
hints: [
|
|
98
|
-
"Drill in: `baker chats view <id>` for outputs, `chats transcript <id>` for the conversation, `chats diff <id>` for the real file changes."
|
|
99
|
-
]
|
|
100
|
-
}
|
|
101
|
-
});
|
|
102
|
-
} catch (err) {
|
|
103
|
-
failApi(err);
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
});
|
|
107
|
-
registerSchema({
|
|
108
|
-
command: "chats.view",
|
|
109
|
-
description: "Inspect one Session's FULL picture of what it changed \u2014 the unified `effects`: git content (landings, creatives, flows, knowledge, brand), plus DB-only effects that never touch the repo \u2014 Actions, Scheduled agents, Tags, Tag Manager, Google Analytics, ad-platform writes, the funnel (`funnel`: which steps it added, changed or removed, and which ways in it added or removed in `triggersAdded`/`triggersRemoved`), what counts as a conversion (`conversions`), conversion sends, event sources, and every other staged or already-applied change (`otherChanges`: A/B tests, recipes, library images) \u2014 each resolved to real detail (names, descriptions, priorities, tag types, ad operations) and, once published, its `outcome`. Also `publish` (what each external surface actually did, with the provider's own error), `activity` (the chat's own timeline: status changes, publish start/fail, workspace recoveries, timeouts), `usage` (per-thread cost and the Session's token totals), the kickoff (how it was asked), threads, and commits. Effects are `staged` (in-progress draft) or applied. A completed Session is NOT proof its external changes landed \u2014 read `publish`. Use after `baker chats list` to decide whether to reuse it. Read-only.",
|
|
110
|
-
args: {
|
|
111
|
-
id: { type: "positional", description: "The Session id (from `baker chats list`)", required: true },
|
|
112
|
-
full: {
|
|
113
|
-
type: "boolean",
|
|
114
|
-
description: "Untruncated effect lists and full activity metadata (compact caps each list at 25)",
|
|
115
|
-
required: false,
|
|
116
|
-
default: false
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
});
|
|
120
|
-
var viewCommand = defineCommand({
|
|
121
|
-
meta: {
|
|
122
|
-
name: "view",
|
|
123
|
-
description: "Inspect one Session's full effects \u2014 git content + actions/tags/ads, kickoff, commits."
|
|
124
|
-
},
|
|
125
|
-
args: {
|
|
126
|
-
id: { type: "positional", description: "The Session id", required: true },
|
|
127
|
-
full: { type: "boolean", description: "Include full detail", required: false, default: false }
|
|
128
|
-
},
|
|
129
|
-
run: async ({ args }) => {
|
|
130
|
-
try {
|
|
131
|
-
const response = await apiPost("/api/chats/view", {
|
|
132
|
-
chatId: args.id,
|
|
133
|
-
...args.full ? { full: true } : {}
|
|
134
|
-
});
|
|
135
|
-
const hints = response.data.publish ? publishHints(response.data.publish) : [];
|
|
136
|
-
if (response.data.diffAvailable) {
|
|
137
|
-
hints.push("See the real file-level diff of the git content with `baker chats diff <id> --full`.");
|
|
138
|
-
} else if (response.data.status === "in_progress" || response.data.status === "publishing") {
|
|
139
|
-
hints.push(
|
|
140
|
-
"This Session is still in progress \u2014 read its current file changes with `baker chats diff <id> --live`."
|
|
141
|
-
);
|
|
142
|
-
}
|
|
143
|
-
hints.push("Read the conversation with `baker chats transcript <id>`.");
|
|
144
|
-
writeJson({ ...response, hints });
|
|
145
|
-
} catch (err) {
|
|
146
|
-
failApi(err);
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
});
|
|
150
|
-
registerSchema({
|
|
151
|
-
command: "chats.transcript",
|
|
152
|
-
description: "Read another Session's conversation (user + agent turns), most-recent first-capped. Use to see exactly how a past request was phrased and iterated before replaying it for a new goal. Compact truncates long messages; add --full for verbatim text. Read-only.",
|
|
153
|
-
args: {
|
|
154
|
-
id: { type: "positional", description: "The Session id", required: true },
|
|
155
|
-
limit: { type: "string", description: "Max messages to return, 1-1000 (default: 100)", required: false },
|
|
156
|
-
full: {
|
|
157
|
-
type: "boolean",
|
|
158
|
-
description: "Return verbatim (untruncated) message text",
|
|
159
|
-
required: false,
|
|
160
|
-
default: false
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
});
|
|
164
|
-
var transcriptCommand = defineCommand({
|
|
165
|
-
meta: { name: "transcript", description: "Read another Session's conversation." },
|
|
166
|
-
args: {
|
|
167
|
-
id: { type: "positional", description: "The Session id", required: true },
|
|
168
|
-
limit: { type: "string", description: "Max messages (1-1000, default 100)", required: false },
|
|
169
|
-
full: { type: "boolean", description: "Verbatim message text", required: false, default: false }
|
|
170
|
-
},
|
|
171
|
-
run: async ({ args }) => {
|
|
172
|
-
try {
|
|
173
|
-
const body = { chatId: args.id };
|
|
174
|
-
const limit = parseBoundedInt(args.limit, "limit", 1, 1e3);
|
|
175
|
-
if (limit !== void 0) {
|
|
176
|
-
body.limit = limit;
|
|
177
|
-
}
|
|
178
|
-
if (args.full) {
|
|
179
|
-
body.full = true;
|
|
180
|
-
}
|
|
181
|
-
const response = await apiPost("/api/chats/transcript", body);
|
|
182
|
-
writeJson({
|
|
183
|
-
...response,
|
|
184
|
-
meta: { count: response.data.entries.length },
|
|
185
|
-
...response.data.truncated ? { hints: ["Older messages were dropped to fit --limit. Raise --limit to see more."] } : {}
|
|
186
|
-
});
|
|
187
|
-
} catch (err) {
|
|
188
|
-
failApi(err);
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
});
|
|
192
|
-
registerSchema({
|
|
193
|
-
command: "chats.diff",
|
|
194
|
-
description: "See the real file-level changes a Session made (landings, creatives, brand, flows, knowledge). Published Sessions read from git; for an in-progress (unpublished) Session pass --live to read its changes straight from its running workspace. Without --live, an unpublished Session returns available:false \u2014 use `baker chats view` for the staged summary. Compact lists changed files with +/- counts; add --full for the actual diff text. Read-only.",
|
|
195
|
-
args: {
|
|
196
|
-
id: { type: "positional", description: "The Session id", required: true },
|
|
197
|
-
surface: {
|
|
198
|
-
type: "string",
|
|
199
|
-
description: "Filter to one surface: knowledge|company|brand|landings|flows|creatives",
|
|
200
|
-
required: false
|
|
201
|
-
},
|
|
202
|
-
full: {
|
|
203
|
-
type: "boolean",
|
|
204
|
-
description: "Include the unified-diff patch text per file",
|
|
205
|
-
required: false,
|
|
206
|
-
default: false
|
|
207
|
-
},
|
|
208
|
-
live: {
|
|
209
|
-
type: "boolean",
|
|
210
|
-
description: "For an in-progress Session, read its changes from the live workspace (slower; resumes the paused Runtime). Ignored for published Sessions.",
|
|
211
|
-
required: false,
|
|
212
|
-
default: false
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
});
|
|
216
|
-
var diffCommand = defineCommand({
|
|
217
|
-
meta: { name: "diff", description: "See a published Session's real file-level changes." },
|
|
218
|
-
args: {
|
|
219
|
-
id: { type: "positional", description: "The Session id", required: true },
|
|
220
|
-
surface: {
|
|
221
|
-
type: "string",
|
|
222
|
-
description: "Filter: knowledge|company|brand|landings|flows|creatives",
|
|
223
|
-
required: false
|
|
224
|
-
},
|
|
225
|
-
full: { type: "boolean", description: "Include the diff patch text per file", required: false, default: false },
|
|
226
|
-
live: {
|
|
227
|
-
type: "boolean",
|
|
228
|
-
description: "Read an in-progress Session's changes from its live workspace (slower)",
|
|
229
|
-
required: false,
|
|
230
|
-
default: false
|
|
231
|
-
}
|
|
232
|
-
},
|
|
233
|
-
run: async ({ args }) => {
|
|
234
|
-
try {
|
|
235
|
-
const body = { chatId: args.id };
|
|
236
|
-
if (args.surface) {
|
|
237
|
-
if (!REPO_SURFACES.includes(args.surface)) {
|
|
238
|
-
throw new Error(`--surface must be one of: ${REPO_SURFACES.join("|")}`);
|
|
239
|
-
}
|
|
240
|
-
body.surface = args.surface;
|
|
241
|
-
}
|
|
242
|
-
if (args.full) {
|
|
243
|
-
body.full = true;
|
|
244
|
-
}
|
|
245
|
-
if (args.live) {
|
|
246
|
-
body.live = true;
|
|
247
|
-
}
|
|
248
|
-
const response = await apiPost("/api/chats/diff", body);
|
|
249
|
-
writeJson({
|
|
250
|
-
...response,
|
|
251
|
-
meta: { count: response.data.files.length },
|
|
252
|
-
...!response.data.available && response.data.reason ? { hints: [response.data.reason] } : {},
|
|
253
|
-
...response.data.available && !args.full && response.data.files.length > 0 ? { hints: ["Add --full to read the actual diff text for each file."] } : {}
|
|
254
|
-
});
|
|
255
|
-
} catch (err) {
|
|
256
|
-
failApi(err);
|
|
257
|
-
}
|
|
258
|
-
}
|
|
259
|
-
});
|
|
260
|
-
var chatsCommand = defineCommand({
|
|
261
|
-
meta: {
|
|
262
|
-
name: "chats",
|
|
263
|
-
description: `Inspect other Sessions on this account (read-only): list them, view what they produced, read their conversation, and see their real file changes \u2014 so you can reuse past work for a new goal.
|
|
264
|
-
Full guide: __tooling__/docs/tools/baker/chats.md`
|
|
265
|
-
},
|
|
266
|
-
subCommands: {
|
|
267
|
-
list: listCommand,
|
|
268
|
-
view: viewCommand,
|
|
269
|
-
transcript: transcriptCommand,
|
|
270
|
-
diff: diffCommand
|
|
271
|
-
}
|
|
272
|
-
});
|
|
273
|
-
export {
|
|
274
|
-
chatsCommand
|
|
275
|
-
};
|
|
276
|
-
//# sourceMappingURL=chats-7WGC2CVW.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/commands/chats/index.ts","../src/commands/chats/publish-hints.ts"],"sourcesContent":["import type { ChatsDiffResponse, ChatsListResponse, ChatsTranscriptResponse, ChatsViewResponse } from \"@baker/api\";\nimport { defineCommand } from \"citty\";\nimport { apiPost } from \"../../client.ts\";\nimport { getEnv } from \"../../env.ts\";\nimport { writeJson } from \"../../output.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport { failApi } from \"../actions/shared.ts\";\nimport { publishHints } from \"./publish-hints.ts\";\n\nconst STATUS_GROUPS = [\"active\", \"archived\", \"all\"] as const;\nconst REPO_SURFACES = [\"knowledge\", \"company\", \"brand\", \"landings\", \"flows\", \"creatives\"] as const;\n\nfunction parseBoundedInt(raw: string | undefined, name: string, min: number, max: number): number | undefined {\n if (raw === undefined) {\n return undefined;\n }\n const value = Number.parseInt(raw, 10);\n if (Number.isNaN(value) || value < min || value > max) {\n throw new Error(`--${name} must be an integer between ${min} and ${max}`);\n }\n return value;\n}\n\nregisterSchema({\n command: \"chats.list\",\n description:\n \"Start here: list other Sessions on this account (newest first) so you can reuse what was done before. Each row shows the Session id, title, status, and a count of what it produced (creatives, landings, actions, flows, reports…). Then drill in with `baker chats view <id>`, `baker chats transcript <id>`, or `baker chats diff <id>`. Read-only.\",\n args: {\n status: { type: \"string\", description: \"Filter: active|archived|all (default: all)\", required: false },\n limit: { type: \"string\", description: \"Max Sessions to return, 1-100 (default: 20)\", required: false },\n full: { type: \"boolean\", description: \"Include each Session's full change list\", required: false, default: false },\n },\n});\n\nconst listCommand = defineCommand({\n meta: { name: \"list\", description: \"List other Sessions on this account, newest first.\" },\n args: {\n status: { type: \"string\", description: \"Filter: active|archived|all (default: all)\", required: false },\n limit: { type: \"string\", description: \"Max Sessions (1-100, default 20)\", required: false },\n full: { type: \"boolean\", description: \"Include each Session's full change list\", required: false, default: false },\n },\n run: async ({ args }) => {\n try {\n const body: Record<string, unknown> = {};\n if (args.status) {\n if (!(STATUS_GROUPS as readonly string[]).includes(args.status)) {\n throw new Error(`--status must be one of: ${STATUS_GROUPS.join(\"|\")}`);\n }\n body.status = args.status;\n }\n const limit = parseBoundedInt(args.limit, \"limit\", 1, 100);\n if (limit !== undefined) {\n body.limit = limit;\n }\n if (args.full) {\n body.full = true;\n }\n // Exclude our own Session so we never list ourselves as a reusable \"other\".\n const selfChatId = getEnv().BAKER_CHAT_ID;\n if (selfChatId) {\n body.excludeChatId = selfChatId;\n }\n const response = await apiPost<ChatsListResponse>(\"/api/chats/list\", body);\n writeJson({\n ...response,\n meta: { count: response.data.chats.length },\n ...(response.data.chats.length === 0\n ? { hints: [\"No Sessions matched. Widen with --status all or a larger --limit.\"] }\n : {\n hints: [\n \"Drill in: `baker chats view <id>` for outputs, `chats transcript <id>` for the conversation, `chats diff <id>` for the real file changes.\",\n ],\n }),\n });\n } catch (err) {\n failApi(err);\n }\n },\n});\n\nregisterSchema({\n command: \"chats.view\",\n description:\n \"Inspect one Session's FULL picture of what it changed — the unified `effects`: git content (landings, creatives, flows, knowledge, brand), plus DB-only effects that never touch the repo — Actions, Scheduled agents, Tags, Tag Manager, Google Analytics, ad-platform writes, the funnel (`funnel`: which steps it added, changed or removed, and which ways in it added or removed in `triggersAdded`/`triggersRemoved`), what counts as a conversion (`conversions`), conversion sends, event sources, and every other staged or already-applied change (`otherChanges`: A/B tests, recipes, library images) — each resolved to real detail (names, descriptions, priorities, tag types, ad operations) and, once published, its `outcome`. Also `publish` (what each external surface actually did, with the provider's own error), `activity` (the chat's own timeline: status changes, publish start/fail, workspace recoveries, timeouts), `usage` (per-thread cost and the Session's token totals), the kickoff (how it was asked), threads, and commits. Effects are `staged` (in-progress draft) or applied. A completed Session is NOT proof its external changes landed — read `publish`. Use after `baker chats list` to decide whether to reuse it. Read-only.\",\n args: {\n id: { type: \"positional\", description: \"The Session id (from `baker chats list`)\", required: true },\n full: {\n type: \"boolean\",\n description: \"Untruncated effect lists and full activity metadata (compact caps each list at 25)\",\n required: false,\n default: false,\n },\n },\n});\n\nconst viewCommand = defineCommand({\n meta: {\n name: \"view\",\n description: \"Inspect one Session's full effects — git content + actions/tags/ads, kickoff, commits.\",\n },\n args: {\n id: { type: \"positional\", description: \"The Session id\", required: true },\n full: { type: \"boolean\", description: \"Include full detail\", required: false, default: false },\n },\n run: async ({ args }) => {\n try {\n const response = await apiPost<ChatsViewResponse>(\"/api/chats/view\", {\n chatId: args.id,\n ...(args.full ? { full: true } : {}),\n });\n const hints: string[] = response.data.publish ? publishHints(response.data.publish) : [];\n if (response.data.diffAvailable) {\n hints.push(\"See the real file-level diff of the git content with `baker chats diff <id> --full`.\");\n } else if (response.data.status === \"in_progress\" || response.data.status === \"publishing\") {\n hints.push(\n \"This Session is still in progress — read its current file changes with `baker chats diff <id> --live`.\",\n );\n }\n hints.push(\"Read the conversation with `baker chats transcript <id>`.\");\n writeJson({ ...response, hints });\n } catch (err) {\n failApi(err);\n }\n },\n});\n\nregisterSchema({\n command: \"chats.transcript\",\n description:\n \"Read another Session's conversation (user + agent turns), most-recent first-capped. Use to see exactly how a past request was phrased and iterated before replaying it for a new goal. Compact truncates long messages; add --full for verbatim text. Read-only.\",\n args: {\n id: { type: \"positional\", description: \"The Session id\", required: true },\n limit: { type: \"string\", description: \"Max messages to return, 1-1000 (default: 100)\", required: false },\n full: {\n type: \"boolean\",\n description: \"Return verbatim (untruncated) message text\",\n required: false,\n default: false,\n },\n },\n});\n\nconst transcriptCommand = defineCommand({\n meta: { name: \"transcript\", description: \"Read another Session's conversation.\" },\n args: {\n id: { type: \"positional\", description: \"The Session id\", required: true },\n limit: { type: \"string\", description: \"Max messages (1-1000, default 100)\", required: false },\n full: { type: \"boolean\", description: \"Verbatim message text\", required: false, default: false },\n },\n run: async ({ args }) => {\n try {\n const body: Record<string, unknown> = { chatId: args.id };\n const limit = parseBoundedInt(args.limit, \"limit\", 1, 1000);\n if (limit !== undefined) {\n body.limit = limit;\n }\n if (args.full) {\n body.full = true;\n }\n const response = await apiPost<ChatsTranscriptResponse>(\"/api/chats/transcript\", body);\n writeJson({\n ...response,\n meta: { count: response.data.entries.length },\n ...(response.data.truncated\n ? { hints: [\"Older messages were dropped to fit --limit. Raise --limit to see more.\"] }\n : {}),\n });\n } catch (err) {\n failApi(err);\n }\n },\n});\n\nregisterSchema({\n command: \"chats.diff\",\n description:\n \"See the real file-level changes a Session made (landings, creatives, brand, flows, knowledge). Published Sessions read from git; for an in-progress (unpublished) Session pass --live to read its changes straight from its running workspace. Without --live, an unpublished Session returns available:false — use `baker chats view` for the staged summary. Compact lists changed files with +/- counts; add --full for the actual diff text. Read-only.\",\n args: {\n id: { type: \"positional\", description: \"The Session id\", required: true },\n surface: {\n type: \"string\",\n description: \"Filter to one surface: knowledge|company|brand|landings|flows|creatives\",\n required: false,\n },\n full: {\n type: \"boolean\",\n description: \"Include the unified-diff patch text per file\",\n required: false,\n default: false,\n },\n live: {\n type: \"boolean\",\n description:\n \"For an in-progress Session, read its changes from the live workspace (slower; resumes the paused Runtime). Ignored for published Sessions.\",\n required: false,\n default: false,\n },\n },\n});\n\nconst diffCommand = defineCommand({\n meta: { name: \"diff\", description: \"See a published Session's real file-level changes.\" },\n args: {\n id: { type: \"positional\", description: \"The Session id\", required: true },\n surface: {\n type: \"string\",\n description: \"Filter: knowledge|company|brand|landings|flows|creatives\",\n required: false,\n },\n full: { type: \"boolean\", description: \"Include the diff patch text per file\", required: false, default: false },\n live: {\n type: \"boolean\",\n description: \"Read an in-progress Session's changes from its live workspace (slower)\",\n required: false,\n default: false,\n },\n },\n run: async ({ args }) => {\n try {\n const body: Record<string, unknown> = { chatId: args.id };\n if (args.surface) {\n if (!(REPO_SURFACES as readonly string[]).includes(args.surface)) {\n throw new Error(`--surface must be one of: ${REPO_SURFACES.join(\"|\")}`);\n }\n body.surface = args.surface;\n }\n if (args.full) {\n body.full = true;\n }\n if (args.live) {\n body.live = true;\n }\n const response = await apiPost<ChatsDiffResponse>(\"/api/chats/diff\", body);\n writeJson({\n ...response,\n meta: { count: response.data.files.length },\n ...(!response.data.available && response.data.reason ? { hints: [response.data.reason] } : {}),\n ...(response.data.available && !args.full && response.data.files.length > 0\n ? { hints: [\"Add --full to read the actual diff text for each file.\"] }\n : {}),\n });\n } catch (err) {\n failApi(err);\n }\n },\n});\n\nexport const chatsCommand = defineCommand({\n meta: {\n name: \"chats\",\n description: `Inspect other Sessions on this account (read-only): list them, view what they produced, read their conversation, and see their real file changes — so you can reuse past work for a new goal.\nFull guide: __tooling__/docs/tools/baker/chats.md`,\n },\n subCommands: {\n list: listCommand,\n view: viewCommand,\n transcript: transcriptCommand,\n diff: diffCommand,\n },\n});\n","import type { ChatPublishSummary } from \"@baker/api/chats\";\n\n/**\n * What a reader must not conclude from a completed Session: that it published\n * everything it staged (better than one published draft in three did not), or\n * that every change it sent is now what the platform holds.\n */\nexport function publishHints(publish: ChatPublishSummary): string[] {\n const hints: string[] = [];\n if (!publish.complete) {\n const failed = publish.failedTotal;\n hints.push(\n `This Session's publish left ${failed} change${failed === 1 ? \"\" : \"s\"} behind — see \\`publish.surfaces\\` for the platform's own words. Do not report those changes as live.`,\n );\n }\n const unconfirmed = publish.unconfirmedTotal ?? 0;\n if (unconfirmed > 0) {\n hints.push(\n `${unconfirmed} change${unconfirmed === 1 ? \"\" : \"s\"} went through but could not be confirmed when read back from the platform — \\`publish.surfaces[].unconfirmedChanges\\` says what it shows instead. Check before reporting them as done.`,\n );\n }\n return hints;\n}\n"],"mappings":"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","names":[]}
|
package/dist/check-EH6BXWWL.js
DELETED
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
readAdWords,
|
|
3
|
-
ruleRefusal
|
|
4
|
-
} from "./chunk-I7J7YQXZ.js";
|
|
5
|
-
import "./chunk-PHCIFBP3.js";
|
|
6
|
-
import "./chunk-QG4MW2V4.js";
|
|
7
|
-
import {
|
|
8
|
-
readAllRules
|
|
9
|
-
} from "./chunk-NKIBXOHT.js";
|
|
10
|
-
import {
|
|
11
|
-
ruleTells
|
|
12
|
-
} from "./chunk-Y46FE75E.js";
|
|
13
|
-
import "./chunk-3S274625.js";
|
|
14
|
-
import "./chunk-UFKO626N.js";
|
|
15
|
-
import {
|
|
16
|
-
findWorkspaceRoot
|
|
17
|
-
} from "./chunk-XRIM7NYV.js";
|
|
18
|
-
import "./chunk-FKYPAGKK.js";
|
|
19
|
-
import {
|
|
20
|
-
selectRules
|
|
21
|
-
} from "./chunk-S4VLLGTW.js";
|
|
22
|
-
import "./chunk-MCJ5I5LR.js";
|
|
23
|
-
import {
|
|
24
|
-
marketFromCompanyDoc
|
|
25
|
-
} from "./chunk-2WZI36D3.js";
|
|
26
|
-
import "./chunk-65Y3RCWP.js";
|
|
27
|
-
import "./chunk-A6WKCV3V.js";
|
|
28
|
-
import "./chunk-U7YR5CZL.js";
|
|
29
|
-
import "./chunk-VI5YQQ63.js";
|
|
30
|
-
import "./chunk-JX7BX2NB.js";
|
|
31
|
-
import "./chunk-DAO63OOP.js";
|
|
32
|
-
import "./chunk-GXDLWBOY.js";
|
|
33
|
-
import "./chunk-GIWHHCD6.js";
|
|
34
|
-
import "./chunk-XQIOCIDO.js";
|
|
35
|
-
import "./chunk-WTJSMYY2.js";
|
|
36
|
-
import "./chunk-6YLNY6CK.js";
|
|
37
|
-
import "./chunk-D5NEIESR.js";
|
|
38
|
-
import "./chunk-57KKVDDR.js";
|
|
39
|
-
import {
|
|
40
|
-
registerSchema,
|
|
41
|
-
writeJson
|
|
42
|
-
} from "./chunk-QANGHND7.js";
|
|
43
|
-
import "./chunk-YQSBHWOI.js";
|
|
44
|
-
|
|
45
|
-
// src/commands/creatives/check.ts
|
|
46
|
-
import { readdir, readFile } from "fs/promises";
|
|
47
|
-
import path from "path";
|
|
48
|
-
import { defineCommand } from "citty";
|
|
49
|
-
var DESCRIPTION = `Read every creative already made against the company's rules as they stand now: which ads say words a rule bans, or leave out words a rule requires. Run it after adding a rule (\`baker creatives rules add\`); nothing is re-rendered or marked stale, so ask the person which ads to correct.
|
|
50
|
-
Start here: baker creatives check
|
|
51
|
-
baker creatives check --slug mba-ia-online # one creative`;
|
|
52
|
-
var ARGS = {
|
|
53
|
-
slug: { type: "string", description: "One creative (src/creatives/<slug>/); left out, every one", required: false }
|
|
54
|
-
};
|
|
55
|
-
registerSchema({ command: "creatives.check", description: DESCRIPTION, args: ARGS });
|
|
56
|
-
function checkCreatives(ads, rules, companyLanguage) {
|
|
57
|
-
const breaking = ads.flatMap(({ slug, ad }) => {
|
|
58
|
-
const held = selectRules(
|
|
59
|
-
rules,
|
|
60
|
-
{
|
|
61
|
-
kind: ad.kind,
|
|
62
|
-
...ad.product ? { product: ad.product } : {},
|
|
63
|
-
...ad.platform ? { platform: ad.platform } : {},
|
|
64
|
-
...ad.platforms ? { platforms: ad.platforms } : {}
|
|
65
|
-
},
|
|
66
|
-
ad.waived
|
|
67
|
-
);
|
|
68
|
-
const refusal = ruleRefusal(ruleTells(ad.lines, held, ad.language ?? companyLanguage));
|
|
69
|
-
return refusal ? [{ creative: slug, broken: refusal.problems }] : [];
|
|
70
|
-
});
|
|
71
|
-
return { checked: ads.length, breaking };
|
|
72
|
-
}
|
|
73
|
-
async function readAds(root, slug) {
|
|
74
|
-
const dir = path.join(root, "src", "creatives");
|
|
75
|
-
const slugs = slug ? [slug] : (await readdir(dir, { withFileTypes: true }).catch(() => [])).filter((e) => e.isDirectory() && !e.name.startsWith("_")).map((e) => e.name).sort();
|
|
76
|
-
const ads = await Promise.all(slugs.map(async (s) => ({ slug: s, ad: await readAdWords(path.join(dir, s)) })));
|
|
77
|
-
return ads.flatMap(({ slug: s, ad }) => ad ? [{ slug: s, ad }] : []);
|
|
78
|
-
}
|
|
79
|
-
var checkCommand = defineCommand({
|
|
80
|
-
meta: { name: "check", description: DESCRIPTION },
|
|
81
|
-
args: ARGS,
|
|
82
|
-
async run({ args }) {
|
|
83
|
-
const root = findWorkspaceRoot(process.cwd()) ?? process.cwd();
|
|
84
|
-
const slug = typeof args.slug === "string" && args.slug ? args.slug : void 0;
|
|
85
|
-
const [ads, rules, companyDoc] = await Promise.all([
|
|
86
|
-
readAds(root, slug),
|
|
87
|
-
readAllRules(root),
|
|
88
|
-
readFile(path.join(root, "COMPANY.md"), "utf8").catch(() => null)
|
|
89
|
-
]);
|
|
90
|
-
const report = checkCreatives(ads, rules, marketFromCompanyDoc(companyDoc)?.language);
|
|
91
|
-
writeJson({
|
|
92
|
-
ok: true,
|
|
93
|
-
data: report,
|
|
94
|
-
hints: report.breaking.length > 0 ? [
|
|
95
|
-
`${report.breaking.length} of ${report.checked} ads break a rule now in force. Tell the person which, and correct only the ones they want: edit the words in that ad's prompt.json and run it again, or waive the rule there if the person asked for those words.`
|
|
96
|
-
] : [`None of the ${report.checked} ads breaks a wording rule now in force.`]
|
|
97
|
-
});
|
|
98
|
-
}
|
|
99
|
-
});
|
|
100
|
-
export {
|
|
101
|
-
checkCommand,
|
|
102
|
-
checkCreatives
|
|
103
|
-
};
|
|
104
|
-
//# sourceMappingURL=check-EH6BXWWL.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/commands/creatives/check.ts"],"sourcesContent":["/**\n * `baker creatives check`: the ads already made, read against the company's rules as they stand\n * now. After a rule is added it says which existing ads break it, deterministically (the words\n * a rule bans or requires), so nothing is marked stale and nothing re-renders: the person decides\n * which to correct.\n */\nimport { readdir, readFile } from \"node:fs/promises\";\nimport path from \"node:path\";\nimport { defineCommand } from \"citty\";\nimport { ruleTells } from \"../../engine/copy-tells/rule-tells.ts\";\nimport { type AdWords, readAdWords } from \"../../engine/creative-context/ad-words.ts\";\nimport { readAllRules } from \"../../engine/creative-context/index.ts\";\nimport type { CreativeRule } from \"../../engine/creative-rules/schema.ts\";\nimport { selectRules } from \"../../engine/creative-rules/select.ts\";\nimport { writeJson } from \"../../output.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport { marketFromCompanyDoc } from \"../../viewer-profile.ts\";\nimport { findWorkspaceRoot } from \"../canvas/normalize-paths.ts\";\nimport { ruleRefusal } from \"../canvas/rule-gate.ts\";\n\nconst DESCRIPTION = `Read every creative already made against the company's rules as they stand now: which ads say words a rule bans, or leave out words a rule requires. Run it after adding a rule (\\`baker creatives rules add\\`); nothing is re-rendered or marked stale, so ask the person which ads to correct.\nStart here: baker creatives check\n baker creatives check --slug mba-ia-online # one creative`;\n\nconst ARGS = {\n slug: { type: \"string\", description: \"One creative (src/creatives/<slug>/); left out, every one\", required: false },\n} as const;\n\nregisterSchema({ command: \"creatives.check\", description: DESCRIPTION, args: ARGS });\n\nexport type CheckReport = { checked: number; breaking: Array<{ creative: string; broken: string[] }> };\n\n/** Each ad that breaks a rule holding for it, with what it breaks. Pure. */\nexport function checkCreatives(\n ads: ReadonlyArray<{ slug: string; ad: AdWords }>,\n rules: readonly CreativeRule[],\n companyLanguage: string | undefined,\n): CheckReport {\n const breaking = ads.flatMap(({ slug, ad }) => {\n const held = selectRules(\n rules,\n {\n kind: ad.kind,\n ...(ad.product ? { product: ad.product } : {}),\n ...(ad.platform ? { platform: ad.platform } : {}),\n ...(ad.platforms ? { platforms: ad.platforms } : {}),\n },\n ad.waived,\n );\n const refusal = ruleRefusal(ruleTells(ad.lines, held, ad.language ?? companyLanguage));\n return refusal ? [{ creative: slug, broken: refusal.problems }] : [];\n });\n return { checked: ads.length, breaking };\n}\n\n/** Every creative folder's words, or the one named. */\nasync function readAds(root: string, slug?: string): Promise<Array<{ slug: string; ad: AdWords }>> {\n const dir = path.join(root, \"src\", \"creatives\");\n const slugs = slug\n ? [slug]\n : (await readdir(dir, { withFileTypes: true }).catch(() => []))\n .filter((e) => e.isDirectory() && !e.name.startsWith(\"_\"))\n .map((e) => e.name)\n .sort();\n const ads = await Promise.all(slugs.map(async (s) => ({ slug: s, ad: await readAdWords(path.join(dir, s)) })));\n return ads.flatMap(({ slug: s, ad }) => (ad ? [{ slug: s, ad }] : []));\n}\n\nexport const checkCommand = defineCommand({\n meta: { name: \"check\", description: DESCRIPTION },\n args: ARGS,\n async run({ args }) {\n const root = findWorkspaceRoot(process.cwd()) ?? process.cwd();\n const slug = typeof args.slug === \"string\" && args.slug ? args.slug : undefined;\n const [ads, rules, companyDoc] = await Promise.all([\n readAds(root, slug),\n readAllRules(root),\n readFile(path.join(root, \"COMPANY.md\"), \"utf8\").catch(() => null),\n ]);\n const report = checkCreatives(ads, rules, marketFromCompanyDoc(companyDoc)?.language);\n writeJson({\n ok: true,\n data: report,\n hints:\n report.breaking.length > 0\n ? [\n `${report.breaking.length} of ${report.checked} ads break a rule now in force. Tell the person which, and correct only the ones they want: edit the words in that ad's prompt.json and run it again, or waive the rule there if the person asked for those words.`,\n ]\n : [`None of the ${report.checked} ads breaks a wording rule now in force.`],\n });\n },\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,SAAS,SAAS,gBAAgB;AAClC,OAAO,UAAU;AACjB,SAAS,qBAAqB;AAY9B,IAAM,cAAc;AAAA;AAAA;AAIpB,IAAM,OAAO;AAAA,EACX,MAAM,EAAE,MAAM,UAAU,aAAa,6DAA6D,UAAU,MAAM;AACpH;AAEA,eAAe,EAAE,SAAS,mBAAmB,aAAa,aAAa,MAAM,KAAK,CAAC;AAK5E,SAAS,eACd,KACA,OACA,iBACa;AACb,QAAM,WAAW,IAAI,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM;AAC7C,UAAM,OAAO;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM,GAAG;AAAA,QACT,GAAI,GAAG,UAAU,EAAE,SAAS,GAAG,QAAQ,IAAI,CAAC;AAAA,QAC5C,GAAI,GAAG,WAAW,EAAE,UAAU,GAAG,SAAS,IAAI,CAAC;AAAA,QAC/C,GAAI,GAAG,YAAY,EAAE,WAAW,GAAG,UAAU,IAAI,CAAC;AAAA,MACpD;AAAA,MACA,GAAG;AAAA,IACL;AACA,UAAM,UAAU,YAAY,UAAU,GAAG,OAAO,MAAM,GAAG,YAAY,eAAe,CAAC;AACrF,WAAO,UAAU,CAAC,EAAE,UAAU,MAAM,QAAQ,QAAQ,SAAS,CAAC,IAAI,CAAC;AAAA,EACrE,CAAC;AACD,SAAO,EAAE,SAAS,IAAI,QAAQ,SAAS;AACzC;AAGA,eAAe,QAAQ,MAAc,MAA8D;AACjG,QAAM,MAAM,KAAK,KAAK,MAAM,OAAO,WAAW;AAC9C,QAAM,QAAQ,OACV,CAAC,IAAI,KACJ,MAAM,QAAQ,KAAK,EAAE,eAAe,KAAK,CAAC,EAAE,MAAM,MAAM,CAAC,CAAC,GACxD,OAAO,CAAC,MAAM,EAAE,YAAY,KAAK,CAAC,EAAE,KAAK,WAAW,GAAG,CAAC,EACxD,IAAI,CAAC,MAAM,EAAE,IAAI,EACjB,KAAK;AACZ,QAAM,MAAM,MAAM,QAAQ,IAAI,MAAM,IAAI,OAAO,OAAO,EAAE,MAAM,GAAG,IAAI,MAAM,YAAY,KAAK,KAAK,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;AAC7G,SAAO,IAAI,QAAQ,CAAC,EAAE,MAAM,GAAG,GAAG,MAAO,KAAK,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,CAAE;AACvE;AAEO,IAAM,eAAe,cAAc;AAAA,EACxC,MAAM,EAAE,MAAM,SAAS,aAAa,YAAY;AAAA,EAChD,MAAM;AAAA,EACN,MAAM,IAAI,EAAE,KAAK,GAAG;AAClB,UAAM,OAAO,kBAAkB,QAAQ,IAAI,CAAC,KAAK,QAAQ,IAAI;AAC7D,UAAM,OAAO,OAAO,KAAK,SAAS,YAAY,KAAK,OAAO,KAAK,OAAO;AACtE,UAAM,CAAC,KAAK,OAAO,UAAU,IAAI,MAAM,QAAQ,IAAI;AAAA,MACjD,QAAQ,MAAM,IAAI;AAAA,MAClB,aAAa,IAAI;AAAA,MACjB,SAAS,KAAK,KAAK,MAAM,YAAY,GAAG,MAAM,EAAE,MAAM,MAAM,IAAI;AAAA,IAClE,CAAC;AACD,UAAM,SAAS,eAAe,KAAK,OAAO,qBAAqB,UAAU,GAAG,QAAQ;AACpF,cAAU;AAAA,MACR,IAAI;AAAA,MACJ,MAAM;AAAA,MACN,OACE,OAAO,SAAS,SAAS,IACrB;AAAA,QACE,GAAG,OAAO,SAAS,MAAM,OAAO,OAAO,OAAO;AAAA,MAChD,IACA,CAAC,eAAe,OAAO,OAAO,0CAA0C;AAAA,IAChF,CAAC;AAAA,EACH;AACF,CAAC;","names":[]}
|