@koda-sl/baker-cli 0.546.0-dev.e8b0ca6de → 0.547.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 +3 -18
- package/dist/account-2HJ4GKHN.js +82 -0
- package/dist/account-MTMCQQYH.js +82 -0
- package/dist/account-reads-X36NPCX5.js +219 -0
- package/dist/account-users-FJ63HUJT.js +64 -0
- package/dist/account-writes-FZ3KCJZY.js +68 -0
- package/dist/accounts-PU2GGSH4.js +701 -0
- package/dist/accounts-VYQINKID.js +80 -0
- package/dist/actions-NKCYYR7Q.js +55 -0
- package/dist/activecampaign-LQHDIHN5.js +938 -0
- package/dist/ad-group-writes-XGG3WQEO.js +172 -0
- package/dist/ad-groups-GZIPUN64.js +70 -0
- package/dist/ad-writes-2VTRWQLW.js +176 -0
- package/dist/add-6EHN5G6X.js +107 -0
- package/dist/add-HLBKTI3H.js +305 -0
- package/dist/ads-CWXQLZCC.js +48 -0
- package/dist/ads-LNWALF6G.js +79 -0
- package/dist/advertisers-YMIPR2QG.js +123 -0
- package/dist/analytics-37M6Z37U.js +2437 -0
- package/dist/analytics-6VAB2VYM.js +447 -0
- package/dist/animate-DM4OUJMR.js +480 -0
- package/dist/assign-V25HMGMU.js +80 -0
- package/dist/audience-size-FKNAK4QD.js +76 -0
- package/dist/audiences-7D5VPOWF.js +280 -0
- package/dist/audit-6VVUMMYL.js +154 -0
- package/dist/autocomplete-NETVGJRC.js +114 -0
- package/dist/avatars-HH4LOUA3.js +38 -0
- package/dist/bid-pricing-SCTUSHFI.js +103 -0
- package/dist/brand-FTPQYYDU.js +22 -0
- package/dist/brief-MCKNRSWM.js +543 -0
- package/dist/campaign-groups-ZNKBTXPV.js +99 -0
- package/dist/campaign-writes-5TWXZ44R.js +168 -0
- package/dist/campaign-writes-H22P6YPW.js +176 -0
- package/dist/campaigns-265JXD2Z.js +78 -0
- package/dist/campaigns-E64SHT67.js +111 -0
- package/dist/campaigns-GYNO5P22.js +113 -0
- package/dist/canvas-E4ZT2K7I.js +46 -0
- package/dist/capabilities-RVNBW4OL.js +147 -0
- package/dist/catalog-DPUQBZZ7.js +66 -0
- package/dist/catalogs-SBXFAD3X.js +130 -0
- package/dist/changes-HXVZUJMH.js +143 -0
- package/dist/chatgpt-UXJPCGZU.js +47 -0
- package/dist/chats-4SQSGOFC.js +449 -0
- package/dist/check-4WC2RLDR.js +107 -0
- package/dist/chunk-3I66ZQTI.js +203 -0
- package/dist/chunk-3SEXQVMX.js +91 -0
- package/dist/chunk-4D73PLXU.js +843 -0
- package/dist/chunk-4EGXO63N.js +479 -0
- package/dist/chunk-4S5ZAG4S.js +63 -0
- package/dist/chunk-5UEBOBLO.js +170 -0
- package/dist/chunk-6FLUNQHT.js +91 -0
- package/dist/chunk-6I7N2WYU.js +19 -0
- package/dist/chunk-6KWT3Z35.js +103 -0
- package/dist/chunk-AI2SKWZE.js +197 -0
- package/dist/chunk-ANV42DGJ.js +455 -0
- package/dist/chunk-AYEWXTSF.js +392 -0
- package/dist/chunk-CKIDKN6H.js +191 -0
- package/dist/chunk-D4NK7SPT.js +930 -0
- package/dist/chunk-DNZVBP2W.js +61 -0
- package/dist/chunk-DYTBVVQX.js +679 -0
- package/dist/chunk-DYTBVVQX.js.map +1 -0
- package/dist/chunk-EBWOLUII.js +24026 -0
- package/dist/chunk-EBWOLUII.js.map +1 -0
- package/dist/chunk-EH34RWKR.js +604 -0
- package/dist/chunk-EOMY5SUJ.js +783 -0
- package/dist/chunk-EQAEWL6A.js +547 -0
- package/dist/chunk-F5UU5PAE.js +494 -0
- package/dist/chunk-FVDC6AKZ.js +150 -0
- package/dist/chunk-G4VG6ZV3.js +430 -0
- package/dist/chunk-G4VG6ZV3.js.map +1 -0
- package/dist/chunk-GEQUWPAX.js +715 -0
- package/dist/chunk-GEQUWPAX.js.map +1 -0
- package/dist/chunk-GN7K3NPI.js +148 -0
- package/dist/chunk-H6CS7VSO.js +1902 -0
- package/dist/chunk-HBDWE7WK.js +98 -0
- package/dist/chunk-I6JPTDKR.js +377 -0
- package/dist/chunk-IGIACW2B.js +207 -0
- package/dist/chunk-IRINY4B2.js +2209 -0
- package/dist/chunk-J4JY435Z.js +438 -0
- package/dist/chunk-JAC6JVCI.js +26 -0
- package/dist/chunk-JLLGXYOZ.js +857 -0
- package/dist/chunk-JY3OJBKZ.js +3510 -0
- package/dist/chunk-KIXVHP2C.js +1919 -0
- package/dist/chunk-LODEDXCD.js +156 -0
- package/dist/chunk-MCJ5I5LR.js +3187 -0
- package/dist/chunk-MCJ5I5LR.js.map +1 -0
- package/dist/chunk-MEK7SMWO.js +685 -0
- package/dist/chunk-MELSTI6W.js +66 -0
- package/dist/chunk-MLJKPUWP.js +191 -0
- package/dist/chunk-MLJKPUWP.js.map +1 -0
- package/dist/chunk-MSMTG6OC.js +4269 -0
- package/dist/chunk-MSMTG6OC.js.map +1 -0
- package/dist/chunk-MZPS46OR.js +76 -0
- package/dist/chunk-NBWZVBDG.js +131 -0
- package/dist/chunk-P3VY5JEM.js +274 -0
- package/dist/chunk-PXGR3VGW.js +1646 -0
- package/dist/chunk-QK3HMAVU.js +5471 -0
- package/dist/chunk-QYKZ3FVE.js +51 -0
- package/dist/chunk-RHEWQB5O.js +638 -0
- package/dist/chunk-RP36XHWT.js +46 -0
- package/dist/chunk-SNWFM2DB.js +228 -0
- package/dist/chunk-SWPJZJTY.js +8954 -0
- package/dist/chunk-SXYEIZND.js +275 -0
- package/dist/chunk-T62SKL4T.js +831 -0
- package/dist/chunk-T7SOINEA.js +169 -0
- package/dist/chunk-TARINRA4.js +1518 -0
- package/dist/chunk-TNHIYELA.js +249 -0
- package/dist/chunk-TNZUMU55.js +167 -0
- package/dist/chunk-UT77RVVU.js +142 -0
- package/dist/chunk-UZ4L5ERW.js +387 -0
- package/dist/chunk-V2XA5SIO.js +152 -0
- package/dist/chunk-V2XA5SIO.js.map +1 -0
- package/dist/chunk-VOUCQ2YW.js +64 -0
- package/dist/chunk-VR2AF7I7.js +7823 -0
- package/dist/chunk-VR2AF7I7.js.map +1 -0
- package/dist/chunk-VVMRSEW6.js +23 -0
- package/dist/chunk-WFJ7KR5K.js +163 -0
- package/dist/chunk-WLA7CA4G.js +297 -0
- package/dist/chunk-WOE4TZHJ.js +285 -0
- package/dist/chunk-X32MFGWW.js +15 -0
- package/dist/chunk-X32MFGWW.js.map +1 -0
- package/dist/chunk-XJ2GXHU4.js +57 -0
- package/dist/chunk-XLG3SJ3K.js +334 -0
- package/dist/chunk-XYNQMRNX.js +5368 -0
- package/dist/chunk-YDGBWP3I.js +89 -0
- package/dist/chunk-Z4TWYYM3.js +910 -0
- package/dist/chunk-ZEUAJAKN.js +225 -0
- package/dist/chunk-ZKYJYBDR.js +344 -0
- package/dist/chunk-ZL43WZBX.js +224 -0
- package/dist/claim-G4MRH7Q7.js +200 -0
- package/dist/cli.js +35 -36
- package/dist/cli.js.map +1 -1
- package/dist/companies-TV5SX7IW.js +198 -0
- package/dist/company-W2N3H7AG.js +308 -0
- package/dist/complete-CTS2VDY5.js +84 -0
- package/dist/config-3VK74MY6.js +88 -0
- package/dist/connect-64CFSYYE.js +45 -0
- package/dist/conversation-T57OY4L4.js +96 -0
- package/dist/conversion-report-RB2MU7UD.js +127 -0
- package/dist/conversion-upload-command-HFZYKVXA.js +439 -0
- package/dist/conversion-writes-56AIPXPK.js +122 -0
- package/dist/conversions-NRX76ZIT.js +78 -0
- package/dist/conversions-P75BZDDN.js +140 -0
- package/dist/create-2IFLWXCE.js +135 -0
- package/dist/create-2ZM3SAMX.js +239 -0
- package/dist/create-I6AVOYOS.js +210 -0
- package/dist/create-YKV66SQ6.js +62 -0
- package/dist/creatives-4HMWWE4O.js +58 -0
- package/dist/creatives-CSXTXOTD.js +223 -0
- package/dist/credentials-YQND7EIL.js +290 -0
- package/dist/critique-ABUU725C.js +232 -0
- package/dist/critique-EBQKUWBV.js +1451 -0
- package/dist/crm-CD7QLN65.js +323 -0
- package/dist/crm-G2QOW4WY.js +227 -0
- package/dist/currency-CHBV6WIO.js +88 -0
- package/dist/customers-SNDSWS2C.js +65 -0
- package/dist/delete-AXECUWUU.js +57 -0
- package/dist/delete-WSWCPQ4R.js +67 -0
- package/dist/delete-YE3ZJKGK.js +69 -0
- package/dist/demographics-UPLQV4VW.js +141 -0
- package/dist/discard-D3SPLQP2.js +69 -0
- package/dist/discover-ZU2DAV23.js +172 -0
- package/dist/domain-OXNE56NK.js +101 -0
- package/dist/download-DGVEUXKX.js +172 -0
- package/dist/draft-2SMIRPNZ.js +220 -0
- package/dist/draft-2YTMB4YM.js +313 -0
- package/dist/draft-2YTMB4YM.js.map +1 -0
- package/dist/draft-6EHV5NAN.js +247 -0
- package/dist/draft-6EHV5NAN.js.map +1 -0
- package/dist/draft-EWGNZUU4.js +288 -0
- package/dist/draft-EWGNZUU4.js.map +1 -0
- package/dist/draft-FSZMTGWI.js +106 -0
- package/dist/draft-FSZMTGWI.js.map +1 -0
- package/dist/draft-L7EN5TZD.js +342 -0
- package/dist/draft-L7EN5TZD.js.map +1 -0
- package/dist/draft-P3YJZY74.js +106 -0
- package/dist/draft-P3YJZY74.js.map +1 -0
- package/dist/draft-R7BNWMBR.js +408 -0
- package/dist/draft-R7BNWMBR.js.map +1 -0
- package/dist/engine/index.js +8 -8
- package/dist/experiments-C3M65LMP.js +236 -0
- package/dist/facets-SGS4HDCM.js +117 -0
- package/dist/feedback-256D3HOY.js +115 -0
- package/dist/feedback-record-FDOIZ3HV.js +269 -0
- package/dist/fetch-EODKEOLX.js +204 -0
- package/dist/fit-VEUYZEG6.js +65 -0
- package/dist/flows-RCOWB5BY.js +250 -0
- package/dist/fonts-33UOE4X3.js +39 -0
- package/dist/forecast-372Q6KQZ.js +169 -0
- package/dist/forecast-I3WRFKQL.js +121 -0
- package/dist/funnel-MLPPNJQK.js +397 -0
- package/dist/ga4-GDMHIFBU.js +55 -0
- package/dist/generate-JQIK3UYS.js +263 -0
- package/dist/get-AOHHMPZC.js +59 -0
- package/dist/get-SORMH25W.js +82 -0
- package/dist/google-JHTOX6WM.js +3270 -0
- package/dist/google-ads-CNREZMRN.js +198 -0
- package/dist/history-D5UQTJ4H.js +102 -0
- package/dist/history-VNLS2TKB.js +69 -0
- package/dist/history-ZE7OQGDR.js +153 -0
- package/dist/hubspot-WGP36QI3.js +782 -0
- package/dist/ideas-4F5JG4UV.js +45 -0
- package/dist/images-Q5MZ75SL.js +92 -0
- package/dist/ingest-52X3B37O.js +123 -0
- package/dist/ingest-NXISET6E.js +27 -0
- package/dist/insights-XY6II7TX.js +132 -0
- package/dist/inspect-JD4WLZ57.js +192 -0
- package/dist/intent-5QUPPZNI.js +95 -0
- package/dist/keyword-gap-IG3EFLDH.js +130 -0
- package/dist/keyword-metrics-DDW4MSLX.js +200 -0
- package/dist/keywords-for-site-3UM6THUN.js +131 -0
- package/dist/landing-ZHDHE65Z.js +28 -0
- package/dist/languages-LNHWSCMT.js +40 -0
- package/dist/leads-MITJNZWB.js +115 -0
- package/dist/learn-VLUC2TXW.js +207 -0
- package/dist/line-item-writes-HLQYQ4KG.js +211 -0
- package/dist/line-items-64KIKPCB.js +107 -0
- package/dist/link-NNSG5YQ4.js +67 -0
- package/dist/linkedin-JYN5LGP2.js +1330 -0
- package/dist/linkedin-JYN5LGP2.js.map +1 -0
- package/dist/linkedin-person-OPCUWPLI.js +139 -0
- package/dist/list-5U4Z3PWU.js +306 -0
- package/dist/list-7S4KTZNU.js +154 -0
- package/dist/list-VQQICPK3.js +67 -0
- package/dist/locations-64JNCQID.js +69 -0
- package/dist/locations-KVAAO7LD.js +40 -0
- package/dist/log-63ZVYC6L.js +95 -0
- package/dist/make-7ITIZUJI.js +1367 -0
- package/dist/map-MTR4V7KE.js +436 -0
- package/dist/mcp-HKMQLXBC.js +729 -0
- package/dist/media-sources-ZBSBTB4C.js +35 -0
- package/dist/members-MTRJ3ZRS.js +47 -0
- package/dist/meta-XVPSGNHU.js +122 -0
- package/dist/metrics-MXGA3EFS.js +152 -0
- package/dist/models-Z6SUHWKI.js +155 -0
- package/dist/normalize-SAKXSFEX.js +144 -0
- package/dist/options-L7B3SDIX.js +125 -0
- package/dist/organization-FFRNHVC5.js +949 -0
- package/dist/performance-AJA7YGOO.js +5565 -0
- package/dist/performance-F72KFQU5.js +27 -0
- package/dist/pixels-H642RPK4.js +62 -0
- package/dist/plan-FRRE4YQC.js +208 -0
- package/dist/promoted-tweet-writes-32RAOXQR.js +183 -0
- package/dist/promoted-tweets-KMLFRWDN.js +119 -0
- package/dist/publish-FOSPQ2BE.js +344 -0
- package/dist/query-FT2BA3WH.js +62 -0
- package/dist/read-7ZFZAJSQ.js +141 -0
- package/dist/reddit-5PYYZNBJ.js +29 -0
- package/dist/refresh-AOHTPXU4.js +97 -0
- package/dist/release-G2UKFAQY.js +63 -0
- package/dist/relevant-pages-OCHLUV5K.js +99 -0
- package/dist/remove-K5C2URJE.js +53 -0
- package/dist/reopen-PWROABUC.js +66 -0
- package/dist/rerun-CVJYCCNK.js +96 -0
- package/dist/research-KLWC3JBI.js +75 -0
- package/dist/research-Z3OJXOS4.js +265 -0
- package/dist/reset-3QL7IOHF.js +57 -0
- package/dist/reset-GPO4MCSM.js +57 -0
- package/dist/resolve-7SW7FZ7Q.js +124 -0
- package/dist/retry-HNCUDQ7S.js +63 -0
- package/dist/retry-NVMOGTZD.js +65 -0
- package/dist/revenue-HDJFYUEB.js +91 -0
- package/dist/rules-RYHWD4HA.js +99 -0
- package/dist/rules-add-EMDFBYDA.js +465 -0
- package/dist/run-2XRDPVHX.js +71 -0
- package/dist/run-PXHQKRY5.js +69 -0
- package/dist/scaffold-ad-RJAXMKOX.js +1513 -0
- package/dist/scaffold-static-ad-4HLSHPJI.js +1011 -0
- package/dist/scaffold-video-UH6OOIQW.js +885 -0
- package/dist/schedule-WT22OEBF.js +64 -0
- package/dist/scheduled-agents-BLIDNRFX.js +55 -0
- package/dist/schema-FUCZHUNV.js +135 -0
- package/dist/schema-NSXMRNWM.js +121 -0
- package/dist/search-S5O3L4KX.js +177 -0
- package/dist/select-ISIQXRPF.js +110 -0
- package/dist/set-prompt-MAQN5CYY.js +199 -0
- package/dist/setup-links-HANLAGD2.js +144 -0
- package/dist/shopify-PKWH7WXV.js +3980 -0
- package/dist/shopify-PKWH7WXV.js.map +1 -0
- package/dist/site-GADKB2RP.js +180 -0
- package/dist/sources-CA7JLF4P.js +30 -0
- package/dist/sources-HUXVRGDH.js +457 -0
- package/dist/stale-2A33KEE7.js +90 -0
- package/dist/status-5JTRE3OM.js +65 -0
- package/dist/studio-6ZXUKA4G.js +49 -0
- package/dist/sync-RJFMKM6D.js +57 -0
- package/dist/sync-definition-AKZUCLEV.js +70 -0
- package/dist/tag-manager-74CGUGXX.js +43 -0
- package/dist/tags-B2EXVMNS.js +23 -0
- package/dist/tags-JUIKSERD.js +227 -0
- package/dist/tags-LP6I7GY4.js +26 -0
- package/dist/tags-UHD43CAG.js +23 -0
- package/dist/tags-WJFCPOP7.js +23 -0
- package/dist/targeting-criteria-2LKBD5IH.js +113 -0
- package/dist/targets-O5JYFOCY.js +106 -0
- package/dist/testimonials-P63TKNJ2.js +32 -0
- package/dist/themes-R3A6IVQN.js +95 -0
- package/dist/top-companies-F7DUMWXA.js +111 -0
- package/dist/transcript-4RFSQA5U.js +165 -0
- package/dist/translate-WOJFJRAC.js +603 -0
- package/dist/triggers-4MHFN3VV.js +144 -0
- package/dist/unlink-5AXBQOIL.js +70 -0
- package/dist/unstage-SIBXT25Y.js +88 -0
- package/dist/update-4BDOO53L.js +101 -0
- package/dist/update-NNEMJQ4D.js +155 -0
- package/dist/update-O76YSKXB.js +192 -0
- package/dist/update-YS4QI2KP.js +66 -0
- package/dist/upload-XVV3HQ5W.js +130 -0
- package/dist/url-options-YZ6UG3NY.js +131 -0
- package/dist/url-params-XL5URMTG.js +101 -0
- package/dist/validate-42Q7X2KK.js +125 -0
- package/dist/videos-HMKEY5WY.js +41 -0
- package/dist/viewer-check-4XFEWEH3.js +83 -0
- package/dist/web-PYG3AOYS.js +173 -0
- package/dist/winning-ads-74BKOBVN.js +86 -0
- package/dist/write-commands-43GTQIR6.js +1525 -0
- package/dist/write-commands-5Z5A3D3M.js +713 -0
- package/dist/write-commands-7DTFGM6E.js +206 -0
- package/dist/x-6WSV55RN.js +47 -0
- package/package.json +1 -1
- package/dist/account-2WTVU5VH.js +0 -82
- package/dist/account-IG3U6UXZ.js +0 -82
- package/dist/account-reads-L2GYNCD3.js +0 -219
- package/dist/account-users-CK7D4AAI.js +0 -64
- package/dist/account-writes-BSSKSTZ2.js +0 -68
- package/dist/accounts-3EERX6MO.js +0 -701
- package/dist/accounts-JWYTBGDR.js +0 -80
- package/dist/actions-UUNK3DO4.js +0 -55
- package/dist/activecampaign-URFTGK6R.js +0 -938
- package/dist/ad-group-writes-KMB3OMJG.js +0 -172
- package/dist/ad-groups-E67CNQS4.js +0 -70
- package/dist/ad-writes-FNMKNFUN.js +0 -176
- package/dist/add-2JN54LSO.js +0 -107
- package/dist/add-4PYISQPU.js +0 -305
- package/dist/ads-4LASBP4G.js +0 -79
- package/dist/ads-6KIDAXHQ.js +0 -48
- package/dist/advertisers-K4ZLOZQ2.js +0 -123
- package/dist/analytics-36JY2LHD.js +0 -2437
- package/dist/analytics-NXXDWJU2.js +0 -447
- package/dist/animate-OWXAT2RK.js +0 -480
- package/dist/assign-SG5JXTMD.js +0 -80
- package/dist/audience-size-HOLSWGNO.js +0 -76
- package/dist/audiences-3R574STZ.js +0 -280
- package/dist/audit-YWT6CEY2.js +0 -154
- package/dist/autocomplete-KMYCOXHU.js +0 -114
- package/dist/avatars-ZGJ6RGNQ.js +0 -38
- package/dist/bid-pricing-C2UQJWYK.js +0 -103
- package/dist/brand-3653YYQF.js +0 -22
- package/dist/brief-I537G3PB.js +0 -543
- package/dist/campaign-groups-A7BT67RF.js +0 -99
- package/dist/campaign-writes-HASDYGTI.js +0 -168
- package/dist/campaign-writes-Z2J24SUZ.js +0 -176
- package/dist/campaigns-43OS6EUG.js +0 -78
- package/dist/campaigns-5DOTTJ47.js +0 -113
- package/dist/campaigns-FHP74WGY.js +0 -111
- package/dist/canvas-AW235KQX.js +0 -46
- package/dist/capabilities-6P674LBM.js +0 -147
- package/dist/catalog-7LINLVVY.js +0 -66
- package/dist/catalogs-IR22RGZD.js +0 -130
- package/dist/changes-RSEGYV45.js +0 -143
- package/dist/chatgpt-PDFFKPY2.js +0 -47
- package/dist/chats-KU6JI7DK.js +0 -449
- package/dist/check-W27MKVN7.js +0 -107
- package/dist/chunk-3EUITH4J.js +0 -638
- package/dist/chunk-3S3TVLAV.js +0 -7793
- package/dist/chunk-3S3TVLAV.js.map +0 -1
- package/dist/chunk-3TN4OR43.js +0 -57
- package/dist/chunk-4FCSE6NG.js +0 -429
- package/dist/chunk-4FCSE6NG.js.map +0 -1
- package/dist/chunk-4IRJ5JXA.js +0 -46
- package/dist/chunk-4OYSP3OX.js +0 -547
- package/dist/chunk-52WCKY2O.js +0 -103
- package/dist/chunk-5IFFPSEN.js +0 -225
- package/dist/chunk-5KSLZSOH.js +0 -156
- package/dist/chunk-64ALJ6TJ.js +0 -274
- package/dist/chunk-6OIKNJ7G.js +0 -26
- package/dist/chunk-73E4ITJK.js +0 -224
- package/dist/chunk-7UFV6H7J.js +0 -167
- package/dist/chunk-B3CDNANO.js +0 -843
- package/dist/chunk-B5UCAVCD.js +0 -91
- package/dist/chunk-B74ZFQKS.js +0 -676
- package/dist/chunk-B74ZFQKS.js.map +0 -1
- package/dist/chunk-BKIHYRQL.js +0 -149
- package/dist/chunk-BKIHYRQL.js.map +0 -1
- package/dist/chunk-BNO3EFGR.js +0 -4266
- package/dist/chunk-BNO3EFGR.js.map +0 -1
- package/dist/chunk-CVTWKHWZ.js +0 -377
- package/dist/chunk-E5H7JIWB.js +0 -3510
- package/dist/chunk-ERWMBQU2.js +0 -203
- package/dist/chunk-EYLRARHT.js +0 -2209
- package/dist/chunk-EZVW3KAW.js +0 -831
- package/dist/chunk-F3CZFUXZ.js +0 -3187
- package/dist/chunk-F3CZFUXZ.js.map +0 -1
- package/dist/chunk-G6J6AWTE.js +0 -5471
- package/dist/chunk-GAS6HBPM.js +0 -334
- package/dist/chunk-GCFC2MNR.js +0 -228
- package/dist/chunk-GCZK4BMB.js +0 -5368
- package/dist/chunk-H24HT7W7.js +0 -170
- package/dist/chunk-HMFIOE4P.js +0 -63
- package/dist/chunk-IM3GD4G3.js +0 -857
- package/dist/chunk-J6OTEZT3.js +0 -685
- package/dist/chunk-JAFTWN3A.js +0 -207
- package/dist/chunk-JBNT444M.js +0 -285
- package/dist/chunk-JDBZCUTY.js +0 -249
- package/dist/chunk-JKRXKD54.js +0 -66
- package/dist/chunk-JW6VZBV7.js +0 -1646
- package/dist/chunk-JYXERSEO.js +0 -89
- package/dist/chunk-L7AJMZ6Z.js +0 -24026
- package/dist/chunk-L7AJMZ6Z.js.map +0 -1
- package/dist/chunk-LDFM37DM.js +0 -148
- package/dist/chunk-LDMN6RE6.js +0 -142
- package/dist/chunk-M2QBEVIH.js +0 -91
- package/dist/chunk-MHMVFXTK.js +0 -438
- package/dist/chunk-MO3FJMU5.js +0 -930
- package/dist/chunk-MONZLJWO.js +0 -1902
- package/dist/chunk-NL55W4HD.js +0 -61
- package/dist/chunk-NQF5U6FX.js +0 -150
- package/dist/chunk-P6744QO6.js +0 -344
- package/dist/chunk-P6FMQHJJ.js +0 -131
- package/dist/chunk-PFBQERWX.js +0 -10
- package/dist/chunk-PFBQERWX.js.map +0 -1
- package/dist/chunk-PQWT6JHT.js +0 -494
- package/dist/chunk-PYEM5RGJ.js +0 -51
- package/dist/chunk-PZEPUBAS.js +0 -8954
- package/dist/chunk-Q6LCL67T.js +0 -1518
- package/dist/chunk-REFZAC6Q.js +0 -604
- package/dist/chunk-RLTFA2YN.js +0 -910
- package/dist/chunk-RM5T4MA6.js +0 -783
- package/dist/chunk-RPT3EWX2.js +0 -392
- package/dist/chunk-RQOSSYVH.js +0 -718
- package/dist/chunk-RQOSSYVH.js.map +0 -1
- package/dist/chunk-SIKCVWM3.js +0 -76
- package/dist/chunk-SP5P2TGW.js +0 -197
- package/dist/chunk-UYUH5XNV.js +0 -455
- package/dist/chunk-V4UJERGL.js +0 -64
- package/dist/chunk-VIHHAS2H.js +0 -23
- package/dist/chunk-X4APGDHX.js +0 -191
- package/dist/chunk-XBFUCGS4.js +0 -387
- package/dist/chunk-XK2ZJ6CI.js +0 -19
- package/dist/chunk-XN77O7GB.js +0 -275
- package/dist/chunk-XU6XQPNM.js +0 -1919
- package/dist/chunk-Y2AKJYI4.js +0 -191
- package/dist/chunk-Y2AKJYI4.js.map +0 -1
- package/dist/chunk-YQB66YKJ.js +0 -98
- package/dist/chunk-YRALBXYF.js +0 -479
- package/dist/chunk-YRTQQRNY.js +0 -297
- package/dist/chunk-ZHDXKNPO.js +0 -163
- package/dist/chunk-ZIC6AWWL.js +0 -169
- package/dist/claim-DGEZFT3W.js +0 -200
- package/dist/companies-NG6NTBDR.js +0 -198
- package/dist/company-46N4KFB7.js +0 -308
- package/dist/complete-KQPLWTSD.js +0 -84
- package/dist/config-3GCILBEL.js +0 -88
- package/dist/connect-OU2LJ2Z6.js +0 -45
- package/dist/conversation-UMZQ7RDA.js +0 -96
- package/dist/conversion-report-R4KJI4VA.js +0 -127
- package/dist/conversion-upload-command-XQQWLYHZ.js +0 -439
- package/dist/conversion-writes-XIQEIDPS.js +0 -122
- package/dist/conversions-RMBQNW3T.js +0 -78
- package/dist/conversions-X5LGZHA6.js +0 -140
- package/dist/create-EQSXPFUS.js +0 -135
- package/dist/create-IFQP7SVV.js +0 -239
- package/dist/create-M4LMQ2RN.js +0 -210
- package/dist/create-U4ADI5DV.js +0 -62
- package/dist/creatives-3XLHWIHK.js +0 -58
- package/dist/creatives-B2CQUJ3Y.js +0 -223
- package/dist/credentials-KVIE4DRI.js +0 -290
- package/dist/critique-UX2TWXXH.js +0 -232
- package/dist/critique-Z64ZFE6F.js +0 -1451
- package/dist/crm-67S5ZY5G.js +0 -227
- package/dist/crm-NCDTODY3.js +0 -323
- package/dist/currency-XFHCLKAV.js +0 -88
- package/dist/customers-CGVQMPPT.js +0 -65
- package/dist/delete-53RTKHBL.js +0 -69
- package/dist/delete-Q3DM3BTX.js +0 -67
- package/dist/delete-QGYNGZAO.js +0 -57
- package/dist/demographics-5SLROVD6.js +0 -141
- package/dist/discard-WY37YU5P.js +0 -69
- package/dist/discover-R3QBVUHZ.js +0 -172
- package/dist/domain-2KA6VEX4.js +0 -101
- package/dist/download-6JWNJY3B.js +0 -172
- package/dist/draft-25YY6NMC.js +0 -396
- package/dist/draft-25YY6NMC.js.map +0 -1
- package/dist/draft-6E7EQUCU.js +0 -103
- package/dist/draft-6E7EQUCU.js.map +0 -1
- package/dist/draft-BGCCVIZI.js +0 -310
- package/dist/draft-BGCCVIZI.js.map +0 -1
- package/dist/draft-EJNKW4JN.js +0 -335
- package/dist/draft-EJNKW4JN.js.map +0 -1
- package/dist/draft-GIJCJIQ5.js +0 -240
- package/dist/draft-GIJCJIQ5.js.map +0 -1
- package/dist/draft-NMEKF23T.js +0 -220
- package/dist/draft-Q74WOMUR.js +0 -283
- package/dist/draft-Q74WOMUR.js.map +0 -1
- package/dist/draft-RK3ZAUBF.js +0 -100
- package/dist/draft-RK3ZAUBF.js.map +0 -1
- package/dist/experiments-KGRE35JK.js +0 -236
- package/dist/facets-GWV63PKA.js +0 -117
- package/dist/feedback-2SOINGXM.js +0 -115
- package/dist/feedback-O4RPVQ73.js +0 -136
- package/dist/feedback-O4RPVQ73.js.map +0 -1
- package/dist/feedback-record-6FKYOZ3P.js +0 -269
- package/dist/fetch-4NRSXMHY.js +0 -204
- package/dist/fit-OH2X3XSX.js +0 -65
- package/dist/flows-WXSJQ3UJ.js +0 -250
- package/dist/fonts-LRN2PVYX.js +0 -39
- package/dist/forecast-FVZBUIJU.js +0 -121
- package/dist/forecast-JOQESPEP.js +0 -169
- package/dist/funnel-X2XT3XB5.js +0 -397
- package/dist/ga4-SBHUQKGK.js +0 -55
- package/dist/generate-SW5KLHXG.js +0 -263
- package/dist/get-AP3WGMDU.js +0 -59
- package/dist/get-NR34JBHK.js +0 -82
- package/dist/google-Q424277P.js +0 -3270
- package/dist/google-ads-HLFROWL7.js +0 -198
- package/dist/history-7DF5HFJT.js +0 -69
- package/dist/history-IMHDQLXW.js +0 -102
- package/dist/history-VIPGJT7Z.js +0 -153
- package/dist/hubspot-UZ4F5ANA.js +0 -782
- package/dist/ideas-MU6I7DBD.js +0 -45
- package/dist/images-236N2YSJ.js +0 -92
- package/dist/ingest-3DVD25B6.js +0 -27
- package/dist/ingest-XELCXH2P.js +0 -123
- package/dist/insights-YVV5MHPQ.js +0 -132
- package/dist/inspect-DZUGQK5Y.js +0 -192
- package/dist/intent-5VLQBTM7.js +0 -95
- package/dist/keyword-gap-COLF7JNH.js +0 -130
- package/dist/keyword-metrics-R6EWGKGO.js +0 -200
- package/dist/keywords-for-site-LU3LF65F.js +0 -131
- package/dist/landing-FZ7SSEP6.js +0 -28
- package/dist/languages-RYIOZQFH.js +0 -40
- package/dist/leads-B2YSVBOA.js +0 -115
- package/dist/learn-FVQA7RG4.js +0 -207
- package/dist/line-item-writes-UXJ3JVFY.js +0 -211
- package/dist/line-items-FOVTA5LD.js +0 -107
- package/dist/link-UPXHMS2Q.js +0 -67
- package/dist/linkedin-75HES7MX.js +0 -1328
- package/dist/linkedin-75HES7MX.js.map +0 -1
- package/dist/linkedin-person-V6CK4IYG.js +0 -139
- package/dist/list-23P4WTBN.js +0 -154
- package/dist/list-MALIT3TA.js +0 -306
- package/dist/list-WMF25FUC.js +0 -67
- package/dist/locations-7RYEWKJO.js +0 -69
- package/dist/locations-OF2ZI5YX.js +0 -40
- package/dist/log-I7FAVIQA.js +0 -95
- package/dist/make-YHE4Y2CK.js +0 -1367
- package/dist/map-3H6JFF3K.js +0 -436
- package/dist/mcp-KTR7IPSP.js +0 -729
- package/dist/media-sources-XADH7UR6.js +0 -35
- package/dist/members-4I3TSPZD.js +0 -47
- package/dist/meta-X46LC3GI.js +0 -122
- package/dist/metrics-PKMIG7VL.js +0 -152
- package/dist/models-X2IXXAD6.js +0 -155
- package/dist/normalize-GEBDT74P.js +0 -144
- package/dist/options-4DJFAVSV.js +0 -125
- package/dist/organization-SBFGCUZJ.js +0 -949
- package/dist/performance-BHDYL4JE.js +0 -5565
- package/dist/performance-ZNVGH4BL.js +0 -27
- package/dist/pixels-DBSPNHIE.js +0 -62
- package/dist/plan-2Q6SOHMD.js +0 -208
- package/dist/promoted-tweet-writes-OQM7SURA.js +0 -183
- package/dist/promoted-tweets-BCKQ4D3D.js +0 -119
- package/dist/publish-ZCWQZ5EO.js +0 -344
- package/dist/query-GBIWIZSS.js +0 -62
- package/dist/read-DF3UPNBM.js +0 -141
- package/dist/reddit-NUPXPOG3.js +0 -29
- package/dist/refresh-5KSQVA3V.js +0 -97
- package/dist/release-QIBDWPNL.js +0 -63
- package/dist/relevant-pages-OZPYOGFO.js +0 -99
- package/dist/remove-IM3WF5RS.js +0 -53
- package/dist/reopen-DK3SFSWS.js +0 -66
- package/dist/rerun-7OOJRRZE.js +0 -96
- package/dist/research-KNLA55TJ.js +0 -75
- package/dist/research-R3JAZRD4.js +0 -265
- package/dist/reset-JRKJKUZL.js +0 -57
- package/dist/reset-WQAJPREG.js +0 -57
- package/dist/resolve-LCZXCACJ.js +0 -124
- package/dist/retry-64YJR4ZS.js +0 -65
- package/dist/retry-BPDA54WP.js +0 -63
- package/dist/revenue-WNMRTD6P.js +0 -91
- package/dist/rules-N2YPNUM5.js +0 -99
- package/dist/rules-add-BS577EEB.js +0 -465
- package/dist/run-BNZFJ2YU.js +0 -71
- package/dist/run-OPSLEKBZ.js +0 -69
- package/dist/scaffold-ad-PREXRCXY.js +0 -1513
- package/dist/scaffold-static-ad-KK4QOBO7.js +0 -1011
- package/dist/scaffold-video-KLBPRMAV.js +0 -885
- package/dist/schedule-BODZ6DED.js +0 -64
- package/dist/scheduled-agents-GZEB2B25.js +0 -55
- package/dist/schema-I54DIUTV.js +0 -135
- package/dist/schema-U6GAKTQZ.js +0 -121
- package/dist/search-IJ745GV3.js +0 -177
- package/dist/select-WZJCQW4A.js +0 -110
- package/dist/set-prompt-SUJW4F5J.js +0 -199
- package/dist/setup-links-UVGNFNGP.js +0 -144
- package/dist/shopify-BR27STCS.js +0 -3958
- package/dist/shopify-BR27STCS.js.map +0 -1
- package/dist/site-ZRD4H65V.js +0 -180
- package/dist/sources-4FWNXBBR.js +0 -457
- package/dist/sources-E3QDROKM.js +0 -30
- package/dist/stale-TPM2XQKT.js +0 -90
- package/dist/status-QEVQKFFP.js +0 -65
- package/dist/studio-OV2ZY5W3.js +0 -49
- package/dist/sync-GOVV6G45.js +0 -57
- package/dist/sync-definition-OSSIAZ23.js +0 -70
- package/dist/tag-manager-5ORFHLM4.js +0 -43
- package/dist/tags-BXTCJCOH.js +0 -227
- package/dist/tags-H6ZDU6MK.js +0 -23
- package/dist/tags-Q6Q5FRVL.js +0 -26
- package/dist/tags-YJ3UVNGP.js +0 -23
- package/dist/tags-YJI3QOBK.js +0 -23
- package/dist/targeting-criteria-667LEXSS.js +0 -113
- package/dist/targets-AOE2FDDM.js +0 -106
- package/dist/testimonials-IOBXKEMA.js +0 -32
- package/dist/themes-GD53PVOD.js +0 -95
- package/dist/top-companies-AUXG5OY5.js +0 -111
- package/dist/transcript-D7ZS3X6S.js +0 -165
- package/dist/translate-BQCLUORU.js +0 -603
- package/dist/triggers-QBG5VN5O.js +0 -144
- package/dist/unlink-5KKAJJM6.js +0 -70
- package/dist/unstage-EU6YHHDA.js +0 -88
- package/dist/update-JJG7R6QN.js +0 -192
- package/dist/update-OLQGUBNH.js +0 -101
- package/dist/update-RROGL7SO.js +0 -66
- package/dist/update-RW5T53RB.js +0 -155
- package/dist/upload-4JN4BPY2.js +0 -130
- package/dist/url-options-VNNI4QXX.js +0 -131
- package/dist/url-params-3GCYLRDI.js +0 -101
- package/dist/validate-YBD2PIZE.js +0 -125
- package/dist/videos-OMPPGIYZ.js +0 -41
- package/dist/viewer-check-TCX6PFO4.js +0 -83
- package/dist/web-QGNS3YPN.js +0 -173
- package/dist/winning-ads-LY4NV5O3.js +0 -86
- package/dist/write-commands-FGWCJHLH.js +0 -713
- package/dist/write-commands-OLTCXPPW.js +0 -1525
- package/dist/write-commands-UTM7PPK5.js +0 -206
- package/dist/x-VBSKVDIX.js +0 -47
- /package/dist/{account-IG3U6UXZ.js.map → account-2HJ4GKHN.js.map} +0 -0
- /package/dist/{account-2WTVU5VH.js.map → account-MTMCQQYH.js.map} +0 -0
- /package/dist/{account-reads-L2GYNCD3.js.map → account-reads-X36NPCX5.js.map} +0 -0
- /package/dist/{account-users-CK7D4AAI.js.map → account-users-FJ63HUJT.js.map} +0 -0
- /package/dist/{account-writes-BSSKSTZ2.js.map → account-writes-FZ3KCJZY.js.map} +0 -0
- /package/dist/{accounts-3EERX6MO.js.map → accounts-PU2GGSH4.js.map} +0 -0
- /package/dist/{accounts-JWYTBGDR.js.map → accounts-VYQINKID.js.map} +0 -0
- /package/dist/{actions-UUNK3DO4.js.map → actions-NKCYYR7Q.js.map} +0 -0
- /package/dist/{activecampaign-URFTGK6R.js.map → activecampaign-LQHDIHN5.js.map} +0 -0
- /package/dist/{ad-group-writes-KMB3OMJG.js.map → ad-group-writes-XGG3WQEO.js.map} +0 -0
- /package/dist/{ad-groups-E67CNQS4.js.map → ad-groups-GZIPUN64.js.map} +0 -0
- /package/dist/{ad-writes-FNMKNFUN.js.map → ad-writes-2VTRWQLW.js.map} +0 -0
- /package/dist/{add-2JN54LSO.js.map → add-6EHN5G6X.js.map} +0 -0
- /package/dist/{add-4PYISQPU.js.map → add-HLBKTI3H.js.map} +0 -0
- /package/dist/{ads-6KIDAXHQ.js.map → ads-CWXQLZCC.js.map} +0 -0
- /package/dist/{ads-4LASBP4G.js.map → ads-LNWALF6G.js.map} +0 -0
- /package/dist/{advertisers-K4ZLOZQ2.js.map → advertisers-YMIPR2QG.js.map} +0 -0
- /package/dist/{analytics-36JY2LHD.js.map → analytics-37M6Z37U.js.map} +0 -0
- /package/dist/{analytics-NXXDWJU2.js.map → analytics-6VAB2VYM.js.map} +0 -0
- /package/dist/{animate-OWXAT2RK.js.map → animate-DM4OUJMR.js.map} +0 -0
- /package/dist/{assign-SG5JXTMD.js.map → assign-V25HMGMU.js.map} +0 -0
- /package/dist/{audience-size-HOLSWGNO.js.map → audience-size-FKNAK4QD.js.map} +0 -0
- /package/dist/{audiences-3R574STZ.js.map → audiences-7D5VPOWF.js.map} +0 -0
- /package/dist/{audit-YWT6CEY2.js.map → audit-6VVUMMYL.js.map} +0 -0
- /package/dist/{autocomplete-KMYCOXHU.js.map → autocomplete-NETVGJRC.js.map} +0 -0
- /package/dist/{avatars-ZGJ6RGNQ.js.map → avatars-HH4LOUA3.js.map} +0 -0
- /package/dist/{bid-pricing-C2UQJWYK.js.map → bid-pricing-SCTUSHFI.js.map} +0 -0
- /package/dist/{brand-3653YYQF.js.map → brand-FTPQYYDU.js.map} +0 -0
- /package/dist/{brief-I537G3PB.js.map → brief-MCKNRSWM.js.map} +0 -0
- /package/dist/{campaign-groups-A7BT67RF.js.map → campaign-groups-ZNKBTXPV.js.map} +0 -0
- /package/dist/{campaign-writes-HASDYGTI.js.map → campaign-writes-5TWXZ44R.js.map} +0 -0
- /package/dist/{campaign-writes-Z2J24SUZ.js.map → campaign-writes-H22P6YPW.js.map} +0 -0
- /package/dist/{campaigns-43OS6EUG.js.map → campaigns-265JXD2Z.js.map} +0 -0
- /package/dist/{campaigns-FHP74WGY.js.map → campaigns-E64SHT67.js.map} +0 -0
- /package/dist/{campaigns-5DOTTJ47.js.map → campaigns-GYNO5P22.js.map} +0 -0
- /package/dist/{canvas-AW235KQX.js.map → canvas-E4ZT2K7I.js.map} +0 -0
- /package/dist/{capabilities-6P674LBM.js.map → capabilities-RVNBW4OL.js.map} +0 -0
- /package/dist/{catalog-7LINLVVY.js.map → catalog-DPUQBZZ7.js.map} +0 -0
- /package/dist/{catalogs-IR22RGZD.js.map → catalogs-SBXFAD3X.js.map} +0 -0
- /package/dist/{changes-RSEGYV45.js.map → changes-HXVZUJMH.js.map} +0 -0
- /package/dist/{chatgpt-PDFFKPY2.js.map → chatgpt-UXJPCGZU.js.map} +0 -0
- /package/dist/{chats-KU6JI7DK.js.map → chats-4SQSGOFC.js.map} +0 -0
- /package/dist/{check-W27MKVN7.js.map → check-4WC2RLDR.js.map} +0 -0
- /package/dist/{chunk-ERWMBQU2.js.map → chunk-3I66ZQTI.js.map} +0 -0
- /package/dist/{chunk-M2QBEVIH.js.map → chunk-3SEXQVMX.js.map} +0 -0
- /package/dist/{chunk-B3CDNANO.js.map → chunk-4D73PLXU.js.map} +0 -0
- /package/dist/{chunk-YRALBXYF.js.map → chunk-4EGXO63N.js.map} +0 -0
- /package/dist/{chunk-HMFIOE4P.js.map → chunk-4S5ZAG4S.js.map} +0 -0
- /package/dist/{chunk-H24HT7W7.js.map → chunk-5UEBOBLO.js.map} +0 -0
- /package/dist/{chunk-B5UCAVCD.js.map → chunk-6FLUNQHT.js.map} +0 -0
- /package/dist/{chunk-XK2ZJ6CI.js.map → chunk-6I7N2WYU.js.map} +0 -0
- /package/dist/{chunk-52WCKY2O.js.map → chunk-6KWT3Z35.js.map} +0 -0
- /package/dist/{chunk-SP5P2TGW.js.map → chunk-AI2SKWZE.js.map} +0 -0
- /package/dist/{chunk-UYUH5XNV.js.map → chunk-ANV42DGJ.js.map} +0 -0
- /package/dist/{chunk-RPT3EWX2.js.map → chunk-AYEWXTSF.js.map} +0 -0
- /package/dist/{chunk-X4APGDHX.js.map → chunk-CKIDKN6H.js.map} +0 -0
- /package/dist/{chunk-MO3FJMU5.js.map → chunk-D4NK7SPT.js.map} +0 -0
- /package/dist/{chunk-NL55W4HD.js.map → chunk-DNZVBP2W.js.map} +0 -0
- /package/dist/{chunk-REFZAC6Q.js.map → chunk-EH34RWKR.js.map} +0 -0
- /package/dist/{chunk-RM5T4MA6.js.map → chunk-EOMY5SUJ.js.map} +0 -0
- /package/dist/{chunk-4OYSP3OX.js.map → chunk-EQAEWL6A.js.map} +0 -0
- /package/dist/{chunk-PQWT6JHT.js.map → chunk-F5UU5PAE.js.map} +0 -0
- /package/dist/{chunk-NQF5U6FX.js.map → chunk-FVDC6AKZ.js.map} +0 -0
- /package/dist/{chunk-LDFM37DM.js.map → chunk-GN7K3NPI.js.map} +0 -0
- /package/dist/{chunk-MONZLJWO.js.map → chunk-H6CS7VSO.js.map} +0 -0
- /package/dist/{chunk-YQB66YKJ.js.map → chunk-HBDWE7WK.js.map} +0 -0
- /package/dist/{chunk-CVTWKHWZ.js.map → chunk-I6JPTDKR.js.map} +0 -0
- /package/dist/{chunk-JAFTWN3A.js.map → chunk-IGIACW2B.js.map} +0 -0
- /package/dist/{chunk-EYLRARHT.js.map → chunk-IRINY4B2.js.map} +0 -0
- /package/dist/{chunk-MHMVFXTK.js.map → chunk-J4JY435Z.js.map} +0 -0
- /package/dist/{chunk-6OIKNJ7G.js.map → chunk-JAC6JVCI.js.map} +0 -0
- /package/dist/{chunk-IM3GD4G3.js.map → chunk-JLLGXYOZ.js.map} +0 -0
- /package/dist/{chunk-E5H7JIWB.js.map → chunk-JY3OJBKZ.js.map} +0 -0
- /package/dist/{chunk-XU6XQPNM.js.map → chunk-KIXVHP2C.js.map} +0 -0
- /package/dist/{chunk-5KSLZSOH.js.map → chunk-LODEDXCD.js.map} +0 -0
- /package/dist/{chunk-J6OTEZT3.js.map → chunk-MEK7SMWO.js.map} +0 -0
- /package/dist/{chunk-JKRXKD54.js.map → chunk-MELSTI6W.js.map} +0 -0
- /package/dist/{chunk-SIKCVWM3.js.map → chunk-MZPS46OR.js.map} +0 -0
- /package/dist/{chunk-P6FMQHJJ.js.map → chunk-NBWZVBDG.js.map} +0 -0
- /package/dist/{chunk-64ALJ6TJ.js.map → chunk-P3VY5JEM.js.map} +0 -0
- /package/dist/{chunk-JW6VZBV7.js.map → chunk-PXGR3VGW.js.map} +0 -0
- /package/dist/{chunk-G6J6AWTE.js.map → chunk-QK3HMAVU.js.map} +0 -0
- /package/dist/{chunk-PYEM5RGJ.js.map → chunk-QYKZ3FVE.js.map} +0 -0
- /package/dist/{chunk-3EUITH4J.js.map → chunk-RHEWQB5O.js.map} +0 -0
- /package/dist/{chunk-4IRJ5JXA.js.map → chunk-RP36XHWT.js.map} +0 -0
- /package/dist/{chunk-GCFC2MNR.js.map → chunk-SNWFM2DB.js.map} +0 -0
- /package/dist/{chunk-PZEPUBAS.js.map → chunk-SWPJZJTY.js.map} +0 -0
- /package/dist/{chunk-XN77O7GB.js.map → chunk-SXYEIZND.js.map} +0 -0
- /package/dist/{chunk-EZVW3KAW.js.map → chunk-T62SKL4T.js.map} +0 -0
- /package/dist/{chunk-ZIC6AWWL.js.map → chunk-T7SOINEA.js.map} +0 -0
- /package/dist/{chunk-Q6LCL67T.js.map → chunk-TARINRA4.js.map} +0 -0
- /package/dist/{chunk-JDBZCUTY.js.map → chunk-TNHIYELA.js.map} +0 -0
- /package/dist/{chunk-7UFV6H7J.js.map → chunk-TNZUMU55.js.map} +0 -0
- /package/dist/{chunk-LDMN6RE6.js.map → chunk-UT77RVVU.js.map} +0 -0
- /package/dist/{chunk-XBFUCGS4.js.map → chunk-UZ4L5ERW.js.map} +0 -0
- /package/dist/{chunk-V4UJERGL.js.map → chunk-VOUCQ2YW.js.map} +0 -0
- /package/dist/{chunk-VIHHAS2H.js.map → chunk-VVMRSEW6.js.map} +0 -0
- /package/dist/{chunk-ZHDXKNPO.js.map → chunk-WFJ7KR5K.js.map} +0 -0
- /package/dist/{chunk-YRTQQRNY.js.map → chunk-WLA7CA4G.js.map} +0 -0
- /package/dist/{chunk-JBNT444M.js.map → chunk-WOE4TZHJ.js.map} +0 -0
- /package/dist/{chunk-3TN4OR43.js.map → chunk-XJ2GXHU4.js.map} +0 -0
- /package/dist/{chunk-GAS6HBPM.js.map → chunk-XLG3SJ3K.js.map} +0 -0
- /package/dist/{chunk-GCZK4BMB.js.map → chunk-XYNQMRNX.js.map} +0 -0
- /package/dist/{chunk-JYXERSEO.js.map → chunk-YDGBWP3I.js.map} +0 -0
- /package/dist/{chunk-RLTFA2YN.js.map → chunk-Z4TWYYM3.js.map} +0 -0
- /package/dist/{chunk-5IFFPSEN.js.map → chunk-ZEUAJAKN.js.map} +0 -0
- /package/dist/{chunk-P6744QO6.js.map → chunk-ZKYJYBDR.js.map} +0 -0
- /package/dist/{chunk-73E4ITJK.js.map → chunk-ZL43WZBX.js.map} +0 -0
- /package/dist/{claim-DGEZFT3W.js.map → claim-G4MRH7Q7.js.map} +0 -0
- /package/dist/{companies-NG6NTBDR.js.map → companies-TV5SX7IW.js.map} +0 -0
- /package/dist/{company-46N4KFB7.js.map → company-W2N3H7AG.js.map} +0 -0
- /package/dist/{complete-KQPLWTSD.js.map → complete-CTS2VDY5.js.map} +0 -0
- /package/dist/{config-3GCILBEL.js.map → config-3VK74MY6.js.map} +0 -0
- /package/dist/{connect-OU2LJ2Z6.js.map → connect-64CFSYYE.js.map} +0 -0
- /package/dist/{conversation-UMZQ7RDA.js.map → conversation-T57OY4L4.js.map} +0 -0
- /package/dist/{conversion-report-R4KJI4VA.js.map → conversion-report-RB2MU7UD.js.map} +0 -0
- /package/dist/{conversion-upload-command-XQQWLYHZ.js.map → conversion-upload-command-HFZYKVXA.js.map} +0 -0
- /package/dist/{conversion-writes-XIQEIDPS.js.map → conversion-writes-56AIPXPK.js.map} +0 -0
- /package/dist/{conversions-RMBQNW3T.js.map → conversions-NRX76ZIT.js.map} +0 -0
- /package/dist/{conversions-X5LGZHA6.js.map → conversions-P75BZDDN.js.map} +0 -0
- /package/dist/{create-EQSXPFUS.js.map → create-2IFLWXCE.js.map} +0 -0
- /package/dist/{create-IFQP7SVV.js.map → create-2ZM3SAMX.js.map} +0 -0
- /package/dist/{create-M4LMQ2RN.js.map → create-I6AVOYOS.js.map} +0 -0
- /package/dist/{create-U4ADI5DV.js.map → create-YKV66SQ6.js.map} +0 -0
- /package/dist/{creatives-3XLHWIHK.js.map → creatives-4HMWWE4O.js.map} +0 -0
- /package/dist/{creatives-B2CQUJ3Y.js.map → creatives-CSXTXOTD.js.map} +0 -0
- /package/dist/{credentials-KVIE4DRI.js.map → credentials-YQND7EIL.js.map} +0 -0
- /package/dist/{critique-UX2TWXXH.js.map → critique-ABUU725C.js.map} +0 -0
- /package/dist/{critique-Z64ZFE6F.js.map → critique-EBQKUWBV.js.map} +0 -0
- /package/dist/{crm-NCDTODY3.js.map → crm-CD7QLN65.js.map} +0 -0
- /package/dist/{crm-67S5ZY5G.js.map → crm-G2QOW4WY.js.map} +0 -0
- /package/dist/{currency-XFHCLKAV.js.map → currency-CHBV6WIO.js.map} +0 -0
- /package/dist/{customers-CGVQMPPT.js.map → customers-SNDSWS2C.js.map} +0 -0
- /package/dist/{delete-QGYNGZAO.js.map → delete-AXECUWUU.js.map} +0 -0
- /package/dist/{delete-Q3DM3BTX.js.map → delete-WSWCPQ4R.js.map} +0 -0
- /package/dist/{delete-53RTKHBL.js.map → delete-YE3ZJKGK.js.map} +0 -0
- /package/dist/{demographics-5SLROVD6.js.map → demographics-UPLQV4VW.js.map} +0 -0
- /package/dist/{discard-WY37YU5P.js.map → discard-D3SPLQP2.js.map} +0 -0
- /package/dist/{discover-R3QBVUHZ.js.map → discover-ZU2DAV23.js.map} +0 -0
- /package/dist/{domain-2KA6VEX4.js.map → domain-OXNE56NK.js.map} +0 -0
- /package/dist/{download-6JWNJY3B.js.map → download-DGVEUXKX.js.map} +0 -0
- /package/dist/{draft-NMEKF23T.js.map → draft-2SMIRPNZ.js.map} +0 -0
- /package/dist/{experiments-KGRE35JK.js.map → experiments-C3M65LMP.js.map} +0 -0
- /package/dist/{facets-GWV63PKA.js.map → facets-SGS4HDCM.js.map} +0 -0
- /package/dist/{feedback-2SOINGXM.js.map → feedback-256D3HOY.js.map} +0 -0
- /package/dist/{feedback-record-6FKYOZ3P.js.map → feedback-record-FDOIZ3HV.js.map} +0 -0
- /package/dist/{fetch-4NRSXMHY.js.map → fetch-EODKEOLX.js.map} +0 -0
- /package/dist/{fit-OH2X3XSX.js.map → fit-VEUYZEG6.js.map} +0 -0
- /package/dist/{flows-WXSJQ3UJ.js.map → flows-RCOWB5BY.js.map} +0 -0
- /package/dist/{fonts-LRN2PVYX.js.map → fonts-33UOE4X3.js.map} +0 -0
- /package/dist/{forecast-JOQESPEP.js.map → forecast-372Q6KQZ.js.map} +0 -0
- /package/dist/{forecast-FVZBUIJU.js.map → forecast-I3WRFKQL.js.map} +0 -0
- /package/dist/{funnel-X2XT3XB5.js.map → funnel-MLPPNJQK.js.map} +0 -0
- /package/dist/{ga4-SBHUQKGK.js.map → ga4-GDMHIFBU.js.map} +0 -0
- /package/dist/{generate-SW5KLHXG.js.map → generate-JQIK3UYS.js.map} +0 -0
- /package/dist/{get-AP3WGMDU.js.map → get-AOHHMPZC.js.map} +0 -0
- /package/dist/{get-NR34JBHK.js.map → get-SORMH25W.js.map} +0 -0
- /package/dist/{google-Q424277P.js.map → google-JHTOX6WM.js.map} +0 -0
- /package/dist/{google-ads-HLFROWL7.js.map → google-ads-CNREZMRN.js.map} +0 -0
- /package/dist/{history-IMHDQLXW.js.map → history-D5UQTJ4H.js.map} +0 -0
- /package/dist/{history-7DF5HFJT.js.map → history-VNLS2TKB.js.map} +0 -0
- /package/dist/{history-VIPGJT7Z.js.map → history-ZE7OQGDR.js.map} +0 -0
- /package/dist/{hubspot-UZ4F5ANA.js.map → hubspot-WGP36QI3.js.map} +0 -0
- /package/dist/{ideas-MU6I7DBD.js.map → ideas-4F5JG4UV.js.map} +0 -0
- /package/dist/{images-236N2YSJ.js.map → images-Q5MZ75SL.js.map} +0 -0
- /package/dist/{ingest-XELCXH2P.js.map → ingest-52X3B37O.js.map} +0 -0
- /package/dist/{ingest-3DVD25B6.js.map → ingest-NXISET6E.js.map} +0 -0
- /package/dist/{insights-YVV5MHPQ.js.map → insights-XY6II7TX.js.map} +0 -0
- /package/dist/{inspect-DZUGQK5Y.js.map → inspect-JD4WLZ57.js.map} +0 -0
- /package/dist/{intent-5VLQBTM7.js.map → intent-5QUPPZNI.js.map} +0 -0
- /package/dist/{keyword-gap-COLF7JNH.js.map → keyword-gap-IG3EFLDH.js.map} +0 -0
- /package/dist/{keyword-metrics-R6EWGKGO.js.map → keyword-metrics-DDW4MSLX.js.map} +0 -0
- /package/dist/{keywords-for-site-LU3LF65F.js.map → keywords-for-site-3UM6THUN.js.map} +0 -0
- /package/dist/{landing-FZ7SSEP6.js.map → landing-ZHDHE65Z.js.map} +0 -0
- /package/dist/{languages-RYIOZQFH.js.map → languages-LNHWSCMT.js.map} +0 -0
- /package/dist/{leads-B2YSVBOA.js.map → leads-MITJNZWB.js.map} +0 -0
- /package/dist/{learn-FVQA7RG4.js.map → learn-VLUC2TXW.js.map} +0 -0
- /package/dist/{line-item-writes-UXJ3JVFY.js.map → line-item-writes-HLQYQ4KG.js.map} +0 -0
- /package/dist/{line-items-FOVTA5LD.js.map → line-items-64KIKPCB.js.map} +0 -0
- /package/dist/{link-UPXHMS2Q.js.map → link-NNSG5YQ4.js.map} +0 -0
- /package/dist/{linkedin-person-V6CK4IYG.js.map → linkedin-person-OPCUWPLI.js.map} +0 -0
- /package/dist/{list-MALIT3TA.js.map → list-5U4Z3PWU.js.map} +0 -0
- /package/dist/{list-23P4WTBN.js.map → list-7S4KTZNU.js.map} +0 -0
- /package/dist/{list-WMF25FUC.js.map → list-VQQICPK3.js.map} +0 -0
- /package/dist/{locations-7RYEWKJO.js.map → locations-64JNCQID.js.map} +0 -0
- /package/dist/{locations-OF2ZI5YX.js.map → locations-KVAAO7LD.js.map} +0 -0
- /package/dist/{log-I7FAVIQA.js.map → log-63ZVYC6L.js.map} +0 -0
- /package/dist/{make-YHE4Y2CK.js.map → make-7ITIZUJI.js.map} +0 -0
- /package/dist/{map-3H6JFF3K.js.map → map-MTR4V7KE.js.map} +0 -0
- /package/dist/{mcp-KTR7IPSP.js.map → mcp-HKMQLXBC.js.map} +0 -0
- /package/dist/{media-sources-XADH7UR6.js.map → media-sources-ZBSBTB4C.js.map} +0 -0
- /package/dist/{members-4I3TSPZD.js.map → members-MTRJ3ZRS.js.map} +0 -0
- /package/dist/{meta-X46LC3GI.js.map → meta-XVPSGNHU.js.map} +0 -0
- /package/dist/{metrics-PKMIG7VL.js.map → metrics-MXGA3EFS.js.map} +0 -0
- /package/dist/{models-X2IXXAD6.js.map → models-Z6SUHWKI.js.map} +0 -0
- /package/dist/{normalize-GEBDT74P.js.map → normalize-SAKXSFEX.js.map} +0 -0
- /package/dist/{options-4DJFAVSV.js.map → options-L7B3SDIX.js.map} +0 -0
- /package/dist/{organization-SBFGCUZJ.js.map → organization-FFRNHVC5.js.map} +0 -0
- /package/dist/{performance-BHDYL4JE.js.map → performance-AJA7YGOO.js.map} +0 -0
- /package/dist/{performance-ZNVGH4BL.js.map → performance-F72KFQU5.js.map} +0 -0
- /package/dist/{pixels-DBSPNHIE.js.map → pixels-H642RPK4.js.map} +0 -0
- /package/dist/{plan-2Q6SOHMD.js.map → plan-FRRE4YQC.js.map} +0 -0
- /package/dist/{promoted-tweet-writes-OQM7SURA.js.map → promoted-tweet-writes-32RAOXQR.js.map} +0 -0
- /package/dist/{promoted-tweets-BCKQ4D3D.js.map → promoted-tweets-KMLFRWDN.js.map} +0 -0
- /package/dist/{publish-ZCWQZ5EO.js.map → publish-FOSPQ2BE.js.map} +0 -0
- /package/dist/{query-GBIWIZSS.js.map → query-FT2BA3WH.js.map} +0 -0
- /package/dist/{read-DF3UPNBM.js.map → read-7ZFZAJSQ.js.map} +0 -0
- /package/dist/{reddit-NUPXPOG3.js.map → reddit-5PYYZNBJ.js.map} +0 -0
- /package/dist/{refresh-5KSQVA3V.js.map → refresh-AOHTPXU4.js.map} +0 -0
- /package/dist/{release-QIBDWPNL.js.map → release-G2UKFAQY.js.map} +0 -0
- /package/dist/{relevant-pages-OZPYOGFO.js.map → relevant-pages-OCHLUV5K.js.map} +0 -0
- /package/dist/{remove-IM3WF5RS.js.map → remove-K5C2URJE.js.map} +0 -0
- /package/dist/{reopen-DK3SFSWS.js.map → reopen-PWROABUC.js.map} +0 -0
- /package/dist/{rerun-7OOJRRZE.js.map → rerun-CVJYCCNK.js.map} +0 -0
- /package/dist/{research-KNLA55TJ.js.map → research-KLWC3JBI.js.map} +0 -0
- /package/dist/{research-R3JAZRD4.js.map → research-Z3OJXOS4.js.map} +0 -0
- /package/dist/{reset-JRKJKUZL.js.map → reset-3QL7IOHF.js.map} +0 -0
- /package/dist/{reset-WQAJPREG.js.map → reset-GPO4MCSM.js.map} +0 -0
- /package/dist/{resolve-LCZXCACJ.js.map → resolve-7SW7FZ7Q.js.map} +0 -0
- /package/dist/{retry-BPDA54WP.js.map → retry-HNCUDQ7S.js.map} +0 -0
- /package/dist/{retry-64YJR4ZS.js.map → retry-NVMOGTZD.js.map} +0 -0
- /package/dist/{revenue-WNMRTD6P.js.map → revenue-HDJFYUEB.js.map} +0 -0
- /package/dist/{rules-N2YPNUM5.js.map → rules-RYHWD4HA.js.map} +0 -0
- /package/dist/{rules-add-BS577EEB.js.map → rules-add-EMDFBYDA.js.map} +0 -0
- /package/dist/{run-BNZFJ2YU.js.map → run-2XRDPVHX.js.map} +0 -0
- /package/dist/{run-OPSLEKBZ.js.map → run-PXHQKRY5.js.map} +0 -0
- /package/dist/{scaffold-ad-PREXRCXY.js.map → scaffold-ad-RJAXMKOX.js.map} +0 -0
- /package/dist/{scaffold-static-ad-KK4QOBO7.js.map → scaffold-static-ad-4HLSHPJI.js.map} +0 -0
- /package/dist/{scaffold-video-KLBPRMAV.js.map → scaffold-video-UH6OOIQW.js.map} +0 -0
- /package/dist/{schedule-BODZ6DED.js.map → schedule-WT22OEBF.js.map} +0 -0
- /package/dist/{scheduled-agents-GZEB2B25.js.map → scheduled-agents-BLIDNRFX.js.map} +0 -0
- /package/dist/{schema-I54DIUTV.js.map → schema-FUCZHUNV.js.map} +0 -0
- /package/dist/{schema-U6GAKTQZ.js.map → schema-NSXMRNWM.js.map} +0 -0
- /package/dist/{search-IJ745GV3.js.map → search-S5O3L4KX.js.map} +0 -0
- /package/dist/{select-WZJCQW4A.js.map → select-ISIQXRPF.js.map} +0 -0
- /package/dist/{set-prompt-SUJW4F5J.js.map → set-prompt-MAQN5CYY.js.map} +0 -0
- /package/dist/{setup-links-UVGNFNGP.js.map → setup-links-HANLAGD2.js.map} +0 -0
- /package/dist/{site-ZRD4H65V.js.map → site-GADKB2RP.js.map} +0 -0
- /package/dist/{sources-E3QDROKM.js.map → sources-CA7JLF4P.js.map} +0 -0
- /package/dist/{sources-4FWNXBBR.js.map → sources-HUXVRGDH.js.map} +0 -0
- /package/dist/{stale-TPM2XQKT.js.map → stale-2A33KEE7.js.map} +0 -0
- /package/dist/{status-QEVQKFFP.js.map → status-5JTRE3OM.js.map} +0 -0
- /package/dist/{studio-OV2ZY5W3.js.map → studio-6ZXUKA4G.js.map} +0 -0
- /package/dist/{sync-GOVV6G45.js.map → sync-RJFMKM6D.js.map} +0 -0
- /package/dist/{sync-definition-OSSIAZ23.js.map → sync-definition-AKZUCLEV.js.map} +0 -0
- /package/dist/{tag-manager-5ORFHLM4.js.map → tag-manager-74CGUGXX.js.map} +0 -0
- /package/dist/{tags-YJI3QOBK.js.map → tags-B2EXVMNS.js.map} +0 -0
- /package/dist/{tags-BXTCJCOH.js.map → tags-JUIKSERD.js.map} +0 -0
- /package/dist/{tags-Q6Q5FRVL.js.map → tags-LP6I7GY4.js.map} +0 -0
- /package/dist/{tags-YJ3UVNGP.js.map → tags-UHD43CAG.js.map} +0 -0
- /package/dist/{tags-H6ZDU6MK.js.map → tags-WJFCPOP7.js.map} +0 -0
- /package/dist/{targeting-criteria-667LEXSS.js.map → targeting-criteria-2LKBD5IH.js.map} +0 -0
- /package/dist/{targets-AOE2FDDM.js.map → targets-O5JYFOCY.js.map} +0 -0
- /package/dist/{testimonials-IOBXKEMA.js.map → testimonials-P63TKNJ2.js.map} +0 -0
- /package/dist/{themes-GD53PVOD.js.map → themes-R3A6IVQN.js.map} +0 -0
- /package/dist/{top-companies-AUXG5OY5.js.map → top-companies-F7DUMWXA.js.map} +0 -0
- /package/dist/{transcript-D7ZS3X6S.js.map → transcript-4RFSQA5U.js.map} +0 -0
- /package/dist/{translate-BQCLUORU.js.map → translate-WOJFJRAC.js.map} +0 -0
- /package/dist/{triggers-QBG5VN5O.js.map → triggers-4MHFN3VV.js.map} +0 -0
- /package/dist/{unlink-5KKAJJM6.js.map → unlink-5AXBQOIL.js.map} +0 -0
- /package/dist/{unstage-EU6YHHDA.js.map → unstage-SIBXT25Y.js.map} +0 -0
- /package/dist/{update-OLQGUBNH.js.map → update-4BDOO53L.js.map} +0 -0
- /package/dist/{update-RW5T53RB.js.map → update-NNEMJQ4D.js.map} +0 -0
- /package/dist/{update-JJG7R6QN.js.map → update-O76YSKXB.js.map} +0 -0
- /package/dist/{update-RROGL7SO.js.map → update-YS4QI2KP.js.map} +0 -0
- /package/dist/{upload-4JN4BPY2.js.map → upload-XVV3HQ5W.js.map} +0 -0
- /package/dist/{url-options-VNNI4QXX.js.map → url-options-YZ6UG3NY.js.map} +0 -0
- /package/dist/{url-params-3GCYLRDI.js.map → url-params-XL5URMTG.js.map} +0 -0
- /package/dist/{validate-YBD2PIZE.js.map → validate-42Q7X2KK.js.map} +0 -0
- /package/dist/{videos-OMPPGIYZ.js.map → videos-HMKEY5WY.js.map} +0 -0
- /package/dist/{viewer-check-TCX6PFO4.js.map → viewer-check-4XFEWEH3.js.map} +0 -0
- /package/dist/{web-QGNS3YPN.js.map → web-PYG3AOYS.js.map} +0 -0
- /package/dist/{winning-ads-LY4NV5O3.js.map → winning-ads-74BKOBVN.js.map} +0 -0
- /package/dist/{write-commands-OLTCXPPW.js.map → write-commands-43GTQIR6.js.map} +0 -0
- /package/dist/{write-commands-FGWCJHLH.js.map → write-commands-5Z5A3D3M.js.map} +0 -0
- /package/dist/{write-commands-UTM7PPK5.js.map → write-commands-7DTFGM6E.js.map} +0 -0
- /package/dist/{x-VBSKVDIX.js.map → x-6WSV55RN.js.map} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/commands/ads/google/draft.ts","../src/commands/ads/google/draft-batch.ts","../src/commands/ads/google/draft-validate.ts"],"sourcesContent":["import type { GoogleDraftValidateResponse } from \"@baker/api/ads-google\";\nimport type { GoogleDraftImportResponse } from \"@baker/api/ads-google/wire\";\nimport { defineCommand } from \"citty\";\nimport { apiPost } from \"../../../client.ts\";\nimport { requireChatId } from \"../../../env.ts\";\nimport { registerSchema } from \"../../../schemas.ts\";\nimport { CHAT_READ_ARG } from \"../../chat-arg.ts\";\nimport { writeJsonEnvelope } from \"../output.ts\";\nimport { amendBatchEntries, stageFileOps } from \"./draft-batch.ts\";\nimport { validationEnvelope } from \"./draft-validate.ts\";\nimport {\n draftAction,\n draftListAction,\n handleGoogleError,\n loadJsonPayloads,\n loadPatchArg,\n requireTarget,\n stageGoogleOps,\n} from \"./write-shared.ts\";\n\nconst VALIDATE_DESCRIPTION = `Ask Google whether the whole staged draft would publish — without applying anything.\n\nStart here, after the last staged change and before telling the user the draft is ready:\n baker ads google draft validate\n\nEvery staged op is built, batched and sent exactly as publish sends it, with Google's validateOnly\nflag, so each verdict is the answer publish would get: accepted | refused | blocked (a change it\ndepends on was refused) | unchecked (only publish can check it) | applied (an earlier publish did).\nCompact by default — counts, plus only the ops that need attention, each with Google's reason.\nFix refused ops with \\`draft amend <ref>\\` and validate again.\n\nExamples:\n baker ads google draft validate\n baker ads google draft validate --full # every op, with its built request and Google's raw answer`;\n\nregisterSchema({\n command: \"ads.google.draft.validate\",\n description: VALIDATE_DESCRIPTION,\n args: {\n full: {\n type: \"boolean\",\n description: \"List every op with its built request and Google's raw answer\",\n required: false,\n },\n },\n});\n\nconst STAGE_DESCRIPTION = `Stage many Google Ads changes from ONE file, in one call — any mix of kinds, up to 500 ops.\n\nStart here whenever a change touches more than a few rows (a keyword cleanup, bid changes, pausing\nads, a list of negatives): write the ops to a file and stage them together instead of running one\ncommand per row.\n baker ads google draft stage --file changes.json --customer-id 1234567890\n\nThe file is a JSON array (or JSON Lines, one op per line). Each op is what the single commands\nbuild — kind, customerId (or --customer-id for all), target for a change to something that exists,\npayload. Read the shape for a kind with \\`baker capabilities google-ads\\`.\n [\n {\"kind\":\"google.keyword.add\",\"payload\":{\"adGroup\":\"customers/1234567890/adGroups/111\",\"text\":\"solar panels\",\"matchType\":\"PHRASE\"}},\n {\"kind\":\"google.keyword.update\",\"target\":\"customers/1234567890/adGroupCriteria/111~222\",\"payload\":{\"status\":\"PAUSED\"}},\n {\"kind\":\"google.negativeKeyword.add\",\"payload\":{\"level\":\"campaign\",\"parent\":\"222333\",\"text\":\"free\",\"matchType\":\"BROAD\"}}\n ]\nAn op may name a g_temp_* ref an EARLIER call returned (a campaign or ad group staged before), but\nnot another op in the same file — a ref exists only once its op is staged, so stage new parents first.\nAll-or-nothing: one invalid op stages nothing. Ops already in effect come back as skipped.\nThen: baker ads google draft validate`;\n\nregisterSchema({\n command: \"ads.google.draft.stage\",\n description: STAGE_DESCRIPTION,\n args: {\n file: {\n type: \"string\",\n description: \"JSON array or JSON Lines of ops ({kind, customerId?, target?, payload?}), path or inline\",\n required: true,\n },\n \"customer-id\": {\n type: \"string\",\n description: \"10-digit customer id for every op that does not name its own\",\n required: false,\n },\n },\n});\n\nconst IMPORT_DESCRIPTION = `Move another open chat's staged Google Ads changes into this chat, in one call — and out of that chat, so the two can never publish the same change twice.\n\nStart here when the user wants another chat's changes brought into this one (\"bring over\", \"merge\",\n\"include what the other chat prepared\", \"all of them except …\"):\n baker ads google draft import --from-chat <chat-id>\n baker ads google draft import --from-chat <chat-id> --exclude g_temp_a,customers/123/adGroupAds/4~5\n baker ads google draft import --from-chat <chat-id> --refs g_temp_b\n\nEvery op moves exactly as it was staged — same ref, same payload, nothing retyped — so never copy\nanother chat's changes with \\`draft show --chat\\` and re-stage them. An op moves with the creates it\ndepends on and the ops that depend on it (an asset and the link that attaches it go together).\nThe other chat must still be open; its other work (Knowledge, Tasks) stays where it is. Find chat ids\nwith \\`baker chats list\\`, and refs with \\`baker ads google draft list --chat <chat-id> --json\\`.\nThen: baker ads google draft validate`;\n\nregisterSchema({\n command: \"ads.google.draft.import\",\n description: IMPORT_DESCRIPTION,\n args: {\n \"from-chat\": { type: \"string\", description: \"The other open chat whose staged changes move here\", required: true },\n refs: {\n type: \"string\",\n description: \"Comma-separated refs to move (default: all); what they depend on comes too\",\n required: false,\n },\n exclude: {\n type: \"string\",\n description: \"Comma-separated refs to leave in the other chat, with the ops that depend on them\",\n required: false,\n },\n },\n});\n\n/** The refs a comma-separated flag names: undefined when the flag is absent, null when it names none. */\nfunction refList(value: unknown): string[] | undefined | null {\n if (typeof value !== \"string\") return undefined;\n const refs = value\n .split(\",\")\n .map((ref) => ref.trim())\n .filter((ref) => ref.length > 0);\n return refs.length > 0 ? refs : null;\n}\n\n/** What the agent needs after a move: the next step, and what the other chat now holds. */\nexport function importHints(fromChatId: string, data: GoogleDraftImportResponse): string[] {\n const source =\n data.sourceRemaining > 0\n ? `Chat ${fromChatId} still has ${data.sourceRemaining} Google Ads change(s) staged, which publish with that chat.`\n : `Chat ${fromChatId} has no Google Ads changes staged any more, so publishing it cannot apply these twice. Its other work stays there — never tell the user to discard it for this.`;\n return [source, \"Run `baker ads google draft validate` next.\"];\n}\n\n/** After a bulk stage: what to do next, and the reminder that the file — not a loop — is the tool. */\nexport const BULK_STAGE_HINTS = [\n \"Run `baker ads google draft validate` next: it asks Google about every staged op at once and lists only the ones it would refuse.\",\n 'To fix several staged ops, amend them together: `baker ads google draft amend --file amends.json` with [{\"ref\":\"…\",\"patch\":{…}}, …].',\n];\n\n/** Review and undo staged Google Ads ops on this chat's draft; `list`/`show` can also read another chat's. */\nexport const draftCommand = defineCommand({\n meta: {\n name: \"draft\",\n description:\n \"Stage many ops from one file, or list, validate, remove, clear, amend, or show staged Google Ads write ops for this chat. `list` and `show` take --chat <id> to read an earlier chat's changes instead; `import --from-chat <id>` moves another open chat's staged changes here.\",\n },\n subCommands: {\n stage: defineCommand({\n meta: { name: \"stage\", description: STAGE_DESCRIPTION },\n args: {\n file: {\n type: \"string\",\n description: \"JSON array or JSON Lines of ops ({kind, customerId?, target?, payload?}), path or inline\",\n },\n \"customer-id\": { type: \"string\", description: \"10-digit customer id for every op that does not name its own\" },\n },\n run: async ({ args }) => {\n const customerId = typeof args[\"customer-id\"] === \"string\" ? args[\"customer-id\"] : undefined;\n await stageGoogleOps(stageFileOps(loadJsonPayloads(args.file), customerId), BULK_STAGE_HINTS);\n },\n }),\n import: defineCommand({\n meta: { name: \"import\", description: IMPORT_DESCRIPTION },\n args: {\n \"from-chat\": { type: \"string\", description: \"The other open chat whose staged changes move here\" },\n refs: { type: \"string\", description: \"Comma-separated refs to move (default: all)\" },\n exclude: { type: \"string\", description: \"Comma-separated refs to leave in the other chat\" },\n },\n run: async ({ args }) => {\n const fromChatId = typeof args[\"from-chat\"] === \"string\" ? args[\"from-chat\"].trim() : \"\";\n if (!fromChatId) {\n writeJsonEnvelope({\n ok: false,\n error: {\n code: \"VALIDATION_ERROR\",\n message: \"--from-chat is required\",\n fix: \"Name the other chat: baker ads google draft import --from-chat <chat-id> (ids from `baker chats list`).\",\n },\n });\n process.exit(1);\n }\n const refs = refList(args.refs);\n const exclude = refList(args.exclude);\n const empty = refs === null ? \"--refs\" : exclude === null ? \"--exclude\" : undefined;\n if (empty) {\n // An empty selection must never widen to \"every change\": the move takes them out of the other chat.\n writeJsonEnvelope({\n ok: false,\n error: {\n code: \"VALIDATION_ERROR\",\n message: `${empty} names no change`,\n fix: `Pass the refs, comma-separated (from \\`baker ads google draft list --chat ${fromChatId} --json\\`), or leave ${empty} off to move every change.`,\n },\n });\n process.exit(1);\n }\n try {\n const response = await apiPost<{ ok: boolean; data?: GoogleDraftImportResponse }>(\n \"/api/ads/google/draft/import\",\n { chatId: requireChatId(), fromChatId, refs: refs ?? undefined, exclude: exclude ?? undefined },\n );\n writeJsonEnvelope(\n response.ok && response.data ? { ...response, hints: importHints(fromChatId, response.data) } : response,\n );\n } catch (err) {\n handleGoogleError(err);\n }\n },\n }),\n list: defineCommand({\n meta: {\n name: \"list\",\n description: \"Review everything staged as a campaign ▸ ad group ▸ ad tree (--json for the raw envelope)\",\n },\n args: {\n json: { type: \"boolean\", description: \"Print the raw JSON envelope instead of the readable tree\" },\n chat: CHAT_READ_ARG,\n },\n run: async ({ args }) => {\n await draftListAction(args.json === true, args.chat);\n },\n }),\n remove: defineCommand({\n meta: { name: \"remove\", description: \"Remove one staged op (cascades to dependents)\" },\n args: { ref: { type: \"positional\", description: \"Staged op ref (g_temp_* or target)\", required: false } },\n run: async ({ args }) => {\n await draftAction(\"/api/ads/google/draft/remove\", { ref: requireTarget(args, \"op\") });\n },\n }),\n clear: defineCommand({\n meta: { name: \"clear\", description: \"Discard all staged ops on this chat\" },\n run: async () => {\n await draftAction(\"/api/ads/google/draft/clear\", {});\n },\n }),\n amend: defineCommand({\n meta: {\n name: \"amend\",\n description:\n 'Update a staged op in place — merges a JSON patch into its payload (RFC-7386: objects deep-merge, null deletes a key, arrays/scalars replace) and re-validates. Use this instead of remove + re-create. Many at once: no ref, and --file holding [{\"ref\":\"g_temp_…\",\"patch\":{…}}, …] — all amended in one call, or none if any is refused.',\n },\n args: {\n ref: {\n type: \"positional\",\n description: \"Staged op ref (g_temp_*) or target id/resource name — leave out to amend many from --file\",\n required: false,\n },\n file: {\n type: \"string\",\n description: 'JSON file with the patch object — or, with no ref, a JSON array of {\"ref\",\"patch\"} amends',\n },\n patch: { type: \"string\", description: \"Inline JSON patch object\" },\n },\n run: async ({ args }) => {\n const positional = Array.isArray(args._) ? args._[0] : undefined;\n if (!(args.ref ?? positional) && typeof args.file === \"string\" && args.file.length > 0) {\n const amends = amendBatchEntries(loadJsonPayloads(args.file));\n await draftAction(\"/api/ads/google/draft/amend-batch\", { amends });\n return;\n }\n const ref = requireTarget(args, \"op\");\n const patch = loadPatchArg(args);\n await draftAction(\"/api/ads/google/draft/amend\", { ref, patch });\n },\n }),\n validate: defineCommand({\n meta: { name: \"validate\", description: VALIDATE_DESCRIPTION },\n args: {\n full: { type: \"boolean\", description: \"List every op with its built request and Google's raw answer\" },\n },\n run: async ({ args }) => {\n try {\n const full = args.full === true;\n const response = await apiPost<{ ok: boolean; data?: GoogleDraftValidateResponse }>(\n \"/api/ads/google/draft/validate\",\n { chatId: requireChatId(), full },\n );\n writeJsonEnvelope(response.ok && response.data ? validationEnvelope(response.data, full) : response);\n } catch (err) {\n handleGoogleError(err);\n }\n },\n }),\n show: defineCommand({\n meta: {\n name: \"show\",\n description:\n \"Print the full staged payload for one op — the receipt to verify a change looks right before publish (never truncated).\",\n },\n args: {\n ref: {\n type: \"positional\",\n description: \"Staged op ref (g_temp_*) or target id/resource name\",\n required: false,\n },\n chat: CHAT_READ_ARG,\n },\n run: async ({ args }) => {\n await draftAction(\"/api/ads/google/draft/show\", { ref: requireTarget(args, \"op\") }, args.chat);\n },\n }),\n },\n});\n","import { GOOGLE_DRAFT_BATCH_MAX } from \"@baker/api/ads-google\";\nimport { failWriteValidation } from \"./write-shared.ts\";\n\n/**\n * The bulk halves of `draft`: one file of many changes, staged or amended in ONE request. A bulk\n * change done as a loop of single commands is one request, one rate-limit hit and one tool call per\n * row — production saw 1,284 such calls — while a file is one of each for up to 500 rows.\n */\n\nfunction refuseOversized(count: number, what: string): void {\n if (count > GOOGLE_DRAFT_BATCH_MAX) {\n failWriteValidation(\n `${count} ${what} exceeds the batch limit of ${GOOGLE_DRAFT_BATCH_MAX} — split the file and run the command once per part`,\n );\n }\n}\n\n/**\n * `draft stage --file` items → ops: each item is a whole op (`kind`, `customerId`, `target` for a\n * change to something that exists, `payload`); `--customer-id` fills the account on items that leave\n * it out, so a one-account file need not repeat it. The ops are preflighted by `stageGoogleOps`.\n */\nexport function stageFileOps(\n items: ReadonlyArray<Record<string, unknown>>,\n customerId: string | undefined,\n): Array<Record<string, unknown>> {\n if (items.length === 0) {\n failWriteValidation(\n 'pass --file with the ops to stage: a JSON array (or JSON Lines) of {\"kind\",\"customerId\",\"target\"?,\"payload\"?}',\n );\n }\n refuseOversized(items.length, \"ops\");\n return items.map((item, index) => {\n if (typeof item.kind !== \"string\") {\n failWriteValidation(\n `item ${index} has no \"kind\" — every item is a whole op, e.g. {\"kind\":\"google.keyword.add\",…}`,\n );\n }\n return item.customerId === undefined && customerId ? { ...item, customerId } : item;\n });\n}\n\n/** `draft amend --file` items → the amend batch: each `{ ref, patch }` exactly as `draft amend <ref>` takes it. */\nexport function amendBatchEntries(\n items: ReadonlyArray<Record<string, unknown>>,\n): Array<{ ref: string; patch: Record<string, unknown> }> {\n refuseOversized(items.length, \"amends\");\n return items.map((item, index) => {\n const { ref, patch } = item;\n if (typeof ref !== \"string\" || ref.length === 0) {\n failWriteValidation(`item ${index} has no \"ref\" — name the staged op (g_temp_* or its target) to amend`);\n }\n if (patch === null || typeof patch !== \"object\" || Array.isArray(patch)) {\n failWriteValidation(`item ${index} has no \"patch\" object — {\"ref\":\"…\",\"patch\":{…fields to change…}}`);\n }\n return { ref, patch: patch as Record<string, unknown> };\n });\n}\n","import type { GoogleDraftOpVerdict, GoogleDraftValidateResponse } from \"@baker/api/ads-google\";\n\n/** Verdicts that need nothing from the agent — counted, never listed in the compact view. */\nconst QUIET: ReadonlySet<GoogleDraftOpVerdict[\"verdict\"]> = new Set([\"accepted\", \"applied\"]);\n\nfunction changes(n: number): string {\n return n === 1 ? \"1 change\" : `${n} changes`;\n}\n\n/** What to do next, read off the counts — the agent decides from these without re-reading every op. */\nfunction validationHints(data: GoogleDraftValidateResponse): string[] {\n const { refused, blocked, unchecked } = data.counts;\n const hints: string[] = [];\n if (refused > 0) {\n hints.push(\n `${changes(refused)} would fail at publish. Fix each refused op in place with \\`draft amend <ref>\\` (or \\`draft remove <ref>\\` if it should not exist), then run \\`draft validate\\` again before asking the user to publish. Never tell the user a refused change will go live.`,\n );\n }\n if (blocked > 0) {\n hints.push(\n `${changes(blocked)} would not apply only because a refused change they depend on fails — fixing the refused one clears them.`,\n );\n }\n if (data.publishHeld) {\n hints.push(\n \"Baker would hold this whole publish: a refused change stops a first publish from sending anything. Fix it first.\",\n );\n }\n if (unchecked > 0) {\n hints.push(\n `${changes(unchecked)} can only be checked by Google at publish (the reason is on each one). Nothing here says they will fail.`,\n );\n }\n if (refused + blocked === 0 && !data.publishHeld && data.ops.length > 0) {\n hints.push(\n \"Google accepted every change it was asked about. The draft is ready for the user to review and publish.\",\n );\n }\n return hints;\n}\n\n/**\n * The `draft validate` envelope. Compact by default: counts for everything, and only the ops that\n * need attention listed — a 300-keyword draft that Google accepts reads as one line, not 300.\n * `full` keeps every op with its built request and Google's raw answer.\n */\nexport function validationEnvelope(\n data: GoogleDraftValidateResponse,\n full = false,\n): { ok: true; data: GoogleDraftValidateResponse; hints: string[] } {\n const ops = full ? data.ops : data.ops.filter((op) => !QUIET.has(op.verdict));\n return { ok: true, data: { ...data, ops }, hints: validationHints(data) };\n}\n"],"mappings":"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","names":[]}
|
package/dist/draft-6E7EQUCU.js
DELETED
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
draftAction,
|
|
3
|
-
draftList,
|
|
4
|
-
loadJsonArg,
|
|
5
|
-
requireTarget
|
|
6
|
-
} from "./chunk-BKIHYRQL.js";
|
|
7
|
-
import "./chunk-D5FY4FAK.js";
|
|
8
|
-
import "./chunk-MGWAZXY6.js";
|
|
9
|
-
import {
|
|
10
|
-
CHAT_READ_ARG
|
|
11
|
-
} from "./chunk-PFBQERWX.js";
|
|
12
|
-
import "./chunk-B2OHCWYB.js";
|
|
13
|
-
import "./chunk-SVUFNCOE.js";
|
|
14
|
-
import "./chunk-E54435XT.js";
|
|
15
|
-
import {
|
|
16
|
-
registerSchema
|
|
17
|
-
} from "./chunk-WCIS4FZH.js";
|
|
18
|
-
import "./chunk-YQSBHWOI.js";
|
|
19
|
-
|
|
20
|
-
// src/commands/tag-manager/draft.ts
|
|
21
|
-
import { defineCommand } from "citty";
|
|
22
|
-
registerSchema({
|
|
23
|
-
command: "tagManager.draft",
|
|
24
|
-
description: "Review and undo the Tag Manager changes staged on this chat. Use `list` to see everything staged, `show` to inspect one change in full before publish, `amend` to correct one in place, and `remove`/`clear` to drop them. `list` and `show` take --chat <id> to read an earlier chat's changes instead.",
|
|
25
|
-
args: {
|
|
26
|
-
json: { type: "boolean", description: "Print the raw JSON envelope instead of the readable list", required: false },
|
|
27
|
-
chat: { type: "string", description: CHAT_READ_ARG.description, required: false }
|
|
28
|
-
}
|
|
29
|
-
});
|
|
30
|
-
var draftCommand = defineCommand({
|
|
31
|
-
meta: {
|
|
32
|
-
name: "draft",
|
|
33
|
-
description: "List, show, amend, remove, or clear staged Tag Manager changes for this chat. `list` and `show` take --chat <id> to read an earlier chat's changes instead."
|
|
34
|
-
},
|
|
35
|
-
subCommands: {
|
|
36
|
-
list: defineCommand({
|
|
37
|
-
meta: {
|
|
38
|
-
name: "list",
|
|
39
|
-
description: "Review everything staged on this chat (--json for the raw envelope)"
|
|
40
|
-
},
|
|
41
|
-
args: {
|
|
42
|
-
json: { type: "boolean", description: "Print the raw JSON envelope", required: false },
|
|
43
|
-
chat: CHAT_READ_ARG
|
|
44
|
-
},
|
|
45
|
-
run: async ({ args }) => {
|
|
46
|
-
await draftList(args.json === true, args.chat);
|
|
47
|
-
}
|
|
48
|
-
}),
|
|
49
|
-
show: defineCommand({
|
|
50
|
-
meta: {
|
|
51
|
-
name: "show",
|
|
52
|
-
description: "Print the full staged payload for one change \u2014 the receipt to verify it looks right before publish (never truncated)."
|
|
53
|
-
},
|
|
54
|
-
args: {
|
|
55
|
-
ref: { type: "positional", description: "Staged ref (gtm_temp_*) or target", required: false },
|
|
56
|
-
chat: CHAT_READ_ARG
|
|
57
|
-
},
|
|
58
|
-
run: async ({ args }) => {
|
|
59
|
-
await draftAction(
|
|
60
|
-
"/api/tag-manager/draft/show",
|
|
61
|
-
{ ref: requireTarget(args, "change") },
|
|
62
|
-
args.chat
|
|
63
|
-
);
|
|
64
|
-
}
|
|
65
|
-
}),
|
|
66
|
-
amend: defineCommand({
|
|
67
|
-
meta: {
|
|
68
|
-
name: "amend",
|
|
69
|
-
description: "Update a staged change in place \u2014 merges a JSON patch into its payload (objects deep-merge, null deletes a key, arrays/scalars replace) and re-validates. Use this instead of remove + re-create."
|
|
70
|
-
},
|
|
71
|
-
args: {
|
|
72
|
-
ref: { type: "positional", description: "Staged ref (gtm_temp_*) or target", required: false },
|
|
73
|
-
patch: { type: "string", description: "Inline JSON patch object", required: false },
|
|
74
|
-
file: { type: "string", description: "JSON file with the patch object", required: false }
|
|
75
|
-
},
|
|
76
|
-
run: async ({ args }) => {
|
|
77
|
-
await draftAction("/api/tag-manager/draft/amend", {
|
|
78
|
-
ref: requireTarget(args, "change"),
|
|
79
|
-
patch: loadJsonArg(args, "patch")
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
|
-
}),
|
|
83
|
-
remove: defineCommand({
|
|
84
|
-
meta: { name: "remove", description: "Remove one staged change (cascades to anything depending on it)" },
|
|
85
|
-
args: { ref: { type: "positional", description: "Staged ref (gtm_temp_*) or target", required: false } },
|
|
86
|
-
run: async ({ args }) => {
|
|
87
|
-
await draftAction("/api/tag-manager/draft/remove", {
|
|
88
|
-
ref: requireTarget(args, "change")
|
|
89
|
-
});
|
|
90
|
-
}
|
|
91
|
-
}),
|
|
92
|
-
clear: defineCommand({
|
|
93
|
-
meta: { name: "clear", description: "Discard all Tag Manager changes staged on this chat" },
|
|
94
|
-
run: async () => {
|
|
95
|
-
await draftAction("/api/tag-manager/draft/clear", {});
|
|
96
|
-
}
|
|
97
|
-
})
|
|
98
|
-
}
|
|
99
|
-
});
|
|
100
|
-
export {
|
|
101
|
-
draftCommand
|
|
102
|
-
};
|
|
103
|
-
//# sourceMappingURL=draft-6E7EQUCU.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/commands/tag-manager/draft.ts"],"sourcesContent":["import { defineCommand } from \"citty\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport { CHAT_READ_ARG } from \"../chat-arg.ts\";\nimport { draftAction, draftList, loadJsonArg, requireTarget } from \"./shared.ts\";\n\nregisterSchema({\n command: \"tagManager.draft\",\n description:\n \"Review and undo the Tag Manager changes staged on this chat. Use `list` to see everything staged, `show` to inspect one change in full before publish, `amend` to correct one in place, and `remove`/`clear` to drop them. `list` and `show` take --chat <id> to read an earlier chat's changes instead.\",\n args: {\n json: { type: \"boolean\", description: \"Print the raw JSON envelope instead of the readable list\", required: false },\n chat: { type: \"string\", description: CHAT_READ_ARG.description, required: false },\n },\n});\n\nexport const draftCommand = defineCommand({\n meta: {\n name: \"draft\",\n description:\n \"List, show, amend, remove, or clear staged Tag Manager changes for this chat. `list` and `show` take --chat <id> to read an earlier chat's changes instead.\",\n },\n subCommands: {\n list: defineCommand({\n meta: {\n name: \"list\",\n description: \"Review everything staged on this chat (--json for the raw envelope)\",\n },\n args: {\n json: { type: \"boolean\", description: \"Print the raw JSON envelope\", required: false },\n chat: CHAT_READ_ARG,\n },\n run: async ({ args }) => {\n await draftList(args.json === true, args.chat);\n },\n }),\n show: defineCommand({\n meta: {\n name: \"show\",\n description:\n \"Print the full staged payload for one change — the receipt to verify it looks right before publish (never truncated).\",\n },\n args: {\n ref: { type: \"positional\", description: \"Staged ref (gtm_temp_*) or target\", required: false },\n chat: CHAT_READ_ARG,\n },\n run: async ({ args }) => {\n await draftAction(\n \"/api/tag-manager/draft/show\",\n { ref: requireTarget(args as Record<string, unknown>, \"change\") },\n args.chat,\n );\n },\n }),\n amend: defineCommand({\n meta: {\n name: \"amend\",\n description:\n \"Update a staged change in place — merges a JSON patch into its payload (objects deep-merge, null deletes a key, arrays/scalars replace) and re-validates. Use this instead of remove + re-create.\",\n },\n args: {\n ref: { type: \"positional\", description: \"Staged ref (gtm_temp_*) or target\", required: false },\n patch: { type: \"string\", description: \"Inline JSON patch object\", required: false },\n file: { type: \"string\", description: \"JSON file with the patch object\", required: false },\n },\n run: async ({ args }) => {\n await draftAction(\"/api/tag-manager/draft/amend\", {\n ref: requireTarget(args as Record<string, unknown>, \"change\"),\n patch: loadJsonArg(args as Record<string, unknown>, \"patch\"),\n });\n },\n }),\n remove: defineCommand({\n meta: { name: \"remove\", description: \"Remove one staged change (cascades to anything depending on it)\" },\n args: { ref: { type: \"positional\", description: \"Staged ref (gtm_temp_*) or target\", required: false } },\n run: async ({ args }) => {\n await draftAction(\"/api/tag-manager/draft/remove\", {\n ref: requireTarget(args as Record<string, unknown>, \"change\"),\n });\n },\n }),\n clear: defineCommand({\n meta: { name: \"clear\", description: \"Discard all Tag Manager changes staged on this chat\" },\n run: async () => {\n await draftAction(\"/api/tag-manager/draft/clear\", {});\n },\n }),\n },\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,SAAS,qBAAqB;AAK9B,eAAe;AAAA,EACb,SAAS;AAAA,EACT,aACE;AAAA,EACF,MAAM;AAAA,IACJ,MAAM,EAAE,MAAM,WAAW,aAAa,4DAA4D,UAAU,MAAM;AAAA,IAClH,MAAM,EAAE,MAAM,UAAU,aAAa,cAAc,aAAa,UAAU,MAAM;AAAA,EAClF;AACF,CAAC;AAEM,IAAM,eAAe,cAAc;AAAA,EACxC,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aACE;AAAA,EACJ;AAAA,EACA,aAAa;AAAA,IACX,MAAM,cAAc;AAAA,MAClB,MAAM;AAAA,QACJ,MAAM;AAAA,QACN,aAAa;AAAA,MACf;AAAA,MACA,MAAM;AAAA,QACJ,MAAM,EAAE,MAAM,WAAW,aAAa,+BAA+B,UAAU,MAAM;AAAA,QACrF,MAAM;AAAA,MACR;AAAA,MACA,KAAK,OAAO,EAAE,KAAK,MAAM;AACvB,cAAM,UAAU,KAAK,SAAS,MAAM,KAAK,IAAI;AAAA,MAC/C;AAAA,IACF,CAAC;AAAA,IACD,MAAM,cAAc;AAAA,MAClB,MAAM;AAAA,QACJ,MAAM;AAAA,QACN,aACE;AAAA,MACJ;AAAA,MACA,MAAM;AAAA,QACJ,KAAK,EAAE,MAAM,cAAc,aAAa,qCAAqC,UAAU,MAAM;AAAA,QAC7F,MAAM;AAAA,MACR;AAAA,MACA,KAAK,OAAO,EAAE,KAAK,MAAM;AACvB,cAAM;AAAA,UACJ;AAAA,UACA,EAAE,KAAK,cAAc,MAAiC,QAAQ,EAAE;AAAA,UAChE,KAAK;AAAA,QACP;AAAA,MACF;AAAA,IACF,CAAC;AAAA,IACD,OAAO,cAAc;AAAA,MACnB,MAAM;AAAA,QACJ,MAAM;AAAA,QACN,aACE;AAAA,MACJ;AAAA,MACA,MAAM;AAAA,QACJ,KAAK,EAAE,MAAM,cAAc,aAAa,qCAAqC,UAAU,MAAM;AAAA,QAC7F,OAAO,EAAE,MAAM,UAAU,aAAa,4BAA4B,UAAU,MAAM;AAAA,QAClF,MAAM,EAAE,MAAM,UAAU,aAAa,mCAAmC,UAAU,MAAM;AAAA,MAC1F;AAAA,MACA,KAAK,OAAO,EAAE,KAAK,MAAM;AACvB,cAAM,YAAY,gCAAgC;AAAA,UAChD,KAAK,cAAc,MAAiC,QAAQ;AAAA,UAC5D,OAAO,YAAY,MAAiC,OAAO;AAAA,QAC7D,CAAC;AAAA,MACH;AAAA,IACF,CAAC;AAAA,IACD,QAAQ,cAAc;AAAA,MACpB,MAAM,EAAE,MAAM,UAAU,aAAa,kEAAkE;AAAA,MACvG,MAAM,EAAE,KAAK,EAAE,MAAM,cAAc,aAAa,qCAAqC,UAAU,MAAM,EAAE;AAAA,MACvG,KAAK,OAAO,EAAE,KAAK,MAAM;AACvB,cAAM,YAAY,iCAAiC;AAAA,UACjD,KAAK,cAAc,MAAiC,QAAQ;AAAA,QAC9D,CAAC;AAAA,MACH;AAAA,IACF,CAAC;AAAA,IACD,OAAO,cAAc;AAAA,MACnB,MAAM,EAAE,MAAM,SAAS,aAAa,sDAAsD;AAAA,MAC1F,KAAK,YAAY;AACf,cAAM,YAAY,gCAAgC,CAAC,CAAC;AAAA,MACtD;AAAA,IACF,CAAC;AAAA,EACH;AACF,CAAC;","names":[]}
|
package/dist/draft-BGCCVIZI.js
DELETED
|
@@ -1,310 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
loadPatchArg,
|
|
3
|
-
requireTarget
|
|
4
|
-
} from "./chunk-CVTWKHWZ.js";
|
|
5
|
-
import {
|
|
6
|
-
handleLinkedinError
|
|
7
|
-
} from "./chunk-JAFTWN3A.js";
|
|
8
|
-
import "./chunk-3W4IORXH.js";
|
|
9
|
-
import "./chunk-4NZ47VXO.js";
|
|
10
|
-
import {
|
|
11
|
-
hintLines
|
|
12
|
-
} from "./chunk-D5FY4FAK.js";
|
|
13
|
-
import "./chunk-NGQ5J4FV.js";
|
|
14
|
-
import {
|
|
15
|
-
writeJsonEnvelope
|
|
16
|
-
} from "./chunk-MGWAZXY6.js";
|
|
17
|
-
import "./chunk-VWOKPC3T.js";
|
|
18
|
-
import "./chunk-BGT5ZA4L.js";
|
|
19
|
-
import "./chunk-JF2XP76K.js";
|
|
20
|
-
import "./chunk-SYLPRIFM.js";
|
|
21
|
-
import "./chunk-XBR7TSZN.js";
|
|
22
|
-
import "./chunk-DGUN7FUH.js";
|
|
23
|
-
import {
|
|
24
|
-
CHAT_READ_ARG
|
|
25
|
-
} from "./chunk-PFBQERWX.js";
|
|
26
|
-
import "./chunk-3S3TVLAV.js";
|
|
27
|
-
import "./chunk-QV6AST5T.js";
|
|
28
|
-
import "./chunk-WCU362Z6.js";
|
|
29
|
-
import "./chunk-GIWHHCD6.js";
|
|
30
|
-
import "./chunk-SOPVIIUW.js";
|
|
31
|
-
import "./chunk-G4FG5EQO.js";
|
|
32
|
-
import "./chunk-NSBNIPIW.js";
|
|
33
|
-
import "./chunk-BNO3EFGR.js";
|
|
34
|
-
import {
|
|
35
|
-
apiPost
|
|
36
|
-
} from "./chunk-B2OHCWYB.js";
|
|
37
|
-
import "./chunk-SVUFNCOE.js";
|
|
38
|
-
import {
|
|
39
|
-
requireChatId,
|
|
40
|
-
resolveChatId
|
|
41
|
-
} from "./chunk-E54435XT.js";
|
|
42
|
-
import "./chunk-WCIS4FZH.js";
|
|
43
|
-
import "./chunk-YQSBHWOI.js";
|
|
44
|
-
|
|
45
|
-
// src/commands/ads/linkedin/draft.ts
|
|
46
|
-
import { defineCommand } from "citty";
|
|
47
|
-
|
|
48
|
-
// src/commands/ads/linkedin/draft-status.ts
|
|
49
|
-
var OPERATION_LABELS = {
|
|
50
|
-
create: "Creating",
|
|
51
|
-
update: "Updating",
|
|
52
|
-
pause: "Pausing",
|
|
53
|
-
resume: "Resuming",
|
|
54
|
-
archive: "Archiving",
|
|
55
|
-
delete: "Deleting"
|
|
56
|
-
};
|
|
57
|
-
function badge(node) {
|
|
58
|
-
const label = node.operation ? OPERATION_LABELS[node.operation] : void 0;
|
|
59
|
-
if (label) {
|
|
60
|
-
return label;
|
|
61
|
-
}
|
|
62
|
-
return node.existing ? "on LinkedIn" : "staged";
|
|
63
|
-
}
|
|
64
|
-
function collectionLine(collection) {
|
|
65
|
-
const parts = [];
|
|
66
|
-
if (collection.added > 0) {
|
|
67
|
-
parts.push(`+${collection.added}`);
|
|
68
|
-
}
|
|
69
|
-
if (collection.existing > 0) {
|
|
70
|
-
parts.push(`${collection.existing} existing`);
|
|
71
|
-
}
|
|
72
|
-
if (collection.removed > 0) {
|
|
73
|
-
parts.push(`-${collection.removed}`);
|
|
74
|
-
}
|
|
75
|
-
return parts.length > 0 ? `${collection.label}: ${parts.join(", ")}` : void 0;
|
|
76
|
-
}
|
|
77
|
-
function accountsInTree(nodes) {
|
|
78
|
-
const accounts = /* @__PURE__ */ new Set();
|
|
79
|
-
const walk = (node) => {
|
|
80
|
-
accounts.add(node.accountId);
|
|
81
|
-
for (const child of node.children) {
|
|
82
|
-
walk(child);
|
|
83
|
-
}
|
|
84
|
-
};
|
|
85
|
-
for (const node of nodes) {
|
|
86
|
-
walk(node);
|
|
87
|
-
}
|
|
88
|
-
return accounts;
|
|
89
|
-
}
|
|
90
|
-
function renderNode(node, depth, lines, showAccount) {
|
|
91
|
-
const indent = " ".repeat(depth);
|
|
92
|
-
const account = showAccount ? ` \xB7 account ${node.accountId}` : "";
|
|
93
|
-
lines.push(`${indent}\u2022 ${node.name} \xB7 ${badge(node)}${account}`);
|
|
94
|
-
for (const warning of node.warnings ?? []) {
|
|
95
|
-
lines.push(`${indent} \u26A0 ${warning}`);
|
|
96
|
-
}
|
|
97
|
-
for (const collection of node.collections) {
|
|
98
|
-
const line = collectionLine(collection);
|
|
99
|
-
if (line) {
|
|
100
|
-
lines.push(`${indent} ${line}`);
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
for (const child of node.children) {
|
|
104
|
-
renderNode(child, depth + 1, lines, showAccount);
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
function renderSection(title, nodes, lines, showAccount) {
|
|
108
|
-
if (nodes.length === 0) {
|
|
109
|
-
return;
|
|
110
|
-
}
|
|
111
|
-
lines.push("");
|
|
112
|
-
lines.push(title);
|
|
113
|
-
for (const node of nodes) {
|
|
114
|
-
renderNode(node, 1, lines, showAccount);
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
var CAMPAIGN_TREE_ENTITIES = /* @__PURE__ */ new Set(["campaignGroup", "campaign", "creative"]);
|
|
118
|
-
function renderOutcome(data, lines) {
|
|
119
|
-
const counts = /* @__PURE__ */ new Map();
|
|
120
|
-
for (const op of data.ops ?? []) {
|
|
121
|
-
const status = op.result?.status ?? "pending";
|
|
122
|
-
counts.set(status, (counts.get(status) ?? 0) + 1);
|
|
123
|
-
}
|
|
124
|
-
const summary = [...counts].map(([status, count]) => `${count} ${status}`).join(", ");
|
|
125
|
-
lines.push(`LinkedIn Ads \u2014 published \xB7 ${summary || `${data.count} op(s)`} \xB7 ${data.mode}`);
|
|
126
|
-
for (const op of data.ops ?? []) {
|
|
127
|
-
const status = op.result?.status;
|
|
128
|
-
if (status === "applied" && op.result?.error) {
|
|
129
|
-
lines.push(` \u26A0 ${op.summary} \u2014 applied in part: ${op.result.error}`);
|
|
130
|
-
continue;
|
|
131
|
-
}
|
|
132
|
-
if (status !== "failed" && status !== "skipped") {
|
|
133
|
-
continue;
|
|
134
|
-
}
|
|
135
|
-
const reason = op.result?.error ?? op.result?.skippedBecause ?? "no reason recorded";
|
|
136
|
-
lines.push(` \u2717 ${op.summary} \u2014 ${status}: ${reason}`);
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
function renderDraftStatus(data) {
|
|
140
|
-
if (data.status === "none" || data.count === 0) {
|
|
141
|
-
return "No staged LinkedIn changes on this chat.";
|
|
142
|
-
}
|
|
143
|
-
const modeNote = data.mode === "live" ? "Live \u2014 publishing writes directly to LinkedIn." : "Simulated \u2014 publishing completes the whole draft without calling LinkedIn.";
|
|
144
|
-
const lines = [];
|
|
145
|
-
if (data.status === "applied") {
|
|
146
|
-
renderOutcome(data, lines);
|
|
147
|
-
} else if (data.status === "publishing") {
|
|
148
|
-
lines.push(`LinkedIn Ads \u2014 publishing ${data.count} change${data.count === 1 ? "" : "s"} \xB7 ${data.mode}`);
|
|
149
|
-
} else {
|
|
150
|
-
lines.push(`LinkedIn Ads \u2014 ${data.count} staged change${data.count === 1 ? "" : "s"} \xB7 ${data.mode}`);
|
|
151
|
-
}
|
|
152
|
-
lines.push(modeNote);
|
|
153
|
-
const tree = data.tree ?? [];
|
|
154
|
-
const showAccount = accountsInTree(tree).size > 1;
|
|
155
|
-
renderSection(
|
|
156
|
-
"Campaigns",
|
|
157
|
-
tree.filter((node) => CAMPAIGN_TREE_ENTITIES.has(node.entity)),
|
|
158
|
-
lines,
|
|
159
|
-
showAccount
|
|
160
|
-
);
|
|
161
|
-
const rest = tree.filter((node) => !CAMPAIGN_TREE_ENTITIES.has(node.entity));
|
|
162
|
-
renderSection("Other", rest, lines, showAccount);
|
|
163
|
-
return lines.join("\n");
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
// src/commands/ads/linkedin/draft.ts
|
|
167
|
-
async function listDraft(json, chat) {
|
|
168
|
-
try {
|
|
169
|
-
const chatId = resolveChatId(chat);
|
|
170
|
-
const response = await apiPost("/api/ads/linkedin/draft", {
|
|
171
|
-
chatId
|
|
172
|
-
});
|
|
173
|
-
if (json || !response.ok || !response.data) {
|
|
174
|
-
writeJsonEnvelope(response);
|
|
175
|
-
return;
|
|
176
|
-
}
|
|
177
|
-
process.stdout.write(`${renderDraftStatus(response.data)}${hintLines(response)}
|
|
178
|
-
`);
|
|
179
|
-
} catch (err) {
|
|
180
|
-
handleLinkedinError(err);
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
var listCommand = defineCommand({
|
|
184
|
-
meta: {
|
|
185
|
-
name: "list",
|
|
186
|
-
description: "Review everything staged as a Campaign group \u25B8 Campaign \u25B8 Creative tree (--json for the raw envelope). Example: baker ads linkedin draft"
|
|
187
|
-
},
|
|
188
|
-
args: {
|
|
189
|
-
json: { type: "boolean", description: "Print the raw JSON envelope instead of the readable tree" },
|
|
190
|
-
chat: CHAT_READ_ARG
|
|
191
|
-
},
|
|
192
|
-
run: async ({ args }) => {
|
|
193
|
-
await listDraft(args.json === true, args.chat);
|
|
194
|
-
}
|
|
195
|
-
});
|
|
196
|
-
var removeCommand = defineCommand({
|
|
197
|
-
meta: {
|
|
198
|
-
name: "remove",
|
|
199
|
-
description: "Drop one staged LinkedIn op. Removing a create cascades to everything that depends on it \u2014 except a company exclusion, which only loses the removed audience and keeps its companies (listed under `updated`). Example: baker ads linkedin draft remove li_temp_abc123"
|
|
200
|
-
},
|
|
201
|
-
args: {
|
|
202
|
-
ref: {
|
|
203
|
-
type: "positional",
|
|
204
|
-
description: "Op ref (li_temp_* for creates, target id/URN for updates)",
|
|
205
|
-
required: true
|
|
206
|
-
}
|
|
207
|
-
},
|
|
208
|
-
run: async ({ args }) => {
|
|
209
|
-
try {
|
|
210
|
-
const chatId = requireChatId();
|
|
211
|
-
const response = await apiPost(
|
|
212
|
-
"/api/ads/linkedin/draft/remove",
|
|
213
|
-
{ chatId, ref: args.ref }
|
|
214
|
-
);
|
|
215
|
-
writeJsonEnvelope(response);
|
|
216
|
-
} catch (err) {
|
|
217
|
-
handleLinkedinError(err);
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
});
|
|
221
|
-
var clearCommand = defineCommand({
|
|
222
|
-
meta: {
|
|
223
|
-
name: "clear",
|
|
224
|
-
description: "Discard ALL staged LinkedIn ops in this chat's draft \u2014 nothing will apply on publish. Example: baker ads linkedin draft clear"
|
|
225
|
-
},
|
|
226
|
-
run: async () => {
|
|
227
|
-
try {
|
|
228
|
-
const chatId = requireChatId();
|
|
229
|
-
const response = await apiPost("/api/ads/linkedin/draft/clear", {
|
|
230
|
-
chatId
|
|
231
|
-
});
|
|
232
|
-
writeJsonEnvelope(response);
|
|
233
|
-
} catch (err) {
|
|
234
|
-
handleLinkedinError(err);
|
|
235
|
-
}
|
|
236
|
-
}
|
|
237
|
-
});
|
|
238
|
-
var amendCommand = defineCommand({
|
|
239
|
-
meta: {
|
|
240
|
-
name: "amend",
|
|
241
|
-
description: "Update a staged op in place \u2014 merges a JSON patch into its payload (RFC-7386: objects deep-merge, null deletes a key, arrays/scalars replace) and re-validates. Use this instead of remove + re-create."
|
|
242
|
-
},
|
|
243
|
-
args: {
|
|
244
|
-
ref: { type: "positional", description: "Staged op ref (li_temp_*) or target id/URN", required: true },
|
|
245
|
-
file: { type: "string", description: "JSON file with the patch object" },
|
|
246
|
-
patch: { type: "string", description: "Inline JSON patch object" }
|
|
247
|
-
},
|
|
248
|
-
run: async ({ args }) => {
|
|
249
|
-
const ref = requireTarget(args, "op");
|
|
250
|
-
const patch = loadPatchArg(args);
|
|
251
|
-
try {
|
|
252
|
-
const chatId = requireChatId();
|
|
253
|
-
const body = { chatId, ref, patch };
|
|
254
|
-
const response = await apiPost(
|
|
255
|
-
"/api/ads/linkedin/draft/amend",
|
|
256
|
-
body
|
|
257
|
-
);
|
|
258
|
-
writeJsonEnvelope(response);
|
|
259
|
-
} catch (err) {
|
|
260
|
-
handleLinkedinError(err);
|
|
261
|
-
}
|
|
262
|
-
}
|
|
263
|
-
});
|
|
264
|
-
var showCommand = defineCommand({
|
|
265
|
-
meta: {
|
|
266
|
-
name: "show",
|
|
267
|
-
description: "Print the full staged payload for one op \u2014 the receipt to verify a change looks right before publish (never truncated)."
|
|
268
|
-
},
|
|
269
|
-
args: {
|
|
270
|
-
ref: { type: "positional", description: "Staged op ref (li_temp_*) or target id/URN", required: true },
|
|
271
|
-
chat: CHAT_READ_ARG
|
|
272
|
-
},
|
|
273
|
-
run: async ({ args }) => {
|
|
274
|
-
const ref = requireTarget(args, "op");
|
|
275
|
-
try {
|
|
276
|
-
const chatId = resolveChatId(args.chat);
|
|
277
|
-
const body = { chatId, ref };
|
|
278
|
-
const response = await apiPost(
|
|
279
|
-
"/api/ads/linkedin/draft/show",
|
|
280
|
-
body
|
|
281
|
-
);
|
|
282
|
-
writeJsonEnvelope(response);
|
|
283
|
-
} catch (err) {
|
|
284
|
-
handleLinkedinError(err);
|
|
285
|
-
}
|
|
286
|
-
}
|
|
287
|
-
});
|
|
288
|
-
var linkedinDraftCommand = defineCommand({
|
|
289
|
-
meta: {
|
|
290
|
-
name: "draft",
|
|
291
|
-
description: "Review and edit the LinkedIn write ops staged in this chat BEFORE publish. Subcommands: list (default), remove, clear, amend, show. Ops never hit LinkedIn until the chat is published. `list` and `show` take --chat <id> to read an earlier chat's changes instead."
|
|
292
|
-
},
|
|
293
|
-
// Declared on the parent too: `default: "list"` dispatches the bare `draft --chat <id>` form, and
|
|
294
|
-
// citty prints help for a flag the parent does not know instead of forwarding it.
|
|
295
|
-
args: { chat: CHAT_READ_ARG },
|
|
296
|
-
subCommands: {
|
|
297
|
-
list: listCommand,
|
|
298
|
-
remove: removeCommand,
|
|
299
|
-
clear: clearCommand,
|
|
300
|
-
amend: amendCommand,
|
|
301
|
-
show: showCommand
|
|
302
|
-
},
|
|
303
|
-
// A parent must never declare `run`: citty falls through to it *after* running
|
|
304
|
-
// the matched subcommand, so `draft show <ref>` would also re-list the draft.
|
|
305
|
-
default: "list"
|
|
306
|
-
});
|
|
307
|
-
export {
|
|
308
|
-
linkedinDraftCommand
|
|
309
|
-
};
|
|
310
|
-
//# sourceMappingURL=draft-BGCCVIZI.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/commands/ads/linkedin/draft.ts","../src/commands/ads/linkedin/draft-status.ts"],"sourcesContent":["import type {\n LinkedinDraftAmendRequest,\n LinkedinDraftClearResponse,\n LinkedinDraftListResponse,\n LinkedinDraftRemoveResponse,\n LinkedinDraftShowRequest,\n LinkedinDraftShowResponse,\n LinkedinDraftStageResponse,\n} from \"@baker/api\";\nimport { defineCommand } from \"citty\";\nimport { apiPost } from \"../../../client.ts\";\nimport { requireChatId, resolveChatId } from \"../../../env.ts\";\nimport { CHAT_READ_ARG } from \"../../chat-arg.ts\";\nimport { hintLines } from \"../hints.ts\";\nimport { writeJsonEnvelope } from \"../output.ts\";\nimport { renderDraftStatus } from \"./draft-status.ts\";\nimport { handleLinkedinError } from \"./shared.ts\";\nimport { loadPatchArg, requireTarget } from \"./write-shared.ts\";\n\n/**\n * List the staged draft. By default renders a readable Campaign group ▸ Campaign ▸ Creative status\n * tree so the agent can review everything it has staged at a glance; `--json` returns the raw\n * envelope for tools.\n */\nasync function listDraft(json: boolean, chat?: unknown): Promise<void> {\n try {\n const chatId = resolveChatId(chat);\n const response = await apiPost<{ ok: boolean; data?: LinkedinDraftListResponse }>(\"/api/ads/linkedin/draft\", {\n chatId,\n });\n if (json || !response.ok || !response.data) {\n writeJsonEnvelope(response);\n return;\n }\n process.stdout.write(`${renderDraftStatus(response.data)}${hintLines(response)}\\n`);\n } catch (err) {\n handleLinkedinError(err);\n }\n}\n\nconst listCommand = defineCommand({\n meta: {\n name: \"list\",\n description:\n \"Review everything staged as a Campaign group ▸ Campaign ▸ Creative tree (--json for the raw envelope). Example: baker ads linkedin draft\",\n },\n args: {\n json: { type: \"boolean\", description: \"Print the raw JSON envelope instead of the readable tree\" },\n chat: CHAT_READ_ARG,\n },\n run: async ({ args }) => {\n await listDraft(args.json === true, args.chat);\n },\n});\n\nconst removeCommand = defineCommand({\n meta: {\n name: \"remove\",\n description:\n \"Drop one staged LinkedIn op. Removing a create cascades to everything that depends on it — except a company exclusion, which only loses the removed audience and keeps its companies (listed under `updated`). Example: baker ads linkedin draft remove li_temp_abc123\",\n },\n args: {\n ref: {\n type: \"positional\",\n description: \"Op ref (li_temp_* for creates, target id/URN for updates)\",\n required: true,\n },\n },\n run: async ({ args }) => {\n try {\n const chatId = requireChatId();\n const response = await apiPost<{ ok: true; data: LinkedinDraftRemoveResponse }>(\n \"/api/ads/linkedin/draft/remove\",\n { chatId, ref: args.ref },\n );\n writeJsonEnvelope(response);\n } catch (err) {\n handleLinkedinError(err);\n }\n },\n});\n\nconst clearCommand = defineCommand({\n meta: {\n name: \"clear\",\n description:\n \"Discard ALL staged LinkedIn ops in this chat's draft — nothing will apply on publish. Example: baker ads linkedin draft clear\",\n },\n run: async () => {\n try {\n const chatId = requireChatId();\n const response = await apiPost<{ ok: true; data: LinkedinDraftClearResponse }>(\"/api/ads/linkedin/draft/clear\", {\n chatId,\n });\n writeJsonEnvelope(response);\n } catch (err) {\n handleLinkedinError(err);\n }\n },\n});\n\nconst amendCommand = defineCommand({\n meta: {\n name: \"amend\",\n description:\n \"Update a staged op in place — merges a JSON patch into its payload (RFC-7386: objects deep-merge, null deletes a key, arrays/scalars replace) and re-validates. Use this instead of remove + re-create.\",\n },\n args: {\n ref: { type: \"positional\", description: \"Staged op ref (li_temp_*) or target id/URN\", required: true },\n file: { type: \"string\", description: \"JSON file with the patch object\" },\n patch: { type: \"string\", description: \"Inline JSON patch object\" },\n },\n run: async ({ args }) => {\n const ref = requireTarget(args as Record<string, unknown>, \"op\");\n const patch = loadPatchArg(args as Record<string, unknown>);\n try {\n const chatId = requireChatId();\n const body: LinkedinDraftAmendRequest = { chatId, ref, patch };\n const response = await apiPost<{ ok: true; data: LinkedinDraftStageResponse }>(\n \"/api/ads/linkedin/draft/amend\",\n body,\n );\n writeJsonEnvelope(response);\n } catch (err) {\n handleLinkedinError(err);\n }\n },\n});\n\nconst showCommand = defineCommand({\n meta: {\n name: \"show\",\n description:\n \"Print the full staged payload for one op — the receipt to verify a change looks right before publish (never truncated).\",\n },\n args: {\n ref: { type: \"positional\", description: \"Staged op ref (li_temp_*) or target id/URN\", required: true },\n chat: CHAT_READ_ARG,\n },\n run: async ({ args }) => {\n const ref = requireTarget(args as Record<string, unknown>, \"op\");\n try {\n const chatId = resolveChatId(args.chat);\n const body: LinkedinDraftShowRequest = { chatId, ref };\n const response = await apiPost<{ ok: true; data: LinkedinDraftShowResponse }>(\n \"/api/ads/linkedin/draft/show\",\n body,\n );\n writeJsonEnvelope(response);\n } catch (err) {\n handleLinkedinError(err);\n }\n },\n});\n\nexport const linkedinDraftCommand = defineCommand({\n meta: {\n name: \"draft\",\n description:\n \"Review and edit the LinkedIn write ops staged in this chat BEFORE publish. Subcommands: list (default), remove, clear, amend, show. Ops never hit LinkedIn until the chat is published. `list` and `show` take --chat <id> to read an earlier chat's changes instead.\",\n },\n // Declared on the parent too: `default: \"list\"` dispatches the bare `draft --chat <id>` form, and\n // citty prints help for a flag the parent does not know instead of forwarding it.\n args: { chat: CHAT_READ_ARG },\n subCommands: {\n list: listCommand,\n remove: removeCommand,\n clear: clearCommand,\n amend: amendCommand,\n show: showCommand,\n },\n // A parent must never declare `run`: citty falls through to it *after* running\n // the matched subcommand, so `draft show <ref>` would also re-list the draft.\n default: \"list\",\n});\n","import type { LinkedinDraftListResponse, LinkedinDraftStatusCollection, LinkedinDraftStatusNode } from \"@baker/api\";\n\n/**\n * Render the staged LinkedIn draft as a readable Campaign group ▸ Campaign ▸ Creative tree — the\n * CLI counterpart to `ads google draft list`'s campaign ▸ ad group ▸ ad tree, using the identical\n * node shape (`LinkedinDraftStatusNode` mirrors `GoogleDraftStatusNode`). Pure: takes the draft-list\n * response, returns text.\n */\n\nconst OPERATION_LABELS: Record<string, string> = {\n create: \"Creating\",\n update: \"Updating\",\n pause: \"Pausing\",\n resume: \"Resuming\",\n archive: \"Archiving\",\n delete: \"Deleting\",\n};\n\nfunction badge(node: LinkedinDraftStatusNode): string {\n const label = node.operation ? OPERATION_LABELS[node.operation] : undefined;\n if (label) {\n return label;\n }\n return node.existing ? \"on LinkedIn\" : \"staged\";\n}\n\nfunction collectionLine(collection: LinkedinDraftStatusCollection): string | undefined {\n const parts: string[] = [];\n if (collection.added > 0) {\n parts.push(`+${collection.added}`);\n }\n if (collection.existing > 0) {\n parts.push(`${collection.existing} existing`);\n }\n if (collection.removed > 0) {\n parts.push(`-${collection.removed}`);\n }\n return parts.length > 0 ? `${collection.label}: ${parts.join(\", \")}` : undefined;\n}\n\n/**\n * Every ad account the tree touches. A draft may legitimately span several, and\n * two accounts can hold identically-named campaigns — so the account is printed\n * on each node once there is more than one, and left off when there is not.\n */\nfunction accountsInTree(nodes: readonly LinkedinDraftStatusNode[]): Set<string> {\n const accounts = new Set<string>();\n const walk = (node: LinkedinDraftStatusNode): void => {\n accounts.add(node.accountId);\n for (const child of node.children) {\n walk(child);\n }\n };\n for (const node of nodes) {\n walk(node);\n }\n return accounts;\n}\n\nfunction renderNode(node: LinkedinDraftStatusNode, depth: number, lines: string[], showAccount: boolean): void {\n const indent = \" \".repeat(depth);\n const account = showAccount ? ` · account ${node.accountId}` : \"\";\n lines.push(`${indent}• ${node.name} · ${badge(node)}${account}`);\n for (const warning of node.warnings ?? []) {\n lines.push(`${indent} ⚠ ${warning}`);\n }\n for (const collection of node.collections) {\n const line = collectionLine(collection);\n if (line) {\n lines.push(`${indent} ${line}`);\n }\n }\n for (const child of node.children) {\n renderNode(child, depth + 1, lines, showAccount);\n }\n}\n\nfunction renderSection(title: string, nodes: LinkedinDraftStatusNode[], lines: string[], showAccount: boolean): void {\n if (nodes.length === 0) {\n return;\n }\n lines.push(\"\");\n lines.push(title);\n for (const node of nodes) {\n renderNode(node, 1, lines, showAccount);\n }\n}\n\n/** Campaign group ▸ Campaign ▸ Creative roots go under \"Campaigns\" (campaign group is the group parent). */\nconst CAMPAIGN_TREE_ENTITIES = new Set([\"campaignGroup\", \"campaign\", \"creative\"]);\n\n/**\n * What the publish did, once there is a publish to report.\n *\n * A published draft used to render exactly like a staged one — same count, same\n * tree, no mention of the outcome — so the surface an agent reaches for to see\n * what a publish did could not answer, and a publish that changed LinkedIn and\n * then failed to finish was indistinguishable from one that had not run yet.\n * The per-op results were in the response the whole time; only the renderer\n * dropped them.\n */\nfunction renderOutcome(data: LinkedinDraftListResponse, lines: string[]): void {\n const counts = new Map<string, number>();\n for (const op of data.ops ?? []) {\n const status = op.result?.status ?? \"pending\";\n counts.set(status, (counts.get(status) ?? 0) + 1);\n }\n const summary = [...counts].map(([status, count]) => `${count} ${status}`).join(\", \");\n lines.push(`LinkedIn Ads — published · ${summary || `${data.count} op(s)`} · ${data.mode}`);\n // A failure is the reason to read this at all, so it is named with its error\n // rather than left as a number to go and look up.\n for (const op of data.ops ?? []) {\n const status = op.result?.status;\n // An audience whose segment was created but whose rule or rows did not\n // land is `applied` with an error: it exists on LinkedIn and stays empty.\n if (status === \"applied\" && op.result?.error) {\n lines.push(` ⚠ ${op.summary} — applied in part: ${op.result.error}`);\n continue;\n }\n if (status !== \"failed\" && status !== \"skipped\") {\n continue;\n }\n const reason = op.result?.error ?? op.result?.skippedBecause ?? \"no reason recorded\";\n lines.push(` ✗ ${op.summary} — ${status}: ${reason}`);\n }\n}\n\nexport function renderDraftStatus(data: LinkedinDraftListResponse): string {\n if (data.status === \"none\" || data.count === 0) {\n return \"No staged LinkedIn changes on this chat.\";\n }\n const modeNote =\n data.mode === \"live\"\n ? \"Live — publishing writes directly to LinkedIn.\"\n : \"Simulated — publishing completes the whole draft without calling LinkedIn.\";\n const lines: string[] = [];\n if (data.status === \"applied\") {\n renderOutcome(data, lines);\n } else if (data.status === \"publishing\") {\n lines.push(`LinkedIn Ads — publishing ${data.count} change${data.count === 1 ? \"\" : \"s\"} · ${data.mode}`);\n } else {\n lines.push(`LinkedIn Ads — ${data.count} staged change${data.count === 1 ? \"\" : \"s\"} · ${data.mode}`);\n }\n lines.push(modeNote);\n\n const tree = data.tree ?? [];\n const showAccount = accountsInTree(tree).size > 1;\n renderSection(\n \"Campaigns\",\n tree.filter((node) => CAMPAIGN_TREE_ENTITIES.has(node.entity)),\n lines,\n showAccount,\n );\n const rest = tree.filter((node) => !CAMPAIGN_TREE_ENTITIES.has(node.entity));\n renderSection(\"Other\", rest, lines, showAccount);\n\n return lines.join(\"\\n\");\n}\n"],"mappings":"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","names":[]}
|