@koda-sl/baker-cli 0.495.0-dev.6b9c22aff → 0.495.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 +1 -5
- package/dist/account-EF6OPUJT.js +80 -0
- package/dist/account-UHNR5KTE.js +79 -0
- package/dist/account-reads-CDZ3EL5D.js +218 -0
- package/dist/account-writes-VWU4FRGQ.js +66 -0
- package/dist/accounts-KMLXHADA.js +77 -0
- package/dist/accounts-QDGNTSTV.js +611 -0
- package/dist/actions-QL5UD2W4.js +55 -0
- package/dist/activecampaign-5OD45ROS.js +935 -0
- package/dist/ad-group-writes-ID6I3QUZ.js +170 -0
- package/dist/ad-groups-M7CV6NTH.js +68 -0
- package/dist/ad-writes-TSOAZYRE.js +174 -0
- package/dist/add-6K6LO7CM.js +104 -0
- package/dist/add-LYDJZDGO.js +302 -0
- package/dist/ads-CGLO73MH.js +77 -0
- package/dist/ads-DHPJFU52.js +40 -0
- package/dist/advertisers-23LU7GTV.js +120 -0
- package/dist/analytics-DVD4OBBR.js +1976 -0
- package/dist/analytics-HO2SLL4W.js +433 -0
- package/dist/animate-RGZWDZG2.js +480 -0
- package/dist/assign-CLKJKH2B.js +77 -0
- package/dist/audience-size-NNYYXODL.js +73 -0
- package/dist/audiences-WXIP5PJH.js +268 -0
- package/dist/audit-KB4P2XGS.js +151 -0
- package/dist/autocomplete-VZD2SMTE.js +111 -0
- package/dist/avatars-FKOO6VZ2.js +38 -0
- package/dist/bid-pricing-6LLXOLLI.js +100 -0
- package/dist/brand-NNWHBIAX.js +22 -0
- package/dist/brief-CPJQWT6W.js +538 -0
- package/dist/campaign-groups-YPYNXOWU.js +95 -0
- package/dist/campaign-groups-YPYNXOWU.js.map +1 -0
- package/dist/campaign-writes-UJ4L2O6G.js +165 -0
- package/dist/campaign-writes-W5IL6ZGB.js +170 -0
- package/dist/campaigns-FLTPD66X.js +76 -0
- package/dist/campaigns-HLBZRH5A.js +107 -0
- package/dist/campaigns-N44ZDGB5.js +109 -0
- package/dist/campaigns-N44ZDGB5.js.map +1 -0
- package/dist/canvas-D64GLWUO.js +46 -0
- package/dist/capabilities-LWXCWMIY.js +144 -0
- package/dist/catalog-ZDLQAODO.js +65 -0
- package/dist/catalogs-26VXVUST.js +128 -0
- package/dist/changes-SX2N5KIO.js +135 -0
- package/dist/chatgpt-YI6YNACI.js +47 -0
- package/dist/chats-7WGC2CVW.js +276 -0
- package/dist/check-EH6BXWWL.js +104 -0
- package/dist/chunk-2B772ZEA.js +169 -0
- package/dist/chunk-2KRK667G.js +51 -0
- package/dist/chunk-2TVXJPGR.js +103 -0
- package/dist/chunk-3AMLOCXY.js +392 -0
- package/dist/chunk-3N5A44NQ.js +122 -0
- package/dist/chunk-3S274625.js +131 -0
- package/dist/chunk-3WAYZQNV.js +61 -0
- package/dist/chunk-5A257KJA.js +160 -0
- package/dist/chunk-6QGS3RQP.js +363 -0
- package/dist/chunk-7KHTJQGV.js +1518 -0
- package/dist/chunk-A3DKSAEL.js +1606 -0
- package/dist/chunk-A4DZ5L3T.js +665 -0
- package/dist/chunk-ACDLKTUP.js +23992 -0
- package/dist/chunk-ACDLKTUP.js.map +1 -0
- package/dist/chunk-AFD32O4A.js +494 -0
- package/dist/chunk-AW2GKIGS.js +433 -0
- package/dist/chunk-B7GF34FU.js +8914 -0
- package/dist/chunk-BDYLILMW.js +150 -0
- package/dist/chunk-DAO63OOP.js +6352 -0
- package/dist/chunk-DAO63OOP.js.map +1 -0
- package/dist/chunk-EJ4QCMM6.js +285 -0
- package/dist/chunk-EMQUW6JB.js +942 -0
- package/dist/chunk-EW3JEKIV.js +139 -0
- package/dist/chunk-F377KYIM.js +274 -0
- package/dist/chunk-FBFWMTOP.js +19 -0
- package/dist/chunk-FCM6VPFP.js +98 -0
- package/dist/chunk-FKYPAGKK.js +1919 -0
- package/dist/chunk-GXGYTFZA.js +8939 -0
- package/dist/chunk-I7J7YQXZ.js +142 -0
- package/dist/chunk-IBY44U2M.js +1079 -0
- package/dist/chunk-IFXGCI33.js +297 -0
- package/dist/chunk-IKLHXGMF.js +91 -0
- package/dist/chunk-IYTPWAN3.js +604 -0
- package/dist/chunk-J3CWAERS.js +3868 -0
- package/dist/chunk-JAC6JVCI.js +26 -0
- package/dist/chunk-JH2L5CQD.js +206 -0
- package/dist/chunk-JUVVCA7B.js +97 -0
- package/dist/chunk-MCJ5I5LR.js +3187 -0
- package/dist/chunk-MCJ5I5LR.js.map +1 -0
- package/dist/chunk-MK6XJUCQ.js +197 -0
- package/dist/chunk-MOFMOYUA.js +148 -0
- package/dist/chunk-MZPS46OR.js +76 -0
- package/dist/chunk-N3I6ZXR7.js +66 -0
- package/dist/chunk-NBO2NSAW.js +592 -0
- package/dist/chunk-NEU5QD2C.js +249 -0
- package/dist/chunk-NKIBXOHT.js +344 -0
- package/dist/chunk-NZKBW4YB.js +846 -0
- package/dist/chunk-OE3MIV4F.js +547 -0
- package/dist/chunk-OL7JS4NG.js +5368 -0
- package/dist/chunk-P2MFWJR3.js +903 -0
- package/dist/chunk-PHCIFBP3.js +89 -0
- package/dist/chunk-PTUXBO5O.js +224 -0
- package/dist/chunk-Q3LXLWZY.js +275 -0
- package/dist/chunk-Q5WBTVA7.js +455 -0
- package/dist/chunk-QMOYQJIN.js +46 -0
- package/dist/chunk-QRLTVJ6F.js +167 -0
- package/dist/chunk-RDEAVCMF.js +399 -0
- package/dist/chunk-RGMKXNQP.js +23 -0
- package/dist/chunk-RJZS4XDJ.js +64 -0
- package/dist/chunk-RZTKCCUL.js +831 -0
- package/dist/chunk-S4VLLGTW.js +843 -0
- package/dist/chunk-SVM3DGAQ.js +228 -0
- package/dist/chunk-TTKBNBQF.js +156 -0
- package/dist/chunk-VB3XUR6A.js +207 -0
- package/dist/chunk-WTJSMYY2.js +4249 -0
- package/dist/chunk-WTJSMYY2.js.map +1 -0
- package/dist/chunk-XCKINS7K.js +57 -0
- package/dist/chunk-Y46FE75E.js +627 -0
- package/dist/chunk-Y6GKV7CU.js +346 -0
- package/dist/chunk-Y6GKV7CU.js.map +1 -0
- package/dist/chunk-Z2GQREJY.js +159 -0
- package/dist/chunk-ZA7OQLDJ.js +225 -0
- package/dist/chunk-ZDAVSTEE.js +172 -0
- package/dist/chunk-ZXCSOVS5.js +191 -0
- package/dist/claim-SVDCQ2AI.js +197 -0
- package/dist/cli.js +34 -34
- package/dist/companies-BYMYQK6A.js +195 -0
- package/dist/complete-NEH3MWRI.js +81 -0
- package/dist/connect-5PGL7ZOM.js +42 -0
- package/dist/conversation-CSOKJXDW.js +93 -0
- package/dist/conversion-report-7JJ5L6WH.js +125 -0
- package/dist/conversion-upload-command-UO2QWG3J.js +438 -0
- package/dist/conversion-writes-GIGAZT4T.js +120 -0
- package/dist/conversions-4JOTTFEH.js +135 -0
- package/dist/conversions-4JOTTFEH.js.map +1 -0
- package/dist/conversions-CIJZLGII.js +76 -0
- package/dist/create-2XYMBULY.js +207 -0
- package/dist/create-56PTZABQ.js +235 -0
- package/dist/create-D6S6TGWY.js +59 -0
- package/dist/create-SMW4O5PC.js +132 -0
- package/dist/creatives-OO76DAFS.js +58 -0
- package/dist/creatives-VJUYWJL6.js +182 -0
- package/dist/creatives-VJUYWJL6.js.map +1 -0
- package/dist/credentials-2ONYUJW6.js +287 -0
- package/dist/critique-NDDFSGPE.js +1458 -0
- package/dist/critique-YXZVMLZ4.js +227 -0
- package/dist/crm-Q6CEP5XV.js +224 -0
- package/dist/crm-WRONZYDH.js +318 -0
- package/dist/currency-TAEJVMVK.js +88 -0
- package/dist/customers-2EFYSCU2.js +56 -0
- package/dist/delete-7WEVC3FS.js +66 -0
- package/dist/delete-RBWK255M.js +54 -0
- package/dist/delete-VN4WWMQF.js +64 -0
- package/dist/demographics-I5XZ435C.js +138 -0
- package/dist/discard-XJLIXTNM.js +66 -0
- package/dist/discover-5Z253HXF.js +172 -0
- package/dist/domain-M7AEGAYI.js +98 -0
- package/dist/draft-5DQI4W5F.js +306 -0
- package/dist/draft-5DQI4W5F.js.map +1 -0
- package/dist/draft-7DWRFCXW.js +281 -0
- package/dist/draft-7IIYHSY2.js +332 -0
- package/dist/draft-CN6GKVBF.js +217 -0
- package/dist/draft-MNEM4N5W.js +307 -0
- package/dist/engine/index.js +7 -7
- package/dist/experiment-IDDWRCJ7.js +1397 -0
- package/dist/facets-ZLZ6LIHN.js +114 -0
- package/dist/feedback-7LEX2P5Q.js +106 -0
- package/dist/feedback-record-P4JJ63KA.js +260 -0
- package/dist/fetch-MIVCEHXZ.js +176 -0
- package/dist/find-VHN34MWL.js +134 -0
- package/dist/fit-SS6HSZPU.js +62 -0
- package/dist/flows-UTIIHDNE.js +247 -0
- package/dist/fonts-YPNN7ZJP.js +36 -0
- package/dist/forecast-OBSHG2GJ.js +118 -0
- package/dist/forecast-W7Z5TVQX.js +168 -0
- package/dist/funnel-Z2VLXUEQ.js +394 -0
- package/dist/ga4-ZPAEF2G2.js +55 -0
- package/dist/generate-Y76WU7M7.js +263 -0
- package/dist/get-MDAO6I7T.js +56 -0
- package/dist/get-ZB553BSH.js +79 -0
- package/dist/google-C3X7O2UO.js +136 -0
- package/dist/google-WYXDMH2N.js +3265 -0
- package/dist/google-ads-FTWL772L.js +195 -0
- package/dist/gsc-SDDHGTZK.js +30 -0
- package/dist/history-DGHMJ2XF.js +67 -0
- package/dist/history-WKJYKDMG.js +133 -0
- package/dist/hubspot-EPHVEPOO.js +779 -0
- package/dist/icon-MYPDC6FM.js +137 -0
- package/dist/ideas-3PBH7VEX.js +40 -0
- package/dist/images-J35C3WG4.js +92 -0
- package/dist/ingest-5QOPUKFE.js +107 -0
- package/dist/ingest-OKUYP632.js +23 -0
- package/dist/insights-EU45J56U.js +122 -0
- package/dist/inspect-PMNCP6MV.js +189 -0
- package/dist/inspiration-QAL7NS7G.js +53 -0
- package/dist/intent-FUGWRUSW.js +95 -0
- package/dist/keyword-gap-DXTKZLV2.js +130 -0
- package/dist/keyword-metrics-R752SJIT.js +197 -0
- package/dist/keywords-for-site-7UWPJYQF.js +128 -0
- package/dist/landing-CBVIOGJ5.js +28 -0
- package/dist/languages-XRTTEJ5P.js +40 -0
- package/dist/leads-LIJS6Y5W.js +90 -0
- package/dist/leads-LIJS6Y5W.js.map +1 -0
- package/dist/learn-N6QV7GXA.js +204 -0
- package/dist/line-item-writes-3WPJXKIL.js +208 -0
- package/dist/line-items-ZOFKOGAA.js +103 -0
- package/dist/link-DDRQKOUL.js +64 -0
- package/dist/linkedin-UWZCF66X.js +1057 -0
- package/dist/linkedin-UWZCF66X.js.map +1 -0
- package/dist/list-5PLXVPLB.js +151 -0
- package/dist/list-VSJISE7U.js +303 -0
- package/dist/list-WTVOBQYX.js +64 -0
- package/dist/locations-PCZPKH47.js +40 -0
- package/dist/locations-TGJH3URF.js +67 -0
- package/dist/log-YKKPROLZ.js +92 -0
- package/dist/logo-WE2UELX6.js +18 -0
- package/dist/make-RNOWBLZQ.js +1353 -0
- package/dist/map-WTDPQLVO.js +433 -0
- package/dist/mcp-XJNSCPP3.js +714 -0
- package/dist/media-sources-JGBDDXZ5.js +32 -0
- package/dist/members-O3BTMRXX.js +44 -0
- package/dist/metrics-PYPCW7FJ.js +152 -0
- package/dist/models-IAGO5GIH.js +155 -0
- package/dist/normalize-R5AYLA2J.js +141 -0
- package/dist/options-AILRY7JY.js +122 -0
- package/dist/organization-KJJXZLVK.js +946 -0
- package/dist/performance-7YU4HOGH.js +24 -0
- package/dist/pixels-R4MOLWAR.js +60 -0
- package/dist/promoted-tweet-writes-TNELWPVG.js +180 -0
- package/dist/promoted-tweets-76WKUFJQ.js +119 -0
- package/dist/publish-BKLHCKHB.js +341 -0
- package/dist/query-XDHZMGLX.js +61 -0
- package/dist/reddit-YK3YUZEI.js +26 -0
- package/dist/refresh-WIII7KXB.js +94 -0
- package/dist/release-ZHXYQI7G.js +60 -0
- package/dist/relevant-pages-CTG72PBR.js +99 -0
- package/dist/remove-NOX4BXWK.js +50 -0
- package/dist/reopen-NLWKK5HB.js +63 -0
- package/dist/rerun-DZWQNMZQ.js +90 -0
- package/dist/research-Q3P76RHN.js +62 -0
- package/dist/research-UDZBCDNX.js +262 -0
- package/dist/reset-5UHFX7QY.js +54 -0
- package/dist/reset-MTRJQUP7.js +54 -0
- package/dist/resolve-DA72VT7Q.js +121 -0
- package/dist/retry-LQUBX5TK.js +62 -0
- package/dist/retry-U6F4CS6O.js +60 -0
- package/dist/rules-VS5PZ7VO.js +96 -0
- package/dist/rules-add-LMVZYDXE.js +462 -0
- package/dist/run-6PRA2YSD.js +65 -0
- package/dist/run-R6COFNOR.js +66 -0
- package/dist/scaffold-ad-3OVJ7VZQ.js +1511 -0
- package/dist/scaffold-static-ad-DDRA3Q5I.js +1005 -0
- package/dist/scaffold-video-3JZYFYFU.js +883 -0
- package/dist/schedule-ED2YDUPY.js +61 -0
- package/dist/scheduled-agents-5P67MVGX.js +50 -0
- package/dist/schema-4XVKERSA.js +132 -0
- package/dist/search-Y2UMIQ57.js +174 -0
- package/dist/select-OZ4E6VLF.js +101 -0
- package/dist/set-prompt-O4YAE4CE.js +193 -0
- package/dist/setup-links-2GJYCV2A.js +141 -0
- package/dist/site-47B6V2UX.js +177 -0
- package/dist/sources-DXPZAPQ7.js +454 -0
- package/dist/sources-NDXYTASG.js +30 -0
- package/dist/stale-VLVBO2L6.js +71 -0
- package/dist/stats-37OFAMPW.js +34 -0
- package/dist/status-4ODD46XY.js +62 -0
- package/dist/stock-6R5E7MJX.js +179 -0
- package/dist/studio-LEIGL3Q7.js +49 -0
- package/dist/sync-TKNVBUDM.js +54 -0
- package/dist/sync-definition-M5R3H3TP.js +64 -0
- package/dist/tag-manager-3Q55PBEW.js +43 -0
- package/dist/tags-4N5UUUN6.js +26 -0
- package/dist/tags-5NHIAD5A.js +20 -0
- package/dist/tags-UUKWSWCN.js +20 -0
- package/dist/tags-VK7B5DJF.js +20 -0
- package/dist/tags-XAHIB3WA.js +224 -0
- package/dist/targeting-criteria-AVARWV2G.js +113 -0
- package/dist/targets-6RYLQRID.js +103 -0
- package/dist/testimonials-6TF6BOFN.js +32 -0
- package/dist/themes-JZ3DPE7L.js +94 -0
- package/dist/top-companies-45EHRCJD.js +108 -0
- package/dist/translate-VHLBACCE.js +604 -0
- package/dist/triggers-ERQONJNO.js +142 -0
- package/dist/unlink-TPDO6JNF.js +67 -0
- package/dist/unstage-YKKQQ7LW.js +85 -0
- package/dist/update-43WU6X7R.js +63 -0
- package/dist/update-CAHLAXWO.js +98 -0
- package/dist/update-NGH6YADN.js +152 -0
- package/dist/update-SPJIHHLE.js +188 -0
- package/dist/upload-ACESIZIZ.js +126 -0
- package/dist/url-options-VNX5KYUQ.js +130 -0
- package/dist/url-params-MIXEDBF7.js +98 -0
- package/dist/validate-XJJA7ULE.js +117 -0
- package/dist/videos-LBXPG7WC.js +39 -0
- package/dist/viewer-check-7VJ3GUZX.js +80 -0
- package/dist/web-EWQJC2SD.js +140 -0
- package/dist/winning-ads-SAOJAKEQ.js +86 -0
- package/dist/write-commands-QPDE4GWW.js +1024 -0
- package/dist/write-commands-QPDE4GWW.js.map +1 -0
- package/dist/x-LXOJPCRF.js +47 -0
- package/package.json +1 -1
- package/dist/account-CJGLH2OL.js +0 -80
- package/dist/account-UTFFCFNW.js +0 -79
- package/dist/account-reads-SOTNVUM6.js +0 -218
- package/dist/account-users-FUJVP4UG.js +0 -61
- package/dist/account-users-FUJVP4UG.js.map +0 -1
- package/dist/account-writes-OE5FKALN.js +0 -66
- package/dist/accounts-OY4DII7M.js +0 -611
- package/dist/accounts-XUMRFVLY.js +0 -77
- package/dist/actions-KYKLFVUI.js +0 -55
- package/dist/activecampaign-P6RO7B2Q.js +0 -935
- package/dist/ad-group-writes-343HA4ZG.js +0 -170
- package/dist/ad-groups-YMU6ATTW.js +0 -68
- package/dist/ad-writes-MINKG33L.js +0 -174
- package/dist/add-34QTAS7S.js +0 -104
- package/dist/add-3IZ3Z2PX.js +0 -302
- package/dist/ads-JRZVJFXS.js +0 -40
- package/dist/ads-QOXCMKZ2.js +0 -77
- package/dist/advertisers-G2UUCWA7.js +0 -120
- package/dist/analytics-CKF7HTWT.js +0 -433
- package/dist/analytics-FO4EDDQW.js +0 -1976
- package/dist/animate-K3MJ3GW4.js +0 -480
- package/dist/assign-76E76PJY.js +0 -77
- package/dist/audience-size-IGDEX4XR.js +0 -73
- package/dist/audiences-4GRCVFZN.js +0 -268
- package/dist/audit-LPSYEY4S.js +0 -151
- package/dist/autocomplete-G7MSIJQL.js +0 -111
- package/dist/avatars-BF7VWGPH.js +0 -38
- package/dist/bid-pricing-EAZHVAMJ.js +0 -100
- package/dist/brand-WQI4NV3H.js +0 -22
- package/dist/brief-DVFCPBR3.js +0 -538
- package/dist/campaign-groups-LCTAUXTU.js +0 -96
- package/dist/campaign-groups-LCTAUXTU.js.map +0 -1
- package/dist/campaign-writes-ECPSPFAB.js +0 -165
- package/dist/campaign-writes-EZEJNO3O.js +0 -170
- package/dist/campaigns-7S35PC44.js +0 -76
- package/dist/campaigns-MVLKQWX2.js +0 -110
- package/dist/campaigns-MVLKQWX2.js.map +0 -1
- package/dist/campaigns-R3EUC5Y2.js +0 -107
- package/dist/canvas-Y3DKVETP.js +0 -46
- package/dist/capabilities-OBP5PDRK.js +0 -144
- package/dist/catalog-SZS2JCLN.js +0 -65
- package/dist/catalogs-LEABW6AS.js +0 -128
- package/dist/changes-4EDY3RNX.js +0 -135
- package/dist/chatgpt-JOAEGWCB.js +0 -47
- package/dist/chats-KE7FNWKF.js +0 -276
- package/dist/check-XHK2HVD2.js +0 -104
- package/dist/chunk-22HH46DF.js +0 -122
- package/dist/chunk-2VWWLUDJ.js +0 -23
- package/dist/chunk-2WBRRYSS.js +0 -197
- package/dist/chunk-2XH7GKCO.js +0 -156
- package/dist/chunk-3LMAPV6P.js +0 -942
- package/dist/chunk-3LZM5MWM.js +0 -57
- package/dist/chunk-4ARHIC23.js +0 -392
- package/dist/chunk-5KEQXSCN.js +0 -1919
- package/dist/chunk-5PMEMWKS.js +0 -665
- package/dist/chunk-64BRPYJD.js +0 -225
- package/dist/chunk-6DQDZIBL.js +0 -363
- package/dist/chunk-6H64SENZ.js +0 -285
- package/dist/chunk-6KGLAMPV.js +0 -167
- package/dist/chunk-6OIKNJ7G.js +0 -26
- package/dist/chunk-6VIHWBOD.js +0 -1606
- package/dist/chunk-74BP3JIV.js +0 -275
- package/dist/chunk-7AWSJ6Z5.js +0 -66
- package/dist/chunk-7IVY55AU.js +0 -903
- package/dist/chunk-7POQSUPH.js +0 -455
- package/dist/chunk-7RCNWRKK.js +0 -206
- package/dist/chunk-ABEIEHOV.js +0 -131
- package/dist/chunk-AREUZGX7.js +0 -344
- package/dist/chunk-CNFFNE4L.js +0 -274
- package/dist/chunk-CORXHFKY.js +0 -433
- package/dist/chunk-D3SHD4KA.js +0 -399
- package/dist/chunk-DD3C6TSW.js +0 -61
- package/dist/chunk-DQU2GVU7.js +0 -51
- package/dist/chunk-ECHVJII5.js +0 -97
- package/dist/chunk-EFWXYUSK.js +0 -139
- package/dist/chunk-F3CZFUXZ.js +0 -3187
- package/dist/chunk-F3CZFUXZ.js.map +0 -1
- package/dist/chunk-F4KWLFCC.js +0 -103
- package/dist/chunk-FL2KIDPV.js +0 -494
- package/dist/chunk-FT7RYWOL.js +0 -160
- package/dist/chunk-HPIKZPTU.js +0 -297
- package/dist/chunk-HUPHZ35H.js +0 -547
- package/dist/chunk-JGM4WGC2.js +0 -6704
- package/dist/chunk-JGM4WGC2.js.map +0 -1
- package/dist/chunk-JMW3AVN7.js +0 -346
- package/dist/chunk-JMW3AVN7.js.map +0 -1
- package/dist/chunk-JQHLF74O.js +0 -8939
- package/dist/chunk-K2TOE6XL.js +0 -142
- package/dist/chunk-KI6TENTW.js +0 -5368
- package/dist/chunk-LMYCLUY2.js +0 -8914
- package/dist/chunk-LQR4CKYW.js +0 -191
- package/dist/chunk-LRFNUCHV.js +0 -89
- package/dist/chunk-M2D7ZWEU.js +0 -150
- package/dist/chunk-ML7GGHTU.js +0 -592
- package/dist/chunk-MMUGSEF4.js +0 -23992
- package/dist/chunk-MMUGSEF4.js.map +0 -1
- package/dist/chunk-MYSLMKTG.js +0 -604
- package/dist/chunk-NAA4CKZZ.js +0 -4249
- package/dist/chunk-NAA4CKZZ.js.map +0 -1
- package/dist/chunk-NDKLPDZ3.js +0 -1079
- package/dist/chunk-OUQSDUVI.js +0 -831
- package/dist/chunk-PFPUPR3H.js +0 -91
- package/dist/chunk-PGD7USOH.js +0 -207
- package/dist/chunk-QKT7W5JP.js +0 -98
- package/dist/chunk-QU4XX5Z7.js +0 -169
- package/dist/chunk-R3OXH3ML.js +0 -148
- package/dist/chunk-RNQMXS7G.js +0 -172
- package/dist/chunk-SEMNRIOR.js +0 -19
- package/dist/chunk-SHBFBQYT.js +0 -846
- package/dist/chunk-SIKCVWM3.js +0 -76
- package/dist/chunk-UJPURLUZ.js +0 -3868
- package/dist/chunk-UM7NJIOU.js +0 -64
- package/dist/chunk-V57TZQPI.js +0 -228
- package/dist/chunk-WXKSUL4U.js +0 -224
- package/dist/chunk-YJRZVGES.js +0 -1518
- package/dist/chunk-YQICNXIA.js +0 -249
- package/dist/chunk-YTF2MI3E.js +0 -627
- package/dist/chunk-YYPWVQZQ.js +0 -843
- package/dist/chunk-Z7BQGWKG.js +0 -46
- package/dist/chunk-ZXSXRSFX.js +0 -159
- package/dist/claim-W2ZV4SH3.js +0 -197
- package/dist/companies-ITK3W3H6.js +0 -195
- package/dist/complete-RYEVEF3S.js +0 -81
- package/dist/connect-FFFNSJ2O.js +0 -42
- package/dist/conversation-KKJNQRFB.js +0 -93
- package/dist/conversion-report-PLQ4MVJR.js +0 -125
- package/dist/conversion-upload-command-Z7F6NQH4.js +0 -438
- package/dist/conversion-writes-VNOXZ4NR.js +0 -120
- package/dist/conversions-KHAXFD3Z.js +0 -137
- package/dist/conversions-KHAXFD3Z.js.map +0 -1
- package/dist/conversions-KPIFDO2R.js +0 -76
- package/dist/create-3R6Q2E2M.js +0 -59
- package/dist/create-A3R7YRT3.js +0 -235
- package/dist/create-TYWQP57A.js +0 -207
- package/dist/create-UUEWQUPT.js +0 -132
- package/dist/creatives-EEDDL3VG.js +0 -220
- package/dist/creatives-EEDDL3VG.js.map +0 -1
- package/dist/creatives-UK4VITNW.js +0 -58
- package/dist/credentials-A65GYH4D.js +0 -287
- package/dist/critique-46O4VVPM.js +0 -1458
- package/dist/critique-RPRMG2ZC.js +0 -227
- package/dist/crm-2WYW3D22.js +0 -224
- package/dist/crm-PQ24MNIU.js +0 -318
- package/dist/currency-Q3HCK447.js +0 -88
- package/dist/customers-YTQ7IQ5C.js +0 -56
- package/dist/delete-BBISJTFG.js +0 -54
- package/dist/delete-PQ4NUNLX.js +0 -66
- package/dist/delete-TBW6TJ6A.js +0 -64
- package/dist/demographics-EVP55FT3.js +0 -138
- package/dist/discard-LPJA4DEY.js +0 -66
- package/dist/discover-3G6CE7X3.js +0 -172
- package/dist/domain-5MM7V7JD.js +0 -98
- package/dist/draft-34D5MOKA.js +0 -217
- package/dist/draft-A6M562M4.js +0 -307
- package/dist/draft-A6M562M4.js.map +0 -1
- package/dist/draft-EGS7UFF3.js +0 -281
- package/dist/draft-J6GJXZRX.js +0 -307
- package/dist/draft-K3O7Q3A5.js +0 -332
- package/dist/experiment-7RJ5X2LL.js +0 -1397
- package/dist/experiments-HERTVBYK.js +0 -233
- package/dist/experiments-HERTVBYK.js.map +0 -1
- package/dist/facets-RUZKALF3.js +0 -114
- package/dist/feedback-S5LHJYZD.js +0 -106
- package/dist/feedback-record-GAM2R5GG.js +0 -260
- package/dist/fetch-FA6TR66Y.js +0 -176
- package/dist/find-2EPXK5RF.js +0 -134
- package/dist/fit-MOMO4AXL.js +0 -62
- package/dist/flows-DMMCSBWY.js +0 -247
- package/dist/fonts-G4JLXWX2.js +0 -36
- package/dist/forecast-OOP4K5DE.js +0 -118
- package/dist/forecast-V65WS5QG.js +0 -168
- package/dist/funnel-SEQPUM3X.js +0 -394
- package/dist/ga4-6EIQC2TG.js +0 -55
- package/dist/generate-IDDQD5FU.js +0 -263
- package/dist/get-DEOZMGOQ.js +0 -56
- package/dist/get-SEJINVOS.js +0 -79
- package/dist/google-7L3FWKPJ.js +0 -3265
- package/dist/google-O5OI6QFU.js +0 -136
- package/dist/google-ads-MIGWMCWY.js +0 -195
- package/dist/gsc-BM3T2GDL.js +0 -30
- package/dist/history-IBWXCDCB.js +0 -133
- package/dist/history-Z5577FPQ.js +0 -67
- package/dist/hubspot-6AZKUX72.js +0 -779
- package/dist/icon-B7DG53S5.js +0 -137
- package/dist/ideas-AX7S3NCG.js +0 -40
- package/dist/images-632SXTB5.js +0 -92
- package/dist/ingest-HS55RVKH.js +0 -23
- package/dist/ingest-T3OK3DRG.js +0 -107
- package/dist/insights-UDX66IMV.js +0 -122
- package/dist/inspect-D6ZIUBH3.js +0 -189
- package/dist/inspiration-TCCKM4R7.js +0 -53
- package/dist/intent-3WTKKTUX.js +0 -95
- package/dist/keyword-gap-7GESZXY2.js +0 -130
- package/dist/keyword-metrics-J43MV3RQ.js +0 -197
- package/dist/keywords-for-site-6YKCTFJZ.js +0 -128
- package/dist/landing-Y7DI2FUT.js +0 -28
- package/dist/languages-LSKNZI2A.js +0 -40
- package/dist/leads-R3WBKADF.js +0 -112
- package/dist/leads-R3WBKADF.js.map +0 -1
- package/dist/learn-M4UHA476.js +0 -204
- package/dist/line-item-writes-F2OPBMIE.js +0 -208
- package/dist/line-items-YJ3DLV2U.js +0 -103
- package/dist/link-RZKYW22K.js +0 -64
- package/dist/linkedin-JYZOPU7A.js +0 -1299
- package/dist/linkedin-JYZOPU7A.js.map +0 -1
- package/dist/list-NPJ34244.js +0 -151
- package/dist/list-WTVBOTA4.js +0 -64
- package/dist/list-XK5CHKYJ.js +0 -303
- package/dist/locations-DSDCNP5Z.js +0 -40
- package/dist/locations-SFZN4MYW.js +0 -67
- package/dist/log-K4FWHXIM.js +0 -92
- package/dist/logo-QTSBKP2J.js +0 -18
- package/dist/make-VQDUKVPB.js +0 -1353
- package/dist/map-Z3MEM6QX.js +0 -433
- package/dist/mcp-KJOSR534.js +0 -714
- package/dist/media-sources-44HTWIY3.js +0 -32
- package/dist/members-HGU22NL3.js +0 -44
- package/dist/metrics-OV2EKPJ6.js +0 -152
- package/dist/models-NGAUD6QJ.js +0 -155
- package/dist/normalize-IUPOHEZJ.js +0 -141
- package/dist/options-TL5TPGHK.js +0 -122
- package/dist/organization-3ORT4474.js +0 -946
- package/dist/performance-PCZHQCZ5.js +0 -24
- package/dist/pixels-GHEAK62X.js +0 -60
- package/dist/promoted-tweet-writes-O4RTZFSI.js +0 -180
- package/dist/promoted-tweets-AWP6MGJI.js +0 -119
- package/dist/publish-PODZKJHW.js +0 -341
- package/dist/query-FUSR27T4.js +0 -61
- package/dist/reddit-UNUNWSNR.js +0 -26
- package/dist/refresh-34UO2LXY.js +0 -94
- package/dist/release-BD3EAD75.js +0 -60
- package/dist/relevant-pages-FNKYR2OG.js +0 -99
- package/dist/remove-YQYSQCWI.js +0 -50
- package/dist/reopen-MULNJOR5.js +0 -63
- package/dist/rerun-6YGYJPM7.js +0 -90
- package/dist/research-6WEL3USW.js +0 -62
- package/dist/research-OBECRSPL.js +0 -262
- package/dist/reset-5TTLZ43U.js +0 -54
- package/dist/reset-PRTK6YUD.js +0 -54
- package/dist/resolve-6RM63T55.js +0 -121
- package/dist/retry-XYTVP7BV.js +0 -60
- package/dist/retry-Z3C624JW.js +0 -62
- package/dist/revenue-VSH6KXCV.js +0 -88
- package/dist/revenue-VSH6KXCV.js.map +0 -1
- package/dist/rules-AUAJUM2T.js +0 -96
- package/dist/rules-add-7VFGPGZ7.js +0 -462
- package/dist/run-S3SVCTIB.js +0 -65
- package/dist/run-YA5RCRIX.js +0 -66
- package/dist/scaffold-ad-2KQULVJU.js +0 -1511
- package/dist/scaffold-static-ad-S46QADGV.js +0 -1005
- package/dist/scaffold-video-ZMHI2JDU.js +0 -883
- package/dist/schedule-FT6P3EKG.js +0 -61
- package/dist/scheduled-agents-L7K4QWMD.js +0 -50
- package/dist/schema-CH654RZB.js +0 -132
- package/dist/search-YKYB2P2M.js +0 -174
- package/dist/select-PM7JUDQY.js +0 -101
- package/dist/set-prompt-VATAT7H6.js +0 -193
- package/dist/setup-links-TM3NCVU7.js +0 -141
- package/dist/site-ATAXCWXS.js +0 -177
- package/dist/sources-N5RKYKFS.js +0 -30
- package/dist/sources-V544MB26.js +0 -454
- package/dist/stale-RNEYXKFX.js +0 -71
- package/dist/stats-CVF6AC7R.js +0 -34
- package/dist/status-DPTFOJVV.js +0 -62
- package/dist/stock-4LPQ6SM7.js +0 -179
- package/dist/studio-NZ3NA4L4.js +0 -49
- package/dist/sync-UBLCCOQZ.js +0 -54
- package/dist/sync-definition-RXRSI2LT.js +0 -64
- package/dist/tag-manager-FLXXLNKP.js +0 -43
- package/dist/tags-2D4AN2QB.js +0 -224
- package/dist/tags-5OM2VN3Q.js +0 -26
- package/dist/tags-CJWSUBCD.js +0 -20
- package/dist/tags-MHKZW2JN.js +0 -20
- package/dist/tags-Z6AH7FDT.js +0 -20
- package/dist/targeting-criteria-RSAN4KW5.js +0 -113
- package/dist/targets-EER2G4WH.js +0 -103
- package/dist/testimonials-4WJKAZ5S.js +0 -32
- package/dist/themes-XUALHDHR.js +0 -94
- package/dist/top-companies-BSOYGMIB.js +0 -108
- package/dist/translate-2XRHDWSC.js +0 -604
- package/dist/triggers-NU6BQ5NJ.js +0 -142
- package/dist/unlink-LQGPZND2.js +0 -67
- package/dist/unstage-GDKW56MH.js +0 -85
- package/dist/update-43QN723C.js +0 -63
- package/dist/update-6CAZKFTC.js +0 -188
- package/dist/update-EGOWYBEH.js +0 -152
- package/dist/update-QRGEMNBY.js +0 -98
- package/dist/upload-LIHRXWUY.js +0 -126
- package/dist/url-options-JXL4W7TB.js +0 -130
- package/dist/url-params-YXRZ4TUD.js +0 -98
- package/dist/validate-KO3MEJUZ.js +0 -117
- package/dist/videos-BPJ34YZL.js +0 -39
- package/dist/viewer-check-SA5AUQ26.js +0 -80
- package/dist/web-KS47ZHXX.js +0 -140
- package/dist/winning-ads-LE2ALICG.js +0 -86
- package/dist/write-commands-PPR7G4UN.js +0 -1453
- package/dist/write-commands-PPR7G4UN.js.map +0 -1
- package/dist/x-DZGRJQ7Y.js +0 -47
- /package/dist/{account-CJGLH2OL.js.map → account-EF6OPUJT.js.map} +0 -0
- /package/dist/{account-UTFFCFNW.js.map → account-UHNR5KTE.js.map} +0 -0
- /package/dist/{account-reads-SOTNVUM6.js.map → account-reads-CDZ3EL5D.js.map} +0 -0
- /package/dist/{account-writes-OE5FKALN.js.map → account-writes-VWU4FRGQ.js.map} +0 -0
- /package/dist/{accounts-XUMRFVLY.js.map → accounts-KMLXHADA.js.map} +0 -0
- /package/dist/{accounts-OY4DII7M.js.map → accounts-QDGNTSTV.js.map} +0 -0
- /package/dist/{actions-KYKLFVUI.js.map → actions-QL5UD2W4.js.map} +0 -0
- /package/dist/{activecampaign-P6RO7B2Q.js.map → activecampaign-5OD45ROS.js.map} +0 -0
- /package/dist/{ad-group-writes-343HA4ZG.js.map → ad-group-writes-ID6I3QUZ.js.map} +0 -0
- /package/dist/{ad-groups-YMU6ATTW.js.map → ad-groups-M7CV6NTH.js.map} +0 -0
- /package/dist/{ad-writes-MINKG33L.js.map → ad-writes-TSOAZYRE.js.map} +0 -0
- /package/dist/{add-34QTAS7S.js.map → add-6K6LO7CM.js.map} +0 -0
- /package/dist/{add-3IZ3Z2PX.js.map → add-LYDJZDGO.js.map} +0 -0
- /package/dist/{ads-QOXCMKZ2.js.map → ads-CGLO73MH.js.map} +0 -0
- /package/dist/{ads-JRZVJFXS.js.map → ads-DHPJFU52.js.map} +0 -0
- /package/dist/{advertisers-G2UUCWA7.js.map → advertisers-23LU7GTV.js.map} +0 -0
- /package/dist/{analytics-FO4EDDQW.js.map → analytics-DVD4OBBR.js.map} +0 -0
- /package/dist/{analytics-CKF7HTWT.js.map → analytics-HO2SLL4W.js.map} +0 -0
- /package/dist/{animate-K3MJ3GW4.js.map → animate-RGZWDZG2.js.map} +0 -0
- /package/dist/{assign-76E76PJY.js.map → assign-CLKJKH2B.js.map} +0 -0
- /package/dist/{audience-size-IGDEX4XR.js.map → audience-size-NNYYXODL.js.map} +0 -0
- /package/dist/{audiences-4GRCVFZN.js.map → audiences-WXIP5PJH.js.map} +0 -0
- /package/dist/{audit-LPSYEY4S.js.map → audit-KB4P2XGS.js.map} +0 -0
- /package/dist/{autocomplete-G7MSIJQL.js.map → autocomplete-VZD2SMTE.js.map} +0 -0
- /package/dist/{avatars-BF7VWGPH.js.map → avatars-FKOO6VZ2.js.map} +0 -0
- /package/dist/{bid-pricing-EAZHVAMJ.js.map → bid-pricing-6LLXOLLI.js.map} +0 -0
- /package/dist/{brand-WQI4NV3H.js.map → brand-NNWHBIAX.js.map} +0 -0
- /package/dist/{brief-DVFCPBR3.js.map → brief-CPJQWT6W.js.map} +0 -0
- /package/dist/{campaign-writes-ECPSPFAB.js.map → campaign-writes-UJ4L2O6G.js.map} +0 -0
- /package/dist/{campaign-writes-EZEJNO3O.js.map → campaign-writes-W5IL6ZGB.js.map} +0 -0
- /package/dist/{campaigns-7S35PC44.js.map → campaigns-FLTPD66X.js.map} +0 -0
- /package/dist/{campaigns-R3EUC5Y2.js.map → campaigns-HLBZRH5A.js.map} +0 -0
- /package/dist/{canvas-Y3DKVETP.js.map → canvas-D64GLWUO.js.map} +0 -0
- /package/dist/{capabilities-OBP5PDRK.js.map → capabilities-LWXCWMIY.js.map} +0 -0
- /package/dist/{catalog-SZS2JCLN.js.map → catalog-ZDLQAODO.js.map} +0 -0
- /package/dist/{catalogs-LEABW6AS.js.map → catalogs-26VXVUST.js.map} +0 -0
- /package/dist/{changes-4EDY3RNX.js.map → changes-SX2N5KIO.js.map} +0 -0
- /package/dist/{chatgpt-JOAEGWCB.js.map → chatgpt-YI6YNACI.js.map} +0 -0
- /package/dist/{chats-KE7FNWKF.js.map → chats-7WGC2CVW.js.map} +0 -0
- /package/dist/{check-XHK2HVD2.js.map → check-EH6BXWWL.js.map} +0 -0
- /package/dist/{chunk-QU4XX5Z7.js.map → chunk-2B772ZEA.js.map} +0 -0
- /package/dist/{chunk-DQU2GVU7.js.map → chunk-2KRK667G.js.map} +0 -0
- /package/dist/{chunk-F4KWLFCC.js.map → chunk-2TVXJPGR.js.map} +0 -0
- /package/dist/{chunk-4ARHIC23.js.map → chunk-3AMLOCXY.js.map} +0 -0
- /package/dist/{chunk-22HH46DF.js.map → chunk-3N5A44NQ.js.map} +0 -0
- /package/dist/{chunk-ABEIEHOV.js.map → chunk-3S274625.js.map} +0 -0
- /package/dist/{chunk-DD3C6TSW.js.map → chunk-3WAYZQNV.js.map} +0 -0
- /package/dist/{chunk-FT7RYWOL.js.map → chunk-5A257KJA.js.map} +0 -0
- /package/dist/{chunk-6DQDZIBL.js.map → chunk-6QGS3RQP.js.map} +0 -0
- /package/dist/{chunk-YJRZVGES.js.map → chunk-7KHTJQGV.js.map} +0 -0
- /package/dist/{chunk-6VIHWBOD.js.map → chunk-A3DKSAEL.js.map} +0 -0
- /package/dist/{chunk-5PMEMWKS.js.map → chunk-A4DZ5L3T.js.map} +0 -0
- /package/dist/{chunk-FL2KIDPV.js.map → chunk-AFD32O4A.js.map} +0 -0
- /package/dist/{chunk-CORXHFKY.js.map → chunk-AW2GKIGS.js.map} +0 -0
- /package/dist/{chunk-LMYCLUY2.js.map → chunk-B7GF34FU.js.map} +0 -0
- /package/dist/{chunk-M2D7ZWEU.js.map → chunk-BDYLILMW.js.map} +0 -0
- /package/dist/{chunk-6H64SENZ.js.map → chunk-EJ4QCMM6.js.map} +0 -0
- /package/dist/{chunk-3LMAPV6P.js.map → chunk-EMQUW6JB.js.map} +0 -0
- /package/dist/{chunk-EFWXYUSK.js.map → chunk-EW3JEKIV.js.map} +0 -0
- /package/dist/{chunk-CNFFNE4L.js.map → chunk-F377KYIM.js.map} +0 -0
- /package/dist/{chunk-SEMNRIOR.js.map → chunk-FBFWMTOP.js.map} +0 -0
- /package/dist/{chunk-QKT7W5JP.js.map → chunk-FCM6VPFP.js.map} +0 -0
- /package/dist/{chunk-5KEQXSCN.js.map → chunk-FKYPAGKK.js.map} +0 -0
- /package/dist/{chunk-JQHLF74O.js.map → chunk-GXGYTFZA.js.map} +0 -0
- /package/dist/{chunk-K2TOE6XL.js.map → chunk-I7J7YQXZ.js.map} +0 -0
- /package/dist/{chunk-NDKLPDZ3.js.map → chunk-IBY44U2M.js.map} +0 -0
- /package/dist/{chunk-HPIKZPTU.js.map → chunk-IFXGCI33.js.map} +0 -0
- /package/dist/{chunk-PFPUPR3H.js.map → chunk-IKLHXGMF.js.map} +0 -0
- /package/dist/{chunk-MYSLMKTG.js.map → chunk-IYTPWAN3.js.map} +0 -0
- /package/dist/{chunk-UJPURLUZ.js.map → chunk-J3CWAERS.js.map} +0 -0
- /package/dist/{chunk-6OIKNJ7G.js.map → chunk-JAC6JVCI.js.map} +0 -0
- /package/dist/{chunk-7RCNWRKK.js.map → chunk-JH2L5CQD.js.map} +0 -0
- /package/dist/{chunk-ECHVJII5.js.map → chunk-JUVVCA7B.js.map} +0 -0
- /package/dist/{chunk-2WBRRYSS.js.map → chunk-MK6XJUCQ.js.map} +0 -0
- /package/dist/{chunk-R3OXH3ML.js.map → chunk-MOFMOYUA.js.map} +0 -0
- /package/dist/{chunk-SIKCVWM3.js.map → chunk-MZPS46OR.js.map} +0 -0
- /package/dist/{chunk-7AWSJ6Z5.js.map → chunk-N3I6ZXR7.js.map} +0 -0
- /package/dist/{chunk-ML7GGHTU.js.map → chunk-NBO2NSAW.js.map} +0 -0
- /package/dist/{chunk-YQICNXIA.js.map → chunk-NEU5QD2C.js.map} +0 -0
- /package/dist/{chunk-AREUZGX7.js.map → chunk-NKIBXOHT.js.map} +0 -0
- /package/dist/{chunk-SHBFBQYT.js.map → chunk-NZKBW4YB.js.map} +0 -0
- /package/dist/{chunk-HUPHZ35H.js.map → chunk-OE3MIV4F.js.map} +0 -0
- /package/dist/{chunk-KI6TENTW.js.map → chunk-OL7JS4NG.js.map} +0 -0
- /package/dist/{chunk-7IVY55AU.js.map → chunk-P2MFWJR3.js.map} +0 -0
- /package/dist/{chunk-LRFNUCHV.js.map → chunk-PHCIFBP3.js.map} +0 -0
- /package/dist/{chunk-WXKSUL4U.js.map → chunk-PTUXBO5O.js.map} +0 -0
- /package/dist/{chunk-74BP3JIV.js.map → chunk-Q3LXLWZY.js.map} +0 -0
- /package/dist/{chunk-7POQSUPH.js.map → chunk-Q5WBTVA7.js.map} +0 -0
- /package/dist/{chunk-Z7BQGWKG.js.map → chunk-QMOYQJIN.js.map} +0 -0
- /package/dist/{chunk-6KGLAMPV.js.map → chunk-QRLTVJ6F.js.map} +0 -0
- /package/dist/{chunk-D3SHD4KA.js.map → chunk-RDEAVCMF.js.map} +0 -0
- /package/dist/{chunk-2VWWLUDJ.js.map → chunk-RGMKXNQP.js.map} +0 -0
- /package/dist/{chunk-UM7NJIOU.js.map → chunk-RJZS4XDJ.js.map} +0 -0
- /package/dist/{chunk-OUQSDUVI.js.map → chunk-RZTKCCUL.js.map} +0 -0
- /package/dist/{chunk-YYPWVQZQ.js.map → chunk-S4VLLGTW.js.map} +0 -0
- /package/dist/{chunk-V57TZQPI.js.map → chunk-SVM3DGAQ.js.map} +0 -0
- /package/dist/{chunk-2XH7GKCO.js.map → chunk-TTKBNBQF.js.map} +0 -0
- /package/dist/{chunk-PGD7USOH.js.map → chunk-VB3XUR6A.js.map} +0 -0
- /package/dist/{chunk-3LZM5MWM.js.map → chunk-XCKINS7K.js.map} +0 -0
- /package/dist/{chunk-YTF2MI3E.js.map → chunk-Y46FE75E.js.map} +0 -0
- /package/dist/{chunk-ZXSXRSFX.js.map → chunk-Z2GQREJY.js.map} +0 -0
- /package/dist/{chunk-64BRPYJD.js.map → chunk-ZA7OQLDJ.js.map} +0 -0
- /package/dist/{chunk-RNQMXS7G.js.map → chunk-ZDAVSTEE.js.map} +0 -0
- /package/dist/{chunk-LQR4CKYW.js.map → chunk-ZXCSOVS5.js.map} +0 -0
- /package/dist/{claim-W2ZV4SH3.js.map → claim-SVDCQ2AI.js.map} +0 -0
- /package/dist/{companies-ITK3W3H6.js.map → companies-BYMYQK6A.js.map} +0 -0
- /package/dist/{complete-RYEVEF3S.js.map → complete-NEH3MWRI.js.map} +0 -0
- /package/dist/{connect-FFFNSJ2O.js.map → connect-5PGL7ZOM.js.map} +0 -0
- /package/dist/{conversation-KKJNQRFB.js.map → conversation-CSOKJXDW.js.map} +0 -0
- /package/dist/{conversion-report-PLQ4MVJR.js.map → conversion-report-7JJ5L6WH.js.map} +0 -0
- /package/dist/{conversion-upload-command-Z7F6NQH4.js.map → conversion-upload-command-UO2QWG3J.js.map} +0 -0
- /package/dist/{conversion-writes-VNOXZ4NR.js.map → conversion-writes-GIGAZT4T.js.map} +0 -0
- /package/dist/{conversions-KPIFDO2R.js.map → conversions-CIJZLGII.js.map} +0 -0
- /package/dist/{create-TYWQP57A.js.map → create-2XYMBULY.js.map} +0 -0
- /package/dist/{create-A3R7YRT3.js.map → create-56PTZABQ.js.map} +0 -0
- /package/dist/{create-3R6Q2E2M.js.map → create-D6S6TGWY.js.map} +0 -0
- /package/dist/{create-UUEWQUPT.js.map → create-SMW4O5PC.js.map} +0 -0
- /package/dist/{creatives-UK4VITNW.js.map → creatives-OO76DAFS.js.map} +0 -0
- /package/dist/{credentials-A65GYH4D.js.map → credentials-2ONYUJW6.js.map} +0 -0
- /package/dist/{critique-46O4VVPM.js.map → critique-NDDFSGPE.js.map} +0 -0
- /package/dist/{critique-RPRMG2ZC.js.map → critique-YXZVMLZ4.js.map} +0 -0
- /package/dist/{crm-2WYW3D22.js.map → crm-Q6CEP5XV.js.map} +0 -0
- /package/dist/{crm-PQ24MNIU.js.map → crm-WRONZYDH.js.map} +0 -0
- /package/dist/{currency-Q3HCK447.js.map → currency-TAEJVMVK.js.map} +0 -0
- /package/dist/{customers-YTQ7IQ5C.js.map → customers-2EFYSCU2.js.map} +0 -0
- /package/dist/{delete-PQ4NUNLX.js.map → delete-7WEVC3FS.js.map} +0 -0
- /package/dist/{delete-BBISJTFG.js.map → delete-RBWK255M.js.map} +0 -0
- /package/dist/{delete-TBW6TJ6A.js.map → delete-VN4WWMQF.js.map} +0 -0
- /package/dist/{demographics-EVP55FT3.js.map → demographics-I5XZ435C.js.map} +0 -0
- /package/dist/{discard-LPJA4DEY.js.map → discard-XJLIXTNM.js.map} +0 -0
- /package/dist/{discover-3G6CE7X3.js.map → discover-5Z253HXF.js.map} +0 -0
- /package/dist/{domain-5MM7V7JD.js.map → domain-M7AEGAYI.js.map} +0 -0
- /package/dist/{draft-EGS7UFF3.js.map → draft-7DWRFCXW.js.map} +0 -0
- /package/dist/{draft-K3O7Q3A5.js.map → draft-7IIYHSY2.js.map} +0 -0
- /package/dist/{draft-34D5MOKA.js.map → draft-CN6GKVBF.js.map} +0 -0
- /package/dist/{draft-J6GJXZRX.js.map → draft-MNEM4N5W.js.map} +0 -0
- /package/dist/{experiment-7RJ5X2LL.js.map → experiment-IDDWRCJ7.js.map} +0 -0
- /package/dist/{facets-RUZKALF3.js.map → facets-ZLZ6LIHN.js.map} +0 -0
- /package/dist/{feedback-S5LHJYZD.js.map → feedback-7LEX2P5Q.js.map} +0 -0
- /package/dist/{feedback-record-GAM2R5GG.js.map → feedback-record-P4JJ63KA.js.map} +0 -0
- /package/dist/{fetch-FA6TR66Y.js.map → fetch-MIVCEHXZ.js.map} +0 -0
- /package/dist/{find-2EPXK5RF.js.map → find-VHN34MWL.js.map} +0 -0
- /package/dist/{fit-MOMO4AXL.js.map → fit-SS6HSZPU.js.map} +0 -0
- /package/dist/{flows-DMMCSBWY.js.map → flows-UTIIHDNE.js.map} +0 -0
- /package/dist/{fonts-G4JLXWX2.js.map → fonts-YPNN7ZJP.js.map} +0 -0
- /package/dist/{forecast-OOP4K5DE.js.map → forecast-OBSHG2GJ.js.map} +0 -0
- /package/dist/{forecast-V65WS5QG.js.map → forecast-W7Z5TVQX.js.map} +0 -0
- /package/dist/{funnel-SEQPUM3X.js.map → funnel-Z2VLXUEQ.js.map} +0 -0
- /package/dist/{ga4-6EIQC2TG.js.map → ga4-ZPAEF2G2.js.map} +0 -0
- /package/dist/{generate-IDDQD5FU.js.map → generate-Y76WU7M7.js.map} +0 -0
- /package/dist/{get-DEOZMGOQ.js.map → get-MDAO6I7T.js.map} +0 -0
- /package/dist/{get-SEJINVOS.js.map → get-ZB553BSH.js.map} +0 -0
- /package/dist/{google-O5OI6QFU.js.map → google-C3X7O2UO.js.map} +0 -0
- /package/dist/{google-7L3FWKPJ.js.map → google-WYXDMH2N.js.map} +0 -0
- /package/dist/{google-ads-MIGWMCWY.js.map → google-ads-FTWL772L.js.map} +0 -0
- /package/dist/{gsc-BM3T2GDL.js.map → gsc-SDDHGTZK.js.map} +0 -0
- /package/dist/{history-Z5577FPQ.js.map → history-DGHMJ2XF.js.map} +0 -0
- /package/dist/{history-IBWXCDCB.js.map → history-WKJYKDMG.js.map} +0 -0
- /package/dist/{hubspot-6AZKUX72.js.map → hubspot-EPHVEPOO.js.map} +0 -0
- /package/dist/{icon-B7DG53S5.js.map → icon-MYPDC6FM.js.map} +0 -0
- /package/dist/{ideas-AX7S3NCG.js.map → ideas-3PBH7VEX.js.map} +0 -0
- /package/dist/{images-632SXTB5.js.map → images-J35C3WG4.js.map} +0 -0
- /package/dist/{ingest-T3OK3DRG.js.map → ingest-5QOPUKFE.js.map} +0 -0
- /package/dist/{ingest-HS55RVKH.js.map → ingest-OKUYP632.js.map} +0 -0
- /package/dist/{insights-UDX66IMV.js.map → insights-EU45J56U.js.map} +0 -0
- /package/dist/{inspect-D6ZIUBH3.js.map → inspect-PMNCP6MV.js.map} +0 -0
- /package/dist/{inspiration-TCCKM4R7.js.map → inspiration-QAL7NS7G.js.map} +0 -0
- /package/dist/{intent-3WTKKTUX.js.map → intent-FUGWRUSW.js.map} +0 -0
- /package/dist/{keyword-gap-7GESZXY2.js.map → keyword-gap-DXTKZLV2.js.map} +0 -0
- /package/dist/{keyword-metrics-J43MV3RQ.js.map → keyword-metrics-R752SJIT.js.map} +0 -0
- /package/dist/{keywords-for-site-6YKCTFJZ.js.map → keywords-for-site-7UWPJYQF.js.map} +0 -0
- /package/dist/{landing-Y7DI2FUT.js.map → landing-CBVIOGJ5.js.map} +0 -0
- /package/dist/{languages-LSKNZI2A.js.map → languages-XRTTEJ5P.js.map} +0 -0
- /package/dist/{learn-M4UHA476.js.map → learn-N6QV7GXA.js.map} +0 -0
- /package/dist/{line-item-writes-F2OPBMIE.js.map → line-item-writes-3WPJXKIL.js.map} +0 -0
- /package/dist/{line-items-YJ3DLV2U.js.map → line-items-ZOFKOGAA.js.map} +0 -0
- /package/dist/{link-RZKYW22K.js.map → link-DDRQKOUL.js.map} +0 -0
- /package/dist/{list-NPJ34244.js.map → list-5PLXVPLB.js.map} +0 -0
- /package/dist/{list-XK5CHKYJ.js.map → list-VSJISE7U.js.map} +0 -0
- /package/dist/{list-WTVBOTA4.js.map → list-WTVOBQYX.js.map} +0 -0
- /package/dist/{locations-DSDCNP5Z.js.map → locations-PCZPKH47.js.map} +0 -0
- /package/dist/{locations-SFZN4MYW.js.map → locations-TGJH3URF.js.map} +0 -0
- /package/dist/{log-K4FWHXIM.js.map → log-YKKPROLZ.js.map} +0 -0
- /package/dist/{logo-QTSBKP2J.js.map → logo-WE2UELX6.js.map} +0 -0
- /package/dist/{make-VQDUKVPB.js.map → make-RNOWBLZQ.js.map} +0 -0
- /package/dist/{map-Z3MEM6QX.js.map → map-WTDPQLVO.js.map} +0 -0
- /package/dist/{mcp-KJOSR534.js.map → mcp-XJNSCPP3.js.map} +0 -0
- /package/dist/{media-sources-44HTWIY3.js.map → media-sources-JGBDDXZ5.js.map} +0 -0
- /package/dist/{members-HGU22NL3.js.map → members-O3BTMRXX.js.map} +0 -0
- /package/dist/{metrics-OV2EKPJ6.js.map → metrics-PYPCW7FJ.js.map} +0 -0
- /package/dist/{models-NGAUD6QJ.js.map → models-IAGO5GIH.js.map} +0 -0
- /package/dist/{normalize-IUPOHEZJ.js.map → normalize-R5AYLA2J.js.map} +0 -0
- /package/dist/{options-TL5TPGHK.js.map → options-AILRY7JY.js.map} +0 -0
- /package/dist/{organization-3ORT4474.js.map → organization-KJJXZLVK.js.map} +0 -0
- /package/dist/{performance-PCZHQCZ5.js.map → performance-7YU4HOGH.js.map} +0 -0
- /package/dist/{pixels-GHEAK62X.js.map → pixels-R4MOLWAR.js.map} +0 -0
- /package/dist/{promoted-tweet-writes-O4RTZFSI.js.map → promoted-tweet-writes-TNELWPVG.js.map} +0 -0
- /package/dist/{promoted-tweets-AWP6MGJI.js.map → promoted-tweets-76WKUFJQ.js.map} +0 -0
- /package/dist/{publish-PODZKJHW.js.map → publish-BKLHCKHB.js.map} +0 -0
- /package/dist/{query-FUSR27T4.js.map → query-XDHZMGLX.js.map} +0 -0
- /package/dist/{reddit-UNUNWSNR.js.map → reddit-YK3YUZEI.js.map} +0 -0
- /package/dist/{refresh-34UO2LXY.js.map → refresh-WIII7KXB.js.map} +0 -0
- /package/dist/{release-BD3EAD75.js.map → release-ZHXYQI7G.js.map} +0 -0
- /package/dist/{relevant-pages-FNKYR2OG.js.map → relevant-pages-CTG72PBR.js.map} +0 -0
- /package/dist/{remove-YQYSQCWI.js.map → remove-NOX4BXWK.js.map} +0 -0
- /package/dist/{reopen-MULNJOR5.js.map → reopen-NLWKK5HB.js.map} +0 -0
- /package/dist/{rerun-6YGYJPM7.js.map → rerun-DZWQNMZQ.js.map} +0 -0
- /package/dist/{research-6WEL3USW.js.map → research-Q3P76RHN.js.map} +0 -0
- /package/dist/{research-OBECRSPL.js.map → research-UDZBCDNX.js.map} +0 -0
- /package/dist/{reset-5TTLZ43U.js.map → reset-5UHFX7QY.js.map} +0 -0
- /package/dist/{reset-PRTK6YUD.js.map → reset-MTRJQUP7.js.map} +0 -0
- /package/dist/{resolve-6RM63T55.js.map → resolve-DA72VT7Q.js.map} +0 -0
- /package/dist/{retry-Z3C624JW.js.map → retry-LQUBX5TK.js.map} +0 -0
- /package/dist/{retry-XYTVP7BV.js.map → retry-U6F4CS6O.js.map} +0 -0
- /package/dist/{rules-AUAJUM2T.js.map → rules-VS5PZ7VO.js.map} +0 -0
- /package/dist/{rules-add-7VFGPGZ7.js.map → rules-add-LMVZYDXE.js.map} +0 -0
- /package/dist/{run-S3SVCTIB.js.map → run-6PRA2YSD.js.map} +0 -0
- /package/dist/{run-YA5RCRIX.js.map → run-R6COFNOR.js.map} +0 -0
- /package/dist/{scaffold-ad-2KQULVJU.js.map → scaffold-ad-3OVJ7VZQ.js.map} +0 -0
- /package/dist/{scaffold-static-ad-S46QADGV.js.map → scaffold-static-ad-DDRA3Q5I.js.map} +0 -0
- /package/dist/{scaffold-video-ZMHI2JDU.js.map → scaffold-video-3JZYFYFU.js.map} +0 -0
- /package/dist/{schedule-FT6P3EKG.js.map → schedule-ED2YDUPY.js.map} +0 -0
- /package/dist/{scheduled-agents-L7K4QWMD.js.map → scheduled-agents-5P67MVGX.js.map} +0 -0
- /package/dist/{schema-CH654RZB.js.map → schema-4XVKERSA.js.map} +0 -0
- /package/dist/{search-YKYB2P2M.js.map → search-Y2UMIQ57.js.map} +0 -0
- /package/dist/{select-PM7JUDQY.js.map → select-OZ4E6VLF.js.map} +0 -0
- /package/dist/{set-prompt-VATAT7H6.js.map → set-prompt-O4YAE4CE.js.map} +0 -0
- /package/dist/{setup-links-TM3NCVU7.js.map → setup-links-2GJYCV2A.js.map} +0 -0
- /package/dist/{site-ATAXCWXS.js.map → site-47B6V2UX.js.map} +0 -0
- /package/dist/{sources-V544MB26.js.map → sources-DXPZAPQ7.js.map} +0 -0
- /package/dist/{sources-N5RKYKFS.js.map → sources-NDXYTASG.js.map} +0 -0
- /package/dist/{stale-RNEYXKFX.js.map → stale-VLVBO2L6.js.map} +0 -0
- /package/dist/{stats-CVF6AC7R.js.map → stats-37OFAMPW.js.map} +0 -0
- /package/dist/{status-DPTFOJVV.js.map → status-4ODD46XY.js.map} +0 -0
- /package/dist/{stock-4LPQ6SM7.js.map → stock-6R5E7MJX.js.map} +0 -0
- /package/dist/{studio-NZ3NA4L4.js.map → studio-LEIGL3Q7.js.map} +0 -0
- /package/dist/{sync-UBLCCOQZ.js.map → sync-TKNVBUDM.js.map} +0 -0
- /package/dist/{sync-definition-RXRSI2LT.js.map → sync-definition-M5R3H3TP.js.map} +0 -0
- /package/dist/{tag-manager-FLXXLNKP.js.map → tag-manager-3Q55PBEW.js.map} +0 -0
- /package/dist/{tags-5OM2VN3Q.js.map → tags-4N5UUUN6.js.map} +0 -0
- /package/dist/{tags-MHKZW2JN.js.map → tags-5NHIAD5A.js.map} +0 -0
- /package/dist/{tags-Z6AH7FDT.js.map → tags-UUKWSWCN.js.map} +0 -0
- /package/dist/{tags-CJWSUBCD.js.map → tags-VK7B5DJF.js.map} +0 -0
- /package/dist/{tags-2D4AN2QB.js.map → tags-XAHIB3WA.js.map} +0 -0
- /package/dist/{targeting-criteria-RSAN4KW5.js.map → targeting-criteria-AVARWV2G.js.map} +0 -0
- /package/dist/{targets-EER2G4WH.js.map → targets-6RYLQRID.js.map} +0 -0
- /package/dist/{testimonials-4WJKAZ5S.js.map → testimonials-6TF6BOFN.js.map} +0 -0
- /package/dist/{themes-XUALHDHR.js.map → themes-JZ3DPE7L.js.map} +0 -0
- /package/dist/{top-companies-BSOYGMIB.js.map → top-companies-45EHRCJD.js.map} +0 -0
- /package/dist/{translate-2XRHDWSC.js.map → translate-VHLBACCE.js.map} +0 -0
- /package/dist/{triggers-NU6BQ5NJ.js.map → triggers-ERQONJNO.js.map} +0 -0
- /package/dist/{unlink-LQGPZND2.js.map → unlink-TPDO6JNF.js.map} +0 -0
- /package/dist/{unstage-GDKW56MH.js.map → unstage-YKKQQ7LW.js.map} +0 -0
- /package/dist/{update-43QN723C.js.map → update-43WU6X7R.js.map} +0 -0
- /package/dist/{update-QRGEMNBY.js.map → update-CAHLAXWO.js.map} +0 -0
- /package/dist/{update-EGOWYBEH.js.map → update-NGH6YADN.js.map} +0 -0
- /package/dist/{update-6CAZKFTC.js.map → update-SPJIHHLE.js.map} +0 -0
- /package/dist/{upload-LIHRXWUY.js.map → upload-ACESIZIZ.js.map} +0 -0
- /package/dist/{url-options-JXL4W7TB.js.map → url-options-VNX5KYUQ.js.map} +0 -0
- /package/dist/{url-params-YXRZ4TUD.js.map → url-params-MIXEDBF7.js.map} +0 -0
- /package/dist/{validate-KO3MEJUZ.js.map → validate-XJJA7ULE.js.map} +0 -0
- /package/dist/{videos-BPJ34YZL.js.map → videos-LBXPG7WC.js.map} +0 -0
- /package/dist/{viewer-check-SA5AUQ26.js.map → viewer-check-7VJ3GUZX.js.map} +0 -0
- /package/dist/{web-KS47ZHXX.js.map → web-EWQJC2SD.js.map} +0 -0
- /package/dist/{winning-ads-LE2ALICG.js.map → winning-ads-SAOJAKEQ.js.map} +0 -0
- /package/dist/{x-DZGRJQ7Y.js.map → x-LXOJPCRF.js.map} +0 -0
|
@@ -0,0 +1,611 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ACCOUNTS_ENGAGEMENT_MAX_LIMIT,
|
|
3
|
+
ACCOUNTS_NO_SETTINGS_MESSAGE,
|
|
4
|
+
INFLUENCE_MODEL_KINDS,
|
|
5
|
+
accountDealStatus,
|
|
6
|
+
accountsCampaignsRequestSchema,
|
|
7
|
+
accountsCompanyRequestSchema,
|
|
8
|
+
accountsEngagementRequestSchema,
|
|
9
|
+
accountsInfluencedRequestSchema,
|
|
10
|
+
influenceParams,
|
|
11
|
+
warmAccounts
|
|
12
|
+
} from "./chunk-IBY44U2M.js";
|
|
13
|
+
import "./chunk-GRQ2AXDX.js";
|
|
14
|
+
import {
|
|
15
|
+
TABLE_OUTPUT_FORMATS,
|
|
16
|
+
outputFormatRefusal,
|
|
17
|
+
toCsvRow,
|
|
18
|
+
writeAdsOutput
|
|
19
|
+
} from "./chunk-2VIZ4UUZ.js";
|
|
20
|
+
import {
|
|
21
|
+
failApi
|
|
22
|
+
} from "./chunk-ZDAVSTEE.js";
|
|
23
|
+
import "./chunk-DAO63OOP.js";
|
|
24
|
+
import "./chunk-GXDLWBOY.js";
|
|
25
|
+
import "./chunk-GIWHHCD6.js";
|
|
26
|
+
import "./chunk-XQIOCIDO.js";
|
|
27
|
+
import "./chunk-WTJSMYY2.js";
|
|
28
|
+
import {
|
|
29
|
+
ApiError,
|
|
30
|
+
apiPost
|
|
31
|
+
} from "./chunk-6YLNY6CK.js";
|
|
32
|
+
import "./chunk-D5NEIESR.js";
|
|
33
|
+
import "./chunk-57KKVDDR.js";
|
|
34
|
+
import {
|
|
35
|
+
registerSchema,
|
|
36
|
+
writeJson
|
|
37
|
+
} from "./chunk-QANGHND7.js";
|
|
38
|
+
import "./chunk-YQSBHWOI.js";
|
|
39
|
+
|
|
40
|
+
// src/commands/accounts/index.ts
|
|
41
|
+
import { defineCommand } from "citty";
|
|
42
|
+
import { z } from "zod";
|
|
43
|
+
|
|
44
|
+
// src/commands/accounts/report.ts
|
|
45
|
+
function accountsRefusal(code, message) {
|
|
46
|
+
if (code === "CONFLICT" && message.includes(ACCOUNTS_NO_SETTINGS_MESSAGE)) {
|
|
47
|
+
return {
|
|
48
|
+
code: "ACCOUNTS_NOT_SET_UP",
|
|
49
|
+
fix: {
|
|
50
|
+
action: "ask_user",
|
|
51
|
+
explanation: "The user sets up where the deals are in Measure \u2192 Accounts first: HubSpot (then its pipelines and won/lost stages), or Another CRM, whose deals they send by spreadsheet or from their system (`baker accounts crm status`). Only the user can say which stages mean won and lost; do not guess them. Until then `baker accounts engagement` and `baker accounts warm` still work \u2014 they need no deals."
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
var FLAG_OF_FIELD = {
|
|
58
|
+
lastMonths: "--last-months",
|
|
59
|
+
start: "--start",
|
|
60
|
+
end: "--end",
|
|
61
|
+
campaignId: "--campaign-id",
|
|
62
|
+
limit: "--limit",
|
|
63
|
+
basis: "--basis",
|
|
64
|
+
model: "--model",
|
|
65
|
+
threshold: "--threshold",
|
|
66
|
+
orgId: "company",
|
|
67
|
+
domain: "company"
|
|
68
|
+
};
|
|
69
|
+
function invalidArgsMessage(issues) {
|
|
70
|
+
return issues.map((issue) => {
|
|
71
|
+
const field = issue.path.map(String).join(".");
|
|
72
|
+
return `${FLAG_OF_FIELD[field] ?? (field || "args")}: ${issue.message}`;
|
|
73
|
+
}).join("; ");
|
|
74
|
+
}
|
|
75
|
+
function money(value) {
|
|
76
|
+
const parts = Object.entries(value).map(
|
|
77
|
+
([currency, amount]) => `${Math.round(amount).toLocaleString("en")} ${currency}`
|
|
78
|
+
);
|
|
79
|
+
return parts.length > 0 ? parts.join(" + ") : "no amount";
|
|
80
|
+
}
|
|
81
|
+
function influencedHints(data) {
|
|
82
|
+
const hints = [];
|
|
83
|
+
const { summary } = data;
|
|
84
|
+
if (summary.lowConfidenceDeals > 0) {
|
|
85
|
+
const deals = summary.lowConfidenceDeals === 1 ? "deal" : "deals";
|
|
86
|
+
const look = summary.lowConfidenceDeals === 1 ? "looks" : "look";
|
|
87
|
+
hints.push(
|
|
88
|
+
`${summary.lowConfidenceDeals} more ${deals} (${money(summary.lowConfidenceValue)}) ${look} influenced through a company match that is only a guess (a subdomain or a name). They are not counted in the numbers until someone confirms the match in Measure \u2192 Accounts; they are listed under lowConfidence.`
|
|
89
|
+
);
|
|
90
|
+
}
|
|
91
|
+
const valued = Object.keys(summary.influencedValue).length > 0;
|
|
92
|
+
const spent = Object.values(summary.spend).some((amount) => amount > 0);
|
|
93
|
+
if (summary.valuePerSpend === null && valued && spent) {
|
|
94
|
+
hints.push(
|
|
95
|
+
`valuePerSpend is null because the influenced value (${money(summary.influencedValue)}) and the LinkedIn spend (${money(summary.spend)}) are not in one single currency \u2014 amounts in different currencies are never converted or added. Report them side by side.`
|
|
96
|
+
);
|
|
97
|
+
}
|
|
98
|
+
return hints;
|
|
99
|
+
}
|
|
100
|
+
function influencedTableRows(data, full) {
|
|
101
|
+
return full ? data.deals : [...data.deals, ...data.lowConfidence];
|
|
102
|
+
}
|
|
103
|
+
function engagementHints(data, request) {
|
|
104
|
+
if (data.companies.length === 0) {
|
|
105
|
+
return [
|
|
106
|
+
`No company the LinkedIn ads reached shows up for ${data.window.start} to ${data.window.end}. The nightly sync may not have run since the campaigns started delivering, or LinkedIn left the companies out (fewer than 3 events in a month). Try a longer period (--last-months 12), or read the ad account live with \`baker ads linkedin companies\`.`
|
|
107
|
+
];
|
|
108
|
+
}
|
|
109
|
+
const page = data.pageInfo;
|
|
110
|
+
if (page?.hasMore) {
|
|
111
|
+
const first = (page.page - 1) * page.pageSize + 1;
|
|
112
|
+
const last = first + data.companies.length - 1;
|
|
113
|
+
return [
|
|
114
|
+
`Companies ${first}-${last} of ${page.total.toLocaleString("en")} shown. Read the next ones with --page ${page.page + 1} --limit ${page.pageSize}.`
|
|
115
|
+
];
|
|
116
|
+
}
|
|
117
|
+
return data.truncated ? [`More companies were reached than --limit ${request.limit}; raise it to see the tail.`] : [];
|
|
118
|
+
}
|
|
119
|
+
var ENGAGEMENT_TABLE_FIELDS = [
|
|
120
|
+
"orgId",
|
|
121
|
+
"name",
|
|
122
|
+
"domain",
|
|
123
|
+
"impressions",
|
|
124
|
+
"clicks",
|
|
125
|
+
"engagements",
|
|
126
|
+
"videoViews",
|
|
127
|
+
"costLocal",
|
|
128
|
+
"currency",
|
|
129
|
+
"monthsActive",
|
|
130
|
+
"lastMonth",
|
|
131
|
+
"previousImpressions",
|
|
132
|
+
"previousClicks",
|
|
133
|
+
"previousEngagements",
|
|
134
|
+
"flag",
|
|
135
|
+
"crmCompanyId",
|
|
136
|
+
"matchConfidence",
|
|
137
|
+
"dealStatus",
|
|
138
|
+
"hasOpenDeal",
|
|
139
|
+
"hasWonDeal",
|
|
140
|
+
"hasLostDeal",
|
|
141
|
+
"lastLostAt",
|
|
142
|
+
"websitePeople",
|
|
143
|
+
"websiteLeads"
|
|
144
|
+
];
|
|
145
|
+
function engagementTableRows(rows) {
|
|
146
|
+
return withDealStatus(rows).map(({ previous, website, ...row }) => ({
|
|
147
|
+
...row,
|
|
148
|
+
previousImpressions: previous.impressions,
|
|
149
|
+
previousClicks: previous.clicks,
|
|
150
|
+
previousEngagements: previous.engagements,
|
|
151
|
+
websitePeople: website?.people ?? 0,
|
|
152
|
+
websiteLeads: website?.leads ?? 0
|
|
153
|
+
}));
|
|
154
|
+
}
|
|
155
|
+
var MODEL_OF_METRIC = {
|
|
156
|
+
engagements: "engagement",
|
|
157
|
+
impressions: "awareness",
|
|
158
|
+
clicks: "intent"
|
|
159
|
+
};
|
|
160
|
+
function warmMinimum(rule, override) {
|
|
161
|
+
const saved = { model: { kind: rule ? MODEL_OF_METRIC[rule.metric] : "engagement", threshold: rule?.threshold } };
|
|
162
|
+
const read = influenceParams(saved, { model: override.model, threshold: override.threshold });
|
|
163
|
+
const value = override.min ?? read.threshold;
|
|
164
|
+
return value > 0 ? { metric: read.metric, value } : void 0;
|
|
165
|
+
}
|
|
166
|
+
function warmHints(read, warm, minimum) {
|
|
167
|
+
const hints = [];
|
|
168
|
+
if (read.truncated) {
|
|
169
|
+
hints.push(
|
|
170
|
+
`The ads reached more companies than one read returns (${read.companies.length.toLocaleString("en")}, the most engaged first), so warm companies with little engagement may be missing. Read a shorter period with --last-months 1 to see them.`
|
|
171
|
+
);
|
|
172
|
+
}
|
|
173
|
+
if (warm.length === 0 && read.companies.length > 0 && minimum !== void 0) {
|
|
174
|
+
hints.push(
|
|
175
|
+
`No company both warmed up and reached ${minimum.value}+ ${minimum.metric} in the period. Try a longer period with --last-months, or a lower bar with --min (--min 0 drops it).`
|
|
176
|
+
);
|
|
177
|
+
}
|
|
178
|
+
if (warm.some((row) => row.name === "")) {
|
|
179
|
+
hints.push("Some companies have no name yet \u2014 the nightly sync looks them up; the organizationUrn still matches.");
|
|
180
|
+
}
|
|
181
|
+
if (warm.length > 0) {
|
|
182
|
+
hints.push(
|
|
183
|
+
'To advertise to them: `baker accounts warm --output csv > warm.csv`, then `baker ads linkedin audiences create --name "Warm accounts" --type company-list --list-file warm.csv` (staged until publish).'
|
|
184
|
+
);
|
|
185
|
+
}
|
|
186
|
+
return hints;
|
|
187
|
+
}
|
|
188
|
+
var WARM_CSV_COLUMNS = ["companyName", "domain", "organizationUrn"];
|
|
189
|
+
function warmAccountsCsv(rows) {
|
|
190
|
+
const lines = [toCsvRow(WARM_CSV_COLUMNS)];
|
|
191
|
+
for (const row of rows) {
|
|
192
|
+
const name = row.name.replace(/\s*[\r\n]+\s*/g, " ");
|
|
193
|
+
lines.push(toCsvRow([name, row.domain, `urn:li:organization:${row.orgId}`]));
|
|
194
|
+
}
|
|
195
|
+
return `${lines.join("\n")}
|
|
196
|
+
`;
|
|
197
|
+
}
|
|
198
|
+
function withDealStatus(rows) {
|
|
199
|
+
return rows.map((row) => ({ ...row, dealStatus: accountDealStatus(row) }));
|
|
200
|
+
}
|
|
201
|
+
var counts = (row) => ({
|
|
202
|
+
month: row.month,
|
|
203
|
+
impressions: row.impressions,
|
|
204
|
+
clicks: row.clicks,
|
|
205
|
+
engagements: row.engagements
|
|
206
|
+
});
|
|
207
|
+
function unreachedHint(unreached, deals) {
|
|
208
|
+
if (unreached.length > 0) {
|
|
209
|
+
return `The LinkedIn ads have not reached LinkedIn company ${unreached.map((org) => org.orgId).join(", ")} in the months the nightly sync keeps (up to 24), so there is nothing to show. Check the id against \`baker accounts engagement\`, or try the company's website domain.`;
|
|
210
|
+
}
|
|
211
|
+
if (deals > 0) {
|
|
212
|
+
return `That company is in the CRM with ${deals === 1 ? "1 deal" : `${deals} deals`}, but the LinkedIn ads have not reached it in the months the nightly sync keeps, so none of its deals can count as influenced.`;
|
|
213
|
+
}
|
|
214
|
+
return "The ads have not reached that company, or it is named differently: try its LinkedIn id from `baker accounts engagement`.";
|
|
215
|
+
}
|
|
216
|
+
function companyView(data) {
|
|
217
|
+
const reachedOrgs = new Set(data.months.map((row) => row.orgId));
|
|
218
|
+
const orgs = data.orgs.filter((org) => reachedOrgs.has(org.orgId) || org.name !== "" || org.crmCompanyId !== null);
|
|
219
|
+
const months = data.months.filter((row) => row.campaignId === "").map((row) => ({ orgId: row.orgId, ...counts(row) }));
|
|
220
|
+
const byCampaign = [];
|
|
221
|
+
for (const row of data.months) {
|
|
222
|
+
if (row.campaignId === "") continue;
|
|
223
|
+
let entry = byCampaign.find((item) => item.orgId === row.orgId && item.campaignId === row.campaignId);
|
|
224
|
+
if (entry === void 0) {
|
|
225
|
+
entry = { orgId: row.orgId, campaignId: row.campaignId, campaignName: row.campaignName, months: [] };
|
|
226
|
+
byCampaign.push(entry);
|
|
227
|
+
}
|
|
228
|
+
entry.months.push(counts(row));
|
|
229
|
+
}
|
|
230
|
+
const hints = [];
|
|
231
|
+
const unreached = unreachedHint(
|
|
232
|
+
data.orgs.filter((org) => !orgs.includes(org)),
|
|
233
|
+
data.deals.length
|
|
234
|
+
);
|
|
235
|
+
if (orgs.length === 0) hints.push(unreached);
|
|
236
|
+
if (byCampaign.length > 0) {
|
|
237
|
+
hints.push(
|
|
238
|
+
"`months` are the company's totals. `byCampaign` splits the same numbers by campaign, and a company several campaigns reached shows up under each \u2014 never add byCampaign to the totals or to each other."
|
|
239
|
+
);
|
|
240
|
+
}
|
|
241
|
+
if (orgs.some((org) => org.matchConfidence === "low")) {
|
|
242
|
+
hints.push(
|
|
243
|
+
"The CRM match is only a guess (a subdomain or a name) until someone confirms it in Measure \u2192 Accounts."
|
|
244
|
+
);
|
|
245
|
+
}
|
|
246
|
+
if (data.rule !== void 0 && data.deals.length > 0) {
|
|
247
|
+
hints.push(
|
|
248
|
+
`\`influenced\` on each deal: ${data.rule.threshold}+ ${data.rule.metric} (\`touchValue\`) in the ${data.rule.lookbackMonths} months up to the month the deal was created (closed, for a won deal), counted from this company's months above.`
|
|
249
|
+
);
|
|
250
|
+
}
|
|
251
|
+
return { data: { orgs, months, byCampaign, deals: data.deals, ...data.rule ? { rule: data.rule } : {} }, hints };
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
// src/commands/accounts/index.ts
|
|
255
|
+
function optionalNumber(raw) {
|
|
256
|
+
return typeof raw === "string" && raw.trim() !== "" ? Number(raw) : void 0;
|
|
257
|
+
}
|
|
258
|
+
function optionalString(raw) {
|
|
259
|
+
return typeof raw === "string" && raw.trim() !== "" ? raw.trim() : void 0;
|
|
260
|
+
}
|
|
261
|
+
function failInvalidArgs(message) {
|
|
262
|
+
writeJson({ ok: false, error: { code: "INVALID_ARGS", message } });
|
|
263
|
+
process.exit(1);
|
|
264
|
+
}
|
|
265
|
+
function failInvalid(issues) {
|
|
266
|
+
failInvalidArgs(invalidArgsMessage(issues));
|
|
267
|
+
}
|
|
268
|
+
function outputFormat(args, supported) {
|
|
269
|
+
const format = optionalString(args.output) ?? "json";
|
|
270
|
+
const refusal = outputFormatRefusal(format, supported);
|
|
271
|
+
if (refusal !== null) failInvalidArgs(refusal);
|
|
272
|
+
return format;
|
|
273
|
+
}
|
|
274
|
+
var OUTPUT_ARG = {
|
|
275
|
+
type: "string",
|
|
276
|
+
description: "json|csv|jsonl|md (default json). csv/jsonl/md print the rows only; the summary and hints go to stderr",
|
|
277
|
+
required: false,
|
|
278
|
+
default: "json"
|
|
279
|
+
};
|
|
280
|
+
var RULE_ARGS = {
|
|
281
|
+
model: {
|
|
282
|
+
type: "string",
|
|
283
|
+
description: "Read this report with another influence model, for this call only (the saved settings stay): engagement (engagements), awareness (impressions) or intent (clicks)",
|
|
284
|
+
required: false
|
|
285
|
+
},
|
|
286
|
+
threshold: {
|
|
287
|
+
type: "string",
|
|
288
|
+
description: "Read this report with another threshold on the model's metric, for this call only (a whole number, 1 or more)",
|
|
289
|
+
required: false
|
|
290
|
+
}
|
|
291
|
+
};
|
|
292
|
+
function ruleInput(args) {
|
|
293
|
+
return { model: optionalString(args.model), threshold: optionalNumber(args.threshold) };
|
|
294
|
+
}
|
|
295
|
+
function moneyText(value) {
|
|
296
|
+
return Object.entries(value).map(([currency, amount]) => `${Math.round(amount)} ${currency}`).join(" + ");
|
|
297
|
+
}
|
|
298
|
+
function failAccounts(err) {
|
|
299
|
+
const refusal = err instanceof ApiError ? accountsRefusal(err.code, err.message) : null;
|
|
300
|
+
if (err instanceof ApiError && refusal !== null) {
|
|
301
|
+
writeJson({ ok: false, error: { code: refusal.code, message: err.message, fix: refusal.fix } });
|
|
302
|
+
process.exit(1);
|
|
303
|
+
}
|
|
304
|
+
failApi(err);
|
|
305
|
+
}
|
|
306
|
+
var WINDOW_ARGS = {
|
|
307
|
+
"last-months": {
|
|
308
|
+
type: "string",
|
|
309
|
+
description: "Calendar months to read, the current one included (1-24)",
|
|
310
|
+
required: false
|
|
311
|
+
},
|
|
312
|
+
start: { type: "string", description: "First day, YYYY-MM-DD (instead of --last-months)", required: false },
|
|
313
|
+
end: { type: "string", description: "Last day, YYYY-MM-DD (default today; needs --start)", required: false }
|
|
314
|
+
};
|
|
315
|
+
function windowInput(args) {
|
|
316
|
+
return {
|
|
317
|
+
lastMonths: optionalNumber(args["last-months"]),
|
|
318
|
+
start: optionalString(args.start),
|
|
319
|
+
end: optionalString(args.end)
|
|
320
|
+
};
|
|
321
|
+
}
|
|
322
|
+
var INFLUENCED_ARGS = {
|
|
323
|
+
basis: {
|
|
324
|
+
type: "string",
|
|
325
|
+
description: "pipeline (default): deals created in the period and not won. revenue: deals closed won in the period",
|
|
326
|
+
required: false,
|
|
327
|
+
default: "pipeline"
|
|
328
|
+
},
|
|
329
|
+
...WINDOW_ARGS,
|
|
330
|
+
full: {
|
|
331
|
+
type: "boolean",
|
|
332
|
+
description: "Every deal in the period, influenced or not, instead of the influenced ones",
|
|
333
|
+
required: false,
|
|
334
|
+
default: false
|
|
335
|
+
},
|
|
336
|
+
...RULE_ARGS,
|
|
337
|
+
output: OUTPUT_ARG
|
|
338
|
+
};
|
|
339
|
+
var DEAL_TABLE_FIELDS = [
|
|
340
|
+
"dealId",
|
|
341
|
+
"dealName",
|
|
342
|
+
"companyName",
|
|
343
|
+
"domain",
|
|
344
|
+
"amount",
|
|
345
|
+
"currency",
|
|
346
|
+
"status",
|
|
347
|
+
"referenceAt",
|
|
348
|
+
"touchValue",
|
|
349
|
+
"firstTouchMonth",
|
|
350
|
+
"matchConfidence",
|
|
351
|
+
"influenced",
|
|
352
|
+
"crmCompanyId"
|
|
353
|
+
];
|
|
354
|
+
function influencedSummaryLine(data) {
|
|
355
|
+
const { summary, rule } = data;
|
|
356
|
+
const value = moneyText(summary.influencedValue) || "no amount";
|
|
357
|
+
return `${summary.influencedDeals} of ${summary.deals} ${data.basis} deals influenced (${value}) \u2014 ${rule.threshold}+ ${rule.metric} in the ${rule.lookbackMonths} months up to each deal, ${data.window.start} to ${data.window.end}.`;
|
|
358
|
+
}
|
|
359
|
+
registerSchema({
|
|
360
|
+
command: "accounts.influenced",
|
|
361
|
+
description: `Start here for 'what pipeline / revenue did our LinkedIn ads influence'. A deal is influenced when its company reached the company's influence rule (default: 3+ LinkedIn ad engagements) in the 12 months up to and including the month the deal was created (pipeline) or closed won (revenue). A labelled rule, not credit: never call it 'attributed' or split it. Returns {summary: {deals, influencedDeals, influencedValue per currency, lowConfidenceDeals, spend, valuePerSpend}, deals, lowConfidence}. Amounts in different currencies are never added. Default the last 12 calendar months. --model/--threshold read it with another rule for this call only ("what if we counted 5+ engagements"); --output csv|md|jsonl prints the deals.`,
|
|
362
|
+
args: INFLUENCED_ARGS
|
|
363
|
+
});
|
|
364
|
+
var influencedCommand = defineCommand({
|
|
365
|
+
meta: {
|
|
366
|
+
name: "influenced",
|
|
367
|
+
description: "Deals the LinkedIn ads influenced, with influenced pipeline or revenue. Example: baker accounts influenced --basis revenue --last-months 6"
|
|
368
|
+
},
|
|
369
|
+
args: INFLUENCED_ARGS,
|
|
370
|
+
run: async ({ args }) => {
|
|
371
|
+
const format = outputFormat(args, TABLE_OUTPUT_FORMATS);
|
|
372
|
+
const parsed = accountsInfluencedRequestSchema.safeParse({
|
|
373
|
+
...windowInput(args),
|
|
374
|
+
...ruleInput(args),
|
|
375
|
+
basis: optionalString(args.basis),
|
|
376
|
+
full: Boolean(args.full)
|
|
377
|
+
});
|
|
378
|
+
if (!parsed.success) failInvalid(parsed.error.issues);
|
|
379
|
+
try {
|
|
380
|
+
const response = await apiPost("/api/accounts/influenced", parsed.data);
|
|
381
|
+
const hints = influencedHints(response.data);
|
|
382
|
+
if (format !== "json") {
|
|
383
|
+
const rows = influencedTableRows(response.data, parsed.data.full);
|
|
384
|
+
writeAdsOutput(rows, format, DEAL_TABLE_FIELDS, [influencedSummaryLine(response.data), ...hints]);
|
|
385
|
+
return;
|
|
386
|
+
}
|
|
387
|
+
writeJson({ ...response, meta: { count: response.data.deals.length }, ...hints.length > 0 ? { hints } : {} });
|
|
388
|
+
} catch (err) {
|
|
389
|
+
failAccounts(err);
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
});
|
|
393
|
+
var ENGAGEMENT_ARGS = {
|
|
394
|
+
...WINDOW_ARGS,
|
|
395
|
+
"campaign-id": { type: "string", description: "Only this campaign's companies (numeric id)", required: false },
|
|
396
|
+
limit: {
|
|
397
|
+
type: "string",
|
|
398
|
+
description: `Companies per page, 1-${ACCOUNTS_ENGAGEMENT_MAX_LIMIT} (default 500)`,
|
|
399
|
+
required: false
|
|
400
|
+
},
|
|
401
|
+
page: {
|
|
402
|
+
type: "string",
|
|
403
|
+
description: "Which page to read, 1-based, most engaged first (default 1). pageInfo.hasMore says another page follows; pageInfo.total counts every company reached",
|
|
404
|
+
required: false
|
|
405
|
+
},
|
|
406
|
+
output: OUTPUT_ARG
|
|
407
|
+
};
|
|
408
|
+
registerSchema({
|
|
409
|
+
command: "accounts.engagement",
|
|
410
|
+
description: "Every company the LinkedIn ads reached, most engaged first, with the period before for comparison, New/Rising flags, and where it stands in the CRM (matched company; dealStatus won > open > lost > none, lost meaning every deal it had was lost; lastLostAt). Default the last 3 calendar months. From the nightly sync, so it is fast and covers up to 24 months; for a live read of one ad account use `baker ads linkedin companies`. Paged: --limit companies per page, --page N; pageInfo {page, pageSize, total, hasMore}.",
|
|
411
|
+
args: ENGAGEMENT_ARGS
|
|
412
|
+
});
|
|
413
|
+
function engagementInput(args, limit) {
|
|
414
|
+
return {
|
|
415
|
+
...windowInput(args),
|
|
416
|
+
campaignId: optionalString(args["campaign-id"])?.replace(/^urn:li:sponsoredCampaign:/, ""),
|
|
417
|
+
limit: limit ?? optionalNumber(args.limit),
|
|
418
|
+
page: limit === void 0 ? optionalNumber(args.page) : void 0
|
|
419
|
+
};
|
|
420
|
+
}
|
|
421
|
+
var engagementCommand = defineCommand({
|
|
422
|
+
meta: {
|
|
423
|
+
name: "engagement",
|
|
424
|
+
description: "Companies the LinkedIn ads reached, with New/Rising flags and CRM status. Example: baker accounts engagement --last-months 3 --limit 50"
|
|
425
|
+
},
|
|
426
|
+
args: ENGAGEMENT_ARGS,
|
|
427
|
+
run: async ({ args }) => {
|
|
428
|
+
const format = outputFormat(args, TABLE_OUTPUT_FORMATS);
|
|
429
|
+
const parsed = accountsEngagementRequestSchema.safeParse(engagementInput(args));
|
|
430
|
+
if (!parsed.success) failInvalid(parsed.error.issues);
|
|
431
|
+
try {
|
|
432
|
+
const response = await apiPost("/api/accounts/engagement", parsed.data);
|
|
433
|
+
const hints = engagementHints(response.data, parsed.data);
|
|
434
|
+
if (format !== "json") {
|
|
435
|
+
writeAdsOutput(engagementTableRows(response.data.companies), format, ENGAGEMENT_TABLE_FIELDS, hints);
|
|
436
|
+
return;
|
|
437
|
+
}
|
|
438
|
+
const companies = withDealStatus(response.data.companies);
|
|
439
|
+
writeJson({
|
|
440
|
+
...response,
|
|
441
|
+
data: { ...response.data, companies },
|
|
442
|
+
meta: { count: companies.length, ...response.data.pageInfo ? { total: response.data.pageInfo.total } : {} },
|
|
443
|
+
...hints.length > 0 ? { hints } : {}
|
|
444
|
+
});
|
|
445
|
+
} catch (err) {
|
|
446
|
+
failAccounts(err);
|
|
447
|
+
}
|
|
448
|
+
}
|
|
449
|
+
});
|
|
450
|
+
var warmRuleSchema = z.object({
|
|
451
|
+
model: z.enum(INFLUENCE_MODEL_KINDS).optional(),
|
|
452
|
+
threshold: z.number().int().min(1).optional(),
|
|
453
|
+
min: z.number().int().min(0).optional()
|
|
454
|
+
});
|
|
455
|
+
var WARM_ARGS = {
|
|
456
|
+
...WINDOW_ARGS,
|
|
457
|
+
"campaign-id": ENGAGEMENT_ARGS["campaign-id"],
|
|
458
|
+
min: {
|
|
459
|
+
type: "string",
|
|
460
|
+
description: "Least a company must have done this period on the rule's metric to count as warm (default: the company's influence threshold, e.g. 3 engagements; 0 keeps every New/Rising company)",
|
|
461
|
+
required: false
|
|
462
|
+
},
|
|
463
|
+
...RULE_ARGS,
|
|
464
|
+
output: {
|
|
465
|
+
type: "string",
|
|
466
|
+
description: "json (default) or csv \u2014 csv prints companyName,domain,organizationUrn, the file `baker ads linkedin audiences create --type company-list --list-file` takes",
|
|
467
|
+
required: false,
|
|
468
|
+
default: "json"
|
|
469
|
+
}
|
|
470
|
+
};
|
|
471
|
+
registerSchema({
|
|
472
|
+
command: "accounts.warm",
|
|
473
|
+
description: "Warm accounts: companies engaging with the LinkedIn ads more than in the period before (New: nothing before; Rising: engagements at least doubled) that reached the company's influence threshold this period (e.g. 3+ engagements; --min overrides, --min 0 drops it) and are not already somebody's deal: no open deal, never won (customers are left out), and no deal lost in the last 6 months (an older loss no longer counts). Default the current calendar month against the one before. `--output csv > warm.csv` writes a company list ready for `baker ads linkedin audiences create --type company-list --list-file warm.csv` (LinkedIn needs 300+ matched members to serve).",
|
|
474
|
+
args: WARM_ARGS
|
|
475
|
+
});
|
|
476
|
+
var warmCommand = defineCommand({
|
|
477
|
+
meta: {
|
|
478
|
+
name: "warm",
|
|
479
|
+
description: "Companies warming up that are not in pipeline, customers, or recently lost. Example: baker accounts warm --last-months 1 --output csv > warm.csv"
|
|
480
|
+
},
|
|
481
|
+
args: WARM_ARGS,
|
|
482
|
+
run: async ({ args }) => {
|
|
483
|
+
const format = outputFormat(args, ["json", "csv"]);
|
|
484
|
+
const rule = warmRuleSchema.safeParse({ ...ruleInput(args), min: optionalNumber(args.min) });
|
|
485
|
+
if (!rule.success) failInvalid(rule.error.issues);
|
|
486
|
+
const input = engagementInput(args, ACCOUNTS_ENGAGEMENT_MAX_LIMIT);
|
|
487
|
+
const parsed = accountsEngagementRequestSchema.safeParse(
|
|
488
|
+
input.start === void 0 && input.lastMonths === void 0 ? { ...input, lastMonths: 1 } : input
|
|
489
|
+
);
|
|
490
|
+
if (!parsed.success) failInvalid(parsed.error.issues);
|
|
491
|
+
try {
|
|
492
|
+
const response = await apiPost("/api/accounts/engagement", parsed.data);
|
|
493
|
+
const minimum = warmMinimum(response.data.rule, rule.data);
|
|
494
|
+
const warm = warmAccounts(response.data.companies, (/* @__PURE__ */ new Date()).toISOString().slice(0, 10), { minimum });
|
|
495
|
+
const hints = warmHints(response.data, warm, minimum);
|
|
496
|
+
if (format === "csv") {
|
|
497
|
+
process.stdout.write(warmAccountsCsv(warm));
|
|
498
|
+
for (const hint of hints) process.stderr.write(`${hint}
|
|
499
|
+
`);
|
|
500
|
+
return;
|
|
501
|
+
}
|
|
502
|
+
writeJson({
|
|
503
|
+
ok: true,
|
|
504
|
+
data: {
|
|
505
|
+
window: response.data.window,
|
|
506
|
+
previousWindow: response.data.previousWindow,
|
|
507
|
+
minimum: minimum ?? null,
|
|
508
|
+
companies: withDealStatus(warm)
|
|
509
|
+
},
|
|
510
|
+
meta: { count: warm.length },
|
|
511
|
+
...hints.length > 0 ? { hints } : {}
|
|
512
|
+
});
|
|
513
|
+
} catch (err) {
|
|
514
|
+
failAccounts(err);
|
|
515
|
+
}
|
|
516
|
+
}
|
|
517
|
+
});
|
|
518
|
+
var COMPANY_ARGS = {
|
|
519
|
+
company: {
|
|
520
|
+
type: "positional",
|
|
521
|
+
description: "LinkedIn company id (1035), its urn:li:organization URN, or a website domain (acme.com)",
|
|
522
|
+
required: true
|
|
523
|
+
}
|
|
524
|
+
};
|
|
525
|
+
registerSchema({
|
|
526
|
+
command: "accounts.company",
|
|
527
|
+
description: "One company's story: its month-by-month totals (`months`), the same numbers split by LinkedIn campaign (`byCampaign` \u2014 overlapping, never add it to the totals), the CRM company it matched and how surely, and that company's deals, each with `touchValue` and `influenced` under the company's rule. Use it to show why a deal counts as influenced.",
|
|
528
|
+
args: COMPANY_ARGS
|
|
529
|
+
});
|
|
530
|
+
function companyRequest(raw) {
|
|
531
|
+
const value = raw.trim();
|
|
532
|
+
return /^(urn:li:organization:)?\d+$/.test(value) ? { orgId: value } : { domain: value };
|
|
533
|
+
}
|
|
534
|
+
var companyCommand = defineCommand({
|
|
535
|
+
meta: {
|
|
536
|
+
name: "company",
|
|
537
|
+
description: "One company's monthly LinkedIn ad activity and its deals. Example: baker accounts company acme.com"
|
|
538
|
+
},
|
|
539
|
+
args: COMPANY_ARGS,
|
|
540
|
+
run: async ({ args }) => {
|
|
541
|
+
const parsed = accountsCompanyRequestSchema.safeParse(companyRequest(String(args.company ?? "")));
|
|
542
|
+
if (!parsed.success) failInvalid(parsed.error.issues);
|
|
543
|
+
try {
|
|
544
|
+
const response = await apiPost("/api/accounts/company", parsed.data);
|
|
545
|
+
const view = companyView(response.data);
|
|
546
|
+
writeJson({ ok: true, data: view.data, ...view.hints.length > 0 ? { hints: view.hints } : {} });
|
|
547
|
+
} catch (err) {
|
|
548
|
+
failAccounts(err);
|
|
549
|
+
}
|
|
550
|
+
}
|
|
551
|
+
});
|
|
552
|
+
var CAMPAIGNS_ARGS = { basis: INFLUENCED_ARGS.basis, ...WINDOW_ARGS, ...RULE_ARGS, output: OUTPUT_ARG };
|
|
553
|
+
var CAMPAIGN_TABLE_FIELDS = [
|
|
554
|
+
"campaignId",
|
|
555
|
+
"campaignName",
|
|
556
|
+
"companiesReached",
|
|
557
|
+
"companiesEngaged",
|
|
558
|
+
"influencedDeals",
|
|
559
|
+
"influencedValue"
|
|
560
|
+
];
|
|
561
|
+
registerSchema({
|
|
562
|
+
command: "accounts.campaigns",
|
|
563
|
+
description: "Per LinkedIn campaign: companies reached and engaged in the period, and the influenced deals it touched in their lookback \u2014 pipeline (default: deals created and not won) or, with --basis revenue, deals closed won. Overlapping by design \u2014 a deal counts for every campaign that touched it, so the rows never sum to the total; read them as a comparison, not a split. Default the last 12 calendar months. --model/--threshold read it with another rule for this call only.",
|
|
564
|
+
args: CAMPAIGNS_ARGS
|
|
565
|
+
});
|
|
566
|
+
var campaignsCommand = defineCommand({
|
|
567
|
+
meta: {
|
|
568
|
+
name: "campaigns",
|
|
569
|
+
description: "Companies reached and influenced pipeline or revenue per campaign. Example: baker accounts campaigns --basis revenue --last-months 6"
|
|
570
|
+
},
|
|
571
|
+
args: CAMPAIGNS_ARGS,
|
|
572
|
+
run: async ({ args }) => {
|
|
573
|
+
const format = outputFormat(args, TABLE_OUTPUT_FORMATS);
|
|
574
|
+
const input = { basis: optionalString(args.basis), ...windowInput(args), ...ruleInput(args) };
|
|
575
|
+
const parsed = accountsCampaignsRequestSchema.safeParse(input);
|
|
576
|
+
if (!parsed.success) failInvalid(parsed.error.issues);
|
|
577
|
+
try {
|
|
578
|
+
const response = await apiPost("/api/accounts/campaigns", parsed.data);
|
|
579
|
+
const hints = ["Campaign rows overlap: a deal counts for every campaign that touched it. Never add them up."];
|
|
580
|
+
if (format !== "json") {
|
|
581
|
+
const rows = response.data.campaigns.map((row) => ({
|
|
582
|
+
...row,
|
|
583
|
+
influencedValue: moneyText(row.influencedValue)
|
|
584
|
+
}));
|
|
585
|
+
writeAdsOutput(rows, format, CAMPAIGN_TABLE_FIELDS, hints);
|
|
586
|
+
return;
|
|
587
|
+
}
|
|
588
|
+
writeJson({ ...response, meta: { count: response.data.campaigns.length }, hints });
|
|
589
|
+
} catch (err) {
|
|
590
|
+
failAccounts(err);
|
|
591
|
+
}
|
|
592
|
+
}
|
|
593
|
+
});
|
|
594
|
+
var accountsCommand = defineCommand({
|
|
595
|
+
meta: {
|
|
596
|
+
name: "accounts",
|
|
597
|
+
description: "Account insights: which companies the LinkedIn ads are warming, and which CRM deals they influenced. Start with `baker accounts influenced` or `baker accounts warm`."
|
|
598
|
+
},
|
|
599
|
+
subCommands: {
|
|
600
|
+
influenced: influencedCommand,
|
|
601
|
+
engagement: engagementCommand,
|
|
602
|
+
warm: warmCommand,
|
|
603
|
+
company: companyCommand,
|
|
604
|
+
campaigns: campaignsCommand,
|
|
605
|
+
crm: () => import("./crm-WRONZYDH.js").then((m) => m.crmCommand)
|
|
606
|
+
}
|
|
607
|
+
});
|
|
608
|
+
export {
|
|
609
|
+
accountsCommand
|
|
610
|
+
};
|
|
611
|
+
//# sourceMappingURL=accounts-QDGNTSTV.js.map
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import "./chunk-YQSBHWOI.js";
|
|
2
|
+
|
|
3
|
+
// src/commands/actions/index.ts
|
|
4
|
+
import { defineCommand } from "citty";
|
|
5
|
+
var actionsCommand = defineCommand({
|
|
6
|
+
meta: {
|
|
7
|
+
name: "actions",
|
|
8
|
+
description: `Manage action items for the current chat. Subcommands: list, log, draft, get, status, claim, release, create, update, complete, discard, reopen, assign, members, link, unlink.
|
|
9
|
+
|
|
10
|
+
Lifecycle: claim an action before working on it. Stage create/update/complete/discard/reopen/assign/link via this CLI; they apply when the chat is published. Release if you decide not to work on it after all.
|
|
11
|
+
|
|
12
|
+
Staged vs published: create/update/complete/discard/link are STAGED in this chat's draft and are invisible to \`list\`/\`status\` until the chat publishes. Review them with \`actions draft\` before finishing. To drop a staged op, use \`actions draft remove <ref>\` \u2014 never stage \`complete\` to delete a staged action (that publishes it as already-completed, leaving a duplicate).
|
|
13
|
+
|
|
14
|
+
Examples:
|
|
15
|
+
baker actions list # bucketed view of PUBLISHED actions
|
|
16
|
+
baker actions log # actions COMPLETED today, with what was done (client report)
|
|
17
|
+
baker actions log --since 7d # everything completed in the last 7 days
|
|
18
|
+
baker actions draft # review what THIS chat has staged (pre-publish)
|
|
19
|
+
baker actions draft remove temp_hero # drop a staged create (cascades its complete/link ops)
|
|
20
|
+
baker actions draft clear # drop everything staged in this chat
|
|
21
|
+
baker actions status temp_hero jx123 # batch resolve real IDs and temp_* refs
|
|
22
|
+
baker actions tags list # available tags (defaults + company custom)
|
|
23
|
+
baker actions claim <id>
|
|
24
|
+
baker actions create --name "Build hero" --tags landing,creative --description "..."
|
|
25
|
+
baker actions complete <id>
|
|
26
|
+
baker actions discard <id> --reason "obsolete"
|
|
27
|
+
baker actions reopen <id> # a completed Task back to the backlog (on publish)
|
|
28
|
+
baker actions members # who a Task can be assigned to
|
|
29
|
+
baker actions assign <id> --to maria@empresa.com # staged; --to none unassigns
|
|
30
|
+
Full guide: __tooling__/docs/tools/baker/actions.md`
|
|
31
|
+
},
|
|
32
|
+
subCommands: {
|
|
33
|
+
list: () => import("./list-VSJISE7U.js").then((m) => m.listCommand),
|
|
34
|
+
log: () => import("./log-YKKPROLZ.js").then((m) => m.logCommand),
|
|
35
|
+
draft: () => import("./draft-CN6GKVBF.js").then((m) => m.draftCommand),
|
|
36
|
+
get: () => import("./get-MDAO6I7T.js").then((m) => m.getCommand),
|
|
37
|
+
status: () => import("./status-4ODD46XY.js").then((m) => m.statusCommand),
|
|
38
|
+
claim: () => import("./claim-SVDCQ2AI.js").then((m) => m.claimCommand),
|
|
39
|
+
release: () => import("./release-ZHXYQI7G.js").then((m) => m.releaseCommand),
|
|
40
|
+
create: () => import("./create-56PTZABQ.js").then((m) => m.createCommand),
|
|
41
|
+
update: () => import("./update-CAHLAXWO.js").then((m) => m.updateCommand),
|
|
42
|
+
complete: () => import("./complete-NEH3MWRI.js").then((m) => m.completeCommand),
|
|
43
|
+
discard: () => import("./discard-XJLIXTNM.js").then((m) => m.discardCommand),
|
|
44
|
+
reopen: () => import("./reopen-NLWKK5HB.js").then((m) => m.reopenCommand),
|
|
45
|
+
assign: () => import("./assign-CLKJKH2B.js").then((m) => m.assignCommand),
|
|
46
|
+
members: () => import("./members-O3BTMRXX.js").then((m) => m.membersCommand),
|
|
47
|
+
link: () => import("./link-DDRQKOUL.js").then((m) => m.linkCommand),
|
|
48
|
+
unlink: () => import("./unlink-TPDO6JNF.js").then((m) => m.unlinkCommand),
|
|
49
|
+
tags: () => import("./tags-4N5UUUN6.js").then((m) => m.tagsCommand)
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
export {
|
|
53
|
+
actionsCommand
|
|
54
|
+
};
|
|
55
|
+
//# sourceMappingURL=actions-QL5UD2W4.js.map
|