@koda-sl/baker-cli 0.524.0-dev.3eb5500a1 → 0.524.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 +0 -19
- package/dist/account-HDSDPK4L.js +82 -0
- package/dist/account-YDA4MRIK.js +82 -0
- package/dist/account-reads-5VPDX6NF.js +219 -0
- package/dist/account-users-KWVYRT2M.js +64 -0
- package/dist/account-writes-D3ELXDOF.js +68 -0
- package/dist/accounts-6WPNPMFP.js +701 -0
- package/dist/accounts-GY7HP6ER.js +80 -0
- package/dist/actions-ATTUAZZ5.js +55 -0
- package/dist/actions-ATTUAZZ5.js.map +1 -0
- package/dist/activecampaign-A7AMIRYU.js +938 -0
- package/dist/ad-group-writes-QMLGO62B.js +172 -0
- package/dist/ad-groups-5KQWUB7J.js +70 -0
- package/dist/ad-writes-Y6BNCZGK.js +176 -0
- package/dist/add-OHYKPUG7.js +107 -0
- package/dist/add-ZEPO6CVT.js +305 -0
- package/dist/ads-F7ARRWCB.js +79 -0
- package/dist/ads-PNSXXDHI.js +48 -0
- package/dist/advertisers-523UPXDM.js +123 -0
- package/dist/analytics-4KUANCID.js +2437 -0
- package/dist/analytics-TRUVVR6I.js +447 -0
- package/dist/animate-S4KGFV36.js +480 -0
- package/dist/assign-2AW5GY3T.js +80 -0
- package/dist/audience-size-VHFMQEMF.js +76 -0
- package/dist/audiences-N6DE6EAV.js +280 -0
- package/dist/audit-WG6M3CXB.js +154 -0
- package/dist/autocomplete-WHNI5BQM.js +114 -0
- package/dist/avatars-WECPBQ4T.js +38 -0
- package/dist/bid-pricing-WVHPUM74.js +103 -0
- package/dist/brand-TNZRFKI4.js +22 -0
- package/dist/brief-F56MVJHA.js +543 -0
- package/dist/campaign-groups-OLJ5567X.js +99 -0
- package/dist/campaign-writes-2DVIWSWU.js +168 -0
- package/dist/campaign-writes-6LU3LDDY.js +176 -0
- package/dist/campaigns-7YE5UYPS.js +78 -0
- package/dist/campaigns-MJ64UJTS.js +113 -0
- package/dist/campaigns-PHSRKXVZ.js +111 -0
- package/dist/canvas-FUHHYUO7.js +46 -0
- package/dist/capabilities-5MXUVZJV.js +147 -0
- package/dist/catalog-PKYW67IO.js +65 -0
- package/dist/catalogs-2GNJYFSF.js +130 -0
- package/dist/changes-UQYFPZWO.js +135 -0
- package/dist/chatgpt-6PP4HANG.js +47 -0
- package/dist/chats-FVR35ZQ3.js +279 -0
- package/dist/check-4P2IVABH.js +107 -0
- package/dist/chunk-2BW4P45O.js +203 -0
- package/dist/chunk-3U4T4CKO.js +249 -0
- package/dist/chunk-44ZRCSR7.js +228 -0
- package/dist/chunk-46YLDIQG.js +4254 -0
- package/dist/chunk-46YLDIQG.js.map +1 -0
- package/dist/chunk-47RFRYEP.js +197 -0
- package/dist/chunk-4LV5JE4Z.js +188 -0
- package/dist/chunk-56OEYUJU.js +61 -0
- package/dist/chunk-5OQKC5AV.js +592 -0
- package/dist/chunk-65QGMY3C.js +51 -0
- package/dist/chunk-7EHBCACP.js +156 -0
- package/dist/chunk-ABK536AV.js +148 -0
- package/dist/chunk-ALTTFAER.js +377 -0
- package/dist/chunk-ARXNQRKT.js +275 -0
- package/dist/chunk-AYAVYXSL.js +638 -0
- package/dist/chunk-B65WCT6M.js +2984 -0
- package/dist/chunk-B65WCT6M.js.map +1 -0
- package/dist/chunk-BKIE7DBG.js +103 -0
- package/dist/chunk-BYNBZIHS.js +98 -0
- package/dist/chunk-CK2SDG7U.js +64 -0
- package/dist/chunk-DMGLSVZF.js +547 -0
- package/dist/chunk-EIDJCUMM.js +479 -0
- package/dist/chunk-ENGKUMTR.js +1518 -0
- package/dist/chunk-FBTECDEZ.js +163 -0
- package/dist/chunk-FLSWMHI2.js +910 -0
- package/dist/chunk-FMMSQIVK.js +122 -0
- package/dist/chunk-FZSJFSDC.js +19 -0
- package/dist/chunk-GOTPUACV.js +846 -0
- package/dist/chunk-GS4MMLXY.js +191 -0
- package/dist/chunk-GSVG7XT3.js +297 -0
- package/dist/chunk-HQYXRF7E.js +604 -0
- package/dist/chunk-HVJJEQDQ.js +7234 -0
- package/dist/chunk-HXALY3VB.js +45 -0
- package/dist/chunk-I6QJJ7OY.js +1646 -0
- package/dist/chunk-I7AYMJZA.js +783 -0
- package/dist/chunk-ICHXD4IB.js +344 -0
- package/dist/chunk-IQ3MYXCJ.js +676 -0
- package/dist/chunk-IRDKHNKO.js +142 -0
- package/dist/chunk-IXPYC4D2.js +170 -0
- package/dist/chunk-JAC6JVCI.js +26 -0
- package/dist/chunk-JWMPFTEF.js +8954 -0
- package/dist/chunk-KNSUNB2Z.js +207 -0
- package/dist/chunk-L5RAYYEF.js +225 -0
- package/dist/chunk-MCJ5I5LR.js +3187 -0
- package/dist/chunk-MCJ5I5LR.js.map +1 -0
- package/dist/chunk-MF3BTAT6.js +843 -0
- package/dist/chunk-MJ4MJZV3.js +710 -0
- package/dist/chunk-MJ4MJZV3.js.map +1 -0
- package/dist/chunk-MZPS46OR.js +76 -0
- package/dist/chunk-NHQIGCFL.js +274 -0
- package/dist/chunk-NZ42DEU7.js +3868 -0
- package/dist/chunk-OVBZ26PE.js +89 -0
- package/dist/chunk-PESH2VF7.js +494 -0
- package/dist/chunk-PWYGIUNB.js +91 -0
- package/dist/chunk-QDGDA2YD.js +66 -0
- package/dist/chunk-QKMMQPAJ.js +224 -0
- package/dist/chunk-QOOOYHMN.js +91 -0
- package/dist/chunk-R2QZBA7P.js +8914 -0
- package/dist/chunk-RL6UQXX7.js +23 -0
- package/dist/chunk-S6VFDNSQ.js +63 -0
- package/dist/chunk-SBQQHP5H.js +46 -0
- package/dist/chunk-SG2TDQEE.js +150 -0
- package/dist/chunk-SXML3LQN.js +179 -0
- package/dist/chunk-SZJKURRJ.js +5368 -0
- package/dist/chunk-UBDY5RE4.js +387 -0
- package/dist/chunk-UHQ2H3NQ.js +363 -0
- package/dist/chunk-VJINC2Q3.js +131 -0
- package/dist/chunk-VP4PO7FW.js +392 -0
- package/dist/chunk-VXXVPUBA.js +169 -0
- package/dist/chunk-W4NFBCCR.js +167 -0
- package/dist/chunk-W52LH3J3.js +429 -0
- package/dist/chunk-W5WKPVCJ.js +831 -0
- package/dist/chunk-WWLZ5RRU.js +319 -0
- package/dist/chunk-X3BOXZVP.js +1919 -0
- package/dist/chunk-Z4ZYFIDQ.js +57 -0
- package/dist/chunk-Z5PSSFN7.js +455 -0
- package/dist/chunk-ZKIWDT6R.js +942 -0
- package/dist/chunk-ZN5CI4CP.js +285 -0
- package/dist/chunk-ZRXFY2JM.js +24026 -0
- package/dist/chunk-ZRXFY2JM.js.map +1 -0
- package/dist/claim-B6IX5MUB.js +200 -0
- package/dist/cli.js +33 -34
- package/dist/cli.js.map +1 -1
- package/dist/companies-U4APTF2Z.js +198 -0
- package/dist/company-WFVBYXKK.js +308 -0
- package/dist/complete-FUPSG7MH.js +84 -0
- package/dist/complete-FUPSG7MH.js.map +1 -0
- package/dist/connect-2TWKL3DQ.js +45 -0
- package/dist/conversation-7VQ7CGVT.js +96 -0
- package/dist/conversion-report-6IQKXWFU.js +127 -0
- package/dist/conversion-upload-command-TYGIB7XJ.js +439 -0
- package/dist/conversion-writes-UQU3QJTF.js +122 -0
- package/dist/conversions-P2A6R4FG.js +140 -0
- package/dist/conversions-ZP2SKL36.js +78 -0
- package/dist/create-KE3GM4W6.js +62 -0
- package/dist/create-KKURENQ7.js +210 -0
- package/dist/create-M7OTWZ2W.js +135 -0
- package/dist/create-XLQEQYVN.js +239 -0
- package/dist/creatives-AXMG777O.js +223 -0
- package/dist/creatives-VR3N5A3X.js +58 -0
- package/dist/credentials-HTPDDOYP.js +290 -0
- package/dist/critique-EZJMYQLC.js +1451 -0
- package/dist/critique-Q5ZZ6PKB.js +232 -0
- package/dist/crm-5QOSCQWL.js +227 -0
- package/dist/crm-YLSUKW6N.js +323 -0
- package/dist/currency-SVEUNKHP.js +88 -0
- package/dist/customers-OGKISQAS.js +59 -0
- package/dist/delete-23FUCSTE.js +67 -0
- package/dist/delete-MD6QBKGM.js +69 -0
- package/dist/delete-OPIN5KCK.js +57 -0
- package/dist/demographics-AFNPWEZP.js +141 -0
- package/dist/discard-UKPRZTQT.js +69 -0
- package/dist/discover-2ZX3DYSF.js +172 -0
- package/dist/domain-6TJPO4WO.js +101 -0
- package/dist/download-TBPG3ZIH.js +172 -0
- package/dist/draft-2EO63W4K.js +308 -0
- package/dist/draft-ALSOCILF.js +310 -0
- package/dist/draft-BAWIN2IN.js +335 -0
- package/dist/draft-KYO43IJD.js +220 -0
- package/dist/draft-QUXRJRNY.js +283 -0
- package/dist/engine/index.js +7 -7
- package/dist/experiments-QXAC5BPW.js +236 -0
- package/dist/facets-7IDDCZIY.js +117 -0
- package/dist/feedback-ZWFOBIGU.js +111 -0
- package/dist/feedback-record-ZZRR4LUM.js +265 -0
- package/dist/fetch-HYGMTCHK.js +179 -0
- package/dist/fit-KDY7PZFL.js +65 -0
- package/dist/flows-U646JOQN.js +250 -0
- package/dist/fonts-6RIJJ222.js +39 -0
- package/dist/forecast-4NJXBMZV.js +121 -0
- package/dist/forecast-IECMUBL2.js +169 -0
- package/dist/funnel-OFJ5XMOU.js +397 -0
- package/dist/generate-VQTLPEYW.js +263 -0
- package/dist/get-KUOCL3IX.js +82 -0
- package/dist/get-MINQPB73.js +59 -0
- package/dist/google-LVOGKNDV.js +3267 -0
- package/dist/google-ads-RIIV4EJI.js +198 -0
- package/dist/history-7OLO7HIP.js +136 -0
- package/dist/history-JK6S5KWG.js +69 -0
- package/dist/history-VFA6IVKN.js +102 -0
- package/dist/hubspot-IMLZUTT3.js +782 -0
- package/dist/ideas-ZUXLYR6Y.js +45 -0
- package/dist/images-WNMQFAC3.js +92 -0
- package/dist/ingest-FKC5PBBE.js +110 -0
- package/dist/ingest-L5YC6U2N.js +26 -0
- package/dist/insights-7CCOJ4G6.js +132 -0
- package/dist/inspect-2XJ6LLSJ.js +192 -0
- package/dist/intent-VGQHKKNW.js +95 -0
- package/dist/keyword-gap-JKC3U3OS.js +130 -0
- package/dist/keyword-metrics-OYHBOWA3.js +200 -0
- package/dist/keywords-for-site-EUTBLXRT.js +131 -0
- package/dist/landing-PRG5PT7J.js +28 -0
- package/dist/languages-JR3RSGUP.js +40 -0
- package/dist/leads-KXCGAJ34.js +115 -0
- package/dist/learn-N2XDH4XA.js +207 -0
- package/dist/line-item-writes-4YZNT3VI.js +211 -0
- package/dist/line-items-FSQPXOKE.js +107 -0
- package/dist/link-ITXPWVMH.js +67 -0
- package/dist/linkedin-Z6M3YEAQ.js +1328 -0
- package/dist/linkedin-person-IK2MWL7Y.js +139 -0
- package/dist/list-EVIRF2CY.js +154 -0
- package/dist/list-VJRTBW6A.js +306 -0
- package/dist/list-WA3PQEWJ.js +67 -0
- package/dist/locations-N5TZTS5F.js +40 -0
- package/dist/locations-QRISCNMR.js +69 -0
- package/dist/log-VFGFY5PT.js +95 -0
- package/dist/lookup-SX6GZMO5.js +23 -0
- package/dist/make-DRWMUES6.js +1366 -0
- package/dist/map-3YMLKUNL.js +436 -0
- package/dist/mcp-MIZR2NFZ.js +729 -0
- package/dist/media-sources-RKIBHCTU.js +35 -0
- package/dist/members-XMHVOMNT.js +47 -0
- package/dist/metrics-NCSG7SLD.js +152 -0
- package/dist/models-2NPHMHN7.js +155 -0
- package/dist/normalize-PSPLM7OO.js +144 -0
- package/dist/options-5KONPMEL.js +125 -0
- package/dist/organization-BU6WIFXV.js +949 -0
- package/dist/performance-74OQO2QQ.js +27 -0
- package/dist/performance-TIA3O7YO.js +5556 -0
- package/dist/pixels-COONSHMC.js +62 -0
- package/dist/plan-RNDLIOZY.js +208 -0
- package/dist/promoted-tweet-writes-IYDFXFVR.js +183 -0
- package/dist/promoted-tweets-A42JISSP.js +119 -0
- package/dist/publish-C3NUBIID.js +344 -0
- package/dist/query-G4L42FHT.js +62 -0
- package/dist/questionnaire-7YHG733R.js +94 -0
- package/dist/reddit-VMNGERE6.js +29 -0
- package/dist/refresh-EBRMXZAC.js +97 -0
- package/dist/release-MKGBYUKY.js +63 -0
- package/dist/relevant-pages-IVHAKIOI.js +99 -0
- package/dist/remove-EHHTOC7T.js +53 -0
- package/dist/reopen-ILUWK3W3.js +66 -0
- package/dist/rerun-367PVEIF.js +95 -0
- package/dist/research-7BWH4VVV.js +72 -0
- package/dist/research-VDSOAQ77.js +265 -0
- package/dist/reset-VAKJGC3Q.js +57 -0
- package/dist/reset-X2JMHREN.js +57 -0
- package/dist/resolve-7OXBK4CU.js +124 -0
- package/dist/retry-2L2B3FOJ.js +65 -0
- package/dist/retry-GJBALRAZ.js +63 -0
- package/dist/revenue-H66XC7JC.js +91 -0
- package/dist/rules-PJJSIQWM.js +99 -0
- package/dist/rules-add-UFY7TAO3.js +465 -0
- package/dist/run-6PDML7YJ.js +70 -0
- package/dist/run-QBXFCGML.js +69 -0
- package/dist/scaffold-ad-KOBSZMKJ.js +1512 -0
- package/dist/scaffold-static-ad-2I7TXF7L.js +1010 -0
- package/dist/scaffold-video-P5UOTXWT.js +884 -0
- package/dist/schedule-JNBK267N.js +64 -0
- package/dist/scheduled-agents-274ZTTUZ.js +55 -0
- package/dist/schema-7HR57YTC.js +135 -0
- package/dist/schema-YO5VLVDS.js +69 -0
- package/dist/search-33EMRTMI.js +177 -0
- package/dist/select-3ZRWAYT7.js +106 -0
- package/dist/sends-2BR7A434.js +349 -0
- package/dist/set-prompt-SCSC7BRO.js +198 -0
- package/dist/setup-links-BEIHAXVR.js +144 -0
- package/dist/shopify-XDDDUQTQ.js +3958 -0
- package/dist/site-DWVWM3HD.js +180 -0
- package/dist/sources-74OM3T4V.js +457 -0
- package/dist/sources-O7ZOL5YR.js +30 -0
- package/dist/stale-WAKIZSQS.js +76 -0
- package/dist/status-JOIUSIE7.js +65 -0
- package/dist/studio-FJL2TIZK.js +49 -0
- package/dist/sync-XBCQXUD7.js +57 -0
- package/dist/sync-definition-2BQUWH3Y.js +69 -0
- package/dist/tags-3YUICYEG.js +227 -0
- package/dist/tags-AQ2JGXPQ.js +23 -0
- package/dist/tags-AXIDVYMK.js +23 -0
- package/dist/tags-HISOVNNV.js +23 -0
- package/dist/tags-NSCLNPLU.js +26 -0
- package/dist/targeting-criteria-DFJQKQV4.js +113 -0
- package/dist/targets-NQKCNVQ7.js +106 -0
- package/dist/testimonials-K5D2KRYK.js +32 -0
- package/dist/themes-CIXQPTFX.js +95 -0
- package/dist/top-companies-3M7H5NPQ.js +111 -0
- package/dist/transcript-CQTAZJK4.js +165 -0
- package/dist/translate-D2SJCT7D.js +600 -0
- package/dist/triggers-THBRMWM6.js +144 -0
- package/dist/unlink-WWPY4336.js +70 -0
- package/dist/unstage-HTYFDR33.js +88 -0
- package/dist/unstage-VLEPSA6I.js +96 -0
- package/dist/update-AMTTYSZP.js +66 -0
- package/dist/update-FMK63TCD.js +192 -0
- package/dist/update-HCQFGRDE.js +101 -0
- package/dist/update-N3DTFTQE.js +155 -0
- package/dist/upload-BCUR7GMG.js +129 -0
- package/dist/url-options-BSU46PR2.js +131 -0
- package/dist/url-params-YWPEV5V5.js +101 -0
- package/dist/validate-GZYVVNHQ.js +122 -0
- package/dist/videos-L5BDS2M4.js +41 -0
- package/dist/viewer-check-DBQ6T3R5.js +83 -0
- package/dist/web-62AJC2EU.js +143 -0
- package/dist/winning-ads-OHVZERTH.js +86 -0
- package/dist/write-commands-BWWXFT2R.js +1525 -0
- package/dist/x-ACDJXCOY.js +47 -0
- package/package.json +1 -1
- package/dist/account-D56ET6IW.js +0 -82
- package/dist/account-R536H7IZ.js +0 -82
- package/dist/account-reads-7ZOFEQWM.js +0 -219
- package/dist/account-users-SLFD5EF6.js +0 -64
- package/dist/account-writes-SWMDBVH4.js +0 -68
- package/dist/accounts-5AIU2BII.js +0 -80
- package/dist/accounts-X25YHBAH.js +0 -701
- package/dist/actions-WL47GZOU.js +0 -55
- package/dist/actions-WL47GZOU.js.map +0 -1
- package/dist/activecampaign-J36ZLRDG.js +0 -938
- package/dist/ad-group-writes-INFBYL3B.js +0 -172
- package/dist/ad-groups-HTVKYBPX.js +0 -70
- package/dist/ad-writes-62JZYKJ4.js +0 -176
- package/dist/add-6IU3SWQI.js +0 -305
- package/dist/add-HBZMWXRJ.js +0 -107
- package/dist/ads-JKD6VMCE.js +0 -48
- package/dist/ads-ZWNY3UY4.js +0 -79
- package/dist/advertisers-N2XLRZE6.js +0 -123
- package/dist/analytics-KUJVUDY6.js +0 -2437
- package/dist/analytics-QFZEVFVQ.js +0 -447
- package/dist/animate-ZS24SJGN.js +0 -480
- package/dist/assign-PURBKGQY.js +0 -80
- package/dist/audience-size-A5FPKEUM.js +0 -76
- package/dist/audiences-5FNTEENV.js +0 -280
- package/dist/audit-7ZGDFGET.js +0 -154
- package/dist/autocomplete-3HJBPKLV.js +0 -114
- package/dist/avatars-6BBL6L5K.js +0 -38
- package/dist/bid-pricing-GIM7LJRR.js +0 -103
- package/dist/brand-CXEH7YYF.js +0 -22
- package/dist/brief-FL6G3NTB.js +0 -543
- package/dist/campaign-groups-BNBS7QBX.js +0 -99
- package/dist/campaign-writes-MWA2FPKC.js +0 -168
- package/dist/campaign-writes-QQGI3U2P.js +0 -176
- package/dist/campaigns-42OP3HPV.js +0 -78
- package/dist/campaigns-LYIG74TQ.js +0 -113
- package/dist/campaigns-QKSDJAWD.js +0 -111
- package/dist/canvas-7SX3ZDKZ.js +0 -46
- package/dist/capabilities-FGLYVSW5.js +0 -147
- package/dist/catalog-7S3ZR3JP.js +0 -65
- package/dist/catalogs-RWAZMJHF.js +0 -130
- package/dist/changes-PMDRPRK7.js +0 -135
- package/dist/chatgpt-J2LK4NK4.js +0 -47
- package/dist/chats-EG6UCN45.js +0 -279
- package/dist/check-BC2KFBQM.js +0 -107
- package/dist/chunk-24E77GI6.js +0 -91
- package/dist/chunk-2FL7NBPT.js +0 -45
- package/dist/chunk-2PRRXTV3.js +0 -197
- package/dist/chunk-32GFGVW2.js +0 -131
- package/dist/chunk-347GRWQN.js +0 -831
- package/dist/chunk-45EERHDB.js +0 -783
- package/dist/chunk-56UWXQEN.js +0 -392
- package/dist/chunk-5N2CSLY6.js +0 -1646
- package/dist/chunk-5YN53OAA.js +0 -61
- package/dist/chunk-6K73DWA5.js +0 -275
- package/dist/chunk-6OIKNJ7G.js +0 -26
- package/dist/chunk-6TQTKC4M.js +0 -64
- package/dist/chunk-76TUVLAJ.js +0 -942
- package/dist/chunk-7EOD7RV4.js +0 -103
- package/dist/chunk-7R5WC5PM.js +0 -98
- package/dist/chunk-A5SPK37E.js +0 -19
- package/dist/chunk-AIG53YWM.js +0 -429
- package/dist/chunk-AOLRE5JO.js +0 -5368
- package/dist/chunk-BDAXBOGT.js +0 -66
- package/dist/chunk-BEHOW6DU.js +0 -169
- package/dist/chunk-BM3HTMD6.js +0 -363
- package/dist/chunk-BPUVBVKK.js +0 -122
- package/dist/chunk-CK6UMOYN.js +0 -23
- package/dist/chunk-CONB42F3.js +0 -170
- package/dist/chunk-CWZ2ODJQ.js +0 -57
- package/dist/chunk-D4U72EIE.js +0 -638
- package/dist/chunk-DJXE3M5R.js +0 -24026
- package/dist/chunk-DJXE3M5R.js.map +0 -1
- package/dist/chunk-DYOUJERF.js +0 -7234
- package/dist/chunk-EIBWWYBK.js +0 -89
- package/dist/chunk-EJHYK54S.js +0 -910
- package/dist/chunk-ETLGTUQI.js +0 -676
- package/dist/chunk-F3CZFUXZ.js +0 -3187
- package/dist/chunk-F3CZFUXZ.js.map +0 -1
- package/dist/chunk-GLUXBB6C.js +0 -156
- package/dist/chunk-GXDFLDFK.js +0 -843
- package/dist/chunk-GXSYGI77.js +0 -592
- package/dist/chunk-IAK7AB22.js +0 -46
- package/dist/chunk-IHZUSAUX.js +0 -179
- package/dist/chunk-ISDOF6KZ.js +0 -148
- package/dist/chunk-IZABTTW5.js +0 -228
- package/dist/chunk-JMQ3F5VX.js +0 -207
- package/dist/chunk-KAAYVKBH.js +0 -479
- package/dist/chunk-KZ55NULP.js +0 -494
- package/dist/chunk-LOLB3YJR.js +0 -8914
- package/dist/chunk-LP2KYY5Z.js +0 -547
- package/dist/chunk-MTV2RSGY.js +0 -63
- package/dist/chunk-MUS2UTWU.js +0 -4254
- package/dist/chunk-MUS2UTWU.js.map +0 -1
- package/dist/chunk-MZE6PLV3.js +0 -297
- package/dist/chunk-OW27W5X4.js +0 -712
- package/dist/chunk-OW27W5X4.js.map +0 -1
- package/dist/chunk-OXOC6TJC.js +0 -8954
- package/dist/chunk-PCIMC7VX.js +0 -163
- package/dist/chunk-PILLZPNC.js +0 -3020
- package/dist/chunk-PILLZPNC.js.map +0 -1
- package/dist/chunk-RESQPBSC.js +0 -455
- package/dist/chunk-RIA5RXPL.js +0 -387
- package/dist/chunk-SIKCVWM3.js +0 -76
- package/dist/chunk-SPQ7IVTJ.js +0 -225
- package/dist/chunk-TG2DC6CO.js +0 -274
- package/dist/chunk-TIYFDFLN.js +0 -191
- package/dist/chunk-TVSHBUPA.js +0 -377
- package/dist/chunk-U4BPW7ZO.js +0 -167
- package/dist/chunk-UK6AYD3V.js +0 -224
- package/dist/chunk-UMTGF43H.js +0 -249
- package/dist/chunk-URMAEVZO.js +0 -150
- package/dist/chunk-VGKDX7LP.js +0 -846
- package/dist/chunk-WEQZ563U.js +0 -319
- package/dist/chunk-XC3DYN2N.js +0 -1518
- package/dist/chunk-XGQ4XMCS.js +0 -3868
- package/dist/chunk-XH7TGLJC.js +0 -344
- package/dist/chunk-XKRCO3JC.js +0 -203
- package/dist/chunk-XL7X37UC.js +0 -188
- package/dist/chunk-XXCMIS2V.js +0 -285
- package/dist/chunk-ZLEHD3ZT.js +0 -604
- package/dist/chunk-ZQW6UZQC.js +0 -142
- package/dist/chunk-ZRAZBHTG.js +0 -1919
- package/dist/chunk-ZUXXUHZY.js +0 -91
- package/dist/chunk-ZV7I2U4T.js +0 -51
- package/dist/claim-HDRBJL5Q.js +0 -200
- package/dist/companies-A7BFDYCP.js +0 -198
- package/dist/company-7MUAN5HT.js +0 -308
- package/dist/complete-2QWJE5JP.js +0 -84
- package/dist/complete-2QWJE5JP.js.map +0 -1
- package/dist/connect-7JCP2CAX.js +0 -45
- package/dist/conversation-FKUZLUGV.js +0 -96
- package/dist/conversion-report-IHKQKNBM.js +0 -127
- package/dist/conversion-upload-command-5MOGWC26.js +0 -439
- package/dist/conversion-writes-NAJVO3WP.js +0 -122
- package/dist/conversions-5BBFXRRS.js +0 -140
- package/dist/conversions-KBFMVTII.js +0 -78
- package/dist/create-KMGTMXQE.js +0 -135
- package/dist/create-SSQ2R7Z4.js +0 -62
- package/dist/create-V7T4SFNP.js +0 -239
- package/dist/create-YUMBZ4MQ.js +0 -210
- package/dist/creatives-KPI7CSZ5.js +0 -223
- package/dist/creatives-OIEYLRXB.js +0 -58
- package/dist/credentials-4DSXDO63.js +0 -290
- package/dist/critique-AO3YXLGU.js +0 -1451
- package/dist/critique-R3D2I2O6.js +0 -232
- package/dist/crm-JSXAYQWL.js +0 -323
- package/dist/crm-VXNDN5KA.js +0 -227
- package/dist/currency-RKTYXSNH.js +0 -88
- package/dist/customers-MZWGBY4J.js +0 -59
- package/dist/delete-GQUWHFPZ.js +0 -57
- package/dist/delete-K4X4MXMC.js +0 -69
- package/dist/delete-LC6BMULH.js +0 -67
- package/dist/demographics-236FSE3G.js +0 -141
- package/dist/discard-NPSWHJZH.js +0 -69
- package/dist/discover-VL3BDJOO.js +0 -172
- package/dist/domain-JQFCOVCS.js +0 -101
- package/dist/download-H2ISXHDF.js +0 -172
- package/dist/draft-N752W2ZE.js +0 -220
- package/dist/draft-RXJVZ5WR.js +0 -310
- package/dist/draft-SOFVVDSV.js +0 -335
- package/dist/draft-UGUB35WQ.js +0 -283
- package/dist/draft-W2S6Z7ZZ.js +0 -308
- package/dist/experiments-5IC4YWGK.js +0 -236
- package/dist/facets-RCPT4627.js +0 -117
- package/dist/feedback-RH53D4TY.js +0 -111
- package/dist/feedback-record-35VOENY5.js +0 -265
- package/dist/fetch-MT4EANEF.js +0 -179
- package/dist/fit-U37JJGM5.js +0 -65
- package/dist/flows-6IY6WH42.js +0 -250
- package/dist/fonts-36GCZLVE.js +0 -39
- package/dist/forecast-KRKT6KFH.js +0 -121
- package/dist/forecast-SS4ZN3KP.js +0 -169
- package/dist/funnel-Z6LGT4CT.js +0 -397
- package/dist/generate-NWUTMT3G.js +0 -263
- package/dist/get-DWCTJFGR.js +0 -82
- package/dist/get-X4CQVJQZ.js +0 -59
- package/dist/google-6H4QGAKT.js +0 -3267
- package/dist/google-ads-7XRMT53M.js +0 -198
- package/dist/history-EIRUGQHZ.js +0 -136
- package/dist/history-HYX6YWI4.js +0 -69
- package/dist/history-JCYWRY2E.js +0 -102
- package/dist/hubspot-VLA6PKI2.js +0 -782
- package/dist/ideas-27P4HQZI.js +0 -45
- package/dist/images-YOZ3YLL2.js +0 -92
- package/dist/ingest-6Q54EZ2Y.js +0 -110
- package/dist/ingest-DW2TG6OK.js +0 -26
- package/dist/insights-7CS63UUJ.js +0 -132
- package/dist/inspect-ZOPVVXXE.js +0 -192
- package/dist/intent-XNGEMHFD.js +0 -95
- package/dist/keyword-gap-TK2BMMB3.js +0 -130
- package/dist/keyword-metrics-XJKDE25Z.js +0 -200
- package/dist/keywords-for-site-SWCA75X3.js +0 -131
- package/dist/landing-GMAUCDYC.js +0 -28
- package/dist/languages-PDXVOG5V.js +0 -40
- package/dist/lead-routes-NIAWLKYM.js +0 -733
- package/dist/lead-routes-NIAWLKYM.js.map +0 -1
- package/dist/leads-MA2PDGLB.js +0 -115
- package/dist/learn-77RDRZHO.js +0 -207
- package/dist/line-item-writes-DKRS6ANU.js +0 -211
- package/dist/line-items-R5EID7EC.js +0 -107
- package/dist/link-MK67UR6N.js +0 -67
- package/dist/linkedin-4X57MIAN.js +0 -1328
- package/dist/linkedin-person-XXVK3DJW.js +0 -139
- package/dist/list-45MXHBTK.js +0 -154
- package/dist/list-PQ3CQV74.js +0 -67
- package/dist/list-VWWJOAGX.js +0 -306
- package/dist/locations-7T4U5RDB.js +0 -40
- package/dist/locations-E4XIZVAB.js +0 -69
- package/dist/log-RHF535KO.js +0 -95
- package/dist/lookup-Q6TLACOT.js +0 -23
- package/dist/make-RSNKIYPN.js +0 -1366
- package/dist/map-GM3MZLPC.js +0 -436
- package/dist/mcp-XT7EIY77.js +0 -729
- package/dist/media-sources-A4BDXKCY.js +0 -35
- package/dist/members-FJFYPWOC.js +0 -47
- package/dist/metrics-MQ4H74R7.js +0 -152
- package/dist/models-64UHXEON.js +0 -155
- package/dist/normalize-ATKIWTZN.js +0 -144
- package/dist/options-Q5VYCXVZ.js +0 -125
- package/dist/organization-TX736WKT.js +0 -949
- package/dist/performance-3YY4YWX5.js +0 -27
- package/dist/performance-GIYI3N4X.js +0 -5556
- package/dist/pixels-UBKSXMN3.js +0 -62
- package/dist/plan-T3MJKFAM.js +0 -208
- package/dist/promoted-tweet-writes-2AO5GRUC.js +0 -183
- package/dist/promoted-tweets-XF7FL3J4.js +0 -119
- package/dist/publish-H54LNDCJ.js +0 -344
- package/dist/query-TPKGR2UQ.js +0 -62
- package/dist/questionnaire-BFYEO57P.js +0 -94
- package/dist/reddit-TPEGEBHQ.js +0 -29
- package/dist/refresh-WZFQMCBO.js +0 -97
- package/dist/release-M4XTMFXE.js +0 -63
- package/dist/relevant-pages-HMYBVWNR.js +0 -99
- package/dist/remove-XS6BH7RQ.js +0 -53
- package/dist/reopen-K4BRTGEJ.js +0 -66
- package/dist/rerun-PE6GNTCI.js +0 -95
- package/dist/research-IWSBNIFT.js +0 -72
- package/dist/research-XWQUJMBR.js +0 -265
- package/dist/reset-FMZ3R6Y4.js +0 -57
- package/dist/reset-JQO7EK5G.js +0 -57
- package/dist/resolve-Y4CMZU35.js +0 -124
- package/dist/retry-H64XQ4NC.js +0 -63
- package/dist/retry-OR2YQOZT.js +0 -65
- package/dist/revenue-W7AXXQ7K.js +0 -91
- package/dist/rules-PMLZKICG.js +0 -99
- package/dist/rules-add-263D2LQY.js +0 -465
- package/dist/run-A2MJEURT.js +0 -69
- package/dist/run-MKZMTMRT.js +0 -70
- package/dist/scaffold-ad-HISG6L46.js +0 -1512
- package/dist/scaffold-static-ad-MW3JMMDU.js +0 -1010
- package/dist/scaffold-video-QYXBYFTQ.js +0 -884
- package/dist/schedule-UA5RXNZ2.js +0 -64
- package/dist/scheduled-agents-YIKWS5CO.js +0 -55
- package/dist/schema-IKSQHB3S.js +0 -135
- package/dist/schema-M44S4TPF.js +0 -69
- package/dist/search-ZQV7SM7W.js +0 -177
- package/dist/select-VTWL2NMR.js +0 -106
- package/dist/sends-CAQ42KOR.js +0 -349
- package/dist/set-prompt-2V4UPUKW.js +0 -198
- package/dist/setup-links-PBWJYOD2.js +0 -144
- package/dist/shopify-VQYRSXVS.js +0 -3958
- package/dist/site-GYJYYMYH.js +0 -180
- package/dist/sources-3NA3ZB75.js +0 -457
- package/dist/sources-UMYCW35T.js +0 -30
- package/dist/stale-54NIICZG.js +0 -76
- package/dist/status-CRZCFN5W.js +0 -65
- package/dist/studio-2VGYFGS4.js +0 -49
- package/dist/sync-K4KLGMJR.js +0 -57
- package/dist/sync-definition-TK5Z3ISW.js +0 -69
- package/dist/tags-7SNORKEL.js +0 -23
- package/dist/tags-HCTVWQI7.js +0 -23
- package/dist/tags-HD4NPLTY.js +0 -23
- package/dist/tags-HOIYE6JK.js +0 -26
- package/dist/tags-XUJPIGIE.js +0 -227
- package/dist/targeting-criteria-EN6MZR7O.js +0 -113
- package/dist/targets-XIZJSYCM.js +0 -106
- package/dist/testimonials-UOSKSII2.js +0 -32
- package/dist/themes-3TW3WDLZ.js +0 -95
- package/dist/top-companies-2PZH6RG3.js +0 -111
- package/dist/transcript-M6J4MYXK.js +0 -165
- package/dist/translate-V5RCXHB3.js +0 -600
- package/dist/triggers-E3XWB4EZ.js +0 -144
- package/dist/unlink-OIMMKPRN.js +0 -70
- package/dist/unstage-SP32LXDY.js +0 -88
- package/dist/unstage-XN3VC7LZ.js +0 -96
- package/dist/update-2GAPIRWU.js +0 -192
- package/dist/update-H7SAAZ3Z.js +0 -155
- package/dist/update-LXIHAKQ5.js +0 -66
- package/dist/update-NKNWGXFC.js +0 -101
- package/dist/upload-7RPI4DLV.js +0 -129
- package/dist/url-options-TUU37JHG.js +0 -131
- package/dist/url-params-RJSXPKA3.js +0 -101
- package/dist/validate-6SZ4B3QA.js +0 -122
- package/dist/videos-PUOP3G23.js +0 -41
- package/dist/viewer-check-BLM3ZLLH.js +0 -83
- package/dist/web-YUBTKG6V.js +0 -143
- package/dist/winning-ads-MVSHJFYV.js +0 -86
- package/dist/write-commands-ZXTABQKK.js +0 -1525
- package/dist/x-7K2VKYXQ.js +0 -47
- /package/dist/{account-D56ET6IW.js.map → account-HDSDPK4L.js.map} +0 -0
- /package/dist/{account-R536H7IZ.js.map → account-YDA4MRIK.js.map} +0 -0
- /package/dist/{account-reads-7ZOFEQWM.js.map → account-reads-5VPDX6NF.js.map} +0 -0
- /package/dist/{account-users-SLFD5EF6.js.map → account-users-KWVYRT2M.js.map} +0 -0
- /package/dist/{account-writes-SWMDBVH4.js.map → account-writes-D3ELXDOF.js.map} +0 -0
- /package/dist/{accounts-X25YHBAH.js.map → accounts-6WPNPMFP.js.map} +0 -0
- /package/dist/{accounts-5AIU2BII.js.map → accounts-GY7HP6ER.js.map} +0 -0
- /package/dist/{activecampaign-J36ZLRDG.js.map → activecampaign-A7AMIRYU.js.map} +0 -0
- /package/dist/{ad-group-writes-INFBYL3B.js.map → ad-group-writes-QMLGO62B.js.map} +0 -0
- /package/dist/{ad-groups-HTVKYBPX.js.map → ad-groups-5KQWUB7J.js.map} +0 -0
- /package/dist/{ad-writes-62JZYKJ4.js.map → ad-writes-Y6BNCZGK.js.map} +0 -0
- /package/dist/{add-HBZMWXRJ.js.map → add-OHYKPUG7.js.map} +0 -0
- /package/dist/{add-6IU3SWQI.js.map → add-ZEPO6CVT.js.map} +0 -0
- /package/dist/{ads-ZWNY3UY4.js.map → ads-F7ARRWCB.js.map} +0 -0
- /package/dist/{ads-JKD6VMCE.js.map → ads-PNSXXDHI.js.map} +0 -0
- /package/dist/{advertisers-N2XLRZE6.js.map → advertisers-523UPXDM.js.map} +0 -0
- /package/dist/{analytics-KUJVUDY6.js.map → analytics-4KUANCID.js.map} +0 -0
- /package/dist/{analytics-QFZEVFVQ.js.map → analytics-TRUVVR6I.js.map} +0 -0
- /package/dist/{animate-ZS24SJGN.js.map → animate-S4KGFV36.js.map} +0 -0
- /package/dist/{assign-PURBKGQY.js.map → assign-2AW5GY3T.js.map} +0 -0
- /package/dist/{audience-size-A5FPKEUM.js.map → audience-size-VHFMQEMF.js.map} +0 -0
- /package/dist/{audiences-5FNTEENV.js.map → audiences-N6DE6EAV.js.map} +0 -0
- /package/dist/{audit-7ZGDFGET.js.map → audit-WG6M3CXB.js.map} +0 -0
- /package/dist/{autocomplete-3HJBPKLV.js.map → autocomplete-WHNI5BQM.js.map} +0 -0
- /package/dist/{avatars-6BBL6L5K.js.map → avatars-WECPBQ4T.js.map} +0 -0
- /package/dist/{bid-pricing-GIM7LJRR.js.map → bid-pricing-WVHPUM74.js.map} +0 -0
- /package/dist/{brand-CXEH7YYF.js.map → brand-TNZRFKI4.js.map} +0 -0
- /package/dist/{brief-FL6G3NTB.js.map → brief-F56MVJHA.js.map} +0 -0
- /package/dist/{campaign-groups-BNBS7QBX.js.map → campaign-groups-OLJ5567X.js.map} +0 -0
- /package/dist/{campaign-writes-MWA2FPKC.js.map → campaign-writes-2DVIWSWU.js.map} +0 -0
- /package/dist/{campaign-writes-QQGI3U2P.js.map → campaign-writes-6LU3LDDY.js.map} +0 -0
- /package/dist/{campaigns-42OP3HPV.js.map → campaigns-7YE5UYPS.js.map} +0 -0
- /package/dist/{campaigns-LYIG74TQ.js.map → campaigns-MJ64UJTS.js.map} +0 -0
- /package/dist/{campaigns-QKSDJAWD.js.map → campaigns-PHSRKXVZ.js.map} +0 -0
- /package/dist/{canvas-7SX3ZDKZ.js.map → canvas-FUHHYUO7.js.map} +0 -0
- /package/dist/{capabilities-FGLYVSW5.js.map → capabilities-5MXUVZJV.js.map} +0 -0
- /package/dist/{catalog-7S3ZR3JP.js.map → catalog-PKYW67IO.js.map} +0 -0
- /package/dist/{catalogs-RWAZMJHF.js.map → catalogs-2GNJYFSF.js.map} +0 -0
- /package/dist/{changes-PMDRPRK7.js.map → changes-UQYFPZWO.js.map} +0 -0
- /package/dist/{chatgpt-J2LK4NK4.js.map → chatgpt-6PP4HANG.js.map} +0 -0
- /package/dist/{chats-EG6UCN45.js.map → chats-FVR35ZQ3.js.map} +0 -0
- /package/dist/{check-BC2KFBQM.js.map → check-4P2IVABH.js.map} +0 -0
- /package/dist/{chunk-XKRCO3JC.js.map → chunk-2BW4P45O.js.map} +0 -0
- /package/dist/{chunk-UMTGF43H.js.map → chunk-3U4T4CKO.js.map} +0 -0
- /package/dist/{chunk-IZABTTW5.js.map → chunk-44ZRCSR7.js.map} +0 -0
- /package/dist/{chunk-2PRRXTV3.js.map → chunk-47RFRYEP.js.map} +0 -0
- /package/dist/{chunk-XL7X37UC.js.map → chunk-4LV5JE4Z.js.map} +0 -0
- /package/dist/{chunk-5YN53OAA.js.map → chunk-56OEYUJU.js.map} +0 -0
- /package/dist/{chunk-GXSYGI77.js.map → chunk-5OQKC5AV.js.map} +0 -0
- /package/dist/{chunk-ZV7I2U4T.js.map → chunk-65QGMY3C.js.map} +0 -0
- /package/dist/{chunk-GLUXBB6C.js.map → chunk-7EHBCACP.js.map} +0 -0
- /package/dist/{chunk-ISDOF6KZ.js.map → chunk-ABK536AV.js.map} +0 -0
- /package/dist/{chunk-TVSHBUPA.js.map → chunk-ALTTFAER.js.map} +0 -0
- /package/dist/{chunk-6K73DWA5.js.map → chunk-ARXNQRKT.js.map} +0 -0
- /package/dist/{chunk-D4U72EIE.js.map → chunk-AYAVYXSL.js.map} +0 -0
- /package/dist/{chunk-7EOD7RV4.js.map → chunk-BKIE7DBG.js.map} +0 -0
- /package/dist/{chunk-7R5WC5PM.js.map → chunk-BYNBZIHS.js.map} +0 -0
- /package/dist/{chunk-6TQTKC4M.js.map → chunk-CK2SDG7U.js.map} +0 -0
- /package/dist/{chunk-LP2KYY5Z.js.map → chunk-DMGLSVZF.js.map} +0 -0
- /package/dist/{chunk-KAAYVKBH.js.map → chunk-EIDJCUMM.js.map} +0 -0
- /package/dist/{chunk-XC3DYN2N.js.map → chunk-ENGKUMTR.js.map} +0 -0
- /package/dist/{chunk-PCIMC7VX.js.map → chunk-FBTECDEZ.js.map} +0 -0
- /package/dist/{chunk-EJHYK54S.js.map → chunk-FLSWMHI2.js.map} +0 -0
- /package/dist/{chunk-BPUVBVKK.js.map → chunk-FMMSQIVK.js.map} +0 -0
- /package/dist/{chunk-A5SPK37E.js.map → chunk-FZSJFSDC.js.map} +0 -0
- /package/dist/{chunk-VGKDX7LP.js.map → chunk-GOTPUACV.js.map} +0 -0
- /package/dist/{chunk-TIYFDFLN.js.map → chunk-GS4MMLXY.js.map} +0 -0
- /package/dist/{chunk-MZE6PLV3.js.map → chunk-GSVG7XT3.js.map} +0 -0
- /package/dist/{chunk-ZLEHD3ZT.js.map → chunk-HQYXRF7E.js.map} +0 -0
- /package/dist/{chunk-DYOUJERF.js.map → chunk-HVJJEQDQ.js.map} +0 -0
- /package/dist/{chunk-2FL7NBPT.js.map → chunk-HXALY3VB.js.map} +0 -0
- /package/dist/{chunk-5N2CSLY6.js.map → chunk-I6QJJ7OY.js.map} +0 -0
- /package/dist/{chunk-45EERHDB.js.map → chunk-I7AYMJZA.js.map} +0 -0
- /package/dist/{chunk-XH7TGLJC.js.map → chunk-ICHXD4IB.js.map} +0 -0
- /package/dist/{chunk-ETLGTUQI.js.map → chunk-IQ3MYXCJ.js.map} +0 -0
- /package/dist/{chunk-ZQW6UZQC.js.map → chunk-IRDKHNKO.js.map} +0 -0
- /package/dist/{chunk-CONB42F3.js.map → chunk-IXPYC4D2.js.map} +0 -0
- /package/dist/{chunk-6OIKNJ7G.js.map → chunk-JAC6JVCI.js.map} +0 -0
- /package/dist/{chunk-OXOC6TJC.js.map → chunk-JWMPFTEF.js.map} +0 -0
- /package/dist/{chunk-JMQ3F5VX.js.map → chunk-KNSUNB2Z.js.map} +0 -0
- /package/dist/{chunk-SPQ7IVTJ.js.map → chunk-L5RAYYEF.js.map} +0 -0
- /package/dist/{chunk-GXDFLDFK.js.map → chunk-MF3BTAT6.js.map} +0 -0
- /package/dist/{chunk-SIKCVWM3.js.map → chunk-MZPS46OR.js.map} +0 -0
- /package/dist/{chunk-TG2DC6CO.js.map → chunk-NHQIGCFL.js.map} +0 -0
- /package/dist/{chunk-XGQ4XMCS.js.map → chunk-NZ42DEU7.js.map} +0 -0
- /package/dist/{chunk-EIBWWYBK.js.map → chunk-OVBZ26PE.js.map} +0 -0
- /package/dist/{chunk-KZ55NULP.js.map → chunk-PESH2VF7.js.map} +0 -0
- /package/dist/{chunk-ZUXXUHZY.js.map → chunk-PWYGIUNB.js.map} +0 -0
- /package/dist/{chunk-BDAXBOGT.js.map → chunk-QDGDA2YD.js.map} +0 -0
- /package/dist/{chunk-UK6AYD3V.js.map → chunk-QKMMQPAJ.js.map} +0 -0
- /package/dist/{chunk-24E77GI6.js.map → chunk-QOOOYHMN.js.map} +0 -0
- /package/dist/{chunk-LOLB3YJR.js.map → chunk-R2QZBA7P.js.map} +0 -0
- /package/dist/{chunk-CK6UMOYN.js.map → chunk-RL6UQXX7.js.map} +0 -0
- /package/dist/{chunk-MTV2RSGY.js.map → chunk-S6VFDNSQ.js.map} +0 -0
- /package/dist/{chunk-IAK7AB22.js.map → chunk-SBQQHP5H.js.map} +0 -0
- /package/dist/{chunk-URMAEVZO.js.map → chunk-SG2TDQEE.js.map} +0 -0
- /package/dist/{chunk-IHZUSAUX.js.map → chunk-SXML3LQN.js.map} +0 -0
- /package/dist/{chunk-AOLRE5JO.js.map → chunk-SZJKURRJ.js.map} +0 -0
- /package/dist/{chunk-RIA5RXPL.js.map → chunk-UBDY5RE4.js.map} +0 -0
- /package/dist/{chunk-BM3HTMD6.js.map → chunk-UHQ2H3NQ.js.map} +0 -0
- /package/dist/{chunk-32GFGVW2.js.map → chunk-VJINC2Q3.js.map} +0 -0
- /package/dist/{chunk-56UWXQEN.js.map → chunk-VP4PO7FW.js.map} +0 -0
- /package/dist/{chunk-BEHOW6DU.js.map → chunk-VXXVPUBA.js.map} +0 -0
- /package/dist/{chunk-U4BPW7ZO.js.map → chunk-W4NFBCCR.js.map} +0 -0
- /package/dist/{chunk-AIG53YWM.js.map → chunk-W52LH3J3.js.map} +0 -0
- /package/dist/{chunk-347GRWQN.js.map → chunk-W5WKPVCJ.js.map} +0 -0
- /package/dist/{chunk-WEQZ563U.js.map → chunk-WWLZ5RRU.js.map} +0 -0
- /package/dist/{chunk-ZRAZBHTG.js.map → chunk-X3BOXZVP.js.map} +0 -0
- /package/dist/{chunk-CWZ2ODJQ.js.map → chunk-Z4ZYFIDQ.js.map} +0 -0
- /package/dist/{chunk-RESQPBSC.js.map → chunk-Z5PSSFN7.js.map} +0 -0
- /package/dist/{chunk-76TUVLAJ.js.map → chunk-ZKIWDT6R.js.map} +0 -0
- /package/dist/{chunk-XXCMIS2V.js.map → chunk-ZN5CI4CP.js.map} +0 -0
- /package/dist/{claim-HDRBJL5Q.js.map → claim-B6IX5MUB.js.map} +0 -0
- /package/dist/{companies-A7BFDYCP.js.map → companies-U4APTF2Z.js.map} +0 -0
- /package/dist/{company-7MUAN5HT.js.map → company-WFVBYXKK.js.map} +0 -0
- /package/dist/{connect-7JCP2CAX.js.map → connect-2TWKL3DQ.js.map} +0 -0
- /package/dist/{conversation-FKUZLUGV.js.map → conversation-7VQ7CGVT.js.map} +0 -0
- /package/dist/{conversion-report-IHKQKNBM.js.map → conversion-report-6IQKXWFU.js.map} +0 -0
- /package/dist/{conversion-upload-command-5MOGWC26.js.map → conversion-upload-command-TYGIB7XJ.js.map} +0 -0
- /package/dist/{conversion-writes-NAJVO3WP.js.map → conversion-writes-UQU3QJTF.js.map} +0 -0
- /package/dist/{conversions-5BBFXRRS.js.map → conversions-P2A6R4FG.js.map} +0 -0
- /package/dist/{conversions-KBFMVTII.js.map → conversions-ZP2SKL36.js.map} +0 -0
- /package/dist/{create-SSQ2R7Z4.js.map → create-KE3GM4W6.js.map} +0 -0
- /package/dist/{create-YUMBZ4MQ.js.map → create-KKURENQ7.js.map} +0 -0
- /package/dist/{create-KMGTMXQE.js.map → create-M7OTWZ2W.js.map} +0 -0
- /package/dist/{create-V7T4SFNP.js.map → create-XLQEQYVN.js.map} +0 -0
- /package/dist/{creatives-KPI7CSZ5.js.map → creatives-AXMG777O.js.map} +0 -0
- /package/dist/{creatives-OIEYLRXB.js.map → creatives-VR3N5A3X.js.map} +0 -0
- /package/dist/{credentials-4DSXDO63.js.map → credentials-HTPDDOYP.js.map} +0 -0
- /package/dist/{critique-AO3YXLGU.js.map → critique-EZJMYQLC.js.map} +0 -0
- /package/dist/{critique-R3D2I2O6.js.map → critique-Q5ZZ6PKB.js.map} +0 -0
- /package/dist/{crm-VXNDN5KA.js.map → crm-5QOSCQWL.js.map} +0 -0
- /package/dist/{crm-JSXAYQWL.js.map → crm-YLSUKW6N.js.map} +0 -0
- /package/dist/{currency-RKTYXSNH.js.map → currency-SVEUNKHP.js.map} +0 -0
- /package/dist/{customers-MZWGBY4J.js.map → customers-OGKISQAS.js.map} +0 -0
- /package/dist/{delete-LC6BMULH.js.map → delete-23FUCSTE.js.map} +0 -0
- /package/dist/{delete-K4X4MXMC.js.map → delete-MD6QBKGM.js.map} +0 -0
- /package/dist/{delete-GQUWHFPZ.js.map → delete-OPIN5KCK.js.map} +0 -0
- /package/dist/{demographics-236FSE3G.js.map → demographics-AFNPWEZP.js.map} +0 -0
- /package/dist/{discard-NPSWHJZH.js.map → discard-UKPRZTQT.js.map} +0 -0
- /package/dist/{discover-VL3BDJOO.js.map → discover-2ZX3DYSF.js.map} +0 -0
- /package/dist/{domain-JQFCOVCS.js.map → domain-6TJPO4WO.js.map} +0 -0
- /package/dist/{download-H2ISXHDF.js.map → download-TBPG3ZIH.js.map} +0 -0
- /package/dist/{draft-W2S6Z7ZZ.js.map → draft-2EO63W4K.js.map} +0 -0
- /package/dist/{draft-RXJVZ5WR.js.map → draft-ALSOCILF.js.map} +0 -0
- /package/dist/{draft-SOFVVDSV.js.map → draft-BAWIN2IN.js.map} +0 -0
- /package/dist/{draft-N752W2ZE.js.map → draft-KYO43IJD.js.map} +0 -0
- /package/dist/{draft-UGUB35WQ.js.map → draft-QUXRJRNY.js.map} +0 -0
- /package/dist/{experiments-5IC4YWGK.js.map → experiments-QXAC5BPW.js.map} +0 -0
- /package/dist/{facets-RCPT4627.js.map → facets-7IDDCZIY.js.map} +0 -0
- /package/dist/{feedback-RH53D4TY.js.map → feedback-ZWFOBIGU.js.map} +0 -0
- /package/dist/{feedback-record-35VOENY5.js.map → feedback-record-ZZRR4LUM.js.map} +0 -0
- /package/dist/{fetch-MT4EANEF.js.map → fetch-HYGMTCHK.js.map} +0 -0
- /package/dist/{fit-U37JJGM5.js.map → fit-KDY7PZFL.js.map} +0 -0
- /package/dist/{flows-6IY6WH42.js.map → flows-U646JOQN.js.map} +0 -0
- /package/dist/{fonts-36GCZLVE.js.map → fonts-6RIJJ222.js.map} +0 -0
- /package/dist/{forecast-KRKT6KFH.js.map → forecast-4NJXBMZV.js.map} +0 -0
- /package/dist/{forecast-SS4ZN3KP.js.map → forecast-IECMUBL2.js.map} +0 -0
- /package/dist/{funnel-Z6LGT4CT.js.map → funnel-OFJ5XMOU.js.map} +0 -0
- /package/dist/{generate-NWUTMT3G.js.map → generate-VQTLPEYW.js.map} +0 -0
- /package/dist/{get-DWCTJFGR.js.map → get-KUOCL3IX.js.map} +0 -0
- /package/dist/{get-X4CQVJQZ.js.map → get-MINQPB73.js.map} +0 -0
- /package/dist/{google-6H4QGAKT.js.map → google-LVOGKNDV.js.map} +0 -0
- /package/dist/{google-ads-7XRMT53M.js.map → google-ads-RIIV4EJI.js.map} +0 -0
- /package/dist/{history-EIRUGQHZ.js.map → history-7OLO7HIP.js.map} +0 -0
- /package/dist/{history-HYX6YWI4.js.map → history-JK6S5KWG.js.map} +0 -0
- /package/dist/{history-JCYWRY2E.js.map → history-VFA6IVKN.js.map} +0 -0
- /package/dist/{hubspot-VLA6PKI2.js.map → hubspot-IMLZUTT3.js.map} +0 -0
- /package/dist/{ideas-27P4HQZI.js.map → ideas-ZUXLYR6Y.js.map} +0 -0
- /package/dist/{images-YOZ3YLL2.js.map → images-WNMQFAC3.js.map} +0 -0
- /package/dist/{ingest-6Q54EZ2Y.js.map → ingest-FKC5PBBE.js.map} +0 -0
- /package/dist/{ingest-DW2TG6OK.js.map → ingest-L5YC6U2N.js.map} +0 -0
- /package/dist/{insights-7CS63UUJ.js.map → insights-7CCOJ4G6.js.map} +0 -0
- /package/dist/{inspect-ZOPVVXXE.js.map → inspect-2XJ6LLSJ.js.map} +0 -0
- /package/dist/{intent-XNGEMHFD.js.map → intent-VGQHKKNW.js.map} +0 -0
- /package/dist/{keyword-gap-TK2BMMB3.js.map → keyword-gap-JKC3U3OS.js.map} +0 -0
- /package/dist/{keyword-metrics-XJKDE25Z.js.map → keyword-metrics-OYHBOWA3.js.map} +0 -0
- /package/dist/{keywords-for-site-SWCA75X3.js.map → keywords-for-site-EUTBLXRT.js.map} +0 -0
- /package/dist/{landing-GMAUCDYC.js.map → landing-PRG5PT7J.js.map} +0 -0
- /package/dist/{languages-PDXVOG5V.js.map → languages-JR3RSGUP.js.map} +0 -0
- /package/dist/{leads-MA2PDGLB.js.map → leads-KXCGAJ34.js.map} +0 -0
- /package/dist/{learn-77RDRZHO.js.map → learn-N2XDH4XA.js.map} +0 -0
- /package/dist/{line-item-writes-DKRS6ANU.js.map → line-item-writes-4YZNT3VI.js.map} +0 -0
- /package/dist/{line-items-R5EID7EC.js.map → line-items-FSQPXOKE.js.map} +0 -0
- /package/dist/{link-MK67UR6N.js.map → link-ITXPWVMH.js.map} +0 -0
- /package/dist/{linkedin-4X57MIAN.js.map → linkedin-Z6M3YEAQ.js.map} +0 -0
- /package/dist/{linkedin-person-XXVK3DJW.js.map → linkedin-person-IK2MWL7Y.js.map} +0 -0
- /package/dist/{list-45MXHBTK.js.map → list-EVIRF2CY.js.map} +0 -0
- /package/dist/{list-VWWJOAGX.js.map → list-VJRTBW6A.js.map} +0 -0
- /package/dist/{list-PQ3CQV74.js.map → list-WA3PQEWJ.js.map} +0 -0
- /package/dist/{locations-7T4U5RDB.js.map → locations-N5TZTS5F.js.map} +0 -0
- /package/dist/{locations-E4XIZVAB.js.map → locations-QRISCNMR.js.map} +0 -0
- /package/dist/{log-RHF535KO.js.map → log-VFGFY5PT.js.map} +0 -0
- /package/dist/{lookup-Q6TLACOT.js.map → lookup-SX6GZMO5.js.map} +0 -0
- /package/dist/{make-RSNKIYPN.js.map → make-DRWMUES6.js.map} +0 -0
- /package/dist/{map-GM3MZLPC.js.map → map-3YMLKUNL.js.map} +0 -0
- /package/dist/{mcp-XT7EIY77.js.map → mcp-MIZR2NFZ.js.map} +0 -0
- /package/dist/{media-sources-A4BDXKCY.js.map → media-sources-RKIBHCTU.js.map} +0 -0
- /package/dist/{members-FJFYPWOC.js.map → members-XMHVOMNT.js.map} +0 -0
- /package/dist/{metrics-MQ4H74R7.js.map → metrics-NCSG7SLD.js.map} +0 -0
- /package/dist/{models-64UHXEON.js.map → models-2NPHMHN7.js.map} +0 -0
- /package/dist/{normalize-ATKIWTZN.js.map → normalize-PSPLM7OO.js.map} +0 -0
- /package/dist/{options-Q5VYCXVZ.js.map → options-5KONPMEL.js.map} +0 -0
- /package/dist/{organization-TX736WKT.js.map → organization-BU6WIFXV.js.map} +0 -0
- /package/dist/{performance-3YY4YWX5.js.map → performance-74OQO2QQ.js.map} +0 -0
- /package/dist/{performance-GIYI3N4X.js.map → performance-TIA3O7YO.js.map} +0 -0
- /package/dist/{pixels-UBKSXMN3.js.map → pixels-COONSHMC.js.map} +0 -0
- /package/dist/{plan-T3MJKFAM.js.map → plan-RNDLIOZY.js.map} +0 -0
- /package/dist/{promoted-tweet-writes-2AO5GRUC.js.map → promoted-tweet-writes-IYDFXFVR.js.map} +0 -0
- /package/dist/{promoted-tweets-XF7FL3J4.js.map → promoted-tweets-A42JISSP.js.map} +0 -0
- /package/dist/{publish-H54LNDCJ.js.map → publish-C3NUBIID.js.map} +0 -0
- /package/dist/{query-TPKGR2UQ.js.map → query-G4L42FHT.js.map} +0 -0
- /package/dist/{questionnaire-BFYEO57P.js.map → questionnaire-7YHG733R.js.map} +0 -0
- /package/dist/{reddit-TPEGEBHQ.js.map → reddit-VMNGERE6.js.map} +0 -0
- /package/dist/{refresh-WZFQMCBO.js.map → refresh-EBRMXZAC.js.map} +0 -0
- /package/dist/{release-M4XTMFXE.js.map → release-MKGBYUKY.js.map} +0 -0
- /package/dist/{relevant-pages-HMYBVWNR.js.map → relevant-pages-IVHAKIOI.js.map} +0 -0
- /package/dist/{remove-XS6BH7RQ.js.map → remove-EHHTOC7T.js.map} +0 -0
- /package/dist/{reopen-K4BRTGEJ.js.map → reopen-ILUWK3W3.js.map} +0 -0
- /package/dist/{rerun-PE6GNTCI.js.map → rerun-367PVEIF.js.map} +0 -0
- /package/dist/{research-IWSBNIFT.js.map → research-7BWH4VVV.js.map} +0 -0
- /package/dist/{research-XWQUJMBR.js.map → research-VDSOAQ77.js.map} +0 -0
- /package/dist/{reset-FMZ3R6Y4.js.map → reset-VAKJGC3Q.js.map} +0 -0
- /package/dist/{reset-JQO7EK5G.js.map → reset-X2JMHREN.js.map} +0 -0
- /package/dist/{resolve-Y4CMZU35.js.map → resolve-7OXBK4CU.js.map} +0 -0
- /package/dist/{retry-OR2YQOZT.js.map → retry-2L2B3FOJ.js.map} +0 -0
- /package/dist/{retry-H64XQ4NC.js.map → retry-GJBALRAZ.js.map} +0 -0
- /package/dist/{revenue-W7AXXQ7K.js.map → revenue-H66XC7JC.js.map} +0 -0
- /package/dist/{rules-PMLZKICG.js.map → rules-PJJSIQWM.js.map} +0 -0
- /package/dist/{rules-add-263D2LQY.js.map → rules-add-UFY7TAO3.js.map} +0 -0
- /package/dist/{run-MKZMTMRT.js.map → run-6PDML7YJ.js.map} +0 -0
- /package/dist/{run-A2MJEURT.js.map → run-QBXFCGML.js.map} +0 -0
- /package/dist/{scaffold-ad-HISG6L46.js.map → scaffold-ad-KOBSZMKJ.js.map} +0 -0
- /package/dist/{scaffold-static-ad-MW3JMMDU.js.map → scaffold-static-ad-2I7TXF7L.js.map} +0 -0
- /package/dist/{scaffold-video-QYXBYFTQ.js.map → scaffold-video-P5UOTXWT.js.map} +0 -0
- /package/dist/{schedule-UA5RXNZ2.js.map → schedule-JNBK267N.js.map} +0 -0
- /package/dist/{scheduled-agents-YIKWS5CO.js.map → scheduled-agents-274ZTTUZ.js.map} +0 -0
- /package/dist/{schema-IKSQHB3S.js.map → schema-7HR57YTC.js.map} +0 -0
- /package/dist/{schema-M44S4TPF.js.map → schema-YO5VLVDS.js.map} +0 -0
- /package/dist/{search-ZQV7SM7W.js.map → search-33EMRTMI.js.map} +0 -0
- /package/dist/{select-VTWL2NMR.js.map → select-3ZRWAYT7.js.map} +0 -0
- /package/dist/{sends-CAQ42KOR.js.map → sends-2BR7A434.js.map} +0 -0
- /package/dist/{set-prompt-2V4UPUKW.js.map → set-prompt-SCSC7BRO.js.map} +0 -0
- /package/dist/{setup-links-PBWJYOD2.js.map → setup-links-BEIHAXVR.js.map} +0 -0
- /package/dist/{shopify-VQYRSXVS.js.map → shopify-XDDDUQTQ.js.map} +0 -0
- /package/dist/{site-GYJYYMYH.js.map → site-DWVWM3HD.js.map} +0 -0
- /package/dist/{sources-3NA3ZB75.js.map → sources-74OM3T4V.js.map} +0 -0
- /package/dist/{sources-UMYCW35T.js.map → sources-O7ZOL5YR.js.map} +0 -0
- /package/dist/{stale-54NIICZG.js.map → stale-WAKIZSQS.js.map} +0 -0
- /package/dist/{status-CRZCFN5W.js.map → status-JOIUSIE7.js.map} +0 -0
- /package/dist/{studio-2VGYFGS4.js.map → studio-FJL2TIZK.js.map} +0 -0
- /package/dist/{sync-K4KLGMJR.js.map → sync-XBCQXUD7.js.map} +0 -0
- /package/dist/{sync-definition-TK5Z3ISW.js.map → sync-definition-2BQUWH3Y.js.map} +0 -0
- /package/dist/{tags-XUJPIGIE.js.map → tags-3YUICYEG.js.map} +0 -0
- /package/dist/{tags-HCTVWQI7.js.map → tags-AQ2JGXPQ.js.map} +0 -0
- /package/dist/{tags-HD4NPLTY.js.map → tags-AXIDVYMK.js.map} +0 -0
- /package/dist/{tags-7SNORKEL.js.map → tags-HISOVNNV.js.map} +0 -0
- /package/dist/{tags-HOIYE6JK.js.map → tags-NSCLNPLU.js.map} +0 -0
- /package/dist/{targeting-criteria-EN6MZR7O.js.map → targeting-criteria-DFJQKQV4.js.map} +0 -0
- /package/dist/{targets-XIZJSYCM.js.map → targets-NQKCNVQ7.js.map} +0 -0
- /package/dist/{testimonials-UOSKSII2.js.map → testimonials-K5D2KRYK.js.map} +0 -0
- /package/dist/{themes-3TW3WDLZ.js.map → themes-CIXQPTFX.js.map} +0 -0
- /package/dist/{top-companies-2PZH6RG3.js.map → top-companies-3M7H5NPQ.js.map} +0 -0
- /package/dist/{transcript-M6J4MYXK.js.map → transcript-CQTAZJK4.js.map} +0 -0
- /package/dist/{translate-V5RCXHB3.js.map → translate-D2SJCT7D.js.map} +0 -0
- /package/dist/{triggers-E3XWB4EZ.js.map → triggers-THBRMWM6.js.map} +0 -0
- /package/dist/{unlink-OIMMKPRN.js.map → unlink-WWPY4336.js.map} +0 -0
- /package/dist/{unstage-SP32LXDY.js.map → unstage-HTYFDR33.js.map} +0 -0
- /package/dist/{unstage-XN3VC7LZ.js.map → unstage-VLEPSA6I.js.map} +0 -0
- /package/dist/{update-LXIHAKQ5.js.map → update-AMTTYSZP.js.map} +0 -0
- /package/dist/{update-2GAPIRWU.js.map → update-FMK63TCD.js.map} +0 -0
- /package/dist/{update-NKNWGXFC.js.map → update-HCQFGRDE.js.map} +0 -0
- /package/dist/{update-H7SAAZ3Z.js.map → update-N3DTFTQE.js.map} +0 -0
- /package/dist/{upload-7RPI4DLV.js.map → upload-BCUR7GMG.js.map} +0 -0
- /package/dist/{url-options-TUU37JHG.js.map → url-options-BSU46PR2.js.map} +0 -0
- /package/dist/{url-params-RJSXPKA3.js.map → url-params-YWPEV5V5.js.map} +0 -0
- /package/dist/{validate-6SZ4B3QA.js.map → validate-GZYVVNHQ.js.map} +0 -0
- /package/dist/{videos-PUOP3G23.js.map → videos-L5BDS2M4.js.map} +0 -0
- /package/dist/{viewer-check-BLM3ZLLH.js.map → viewer-check-DBQ6T3R5.js.map} +0 -0
- /package/dist/{web-YUBTKG6V.js.map → web-62AJC2EU.js.map} +0 -0
- /package/dist/{winning-ads-MVSHJFYV.js.map → winning-ads-OHVZERTH.js.map} +0 -0
- /package/dist/{write-commands-ZXTABQKK.js.map → write-commands-BWWXFT2R.js.map} +0 -0
- /package/dist/{x-7K2VKYXQ.js.map → x-ACDJXCOY.js.map} +0 -0
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
import {
|
|
2
|
+
failApi,
|
|
3
|
+
failValidation
|
|
4
|
+
} from "./chunk-2BW4P45O.js";
|
|
5
|
+
import "./chunk-HVJJEQDQ.js";
|
|
6
|
+
import "./chunk-QV6AST5T.js";
|
|
7
|
+
import "./chunk-WCU362Z6.js";
|
|
8
|
+
import "./chunk-GIWHHCD6.js";
|
|
9
|
+
import "./chunk-SOPVIIUW.js";
|
|
10
|
+
import "./chunk-G4FG5EQO.js";
|
|
11
|
+
import "./chunk-NSBNIPIW.js";
|
|
12
|
+
import "./chunk-46YLDIQG.js";
|
|
13
|
+
import {
|
|
14
|
+
apiPost,
|
|
15
|
+
validateConvexId
|
|
16
|
+
} from "./chunk-4U7HXXSA.js";
|
|
17
|
+
import "./chunk-V6AAOAMM.js";
|
|
18
|
+
import {
|
|
19
|
+
requireChatId
|
|
20
|
+
} from "./chunk-GGUQP6KI.js";
|
|
21
|
+
import {
|
|
22
|
+
registerSchema,
|
|
23
|
+
writeJson
|
|
24
|
+
} from "./chunk-L55PHMSR.js";
|
|
25
|
+
import "./chunk-YQSBHWOI.js";
|
|
26
|
+
|
|
27
|
+
// src/commands/actions/claim.ts
|
|
28
|
+
import { defineCommand } from "citty";
|
|
29
|
+
|
|
30
|
+
// src/commands/actions/skillCatalog.ts
|
|
31
|
+
import { existsSync, readdirSync, readFileSync } from "fs";
|
|
32
|
+
import { dirname, join } from "path";
|
|
33
|
+
var DESCRIPTION_MAX = 600;
|
|
34
|
+
var SKILLS_SUBPATH = join(".claude", "skills");
|
|
35
|
+
var EXCLUDED_SKILLS = /* @__PURE__ */ new Set(["actions"]);
|
|
36
|
+
function stripQuotes(value) {
|
|
37
|
+
const trimmed = value.trim();
|
|
38
|
+
if (trimmed.startsWith('"') && trimmed.endsWith('"')) {
|
|
39
|
+
return trimmed.slice(1, -1).replace(/\\"/g, '"').replace(/\\n/g, "\n");
|
|
40
|
+
}
|
|
41
|
+
if (trimmed.startsWith("'") && trimmed.endsWith("'")) {
|
|
42
|
+
return trimmed.slice(1, -1).replace(/''/g, "'");
|
|
43
|
+
}
|
|
44
|
+
return trimmed;
|
|
45
|
+
}
|
|
46
|
+
function extractFrontmatterLines(md) {
|
|
47
|
+
if (!md.startsWith("---")) return null;
|
|
48
|
+
const end = md.indexOf("\n---", 3);
|
|
49
|
+
if (end === -1) return null;
|
|
50
|
+
return md.slice(md.indexOf("\n", 3) + 1, end).split("\n");
|
|
51
|
+
}
|
|
52
|
+
var BLOCK_SCALAR = /^([|>])[+-]?$/;
|
|
53
|
+
function collectBlockLines(lines, start) {
|
|
54
|
+
const collected = [];
|
|
55
|
+
for (let i = start; i < lines.length; i++) {
|
|
56
|
+
const line = lines[i] ?? "";
|
|
57
|
+
if (line.trim() === "") {
|
|
58
|
+
collected.push("");
|
|
59
|
+
} else if (/^\s/.test(line)) {
|
|
60
|
+
collected.push(line.trim());
|
|
61
|
+
} else {
|
|
62
|
+
break;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
while (collected.length > 0 && collected.at(-1) === "") collected.pop();
|
|
66
|
+
return collected;
|
|
67
|
+
}
|
|
68
|
+
function foldLines(collected) {
|
|
69
|
+
const paragraphs = [];
|
|
70
|
+
let buffer = [];
|
|
71
|
+
for (const line of collected) {
|
|
72
|
+
if (line === "") {
|
|
73
|
+
if (buffer.length > 0) paragraphs.push(buffer.join(" "));
|
|
74
|
+
buffer = [];
|
|
75
|
+
} else {
|
|
76
|
+
buffer.push(line);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
if (buffer.length > 0) paragraphs.push(buffer.join(" "));
|
|
80
|
+
return paragraphs.join("\n");
|
|
81
|
+
}
|
|
82
|
+
function readBlockScalar(lines, start, style) {
|
|
83
|
+
const collected = collectBlockLines(lines, start);
|
|
84
|
+
return style === "|" ? collected.join("\n") : foldLines(collected);
|
|
85
|
+
}
|
|
86
|
+
function readField(lines, field) {
|
|
87
|
+
for (let i = 0; i < lines.length; i++) {
|
|
88
|
+
const match = (lines[i] ?? "").match(/^([A-Za-z0-9_-]+):\s*(.*)$/);
|
|
89
|
+
if (!match || match[1] !== field) continue;
|
|
90
|
+
const inline = (match[2] ?? "").trim();
|
|
91
|
+
const scalar = inline.match(BLOCK_SCALAR);
|
|
92
|
+
if (scalar) {
|
|
93
|
+
return readBlockScalar(lines, i + 1, scalar[1]);
|
|
94
|
+
}
|
|
95
|
+
return stripQuotes(inline);
|
|
96
|
+
}
|
|
97
|
+
return null;
|
|
98
|
+
}
|
|
99
|
+
function parseSkillFrontmatter(md) {
|
|
100
|
+
const lines = extractFrontmatterLines(md);
|
|
101
|
+
if (!lines) return null;
|
|
102
|
+
const name = readField(lines, "name");
|
|
103
|
+
const description = readField(lines, "description");
|
|
104
|
+
if (!name || !description) return null;
|
|
105
|
+
const trimmed = description.length > DESCRIPTION_MAX ? `${description.slice(0, DESCRIPTION_MAX)}\u2026` : description;
|
|
106
|
+
return { name, description: trimmed };
|
|
107
|
+
}
|
|
108
|
+
function findSkillsDir(startDir) {
|
|
109
|
+
let dir = startDir;
|
|
110
|
+
for (; ; ) {
|
|
111
|
+
const candidate = join(dir, SKILLS_SUBPATH);
|
|
112
|
+
if (existsSync(candidate)) return candidate;
|
|
113
|
+
const parent = dirname(dir);
|
|
114
|
+
if (parent === dir) return null;
|
|
115
|
+
dir = parent;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
function readSkillCatalog(startDir) {
|
|
119
|
+
const skillsDir = findSkillsDir(startDir);
|
|
120
|
+
if (!skillsDir) return [];
|
|
121
|
+
const entries = [];
|
|
122
|
+
for (const dirent of readdirSync(skillsDir, { withFileTypes: true })) {
|
|
123
|
+
if (!dirent.isDirectory() || EXCLUDED_SKILLS.has(dirent.name)) continue;
|
|
124
|
+
const skillFile = join(skillsDir, dirent.name, "SKILL.md");
|
|
125
|
+
if (!existsSync(skillFile)) continue;
|
|
126
|
+
try {
|
|
127
|
+
const parsed = parseSkillFrontmatter(readFileSync(skillFile, "utf8"));
|
|
128
|
+
if (parsed) entries.push(parsed);
|
|
129
|
+
} catch {
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
return entries.sort((a, b) => a.name.localeCompare(b.name));
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
// src/commands/actions/claim.ts
|
|
136
|
+
registerSchema({
|
|
137
|
+
command: "actions.claim",
|
|
138
|
+
description: "Claim an action for the current chat (live \u2014 visible to other chats immediately). Claim only what you're actively working on now: it's required before `complete`, but NOT for `update` or `discard` (those stage without a claim). Returns action details plus a fast-model recommendation of which skills to load for the work (`recommendedSkills`) and a routing hint: load every skill that owns part of the work and the tool doc for each baker CLI family you'll use.",
|
|
139
|
+
args: {
|
|
140
|
+
id: { type: "string", description: "Action ID", required: true }
|
|
141
|
+
}
|
|
142
|
+
});
|
|
143
|
+
async function recommendSkills(actionId) {
|
|
144
|
+
const skills = readSkillCatalog(process.cwd());
|
|
145
|
+
if (skills.length === 0) return [];
|
|
146
|
+
const response = await apiPost("/api/actions/recommend-skills", {
|
|
147
|
+
actionId,
|
|
148
|
+
skills
|
|
149
|
+
});
|
|
150
|
+
return response.data.recommendations;
|
|
151
|
+
}
|
|
152
|
+
var ROUTING_HINT = "Actions often span several surfaces (a landing page plus a Google Ads change, a sheet pull plus an audience upload). Before starting, load EVERY skill that owns part of the work and read the tool doc (__tooling__/docs/tools/baker/<family>.md) for each baker CLI family you'll use. If the action references source material living in a connected tool (an email attachment, a call, a CRM record, a spreadsheet), reach for that tool too. If it describes recurring or future-dated work, it belongs on a schedule \u2014 see __tooling__/docs/tools/baker/scheduled-agents.md.";
|
|
153
|
+
function buildHints(recommendations) {
|
|
154
|
+
if (recommendations.length === 0) {
|
|
155
|
+
return ["Review the action name, description, and tags above.", ROUTING_HINT];
|
|
156
|
+
}
|
|
157
|
+
return [
|
|
158
|
+
"Recommended skills for this action (load the ones you'll use):",
|
|
159
|
+
...recommendations.map((r) => ` /${r.name} \u2014 ${r.reason}`),
|
|
160
|
+
"Suggestions come from the action's name/description/tags only \u2014 the work may need more.",
|
|
161
|
+
ROUTING_HINT
|
|
162
|
+
];
|
|
163
|
+
}
|
|
164
|
+
var claimCommand = defineCommand({
|
|
165
|
+
meta: {
|
|
166
|
+
name: "claim",
|
|
167
|
+
description: "Claim an action so other chats see you're working on it. Required before `complete` (update and discard don't need a claim). Example: baker actions claim <action-id>"
|
|
168
|
+
},
|
|
169
|
+
args: {
|
|
170
|
+
id: { type: "positional", description: "Action ID", required: false },
|
|
171
|
+
"action-id": { type: "string", description: "Action ID", required: false }
|
|
172
|
+
},
|
|
173
|
+
run: async ({ args }) => {
|
|
174
|
+
try {
|
|
175
|
+
const id = args.id || args["action-id"];
|
|
176
|
+
if (!id) {
|
|
177
|
+
failValidation("Action ID is required.");
|
|
178
|
+
}
|
|
179
|
+
validateConvexId(id);
|
|
180
|
+
const chatId = requireChatId();
|
|
181
|
+
const response = await apiPost("/api/actions/claim", {
|
|
182
|
+
actionId: id,
|
|
183
|
+
chatId
|
|
184
|
+
});
|
|
185
|
+
let recommendedSkills = [];
|
|
186
|
+
try {
|
|
187
|
+
recommendedSkills = await recommendSkills(id);
|
|
188
|
+
} catch {
|
|
189
|
+
}
|
|
190
|
+
const data = response.data ? { ...response.data, recommendedSkills } : response.data;
|
|
191
|
+
writeJson({ ok: response.ok, data, hints: buildHints(recommendedSkills) });
|
|
192
|
+
} catch (err) {
|
|
193
|
+
failApi(err);
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
});
|
|
197
|
+
export {
|
|
198
|
+
claimCommand
|
|
199
|
+
};
|
|
200
|
+
//# sourceMappingURL=claim-B6IX5MUB.js.map
|
package/dist/cli.js
CHANGED
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
agentProfile,
|
|
9
9
|
applyAgentProfile,
|
|
10
10
|
loadCommands
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-MJ4MJZV3.js";
|
|
12
12
|
import {
|
|
13
13
|
installExitRecord,
|
|
14
14
|
installStreamTaps,
|
|
@@ -166,45 +166,44 @@ Formats: --output json works on every command that prints the envelope. --output
|
|
|
166
166
|
Introspection: Run 'baker schema <command>' to inspect argument schemas.`
|
|
167
167
|
},
|
|
168
168
|
subCommands: {
|
|
169
|
-
capabilities: () => import("./capabilities-
|
|
170
|
-
actions: () => import("./actions-
|
|
171
|
-
"scheduled-agents": () => import("./scheduled-agents-
|
|
172
|
-
ads: () => import("./ads-
|
|
173
|
-
brand: () => import("./brand-
|
|
174
|
-
analytics: () => import("./analytics-
|
|
169
|
+
capabilities: () => import("./capabilities-5MXUVZJV.js").then((m) => m.capabilitiesCommand),
|
|
170
|
+
actions: () => import("./actions-ATTUAZZ5.js").then((m) => m.actionsCommand),
|
|
171
|
+
"scheduled-agents": () => import("./scheduled-agents-274ZTTUZ.js").then((m) => m.scheduledAgentsCommand),
|
|
172
|
+
ads: () => import("./ads-PNSXXDHI.js").then((m) => m.adsCommand),
|
|
173
|
+
brand: () => import("./brand-TNZRFKI4.js").then((m) => m.brandCommand),
|
|
174
|
+
analytics: () => import("./analytics-4KUANCID.js").then((m) => m.analyticsCommand),
|
|
175
175
|
experiment: () => import("./experiment-XNEYJVLH.js").then((m) => m.experimentCommand),
|
|
176
176
|
ga4: () => import("./ga4-G5NKZI3Y.js").then((m) => m.ga4Command),
|
|
177
177
|
gsc: () => import("./gsc-7D62WFOR.js").then((m) => m.gscCommand),
|
|
178
|
-
research: () => import("./research-
|
|
178
|
+
research: () => import("./research-7BWH4VVV.js").then((m) => m.researchCommand),
|
|
179
179
|
decide: () => import("./decide-HTTX2ZIT.js").then((m) => m.decideCommand),
|
|
180
|
-
creatives: () => import("./creatives-
|
|
181
|
-
flows: () => import("./flows-
|
|
182
|
-
funnel: () => import("./funnel-
|
|
183
|
-
images: () => import("./images-
|
|
184
|
-
studio: () => import("./studio-
|
|
185
|
-
avatars: () => import("./avatars-
|
|
186
|
-
landing: () => import("./landing-
|
|
187
|
-
videos: () => import("./videos-
|
|
188
|
-
testimonials: () => import("./testimonials-
|
|
189
|
-
canvas: () => import("./canvas-
|
|
190
|
-
tags: () => import("./tags-
|
|
180
|
+
creatives: () => import("./creatives-VR3N5A3X.js").then((m) => m.creativesCommand),
|
|
181
|
+
flows: () => import("./flows-U646JOQN.js").then((m) => m.flowsCommand),
|
|
182
|
+
funnel: () => import("./funnel-OFJ5XMOU.js").then((m) => m.funnelCommand),
|
|
183
|
+
images: () => import("./images-WNMQFAC3.js").then((m) => m.imagesCommand),
|
|
184
|
+
studio: () => import("./studio-FJL2TIZK.js").then((m) => m.studioCommand),
|
|
185
|
+
avatars: () => import("./avatars-WECPBQ4T.js").then((m) => m.avatarsCommand),
|
|
186
|
+
landing: () => import("./landing-PRG5PT7J.js").then((m) => m.landingCommand),
|
|
187
|
+
videos: () => import("./videos-L5BDS2M4.js").then((m) => m.videosCommand),
|
|
188
|
+
testimonials: () => import("./testimonials-K5D2KRYK.js").then((m) => m.testimonialsCommand),
|
|
189
|
+
canvas: () => import("./canvas-FUHHYUO7.js").then((m) => m.canvasCommand),
|
|
190
|
+
tags: () => import("./tags-3YUICYEG.js").then((m) => m.tagsCommand),
|
|
191
191
|
"tag-manager": () => import("./tag-manager-M2Z6TEV6.js").then((m) => m.tagManagerCommand),
|
|
192
|
-
chats: () => import("./chats-
|
|
193
|
-
history: () => import("./history-
|
|
194
|
-
credentials: () => import("./credentials-
|
|
195
|
-
hubspot: () => import("./hubspot-
|
|
196
|
-
activecampaign: () => import("./activecampaign-
|
|
197
|
-
accounts: () => import("./accounts-
|
|
198
|
-
shopify: () => import("./shopify-
|
|
199
|
-
"winning-ads": () => import("./winning-ads-
|
|
200
|
-
"media-sources": () => import("./media-sources-
|
|
192
|
+
chats: () => import("./chats-FVR35ZQ3.js").then((m) => m.chatsCommand),
|
|
193
|
+
history: () => import("./history-7OLO7HIP.js").then((m) => m.historyCommand),
|
|
194
|
+
credentials: () => import("./credentials-HTPDDOYP.js").then((m) => m.credentialsCommand),
|
|
195
|
+
hubspot: () => import("./hubspot-IMLZUTT3.js").then((m) => m.hubspotCommand),
|
|
196
|
+
activecampaign: () => import("./activecampaign-A7AMIRYU.js").then((m) => m.activecampaignCommand),
|
|
197
|
+
accounts: () => import("./accounts-6WPNPMFP.js").then((m) => m.accountsCommand),
|
|
198
|
+
shopify: () => import("./shopify-XDDDUQTQ.js").then((m) => m.shopifyCommand),
|
|
199
|
+
"winning-ads": () => import("./winning-ads-OHVZERTH.js").then((m) => m.winningAdsCommand),
|
|
200
|
+
"media-sources": () => import("./media-sources-RKIBHCTU.js").then((m) => m.mediaSourcesCommand),
|
|
201
201
|
posts: () => import("./posts-PPSQ726T.js").then((m) => m.postsCommand),
|
|
202
|
-
site: () => import("./site-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
schema: () => import("./schema-M44S4TPF.js").then((m) => m.schemaCommand)
|
|
202
|
+
site: () => import("./site-DWVWM3HD.js").then((m) => m.siteCommand),
|
|
203
|
+
mcp: () => import("./mcp-MIZR2NFZ.js").then((m) => m.mcpCommand),
|
|
204
|
+
"setup-links": () => import("./setup-links-BEIHAXVR.js").then((m) => m.setupLinksCommand),
|
|
205
|
+
organization: () => import("./organization-BU6WIFXV.js").then((m) => m.organizationCommand),
|
|
206
|
+
schema: () => import("./schema-YO5VLVDS.js").then((m) => m.schemaCommand)
|
|
208
207
|
}
|
|
209
208
|
});
|
|
210
209
|
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/cli.ts","../src/closed-pipe.ts","../src/company-flag.ts","../src/full-flag.ts","../src/root-command.ts","../src/version.ts"],"sourcesContent":["#!/usr/bin/env node\nimport { runCommand, runMain } from \"citty\";\nimport { agentProfile, applyAgentProfile } from \"./agent-profile.ts\";\nimport { cacheFlagForCommand, cacheFlagForParser, normalizeCacheFlag } from \"./cache-flag.ts\";\nimport { exitQuietlyOnClosedPipe } from \"./closed-pipe.ts\";\nimport { loadCommands } from \"./command-loading.ts\";\nimport { takeCompanyFlag } from \"./company-flag.ts\";\nimport { installExitRecord, installStreamTaps, logInvocation } from \"./debugLog.ts\";\nimport { setTargetCompany } from \"./env.ts\";\nimport { installFieldMask, takeFieldsFlag } from \"./field-mask.ts\";\nimport { installFullNote, takeFullFlag } from \"./full-flag.ts\";\nimport { writeJson } from \"./output.ts\";\nimport { asksForEnvelopeAlone, envelopeAloneOnStdout, outputFlagForCommand } from \"./output-flag.ts\";\nimport { rootCommand } from \"./root-command.ts\";\nimport { commandPathOf, parseRefusalEnvelope, refuseStrayPositionals, refuseUnknownFlags } from \"./unknown-flags.ts\";\n\nconst main = rootCommand;\n\nawait loadCommands(main, process.argv.slice(2));\n\nexitQuietlyOnClosedPipe(process.stdout, (code) => process.exit(code));\n\n// The legacy `--skip-cache` spelling becomes `--no-cache` before anything reads\n// argv — citty parses `process.argv` itself, so the rewrite has to land there.\nprocess.argv = [...process.argv.slice(0, 2), ...normalizeCacheFlag(process.argv.slice(2))];\n\n// When BAKER_DEBUG_LOG is set, mirror all output and record the invocation\n// before any command runs. No-op otherwise.\ninstallStreamTaps();\nlogInvocation(process.argv.slice(2));\ninstallExitRecord();\n\n// `--output json` asks for the envelope, which almost every command prints\n// without declaring the option — translated here so the guard below does not\n// refuse a flag that asked for what the command was about to print.\n// `canvas run` prints progress before its envelope: asked for the envelope, it\n// prints that alone on stdout and the progress on stderr.\nif (asksForEnvelopeAlone(main, process.argv.slice(2))) {\n envelopeAloneOnStdout(process.stdout, process.stderr);\n}\nprocess.argv = [...process.argv.slice(0, 2), ...outputFlagForCommand(main, process.argv.slice(2))];\n\n// `--fields` narrows the envelope on every command that prints one; where the\n// command does not declare it, it is applied to what the command prints.\nconst fieldsFlag = takeFieldsFlag(main, process.argv.slice(2));\nif (fieldsFlag.fields) {\n process.argv = [...process.argv.slice(0, 2), ...fieldsFlag.argv];\n installFieldMask(fieldsFlag.fields, commandPathOf(main, fieldsFlag.argv));\n}\n\n// `--full` on a command with no shorter view asks for what it already prints:\n// taken off here, and said back in the envelope's hints.\nconst fullFlag = takeFullFlag(main, process.argv.slice(2));\nif (fullFlag.taken) {\n process.argv = [...process.argv.slice(0, 2), ...fullFlag.argv];\n installFullNote(commandPathOf(main, fullFlag.argv));\n}\n\n// `--company <id>` names the company a read is about (the organization\n// workspace's Reports read every company of its organization). It travels as a\n// header on every request, so it is taken off here, before the guard.\nconst companyFlag = takeCompanyFlag(main, process.argv.slice(2));\nif (companyFlag.company) {\n process.argv = [...process.argv.slice(0, 2), ...companyFlag.argv];\n setTargetCompany(companyFlag.company);\n}\n\n// What this agent is offered: the organization workspace's agent only reads\n// (`agent-profile.ts`). Here, after `--company` is taken off, so the command it\n// judges is the one typed.\nconst profileRefusal = await applyAgentProfile(main, agentProfile(), process.argv.slice(2));\nif (profileRefusal) {\n writeJson({ ok: false, error: { code: \"FORBIDDEN\", message: profileRefusal } });\n process.exit(1);\n}\n\n// A report's Refresh appends `--no-cache` to every read; a command with no cache\n// already reads fresh, so it is dropped there rather than refused.\nprocess.argv = [...process.argv.slice(0, 2), ...cacheFlagForCommand(main, process.argv.slice(2))];\n\nrefuseUnknownFlags(main, process.argv.slice(2));\nrefuseStrayPositionals(main, process.argv.slice(2));\n\n// Last, so the guard above quotes back the spelling the caller typed: citty\n// resolves a bare `--no-cache` to `cache: false` instead of filling the declared\n// `no-cache` arg, and only the camelCase spelling survives its parser intact.\nprocess.argv = [...process.argv.slice(0, 2), ...cacheFlagForParser(process.argv.slice(2))];\n\n// `--help` and `--version` stay citty's own. Everything else runs here rather\n// than through `runMain`, whose refusal of a missing argument or an unknown\n// subcommand is usage text on stderr and nothing on stdout: that becomes the\n// envelope every other failure prints.\nconst rawArgs = process.argv.slice(2);\nif (\n rawArgs.some((arg) => arg === \"--help\" || arg === \"-h\") ||\n (rawArgs.length === 1 && /^(--version|-v)$/.test(rawArgs[0] ?? \"\"))\n) {\n runMain(main);\n} else {\n try {\n await runCommand(main, { rawArgs });\n } catch (error) {\n const refusal = parseRefusalEnvelope(error, main, rawArgs);\n if (refusal) {\n writeJson(refusal);\n } else {\n console.error(error, \"\\n\");\n }\n process.exit(1);\n }\n}\n","interface ErrorSource {\n on(event: \"error\", listener: (err: NodeJS.ErrnoException) => void): unknown;\n}\n\n/**\n * `baker … | head` closes the pipe once it has its lines. Node reports the next\n * write as an unhandled EPIPE and prints a stack trace, which reads as a crash of\n * a command that did its job. A closed reader wants nothing more, so exit cleanly,\n * as Unix tools do; any other write error still surfaces.\n */\nexport function exitQuietlyOnClosedPipe(stream: ErrorSource, exit: (code: number) => void): void {\n stream.on(\"error\", (err) => {\n if (err.code === \"EPIPE\") {\n exit(0);\n return;\n }\n throw err;\n });\n}\n","/**\n * `--company <id>` on every command: the company the call reads, for the\n * organization workspace, whose Reports read every company of its organization.\n *\n * It is a header, not an argument of each command (`x-baker-company`, sent by\n * `client.ts`), so every read the CLI has works across companies unchanged, and\n * the backend alone decides what it opens: reads of a company of the same\n * organization, for the organization workspace's credential, and nothing else.\n *\n * A command that declares `--company` itself keeps its own meaning — on\n * `avatars research` it is the person's employer. A positional named `company`\n * (`accounts company acme.com`) is not a flag, so the flag stays the header.\n */\n\nimport { declaredArg } from \"./output-flag.ts\";\nimport { commandFor, type IntrospectableCommand } from \"./unknown-flags.ts\";\n\nconst FLAG = \"--company\";\n\n/** The command reads `--company` itself; a positional of that name is no flag, so it is not. */\nfunction ownsCompanyFlag(command: IntrospectableCommand): boolean {\n const own = declaredArg(command, \"company\");\n return own !== null && own.type !== \"positional\";\n}\n\n/**\n * `argv` without `--company`, and the company it named, when the addressed\n * command does not declare the option itself. Otherwise `argv` is returned\n * untouched with `company: null`, for the command or the guard to judge.\n */\nexport function takeCompanyFlag(\n root: IntrospectableCommand,\n argv: string[],\n): { argv: string[]; company: string | null } {\n const end = argv.indexOf(\"--\");\n const limit = end === -1 ? argv.length : end;\n for (let index = 0; index < limit; index++) {\n const token = argv[index] ?? \"\";\n let company: string | undefined;\n let width = 1;\n if (token.startsWith(`${FLAG}=`)) {\n company = token.slice(FLAG.length + 1).trim();\n } else if (token === FLAG) {\n const value = argv[index + 1];\n if (value === undefined || index + 1 >= limit || value.startsWith(\"-\")) {\n return { argv, company: null };\n }\n company = value.trim();\n width = 2;\n } else {\n continue;\n }\n const command = commandFor(root, argv);\n if (!company || !command || ownsCompanyFlag(command)) {\n return { argv, company: null };\n }\n return { argv: [...argv.slice(0, index), ...argv.slice(index + width)], company };\n }\n return { argv, company: null };\n}\n","/**\n * `--full` on every command that prints the JSON envelope.\n *\n * The conventions doc tells the agent that reads are compact and `--full` gives\n * the complete record, and the families that have a compact view declare it\n * (`ads meta ads|adsets|campaigns`, `images`, `winning-ads`, …). Everywhere\n * else the unknown-option guard (`unknown-flags.ts`) refused it, although those\n * commands already print everything they return: `ads meta creatives` loops,\n * `actions get`, `posts list` and `tags list` each lost calls and a retry to a\n * flag that asked for what the command was about to print (BAKER-1412, -182).\n *\n * So a command that does not declare `--full` has it taken off the command line\n * here, and every envelope it prints says so in `hints` — a dropped flag the\n * caller cannot see would read as \"this is the full record\" on a list whose\n * rows are summaries. A command that declares `--full` keeps its own meaning;\n * one that prints no envelope is left to the guard, as with `--output json`.\n */\n\nimport { declaredArg, printsDataEnvelope } from \"./output-flag.ts\";\nimport { parsePrintedEnvelope, reprint, rewriteWrites, withHint } from \"./printed-envelope.ts\";\nimport { commandFor, commandPathOf, type IntrospectableCommand } from \"./unknown-flags.ts\";\n\nconst FLAG = \"--full\";\n\n/**\n * The command a call to `command` runs: a group with a `default` hands the call,\n * flags and all, to that subcommand (`creatives rules` runs `list`).\n */\nfunction commandThatRuns(command: IntrospectableCommand): IntrospectableCommand {\n const name = (command as { default?: unknown }).default;\n const subCommands = command.subCommands;\n const next =\n typeof name === \"string\" && subCommands && typeof subCommands === \"object\"\n ? (subCommands as Record<string, unknown>)[name]\n : undefined;\n return next && typeof next === \"object\" ? commandThatRuns(next as IntrospectableCommand) : command;\n}\n\n/**\n * `argv` without `--full`, and whether it was there, when the addressed command\n * prints the envelope and does not declare the option itself. Otherwise `argv`\n * is returned untouched, for the command or the guard to judge.\n */\nexport function takeFullFlag(root: IntrospectableCommand, argv: string[]): { argv: string[]; taken: boolean } {\n const end = argv.indexOf(\"--\");\n const limit = end === -1 ? argv.length : end;\n const taken = argv.flatMap((token, index) => (index < limit && token === FLAG ? [index] : []));\n if (taken.length === 0) {\n return { argv, taken: false };\n }\n const command = commandFor(root, argv);\n if (!command || declaredArg(commandThatRuns(command), \"full\") || !printsDataEnvelope(commandPathOf(root, argv))) {\n return { argv, taken: false };\n }\n return { argv: argv.filter((_, index) => !taken.includes(index)), taken: true };\n}\n\nfunction fullHint(commandPath: string): string {\n return (\n `--full changes nothing on \\`baker ${commandPath}\\`: it has no shorter view, so this is everything it returns. ` +\n \"Where its rows are summaries, read one record whole with the family's get or show command. Drop --full here.\"\n );\n}\n\n/**\n * The text a command printed, with a success envelope's `hints` saying `--full`\n * was taken and changed nothing; an error or a dry run comes back as printed,\n * and anything that is not an envelope (a readable view) is null.\n */\nexport function noteFullOnPrinted(text: string, commandPath: string): string | null {\n const envelope = parsePrintedEnvelope(text);\n if (envelope === null) {\n return null;\n }\n if (envelope.ok !== true || \"dryRun\" in envelope) {\n return text;\n }\n return reprint(text, withHint(envelope, fullHint(commandPath)));\n}\n\n/**\n * The note on the CLI's own stdout, and on stderr when the command printed no\n * envelope to carry it — a readable view such as `tags list` without `--json`.\n */\nexport function installFullNote(commandPath: string): void {\n const note = rewriteWrites(process.stdout, (text) => noteFullOnPrinted(text, commandPath));\n process.on(\"exit\", () => {\n if (!note.sawEnvelope()) {\n process.stderr.write(`${fullHint(commandPath)}\\n`);\n }\n });\n}\n","import { defineCommand } from \"citty\";\nimport { getCliVersion } from \"./version.ts\";\n\n// Every command is declared lazily and only the one being run is loaded\n// (`command-loading.ts`): loading all of them made each `baker` process hold\n// ~135 MB of heap while it waited on one request.\nexport const rootCommand = defineCommand({\n meta: {\n name: \"baker\",\n version: getCliVersion(),\n description: `AI-agent CLI for finding and managing images, videos, social posts, avatars, testimonials, action items, scheduled agents, marketing tags, Tag Manager containers, account history, credentials, and ad platform data in Baker.\n\nAuth: Set BAKER_API_KEY (starts with bk_) and BAKER_API_URL environment variables.\nChat: Set BAKER_CHAT_ID for action and scheduled-agent commands that stage changes against a chat.\nOutput: All commands return JSON envelopes: { ok: true, data: ... } or { ok: false, error: { code, message } }.\nFields: --fields a,b,c keeps only those keys of each record in data, on every command that prints the envelope.\nFull: --full returns the complete record where a command has a compact view; elsewhere it is accepted and changes nothing (a hint says so), except on 'canvas run' and 'canvas rerun', which refuse it.\nCompany: --company <id> runs a read against another company of the organization (organization workspace only; ids from 'baker organization companies').\nFormats: --output json works on every command that prints the envelope. --output md|files only where 'baker schema <command>' lists output. (The research commands additionally accept csv and jsonl.)\nIntrospection: Run 'baker schema <command>' to inspect argument schemas.`,\n },\n subCommands: {\n capabilities: () => import(\"./commands/capabilities/index.ts\").then((m) => m.capabilitiesCommand),\n actions: () => import(\"./commands/actions/index.ts\").then((m) => m.actionsCommand),\n \"scheduled-agents\": () => import(\"./commands/scheduled-agents/index.ts\").then((m) => m.scheduledAgentsCommand),\n ads: () => import(\"./commands/ads/index.ts\").then((m) => m.adsCommand),\n brand: () => import(\"./commands/brand/index.ts\").then((m) => m.brandCommand),\n analytics: () => import(\"./commands/analytics/index.ts\").then((m) => m.analyticsCommand),\n experiment: () => import(\"./commands/experiment/index.ts\").then((m) => m.experimentCommand),\n ga4: () => import(\"./commands/ga4/index.ts\").then((m) => m.ga4Command),\n gsc: () => import(\"./commands/gsc/index.ts\").then((m) => m.gscCommand),\n research: () => import(\"./commands/research/index.ts\").then((m) => m.researchCommand),\n decide: () => import(\"./commands/decide/index.ts\").then((m) => m.decideCommand),\n creatives: () => import(\"./commands/creatives/index.ts\").then((m) => m.creativesCommand),\n flows: () => import(\"./commands/flows/index.ts\").then((m) => m.flowsCommand),\n funnel: () => import(\"./commands/funnel/index.ts\").then((m) => m.funnelCommand),\n images: () => import(\"./commands/images/index.ts\").then((m) => m.imagesCommand),\n studio: () => import(\"./commands/studio/index.ts\").then((m) => m.studioCommand),\n avatars: () => import(\"./commands/avatars/index.ts\").then((m) => m.avatarsCommand),\n landing: () => import(\"./commands/landing/index.ts\").then((m) => m.landingCommand),\n videos: () => import(\"./commands/videos/index.ts\").then((m) => m.videosCommand),\n testimonials: () => import(\"./commands/testimonials/index.ts\").then((m) => m.testimonialsCommand),\n canvas: () => import(\"./commands/canvas/index.ts\").then((m) => m.canvasCommand),\n tags: () => import(\"./commands/tags/index.ts\").then((m) => m.tagsCommand),\n \"tag-manager\": () => import(\"./commands/tag-manager/index.ts\").then((m) => m.tagManagerCommand),\n chats: () => import(\"./commands/chats/index.ts\").then((m) => m.chatsCommand),\n history: () => import(\"./commands/history/index.ts\").then((m) => m.historyCommand),\n credentials: () => import(\"./commands/credentials/index.ts\").then((m) => m.credentialsCommand),\n hubspot: () => import(\"./commands/hubspot/index.ts\").then((m) => m.hubspotCommand),\n activecampaign: () => import(\"./commands/activecampaign/index.ts\").then((m) => m.activecampaignCommand),\n accounts: () => import(\"./commands/accounts/index.ts\").then((m) => m.accountsCommand),\n shopify: () => import(\"./commands/shopify/index.ts\").then((m) => m.shopifyCommand),\n \"winning-ads\": () => import(\"./commands/winning-ads/index.ts\").then((m) => m.winningAdsCommand),\n \"media-sources\": () => import(\"./commands/media-sources/index.ts\").then((m) => m.mediaSourcesCommand),\n posts: () => import(\"./commands/posts/index.ts\").then((m) => m.postsCommand),\n site: () => import(\"./commands/site/index.ts\").then((m) => m.siteCommand),\n \"lead-routes\": () => import(\"./commands/lead-routes/index.ts\").then((m) => m.leadRoutesCommand),\n mcp: () => import(\"./commands/mcp/index.ts\").then((m) => m.mcpCommand),\n \"setup-links\": () => import(\"./commands/setup-links/index.ts\").then((m) => m.setupLinksCommand),\n organization: () => import(\"./commands/organization/index.ts\").then((m) => m.organizationCommand),\n schema: () => import(\"./commands/schema.ts\").then((m) => m.schemaCommand),\n },\n});\n","import { readFileSync } from \"node:fs\";\n\nfunction packageJsonUrl(): URL {\n return new URL(\"../package.json\", import.meta.url);\n}\n\nfunction parsePackageVersion(raw: string): string {\n const parsed: unknown = JSON.parse(raw);\n if (\n typeof parsed === \"object\" &&\n parsed !== null &&\n \"version\" in parsed &&\n typeof parsed.version === \"string\" &&\n parsed.version.length > 0\n ) {\n return parsed.version;\n }\n throw new Error(\"Invalid CLI package.json: missing version\");\n}\n\nexport function getCliVersion(): string {\n return parsePackageVersion(readFileSync(packageJsonUrl(), \"utf8\"));\n}\n"],"mappings":"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","names":["FLAG"]}
|
|
1
|
+
{"version":3,"sources":["../src/cli.ts","../src/closed-pipe.ts","../src/company-flag.ts","../src/full-flag.ts","../src/root-command.ts","../src/version.ts"],"sourcesContent":["#!/usr/bin/env node\nimport { runCommand, runMain } from \"citty\";\nimport { agentProfile, applyAgentProfile } from \"./agent-profile.ts\";\nimport { cacheFlagForCommand, cacheFlagForParser, normalizeCacheFlag } from \"./cache-flag.ts\";\nimport { exitQuietlyOnClosedPipe } from \"./closed-pipe.ts\";\nimport { loadCommands } from \"./command-loading.ts\";\nimport { takeCompanyFlag } from \"./company-flag.ts\";\nimport { installExitRecord, installStreamTaps, logInvocation } from \"./debugLog.ts\";\nimport { setTargetCompany } from \"./env.ts\";\nimport { installFieldMask, takeFieldsFlag } from \"./field-mask.ts\";\nimport { installFullNote, takeFullFlag } from \"./full-flag.ts\";\nimport { writeJson } from \"./output.ts\";\nimport { asksForEnvelopeAlone, envelopeAloneOnStdout, outputFlagForCommand } from \"./output-flag.ts\";\nimport { rootCommand } from \"./root-command.ts\";\nimport { commandPathOf, parseRefusalEnvelope, refuseStrayPositionals, refuseUnknownFlags } from \"./unknown-flags.ts\";\n\nconst main = rootCommand;\n\nawait loadCommands(main, process.argv.slice(2));\n\nexitQuietlyOnClosedPipe(process.stdout, (code) => process.exit(code));\n\n// The legacy `--skip-cache` spelling becomes `--no-cache` before anything reads\n// argv — citty parses `process.argv` itself, so the rewrite has to land there.\nprocess.argv = [...process.argv.slice(0, 2), ...normalizeCacheFlag(process.argv.slice(2))];\n\n// When BAKER_DEBUG_LOG is set, mirror all output and record the invocation\n// before any command runs. No-op otherwise.\ninstallStreamTaps();\nlogInvocation(process.argv.slice(2));\ninstallExitRecord();\n\n// `--output json` asks for the envelope, which almost every command prints\n// without declaring the option — translated here so the guard below does not\n// refuse a flag that asked for what the command was about to print.\n// `canvas run` prints progress before its envelope: asked for the envelope, it\n// prints that alone on stdout and the progress on stderr.\nif (asksForEnvelopeAlone(main, process.argv.slice(2))) {\n envelopeAloneOnStdout(process.stdout, process.stderr);\n}\nprocess.argv = [...process.argv.slice(0, 2), ...outputFlagForCommand(main, process.argv.slice(2))];\n\n// `--fields` narrows the envelope on every command that prints one; where the\n// command does not declare it, it is applied to what the command prints.\nconst fieldsFlag = takeFieldsFlag(main, process.argv.slice(2));\nif (fieldsFlag.fields) {\n process.argv = [...process.argv.slice(0, 2), ...fieldsFlag.argv];\n installFieldMask(fieldsFlag.fields, commandPathOf(main, fieldsFlag.argv));\n}\n\n// `--full` on a command with no shorter view asks for what it already prints:\n// taken off here, and said back in the envelope's hints.\nconst fullFlag = takeFullFlag(main, process.argv.slice(2));\nif (fullFlag.taken) {\n process.argv = [...process.argv.slice(0, 2), ...fullFlag.argv];\n installFullNote(commandPathOf(main, fullFlag.argv));\n}\n\n// `--company <id>` names the company a read is about (the organization\n// workspace's Reports read every company of its organization). It travels as a\n// header on every request, so it is taken off here, before the guard.\nconst companyFlag = takeCompanyFlag(main, process.argv.slice(2));\nif (companyFlag.company) {\n process.argv = [...process.argv.slice(0, 2), ...companyFlag.argv];\n setTargetCompany(companyFlag.company);\n}\n\n// What this agent is offered: the organization workspace's agent only reads\n// (`agent-profile.ts`). Here, after `--company` is taken off, so the command it\n// judges is the one typed.\nconst profileRefusal = await applyAgentProfile(main, agentProfile(), process.argv.slice(2));\nif (profileRefusal) {\n writeJson({ ok: false, error: { code: \"FORBIDDEN\", message: profileRefusal } });\n process.exit(1);\n}\n\n// A report's Refresh appends `--no-cache` to every read; a command with no cache\n// already reads fresh, so it is dropped there rather than refused.\nprocess.argv = [...process.argv.slice(0, 2), ...cacheFlagForCommand(main, process.argv.slice(2))];\n\nrefuseUnknownFlags(main, process.argv.slice(2));\nrefuseStrayPositionals(main, process.argv.slice(2));\n\n// Last, so the guard above quotes back the spelling the caller typed: citty\n// resolves a bare `--no-cache` to `cache: false` instead of filling the declared\n// `no-cache` arg, and only the camelCase spelling survives its parser intact.\nprocess.argv = [...process.argv.slice(0, 2), ...cacheFlagForParser(process.argv.slice(2))];\n\n// `--help` and `--version` stay citty's own. Everything else runs here rather\n// than through `runMain`, whose refusal of a missing argument or an unknown\n// subcommand is usage text on stderr and nothing on stdout: that becomes the\n// envelope every other failure prints.\nconst rawArgs = process.argv.slice(2);\nif (\n rawArgs.some((arg) => arg === \"--help\" || arg === \"-h\") ||\n (rawArgs.length === 1 && /^(--version|-v)$/.test(rawArgs[0] ?? \"\"))\n) {\n runMain(main);\n} else {\n try {\n await runCommand(main, { rawArgs });\n } catch (error) {\n const refusal = parseRefusalEnvelope(error, main, rawArgs);\n if (refusal) {\n writeJson(refusal);\n } else {\n console.error(error, \"\\n\");\n }\n process.exit(1);\n }\n}\n","interface ErrorSource {\n on(event: \"error\", listener: (err: NodeJS.ErrnoException) => void): unknown;\n}\n\n/**\n * `baker … | head` closes the pipe once it has its lines. Node reports the next\n * write as an unhandled EPIPE and prints a stack trace, which reads as a crash of\n * a command that did its job. A closed reader wants nothing more, so exit cleanly,\n * as Unix tools do; any other write error still surfaces.\n */\nexport function exitQuietlyOnClosedPipe(stream: ErrorSource, exit: (code: number) => void): void {\n stream.on(\"error\", (err) => {\n if (err.code === \"EPIPE\") {\n exit(0);\n return;\n }\n throw err;\n });\n}\n","/**\n * `--company <id>` on every command: the company the call reads, for the\n * organization workspace, whose Reports read every company of its organization.\n *\n * It is a header, not an argument of each command (`x-baker-company`, sent by\n * `client.ts`), so every read the CLI has works across companies unchanged, and\n * the backend alone decides what it opens: reads of a company of the same\n * organization, for the organization workspace's credential, and nothing else.\n *\n * A command that declares `--company` itself keeps its own meaning — on\n * `avatars research` it is the person's employer. A positional named `company`\n * (`accounts company acme.com`) is not a flag, so the flag stays the header.\n */\n\nimport { declaredArg } from \"./output-flag.ts\";\nimport { commandFor, type IntrospectableCommand } from \"./unknown-flags.ts\";\n\nconst FLAG = \"--company\";\n\n/** The command reads `--company` itself; a positional of that name is no flag, so it is not. */\nfunction ownsCompanyFlag(command: IntrospectableCommand): boolean {\n const own = declaredArg(command, \"company\");\n return own !== null && own.type !== \"positional\";\n}\n\n/**\n * `argv` without `--company`, and the company it named, when the addressed\n * command does not declare the option itself. Otherwise `argv` is returned\n * untouched with `company: null`, for the command or the guard to judge.\n */\nexport function takeCompanyFlag(\n root: IntrospectableCommand,\n argv: string[],\n): { argv: string[]; company: string | null } {\n const end = argv.indexOf(\"--\");\n const limit = end === -1 ? argv.length : end;\n for (let index = 0; index < limit; index++) {\n const token = argv[index] ?? \"\";\n let company: string | undefined;\n let width = 1;\n if (token.startsWith(`${FLAG}=`)) {\n company = token.slice(FLAG.length + 1).trim();\n } else if (token === FLAG) {\n const value = argv[index + 1];\n if (value === undefined || index + 1 >= limit || value.startsWith(\"-\")) {\n return { argv, company: null };\n }\n company = value.trim();\n width = 2;\n } else {\n continue;\n }\n const command = commandFor(root, argv);\n if (!company || !command || ownsCompanyFlag(command)) {\n return { argv, company: null };\n }\n return { argv: [...argv.slice(0, index), ...argv.slice(index + width)], company };\n }\n return { argv, company: null };\n}\n","/**\n * `--full` on every command that prints the JSON envelope.\n *\n * The conventions doc tells the agent that reads are compact and `--full` gives\n * the complete record, and the families that have a compact view declare it\n * (`ads meta ads|adsets|campaigns`, `images`, `winning-ads`, …). Everywhere\n * else the unknown-option guard (`unknown-flags.ts`) refused it, although those\n * commands already print everything they return: `ads meta creatives` loops,\n * `actions get`, `posts list` and `tags list` each lost calls and a retry to a\n * flag that asked for what the command was about to print (BAKER-1412, -182).\n *\n * So a command that does not declare `--full` has it taken off the command line\n * here, and every envelope it prints says so in `hints` — a dropped flag the\n * caller cannot see would read as \"this is the full record\" on a list whose\n * rows are summaries. A command that declares `--full` keeps its own meaning;\n * one that prints no envelope is left to the guard, as with `--output json`.\n */\n\nimport { declaredArg, printsDataEnvelope } from \"./output-flag.ts\";\nimport { parsePrintedEnvelope, reprint, rewriteWrites, withHint } from \"./printed-envelope.ts\";\nimport { commandFor, commandPathOf, type IntrospectableCommand } from \"./unknown-flags.ts\";\n\nconst FLAG = \"--full\";\n\n/**\n * The command a call to `command` runs: a group with a `default` hands the call,\n * flags and all, to that subcommand (`creatives rules` runs `list`).\n */\nfunction commandThatRuns(command: IntrospectableCommand): IntrospectableCommand {\n const name = (command as { default?: unknown }).default;\n const subCommands = command.subCommands;\n const next =\n typeof name === \"string\" && subCommands && typeof subCommands === \"object\"\n ? (subCommands as Record<string, unknown>)[name]\n : undefined;\n return next && typeof next === \"object\" ? commandThatRuns(next as IntrospectableCommand) : command;\n}\n\n/**\n * `argv` without `--full`, and whether it was there, when the addressed command\n * prints the envelope and does not declare the option itself. Otherwise `argv`\n * is returned untouched, for the command or the guard to judge.\n */\nexport function takeFullFlag(root: IntrospectableCommand, argv: string[]): { argv: string[]; taken: boolean } {\n const end = argv.indexOf(\"--\");\n const limit = end === -1 ? argv.length : end;\n const taken = argv.flatMap((token, index) => (index < limit && token === FLAG ? [index] : []));\n if (taken.length === 0) {\n return { argv, taken: false };\n }\n const command = commandFor(root, argv);\n if (!command || declaredArg(commandThatRuns(command), \"full\") || !printsDataEnvelope(commandPathOf(root, argv))) {\n return { argv, taken: false };\n }\n return { argv: argv.filter((_, index) => !taken.includes(index)), taken: true };\n}\n\nfunction fullHint(commandPath: string): string {\n return (\n `--full changes nothing on \\`baker ${commandPath}\\`: it has no shorter view, so this is everything it returns. ` +\n \"Where its rows are summaries, read one record whole with the family's get or show command. Drop --full here.\"\n );\n}\n\n/**\n * The text a command printed, with a success envelope's `hints` saying `--full`\n * was taken and changed nothing; an error or a dry run comes back as printed,\n * and anything that is not an envelope (a readable view) is null.\n */\nexport function noteFullOnPrinted(text: string, commandPath: string): string | null {\n const envelope = parsePrintedEnvelope(text);\n if (envelope === null) {\n return null;\n }\n if (envelope.ok !== true || \"dryRun\" in envelope) {\n return text;\n }\n return reprint(text, withHint(envelope, fullHint(commandPath)));\n}\n\n/**\n * The note on the CLI's own stdout, and on stderr when the command printed no\n * envelope to carry it — a readable view such as `tags list` without `--json`.\n */\nexport function installFullNote(commandPath: string): void {\n const note = rewriteWrites(process.stdout, (text) => noteFullOnPrinted(text, commandPath));\n process.on(\"exit\", () => {\n if (!note.sawEnvelope()) {\n process.stderr.write(`${fullHint(commandPath)}\\n`);\n }\n });\n}\n","import { defineCommand } from \"citty\";\nimport { getCliVersion } from \"./version.ts\";\n\n// Every command is declared lazily and only the one being run is loaded\n// (`command-loading.ts`): loading all of them made each `baker` process hold\n// ~135 MB of heap while it waited on one request.\nexport const rootCommand = defineCommand({\n meta: {\n name: \"baker\",\n version: getCliVersion(),\n description: `AI-agent CLI for finding and managing images, videos, social posts, avatars, testimonials, action items, scheduled agents, marketing tags, Tag Manager containers, account history, credentials, and ad platform data in Baker.\n\nAuth: Set BAKER_API_KEY (starts with bk_) and BAKER_API_URL environment variables.\nChat: Set BAKER_CHAT_ID for action and scheduled-agent commands that stage changes against a chat.\nOutput: All commands return JSON envelopes: { ok: true, data: ... } or { ok: false, error: { code, message } }.\nFields: --fields a,b,c keeps only those keys of each record in data, on every command that prints the envelope.\nFull: --full returns the complete record where a command has a compact view; elsewhere it is accepted and changes nothing (a hint says so), except on 'canvas run' and 'canvas rerun', which refuse it.\nCompany: --company <id> runs a read against another company of the organization (organization workspace only; ids from 'baker organization companies').\nFormats: --output json works on every command that prints the envelope. --output md|files only where 'baker schema <command>' lists output. (The research commands additionally accept csv and jsonl.)\nIntrospection: Run 'baker schema <command>' to inspect argument schemas.`,\n },\n subCommands: {\n capabilities: () => import(\"./commands/capabilities/index.ts\").then((m) => m.capabilitiesCommand),\n actions: () => import(\"./commands/actions/index.ts\").then((m) => m.actionsCommand),\n \"scheduled-agents\": () => import(\"./commands/scheduled-agents/index.ts\").then((m) => m.scheduledAgentsCommand),\n ads: () => import(\"./commands/ads/index.ts\").then((m) => m.adsCommand),\n brand: () => import(\"./commands/brand/index.ts\").then((m) => m.brandCommand),\n analytics: () => import(\"./commands/analytics/index.ts\").then((m) => m.analyticsCommand),\n experiment: () => import(\"./commands/experiment/index.ts\").then((m) => m.experimentCommand),\n ga4: () => import(\"./commands/ga4/index.ts\").then((m) => m.ga4Command),\n gsc: () => import(\"./commands/gsc/index.ts\").then((m) => m.gscCommand),\n research: () => import(\"./commands/research/index.ts\").then((m) => m.researchCommand),\n decide: () => import(\"./commands/decide/index.ts\").then((m) => m.decideCommand),\n creatives: () => import(\"./commands/creatives/index.ts\").then((m) => m.creativesCommand),\n flows: () => import(\"./commands/flows/index.ts\").then((m) => m.flowsCommand),\n funnel: () => import(\"./commands/funnel/index.ts\").then((m) => m.funnelCommand),\n images: () => import(\"./commands/images/index.ts\").then((m) => m.imagesCommand),\n studio: () => import(\"./commands/studio/index.ts\").then((m) => m.studioCommand),\n avatars: () => import(\"./commands/avatars/index.ts\").then((m) => m.avatarsCommand),\n landing: () => import(\"./commands/landing/index.ts\").then((m) => m.landingCommand),\n videos: () => import(\"./commands/videos/index.ts\").then((m) => m.videosCommand),\n testimonials: () => import(\"./commands/testimonials/index.ts\").then((m) => m.testimonialsCommand),\n canvas: () => import(\"./commands/canvas/index.ts\").then((m) => m.canvasCommand),\n tags: () => import(\"./commands/tags/index.ts\").then((m) => m.tagsCommand),\n \"tag-manager\": () => import(\"./commands/tag-manager/index.ts\").then((m) => m.tagManagerCommand),\n chats: () => import(\"./commands/chats/index.ts\").then((m) => m.chatsCommand),\n history: () => import(\"./commands/history/index.ts\").then((m) => m.historyCommand),\n credentials: () => import(\"./commands/credentials/index.ts\").then((m) => m.credentialsCommand),\n hubspot: () => import(\"./commands/hubspot/index.ts\").then((m) => m.hubspotCommand),\n activecampaign: () => import(\"./commands/activecampaign/index.ts\").then((m) => m.activecampaignCommand),\n accounts: () => import(\"./commands/accounts/index.ts\").then((m) => m.accountsCommand),\n shopify: () => import(\"./commands/shopify/index.ts\").then((m) => m.shopifyCommand),\n \"winning-ads\": () => import(\"./commands/winning-ads/index.ts\").then((m) => m.winningAdsCommand),\n \"media-sources\": () => import(\"./commands/media-sources/index.ts\").then((m) => m.mediaSourcesCommand),\n posts: () => import(\"./commands/posts/index.ts\").then((m) => m.postsCommand),\n site: () => import(\"./commands/site/index.ts\").then((m) => m.siteCommand),\n mcp: () => import(\"./commands/mcp/index.ts\").then((m) => m.mcpCommand),\n \"setup-links\": () => import(\"./commands/setup-links/index.ts\").then((m) => m.setupLinksCommand),\n organization: () => import(\"./commands/organization/index.ts\").then((m) => m.organizationCommand),\n schema: () => import(\"./commands/schema.ts\").then((m) => m.schemaCommand),\n },\n});\n","import { readFileSync } from \"node:fs\";\n\nfunction packageJsonUrl(): URL {\n return new URL(\"../package.json\", import.meta.url);\n}\n\nfunction parsePackageVersion(raw: string): string {\n const parsed: unknown = JSON.parse(raw);\n if (\n typeof parsed === \"object\" &&\n parsed !== null &&\n \"version\" in parsed &&\n typeof parsed.version === \"string\" &&\n parsed.version.length > 0\n ) {\n return parsed.version;\n }\n throw new Error(\"Invalid CLI package.json: missing version\");\n}\n\nexport function getCliVersion(): string {\n return parsePackageVersion(readFileSync(packageJsonUrl(), \"utf8\"));\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,SAAS,YAAY,eAAe;;;ACS7B,SAAS,wBAAwB,QAAqB,MAAoC;AAC/F,SAAO,GAAG,SAAS,CAAC,QAAQ;AAC1B,QAAI,IAAI,SAAS,SAAS;AACxB,WAAK,CAAC;AACN;AAAA,IACF;AACA,UAAM;AAAA,EACR,CAAC;AACH;;;ACDA,IAAM,OAAO;AAGb,SAAS,gBAAgB,SAAyC;AAChE,QAAM,MAAM,YAAY,SAAS,SAAS;AAC1C,SAAO,QAAQ,QAAQ,IAAI,SAAS;AACtC;AAOO,SAAS,gBACd,MACA,MAC4C;AAC5C,QAAM,MAAM,KAAK,QAAQ,IAAI;AAC7B,QAAM,QAAQ,QAAQ,KAAK,KAAK,SAAS;AACzC,WAAS,QAAQ,GAAG,QAAQ,OAAO,SAAS;AAC1C,UAAM,QAAQ,KAAK,KAAK,KAAK;AAC7B,QAAI;AACJ,QAAI,QAAQ;AACZ,QAAI,MAAM,WAAW,GAAG,IAAI,GAAG,GAAG;AAChC,gBAAU,MAAM,MAAM,KAAK,SAAS,CAAC,EAAE,KAAK;AAAA,IAC9C,WAAW,UAAU,MAAM;AACzB,YAAM,QAAQ,KAAK,QAAQ,CAAC;AAC5B,UAAI,UAAU,UAAa,QAAQ,KAAK,SAAS,MAAM,WAAW,GAAG,GAAG;AACtE,eAAO,EAAE,MAAM,SAAS,KAAK;AAAA,MAC/B;AACA,gBAAU,MAAM,KAAK;AACrB,cAAQ;AAAA,IACV,OAAO;AACL;AAAA,IACF;AACA,UAAM,UAAU,WAAW,MAAM,IAAI;AACrC,QAAI,CAAC,WAAW,CAAC,WAAW,gBAAgB,OAAO,GAAG;AACpD,aAAO,EAAE,MAAM,SAAS,KAAK;AAAA,IAC/B;AACA,WAAO,EAAE,MAAM,CAAC,GAAG,KAAK,MAAM,GAAG,KAAK,GAAG,GAAG,KAAK,MAAM,QAAQ,KAAK,CAAC,GAAG,QAAQ;AAAA,EAClF;AACA,SAAO,EAAE,MAAM,SAAS,KAAK;AAC/B;;;ACrCA,IAAMA,QAAO;AAMb,SAAS,gBAAgB,SAAuD;AAC9E,QAAM,OAAQ,QAAkC;AAChD,QAAM,cAAc,QAAQ;AAC5B,QAAM,OACJ,OAAO,SAAS,YAAY,eAAe,OAAO,gBAAgB,WAC7D,YAAwC,IAAI,IAC7C;AACN,SAAO,QAAQ,OAAO,SAAS,WAAW,gBAAgB,IAA6B,IAAI;AAC7F;AAOO,SAAS,aAAa,MAA6B,MAAoD;AAC5G,QAAM,MAAM,KAAK,QAAQ,IAAI;AAC7B,QAAM,QAAQ,QAAQ,KAAK,KAAK,SAAS;AACzC,QAAM,QAAQ,KAAK,QAAQ,CAAC,OAAO,UAAW,QAAQ,SAAS,UAAUA,QAAO,CAAC,KAAK,IAAI,CAAC,CAAE;AAC7F,MAAI,MAAM,WAAW,GAAG;AACtB,WAAO,EAAE,MAAM,OAAO,MAAM;AAAA,EAC9B;AACA,QAAM,UAAU,WAAW,MAAM,IAAI;AACrC,MAAI,CAAC,WAAW,YAAY,gBAAgB,OAAO,GAAG,MAAM,KAAK,CAAC,mBAAmB,cAAc,MAAM,IAAI,CAAC,GAAG;AAC/G,WAAO,EAAE,MAAM,OAAO,MAAM;AAAA,EAC9B;AACA,SAAO,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,UAAU,CAAC,MAAM,SAAS,KAAK,CAAC,GAAG,OAAO,KAAK;AAChF;AAEA,SAAS,SAAS,aAA6B;AAC7C,SACE,qCAAqC,WAAW;AAGpD;AAOO,SAAS,kBAAkB,MAAc,aAAoC;AAClF,QAAM,WAAW,qBAAqB,IAAI;AAC1C,MAAI,aAAa,MAAM;AACrB,WAAO;AAAA,EACT;AACA,MAAI,SAAS,OAAO,QAAQ,YAAY,UAAU;AAChD,WAAO;AAAA,EACT;AACA,SAAO,QAAQ,MAAM,SAAS,UAAU,SAAS,WAAW,CAAC,CAAC;AAChE;AAMO,SAAS,gBAAgB,aAA2B;AACzD,QAAM,OAAO,cAAc,QAAQ,QAAQ,CAAC,SAAS,kBAAkB,MAAM,WAAW,CAAC;AACzF,UAAQ,GAAG,QAAQ,MAAM;AACvB,QAAI,CAAC,KAAK,YAAY,GAAG;AACvB,cAAQ,OAAO,MAAM,GAAG,SAAS,WAAW,CAAC;AAAA,CAAI;AAAA,IACnD;AAAA,EACF,CAAC;AACH;;;AC3FA,SAAS,qBAAqB;;;ACA9B,SAAS,oBAAoB;AAE7B,SAAS,iBAAsB;AAC7B,SAAO,IAAI,IAAI,mBAAmB,YAAY,GAAG;AACnD;AAEA,SAAS,oBAAoB,KAAqB;AAChD,QAAM,SAAkB,KAAK,MAAM,GAAG;AACtC,MACE,OAAO,WAAW,YAClB,WAAW,QACX,aAAa,UACb,OAAO,OAAO,YAAY,YAC1B,OAAO,QAAQ,SAAS,GACxB;AACA,WAAO,OAAO;AAAA,EAChB;AACA,QAAM,IAAI,MAAM,2CAA2C;AAC7D;AAEO,SAAS,gBAAwB;AACtC,SAAO,oBAAoB,aAAa,eAAe,GAAG,MAAM,CAAC;AACnE;;;ADhBO,IAAM,cAAc,cAAc;AAAA,EACvC,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,SAAS,cAAc;AAAA,IACvB,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUf;AAAA,EACA,aAAa;AAAA,IACX,cAAc,MAAM,OAAO,4BAAkC,EAAE,KAAK,CAAC,MAAM,EAAE,mBAAmB;AAAA,IAChG,SAAS,MAAM,OAAO,uBAA6B,EAAE,KAAK,CAAC,MAAM,EAAE,cAAc;AAAA,IACjF,oBAAoB,MAAM,OAAO,gCAAsC,EAAE,KAAK,CAAC,MAAM,EAAE,sBAAsB;AAAA,IAC7G,KAAK,MAAM,OAAO,mBAAyB,EAAE,KAAK,CAAC,MAAM,EAAE,UAAU;AAAA,IACrE,OAAO,MAAM,OAAO,qBAA2B,EAAE,KAAK,CAAC,MAAM,EAAE,YAAY;AAAA,IAC3E,WAAW,MAAM,OAAO,yBAA+B,EAAE,KAAK,CAAC,MAAM,EAAE,gBAAgB;AAAA,IACvF,YAAY,MAAM,OAAO,0BAAgC,EAAE,KAAK,CAAC,MAAM,EAAE,iBAAiB;AAAA,IAC1F,KAAK,MAAM,OAAO,mBAAyB,EAAE,KAAK,CAAC,MAAM,EAAE,UAAU;AAAA,IACrE,KAAK,MAAM,OAAO,mBAAyB,EAAE,KAAK,CAAC,MAAM,EAAE,UAAU;AAAA,IACrE,UAAU,MAAM,OAAO,wBAA8B,EAAE,KAAK,CAAC,MAAM,EAAE,eAAe;AAAA,IACpF,QAAQ,MAAM,OAAO,sBAA4B,EAAE,KAAK,CAAC,MAAM,EAAE,aAAa;AAAA,IAC9E,WAAW,MAAM,OAAO,yBAA+B,EAAE,KAAK,CAAC,MAAM,EAAE,gBAAgB;AAAA,IACvF,OAAO,MAAM,OAAO,qBAA2B,EAAE,KAAK,CAAC,MAAM,EAAE,YAAY;AAAA,IAC3E,QAAQ,MAAM,OAAO,sBAA4B,EAAE,KAAK,CAAC,MAAM,EAAE,aAAa;AAAA,IAC9E,QAAQ,MAAM,OAAO,sBAA4B,EAAE,KAAK,CAAC,MAAM,EAAE,aAAa;AAAA,IAC9E,QAAQ,MAAM,OAAO,sBAA4B,EAAE,KAAK,CAAC,MAAM,EAAE,aAAa;AAAA,IAC9E,SAAS,MAAM,OAAO,uBAA6B,EAAE,KAAK,CAAC,MAAM,EAAE,cAAc;AAAA,IACjF,SAAS,MAAM,OAAO,uBAA6B,EAAE,KAAK,CAAC,MAAM,EAAE,cAAc;AAAA,IACjF,QAAQ,MAAM,OAAO,sBAA4B,EAAE,KAAK,CAAC,MAAM,EAAE,aAAa;AAAA,IAC9E,cAAc,MAAM,OAAO,4BAAkC,EAAE,KAAK,CAAC,MAAM,EAAE,mBAAmB;AAAA,IAChG,QAAQ,MAAM,OAAO,sBAA4B,EAAE,KAAK,CAAC,MAAM,EAAE,aAAa;AAAA,IAC9E,MAAM,MAAM,OAAO,oBAA0B,EAAE,KAAK,CAAC,MAAM,EAAE,WAAW;AAAA,IACxE,eAAe,MAAM,OAAO,2BAAiC,EAAE,KAAK,CAAC,MAAM,EAAE,iBAAiB;AAAA,IAC9F,OAAO,MAAM,OAAO,qBAA2B,EAAE,KAAK,CAAC,MAAM,EAAE,YAAY;AAAA,IAC3E,SAAS,MAAM,OAAO,uBAA6B,EAAE,KAAK,CAAC,MAAM,EAAE,cAAc;AAAA,IACjF,aAAa,MAAM,OAAO,2BAAiC,EAAE,KAAK,CAAC,MAAM,EAAE,kBAAkB;AAAA,IAC7F,SAAS,MAAM,OAAO,uBAA6B,EAAE,KAAK,CAAC,MAAM,EAAE,cAAc;AAAA,IACjF,gBAAgB,MAAM,OAAO,8BAAoC,EAAE,KAAK,CAAC,MAAM,EAAE,qBAAqB;AAAA,IACtG,UAAU,MAAM,OAAO,wBAA8B,EAAE,KAAK,CAAC,MAAM,EAAE,eAAe;AAAA,IACpF,SAAS,MAAM,OAAO,uBAA6B,EAAE,KAAK,CAAC,MAAM,EAAE,cAAc;AAAA,IACjF,eAAe,MAAM,OAAO,2BAAiC,EAAE,KAAK,CAAC,MAAM,EAAE,iBAAiB;AAAA,IAC9F,iBAAiB,MAAM,OAAO,6BAAmC,EAAE,KAAK,CAAC,MAAM,EAAE,mBAAmB;AAAA,IACpG,OAAO,MAAM,OAAO,qBAA2B,EAAE,KAAK,CAAC,MAAM,EAAE,YAAY;AAAA,IAC3E,MAAM,MAAM,OAAO,oBAA0B,EAAE,KAAK,CAAC,MAAM,EAAE,WAAW;AAAA,IACxE,KAAK,MAAM,OAAO,mBAAyB,EAAE,KAAK,CAAC,MAAM,EAAE,UAAU;AAAA,IACrE,eAAe,MAAM,OAAO,2BAAiC,EAAE,KAAK,CAAC,MAAM,EAAE,iBAAiB;AAAA,IAC9F,cAAc,MAAM,OAAO,4BAAkC,EAAE,KAAK,CAAC,MAAM,EAAE,mBAAmB;AAAA,IAChG,QAAQ,MAAM,OAAO,sBAAsB,EAAE,KAAK,CAAC,MAAM,EAAE,aAAa;AAAA,EAC1E;AACF,CAAC;;;AJ7CD,IAAM,OAAO;AAEb,MAAM,aAAa,MAAM,QAAQ,KAAK,MAAM,CAAC,CAAC;AAE9C,wBAAwB,QAAQ,QAAQ,CAAC,SAAS,QAAQ,KAAK,IAAI,CAAC;AAIpE,QAAQ,OAAO,CAAC,GAAG,QAAQ,KAAK,MAAM,GAAG,CAAC,GAAG,GAAG,mBAAmB,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC;AAIzF,kBAAkB;AAClB,cAAc,QAAQ,KAAK,MAAM,CAAC,CAAC;AACnC,kBAAkB;AAOlB,IAAI,qBAAqB,MAAM,QAAQ,KAAK,MAAM,CAAC,CAAC,GAAG;AACrD,wBAAsB,QAAQ,QAAQ,QAAQ,MAAM;AACtD;AACA,QAAQ,OAAO,CAAC,GAAG,QAAQ,KAAK,MAAM,GAAG,CAAC,GAAG,GAAG,qBAAqB,MAAM,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC;AAIjG,IAAM,aAAa,eAAe,MAAM,QAAQ,KAAK,MAAM,CAAC,CAAC;AAC7D,IAAI,WAAW,QAAQ;AACrB,UAAQ,OAAO,CAAC,GAAG,QAAQ,KAAK,MAAM,GAAG,CAAC,GAAG,GAAG,WAAW,IAAI;AAC/D,mBAAiB,WAAW,QAAQ,cAAc,MAAM,WAAW,IAAI,CAAC;AAC1E;AAIA,IAAM,WAAW,aAAa,MAAM,QAAQ,KAAK,MAAM,CAAC,CAAC;AACzD,IAAI,SAAS,OAAO;AAClB,UAAQ,OAAO,CAAC,GAAG,QAAQ,KAAK,MAAM,GAAG,CAAC,GAAG,GAAG,SAAS,IAAI;AAC7D,kBAAgB,cAAc,MAAM,SAAS,IAAI,CAAC;AACpD;AAKA,IAAM,cAAc,gBAAgB,MAAM,QAAQ,KAAK,MAAM,CAAC,CAAC;AAC/D,IAAI,YAAY,SAAS;AACvB,UAAQ,OAAO,CAAC,GAAG,QAAQ,KAAK,MAAM,GAAG,CAAC,GAAG,GAAG,YAAY,IAAI;AAChE,mBAAiB,YAAY,OAAO;AACtC;AAKA,IAAM,iBAAiB,MAAM,kBAAkB,MAAM,aAAa,GAAG,QAAQ,KAAK,MAAM,CAAC,CAAC;AAC1F,IAAI,gBAAgB;AAClB,YAAU,EAAE,IAAI,OAAO,OAAO,EAAE,MAAM,aAAa,SAAS,eAAe,EAAE,CAAC;AAC9E,UAAQ,KAAK,CAAC;AAChB;AAIA,QAAQ,OAAO,CAAC,GAAG,QAAQ,KAAK,MAAM,GAAG,CAAC,GAAG,GAAG,oBAAoB,MAAM,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC;AAEhG,mBAAmB,MAAM,QAAQ,KAAK,MAAM,CAAC,CAAC;AAC9C,uBAAuB,MAAM,QAAQ,KAAK,MAAM,CAAC,CAAC;AAKlD,QAAQ,OAAO,CAAC,GAAG,QAAQ,KAAK,MAAM,GAAG,CAAC,GAAG,GAAG,mBAAmB,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC;AAMzF,IAAM,UAAU,QAAQ,KAAK,MAAM,CAAC;AACpC,IACE,QAAQ,KAAK,CAAC,QAAQ,QAAQ,YAAY,QAAQ,IAAI,KACrD,QAAQ,WAAW,KAAK,mBAAmB,KAAK,QAAQ,CAAC,KAAK,EAAE,GACjE;AACA,UAAQ,IAAI;AACd,OAAO;AACL,MAAI;AACF,UAAM,WAAW,MAAM,EAAE,QAAQ,CAAC;AAAA,EACpC,SAAS,OAAO;AACd,UAAM,UAAU,qBAAqB,OAAO,MAAM,OAAO;AACzD,QAAI,SAAS;AACX,gBAAU,OAAO;AAAA,IACnB,OAAO;AACL,cAAQ,MAAM,OAAO,IAAI;AAAA,IAC3B;AACA,YAAQ,KAAK,CAAC;AAAA,EAChB;AACF;","names":["FLAG"]}
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
import {
|
|
2
|
+
csvOrJson,
|
|
3
|
+
handleLinkedinError
|
|
4
|
+
} from "./chunk-KNSUNB2Z.js";
|
|
5
|
+
import {
|
|
6
|
+
TABLE_OUTPUT_FORMATS,
|
|
7
|
+
outputFormatRefusal,
|
|
8
|
+
writeAdsJson,
|
|
9
|
+
writeAdsOutput,
|
|
10
|
+
writeJsonEnvelope
|
|
11
|
+
} from "./chunk-X7DMNLDD.js";
|
|
12
|
+
import {
|
|
13
|
+
NO_CACHE_ARG
|
|
14
|
+
} from "./chunk-7PMGAOHZ.js";
|
|
15
|
+
import {
|
|
16
|
+
linkedinCompaniesRequestSchema
|
|
17
|
+
} from "./chunk-HVJJEQDQ.js";
|
|
18
|
+
import "./chunk-QV6AST5T.js";
|
|
19
|
+
import "./chunk-WCU362Z6.js";
|
|
20
|
+
import "./chunk-GIWHHCD6.js";
|
|
21
|
+
import "./chunk-SOPVIIUW.js";
|
|
22
|
+
import "./chunk-G4FG5EQO.js";
|
|
23
|
+
import "./chunk-NSBNIPIW.js";
|
|
24
|
+
import "./chunk-46YLDIQG.js";
|
|
25
|
+
import {
|
|
26
|
+
apiPost
|
|
27
|
+
} from "./chunk-4U7HXXSA.js";
|
|
28
|
+
import "./chunk-V6AAOAMM.js";
|
|
29
|
+
import {
|
|
30
|
+
getEnv
|
|
31
|
+
} from "./chunk-GGUQP6KI.js";
|
|
32
|
+
import "./chunk-L55PHMSR.js";
|
|
33
|
+
import "./chunk-YQSBHWOI.js";
|
|
34
|
+
|
|
35
|
+
// src/commands/ads/linkedin/companies.ts
|
|
36
|
+
import { defineCommand } from "citty";
|
|
37
|
+
var COMPANIES_PAGE_SIZE = 100;
|
|
38
|
+
var COMPANIES_TIMEOUT_MS = 18e4;
|
|
39
|
+
var CSV_FIELDS = [
|
|
40
|
+
"org",
|
|
41
|
+
"name",
|
|
42
|
+
"domain",
|
|
43
|
+
"domainSource",
|
|
44
|
+
"impressions",
|
|
45
|
+
"clicks",
|
|
46
|
+
"engagements",
|
|
47
|
+
"costLocal",
|
|
48
|
+
"videoViews",
|
|
49
|
+
"months",
|
|
50
|
+
"campaigns"
|
|
51
|
+
];
|
|
52
|
+
function companiesHints(data, request) {
|
|
53
|
+
const hints = [];
|
|
54
|
+
if (data.rows.length === 0) {
|
|
55
|
+
hints.push(
|
|
56
|
+
`No company shows up for ${data.query.start} to ${data.query.end}${data.query.minImpressions > 0 ? ` at --min-impressions ${data.query.minImpressions}` : ""}. LinkedIn reports companies 12-24h late and leaves out any with fewer than 3 events in a month, so a small or new campaign can have none yet. Try a longer period (--last-months 24), drop --min-impressions, or check the campaigns delivered with \`baker ads linkedin analytics\`.`
|
|
57
|
+
);
|
|
58
|
+
return hints;
|
|
59
|
+
}
|
|
60
|
+
const withDomain = data.rows.filter((row) => row.domain !== void 0).length;
|
|
61
|
+
if (withDomain > 0) {
|
|
62
|
+
hints.push(
|
|
63
|
+
`${withDomain} companies came back with a website domain \u2014 if HubSpot is connected, \`baker hubspot companies search --domains <domain,domain,\u2026> --with-deals\` (up to 100 per call) shows which are already accounts and which have deals.`
|
|
64
|
+
);
|
|
65
|
+
} else if (!request.withDomains && data.rows.length > 0) {
|
|
66
|
+
hints.push(
|
|
67
|
+
"Add --with-domains to get each company's website domain, ready for matching against your customer list."
|
|
68
|
+
);
|
|
69
|
+
}
|
|
70
|
+
if (data.totalCompanies > data.rows.length) {
|
|
71
|
+
const page = data.page ?? 1;
|
|
72
|
+
const first = (page - 1) * COMPANIES_PAGE_SIZE + 1;
|
|
73
|
+
const last = first + data.rows.length - 1;
|
|
74
|
+
const next = last < data.totalCompanies ? ` \u2014 --page ${page + 1} for the next ${COMPANIES_PAGE_SIZE}, ` : " \u2014 ";
|
|
75
|
+
hints.push(
|
|
76
|
+
`Showing companies ${first}-${last} of ${data.totalCompanies.toLocaleString("en")}, most engaged first${next}--full for all, or --min-impressions to trim the tail.`
|
|
77
|
+
);
|
|
78
|
+
}
|
|
79
|
+
if (data.query.by === "none" && data.rows.length > 0) {
|
|
80
|
+
hints.push("--by month shows when each company warmed up; --by campaign shows which campaigns reached it.");
|
|
81
|
+
}
|
|
82
|
+
return hints;
|
|
83
|
+
}
|
|
84
|
+
function csvList(raw) {
|
|
85
|
+
if (typeof raw !== "string") return void 0;
|
|
86
|
+
const items = raw.split(",").map((s) => s.trim()).filter(Boolean);
|
|
87
|
+
return items.length > 0 ? items : void 0;
|
|
88
|
+
}
|
|
89
|
+
var FLAG_OF_FIELD = {
|
|
90
|
+
accountId: "--account-id",
|
|
91
|
+
campaignIds: "--campaign-id",
|
|
92
|
+
lastMonths: "--last-months",
|
|
93
|
+
start: "--start",
|
|
94
|
+
end: "--end",
|
|
95
|
+
by: "--by",
|
|
96
|
+
minImpressions: "--min-impressions",
|
|
97
|
+
page: "--page"
|
|
98
|
+
};
|
|
99
|
+
function flagOf(field) {
|
|
100
|
+
return FLAG_OF_FIELD[field.split(".")[0] ?? ""] ?? (field || "args");
|
|
101
|
+
}
|
|
102
|
+
function optionalNumber(raw) {
|
|
103
|
+
return typeof raw === "string" && raw.trim() !== "" ? Number(raw) : void 0;
|
|
104
|
+
}
|
|
105
|
+
function bareAccountId(raw) {
|
|
106
|
+
return raw?.startsWith("urn:") ? raw.split(":").pop() : raw;
|
|
107
|
+
}
|
|
108
|
+
var companiesCommand = defineCommand({
|
|
109
|
+
meta: {
|
|
110
|
+
name: "companies",
|
|
111
|
+
description: `Which companies your LinkedIn ads reached \u2014 one row per company over the whole period, most engaged first.
|
|
112
|
+
|
|
113
|
+
Start here for "which companies are our ads warming", ABM reporting, or building a warm-account list.
|
|
114
|
+
Rows: {org, name, impressions, clicks, engagements, costLocal}. Defaults: the last 12 calendar
|
|
115
|
+
months, the only selected ad account, 100 companies a page (--page 2 for the next, --full for all).
|
|
116
|
+
|
|
117
|
+
Examples:
|
|
118
|
+
baker ads linkedin companies # last 12 months, whole account
|
|
119
|
+
baker ads linkedin companies --page 2 # the next 100 companies
|
|
120
|
+
baker ads linkedin companies --by month --min-impressions 50 # when each company warmed up
|
|
121
|
+
baker ads linkedin companies --campaign-id 333728193,810055513 --by campaign
|
|
122
|
+
baker ads linkedin companies --with-domains --output csv # + website domain, for CRM matching
|
|
123
|
+
baker ads linkedin companies --last-months 3 --stats # + how complete LinkedIn's data is
|
|
124
|
+
|
|
125
|
+
LinkedIn reports companies 12-24h late and leaves out any company with fewer than 3 events in a month,
|
|
126
|
+
so small companies are undercounted. engagements = LinkedIn's totalEngagements.`
|
|
127
|
+
},
|
|
128
|
+
args: {
|
|
129
|
+
"account-id": {
|
|
130
|
+
type: "string",
|
|
131
|
+
description: "Ad account id (numeric or urn:li:sponsoredAccount:N). Default: the only selected account"
|
|
132
|
+
},
|
|
133
|
+
"campaign-id": { type: "string", description: "Comma-separated campaign ids \u2014 read only these campaigns" },
|
|
134
|
+
"last-months": { type: "string", description: "Calendar months back, including this one (1-24, default 12)" },
|
|
135
|
+
start: { type: "string", description: "Start date YYYY-MM-DD (instead of --last-months)" },
|
|
136
|
+
end: { type: "string", description: "End date YYYY-MM-DD (default today)" },
|
|
137
|
+
by: { type: "string", description: "none | month | campaign \u2014 break each company down (default none)" },
|
|
138
|
+
"with-domains": { type: "boolean", description: "Add each company's website domain and domainSource" },
|
|
139
|
+
"min-impressions": { type: "string", description: "Leave out companies under N impressions over the period" },
|
|
140
|
+
full: { type: "boolean", description: "Every company (not just a page of 100), plus videoViews" },
|
|
141
|
+
page: {
|
|
142
|
+
type: "string",
|
|
143
|
+
description: "Which page of 100 companies, most engaged first (default 1); totalCompanies counts them all"
|
|
144
|
+
},
|
|
145
|
+
stats: { type: "boolean", description: "Add read-quality stats: row counts, cost/reach/domain coverage" },
|
|
146
|
+
"no-cache": NO_CACHE_ARG,
|
|
147
|
+
output: { type: "string", description: "json|csv|jsonl|md", default: "json" }
|
|
148
|
+
},
|
|
149
|
+
run: async ({ args }) => {
|
|
150
|
+
const input = {
|
|
151
|
+
accountId: bareAccountId(args["account-id"] || getEnv().BAKER_LINKEDIN_AD_ACCOUNT_ID),
|
|
152
|
+
campaignIds: csvList(args["campaign-id"]),
|
|
153
|
+
lastMonths: optionalNumber(args["last-months"]),
|
|
154
|
+
start: args.start,
|
|
155
|
+
end: args.end,
|
|
156
|
+
by: args.by,
|
|
157
|
+
withDomains: Boolean(args["with-domains"]),
|
|
158
|
+
minImpressions: optionalNumber(args["min-impressions"]),
|
|
159
|
+
full: Boolean(args.full),
|
|
160
|
+
page: optionalNumber(args.page),
|
|
161
|
+
stats: Boolean(args.stats),
|
|
162
|
+
skipCache: Boolean(args["no-cache"])
|
|
163
|
+
};
|
|
164
|
+
const parsed = linkedinCompaniesRequestSchema.safeParse(input);
|
|
165
|
+
const formatRefusal = outputFormatRefusal(csvOrJson(args), TABLE_OUTPUT_FORMATS);
|
|
166
|
+
if (!parsed.success || formatRefusal !== null) {
|
|
167
|
+
const issues = parsed.success ? [] : parsed.error.issues;
|
|
168
|
+
const messages = issues.map((issue) => `${flagOf(issue.path.join("."))}: ${issue.message}`);
|
|
169
|
+
writeAdsJson({
|
|
170
|
+
ok: false,
|
|
171
|
+
error: { code: "INVALID_ARGS", message: [...messages, ...formatRefusal ? [formatRefusal] : []].join("; ") }
|
|
172
|
+
});
|
|
173
|
+
process.exit(1);
|
|
174
|
+
}
|
|
175
|
+
try {
|
|
176
|
+
const { data } = await apiPost(
|
|
177
|
+
"/api/ads/linkedin/companies",
|
|
178
|
+
input,
|
|
179
|
+
{ timeoutMs: COMPANIES_TIMEOUT_MS }
|
|
180
|
+
);
|
|
181
|
+
const hints = companiesHints(data, parsed.data);
|
|
182
|
+
const fmt = csvOrJson(args);
|
|
183
|
+
if (fmt !== "json") {
|
|
184
|
+
const notes = [...data.warnings.map((w) => `${w.code}: ${w.message}`), ...hints];
|
|
185
|
+
writeAdsOutput(data.rows, fmt, CSV_FIELDS, notes);
|
|
186
|
+
return;
|
|
187
|
+
}
|
|
188
|
+
writeJsonEnvelope(hints.length > 0 ? { ok: true, data, hints } : { ok: true, data });
|
|
189
|
+
} catch (err) {
|
|
190
|
+
handleLinkedinError(err);
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
});
|
|
194
|
+
export {
|
|
195
|
+
companiesCommand,
|
|
196
|
+
companiesHints
|
|
197
|
+
};
|
|
198
|
+
//# sourceMappingURL=companies-U4APTF2Z.js.map
|