@koda-sl/baker-cli 0.545.0-dev.2a6beac48 → 0.545.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 +2 -0
- package/dist/account-2HJ4GKHN.js +82 -0
- package/dist/account-6GKPLNDY.js +82 -0
- package/dist/account-reads-X36NPCX5.js +219 -0
- package/dist/account-users-FGL3DZES.js +64 -0
- package/dist/account-writes-FZ3KCJZY.js +68 -0
- package/dist/accounts-PKSW3DBQ.js +80 -0
- package/dist/accounts-S5C6MZFO.js +701 -0
- package/dist/actions-ARN3OFB7.js +55 -0
- package/dist/activecampaign-3YJC3H2R.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-CNYKQD7B.js +107 -0
- package/dist/add-IABKHM5N.js +305 -0
- package/dist/ads-LNWALF6G.js +79 -0
- package/dist/ads-UXHJCUTX.js +48 -0
- package/dist/advertisers-UT7EJ6YS.js +123 -0
- package/dist/analytics-COUVH7MV.js +447 -0
- package/dist/analytics-EHUUNMGZ.js +2437 -0
- package/dist/animate-DM4OUJMR.js +480 -0
- package/dist/assign-FWT5QQDF.js +80 -0
- package/dist/audience-size-YI2RLIG7.js +76 -0
- package/dist/audiences-7D5VPOWF.js +280 -0
- package/dist/audit-BPRRCIWN.js +154 -0
- package/dist/autocomplete-OD6SHZZH.js +114 -0
- package/dist/avatars-FFFPCH6D.js +38 -0
- package/dist/bid-pricing-JF557IO2.js +103 -0
- package/dist/brand-ZUYJWKI3.js +22 -0
- package/dist/brief-CJDBD5GJ.js +543 -0
- package/dist/campaign-groups-VCT6ZH66.js +99 -0
- package/dist/campaign-writes-H22P6YPW.js +176 -0
- package/dist/campaign-writes-YOHDMYDT.js +168 -0
- package/dist/campaigns-265JXD2Z.js +78 -0
- package/dist/campaigns-7EGRZ3V6.js +113 -0
- package/dist/campaigns-ORK5BYAM.js +111 -0
- package/dist/canvas-FW5F3KZJ.js +46 -0
- package/dist/capabilities-ISW7XT44.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-FH3DQNYD.js +449 -0
- package/dist/check-QC5RHS3Z.js +107 -0
- package/dist/chunk-2AC5GJHC.js +455 -0
- package/dist/chunk-2VSUMGJV.js +89 -0
- package/dist/chunk-4D73PLXU.js +843 -0
- package/dist/chunk-4S5ZAG4S.js +63 -0
- package/dist/chunk-5MMJPUBH.js +387 -0
- package/dist/chunk-5Y2XPKW2.js +156 -0
- package/dist/chunk-6HCYCMIH.js +61 -0
- package/dist/chunk-6R2BQ6FK.js +344 -0
- package/dist/chunk-7P74QKVC.js +297 -0
- package/dist/chunk-7SJU6PQ7.js +604 -0
- package/dist/chunk-A37TIYFD.js +91 -0
- package/dist/chunk-A6NVGPCZ.js +479 -0
- package/dist/chunk-AK7CL5IW.js +334 -0
- package/dist/chunk-AOT3UZBM.js +930 -0
- package/dist/chunk-D2ZAZGQH.js +547 -0
- package/dist/chunk-DYTBVVQX.js +679 -0
- package/dist/chunk-DYTBVVQX.js.map +1 -0
- package/dist/chunk-EB76M4ZH.js +19 -0
- package/dist/chunk-EBWOLUII.js +24026 -0
- package/dist/chunk-EBWOLUII.js.map +1 -0
- package/dist/chunk-EOMY5SUJ.js +783 -0
- package/dist/chunk-EY5WWPPZ.js +1902 -0
- package/dist/chunk-EZKT5YGX.js +23 -0
- package/dist/chunk-FVDC6AKZ.js +150 -0
- package/dist/chunk-GN7K3NPI.js +148 -0
- package/dist/chunk-GQAKWQAV.js +224 -0
- package/dist/chunk-HBDWE7WK.js +98 -0
- package/dist/chunk-HETNOUE4.js +377 -0
- package/dist/chunk-HFAT5S5B.js +170 -0
- package/dist/chunk-HQ3I2QVT.js +275 -0
- package/dist/chunk-IN5UCEJD.js +91 -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-KBZRG6IK.js +429 -0
- package/dist/chunk-KBZRG6IK.js.map +1 -0
- package/dist/chunk-KCRBAMFU.js +392 -0
- package/dist/chunk-KIXVHP2C.js +1919 -0
- package/dist/chunk-KTY7H44G.js +831 -0
- package/dist/chunk-LKOMEXUB.js +51 -0
- package/dist/chunk-LVKAMWKJ.js +163 -0
- package/dist/chunk-LWCGQNVU.js +685 -0
- package/dist/chunk-MCJ5I5LR.js +3187 -0
- package/dist/chunk-MCJ5I5LR.js.map +1 -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-N4AIJQ4W.js +438 -0
- package/dist/chunk-NBWZVBDG.js +131 -0
- package/dist/chunk-OKB2EAJH.js +8954 -0
- package/dist/chunk-OT2MN5UR.js +169 -0
- package/dist/chunk-OZR3KUJ3.js +57 -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-R65V26HH.js +7770 -0
- package/dist/chunk-R65V26HH.js.map +1 -0
- package/dist/chunk-RHEWQB5O.js +638 -0
- package/dist/chunk-RP36XHWT.js +46 -0
- package/dist/chunk-RXOQZA4K.js +66 -0
- package/dist/chunk-SEHJ7Y7J.js +207 -0
- package/dist/chunk-SNWFM2DB.js +228 -0
- package/dist/chunk-TAGRKRFI.js +103 -0
- package/dist/chunk-TARINRA4.js +1518 -0
- package/dist/chunk-TNZUMU55.js +167 -0
- package/dist/chunk-TP2NS5SG.js +191 -0
- package/dist/chunk-UOXC3XA5.js +494 -0
- package/dist/chunk-UQA6Z23M.js +142 -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-WJ5AHR4K.js +2209 -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-XYNQMRNX.js +5368 -0
- package/dist/chunk-YEISVDKW.js +203 -0
- package/dist/chunk-YNLWSP5E.js +910 -0
- package/dist/chunk-ZEUAJAKN.js +225 -0
- package/dist/chunk-ZUUVWWB5.js +197 -0
- package/dist/chunk-ZVAZFHH7.js +249 -0
- package/dist/claim-FBL5VBYZ.js +200 -0
- package/dist/cli.js +33 -33
- package/dist/companies-URRCAJZE.js +198 -0
- package/dist/company-LDCNUPHZ.js +308 -0
- package/dist/complete-3UGPO444.js +84 -0
- package/dist/config-3VK74MY6.js +88 -0
- package/dist/connect-M5KPZQWE.js +45 -0
- package/dist/conversation-S7YANZJR.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-QZL4DSJO.js +140 -0
- package/dist/create-56PJRLMA.js +62 -0
- package/dist/create-OE5MRW3X.js +210 -0
- package/dist/create-RL7PRIDY.js +239 -0
- package/dist/create-Y6YVJ5L4.js +135 -0
- package/dist/creatives-ESVH63AP.js +223 -0
- package/dist/creatives-URHXATY6.js +58 -0
- package/dist/credentials-O6QSB7ZR.js +290 -0
- package/dist/critique-EWJBOCXQ.js +1451 -0
- package/dist/critique-PTGGXRFG.js +232 -0
- package/dist/crm-F6RGNQH5.js +323 -0
- package/dist/crm-GLPOO22Q.js +227 -0
- package/dist/currency-CHBV6WIO.js +88 -0
- package/dist/customers-Q76FCWYO.js +65 -0
- package/dist/delete-ODFDZCL3.js +57 -0
- package/dist/delete-OVMPDGWQ.js +69 -0
- package/dist/delete-XN7N4S4H.js +67 -0
- package/dist/demographics-IY5RI55Z.js +141 -0
- package/dist/discard-GKIA5FML.js +69 -0
- package/dist/discover-ZU2DAV23.js +172 -0
- package/dist/domain-WGXA7OXV.js +101 -0
- package/dist/download-DYYNUGLX.js +172 -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-EX2I6UJB.js +313 -0
- package/dist/draft-EX2I6UJB.js.map +1 -0
- package/dist/draft-FSZMTGWI.js +106 -0
- package/dist/draft-FSZMTGWI.js.map +1 -0
- package/dist/draft-GKI6MB7L.js +342 -0
- package/dist/draft-GKI6MB7L.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/draft-VYIRZO3E.js +220 -0
- package/dist/engine/index.js +8 -8
- package/dist/experiments-6DOKWFH4.js +236 -0
- package/dist/facets-ZU5DT2QW.js +117 -0
- package/dist/feedback-RIUBM557.js +115 -0
- package/dist/feedback-record-3VVAUCOH.js +269 -0
- package/dist/fetch-T6TZCU74.js +204 -0
- package/dist/fit-YPOHTM7Y.js +65 -0
- package/dist/flows-CKVEZFF2.js +250 -0
- package/dist/fonts-3J3UVZ2E.js +39 -0
- package/dist/forecast-372Q6KQZ.js +169 -0
- package/dist/forecast-JEAFUR2O.js +121 -0
- package/dist/funnel-FBTNPTS7.js +397 -0
- package/dist/ga4-GDMHIFBU.js +55 -0
- package/dist/generate-JQIK3UYS.js +263 -0
- package/dist/get-5N5FCGNH.js +59 -0
- package/dist/get-EXHUQT65.js +82 -0
- package/dist/google-JHTOX6WM.js +3270 -0
- package/dist/google-ads-ZAYRCG2D.js +198 -0
- package/dist/history-4ULZ4BVV.js +153 -0
- package/dist/history-6J3XRNTZ.js +102 -0
- package/dist/history-VNLS2TKB.js +69 -0
- package/dist/hubspot-ZEHWWJHK.js +782 -0
- package/dist/ideas-SB6546GI.js +45 -0
- package/dist/images-LEZYVE7R.js +92 -0
- package/dist/ingest-4OOTCOLO.js +123 -0
- package/dist/ingest-KNJCCIBG.js +27 -0
- package/dist/insights-XY6II7TX.js +132 -0
- package/dist/inspect-MHKEYNIC.js +192 -0
- package/dist/intent-5QUPPZNI.js +95 -0
- package/dist/keyword-gap-IG3EFLDH.js +130 -0
- package/dist/keyword-metrics-EL7MO3H6.js +200 -0
- package/dist/keywords-for-site-I7KJLZ2I.js +131 -0
- package/dist/landing-Z3QGJYM3.js +28 -0
- package/dist/languages-LNHWSCMT.js +40 -0
- package/dist/leads-WQCTZYKT.js +115 -0
- package/dist/learn-6KW6TUVL.js +207 -0
- package/dist/line-item-writes-B2KSP36W.js +211 -0
- package/dist/line-items-3ICE5DBI.js +107 -0
- package/dist/link-QRQ34ZDH.js +67 -0
- package/dist/linkedin-D4RKHQPS.js +1330 -0
- package/dist/linkedin-D4RKHQPS.js.map +1 -0
- package/dist/linkedin-person-Y5TCUOXS.js +139 -0
- package/dist/list-6HZVHA6T.js +154 -0
- package/dist/list-CHYJ53JD.js +306 -0
- package/dist/list-XAMJSOGI.js +67 -0
- package/dist/locations-64JNCQID.js +69 -0
- package/dist/locations-KVAAO7LD.js +40 -0
- package/dist/log-PLXGA74X.js +95 -0
- package/dist/make-EP4YSN26.js +1367 -0
- package/dist/map-CAFMAMPP.js +436 -0
- package/dist/mcp-DDWSXLU7.js +729 -0
- package/dist/media-sources-J5FXYPV5.js +35 -0
- package/dist/members-ZA7S5KWP.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-ZHM2ZVXZ.js +144 -0
- package/dist/options-JTMDZECY.js +125 -0
- package/dist/organization-5OJEJEQV.js +949 -0
- package/dist/performance-AHVTOYTM.js +5565 -0
- package/dist/performance-S273NSUB.js +27 -0
- package/dist/pixels-H642RPK4.js +62 -0
- package/dist/plan-FRRE4YQC.js +208 -0
- package/dist/promoted-tweet-writes-UF6LYMH4.js +183 -0
- package/dist/promoted-tweets-Z4GG6D7P.js +119 -0
- package/dist/publish-YQ6MHS7P.js +344 -0
- package/dist/query-FT2BA3WH.js +62 -0
- package/dist/read-7ZFZAJSQ.js +141 -0
- package/dist/reddit-YWYRZBL2.js +29 -0
- package/dist/refresh-TEXTTECA.js +97 -0
- package/dist/release-3JDETBZI.js +63 -0
- package/dist/relevant-pages-OCHLUV5K.js +99 -0
- package/dist/remove-KZTSU4K2.js +53 -0
- package/dist/reopen-GIJSFNDH.js +66 -0
- package/dist/rerun-6UZNOPUG.js +96 -0
- package/dist/research-TMKG4NQJ.js +75 -0
- package/dist/research-XA2IJ2XV.js +265 -0
- package/dist/reset-7VL6WJLE.js +57 -0
- package/dist/reset-HLZ6JHGY.js +57 -0
- package/dist/resolve-H2QW3U5Y.js +124 -0
- package/dist/retry-MIZ67MPP.js +65 -0
- package/dist/retry-WSWW6EJT.js +63 -0
- package/dist/revenue-LTU7HRT2.js +91 -0
- package/dist/rules-BGBCUUPH.js +99 -0
- package/dist/rules-add-SZT2MSOD.js +465 -0
- package/dist/run-FHGT4UQ7.js +69 -0
- package/dist/run-XUDGECLL.js +71 -0
- package/dist/scaffold-ad-VXNO3SQP.js +1513 -0
- package/dist/scaffold-static-ad-FT55VV3T.js +1011 -0
- package/dist/scaffold-video-V7WX5AWZ.js +885 -0
- package/dist/schedule-BNRLEFMZ.js +64 -0
- package/dist/scheduled-agents-MAXXXJ7W.js +55 -0
- package/dist/schema-YADPD54K.js +135 -0
- package/dist/search-56ORG4PL.js +177 -0
- package/dist/select-DON4DMNM.js +110 -0
- package/dist/set-prompt-J22TUCRU.js +199 -0
- package/dist/setup-links-CHODCBYH.js +144 -0
- package/dist/shopify-FCYU4AR6.js +3980 -0
- package/dist/shopify-FCYU4AR6.js.map +1 -0
- package/dist/site-BF3Q26W5.js +180 -0
- package/dist/sources-SLCYAWTZ.js +457 -0
- package/dist/sources-VHHC6YQM.js +30 -0
- package/dist/stale-GLVTL2ZK.js +90 -0
- package/dist/status-E3RA644P.js +65 -0
- package/dist/studio-6ZXUKA4G.js +49 -0
- package/dist/sync-6QCDDJMO.js +57 -0
- package/dist/sync-definition-DXNHGY5E.js +70 -0
- package/dist/tag-manager-74CGUGXX.js +43 -0
- package/dist/tags-AMZSQJJ2.js +26 -0
- package/dist/tags-KW7PG2TR.js +23 -0
- package/dist/tags-MGV5KG6I.js +23 -0
- package/dist/tags-TM27EIAL.js +23 -0
- package/dist/tags-VWGKVGZD.js +227 -0
- package/dist/targeting-criteria-FT3G4HAW.js +113 -0
- package/dist/targets-XLVHWO6Z.js +106 -0
- package/dist/testimonials-INXY7CXU.js +32 -0
- package/dist/themes-R3A6IVQN.js +95 -0
- package/dist/top-companies-MNX3GBCP.js +111 -0
- package/dist/transcript-GIAOWCTO.js +165 -0
- package/dist/translate-JEQ4K4AH.js +603 -0
- package/dist/triggers-KDXLDZ23.js +144 -0
- package/dist/unlink-PNBSDLBQ.js +70 -0
- package/dist/unstage-X2PDLT5O.js +88 -0
- package/dist/update-4JGHSQVZ.js +66 -0
- package/dist/update-4XUQN4LK.js +101 -0
- package/dist/update-TJTDFWER.js +155 -0
- package/dist/update-URU4TO2F.js +192 -0
- package/dist/upload-TO5EPTVD.js +130 -0
- package/dist/url-options-YZ6UG3NY.js +131 -0
- package/dist/url-params-533CWJH3.js +101 -0
- package/dist/validate-XF6HU7D4.js +125 -0
- package/dist/videos-KYZ4CUOB.js +41 -0
- package/dist/viewer-check-U5GUU34Z.js +83 -0
- package/dist/web-ZYMSMIV6.js +173 -0
- package/dist/winning-ads-BCN5RVAE.js +86 -0
- package/dist/write-commands-5Z5A3D3M.js +713 -0
- package/dist/write-commands-7DTFGM6E.js +206 -0
- package/dist/write-commands-PZZ72PNL.js +1525 -0
- package/dist/x-DLEZYTAU.js +47 -0
- package/package.json +1 -1
- package/dist/account-D236Y3BP.js +0 -82
- package/dist/account-IG3U6UXZ.js +0 -82
- package/dist/account-reads-L2GYNCD3.js +0 -219
- package/dist/account-users-A5H7FC7T.js +0 -64
- package/dist/account-writes-BSSKSTZ2.js +0 -68
- package/dist/accounts-ENS2ONLA.js +0 -701
- package/dist/accounts-RTUSISHG.js +0 -80
- package/dist/actions-3SQGXLLM.js +0 -55
- package/dist/activecampaign-MJ4SIVWY.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-BH2GJZ46.js +0 -305
- package/dist/add-FJJHZDVW.js +0 -107
- package/dist/ads-4LASBP4G.js +0 -79
- package/dist/ads-WE6GT2BL.js +0 -48
- package/dist/advertisers-P742OQFI.js +0 -123
- package/dist/analytics-ICV42S7D.js +0 -447
- package/dist/analytics-XCUJSG3F.js +0 -2437
- package/dist/animate-OWXAT2RK.js +0 -480
- package/dist/assign-OQYVRXCT.js +0 -80
- package/dist/audience-size-NN43B7FF.js +0 -76
- package/dist/audiences-3R574STZ.js +0 -280
- package/dist/audit-JLH2TBIL.js +0 -154
- package/dist/autocomplete-ZQAKVB6T.js +0 -114
- package/dist/avatars-JWCZ2KVM.js +0 -38
- package/dist/bid-pricing-CX3V76MC.js +0 -103
- package/dist/brand-NKHAO4TK.js +0 -22
- package/dist/brief-6RDPVD4A.js +0 -543
- package/dist/campaign-groups-3PVR3IXH.js +0 -99
- package/dist/campaign-writes-TBWAZOZ2.js +0 -168
- package/dist/campaign-writes-Z2J24SUZ.js +0 -176
- package/dist/campaigns-43OS6EUG.js +0 -78
- package/dist/campaigns-PW4XK65Y.js +0 -113
- package/dist/campaigns-RN3SPC7L.js +0 -111
- package/dist/canvas-QJI65546.js +0 -46
- package/dist/capabilities-KPQWOCTA.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-RRD42PZ5.js +0 -449
- package/dist/check-TPP2KZY6.js +0 -107
- package/dist/chunk-3BXD6MC6.js +0 -197
- package/dist/chunk-3EUITH4J.js +0 -638
- package/dist/chunk-3MZNBHC7.js +0 -156
- package/dist/chunk-47K5MDGX.js +0 -170
- package/dist/chunk-4IRJ5JXA.js +0 -46
- package/dist/chunk-5IFFPSEN.js +0 -225
- package/dist/chunk-64ALJ6TJ.js +0 -274
- package/dist/chunk-6OIKNJ7G.js +0 -26
- package/dist/chunk-6UMQSHGK.js +0 -2209
- package/dist/chunk-7UFV6H7J.js +0 -167
- package/dist/chunk-7VDTLOSX.js +0 -344
- package/dist/chunk-7YYTE5XE.js +0 -191
- package/dist/chunk-ANUFRN3B.js +0 -334
- package/dist/chunk-B3CDNANO.js +0 -843
- package/dist/chunk-B74ZFQKS.js +0 -676
- package/dist/chunk-B74ZFQKS.js.map +0 -1
- package/dist/chunk-BDWNJRTY.js +0 -1902
- package/dist/chunk-BH3JS7EF.js +0 -91
- package/dist/chunk-BKIHYRQL.js +0 -149
- package/dist/chunk-BKIHYRQL.js.map +0 -1
- package/dist/chunk-BLGTDKIV.js +0 -831
- package/dist/chunk-BNO3EFGR.js +0 -4266
- package/dist/chunk-BNO3EFGR.js.map +0 -1
- package/dist/chunk-CXCZHEVW.js +0 -23
- package/dist/chunk-CYKFXG4R.js +0 -455
- package/dist/chunk-DD33NA2U.js +0 -89
- package/dist/chunk-DD6IMD7G.js +0 -207
- package/dist/chunk-E5H7JIWB.js +0 -3510
- package/dist/chunk-EYBIZT7T.js +0 -61
- package/dist/chunk-F3CZFUXZ.js +0 -3187
- package/dist/chunk-F3CZFUXZ.js.map +0 -1
- package/dist/chunk-FGSRPKOV.js +0 -438
- package/dist/chunk-FSK77EEM.js +0 -910
- package/dist/chunk-G2FDUCUU.js +0 -297
- package/dist/chunk-G6J6AWTE.js +0 -5471
- package/dist/chunk-GCFC2MNR.js +0 -228
- package/dist/chunk-GCZK4BMB.js +0 -5368
- package/dist/chunk-GJD43KID.js +0 -479
- package/dist/chunk-HGRCKRCF.js +0 -51
- package/dist/chunk-HMFIOE4P.js +0 -63
- package/dist/chunk-IM3GD4G3.js +0 -857
- package/dist/chunk-IUWM5XHR.js +0 -103
- package/dist/chunk-JBNT444M.js +0 -285
- package/dist/chunk-JW6VZBV7.js +0 -1646
- package/dist/chunk-KIX3ZM24.js +0 -685
- 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-NQF5U6FX.js +0 -150
- package/dist/chunk-ODN2LYPJ.js +0 -19
- package/dist/chunk-OKBIPYZN.js +0 -66
- package/dist/chunk-OM45JY2R.js +0 -377
- package/dist/chunk-ORLQEQDF.js +0 -203
- package/dist/chunk-OW2SDF66.js +0 -142
- 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-Q6LCL67T.js +0 -1518
- package/dist/chunk-QB334QBO.js +0 -604
- package/dist/chunk-QJCGLIVD.js +0 -57
- package/dist/chunk-RKT6RFOR.js +0 -249
- package/dist/chunk-RM5T4MA6.js +0 -783
- package/dist/chunk-RYXGJDBK.js +0 -392
- package/dist/chunk-S47XHWFU.js +0 -7794
- package/dist/chunk-S47XHWFU.js.map +0 -1
- package/dist/chunk-SBPUCN6H.js +0 -547
- package/dist/chunk-SIKCVWM3.js +0 -76
- package/dist/chunk-SOYKSA2X.js +0 -224
- package/dist/chunk-TGW2POU6.js +0 -430
- package/dist/chunk-TGW2POU6.js.map +0 -1
- package/dist/chunk-TL6P7WDT.js +0 -387
- package/dist/chunk-TSNL3AYG.js +0 -8954
- package/dist/chunk-TTDLK73U.js +0 -494
- package/dist/chunk-V4UJERGL.js +0 -64
- package/dist/chunk-VJKLZVAM.js +0 -169
- package/dist/chunk-VZGLL54O.js +0 -930
- package/dist/chunk-WGJHVP7T.js +0 -163
- package/dist/chunk-WJ6UJBHB.js +0 -91
- package/dist/chunk-WSYZT2QI.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/claim-75KAZXLJ.js +0 -200
- package/dist/companies-IB4C245S.js +0 -198
- package/dist/company-5J2EGA42.js +0 -308
- package/dist/complete-7AT7QWZN.js +0 -84
- package/dist/config-3GCILBEL.js +0 -88
- package/dist/connect-HKVHKX44.js +0 -45
- package/dist/conversation-5OEBGDYR.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-LLVHKDOQ.js +0 -140
- package/dist/conversions-RMBQNW3T.js +0 -78
- package/dist/create-2TAKPSGG.js +0 -210
- package/dist/create-J3OXZGXC.js +0 -239
- package/dist/create-RL3L7L2S.js +0 -135
- package/dist/create-ZVTM57AZ.js +0 -62
- package/dist/creatives-3EAIKWGU.js +0 -223
- package/dist/creatives-AALLH7YU.js +0 -58
- package/dist/credentials-MS4NJHEG.js +0 -290
- package/dist/critique-KLITVZA4.js +0 -1451
- package/dist/critique-NFPZD54K.js +0 -232
- package/dist/crm-7BAHXTK4.js +0 -227
- package/dist/crm-QQ7LGCLO.js +0 -323
- package/dist/currency-XFHCLKAV.js +0 -88
- package/dist/customers-NENDLH5A.js +0 -65
- package/dist/delete-VOUXBXU3.js +0 -67
- package/dist/delete-WACZG5SD.js +0 -69
- package/dist/delete-ZCPZ2ACI.js +0 -57
- package/dist/demographics-C5EL3BI6.js +0 -141
- package/dist/discard-RQXALYQZ.js +0 -69
- package/dist/discover-R3QBVUHZ.js +0 -172
- package/dist/domain-HV2N4S3O.js +0 -101
- package/dist/download-OQFJOZFD.js +0 -172
- package/dist/draft-25YY6NMC.js +0 -396
- package/dist/draft-25YY6NMC.js.map +0 -1
- package/dist/draft-4SZHKEAW.js +0 -310
- package/dist/draft-4SZHKEAW.js.map +0 -1
- package/dist/draft-6E7EQUCU.js +0 -103
- package/dist/draft-6E7EQUCU.js.map +0 -1
- package/dist/draft-GIJCJIQ5.js +0 -240
- package/dist/draft-GIJCJIQ5.js.map +0 -1
- package/dist/draft-IXHBF7UK.js +0 -335
- package/dist/draft-IXHBF7UK.js.map +0 -1
- 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/draft-SDOXYIND.js +0 -220
- package/dist/experiments-5UC4QVZU.js +0 -236
- package/dist/facets-I2CY2STO.js +0 -117
- package/dist/feedback-WGRNI4J3.js +0 -115
- package/dist/feedback-record-C6VYJQOL.js +0 -269
- package/dist/fetch-WS4CABQN.js +0 -204
- package/dist/fit-BJH2KAKU.js +0 -65
- package/dist/flows-ZQ66S64A.js +0 -250
- package/dist/fonts-EKLOSPJA.js +0 -39
- package/dist/forecast-JOQESPEP.js +0 -169
- package/dist/forecast-KDJVAWTO.js +0 -121
- package/dist/funnel-PD7EMXAX.js +0 -397
- package/dist/ga4-SBHUQKGK.js +0 -55
- package/dist/generate-SW5KLHXG.js +0 -263
- package/dist/get-IMZPHROU.js +0 -59
- package/dist/get-PIYAY4MD.js +0 -82
- package/dist/google-Q424277P.js +0 -3270
- package/dist/google-ads-VG2ZQBAP.js +0 -198
- package/dist/history-4LN2MMCY.js +0 -102
- package/dist/history-7DF5HFJT.js +0 -69
- package/dist/history-SECNIWQQ.js +0 -153
- package/dist/hubspot-HW3DMFB2.js +0 -782
- package/dist/ideas-CIFADAYV.js +0 -45
- package/dist/images-KV7UJMNO.js +0 -92
- package/dist/ingest-3DW2YGCB.js +0 -123
- package/dist/ingest-OG3RUM2Z.js +0 -27
- package/dist/insights-YVV5MHPQ.js +0 -132
- package/dist/inspect-YJGFTVGT.js +0 -192
- package/dist/intent-5VLQBTM7.js +0 -95
- package/dist/keyword-gap-COLF7JNH.js +0 -130
- package/dist/keyword-metrics-I7OIBLCO.js +0 -200
- package/dist/keywords-for-site-DIIUKEVJ.js +0 -131
- package/dist/landing-FFAMZ3CD.js +0 -28
- package/dist/languages-RYIOZQFH.js +0 -40
- package/dist/leads-WSK4N2I6.js +0 -115
- package/dist/learn-A4LSAKRL.js +0 -207
- package/dist/line-item-writes-Q47ZVHB6.js +0 -211
- package/dist/line-items-MHIXPRTG.js +0 -107
- package/dist/link-6FVFHGP4.js +0 -67
- package/dist/linkedin-ATHYXJ4Q.js +0 -1328
- package/dist/linkedin-ATHYXJ4Q.js.map +0 -1
- package/dist/linkedin-person-3MFAKS2Y.js +0 -139
- package/dist/list-7RNRZN4W.js +0 -154
- package/dist/list-BDGTMCFP.js +0 -306
- package/dist/list-MPZF6NTD.js +0 -67
- package/dist/locations-7RYEWKJO.js +0 -69
- package/dist/locations-OF2ZI5YX.js +0 -40
- package/dist/log-MBPVGWLX.js +0 -95
- package/dist/make-DYFGYGMD.js +0 -1367
- package/dist/map-UUHQJSSU.js +0 -436
- package/dist/mcp-BH5MXQMJ.js +0 -729
- package/dist/media-sources-4BJOODBR.js +0 -35
- package/dist/members-PK2AXSE4.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-36K2VJMB.js +0 -144
- package/dist/options-7BEM4Z5E.js +0 -125
- package/dist/organization-RSFFVT2M.js +0 -949
- package/dist/performance-4L2AFM4A.js +0 -27
- package/dist/performance-PVZ5V6YL.js +0 -5565
- package/dist/pixels-DBSPNHIE.js +0 -62
- package/dist/plan-2Q6SOHMD.js +0 -208
- package/dist/promoted-tweet-writes-UW2VRBZ2.js +0 -183
- package/dist/promoted-tweets-MJEZFPLW.js +0 -119
- package/dist/publish-XNYDOQ7I.js +0 -344
- package/dist/query-GBIWIZSS.js +0 -62
- package/dist/read-DF3UPNBM.js +0 -141
- package/dist/reddit-NLC55XYL.js +0 -29
- package/dist/refresh-5EGKQGJI.js +0 -97
- package/dist/release-RDNXS362.js +0 -63
- package/dist/relevant-pages-OZPYOGFO.js +0 -99
- package/dist/remove-OVN7XALF.js +0 -53
- package/dist/reopen-ODW3ZUEG.js +0 -66
- package/dist/rerun-3MTIAJUZ.js +0 -96
- package/dist/research-63ISQ74U.js +0 -75
- package/dist/research-RKFSB7OH.js +0 -265
- package/dist/reset-EZSCJXPC.js +0 -57
- package/dist/reset-GUJSHPHR.js +0 -57
- package/dist/resolve-BTM6MDOY.js +0 -124
- package/dist/retry-6BXQONQ3.js +0 -65
- package/dist/retry-OL2W3HFH.js +0 -63
- package/dist/revenue-P26LJFEF.js +0 -91
- package/dist/rules-MN5CBYLN.js +0 -99
- package/dist/rules-add-YPD466NS.js +0 -465
- package/dist/run-PEHYPLDQ.js +0 -69
- package/dist/run-WTN5QQ2P.js +0 -71
- package/dist/scaffold-ad-ZHZUX4Q6.js +0 -1513
- package/dist/scaffold-static-ad-SHGWFBBO.js +0 -1011
- package/dist/scaffold-video-VENWOP75.js +0 -885
- package/dist/schedule-637C6MY3.js +0 -64
- package/dist/scheduled-agents-ZUM6UUF2.js +0 -55
- package/dist/schema-NEL6O4O2.js +0 -135
- package/dist/search-36RRNTF6.js +0 -177
- package/dist/select-INJUT4PU.js +0 -110
- package/dist/set-prompt-X3DCUAGP.js +0 -199
- package/dist/setup-links-UG7S553A.js +0 -144
- package/dist/shopify-WLXZHJII.js +0 -3958
- package/dist/shopify-WLXZHJII.js.map +0 -1
- package/dist/site-YCSCW42E.js +0 -180
- package/dist/sources-HP3PRSU6.js +0 -457
- package/dist/sources-TQKN3HD7.js +0 -30
- package/dist/stale-KKBZ5FJX.js +0 -90
- package/dist/status-2HQBV7WL.js +0 -65
- package/dist/studio-OV2ZY5W3.js +0 -49
- package/dist/sync-QVPBBQAW.js +0 -57
- package/dist/sync-definition-YQJTCJJC.js +0 -70
- package/dist/tag-manager-5ORFHLM4.js +0 -43
- package/dist/tags-4VQS3QAK.js +0 -23
- package/dist/tags-TCGLKPB5.js +0 -227
- package/dist/tags-UUDTBJ6U.js +0 -23
- package/dist/tags-VJS37ZWW.js +0 -26
- package/dist/tags-YQVXWGWX.js +0 -23
- package/dist/targeting-criteria-3EXFTUMR.js +0 -113
- package/dist/targets-H7TVQ47T.js +0 -106
- package/dist/testimonials-NOLI2BVV.js +0 -32
- package/dist/themes-GD53PVOD.js +0 -95
- package/dist/top-companies-2KMUKTCC.js +0 -111
- package/dist/transcript-HJH2YNGC.js +0 -165
- package/dist/translate-X7TMHL22.js +0 -603
- package/dist/triggers-7HRFXKFZ.js +0 -144
- package/dist/unlink-G5KUMOL4.js +0 -70
- package/dist/unstage-WYJY5HKG.js +0 -88
- package/dist/update-GJ425R5V.js +0 -101
- package/dist/update-T6COJ6BO.js +0 -192
- package/dist/update-THOWGBFC.js +0 -155
- package/dist/update-WKS5QUFB.js +0 -66
- package/dist/upload-35QHU7B4.js +0 -130
- package/dist/url-options-VNNI4QXX.js +0 -131
- package/dist/url-params-3JU5W2AS.js +0 -101
- package/dist/validate-XQD5H6MU.js +0 -125
- package/dist/videos-JBJP3CZD.js +0 -41
- package/dist/viewer-check-ACRU6HY3.js +0 -83
- package/dist/web-NRG6WKRV.js +0 -173
- package/dist/winning-ads-ZKVXCS2L.js +0 -86
- package/dist/write-commands-ECCJLDLG.js +0 -1525
- package/dist/write-commands-FGWCJHLH.js +0 -713
- package/dist/write-commands-UTM7PPK5.js +0 -206
- package/dist/x-M3LIA6SI.js +0 -47
- /package/dist/{account-IG3U6UXZ.js.map → account-2HJ4GKHN.js.map} +0 -0
- /package/dist/{account-D236Y3BP.js.map → account-6GKPLNDY.js.map} +0 -0
- /package/dist/{account-reads-L2GYNCD3.js.map → account-reads-X36NPCX5.js.map} +0 -0
- /package/dist/{account-users-A5H7FC7T.js.map → account-users-FGL3DZES.js.map} +0 -0
- /package/dist/{account-writes-BSSKSTZ2.js.map → account-writes-FZ3KCJZY.js.map} +0 -0
- /package/dist/{accounts-RTUSISHG.js.map → accounts-PKSW3DBQ.js.map} +0 -0
- /package/dist/{accounts-ENS2ONLA.js.map → accounts-S5C6MZFO.js.map} +0 -0
- /package/dist/{actions-3SQGXLLM.js.map → actions-ARN3OFB7.js.map} +0 -0
- /package/dist/{activecampaign-MJ4SIVWY.js.map → activecampaign-3YJC3H2R.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-FJJHZDVW.js.map → add-CNYKQD7B.js.map} +0 -0
- /package/dist/{add-BH2GJZ46.js.map → add-IABKHM5N.js.map} +0 -0
- /package/dist/{ads-4LASBP4G.js.map → ads-LNWALF6G.js.map} +0 -0
- /package/dist/{ads-WE6GT2BL.js.map → ads-UXHJCUTX.js.map} +0 -0
- /package/dist/{advertisers-P742OQFI.js.map → advertisers-UT7EJ6YS.js.map} +0 -0
- /package/dist/{analytics-ICV42S7D.js.map → analytics-COUVH7MV.js.map} +0 -0
- /package/dist/{analytics-XCUJSG3F.js.map → analytics-EHUUNMGZ.js.map} +0 -0
- /package/dist/{animate-OWXAT2RK.js.map → animate-DM4OUJMR.js.map} +0 -0
- /package/dist/{assign-OQYVRXCT.js.map → assign-FWT5QQDF.js.map} +0 -0
- /package/dist/{audience-size-NN43B7FF.js.map → audience-size-YI2RLIG7.js.map} +0 -0
- /package/dist/{audiences-3R574STZ.js.map → audiences-7D5VPOWF.js.map} +0 -0
- /package/dist/{audit-JLH2TBIL.js.map → audit-BPRRCIWN.js.map} +0 -0
- /package/dist/{autocomplete-ZQAKVB6T.js.map → autocomplete-OD6SHZZH.js.map} +0 -0
- /package/dist/{avatars-JWCZ2KVM.js.map → avatars-FFFPCH6D.js.map} +0 -0
- /package/dist/{bid-pricing-CX3V76MC.js.map → bid-pricing-JF557IO2.js.map} +0 -0
- /package/dist/{brand-NKHAO4TK.js.map → brand-ZUYJWKI3.js.map} +0 -0
- /package/dist/{brief-6RDPVD4A.js.map → brief-CJDBD5GJ.js.map} +0 -0
- /package/dist/{campaign-groups-3PVR3IXH.js.map → campaign-groups-VCT6ZH66.js.map} +0 -0
- /package/dist/{campaign-writes-Z2J24SUZ.js.map → campaign-writes-H22P6YPW.js.map} +0 -0
- /package/dist/{campaign-writes-TBWAZOZ2.js.map → campaign-writes-YOHDMYDT.js.map} +0 -0
- /package/dist/{campaigns-43OS6EUG.js.map → campaigns-265JXD2Z.js.map} +0 -0
- /package/dist/{campaigns-PW4XK65Y.js.map → campaigns-7EGRZ3V6.js.map} +0 -0
- /package/dist/{campaigns-RN3SPC7L.js.map → campaigns-ORK5BYAM.js.map} +0 -0
- /package/dist/{canvas-QJI65546.js.map → canvas-FW5F3KZJ.js.map} +0 -0
- /package/dist/{capabilities-KPQWOCTA.js.map → capabilities-ISW7XT44.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-RRD42PZ5.js.map → chats-FH3DQNYD.js.map} +0 -0
- /package/dist/{check-TPP2KZY6.js.map → check-QC5RHS3Z.js.map} +0 -0
- /package/dist/{chunk-CYKFXG4R.js.map → chunk-2AC5GJHC.js.map} +0 -0
- /package/dist/{chunk-DD33NA2U.js.map → chunk-2VSUMGJV.js.map} +0 -0
- /package/dist/{chunk-B3CDNANO.js.map → chunk-4D73PLXU.js.map} +0 -0
- /package/dist/{chunk-HMFIOE4P.js.map → chunk-4S5ZAG4S.js.map} +0 -0
- /package/dist/{chunk-TL6P7WDT.js.map → chunk-5MMJPUBH.js.map} +0 -0
- /package/dist/{chunk-3MZNBHC7.js.map → chunk-5Y2XPKW2.js.map} +0 -0
- /package/dist/{chunk-EYBIZT7T.js.map → chunk-6HCYCMIH.js.map} +0 -0
- /package/dist/{chunk-7VDTLOSX.js.map → chunk-6R2BQ6FK.js.map} +0 -0
- /package/dist/{chunk-G2FDUCUU.js.map → chunk-7P74QKVC.js.map} +0 -0
- /package/dist/{chunk-QB334QBO.js.map → chunk-7SJU6PQ7.js.map} +0 -0
- /package/dist/{chunk-WJ6UJBHB.js.map → chunk-A37TIYFD.js.map} +0 -0
- /package/dist/{chunk-GJD43KID.js.map → chunk-A6NVGPCZ.js.map} +0 -0
- /package/dist/{chunk-ANUFRN3B.js.map → chunk-AK7CL5IW.js.map} +0 -0
- /package/dist/{chunk-VZGLL54O.js.map → chunk-AOT3UZBM.js.map} +0 -0
- /package/dist/{chunk-SBPUCN6H.js.map → chunk-D2ZAZGQH.js.map} +0 -0
- /package/dist/{chunk-ODN2LYPJ.js.map → chunk-EB76M4ZH.js.map} +0 -0
- /package/dist/{chunk-RM5T4MA6.js.map → chunk-EOMY5SUJ.js.map} +0 -0
- /package/dist/{chunk-BDWNJRTY.js.map → chunk-EY5WWPPZ.js.map} +0 -0
- /package/dist/{chunk-CXCZHEVW.js.map → chunk-EZKT5YGX.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-SOYKSA2X.js.map → chunk-GQAKWQAV.js.map} +0 -0
- /package/dist/{chunk-YQB66YKJ.js.map → chunk-HBDWE7WK.js.map} +0 -0
- /package/dist/{chunk-OM45JY2R.js.map → chunk-HETNOUE4.js.map} +0 -0
- /package/dist/{chunk-47K5MDGX.js.map → chunk-HFAT5S5B.js.map} +0 -0
- /package/dist/{chunk-WSYZT2QI.js.map → chunk-HQ3I2QVT.js.map} +0 -0
- /package/dist/{chunk-BH3JS7EF.js.map → chunk-IN5UCEJD.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-RYXGJDBK.js.map → chunk-KCRBAMFU.js.map} +0 -0
- /package/dist/{chunk-XU6XQPNM.js.map → chunk-KIXVHP2C.js.map} +0 -0
- /package/dist/{chunk-BLGTDKIV.js.map → chunk-KTY7H44G.js.map} +0 -0
- /package/dist/{chunk-HGRCKRCF.js.map → chunk-LKOMEXUB.js.map} +0 -0
- /package/dist/{chunk-WGJHVP7T.js.map → chunk-LVKAMWKJ.js.map} +0 -0
- /package/dist/{chunk-KIX3ZM24.js.map → chunk-LWCGQNVU.js.map} +0 -0
- /package/dist/{chunk-SIKCVWM3.js.map → chunk-MZPS46OR.js.map} +0 -0
- /package/dist/{chunk-FGSRPKOV.js.map → chunk-N4AIJQ4W.js.map} +0 -0
- /package/dist/{chunk-P6FMQHJJ.js.map → chunk-NBWZVBDG.js.map} +0 -0
- /package/dist/{chunk-TSNL3AYG.js.map → chunk-OKB2EAJH.js.map} +0 -0
- /package/dist/{chunk-VJKLZVAM.js.map → chunk-OT2MN5UR.js.map} +0 -0
- /package/dist/{chunk-QJCGLIVD.js.map → chunk-OZR3KUJ3.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-3EUITH4J.js.map → chunk-RHEWQB5O.js.map} +0 -0
- /package/dist/{chunk-4IRJ5JXA.js.map → chunk-RP36XHWT.js.map} +0 -0
- /package/dist/{chunk-OKBIPYZN.js.map → chunk-RXOQZA4K.js.map} +0 -0
- /package/dist/{chunk-DD6IMD7G.js.map → chunk-SEHJ7Y7J.js.map} +0 -0
- /package/dist/{chunk-GCFC2MNR.js.map → chunk-SNWFM2DB.js.map} +0 -0
- /package/dist/{chunk-IUWM5XHR.js.map → chunk-TAGRKRFI.js.map} +0 -0
- /package/dist/{chunk-Q6LCL67T.js.map → chunk-TARINRA4.js.map} +0 -0
- /package/dist/{chunk-7UFV6H7J.js.map → chunk-TNZUMU55.js.map} +0 -0
- /package/dist/{chunk-7YYTE5XE.js.map → chunk-TP2NS5SG.js.map} +0 -0
- /package/dist/{chunk-TTDLK73U.js.map → chunk-UOXC3XA5.js.map} +0 -0
- /package/dist/{chunk-OW2SDF66.js.map → chunk-UQA6Z23M.js.map} +0 -0
- /package/dist/{chunk-V4UJERGL.js.map → chunk-VOUCQ2YW.js.map} +0 -0
- /package/dist/{chunk-6UMQSHGK.js.map → chunk-WJ5AHR4K.js.map} +0 -0
- /package/dist/{chunk-JBNT444M.js.map → chunk-WOE4TZHJ.js.map} +0 -0
- /package/dist/{chunk-GCZK4BMB.js.map → chunk-XYNQMRNX.js.map} +0 -0
- /package/dist/{chunk-ORLQEQDF.js.map → chunk-YEISVDKW.js.map} +0 -0
- /package/dist/{chunk-FSK77EEM.js.map → chunk-YNLWSP5E.js.map} +0 -0
- /package/dist/{chunk-5IFFPSEN.js.map → chunk-ZEUAJAKN.js.map} +0 -0
- /package/dist/{chunk-3BXD6MC6.js.map → chunk-ZUUVWWB5.js.map} +0 -0
- /package/dist/{chunk-RKT6RFOR.js.map → chunk-ZVAZFHH7.js.map} +0 -0
- /package/dist/{claim-75KAZXLJ.js.map → claim-FBL5VBYZ.js.map} +0 -0
- /package/dist/{companies-IB4C245S.js.map → companies-URRCAJZE.js.map} +0 -0
- /package/dist/{company-5J2EGA42.js.map → company-LDCNUPHZ.js.map} +0 -0
- /package/dist/{complete-7AT7QWZN.js.map → complete-3UGPO444.js.map} +0 -0
- /package/dist/{config-3GCILBEL.js.map → config-3VK74MY6.js.map} +0 -0
- /package/dist/{connect-HKVHKX44.js.map → connect-M5KPZQWE.js.map} +0 -0
- /package/dist/{conversation-5OEBGDYR.js.map → conversation-S7YANZJR.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-LLVHKDOQ.js.map → conversions-QZL4DSJO.js.map} +0 -0
- /package/dist/{create-ZVTM57AZ.js.map → create-56PJRLMA.js.map} +0 -0
- /package/dist/{create-2TAKPSGG.js.map → create-OE5MRW3X.js.map} +0 -0
- /package/dist/{create-J3OXZGXC.js.map → create-RL7PRIDY.js.map} +0 -0
- /package/dist/{create-RL3L7L2S.js.map → create-Y6YVJ5L4.js.map} +0 -0
- /package/dist/{creatives-3EAIKWGU.js.map → creatives-ESVH63AP.js.map} +0 -0
- /package/dist/{creatives-AALLH7YU.js.map → creatives-URHXATY6.js.map} +0 -0
- /package/dist/{credentials-MS4NJHEG.js.map → credentials-O6QSB7ZR.js.map} +0 -0
- /package/dist/{critique-KLITVZA4.js.map → critique-EWJBOCXQ.js.map} +0 -0
- /package/dist/{critique-NFPZD54K.js.map → critique-PTGGXRFG.js.map} +0 -0
- /package/dist/{crm-QQ7LGCLO.js.map → crm-F6RGNQH5.js.map} +0 -0
- /package/dist/{crm-7BAHXTK4.js.map → crm-GLPOO22Q.js.map} +0 -0
- /package/dist/{currency-XFHCLKAV.js.map → currency-CHBV6WIO.js.map} +0 -0
- /package/dist/{customers-NENDLH5A.js.map → customers-Q76FCWYO.js.map} +0 -0
- /package/dist/{delete-ZCPZ2ACI.js.map → delete-ODFDZCL3.js.map} +0 -0
- /package/dist/{delete-WACZG5SD.js.map → delete-OVMPDGWQ.js.map} +0 -0
- /package/dist/{delete-VOUXBXU3.js.map → delete-XN7N4S4H.js.map} +0 -0
- /package/dist/{demographics-C5EL3BI6.js.map → demographics-IY5RI55Z.js.map} +0 -0
- /package/dist/{discard-RQXALYQZ.js.map → discard-GKIA5FML.js.map} +0 -0
- /package/dist/{discover-R3QBVUHZ.js.map → discover-ZU2DAV23.js.map} +0 -0
- /package/dist/{domain-HV2N4S3O.js.map → domain-WGXA7OXV.js.map} +0 -0
- /package/dist/{download-OQFJOZFD.js.map → download-DYYNUGLX.js.map} +0 -0
- /package/dist/{draft-SDOXYIND.js.map → draft-VYIRZO3E.js.map} +0 -0
- /package/dist/{experiments-5UC4QVZU.js.map → experiments-6DOKWFH4.js.map} +0 -0
- /package/dist/{facets-I2CY2STO.js.map → facets-ZU5DT2QW.js.map} +0 -0
- /package/dist/{feedback-WGRNI4J3.js.map → feedback-RIUBM557.js.map} +0 -0
- /package/dist/{feedback-record-C6VYJQOL.js.map → feedback-record-3VVAUCOH.js.map} +0 -0
- /package/dist/{fetch-WS4CABQN.js.map → fetch-T6TZCU74.js.map} +0 -0
- /package/dist/{fit-BJH2KAKU.js.map → fit-YPOHTM7Y.js.map} +0 -0
- /package/dist/{flows-ZQ66S64A.js.map → flows-CKVEZFF2.js.map} +0 -0
- /package/dist/{fonts-EKLOSPJA.js.map → fonts-3J3UVZ2E.js.map} +0 -0
- /package/dist/{forecast-JOQESPEP.js.map → forecast-372Q6KQZ.js.map} +0 -0
- /package/dist/{forecast-KDJVAWTO.js.map → forecast-JEAFUR2O.js.map} +0 -0
- /package/dist/{funnel-PD7EMXAX.js.map → funnel-FBTNPTS7.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-IMZPHROU.js.map → get-5N5FCGNH.js.map} +0 -0
- /package/dist/{get-PIYAY4MD.js.map → get-EXHUQT65.js.map} +0 -0
- /package/dist/{google-Q424277P.js.map → google-JHTOX6WM.js.map} +0 -0
- /package/dist/{google-ads-VG2ZQBAP.js.map → google-ads-ZAYRCG2D.js.map} +0 -0
- /package/dist/{history-SECNIWQQ.js.map → history-4ULZ4BVV.js.map} +0 -0
- /package/dist/{history-4LN2MMCY.js.map → history-6J3XRNTZ.js.map} +0 -0
- /package/dist/{history-7DF5HFJT.js.map → history-VNLS2TKB.js.map} +0 -0
- /package/dist/{hubspot-HW3DMFB2.js.map → hubspot-ZEHWWJHK.js.map} +0 -0
- /package/dist/{ideas-CIFADAYV.js.map → ideas-SB6546GI.js.map} +0 -0
- /package/dist/{images-KV7UJMNO.js.map → images-LEZYVE7R.js.map} +0 -0
- /package/dist/{ingest-3DW2YGCB.js.map → ingest-4OOTCOLO.js.map} +0 -0
- /package/dist/{ingest-OG3RUM2Z.js.map → ingest-KNJCCIBG.js.map} +0 -0
- /package/dist/{insights-YVV5MHPQ.js.map → insights-XY6II7TX.js.map} +0 -0
- /package/dist/{inspect-YJGFTVGT.js.map → inspect-MHKEYNIC.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-I7OIBLCO.js.map → keyword-metrics-EL7MO3H6.js.map} +0 -0
- /package/dist/{keywords-for-site-DIIUKEVJ.js.map → keywords-for-site-I7KJLZ2I.js.map} +0 -0
- /package/dist/{landing-FFAMZ3CD.js.map → landing-Z3QGJYM3.js.map} +0 -0
- /package/dist/{languages-RYIOZQFH.js.map → languages-LNHWSCMT.js.map} +0 -0
- /package/dist/{leads-WSK4N2I6.js.map → leads-WQCTZYKT.js.map} +0 -0
- /package/dist/{learn-A4LSAKRL.js.map → learn-6KW6TUVL.js.map} +0 -0
- /package/dist/{line-item-writes-Q47ZVHB6.js.map → line-item-writes-B2KSP36W.js.map} +0 -0
- /package/dist/{line-items-MHIXPRTG.js.map → line-items-3ICE5DBI.js.map} +0 -0
- /package/dist/{link-6FVFHGP4.js.map → link-QRQ34ZDH.js.map} +0 -0
- /package/dist/{linkedin-person-3MFAKS2Y.js.map → linkedin-person-Y5TCUOXS.js.map} +0 -0
- /package/dist/{list-7RNRZN4W.js.map → list-6HZVHA6T.js.map} +0 -0
- /package/dist/{list-BDGTMCFP.js.map → list-CHYJ53JD.js.map} +0 -0
- /package/dist/{list-MPZF6NTD.js.map → list-XAMJSOGI.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-MBPVGWLX.js.map → log-PLXGA74X.js.map} +0 -0
- /package/dist/{make-DYFGYGMD.js.map → make-EP4YSN26.js.map} +0 -0
- /package/dist/{map-UUHQJSSU.js.map → map-CAFMAMPP.js.map} +0 -0
- /package/dist/{mcp-BH5MXQMJ.js.map → mcp-DDWSXLU7.js.map} +0 -0
- /package/dist/{media-sources-4BJOODBR.js.map → media-sources-J5FXYPV5.js.map} +0 -0
- /package/dist/{members-PK2AXSE4.js.map → members-ZA7S5KWP.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-36K2VJMB.js.map → normalize-ZHM2ZVXZ.js.map} +0 -0
- /package/dist/{options-7BEM4Z5E.js.map → options-JTMDZECY.js.map} +0 -0
- /package/dist/{organization-RSFFVT2M.js.map → organization-5OJEJEQV.js.map} +0 -0
- /package/dist/{performance-PVZ5V6YL.js.map → performance-AHVTOYTM.js.map} +0 -0
- /package/dist/{performance-4L2AFM4A.js.map → performance-S273NSUB.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-UW2VRBZ2.js.map → promoted-tweet-writes-UF6LYMH4.js.map} +0 -0
- /package/dist/{promoted-tweets-MJEZFPLW.js.map → promoted-tweets-Z4GG6D7P.js.map} +0 -0
- /package/dist/{publish-XNYDOQ7I.js.map → publish-YQ6MHS7P.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-NLC55XYL.js.map → reddit-YWYRZBL2.js.map} +0 -0
- /package/dist/{refresh-5EGKQGJI.js.map → refresh-TEXTTECA.js.map} +0 -0
- /package/dist/{release-RDNXS362.js.map → release-3JDETBZI.js.map} +0 -0
- /package/dist/{relevant-pages-OZPYOGFO.js.map → relevant-pages-OCHLUV5K.js.map} +0 -0
- /package/dist/{remove-OVN7XALF.js.map → remove-KZTSU4K2.js.map} +0 -0
- /package/dist/{reopen-ODW3ZUEG.js.map → reopen-GIJSFNDH.js.map} +0 -0
- /package/dist/{rerun-3MTIAJUZ.js.map → rerun-6UZNOPUG.js.map} +0 -0
- /package/dist/{research-63ISQ74U.js.map → research-TMKG4NQJ.js.map} +0 -0
- /package/dist/{research-RKFSB7OH.js.map → research-XA2IJ2XV.js.map} +0 -0
- /package/dist/{reset-EZSCJXPC.js.map → reset-7VL6WJLE.js.map} +0 -0
- /package/dist/{reset-GUJSHPHR.js.map → reset-HLZ6JHGY.js.map} +0 -0
- /package/dist/{resolve-BTM6MDOY.js.map → resolve-H2QW3U5Y.js.map} +0 -0
- /package/dist/{retry-6BXQONQ3.js.map → retry-MIZ67MPP.js.map} +0 -0
- /package/dist/{retry-OL2W3HFH.js.map → retry-WSWW6EJT.js.map} +0 -0
- /package/dist/{revenue-P26LJFEF.js.map → revenue-LTU7HRT2.js.map} +0 -0
- /package/dist/{rules-MN5CBYLN.js.map → rules-BGBCUUPH.js.map} +0 -0
- /package/dist/{rules-add-YPD466NS.js.map → rules-add-SZT2MSOD.js.map} +0 -0
- /package/dist/{run-PEHYPLDQ.js.map → run-FHGT4UQ7.js.map} +0 -0
- /package/dist/{run-WTN5QQ2P.js.map → run-XUDGECLL.js.map} +0 -0
- /package/dist/{scaffold-ad-ZHZUX4Q6.js.map → scaffold-ad-VXNO3SQP.js.map} +0 -0
- /package/dist/{scaffold-static-ad-SHGWFBBO.js.map → scaffold-static-ad-FT55VV3T.js.map} +0 -0
- /package/dist/{scaffold-video-VENWOP75.js.map → scaffold-video-V7WX5AWZ.js.map} +0 -0
- /package/dist/{schedule-637C6MY3.js.map → schedule-BNRLEFMZ.js.map} +0 -0
- /package/dist/{scheduled-agents-ZUM6UUF2.js.map → scheduled-agents-MAXXXJ7W.js.map} +0 -0
- /package/dist/{schema-NEL6O4O2.js.map → schema-YADPD54K.js.map} +0 -0
- /package/dist/{search-36RRNTF6.js.map → search-56ORG4PL.js.map} +0 -0
- /package/dist/{select-INJUT4PU.js.map → select-DON4DMNM.js.map} +0 -0
- /package/dist/{set-prompt-X3DCUAGP.js.map → set-prompt-J22TUCRU.js.map} +0 -0
- /package/dist/{setup-links-UG7S553A.js.map → setup-links-CHODCBYH.js.map} +0 -0
- /package/dist/{site-YCSCW42E.js.map → site-BF3Q26W5.js.map} +0 -0
- /package/dist/{sources-HP3PRSU6.js.map → sources-SLCYAWTZ.js.map} +0 -0
- /package/dist/{sources-TQKN3HD7.js.map → sources-VHHC6YQM.js.map} +0 -0
- /package/dist/{stale-KKBZ5FJX.js.map → stale-GLVTL2ZK.js.map} +0 -0
- /package/dist/{status-2HQBV7WL.js.map → status-E3RA644P.js.map} +0 -0
- /package/dist/{studio-OV2ZY5W3.js.map → studio-6ZXUKA4G.js.map} +0 -0
- /package/dist/{sync-QVPBBQAW.js.map → sync-6QCDDJMO.js.map} +0 -0
- /package/dist/{sync-definition-YQJTCJJC.js.map → sync-definition-DXNHGY5E.js.map} +0 -0
- /package/dist/{tag-manager-5ORFHLM4.js.map → tag-manager-74CGUGXX.js.map} +0 -0
- /package/dist/{tags-VJS37ZWW.js.map → tags-AMZSQJJ2.js.map} +0 -0
- /package/dist/{tags-YQVXWGWX.js.map → tags-KW7PG2TR.js.map} +0 -0
- /package/dist/{tags-UUDTBJ6U.js.map → tags-MGV5KG6I.js.map} +0 -0
- /package/dist/{tags-4VQS3QAK.js.map → tags-TM27EIAL.js.map} +0 -0
- /package/dist/{tags-TCGLKPB5.js.map → tags-VWGKVGZD.js.map} +0 -0
- /package/dist/{targeting-criteria-3EXFTUMR.js.map → targeting-criteria-FT3G4HAW.js.map} +0 -0
- /package/dist/{targets-H7TVQ47T.js.map → targets-XLVHWO6Z.js.map} +0 -0
- /package/dist/{testimonials-NOLI2BVV.js.map → testimonials-INXY7CXU.js.map} +0 -0
- /package/dist/{themes-GD53PVOD.js.map → themes-R3A6IVQN.js.map} +0 -0
- /package/dist/{top-companies-2KMUKTCC.js.map → top-companies-MNX3GBCP.js.map} +0 -0
- /package/dist/{transcript-HJH2YNGC.js.map → transcript-GIAOWCTO.js.map} +0 -0
- /package/dist/{translate-X7TMHL22.js.map → translate-JEQ4K4AH.js.map} +0 -0
- /package/dist/{triggers-7HRFXKFZ.js.map → triggers-KDXLDZ23.js.map} +0 -0
- /package/dist/{unlink-G5KUMOL4.js.map → unlink-PNBSDLBQ.js.map} +0 -0
- /package/dist/{unstage-WYJY5HKG.js.map → unstage-X2PDLT5O.js.map} +0 -0
- /package/dist/{update-WKS5QUFB.js.map → update-4JGHSQVZ.js.map} +0 -0
- /package/dist/{update-GJ425R5V.js.map → update-4XUQN4LK.js.map} +0 -0
- /package/dist/{update-THOWGBFC.js.map → update-TJTDFWER.js.map} +0 -0
- /package/dist/{update-T6COJ6BO.js.map → update-URU4TO2F.js.map} +0 -0
- /package/dist/{upload-35QHU7B4.js.map → upload-TO5EPTVD.js.map} +0 -0
- /package/dist/{url-options-VNNI4QXX.js.map → url-options-YZ6UG3NY.js.map} +0 -0
- /package/dist/{url-params-3JU5W2AS.js.map → url-params-533CWJH3.js.map} +0 -0
- /package/dist/{validate-XQD5H6MU.js.map → validate-XF6HU7D4.js.map} +0 -0
- /package/dist/{videos-JBJP3CZD.js.map → videos-KYZ4CUOB.js.map} +0 -0
- /package/dist/{viewer-check-ACRU6HY3.js.map → viewer-check-U5GUU34Z.js.map} +0 -0
- /package/dist/{web-NRG6WKRV.js.map → web-ZYMSMIV6.js.map} +0 -0
- /package/dist/{winning-ads-ZKVXCS2L.js.map → winning-ads-BCN5RVAE.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/{write-commands-ECCJLDLG.js.map → write-commands-PZZ72PNL.js.map} +0 -0
- /package/dist/{x-M3LIA6SI.js.map → x-DLEZYTAU.js.map} +0 -0
|
@@ -0,0 +1,938 @@
|
|
|
1
|
+
import {
|
|
2
|
+
CHAT_READ_ARG
|
|
3
|
+
} from "./chunk-X32MFGWW.js";
|
|
4
|
+
import {
|
|
5
|
+
failApi
|
|
6
|
+
} from "./chunk-YEISVDKW.js";
|
|
7
|
+
import "./chunk-R65V26HH.js";
|
|
8
|
+
import "./chunk-QV6AST5T.js";
|
|
9
|
+
import "./chunk-WCU362Z6.js";
|
|
10
|
+
import "./chunk-GIWHHCD6.js";
|
|
11
|
+
import "./chunk-SOPVIIUW.js";
|
|
12
|
+
import "./chunk-G4FG5EQO.js";
|
|
13
|
+
import "./chunk-NSBNIPIW.js";
|
|
14
|
+
import "./chunk-MSMTG6OC.js";
|
|
15
|
+
import {
|
|
16
|
+
ApiError,
|
|
17
|
+
apiPost
|
|
18
|
+
} from "./chunk-B2OHCWYB.js";
|
|
19
|
+
import "./chunk-SVUFNCOE.js";
|
|
20
|
+
import {
|
|
21
|
+
requireChatId,
|
|
22
|
+
resolveChatId
|
|
23
|
+
} from "./chunk-E54435XT.js";
|
|
24
|
+
import {
|
|
25
|
+
registerSchema,
|
|
26
|
+
writeJson
|
|
27
|
+
} from "./chunk-WCIS4FZH.js";
|
|
28
|
+
import "./chunk-YQSBHWOI.js";
|
|
29
|
+
|
|
30
|
+
// src/commands/activecampaign/index.ts
|
|
31
|
+
import { defineCommand as defineCommand5 } from "citty";
|
|
32
|
+
|
|
33
|
+
// src/commands/activecampaign/drafts.ts
|
|
34
|
+
import { defineCommand } from "citty";
|
|
35
|
+
|
|
36
|
+
// src/commands/activecampaign/refusal.ts
|
|
37
|
+
var CONTINUE = "Keep going with the wider task: say which part you could not read, skip it, and finish everything else.";
|
|
38
|
+
function activeCampaignRefusal(code, message) {
|
|
39
|
+
if (code === "NOT_FOUND" && (message.includes("No ActiveCampaign account is connected") || message.includes("ActiveCampaign connection no longer exists"))) {
|
|
40
|
+
return {
|
|
41
|
+
code: "NO_ACTIVECAMPAIGN_CONNECTION",
|
|
42
|
+
fix: {
|
|
43
|
+
action: "request_connection",
|
|
44
|
+
explanation: 'AGENT INSTRUCTION: ActiveCampaign is not connected, and only the user can connect it. Call the `request_connection` tool with { platform: "activecampaign", reason } \u2014 reason in their words \u2014 and they paste the API URL and key inside the chat; then run this command again. ' + CONTINUE
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
if (code === "CONFLICT" && message.includes("connect ActiveCampaign again")) {
|
|
49
|
+
return {
|
|
50
|
+
code: "ACTIVECAMPAIGN_RECONNECT_REQUIRED",
|
|
51
|
+
fix: {
|
|
52
|
+
action: "request_connection",
|
|
53
|
+
explanation: 'AGENT INSTRUCTION: ActiveCampaign is connected, but its saved key no longer works \u2014 do not retry. Call the `request_connection` tool with { platform: "activecampaign", reason } so the user pastes a current key, then run this command again. ' + CONTINUE
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
return null;
|
|
58
|
+
}
|
|
59
|
+
function failActiveCampaign(err) {
|
|
60
|
+
const refusal = err instanceof ApiError ? activeCampaignRefusal(err.code, err.message) : null;
|
|
61
|
+
if (err instanceof ApiError && refusal !== null) {
|
|
62
|
+
writeJson({ ok: false, error: { code: refusal.code, message: err.message, fix: refusal.fix } });
|
|
63
|
+
process.exit(1);
|
|
64
|
+
}
|
|
65
|
+
failApi(err);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
// src/commands/activecampaign/drafts.ts
|
|
69
|
+
var DESCRIPTION = "The ActiveCampaign changes staged on this chat \u2014 fields, lists, tags, pipelines \u2014 and, once published, what happened to each (created, reused because it already existed, or failed and why). Take --chat <id> to read an earlier chat's.";
|
|
70
|
+
registerSchema({
|
|
71
|
+
command: "activecampaign.drafts",
|
|
72
|
+
description: DESCRIPTION,
|
|
73
|
+
args: { chat: { type: "string", description: CHAT_READ_ARG.description, required: false } }
|
|
74
|
+
});
|
|
75
|
+
function outcomeOf(op) {
|
|
76
|
+
if (!op.result) return void 0;
|
|
77
|
+
if (op.result.status === "applied") return op.result.reused ? "already there, reused" : "created";
|
|
78
|
+
return op.result.status === "failed" ? `failed: ${op.result.error ?? "no reason given"}` : "not sent";
|
|
79
|
+
}
|
|
80
|
+
var draftsCommand = defineCommand({
|
|
81
|
+
meta: { name: "drafts", description: DESCRIPTION },
|
|
82
|
+
args: { chat: CHAT_READ_ARG },
|
|
83
|
+
run: async ({ args }) => {
|
|
84
|
+
const chatId = resolveChatId(args.chat);
|
|
85
|
+
try {
|
|
86
|
+
const data = await apiPost("/api/activecampaign/draft", { chatId });
|
|
87
|
+
const ops = data.ops.map((op) => {
|
|
88
|
+
const outcome = outcomeOf(op);
|
|
89
|
+
return { ref: op.ref, kind: op.kind, summary: op.summary, ...outcome ? { outcome } : {} };
|
|
90
|
+
});
|
|
91
|
+
const hints = data.status === "active" && data.count > 0 ? ["Staged only \u2014 these are created in ActiveCampaign when the user publishes this chat."] : [];
|
|
92
|
+
writeJson({
|
|
93
|
+
ok: true,
|
|
94
|
+
data: {
|
|
95
|
+
status: data.status,
|
|
96
|
+
count: data.count,
|
|
97
|
+
ops,
|
|
98
|
+
...data.publishError ? { publishError: data.publishError } : {}
|
|
99
|
+
},
|
|
100
|
+
...hints.length > 0 ? { hints } : {}
|
|
101
|
+
});
|
|
102
|
+
} catch (err) {
|
|
103
|
+
failActiveCampaign(err);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
});
|
|
107
|
+
|
|
108
|
+
// ../api/src/activecampaign-reads.ts
|
|
109
|
+
import { z } from "zod";
|
|
110
|
+
var raw = z.record(z.string(), z.unknown()).optional();
|
|
111
|
+
var limit = z.number().int().min(1).max(100).optional();
|
|
112
|
+
var baseRequest = z.object({
|
|
113
|
+
/** Connection id; optional when the company has exactly one ActiveCampaign account. */
|
|
114
|
+
account: z.string().optional(),
|
|
115
|
+
full: z.boolean().optional()
|
|
116
|
+
});
|
|
117
|
+
function envelope(shape) {
|
|
118
|
+
return z.object({ ok: z.literal(true), data: z.object({ account: z.string(), ...shape }) });
|
|
119
|
+
}
|
|
120
|
+
var activeCampaignAccountSummarySchema = z.object({
|
|
121
|
+
label: z.string(),
|
|
122
|
+
apiUrl: z.string(),
|
|
123
|
+
contactCount: z.number().nullable(),
|
|
124
|
+
siteTracking: z.object({
|
|
125
|
+
enabled: z.boolean().nullable(),
|
|
126
|
+
/** The id `vgo('setAccount', …)` takes — what the ActiveCampaign tag on a landing needs. */
|
|
127
|
+
trackingAccountId: z.string().nullable(),
|
|
128
|
+
/** Domains ActiveCampaign accepts visits from; empty means it records visits from none. */
|
|
129
|
+
domains: z.array(z.string())
|
|
130
|
+
}),
|
|
131
|
+
eventTracking: z.object({ enabled: z.boolean().nullable() })
|
|
132
|
+
});
|
|
133
|
+
var activeCampaignAccountResponseSchema = envelope({ summary: activeCampaignAccountSummarySchema });
|
|
134
|
+
var activeCampaignListRowSchema = z.object({
|
|
135
|
+
id: z.string(),
|
|
136
|
+
name: z.string(),
|
|
137
|
+
activeContacts: z.number().nullable(),
|
|
138
|
+
createdAt: z.string().nullable(),
|
|
139
|
+
raw
|
|
140
|
+
});
|
|
141
|
+
var activeCampaignListsResponseSchema = envelope({ lists: z.array(activeCampaignListRowSchema) });
|
|
142
|
+
var activeCampaignAutomationsRequestSchema = baseRequest.extend({ activeOnly: z.boolean().optional() });
|
|
143
|
+
var ACTIVECAMPAIGN_AUTOMATION_STATUSES = ["active", "inactive", "unknown"];
|
|
144
|
+
var activeCampaignAutomationRowSchema = z.object({
|
|
145
|
+
id: z.string(),
|
|
146
|
+
name: z.string(),
|
|
147
|
+
status: z.enum(ACTIVECAMPAIGN_AUTOMATION_STATUSES),
|
|
148
|
+
/** Contacts that have ever entered / finished it. */
|
|
149
|
+
entered: z.number().nullable(),
|
|
150
|
+
exited: z.number().nullable(),
|
|
151
|
+
/** What starts it (`subscribe`, `tagadd`, …), as ActiveCampaign names its triggers. */
|
|
152
|
+
triggers: z.array(z.string()),
|
|
153
|
+
createdAt: z.string().nullable(),
|
|
154
|
+
modifiedAt: z.string().nullable(),
|
|
155
|
+
raw
|
|
156
|
+
});
|
|
157
|
+
var activeCampaignAutomationsResponseSchema = envelope({
|
|
158
|
+
automations: z.array(activeCampaignAutomationRowSchema)
|
|
159
|
+
});
|
|
160
|
+
var activeCampaignStageSchema = z.object({ id: z.string(), title: z.string(), order: z.number().nullable() });
|
|
161
|
+
var activeCampaignPipelineRowSchema = z.object({
|
|
162
|
+
id: z.string(),
|
|
163
|
+
title: z.string(),
|
|
164
|
+
currency: z.string().nullable(),
|
|
165
|
+
/** In board order: the first is where a new deal lands. */
|
|
166
|
+
stages: z.array(activeCampaignStageSchema),
|
|
167
|
+
raw
|
|
168
|
+
});
|
|
169
|
+
var activeCampaignPipelinesResponseSchema = envelope({
|
|
170
|
+
pipelines: z.array(activeCampaignPipelineRowSchema)
|
|
171
|
+
});
|
|
172
|
+
var activeCampaignTagsRequestSchema = baseRequest.extend({ search: z.string().optional() });
|
|
173
|
+
var activeCampaignTagRowSchema = z.object({
|
|
174
|
+
id: z.string(),
|
|
175
|
+
name: z.string(),
|
|
176
|
+
/** `contact` or `template`; only contact tags can be put on a lead. */
|
|
177
|
+
type: z.string().nullable(),
|
|
178
|
+
contactCount: z.number().nullable(),
|
|
179
|
+
raw
|
|
180
|
+
});
|
|
181
|
+
var activeCampaignTagsResponseSchema = envelope({ tags: z.array(activeCampaignTagRowSchema) });
|
|
182
|
+
var activeCampaignCustomFieldRowSchema = z.object({
|
|
183
|
+
id: z.string(),
|
|
184
|
+
title: z.string(),
|
|
185
|
+
/** ActiveCampaign's type: `text`, `textarea`, `date`, `dropdown`, `multiselect`, `radio`, `checkbox`, … */
|
|
186
|
+
type: z.string().nullable(),
|
|
187
|
+
perstag: z.string().nullable(),
|
|
188
|
+
required: z.boolean(),
|
|
189
|
+
/** For a choice field, what may be stored (`value`) and what people see (`label`). */
|
|
190
|
+
options: z.array(z.object({ value: z.string(), label: z.string() })),
|
|
191
|
+
/** True when the field shows on every list (ActiveCampaign's relid 0). */
|
|
192
|
+
allLists: z.boolean(),
|
|
193
|
+
listIds: z.array(z.string()),
|
|
194
|
+
raw
|
|
195
|
+
});
|
|
196
|
+
var activeCampaignCustomFieldsResponseSchema = envelope({
|
|
197
|
+
fields: z.array(activeCampaignCustomFieldRowSchema)
|
|
198
|
+
});
|
|
199
|
+
var activeCampaignUserRowSchema = z.object({
|
|
200
|
+
id: z.string(),
|
|
201
|
+
username: z.string().nullable(),
|
|
202
|
+
name: z.string().nullable(),
|
|
203
|
+
email: z.string().nullable(),
|
|
204
|
+
raw
|
|
205
|
+
});
|
|
206
|
+
var activeCampaignUsersResponseSchema = envelope({ users: z.array(activeCampaignUserRowSchema) });
|
|
207
|
+
var ACTIVECAMPAIGN_CAMPAIGN_STATUSES = [
|
|
208
|
+
"draft",
|
|
209
|
+
"scheduled",
|
|
210
|
+
"sending",
|
|
211
|
+
"paused",
|
|
212
|
+
"stopped",
|
|
213
|
+
"completed"
|
|
214
|
+
];
|
|
215
|
+
var isoDay = z.string().regex(/^\d{4}-\d{2}-\d{2}$/, "Use a date like 2026-01-31");
|
|
216
|
+
var activeCampaignCampaignsRequestSchema = baseRequest.extend({
|
|
217
|
+
status: z.enum(ACTIVECAMPAIGN_CAMPAIGN_STATUSES).optional(),
|
|
218
|
+
/** Only campaigns first sent on or after this day. */
|
|
219
|
+
since: isoDay.optional(),
|
|
220
|
+
limit
|
|
221
|
+
});
|
|
222
|
+
var activeCampaignCampaignRatesSchema = z.object({
|
|
223
|
+
open: z.number().nullable(),
|
|
224
|
+
click: z.number().nullable(),
|
|
225
|
+
clickToOpen: z.number().nullable(),
|
|
226
|
+
unsubscribe: z.number().nullable(),
|
|
227
|
+
bounce: z.number().nullable()
|
|
228
|
+
});
|
|
229
|
+
var activeCampaignCampaignRowSchema = z.object({
|
|
230
|
+
id: z.string(),
|
|
231
|
+
name: z.string(),
|
|
232
|
+
/** `single`, `recurring`, `split`, `responder`, `reminder`, `special`, `activerss`, `text`, … */
|
|
233
|
+
type: z.string().nullable(),
|
|
234
|
+
status: z.enum([...ACTIVECAMPAIGN_CAMPAIGN_STATUSES, "unknown"]),
|
|
235
|
+
/** When it (first) went out, and when its last send ran — ActiveCampaign's `sdate` / `ldate`. */
|
|
236
|
+
sentAt: z.string().nullable(),
|
|
237
|
+
lastSentAt: z.string().nullable(),
|
|
238
|
+
/** Set when an automation sends it. */
|
|
239
|
+
automationId: z.string().nullable(),
|
|
240
|
+
sends: z.number(),
|
|
241
|
+
opens: z.number(),
|
|
242
|
+
uniqueOpens: z.number(),
|
|
243
|
+
clicks: z.number(),
|
|
244
|
+
uniqueClicks: z.number(),
|
|
245
|
+
unsubscribes: z.number(),
|
|
246
|
+
hardBounces: z.number(),
|
|
247
|
+
softBounces: z.number(),
|
|
248
|
+
rates: activeCampaignCampaignRatesSchema,
|
|
249
|
+
raw
|
|
250
|
+
});
|
|
251
|
+
var activeCampaignCampaignsResponseSchema = envelope({
|
|
252
|
+
campaigns: z.array(activeCampaignCampaignRowSchema),
|
|
253
|
+
/** True when more campaigns matched than `limit` returned. */
|
|
254
|
+
truncated: z.boolean()
|
|
255
|
+
});
|
|
256
|
+
var activeCampaignContactsRequestSchema = baseRequest.extend({
|
|
257
|
+
/** The contact's ActiveCampaign id — what an ActiveCampaign event's `contact.id` carries. */
|
|
258
|
+
id: z.string().optional(),
|
|
259
|
+
email: z.string().optional(),
|
|
260
|
+
/** A tag's id or exact name. */
|
|
261
|
+
tag: z.string().optional(),
|
|
262
|
+
/** A list's id or exact name. */
|
|
263
|
+
list: z.string().optional(),
|
|
264
|
+
/** ActiveCampaign's own search over name, email, phone and organisation. */
|
|
265
|
+
search: z.string().optional(),
|
|
266
|
+
limit
|
|
267
|
+
});
|
|
268
|
+
var activeCampaignContactRowSchema = z.object({
|
|
269
|
+
id: z.string(),
|
|
270
|
+
email: z.string().nullable(),
|
|
271
|
+
firstName: z.string().nullable(),
|
|
272
|
+
lastName: z.string().nullable(),
|
|
273
|
+
createdAt: z.string().nullable(),
|
|
274
|
+
updatedAt: z.string().nullable(),
|
|
275
|
+
/** The contact's tags by name; only on a lookup by `id` or `email`. */
|
|
276
|
+
tags: z.array(z.string()).optional(),
|
|
277
|
+
/** What the contact did and what ActiveCampaign did with them; only on a lookup by `id` or `email`. */
|
|
278
|
+
activity: z.object({
|
|
279
|
+
/** Custom events (`event.name` on a Form, or any event tracking), newest first. */
|
|
280
|
+
events: z.array(z.object({ name: z.string(), data: z.string().nullable(), at: z.string().nullable() })),
|
|
281
|
+
/** Site-tracking page visits, newest first. */
|
|
282
|
+
pageVisits: z.array(z.object({ url: z.string(), at: z.string().nullable() })),
|
|
283
|
+
/** Campaign emails: each one sent, opened, and each tracked link clicked (with its address), newest first. */
|
|
284
|
+
emails: z.array(
|
|
285
|
+
z.object({
|
|
286
|
+
campaignId: z.string(),
|
|
287
|
+
event: z.enum(["sent", "opened", "clicked"]),
|
|
288
|
+
url: z.string().nullable(),
|
|
289
|
+
at: z.string().nullable()
|
|
290
|
+
})
|
|
291
|
+
),
|
|
292
|
+
automations: z.array(
|
|
293
|
+
z.object({
|
|
294
|
+
id: z.string(),
|
|
295
|
+
name: z.string().nullable(),
|
|
296
|
+
status: z.enum(["running", "completed", "unknown"]),
|
|
297
|
+
startedAt: z.string().nullable(),
|
|
298
|
+
endedAt: z.string().nullable()
|
|
299
|
+
})
|
|
300
|
+
),
|
|
301
|
+
lists: z.array(
|
|
302
|
+
z.object({
|
|
303
|
+
id: z.string(),
|
|
304
|
+
name: z.string().nullable(),
|
|
305
|
+
status: z.enum(["subscribed", "unsubscribed", "unconfirmed", "bounced", "unknown"]),
|
|
306
|
+
since: z.string().nullable()
|
|
307
|
+
})
|
|
308
|
+
)
|
|
309
|
+
}).optional(),
|
|
310
|
+
raw
|
|
311
|
+
});
|
|
312
|
+
var activeCampaignContactsResponseSchema = envelope({
|
|
313
|
+
/** Every contact the filters match, of which `contacts` is the newest `limit`. */
|
|
314
|
+
total: z.number().nullable(),
|
|
315
|
+
contacts: z.array(activeCampaignContactRowSchema)
|
|
316
|
+
});
|
|
317
|
+
var ACTIVECAMPAIGN_DEAL_STATUSES = ["open", "won", "lost"];
|
|
318
|
+
var activeCampaignDealsRequestSchema = baseRequest.extend({
|
|
319
|
+
/** A pipeline's id or exact title. */
|
|
320
|
+
pipeline: z.string().optional(),
|
|
321
|
+
/** A stage's id or exact title (within `pipeline` when both are given). */
|
|
322
|
+
stage: z.string().optional(),
|
|
323
|
+
status: z.enum(ACTIVECAMPAIGN_DEAL_STATUSES).optional(),
|
|
324
|
+
/** A user's id, username or email. */
|
|
325
|
+
owner: z.string().optional(),
|
|
326
|
+
limit
|
|
327
|
+
});
|
|
328
|
+
var named = z.object({ id: z.string(), title: z.string() }).nullable();
|
|
329
|
+
var activeCampaignDealRowSchema = z.object({
|
|
330
|
+
id: z.string(),
|
|
331
|
+
title: z.string(),
|
|
332
|
+
/** In the currency's major units (ActiveCampaign stores cents). */
|
|
333
|
+
value: z.number().nullable(),
|
|
334
|
+
currency: z.string().nullable(),
|
|
335
|
+
status: z.enum([...ACTIVECAMPAIGN_DEAL_STATUSES, "unknown"]),
|
|
336
|
+
pipeline: named,
|
|
337
|
+
stage: named,
|
|
338
|
+
ownerId: z.string().nullable(),
|
|
339
|
+
contactId: z.string().nullable(),
|
|
340
|
+
createdAt: z.string().nullable(),
|
|
341
|
+
modifiedAt: z.string().nullable(),
|
|
342
|
+
raw
|
|
343
|
+
});
|
|
344
|
+
var activeCampaignDealTotalSchema = z.object({
|
|
345
|
+
currency: z.string(),
|
|
346
|
+
count: z.number(),
|
|
347
|
+
/** Major units, every matching deal — not only the rows returned. */
|
|
348
|
+
value: z.number()
|
|
349
|
+
});
|
|
350
|
+
var activeCampaignDealsResponseSchema = envelope({
|
|
351
|
+
total: z.number().nullable(),
|
|
352
|
+
totals: z.array(activeCampaignDealTotalSchema),
|
|
353
|
+
deals: z.array(activeCampaignDealRowSchema)
|
|
354
|
+
});
|
|
355
|
+
function activeCampaignReadPath(read) {
|
|
356
|
+
return `/api/activecampaign/reads/${read}`;
|
|
357
|
+
}
|
|
358
|
+
|
|
359
|
+
// src/commands/activecampaign/reads.ts
|
|
360
|
+
import { defineCommand as defineCommand2 } from "citty";
|
|
361
|
+
var COMMON_ARGS = {
|
|
362
|
+
account: {
|
|
363
|
+
type: "string",
|
|
364
|
+
description: "Which connection to read when the company has more than one (the id the error lists)",
|
|
365
|
+
required: false
|
|
366
|
+
},
|
|
367
|
+
full: {
|
|
368
|
+
type: "boolean",
|
|
369
|
+
description: "Add each row's untouched ActiveCampaign payload as `raw`",
|
|
370
|
+
required: false,
|
|
371
|
+
default: false
|
|
372
|
+
}
|
|
373
|
+
};
|
|
374
|
+
var LIMIT_ARG = { type: "string", description: "How many rows, 1-100 (default 20)", required: false };
|
|
375
|
+
function parseLimit(value) {
|
|
376
|
+
if (value === void 0 || value === "") return void 0;
|
|
377
|
+
const limit2 = Number(value);
|
|
378
|
+
if (!Number.isInteger(limit2) || limit2 < 1 || limit2 > 100) {
|
|
379
|
+
throw new ApiError("VALIDATION_ERROR", "--limit must be a whole number from 1 to 100");
|
|
380
|
+
}
|
|
381
|
+
return limit2;
|
|
382
|
+
}
|
|
383
|
+
function optionalString(value) {
|
|
384
|
+
return typeof value === "string" && value.trim() !== "" ? value.trim() : void 0;
|
|
385
|
+
}
|
|
386
|
+
function readCommand(spec) {
|
|
387
|
+
const args = { ...spec.args ?? {}, ...COMMON_ARGS };
|
|
388
|
+
registerSchema({ command: `activecampaign.${spec.read}`, description: spec.description, args });
|
|
389
|
+
return defineCommand2({
|
|
390
|
+
meta: { name: spec.read, description: spec.description },
|
|
391
|
+
args,
|
|
392
|
+
run: async ({ args: values }) => {
|
|
393
|
+
try {
|
|
394
|
+
const body = {
|
|
395
|
+
...spec.body ? spec.body(values) : {},
|
|
396
|
+
...optionalString(values.account) ? { account: optionalString(values.account) } : {},
|
|
397
|
+
...values.full === true ? { full: true } : {}
|
|
398
|
+
};
|
|
399
|
+
const response = await apiPost(activeCampaignReadPath(spec.read), body);
|
|
400
|
+
const hints = spec.hints ? spec.hints(response.data, values) : [];
|
|
401
|
+
writeJson({
|
|
402
|
+
ok: true,
|
|
403
|
+
data: response.data,
|
|
404
|
+
meta: { count: spec.rows(response.data).length },
|
|
405
|
+
...hints.length > 0 ? { hints } : {}
|
|
406
|
+
});
|
|
407
|
+
} catch (err) {
|
|
408
|
+
failActiveCampaign(err);
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
});
|
|
412
|
+
}
|
|
413
|
+
var accountCommand = readCommand({
|
|
414
|
+
read: "account",
|
|
415
|
+
description: "Start here for ActiveCampaign: the connected account at a glance \u2014 its label, how many contacts it holds, whether site tracking is on (and its tracking account id, the one id the ActiveCampaign tag on a landing needs), which domains it accepts visits from, and whether event tracking is on. Example: baker activecampaign account",
|
|
416
|
+
rows: (data) => [data.summary],
|
|
417
|
+
hints: ({ summary }) => {
|
|
418
|
+
const hints = [];
|
|
419
|
+
if (summary.siteTracking.enabled === false) {
|
|
420
|
+
hints.push(
|
|
421
|
+
"Site tracking is off in ActiveCampaign, so it records no page visits for these contacts even with the tag on a page."
|
|
422
|
+
);
|
|
423
|
+
}
|
|
424
|
+
if (summary.siteTracking.enabled && summary.siteTracking.domains.length === 0) {
|
|
425
|
+
hints.push("Site tracking is on but no domain is allowed, so ActiveCampaign ignores visits from every site.");
|
|
426
|
+
}
|
|
427
|
+
return hints;
|
|
428
|
+
}
|
|
429
|
+
});
|
|
430
|
+
var listsCommand = readCommand({
|
|
431
|
+
read: "lists",
|
|
432
|
+
description: "Every list on the connected ActiveCampaign account with its id and how many active contacts it holds. Use the id or the name with `baker activecampaign contacts --list`. Example: baker activecampaign lists",
|
|
433
|
+
rows: (data) => data.lists
|
|
434
|
+
});
|
|
435
|
+
var automationsCommand = readCommand({
|
|
436
|
+
read: "automations",
|
|
437
|
+
description: "Every automation on the connected ActiveCampaign account: on or off, how many contacts entered and finished it, and what starts it (subscribe, tag added, \u2026). Read it when auditing what happens to a lead after it arrives \u2014 an automation that is off looks connected and does nothing. Example: baker activecampaign automations --active-only",
|
|
438
|
+
args: {
|
|
439
|
+
"active-only": { type: "boolean", description: "Only automations that are on", required: false, default: false }
|
|
440
|
+
},
|
|
441
|
+
body: (args) => args["active-only"] === true ? { activeOnly: true } : {},
|
|
442
|
+
rows: (data) => data.automations,
|
|
443
|
+
hints: (data) => data.automations.length === 0 ? ["This account has no automations, so nothing runs after a lead arrives unless someone acts on it by hand."] : []
|
|
444
|
+
});
|
|
445
|
+
var pipelinesCommand = readCommand({
|
|
446
|
+
read: "pipelines",
|
|
447
|
+
description: "Deal pipelines on the connected ActiveCampaign account with their stages in board order \u2014 the first stage is where a new deal lands. Ids and titles feed `baker activecampaign deals --pipeline/--stage`. Example: baker activecampaign pipelines",
|
|
448
|
+
rows: (data) => data.pipelines,
|
|
449
|
+
hints: (data) => data.pipelines.length === 0 ? ["This account has no deal pipelines, so there are no deals to read."] : []
|
|
450
|
+
});
|
|
451
|
+
var tagsCommand = readCommand({
|
|
452
|
+
read: "tags",
|
|
453
|
+
description: "Tags on the connected ActiveCampaign account with how many contacts carry each. Use a name with `baker activecampaign contacts --tag`. Example: baker activecampaign tags --search withbaker-",
|
|
454
|
+
args: { search: { type: "string", description: "Only tags whose name contains this text", required: false } },
|
|
455
|
+
body: (args) => optionalString(args.search) ? { search: optionalString(args.search) } : {},
|
|
456
|
+
rows: (data) => data.tags
|
|
457
|
+
});
|
|
458
|
+
var fieldsCommand = readCommand({
|
|
459
|
+
read: "fields",
|
|
460
|
+
description: "The account's own custom contact fields: id, title, type, personalization tag, whether it is required, the choices a dropdown/radio/checkbox accepts (store the `value`), and which lists it shows on. Map a Form answer onto one with `baker flows map` (`custom.<id>` or the tag). Example: baker activecampaign fields",
|
|
461
|
+
rows: (data) => data.fields
|
|
462
|
+
});
|
|
463
|
+
var usersCommand = readCommand({
|
|
464
|
+
read: "users",
|
|
465
|
+
description: "The people with a login on the connected ActiveCampaign account \u2014 who can own a deal. Example: baker activecampaign users",
|
|
466
|
+
rows: (data) => data.users
|
|
467
|
+
});
|
|
468
|
+
var campaignsCommand = readCommand({
|
|
469
|
+
read: "campaigns",
|
|
470
|
+
description: "Email campaign reports from the connected ActiveCampaign account, most recently sent first: status, send date, sends, opens and unique opens, clicks and unique clicks, unsubscribes, hard and soft bounces, and the rates (open, click and unsubscribe rates are shares of sends; click-to-open is unique clicks over unique opens; 0-1, null before anything is sent). Start here for 'how are my emails doing'. Example: baker activecampaign campaigns --since 2026-09-01 --status completed",
|
|
471
|
+
args: {
|
|
472
|
+
status: {
|
|
473
|
+
type: "string",
|
|
474
|
+
description: `Only campaigns in this state: ${ACTIVECAMPAIGN_CAMPAIGN_STATUSES.join("|")}`,
|
|
475
|
+
required: false,
|
|
476
|
+
enum: [...ACTIVECAMPAIGN_CAMPAIGN_STATUSES]
|
|
477
|
+
},
|
|
478
|
+
since: { type: "string", description: "Only campaigns sent on or after this day (YYYY-MM-DD)", required: false },
|
|
479
|
+
limit: LIMIT_ARG
|
|
480
|
+
},
|
|
481
|
+
body: (args) => ({
|
|
482
|
+
...optionalString(args.status) ? { status: optionalString(args.status) } : {},
|
|
483
|
+
...optionalString(args.since) ? { since: optionalString(args.since) } : {},
|
|
484
|
+
...parseLimit(args.limit) ? { limit: parseLimit(args.limit) } : {}
|
|
485
|
+
}),
|
|
486
|
+
rows: (data) => data.campaigns,
|
|
487
|
+
hints: (data) => {
|
|
488
|
+
const hints = [];
|
|
489
|
+
if (data.truncated) hints.push("More campaigns matched than were returned; raise --limit or narrow with --since.");
|
|
490
|
+
if (data.campaigns.length === 0) hints.push("No campaign matched \u2014 this account may not have sent any yet.");
|
|
491
|
+
if (data.campaigns.some((campaign) => campaign.automationId !== null)) {
|
|
492
|
+
hints.push("Rows with an automationId are emails an automation sends; their counts grow as contacts enter it.");
|
|
493
|
+
}
|
|
494
|
+
return hints;
|
|
495
|
+
}
|
|
496
|
+
});
|
|
497
|
+
var contactsCommand = readCommand({
|
|
498
|
+
read: "contacts",
|
|
499
|
+
description: "Contacts on the connected ActiveCampaign account, newest first: one by --email (was this lead received?) or by --id (the `contact.id` an ActiveCampaign event carries \u2014 a scheduled agent's payload never holds the email), each with its `tags` by name and its `activity` (events, page visits, campaign emails sent/opened/clicked, automation runs, list subscriptions \u2014 did the Form's event land? did it enter the automation?); everyone with a --tag or on a --list (id or exact name), or a --search; with no filter, the most recent. `total` counts every match, so `--limit 1` answers 'how many'. Rows are personal data: quote counts in a report, never names or emails. Example: baker activecampaign contacts --tag withbaker-/pricing --limit 5",
|
|
500
|
+
args: {
|
|
501
|
+
id: { type: "string", description: "The contact's ActiveCampaign id, e.g. an event's contact.id", required: false },
|
|
502
|
+
email: { type: "string", description: "The contact's exact email", required: false },
|
|
503
|
+
tag: { type: "string", description: "A tag id or exact name", required: false },
|
|
504
|
+
list: { type: "string", description: "A list id or exact name", required: false },
|
|
505
|
+
search: { type: "string", description: "Free text over name, email, phone and organisation", required: false },
|
|
506
|
+
limit: LIMIT_ARG
|
|
507
|
+
},
|
|
508
|
+
body: (args) => ({
|
|
509
|
+
...Object.fromEntries(
|
|
510
|
+
["id", "email", "tag", "list", "search"].flatMap(
|
|
511
|
+
(key) => optionalString(args[key]) ? [[key, optionalString(args[key])]] : []
|
|
512
|
+
)
|
|
513
|
+
),
|
|
514
|
+
...parseLimit(args.limit) ? { limit: parseLimit(args.limit) } : {}
|
|
515
|
+
}),
|
|
516
|
+
rows: (data) => data.contacts,
|
|
517
|
+
hints: (data, args) => optionalString(args.email) && data.contacts.length === 0 ? ["No contact has that email: the lead never reached ActiveCampaign. That is a finding, not an error."] : optionalString(args.id) && data.contacts.length === 0 ? ["No contact has that id: it was deleted or merged in ActiveCampaign since the event."] : []
|
|
518
|
+
});
|
|
519
|
+
var dealsCommand = readCommand({
|
|
520
|
+
read: "deals",
|
|
521
|
+
description: "Deals on the connected ActiveCampaign account, newest first, narrowed by --pipeline / --stage (id or exact title, from `baker activecampaign pipelines`), --status open|won|lost and --owner (user id, username or email). Values are in the currency's major units; `totals` sums every matching deal per currency, not only the rows returned. Example: baker activecampaign deals --status won",
|
|
522
|
+
args: {
|
|
523
|
+
pipeline: { type: "string", description: "A pipeline id or exact title", required: false },
|
|
524
|
+
stage: { type: "string", description: "A stage id or exact title", required: false },
|
|
525
|
+
status: {
|
|
526
|
+
type: "string",
|
|
527
|
+
description: `Only deals that are ${ACTIVECAMPAIGN_DEAL_STATUSES.join("|")}`,
|
|
528
|
+
required: false,
|
|
529
|
+
enum: [...ACTIVECAMPAIGN_DEAL_STATUSES]
|
|
530
|
+
},
|
|
531
|
+
owner: { type: "string", description: "A user id, username or email", required: false },
|
|
532
|
+
limit: LIMIT_ARG
|
|
533
|
+
},
|
|
534
|
+
body: (args) => ({
|
|
535
|
+
...Object.fromEntries(
|
|
536
|
+
["pipeline", "stage", "status", "owner"].flatMap(
|
|
537
|
+
(key) => optionalString(args[key]) ? [[key, optionalString(args[key])]] : []
|
|
538
|
+
)
|
|
539
|
+
),
|
|
540
|
+
...parseLimit(args.limit) ? { limit: parseLimit(args.limit) } : {}
|
|
541
|
+
}),
|
|
542
|
+
rows: (data) => data.deals
|
|
543
|
+
});
|
|
544
|
+
var READ_COMMANDS = {
|
|
545
|
+
account: accountCommand,
|
|
546
|
+
lists: listsCommand,
|
|
547
|
+
automations: automationsCommand,
|
|
548
|
+
pipelines: pipelinesCommand,
|
|
549
|
+
tags: tagsCommand,
|
|
550
|
+
fields: fieldsCommand,
|
|
551
|
+
users: usersCommand,
|
|
552
|
+
campaigns: campaignsCommand,
|
|
553
|
+
contacts: contactsCommand,
|
|
554
|
+
deals: dealsCommand
|
|
555
|
+
};
|
|
556
|
+
|
|
557
|
+
// ../api/src/activecampaign-writes.ts
|
|
558
|
+
import { z as z2 } from "zod";
|
|
559
|
+
var ACTIVECAMPAIGN_WRITE_KINDS = ["field", "list", "tag", "pipeline"];
|
|
560
|
+
var ACTIVECAMPAIGN_STAGEABLE_FIELD_TYPES = [
|
|
561
|
+
"text",
|
|
562
|
+
"textarea",
|
|
563
|
+
"date",
|
|
564
|
+
"datetime",
|
|
565
|
+
"dropdown",
|
|
566
|
+
"listbox",
|
|
567
|
+
"radio",
|
|
568
|
+
"checkbox",
|
|
569
|
+
"hidden"
|
|
570
|
+
];
|
|
571
|
+
var OPTION_FIELD_TYPES = /* @__PURE__ */ new Set([
|
|
572
|
+
"dropdown",
|
|
573
|
+
"listbox",
|
|
574
|
+
"radio",
|
|
575
|
+
"checkbox"
|
|
576
|
+
]);
|
|
577
|
+
function activeCampaignFieldTakesOptions(type) {
|
|
578
|
+
return OPTION_FIELD_TYPES.has(type);
|
|
579
|
+
}
|
|
580
|
+
function activeCampaignPerstag(title) {
|
|
581
|
+
return title.trim().toUpperCase().replace(/\s+/g, "_").replace(/[^A-Z0-9_]/g, "");
|
|
582
|
+
}
|
|
583
|
+
var name = z2.string().trim().min(1).max(255);
|
|
584
|
+
var description = z2.string().trim().max(1e3).optional();
|
|
585
|
+
var PERSTAG = /^[A-Z0-9_]+$/;
|
|
586
|
+
var activeCampaignFieldOpSchema = z2.object({
|
|
587
|
+
kind: z2.literal("field"),
|
|
588
|
+
title: name,
|
|
589
|
+
type: z2.enum(ACTIVECAMPAIGN_STAGEABLE_FIELD_TYPES).default("text"),
|
|
590
|
+
/** `UTM_SOURCE` — what Forms map onto (`custom.UTM_SOURCE`). Derived from the title when absent. */
|
|
591
|
+
perstag: z2.string().trim().transform((value) => value.replace(/^%|%$/g, "").toUpperCase()).pipe(z2.string().min(1).max(100).regex(PERSTAG, "perstag may only use letters, digits and _ (like UTM_SOURCE)")).optional(),
|
|
592
|
+
options: z2.array(name).max(200).optional(),
|
|
593
|
+
description
|
|
594
|
+
}).superRefine((op, ctx) => {
|
|
595
|
+
const takesOptions = activeCampaignFieldTakesOptions(op.type);
|
|
596
|
+
if (takesOptions && (op.options ?? []).length === 0) {
|
|
597
|
+
ctx.addIssue({ code: "custom", path: ["options"], message: `a ${op.type} field needs at least one option` });
|
|
598
|
+
}
|
|
599
|
+
if (!takesOptions && op.options !== void 0) {
|
|
600
|
+
ctx.addIssue({ code: "custom", path: ["options"], message: `a ${op.type} field takes no options` });
|
|
601
|
+
}
|
|
602
|
+
if (op.perstag === void 0 && activeCampaignPerstag(op.title) === "") {
|
|
603
|
+
ctx.addIssue({
|
|
604
|
+
code: "custom",
|
|
605
|
+
path: ["perstag"],
|
|
606
|
+
message: "pass --perstag: the title has no letters or digits"
|
|
607
|
+
});
|
|
608
|
+
}
|
|
609
|
+
const values = (op.options ?? []).map((option) => option.toLowerCase());
|
|
610
|
+
if (new Set(values).size !== values.length) {
|
|
611
|
+
ctx.addIssue({ code: "custom", path: ["options"], message: "options must not repeat" });
|
|
612
|
+
}
|
|
613
|
+
});
|
|
614
|
+
var activeCampaignListOpSchema = z2.object({ kind: z2.literal("list"), name, description });
|
|
615
|
+
var activeCampaignTagOpSchema = z2.object({ kind: z2.literal("tag"), name, description });
|
|
616
|
+
var activeCampaignPipelineOpSchema = z2.object({
|
|
617
|
+
kind: z2.literal("pipeline"),
|
|
618
|
+
title: name,
|
|
619
|
+
currency: z2.string().trim().toLowerCase().regex(/^[a-z]{3}$/, "currency is a three-letter code like usd").default("usd"),
|
|
620
|
+
/** In order. A new pipeline gets exactly these; an existing one gains the ones it lacks. */
|
|
621
|
+
stages: z2.array(name).max(30).optional()
|
|
622
|
+
}).superRefine((op, ctx) => {
|
|
623
|
+
const titles = (op.stages ?? []).map((stage2) => stage2.toLowerCase());
|
|
624
|
+
if (new Set(titles).size !== titles.length) {
|
|
625
|
+
ctx.addIssue({ code: "custom", path: ["stages"], message: "stages must not repeat" });
|
|
626
|
+
}
|
|
627
|
+
});
|
|
628
|
+
var activeCampaignWriteOpSchema = z2.discriminatedUnion("kind", [
|
|
629
|
+
activeCampaignFieldOpSchema,
|
|
630
|
+
activeCampaignListOpSchema,
|
|
631
|
+
activeCampaignTagOpSchema,
|
|
632
|
+
activeCampaignPipelineOpSchema
|
|
633
|
+
]);
|
|
634
|
+
var activeCampaignDraftOpResultSchema = z2.object({
|
|
635
|
+
status: z2.enum(["applied", "failed", "skipped"]),
|
|
636
|
+
/** The id ActiveCampaign gave, or the one it already had. */
|
|
637
|
+
id: z2.string().optional(),
|
|
638
|
+
/** True when the account already had it and nothing new was made. */
|
|
639
|
+
reused: z2.boolean().optional(),
|
|
640
|
+
note: z2.string().optional(),
|
|
641
|
+
error: z2.string().optional(),
|
|
642
|
+
executedAt: z2.number().optional()
|
|
643
|
+
});
|
|
644
|
+
var activeCampaignDraftStageRequestSchema = z2.object({
|
|
645
|
+
chatId: z2.string().min(1),
|
|
646
|
+
/** Connection id; optional when the company has exactly one ActiveCampaign account. */
|
|
647
|
+
account: z2.string().optional(),
|
|
648
|
+
op: activeCampaignWriteOpSchema
|
|
649
|
+
});
|
|
650
|
+
var activeCampaignDraftStageResponseSchema = z2.object({
|
|
651
|
+
ref: z2.string(),
|
|
652
|
+
kind: z2.enum(ACTIVECAMPAIGN_WRITE_KINDS),
|
|
653
|
+
summary: z2.string(),
|
|
654
|
+
account: z2.string(),
|
|
655
|
+
/** True when this replaced an earlier staged op for the same thing. */
|
|
656
|
+
replaced: z2.boolean(),
|
|
657
|
+
/** The account already has it: publishing reuses it (a field gains missing options). */
|
|
658
|
+
alreadyInAccount: z2.boolean(),
|
|
659
|
+
/** A Form maps a staged field as `custom.<perstag>`. */
|
|
660
|
+
mapAs: z2.string().optional(),
|
|
661
|
+
hints: z2.array(z2.string()).optional()
|
|
662
|
+
});
|
|
663
|
+
var activeCampaignDraftListRequestSchema = z2.object({ chatId: z2.string().min(1) });
|
|
664
|
+
var activeCampaignDraftOpViewSchema = z2.object({
|
|
665
|
+
ref: z2.string(),
|
|
666
|
+
kind: z2.enum(ACTIVECAMPAIGN_WRITE_KINDS),
|
|
667
|
+
name: z2.string(),
|
|
668
|
+
summary: z2.string(),
|
|
669
|
+
account: z2.string(),
|
|
670
|
+
stagedAt: z2.number(),
|
|
671
|
+
result: activeCampaignDraftOpResultSchema.optional()
|
|
672
|
+
});
|
|
673
|
+
var activeCampaignDraftListResponseSchema = z2.object({
|
|
674
|
+
status: z2.enum(["none", "active", "publishing", "applied", "discarded"]),
|
|
675
|
+
count: z2.number(),
|
|
676
|
+
ops: z2.array(activeCampaignDraftOpViewSchema),
|
|
677
|
+
publishError: z2.string().optional()
|
|
678
|
+
});
|
|
679
|
+
var activeCampaignDraftRemoveRequestSchema = z2.object({
|
|
680
|
+
chatId: z2.string().min(1),
|
|
681
|
+
/** A staged ref (`ac_field_1`) or the thing's name / perstag. */
|
|
682
|
+
ref: z2.string().min(1)
|
|
683
|
+
});
|
|
684
|
+
var activeCampaignDraftRemoveResponseSchema = z2.object({ removed: z2.array(z2.string()) });
|
|
685
|
+
var activeCampaignDraftClearRequestSchema = z2.object({ chatId: z2.string().min(1) });
|
|
686
|
+
var activeCampaignDraftClearResponseSchema = z2.object({ cleared: z2.number() });
|
|
687
|
+
|
|
688
|
+
// src/commands/activecampaign/stage.ts
|
|
689
|
+
import { defineCommand as defineCommand3 } from "citty";
|
|
690
|
+
var UTM_FIELDS = [
|
|
691
|
+
["UTM_SOURCE", "UTM source"],
|
|
692
|
+
["UTM_MEDIUM", "UTM medium"],
|
|
693
|
+
["UTM_CAMPAIGN", "UTM campaign"],
|
|
694
|
+
["UTM_CONTENT", "UTM content"],
|
|
695
|
+
["UTM_TERM", "UTM term"]
|
|
696
|
+
];
|
|
697
|
+
function text(value) {
|
|
698
|
+
return typeof value === "string" && value.trim() !== "" ? value.trim() : void 0;
|
|
699
|
+
}
|
|
700
|
+
function commaList(value) {
|
|
701
|
+
const raw2 = text(value);
|
|
702
|
+
return raw2 === void 0 ? void 0 : raw2.split(",").map((part) => part.trim()).filter((part) => part !== "");
|
|
703
|
+
}
|
|
704
|
+
function defined(entries) {
|
|
705
|
+
return Object.fromEntries(Object.entries(entries).filter(([, value]) => value !== void 0));
|
|
706
|
+
}
|
|
707
|
+
function stageOpsFromArgs(kind, args) {
|
|
708
|
+
switch (kind) {
|
|
709
|
+
case "field":
|
|
710
|
+
if (args.utm === true) {
|
|
711
|
+
return UTM_FIELDS.map(([perstag, title]) => ({ kind, title, type: "text", perstag }));
|
|
712
|
+
}
|
|
713
|
+
return [
|
|
714
|
+
{
|
|
715
|
+
kind,
|
|
716
|
+
...defined({
|
|
717
|
+
title: text(args.title),
|
|
718
|
+
type: text(args.type),
|
|
719
|
+
perstag: text(args.perstag),
|
|
720
|
+
options: commaList(args.options),
|
|
721
|
+
description: text(args.description)
|
|
722
|
+
})
|
|
723
|
+
}
|
|
724
|
+
];
|
|
725
|
+
case "list":
|
|
726
|
+
case "tag":
|
|
727
|
+
return [{ kind, ...defined({ name: text(args.name), description: text(args.description) }) }];
|
|
728
|
+
default:
|
|
729
|
+
return [
|
|
730
|
+
{
|
|
731
|
+
kind,
|
|
732
|
+
...defined({ title: text(args.title), currency: text(args.currency), stages: commaList(args.stages) })
|
|
733
|
+
}
|
|
734
|
+
];
|
|
735
|
+
}
|
|
736
|
+
}
|
|
737
|
+
var STAGED_HINT = "Staged only \u2014 nothing has changed in ActiveCampaign yet. It is created when the user publishes this chat (an existing one with the same name is reused, never duplicated). Say it is ready and gets created on Publish \u2014 not that it exists already.";
|
|
738
|
+
async function stage(kind, args) {
|
|
739
|
+
const chatId = requireChatId();
|
|
740
|
+
const account = text(args.account);
|
|
741
|
+
try {
|
|
742
|
+
const staged = [];
|
|
743
|
+
for (const op of stageOpsFromArgs(kind, args)) {
|
|
744
|
+
staged.push(
|
|
745
|
+
await apiPost("/api/activecampaign/draft/stage", {
|
|
746
|
+
chatId,
|
|
747
|
+
...account ? { account } : {},
|
|
748
|
+
op
|
|
749
|
+
})
|
|
750
|
+
);
|
|
751
|
+
}
|
|
752
|
+
const hints = [...new Set(staged.flatMap((entry) => entry.hints ?? []))];
|
|
753
|
+
const mapAs = staged.flatMap((entry) => entry.mapAs ? [entry.mapAs] : []);
|
|
754
|
+
if (mapAs.length > 0) {
|
|
755
|
+
hints.push(
|
|
756
|
+
`Map a Form answer onto it with \`baker flows map\` as ${mapAs.map((key) => `\`${key}\``).join(", ")} \u2014 the field is found by its perstag when a lead arrives, so the mapping works before and after Publish creates it.`
|
|
757
|
+
);
|
|
758
|
+
}
|
|
759
|
+
if (staged.some((entry) => entry.alreadyInAccount)) {
|
|
760
|
+
hints.push("The account already has at least one of these: Publish reuses it rather than creating a copy.");
|
|
761
|
+
}
|
|
762
|
+
const data = staged.map(({ hints: _hints, ...entry }) => entry);
|
|
763
|
+
writeJson({ ok: true, data: data.length === 1 ? data[0] : data, hints: [STAGED_HINT, ...hints] });
|
|
764
|
+
} catch (err) {
|
|
765
|
+
failActiveCampaign(err);
|
|
766
|
+
}
|
|
767
|
+
}
|
|
768
|
+
var ACCOUNT_ARG = {
|
|
769
|
+
type: "string",
|
|
770
|
+
description: "Which ActiveCampaign connection, when the company has more than one (the id the error lists)",
|
|
771
|
+
required: false
|
|
772
|
+
};
|
|
773
|
+
var FIELD_ARGS = {
|
|
774
|
+
title: { type: "string", description: 'Field name as people see it, e.g. "UTM source"', required: false },
|
|
775
|
+
type: {
|
|
776
|
+
type: "string",
|
|
777
|
+
description: `${ACTIVECAMPAIGN_STAGEABLE_FIELD_TYPES.join("|")} (default text)`,
|
|
778
|
+
required: false
|
|
779
|
+
},
|
|
780
|
+
perstag: {
|
|
781
|
+
type: "string",
|
|
782
|
+
description: "Personalization tag, e.g. UTM_SOURCE \u2014 what Forms map onto (custom.UTM_SOURCE). Default: from the title",
|
|
783
|
+
required: false
|
|
784
|
+
},
|
|
785
|
+
options: {
|
|
786
|
+
type: "string",
|
|
787
|
+
description: 'Comma-separated choices for dropdown|listbox|radio|checkbox, e.g. "Basic,Pro"',
|
|
788
|
+
required: false
|
|
789
|
+
},
|
|
790
|
+
description: { type: "string", description: "Help text shown with the field", required: false },
|
|
791
|
+
utm: {
|
|
792
|
+
type: "boolean",
|
|
793
|
+
description: "Stage the five UTM text fields at once: UTM_SOURCE, UTM_MEDIUM, UTM_CAMPAIGN, UTM_CONTENT, UTM_TERM",
|
|
794
|
+
required: false
|
|
795
|
+
},
|
|
796
|
+
account: ACCOUNT_ARG
|
|
797
|
+
};
|
|
798
|
+
var NAMED_ARGS = {
|
|
799
|
+
name: { type: "string", description: "Its name in ActiveCampaign", required: false },
|
|
800
|
+
description: { type: "string", description: "Optional description", required: false },
|
|
801
|
+
account: ACCOUNT_ARG
|
|
802
|
+
};
|
|
803
|
+
var PIPELINE_ARGS = {
|
|
804
|
+
title: { type: "string", description: 'Pipeline name, e.g. "Inbound leads"', required: false },
|
|
805
|
+
stages: {
|
|
806
|
+
type: "string",
|
|
807
|
+
description: 'Comma-separated stages in order, e.g. "New lead,Qualified,Proposal,Won". A new pipeline gets exactly these; an existing one only gains the missing ones',
|
|
808
|
+
required: false
|
|
809
|
+
},
|
|
810
|
+
currency: { type: "string", description: "Deal currency, three letters (default usd)", required: false },
|
|
811
|
+
account: ACCOUNT_ARG
|
|
812
|
+
};
|
|
813
|
+
var DESCRIPTIONS = {
|
|
814
|
+
field: 'Stage a custom contact field (applied at Publish, on every list). Start here for UTMs: `stage field --utm`, then map `custom.UTM_SOURCE=tracking:utm_source` etc. with `baker flows map`. One field: `stage field --title "Plan" --type dropdown --options "Basic,Pro"`.',
|
|
815
|
+
list: 'Stage a contact list, e.g. `stage list --name "Webinar sign-ups"` (applied at Publish; an existing list of that name is reused).',
|
|
816
|
+
tag: 'Stage a contact tag, e.g. `stage tag --name "hot-lead"` (applied at Publish; reused when it exists). A Form can also create tags on its own when it tags a lead.',
|
|
817
|
+
pipeline: 'Stage a deal pipeline with its stages, e.g. `stage pipeline --title "Inbound" --stages "New lead,Qualified,Won"` (applied at Publish; an existing pipeline only gains missing stages).'
|
|
818
|
+
};
|
|
819
|
+
function schemaArgs(args) {
|
|
820
|
+
return Object.fromEntries(
|
|
821
|
+
Object.entries(args).map(([name2, arg]) => [
|
|
822
|
+
name2,
|
|
823
|
+
{ type: arg.type ?? "string", description: arg.description ?? "", required: arg.required === true }
|
|
824
|
+
])
|
|
825
|
+
);
|
|
826
|
+
}
|
|
827
|
+
function stageCommand(kind, args) {
|
|
828
|
+
registerSchema({ command: `activecampaign.stage.${kind}`, description: DESCRIPTIONS[kind], args: schemaArgs(args) });
|
|
829
|
+
return defineCommand3({
|
|
830
|
+
meta: { name: kind, description: DESCRIPTIONS[kind] },
|
|
831
|
+
args,
|
|
832
|
+
run: async ({ args: values }) => {
|
|
833
|
+
await stage(kind, values);
|
|
834
|
+
}
|
|
835
|
+
});
|
|
836
|
+
}
|
|
837
|
+
var stageCommandGroup = defineCommand3({
|
|
838
|
+
meta: {
|
|
839
|
+
name: "stage",
|
|
840
|
+
description: "Stage an ActiveCampaign change on this chat \u2014 a custom field, list, tag or deal pipeline. Nothing changes in ActiveCampaign until the chat is published; restaging the same name replaces the staged one. Review with `baker activecampaign drafts`, drop with `baker activecampaign unstage`."
|
|
841
|
+
},
|
|
842
|
+
subCommands: {
|
|
843
|
+
field: stageCommand("field", FIELD_ARGS),
|
|
844
|
+
list: stageCommand("list", NAMED_ARGS),
|
|
845
|
+
tag: stageCommand("tag", NAMED_ARGS),
|
|
846
|
+
pipeline: stageCommand("pipeline", PIPELINE_ARGS)
|
|
847
|
+
}
|
|
848
|
+
});
|
|
849
|
+
|
|
850
|
+
// src/commands/activecampaign/unstage.ts
|
|
851
|
+
import { defineCommand as defineCommand4 } from "citty";
|
|
852
|
+
var DESCRIPTION2 = 'Drop a staged ActiveCampaign change from this chat before it is published: `unstage ac_field_1`, `unstage UTM_SOURCE` (a field\'s perstag) or `unstage "Webinar sign-ups"` (a name). `--all` drops every staged ActiveCampaign change. Nothing in ActiveCampaign is touched.';
|
|
853
|
+
registerSchema({
|
|
854
|
+
command: "activecampaign.unstage",
|
|
855
|
+
description: DESCRIPTION2,
|
|
856
|
+
args: {
|
|
857
|
+
ref: { type: "positional", description: "Staged ref, name, or a field's perstag", required: false },
|
|
858
|
+
all: { type: "boolean", description: "Drop every staged ActiveCampaign change on this chat", required: false }
|
|
859
|
+
}
|
|
860
|
+
});
|
|
861
|
+
var unstageCommand = defineCommand4({
|
|
862
|
+
meta: { name: "unstage", description: DESCRIPTION2 },
|
|
863
|
+
args: {
|
|
864
|
+
ref: { type: "positional", description: "Staged ref, name, or a field's perstag", required: false },
|
|
865
|
+
all: { type: "boolean", description: "Drop every staged ActiveCampaign change on this chat", required: false }
|
|
866
|
+
},
|
|
867
|
+
run: async ({ args }) => {
|
|
868
|
+
const chatId = requireChatId();
|
|
869
|
+
try {
|
|
870
|
+
if (args.all === true) {
|
|
871
|
+
const data2 = await apiPost("/api/activecampaign/draft/clear", { chatId });
|
|
872
|
+
writeJson({ ok: true, data: data2 });
|
|
873
|
+
return;
|
|
874
|
+
}
|
|
875
|
+
const ref = typeof args.ref === "string" ? args.ref.trim() : "";
|
|
876
|
+
if (!ref) {
|
|
877
|
+
writeJson({
|
|
878
|
+
ok: false,
|
|
879
|
+
error: { code: "VALIDATION_ERROR", message: "pass the staged ref, name or perstag to drop, or --all" }
|
|
880
|
+
});
|
|
881
|
+
process.exit(1);
|
|
882
|
+
}
|
|
883
|
+
const data = await apiPost("/api/activecampaign/draft/remove", {
|
|
884
|
+
chatId,
|
|
885
|
+
ref
|
|
886
|
+
});
|
|
887
|
+
writeJson({
|
|
888
|
+
ok: true,
|
|
889
|
+
data,
|
|
890
|
+
...data.removed.length === 0 ? { hints: [`Nothing staged matches "${ref}". Run \`baker activecampaign drafts\` to see the refs.`] } : {}
|
|
891
|
+
});
|
|
892
|
+
} catch (err) {
|
|
893
|
+
failActiveCampaign(err);
|
|
894
|
+
}
|
|
895
|
+
}
|
|
896
|
+
});
|
|
897
|
+
|
|
898
|
+
// src/commands/activecampaign/index.ts
|
|
899
|
+
var activecampaignCommand = defineCommand5({
|
|
900
|
+
meta: {
|
|
901
|
+
name: "activecampaign",
|
|
902
|
+
description: `Read the connected ActiveCampaign account \u2014 its tracking set-up, lists, automations, pipelines,
|
|
903
|
+
tags, custom fields, users, email campaign reports, contacts and deals. These reads are live and change nothing.
|
|
904
|
+
|
|
905
|
+
Examples:
|
|
906
|
+
baker activecampaign account # contacts, site tracking + tracking account id, domains
|
|
907
|
+
baker activecampaign campaigns --since 2026-09-01 # email reports: sends, opens, clicks, unsubscribes, bounces, rates
|
|
908
|
+
baker activecampaign automations --active-only # what runs after a lead arrives, and how many went through
|
|
909
|
+
baker activecampaign contacts --email a@b.com # did this lead arrive?
|
|
910
|
+
baker activecampaign contacts --tag webinar --limit 1 # how many carry a tag (total)
|
|
911
|
+
baker activecampaign deals --status won # won deals and their value per currency
|
|
912
|
+
baker activecampaign pipelines | lists | tags | fields | users
|
|
913
|
+
|
|
914
|
+
Changes are staged on this chat and made in ActiveCampaign only when the user publishes it:
|
|
915
|
+
baker activecampaign stage field --utm # UTM_SOURCE \u2026 UTM_TERM, for Forms to map onto
|
|
916
|
+
baker activecampaign stage field --title "Plan" --type dropdown --options "Basic,Pro"
|
|
917
|
+
baker activecampaign stage list --name "Webinar sign-ups"
|
|
918
|
+
baker activecampaign stage tag --name "hot-lead"
|
|
919
|
+
baker activecampaign stage pipeline --title "Inbound" --stages "New lead,Qualified,Won"
|
|
920
|
+
baker activecampaign drafts # what is staged, and after Publish what happened
|
|
921
|
+
baker activecampaign unstage <ref|name|perstag> # drop one; unstage --all drops every staged change
|
|
922
|
+
|
|
923
|
+
Every command takes --account <id> when the company has more than one ActiveCampaign connection, and --full
|
|
924
|
+
for the untouched ActiveCampaign payload. NO_ACTIVECAMPAIGN_CONNECTION / ACTIVECAMPAIGN_RECONNECT_REQUIRED
|
|
925
|
+
carry a request_connection fix \u2014 only the user can clear them.
|
|
926
|
+
Full guide: __tooling__/docs/tools/baker/activecampaign.md`
|
|
927
|
+
},
|
|
928
|
+
subCommands: {
|
|
929
|
+
...READ_COMMANDS,
|
|
930
|
+
stage: stageCommandGroup,
|
|
931
|
+
unstage: unstageCommand,
|
|
932
|
+
drafts: draftsCommand
|
|
933
|
+
}
|
|
934
|
+
});
|
|
935
|
+
export {
|
|
936
|
+
activecampaignCommand
|
|
937
|
+
};
|
|
938
|
+
//# sourceMappingURL=activecampaign-3YJC3H2R.js.map
|