@koda-sl/baker-cli 0.496.0 → 0.497.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (841) hide show
  1. package/README.md +25 -4
  2. package/dist/account-ZKJFX2GK.js +80 -0
  3. package/dist/account-ZKJFX2GK.js.map +1 -0
  4. package/dist/account-users-SZCYHVBM.js +62 -0
  5. package/dist/account-users-SZCYHVBM.js.map +1 -0
  6. package/dist/accounts-5DFYKYSM.js +78 -0
  7. package/dist/accounts-5DFYKYSM.js.map +1 -0
  8. package/dist/accounts-OGAIQNE6.js +612 -0
  9. package/dist/accounts-OGAIQNE6.js.map +1 -0
  10. package/dist/actions-FMNJSOBA.js +55 -0
  11. package/dist/activecampaign-LYYYH6XD.js +936 -0
  12. package/dist/activecampaign-LYYYH6XD.js.map +1 -0
  13. package/dist/add-AOQLZRPC.js +80 -0
  14. package/dist/add-AOQLZRPC.js.map +1 -0
  15. package/dist/add-HWXEPSZF.js +105 -0
  16. package/dist/add-HWXEPSZF.js.map +1 -0
  17. package/dist/add-VDZPGZF5.js +148 -0
  18. package/dist/add-VDZPGZF5.js.map +1 -0
  19. package/dist/add-YYP3O536.js +303 -0
  20. package/dist/add-YYP3O536.js.map +1 -0
  21. package/dist/ads-OLXSDPD6.js +40 -0
  22. package/dist/advertisers-STYAIX72.js +121 -0
  23. package/dist/advertisers-STYAIX72.js.map +1 -0
  24. package/dist/analytics-6WBK4VFO.js +1977 -0
  25. package/dist/analytics-6WBK4VFO.js.map +1 -0
  26. package/dist/analytics-DHB325DM.js +434 -0
  27. package/dist/analytics-DHB325DM.js.map +1 -0
  28. package/dist/assign-BFXHYTMF.js +78 -0
  29. package/dist/assign-BFXHYTMF.js.map +1 -0
  30. package/dist/audience-size-XWHZV2GH.js +74 -0
  31. package/dist/audience-size-XWHZV2GH.js.map +1 -0
  32. package/dist/audit-IYGRU7LD.js +152 -0
  33. package/dist/audit-IYGRU7LD.js.map +1 -0
  34. package/dist/autocomplete-SDDSJTAF.js +112 -0
  35. package/dist/autocomplete-SDDSJTAF.js.map +1 -0
  36. package/dist/avatars-I4H3NMEJ.js +38 -0
  37. package/dist/bid-pricing-OVYBDRMV.js +101 -0
  38. package/dist/bid-pricing-OVYBDRMV.js.map +1 -0
  39. package/dist/brand-3V7ECY7D.js +22 -0
  40. package/dist/brief-U2W7KMFC.js +539 -0
  41. package/dist/brief-U2W7KMFC.js.map +1 -0
  42. package/dist/campaign-groups-FJHBVUA3.js +97 -0
  43. package/dist/campaign-groups-FJHBVUA3.js.map +1 -0
  44. package/dist/campaign-writes-XKYYMZML.js +166 -0
  45. package/dist/campaign-writes-XKYYMZML.js.map +1 -0
  46. package/dist/campaigns-E5UW4I3X.js +111 -0
  47. package/dist/campaigns-E5UW4I3X.js.map +1 -0
  48. package/dist/campaigns-MCB76NPQ.js +107 -0
  49. package/dist/canvas-JCNKMGCG.js +46 -0
  50. package/dist/capabilities-CLTZCXCZ.js +145 -0
  51. package/dist/capabilities-CLTZCXCZ.js.map +1 -0
  52. package/dist/chatgpt-XFZ42NXC.js +47 -0
  53. package/dist/chats-DTJSBDWO.js +277 -0
  54. package/dist/chats-DTJSBDWO.js.map +1 -0
  55. package/dist/check-CZTS64AW.js +105 -0
  56. package/dist/check-CZTS64AW.js.map +1 -0
  57. package/dist/chunk-2YTBPRRG.js +207 -0
  58. package/dist/chunk-3SNCMEJB.js +97 -0
  59. package/dist/chunk-7QGFO35A.js +23 -0
  60. package/dist/chunk-AV7ALENU.js +191 -0
  61. package/dist/chunk-BRLFQ4VX.js +604 -0
  62. package/dist/chunk-CAZGM2NX.js +92 -0
  63. package/dist/chunk-CAZGM2NX.js.map +1 -0
  64. package/dist/chunk-DJE7UXYT.js +831 -0
  65. package/dist/chunk-EFWXYUSK.js +139 -0
  66. package/dist/chunk-EONSZAZB.js +3868 -0
  67. package/dist/chunk-FALJQCWL.js +661 -0
  68. package/dist/chunk-FALJQCWL.js.map +1 -0
  69. package/dist/chunk-FG3MV2XM.js +89 -0
  70. package/dist/chunk-FKG476GH.js +392 -0
  71. package/dist/chunk-FUGQSIYG.js +297 -0
  72. package/dist/chunk-GZ4A2VYW.js +39 -0
  73. package/dist/chunk-GZ4A2VYW.js.map +1 -0
  74. package/dist/chunk-HPLHAHG5.js +275 -0
  75. package/dist/chunk-I24YT2KG.js +122 -0
  76. package/dist/chunk-IFDZZOUC.js +903 -0
  77. package/dist/chunk-JVVUI55M.js +455 -0
  78. package/dist/chunk-KKSHEPBY.js +363 -0
  79. package/dist/chunk-KQ7RCLGC.js +547 -0
  80. package/dist/chunk-L7WMS5PW.js +172 -0
  81. package/dist/chunk-LBRO4MTL.js +19 -0
  82. package/dist/chunk-LNRPOULW.js +224 -0
  83. package/dist/chunk-LX6WC2XZ.js +942 -0
  84. package/dist/chunk-MMGTJBM6.js +142 -0
  85. package/dist/chunk-NZS3KEQ2.js +97 -0
  86. package/dist/chunk-NZS3KEQ2.js.map +1 -0
  87. package/dist/chunk-O37VU7FG.js +6799 -0
  88. package/dist/chunk-O37VU7FG.js.map +1 -0
  89. package/dist/chunk-OEZYSL3U.js +51 -0
  90. package/dist/chunk-OOVHBMQB.js +103 -0
  91. package/dist/chunk-PTH7VWKK.js +159 -0
  92. package/dist/chunk-PYD6IGW6.js +401 -0
  93. package/dist/chunk-PYD6IGW6.js.map +1 -0
  94. package/dist/chunk-QE2E4EYJ.js +349 -0
  95. package/dist/chunk-QE2E4EYJ.js.map +1 -0
  96. package/dist/chunk-QZF4BVKL.js +66 -0
  97. package/dist/chunk-RITUSBYO.js +61 -0
  98. package/dist/chunk-SSTL3A7Z.js +206 -0
  99. package/dist/chunk-SZNGQ2GF.js +64 -0
  100. package/dist/chunk-SZNGQ2GF.js.map +1 -0
  101. package/dist/chunk-TD4SO6TR.js +169 -0
  102. package/dist/chunk-UZ4RTOFG.js +91 -0
  103. package/dist/chunk-VAX7PFQV.js +592 -0
  104. package/dist/chunk-VDRSZK4P.js +494 -0
  105. package/dist/chunk-VNU2EYD4.js +344 -0
  106. package/dist/chunk-WT4WDIXA.js +156 -0
  107. package/dist/chunk-XEX23CIB.js +160 -0
  108. package/dist/chunk-XXDF25BW.js +8939 -0
  109. package/dist/chunk-YJ3LSFMX.js +249 -0
  110. package/dist/chunk-YVK5RT3B.js +197 -0
  111. package/dist/chunk-YWWRLZUR.js +433 -0
  112. package/dist/chunk-Z4S5BCVZ.js +57 -0
  113. package/dist/chunk-ZYGK7GAK.js +1079 -0
  114. package/dist/claim-TSFPWTQY.js +198 -0
  115. package/dist/claim-TSFPWTQY.js.map +1 -0
  116. package/dist/cli.js +38 -37
  117. package/dist/cli.js.map +1 -1
  118. package/dist/companies-P7FZNJQV.js +196 -0
  119. package/dist/companies-P7FZNJQV.js.map +1 -0
  120. package/dist/complete-SYDIHMD5.js +82 -0
  121. package/dist/complete-SYDIHMD5.js.map +1 -0
  122. package/dist/connect-COS6G45S.js +43 -0
  123. package/dist/conversation-UJOWMJRH.js +94 -0
  124. package/dist/conversation-UJOWMJRH.js.map +1 -0
  125. package/dist/conversions-ONOIEILU.js +138 -0
  126. package/dist/conversions-ONOIEILU.js.map +1 -0
  127. package/dist/create-DPQRYQXK.js +208 -0
  128. package/dist/create-DPQRYQXK.js.map +1 -0
  129. package/dist/create-JD76Z4A4.js +60 -0
  130. package/dist/create-JD76Z4A4.js.map +1 -0
  131. package/dist/create-NOT3HGP2.js +133 -0
  132. package/dist/create-NOT3HGP2.js.map +1 -0
  133. package/dist/create-ZYEB7SHF.js +236 -0
  134. package/dist/create-ZYEB7SHF.js.map +1 -0
  135. package/dist/creatives-LRSELC7Y.js +221 -0
  136. package/dist/creatives-LRSELC7Y.js.map +1 -0
  137. package/dist/creatives-SEQHJD2M.js +58 -0
  138. package/dist/credentials-LHPTUVVA.js +288 -0
  139. package/dist/credentials-LHPTUVVA.js.map +1 -0
  140. package/dist/critique-Q7GSZ5RP.js +1459 -0
  141. package/dist/critique-Q7GSZ5RP.js.map +1 -0
  142. package/dist/critique-RR2XOQCE.js +228 -0
  143. package/dist/critique-RR2XOQCE.js.map +1 -0
  144. package/dist/crm-J7EU32PL.js +319 -0
  145. package/dist/crm-J7EU32PL.js.map +1 -0
  146. package/dist/crm-MC444ZVU.js +225 -0
  147. package/dist/crm-MC444ZVU.js.map +1 -0
  148. package/dist/customers-LMSX33FO.js +57 -0
  149. package/dist/delete-BQBVATMF.js +55 -0
  150. package/dist/delete-BQBVATMF.js.map +1 -0
  151. package/dist/delete-K7A3AUPH.js +65 -0
  152. package/dist/delete-K7A3AUPH.js.map +1 -0
  153. package/dist/delete-VV2ICIHF.js +67 -0
  154. package/dist/delete-VV2ICIHF.js.map +1 -0
  155. package/dist/demographics-7GWUXXS6.js +139 -0
  156. package/dist/demographics-7GWUXXS6.js.map +1 -0
  157. package/dist/discard-3CLZ4DPD.js +67 -0
  158. package/dist/discard-3CLZ4DPD.js.map +1 -0
  159. package/dist/domain-ZS74BSE6.js +99 -0
  160. package/dist/domain-ZS74BSE6.js.map +1 -0
  161. package/dist/draft-J3B33RAZ.js +308 -0
  162. package/dist/draft-J3B33RAZ.js.map +1 -0
  163. package/dist/draft-MZLWVX3D.js +218 -0
  164. package/dist/draft-MZLWVX3D.js.map +1 -0
  165. package/dist/draft-R56PIXCV.js +333 -0
  166. package/dist/draft-R56PIXCV.js.map +1 -0
  167. package/dist/experiment-7RJ5X2LL.js +1397 -0
  168. package/dist/experiments-NOSJJMYI.js +234 -0
  169. package/dist/experiments-NOSJJMYI.js.map +1 -0
  170. package/dist/facets-E6SHYUAI.js +115 -0
  171. package/dist/facets-E6SHYUAI.js.map +1 -0
  172. package/dist/feedback-HXCQBV7S.js +107 -0
  173. package/dist/feedback-HXCQBV7S.js.map +1 -0
  174. package/dist/feedback-record-GXPYXNT6.js +261 -0
  175. package/dist/feedback-record-GXPYXNT6.js.map +1 -0
  176. package/dist/fetch-HMUGSRE4.js +177 -0
  177. package/dist/fetch-HMUGSRE4.js.map +1 -0
  178. package/dist/find-2EPXK5RF.js +134 -0
  179. package/dist/fit-W7UNFZT5.js +63 -0
  180. package/dist/flows-SO5J3M3X.js +248 -0
  181. package/dist/flows-SO5J3M3X.js.map +1 -0
  182. package/dist/fonts-N42UYWTX.js +37 -0
  183. package/dist/forecast-24LGJVLC.js +119 -0
  184. package/dist/forecast-24LGJVLC.js.map +1 -0
  185. package/dist/funnel-NYT36B3C.js +395 -0
  186. package/dist/funnel-NYT36B3C.js.map +1 -0
  187. package/dist/ga4-6EIQC2TG.js +55 -0
  188. package/dist/get-KAGO4EC5.js +80 -0
  189. package/dist/get-KAGO4EC5.js.map +1 -0
  190. package/dist/get-PZX27LQY.js +38 -0
  191. package/dist/get-PZX27LQY.js.map +1 -0
  192. package/dist/get-R5JAFHTH.js +57 -0
  193. package/dist/get-R5JAFHTH.js.map +1 -0
  194. package/dist/google-O5OI6QFU.js +136 -0
  195. package/dist/google-ads-6X4BHGUR.js +196 -0
  196. package/dist/google-ads-6X4BHGUR.js.map +1 -0
  197. package/dist/gsc-BM3T2GDL.js +30 -0
  198. package/dist/history-LGOWYLBE.js +134 -0
  199. package/dist/history-LGOWYLBE.js.map +1 -0
  200. package/dist/hubspot-LJB3ETUT.js +780 -0
  201. package/dist/hubspot-LJB3ETUT.js.map +1 -0
  202. package/dist/icon-B7DG53S5.js +137 -0
  203. package/dist/ideas-DYN2DMFN.js +41 -0
  204. package/dist/images-EQCUXEHF.js +92 -0
  205. package/dist/ingest-B46AY3QU.js +24 -0
  206. package/dist/ingest-T7ZS2R4U.js +108 -0
  207. package/dist/ingest-T7ZS2R4U.js.map +1 -0
  208. package/dist/inspect-BSNGAT2S.js +190 -0
  209. package/dist/inspect-BSNGAT2S.js.map +1 -0
  210. package/dist/inspiration-TCCKM4R7.js +53 -0
  211. package/dist/keyword-metrics-KNTIN4ZK.js +198 -0
  212. package/dist/keyword-metrics-KNTIN4ZK.js.map +1 -0
  213. package/dist/keywords-for-site-S4MXGXWR.js +129 -0
  214. package/dist/keywords-for-site-S4MXGXWR.js.map +1 -0
  215. package/dist/landing-WVPA7NBR.js +28 -0
  216. package/dist/leads-EINV5FK3.js +113 -0
  217. package/dist/leads-EINV5FK3.js.map +1 -0
  218. package/dist/learn-7Z2VR6MS.js +205 -0
  219. package/dist/learn-7Z2VR6MS.js.map +1 -0
  220. package/dist/line-item-writes-Z3TIB5KZ.js +209 -0
  221. package/dist/line-item-writes-Z3TIB5KZ.js.map +1 -0
  222. package/dist/line-items-OEWYOPFP.js +103 -0
  223. package/dist/link-KYHUIPJE.js +65 -0
  224. package/dist/link-KYHUIPJE.js.map +1 -0
  225. package/dist/linkedin-JVB4HXJC.js +1314 -0
  226. package/dist/linkedin-JVB4HXJC.js.map +1 -0
  227. package/dist/list-EORTO73V.js +93 -0
  228. package/dist/list-EORTO73V.js.map +1 -0
  229. package/dist/list-QQVLURKH.js +152 -0
  230. package/dist/list-QQVLURKH.js.map +1 -0
  231. package/dist/list-QWGKRUSM.js +65 -0
  232. package/dist/list-QWGKRUSM.js.map +1 -0
  233. package/dist/list-WRBWQASJ.js +50 -0
  234. package/dist/list-Z6NMNK3T.js +304 -0
  235. package/dist/list-Z6NMNK3T.js.map +1 -0
  236. package/dist/log-RUMKYPYK.js +93 -0
  237. package/dist/log-RUMKYPYK.js.map +1 -0
  238. package/dist/logo-QTSBKP2J.js +18 -0
  239. package/dist/make-IJGCQA7C.js +1354 -0
  240. package/dist/make-IJGCQA7C.js.map +1 -0
  241. package/dist/map-QZHIJFQT.js +434 -0
  242. package/dist/map-QZHIJFQT.js.map +1 -0
  243. package/dist/mcp-ZH2XDV5P.js +715 -0
  244. package/dist/mcp-ZH2XDV5P.js.map +1 -0
  245. package/dist/media-sources-SQ2RPDBO.js +35 -0
  246. package/dist/media-sources-SQ2RPDBO.js.map +1 -0
  247. package/dist/members-4YX7JEZM.js +45 -0
  248. package/dist/members-4YX7JEZM.js.map +1 -0
  249. package/dist/normalize-ABIWLRIT.js +142 -0
  250. package/dist/normalize-ABIWLRIT.js.map +1 -0
  251. package/dist/options-SVCQVTNE.js +123 -0
  252. package/dist/options-SVCQVTNE.js.map +1 -0
  253. package/dist/organization-FNKDC742.js +947 -0
  254. package/dist/organization-FNKDC742.js.map +1 -0
  255. package/dist/performance-HTU5FR2K.js +25 -0
  256. package/dist/posts-3DAPTBH2.js +34 -0
  257. package/dist/posts-3DAPTBH2.js.map +1 -0
  258. package/dist/promoted-tweet-writes-DD3CJNWW.js +181 -0
  259. package/dist/promoted-tweet-writes-DD3CJNWW.js.map +1 -0
  260. package/dist/promoted-tweets-TTWN5OMW.js +119 -0
  261. package/dist/publish-Z62KGDJ2.js +342 -0
  262. package/dist/publish-Z62KGDJ2.js.map +1 -0
  263. package/dist/reddit-6C3PT5CT.js +27 -0
  264. package/dist/refresh-HCQXVFVR.js +95 -0
  265. package/dist/refresh-HCQXVFVR.js.map +1 -0
  266. package/dist/refresh-ZCGH64OZ.js +42 -0
  267. package/dist/refresh-ZCGH64OZ.js.map +1 -0
  268. package/dist/release-FIHW2HCH.js +61 -0
  269. package/dist/release-FIHW2HCH.js.map +1 -0
  270. package/dist/remove-CBR7NVMI.js +51 -0
  271. package/dist/remove-CBR7NVMI.js.map +1 -0
  272. package/dist/remove-PUZP5GWN.js +49 -0
  273. package/dist/remove-PUZP5GWN.js.map +1 -0
  274. package/dist/reopen-EJGLRQWR.js +64 -0
  275. package/dist/reopen-EJGLRQWR.js.map +1 -0
  276. package/dist/rerun-TVBZXASH.js +91 -0
  277. package/dist/rerun-TVBZXASH.js.map +1 -0
  278. package/dist/research-L25D4WHQ.js +263 -0
  279. package/dist/research-L25D4WHQ.js.map +1 -0
  280. package/dist/research-YCMMQVK6.js +62 -0
  281. package/dist/reset-HKKCWKZ7.js +55 -0
  282. package/dist/reset-HKKCWKZ7.js.map +1 -0
  283. package/dist/reset-SRL6I6GP.js +55 -0
  284. package/dist/reset-SRL6I6GP.js.map +1 -0
  285. package/dist/resolve-POMTTAFR.js +122 -0
  286. package/dist/resolve-POMTTAFR.js.map +1 -0
  287. package/dist/retry-MEPTOAV2.js +61 -0
  288. package/dist/retry-MEPTOAV2.js.map +1 -0
  289. package/dist/retry-RNGM3KKA.js +63 -0
  290. package/dist/retry-RNGM3KKA.js.map +1 -0
  291. package/dist/revenue-X4KPTSAM.js +89 -0
  292. package/dist/revenue-X4KPTSAM.js.map +1 -0
  293. package/dist/rules-VK7YA23Q.js +97 -0
  294. package/dist/rules-VK7YA23Q.js.map +1 -0
  295. package/dist/rules-add-VG7AT6EG.js +463 -0
  296. package/dist/rules-add-VG7AT6EG.js.map +1 -0
  297. package/dist/run-DIDQSZU7.js +67 -0
  298. package/dist/run-DIDQSZU7.js.map +1 -0
  299. package/dist/run-SR7DJ7M5.js +66 -0
  300. package/dist/scaffold-ad-46GTFUMP.js +1512 -0
  301. package/dist/scaffold-ad-46GTFUMP.js.map +1 -0
  302. package/dist/scaffold-static-ad-U63V4UHR.js +1006 -0
  303. package/dist/scaffold-static-ad-U63V4UHR.js.map +1 -0
  304. package/dist/scaffold-video-4DNTURH6.js +884 -0
  305. package/dist/scaffold-video-4DNTURH6.js.map +1 -0
  306. package/dist/schedule-JO66N7XO.js +62 -0
  307. package/dist/schedule-JO66N7XO.js.map +1 -0
  308. package/dist/schedule-JZBIX6LH.js +67 -0
  309. package/dist/schedule-JZBIX6LH.js.map +1 -0
  310. package/dist/scheduled-agents-N63EZNY6.js +50 -0
  311. package/dist/schema-B2XANMEY.js +133 -0
  312. package/dist/schema-B2XANMEY.js.map +1 -0
  313. package/dist/schema-C6SGBNA6.js +69 -0
  314. package/dist/search-7GHS3OUZ.js +51 -0
  315. package/dist/search-7GHS3OUZ.js.map +1 -0
  316. package/dist/search-W5HZUJA2.js +175 -0
  317. package/dist/search-W5HZUJA2.js.map +1 -0
  318. package/dist/select-LMGLNFWB.js +102 -0
  319. package/dist/select-LMGLNFWB.js.map +1 -0
  320. package/dist/set-prompt-M5E3UZDM.js +194 -0
  321. package/dist/set-prompt-M5E3UZDM.js.map +1 -0
  322. package/dist/setup-links-ERBQSKAB.js +142 -0
  323. package/dist/setup-links-ERBQSKAB.js.map +1 -0
  324. package/dist/site-PNVFJRYK.js +178 -0
  325. package/dist/site-PNVFJRYK.js.map +1 -0
  326. package/dist/sources-DMZJPLKC.js +455 -0
  327. package/dist/sources-DMZJPLKC.js.map +1 -0
  328. package/dist/sources-HN3GCEDX.js +30 -0
  329. package/dist/stale-VWN25WTL.js +72 -0
  330. package/dist/stale-VWN25WTL.js.map +1 -0
  331. package/dist/stats-CVF6AC7R.js +34 -0
  332. package/dist/status-SF7DTPCJ.js +63 -0
  333. package/dist/status-SF7DTPCJ.js.map +1 -0
  334. package/dist/stock-4LPQ6SM7.js +179 -0
  335. package/dist/studio-NZ6WQ7OE.js +49 -0
  336. package/dist/suggest-WMMEQCUH.js +66 -0
  337. package/dist/suggest-WMMEQCUH.js.map +1 -0
  338. package/dist/sync-F7VNZLWY.js +55 -0
  339. package/dist/sync-F7VNZLWY.js.map +1 -0
  340. package/dist/sync-HVNDPBOD.js +55 -0
  341. package/dist/sync-HVNDPBOD.js.map +1 -0
  342. package/dist/sync-definition-CKEUYKWN.js +65 -0
  343. package/dist/tag-KTQ2FV5C.js +57 -0
  344. package/dist/tag-KTQ2FV5C.js.map +1 -0
  345. package/dist/tag-manager-FLXXLNKP.js +43 -0
  346. package/dist/tags-EUOOSAKN.js +26 -0
  347. package/dist/tags-KOMAP2G5.js +21 -0
  348. package/dist/tags-KOMAP2G5.js.map +1 -0
  349. package/dist/tags-TKXJGTR3.js +21 -0
  350. package/dist/tags-TKXJGTR3.js.map +1 -0
  351. package/dist/tags-VWIPDCUA.js +225 -0
  352. package/dist/tags-VWIPDCUA.js.map +1 -0
  353. package/dist/tags-XAB4HWGW.js +21 -0
  354. package/dist/tags-XAB4HWGW.js.map +1 -0
  355. package/dist/targeting-criteria-HE7K52WN.js +113 -0
  356. package/dist/targets-NA4XPDBF.js +104 -0
  357. package/dist/targets-NA4XPDBF.js.map +1 -0
  358. package/dist/testimonials-3Q5XM7JD.js +32 -0
  359. package/dist/top-companies-TKO4QGPJ.js +109 -0
  360. package/dist/top-companies-TKO4QGPJ.js.map +1 -0
  361. package/dist/translate-YVIZ5T44.js +605 -0
  362. package/dist/translate-YVIZ5T44.js.map +1 -0
  363. package/dist/triggers-QX7VW7UO.js +143 -0
  364. package/dist/triggers-QX7VW7UO.js.map +1 -0
  365. package/dist/unlink-64SRPUNG.js +68 -0
  366. package/dist/unlink-64SRPUNG.js.map +1 -0
  367. package/dist/unstage-5X2MOUMF.js +86 -0
  368. package/dist/unstage-5X2MOUMF.js.map +1 -0
  369. package/dist/update-22ZBHURE.js +81 -0
  370. package/dist/update-22ZBHURE.js.map +1 -0
  371. package/dist/update-2LTPSGWT.js +99 -0
  372. package/dist/update-2LTPSGWT.js.map +1 -0
  373. package/dist/update-DOKS7ATM.js +189 -0
  374. package/dist/update-DOKS7ATM.js.map +1 -0
  375. package/dist/update-FB6X463M.js +64 -0
  376. package/dist/update-FB6X463M.js.map +1 -0
  377. package/dist/update-QIZ7XFAM.js +153 -0
  378. package/dist/update-QIZ7XFAM.js.map +1 -0
  379. package/dist/upload-XJ7TUVIK.js +127 -0
  380. package/dist/upload-XJ7TUVIK.js.map +1 -0
  381. package/dist/url-params-KLQOLNPS.js +99 -0
  382. package/dist/url-params-KLQOLNPS.js.map +1 -0
  383. package/dist/validate-YTBJBG44.js +118 -0
  384. package/dist/validate-YTBJBG44.js.map +1 -0
  385. package/dist/videos-WAPUPJVT.js +39 -0
  386. package/dist/viewer-check-GHQA3UY2.js +81 -0
  387. package/dist/web-6JMWERTT.js +141 -0
  388. package/dist/web-6JMWERTT.js.map +1 -0
  389. package/dist/winning-ads-XCVUAIOU.js +86 -0
  390. package/dist/write-commands-N74CDMQM.js +1493 -0
  391. package/dist/write-commands-N74CDMQM.js.map +1 -0
  392. package/dist/x-SI4KYDEY.js +47 -0
  393. package/package.json +1 -1
  394. package/dist/account-UHNR5KTE.js +0 -79
  395. package/dist/account-UHNR5KTE.js.map +0 -1
  396. package/dist/accounts-KMLXHADA.js +0 -77
  397. package/dist/accounts-KMLXHADA.js.map +0 -1
  398. package/dist/accounts-QDGNTSTV.js +0 -611
  399. package/dist/accounts-QDGNTSTV.js.map +0 -1
  400. package/dist/actions-QL5UD2W4.js +0 -55
  401. package/dist/activecampaign-5OD45ROS.js +0 -935
  402. package/dist/activecampaign-5OD45ROS.js.map +0 -1
  403. package/dist/add-2F7BEVYD.js +0 -105
  404. package/dist/add-2F7BEVYD.js.map +0 -1
  405. package/dist/add-6K6LO7CM.js +0 -104
  406. package/dist/add-6K6LO7CM.js.map +0 -1
  407. package/dist/add-LYDJZDGO.js +0 -302
  408. package/dist/add-LYDJZDGO.js.map +0 -1
  409. package/dist/ads-DHPJFU52.js +0 -40
  410. package/dist/advertisers-23LU7GTV.js +0 -120
  411. package/dist/advertisers-23LU7GTV.js.map +0 -1
  412. package/dist/analytics-HO2SLL4W.js +0 -433
  413. package/dist/analytics-HO2SLL4W.js.map +0 -1
  414. package/dist/analytics-LD3D7ISK.js +0 -1976
  415. package/dist/analytics-LD3D7ISK.js.map +0 -1
  416. package/dist/assign-CLKJKH2B.js +0 -77
  417. package/dist/assign-CLKJKH2B.js.map +0 -1
  418. package/dist/audience-size-NNYYXODL.js +0 -73
  419. package/dist/audience-size-NNYYXODL.js.map +0 -1
  420. package/dist/audit-KB4P2XGS.js +0 -151
  421. package/dist/audit-KB4P2XGS.js.map +0 -1
  422. package/dist/autocomplete-VZD2SMTE.js +0 -111
  423. package/dist/autocomplete-VZD2SMTE.js.map +0 -1
  424. package/dist/avatars-FKOO6VZ2.js +0 -38
  425. package/dist/bid-pricing-6LLXOLLI.js +0 -100
  426. package/dist/bid-pricing-6LLXOLLI.js.map +0 -1
  427. package/dist/brand-NNWHBIAX.js +0 -22
  428. package/dist/brief-CPJQWT6W.js +0 -538
  429. package/dist/brief-CPJQWT6W.js.map +0 -1
  430. package/dist/campaign-groups-YPYNXOWU.js +0 -95
  431. package/dist/campaign-groups-YPYNXOWU.js.map +0 -1
  432. package/dist/campaign-writes-UJ4L2O6G.js +0 -165
  433. package/dist/campaign-writes-UJ4L2O6G.js.map +0 -1
  434. package/dist/campaigns-HLBZRH5A.js +0 -107
  435. package/dist/campaigns-N44ZDGB5.js +0 -109
  436. package/dist/campaigns-N44ZDGB5.js.map +0 -1
  437. package/dist/canvas-D64GLWUO.js +0 -46
  438. package/dist/capabilities-LWXCWMIY.js +0 -144
  439. package/dist/capabilities-LWXCWMIY.js.map +0 -1
  440. package/dist/chatgpt-YI6YNACI.js +0 -47
  441. package/dist/chats-7WGC2CVW.js +0 -276
  442. package/dist/chats-7WGC2CVW.js.map +0 -1
  443. package/dist/check-EH6BXWWL.js +0 -104
  444. package/dist/check-EH6BXWWL.js.map +0 -1
  445. package/dist/chunk-2B772ZEA.js +0 -169
  446. package/dist/chunk-2KRK667G.js +0 -51
  447. package/dist/chunk-2TVXJPGR.js +0 -103
  448. package/dist/chunk-3AMLOCXY.js +0 -392
  449. package/dist/chunk-3B5LPK6D.js +0 -658
  450. package/dist/chunk-3B5LPK6D.js.map +0 -1
  451. package/dist/chunk-3N5A44NQ.js +0 -122
  452. package/dist/chunk-3WAYZQNV.js +0 -61
  453. package/dist/chunk-5A257KJA.js +0 -160
  454. package/dist/chunk-6QGS3RQP.js +0 -363
  455. package/dist/chunk-AFD32O4A.js +0 -494
  456. package/dist/chunk-AW2GKIGS.js +0 -433
  457. package/dist/chunk-CYSBNCPX.js +0 -55
  458. package/dist/chunk-CYSBNCPX.js.map +0 -1
  459. package/dist/chunk-DAO63OOP.js +0 -6352
  460. package/dist/chunk-DAO63OOP.js.map +0 -1
  461. package/dist/chunk-EMQUW6JB.js +0 -942
  462. package/dist/chunk-EW3JEKIV.js +0 -139
  463. package/dist/chunk-FBFWMTOP.js +0 -19
  464. package/dist/chunk-GXDLWBOY.js +0 -73
  465. package/dist/chunk-GXDLWBOY.js.map +0 -1
  466. package/dist/chunk-GXGYTFZA.js +0 -8939
  467. package/dist/chunk-I7J7YQXZ.js +0 -142
  468. package/dist/chunk-IBY44U2M.js +0 -1079
  469. package/dist/chunk-IFXGCI33.js +0 -297
  470. package/dist/chunk-IKLHXGMF.js +0 -91
  471. package/dist/chunk-IYTPWAN3.js +0 -604
  472. package/dist/chunk-J3CWAERS.js +0 -3868
  473. package/dist/chunk-JH2L5CQD.js +0 -206
  474. package/dist/chunk-JUVVCA7B.js +0 -97
  475. package/dist/chunk-MK6XJUCQ.js +0 -197
  476. package/dist/chunk-N3I6ZXR7.js +0 -66
  477. package/dist/chunk-NBO2NSAW.js +0 -592
  478. package/dist/chunk-NEU5QD2C.js +0 -249
  479. package/dist/chunk-NKIBXOHT.js +0 -344
  480. package/dist/chunk-OE3MIV4F.js +0 -547
  481. package/dist/chunk-P2MFWJR3.js +0 -903
  482. package/dist/chunk-PHCIFBP3.js +0 -89
  483. package/dist/chunk-PTUXBO5O.js +0 -224
  484. package/dist/chunk-Q3LXLWZY.js +0 -275
  485. package/dist/chunk-Q5WBTVA7.js +0 -455
  486. package/dist/chunk-RDEAVCMF.js +0 -399
  487. package/dist/chunk-RDEAVCMF.js.map +0 -1
  488. package/dist/chunk-RGMKXNQP.js +0 -23
  489. package/dist/chunk-RZTKCCUL.js +0 -831
  490. package/dist/chunk-TTKBNBQF.js +0 -156
  491. package/dist/chunk-VB3XUR6A.js +0 -207
  492. package/dist/chunk-XCKINS7K.js +0 -57
  493. package/dist/chunk-Y6GKV7CU.js +0 -346
  494. package/dist/chunk-Y6GKV7CU.js.map +0 -1
  495. package/dist/chunk-Z2GQREJY.js +0 -159
  496. package/dist/chunk-ZDAVSTEE.js +0 -172
  497. package/dist/chunk-ZXCSOVS5.js +0 -191
  498. package/dist/claim-SVDCQ2AI.js +0 -197
  499. package/dist/claim-SVDCQ2AI.js.map +0 -1
  500. package/dist/companies-BYMYQK6A.js +0 -195
  501. package/dist/companies-BYMYQK6A.js.map +0 -1
  502. package/dist/complete-NEH3MWRI.js +0 -81
  503. package/dist/complete-NEH3MWRI.js.map +0 -1
  504. package/dist/connect-5PGL7ZOM.js +0 -42
  505. package/dist/conversation-CSOKJXDW.js +0 -93
  506. package/dist/conversation-CSOKJXDW.js.map +0 -1
  507. package/dist/conversions-4JOTTFEH.js +0 -135
  508. package/dist/conversions-4JOTTFEH.js.map +0 -1
  509. package/dist/create-2XYMBULY.js +0 -207
  510. package/dist/create-2XYMBULY.js.map +0 -1
  511. package/dist/create-56PTZABQ.js +0 -235
  512. package/dist/create-56PTZABQ.js.map +0 -1
  513. package/dist/create-D6S6TGWY.js +0 -59
  514. package/dist/create-D6S6TGWY.js.map +0 -1
  515. package/dist/create-SMW4O5PC.js +0 -132
  516. package/dist/create-SMW4O5PC.js.map +0 -1
  517. package/dist/creatives-OO76DAFS.js +0 -58
  518. package/dist/creatives-VJUYWJL6.js +0 -182
  519. package/dist/creatives-VJUYWJL6.js.map +0 -1
  520. package/dist/credentials-2ONYUJW6.js +0 -287
  521. package/dist/credentials-2ONYUJW6.js.map +0 -1
  522. package/dist/critique-NDDFSGPE.js +0 -1458
  523. package/dist/critique-NDDFSGPE.js.map +0 -1
  524. package/dist/critique-YXZVMLZ4.js +0 -227
  525. package/dist/critique-YXZVMLZ4.js.map +0 -1
  526. package/dist/crm-Q6CEP5XV.js +0 -224
  527. package/dist/crm-Q6CEP5XV.js.map +0 -1
  528. package/dist/crm-WRONZYDH.js +0 -318
  529. package/dist/crm-WRONZYDH.js.map +0 -1
  530. package/dist/customers-2EFYSCU2.js +0 -56
  531. package/dist/delete-7WEVC3FS.js +0 -66
  532. package/dist/delete-7WEVC3FS.js.map +0 -1
  533. package/dist/delete-RBWK255M.js +0 -54
  534. package/dist/delete-RBWK255M.js.map +0 -1
  535. package/dist/delete-VN4WWMQF.js +0 -64
  536. package/dist/delete-VN4WWMQF.js.map +0 -1
  537. package/dist/demographics-I5XZ435C.js +0 -138
  538. package/dist/demographics-I5XZ435C.js.map +0 -1
  539. package/dist/discard-XJLIXTNM.js +0 -66
  540. package/dist/discard-XJLIXTNM.js.map +0 -1
  541. package/dist/domain-M7AEGAYI.js +0 -98
  542. package/dist/domain-M7AEGAYI.js.map +0 -1
  543. package/dist/draft-5DQI4W5F.js +0 -306
  544. package/dist/draft-5DQI4W5F.js.map +0 -1
  545. package/dist/draft-7IIYHSY2.js +0 -332
  546. package/dist/draft-7IIYHSY2.js.map +0 -1
  547. package/dist/draft-CN6GKVBF.js +0 -217
  548. package/dist/draft-CN6GKVBF.js.map +0 -1
  549. package/dist/experiment-IDDWRCJ7.js +0 -1397
  550. package/dist/facets-ZLZ6LIHN.js +0 -114
  551. package/dist/facets-ZLZ6LIHN.js.map +0 -1
  552. package/dist/feedback-7LEX2P5Q.js +0 -106
  553. package/dist/feedback-7LEX2P5Q.js.map +0 -1
  554. package/dist/feedback-record-P4JJ63KA.js +0 -260
  555. package/dist/feedback-record-P4JJ63KA.js.map +0 -1
  556. package/dist/fetch-MIVCEHXZ.js +0 -176
  557. package/dist/fetch-MIVCEHXZ.js.map +0 -1
  558. package/dist/find-VHN34MWL.js +0 -134
  559. package/dist/fit-SS6HSZPU.js +0 -62
  560. package/dist/flows-UTIIHDNE.js +0 -247
  561. package/dist/flows-UTIIHDNE.js.map +0 -1
  562. package/dist/fonts-YPNN7ZJP.js +0 -36
  563. package/dist/forecast-OBSHG2GJ.js +0 -118
  564. package/dist/forecast-OBSHG2GJ.js.map +0 -1
  565. package/dist/funnel-A4MXQYBA.js +0 -394
  566. package/dist/funnel-A4MXQYBA.js.map +0 -1
  567. package/dist/ga4-ZPAEF2G2.js +0 -55
  568. package/dist/get-MDAO6I7T.js +0 -56
  569. package/dist/get-MDAO6I7T.js.map +0 -1
  570. package/dist/get-ZB553BSH.js +0 -79
  571. package/dist/get-ZB553BSH.js.map +0 -1
  572. package/dist/google-C3X7O2UO.js +0 -136
  573. package/dist/google-ads-FTWL772L.js +0 -195
  574. package/dist/google-ads-FTWL772L.js.map +0 -1
  575. package/dist/gsc-SDDHGTZK.js +0 -30
  576. package/dist/history-WKJYKDMG.js +0 -133
  577. package/dist/history-WKJYKDMG.js.map +0 -1
  578. package/dist/hubspot-EPHVEPOO.js +0 -779
  579. package/dist/hubspot-EPHVEPOO.js.map +0 -1
  580. package/dist/icon-MYPDC6FM.js +0 -137
  581. package/dist/ideas-3PBH7VEX.js +0 -40
  582. package/dist/images-J35C3WG4.js +0 -92
  583. package/dist/ingest-5QOPUKFE.js +0 -107
  584. package/dist/ingest-5QOPUKFE.js.map +0 -1
  585. package/dist/ingest-OKUYP632.js +0 -23
  586. package/dist/inspect-PMNCP6MV.js +0 -189
  587. package/dist/inspect-PMNCP6MV.js.map +0 -1
  588. package/dist/inspiration-QAL7NS7G.js +0 -53
  589. package/dist/keyword-metrics-R752SJIT.js +0 -197
  590. package/dist/keyword-metrics-R752SJIT.js.map +0 -1
  591. package/dist/keywords-for-site-7UWPJYQF.js +0 -128
  592. package/dist/keywords-for-site-7UWPJYQF.js.map +0 -1
  593. package/dist/landing-CBVIOGJ5.js +0 -28
  594. package/dist/leads-LIJS6Y5W.js +0 -90
  595. package/dist/leads-LIJS6Y5W.js.map +0 -1
  596. package/dist/learn-N6QV7GXA.js +0 -204
  597. package/dist/learn-N6QV7GXA.js.map +0 -1
  598. package/dist/line-item-writes-3WPJXKIL.js +0 -208
  599. package/dist/line-item-writes-3WPJXKIL.js.map +0 -1
  600. package/dist/line-items-ZOFKOGAA.js +0 -103
  601. package/dist/link-DDRQKOUL.js +0 -64
  602. package/dist/link-DDRQKOUL.js.map +0 -1
  603. package/dist/linkedin-UWZCF66X.js +0 -1057
  604. package/dist/linkedin-UWZCF66X.js.map +0 -1
  605. package/dist/list-5PLXVPLB.js +0 -151
  606. package/dist/list-5PLXVPLB.js.map +0 -1
  607. package/dist/list-RC2NX6AX.js +0 -50
  608. package/dist/list-VSJISE7U.js +0 -303
  609. package/dist/list-VSJISE7U.js.map +0 -1
  610. package/dist/list-WTVOBQYX.js +0 -64
  611. package/dist/list-WTVOBQYX.js.map +0 -1
  612. package/dist/log-YKKPROLZ.js +0 -92
  613. package/dist/log-YKKPROLZ.js.map +0 -1
  614. package/dist/logo-WE2UELX6.js +0 -18
  615. package/dist/make-RNOWBLZQ.js +0 -1353
  616. package/dist/make-RNOWBLZQ.js.map +0 -1
  617. package/dist/map-WTDPQLVO.js +0 -433
  618. package/dist/map-WTDPQLVO.js.map +0 -1
  619. package/dist/mcp-XJNSCPP3.js +0 -714
  620. package/dist/mcp-XJNSCPP3.js.map +0 -1
  621. package/dist/media-sources-JGBDDXZ5.js +0 -32
  622. package/dist/media-sources-JGBDDXZ5.js.map +0 -1
  623. package/dist/members-O3BTMRXX.js +0 -44
  624. package/dist/members-O3BTMRXX.js.map +0 -1
  625. package/dist/normalize-R5AYLA2J.js +0 -141
  626. package/dist/normalize-R5AYLA2J.js.map +0 -1
  627. package/dist/options-AILRY7JY.js +0 -122
  628. package/dist/options-AILRY7JY.js.map +0 -1
  629. package/dist/organization-KJJXZLVK.js +0 -946
  630. package/dist/organization-KJJXZLVK.js.map +0 -1
  631. package/dist/performance-7YU4HOGH.js +0 -24
  632. package/dist/promoted-tweet-writes-TNELWPVG.js +0 -180
  633. package/dist/promoted-tweet-writes-TNELWPVG.js.map +0 -1
  634. package/dist/promoted-tweets-76WKUFJQ.js +0 -119
  635. package/dist/publish-BKLHCKHB.js +0 -341
  636. package/dist/publish-BKLHCKHB.js.map +0 -1
  637. package/dist/reddit-YK3YUZEI.js +0 -26
  638. package/dist/refresh-WIII7KXB.js +0 -94
  639. package/dist/refresh-WIII7KXB.js.map +0 -1
  640. package/dist/release-ZHXYQI7G.js +0 -60
  641. package/dist/release-ZHXYQI7G.js.map +0 -1
  642. package/dist/remove-NOX4BXWK.js +0 -50
  643. package/dist/remove-NOX4BXWK.js.map +0 -1
  644. package/dist/remove-VLWRCOEZ.js +0 -48
  645. package/dist/remove-VLWRCOEZ.js.map +0 -1
  646. package/dist/reopen-NLWKK5HB.js +0 -63
  647. package/dist/reopen-NLWKK5HB.js.map +0 -1
  648. package/dist/rerun-DZWQNMZQ.js +0 -90
  649. package/dist/rerun-DZWQNMZQ.js.map +0 -1
  650. package/dist/research-Q3P76RHN.js +0 -62
  651. package/dist/research-UDZBCDNX.js +0 -262
  652. package/dist/research-UDZBCDNX.js.map +0 -1
  653. package/dist/reset-5UHFX7QY.js +0 -54
  654. package/dist/reset-5UHFX7QY.js.map +0 -1
  655. package/dist/reset-MTRJQUP7.js +0 -54
  656. package/dist/reset-MTRJQUP7.js.map +0 -1
  657. package/dist/resolve-DA72VT7Q.js +0 -121
  658. package/dist/resolve-DA72VT7Q.js.map +0 -1
  659. package/dist/retry-LQUBX5TK.js +0 -62
  660. package/dist/retry-LQUBX5TK.js.map +0 -1
  661. package/dist/retry-U6F4CS6O.js +0 -60
  662. package/dist/retry-U6F4CS6O.js.map +0 -1
  663. package/dist/rules-VS5PZ7VO.js +0 -96
  664. package/dist/rules-VS5PZ7VO.js.map +0 -1
  665. package/dist/rules-add-LMVZYDXE.js +0 -462
  666. package/dist/rules-add-LMVZYDXE.js.map +0 -1
  667. package/dist/run-6PRA2YSD.js +0 -65
  668. package/dist/run-R6COFNOR.js +0 -66
  669. package/dist/run-R6COFNOR.js.map +0 -1
  670. package/dist/scaffold-ad-3OVJ7VZQ.js +0 -1511
  671. package/dist/scaffold-ad-3OVJ7VZQ.js.map +0 -1
  672. package/dist/scaffold-static-ad-DDRA3Q5I.js +0 -1005
  673. package/dist/scaffold-static-ad-DDRA3Q5I.js.map +0 -1
  674. package/dist/scaffold-video-3JZYFYFU.js +0 -883
  675. package/dist/scaffold-video-3JZYFYFU.js.map +0 -1
  676. package/dist/schedule-BRSYHMKR.js +0 -66
  677. package/dist/schedule-BRSYHMKR.js.map +0 -1
  678. package/dist/schedule-ED2YDUPY.js +0 -61
  679. package/dist/schedule-ED2YDUPY.js.map +0 -1
  680. package/dist/scheduled-agents-5P67MVGX.js +0 -50
  681. package/dist/schema-4XVKERSA.js +0 -132
  682. package/dist/schema-4XVKERSA.js.map +0 -1
  683. package/dist/schema-RRAQW3OS.js +0 -69
  684. package/dist/search-Y2UMIQ57.js +0 -174
  685. package/dist/search-Y2UMIQ57.js.map +0 -1
  686. package/dist/select-OZ4E6VLF.js +0 -101
  687. package/dist/select-OZ4E6VLF.js.map +0 -1
  688. package/dist/set-prompt-O4YAE4CE.js +0 -193
  689. package/dist/set-prompt-O4YAE4CE.js.map +0 -1
  690. package/dist/setup-links-2GJYCV2A.js +0 -141
  691. package/dist/setup-links-2GJYCV2A.js.map +0 -1
  692. package/dist/site-47B6V2UX.js +0 -177
  693. package/dist/site-47B6V2UX.js.map +0 -1
  694. package/dist/sources-DXPZAPQ7.js +0 -454
  695. package/dist/sources-DXPZAPQ7.js.map +0 -1
  696. package/dist/sources-NDXYTASG.js +0 -30
  697. package/dist/stale-VLVBO2L6.js +0 -71
  698. package/dist/stale-VLVBO2L6.js.map +0 -1
  699. package/dist/stats-37OFAMPW.js +0 -34
  700. package/dist/status-4ODD46XY.js +0 -62
  701. package/dist/status-4ODD46XY.js.map +0 -1
  702. package/dist/stock-6R5E7MJX.js +0 -179
  703. package/dist/studio-LEIGL3Q7.js +0 -49
  704. package/dist/sync-EKGEWE53.js +0 -54
  705. package/dist/sync-EKGEWE53.js.map +0 -1
  706. package/dist/sync-TKNVBUDM.js +0 -54
  707. package/dist/sync-TKNVBUDM.js.map +0 -1
  708. package/dist/sync-definition-M5R3H3TP.js +0 -64
  709. package/dist/tag-manager-3Q55PBEW.js +0 -43
  710. package/dist/tags-4N5UUUN6.js +0 -26
  711. package/dist/tags-5NHIAD5A.js +0 -20
  712. package/dist/tags-5NHIAD5A.js.map +0 -1
  713. package/dist/tags-UUKWSWCN.js +0 -20
  714. package/dist/tags-UUKWSWCN.js.map +0 -1
  715. package/dist/tags-VK7B5DJF.js +0 -20
  716. package/dist/tags-VK7B5DJF.js.map +0 -1
  717. package/dist/tags-XAHIB3WA.js +0 -224
  718. package/dist/tags-XAHIB3WA.js.map +0 -1
  719. package/dist/targeting-criteria-AVARWV2G.js +0 -113
  720. package/dist/targets-6RYLQRID.js +0 -103
  721. package/dist/targets-6RYLQRID.js.map +0 -1
  722. package/dist/testimonials-6TF6BOFN.js +0 -32
  723. package/dist/top-companies-45EHRCJD.js +0 -108
  724. package/dist/top-companies-45EHRCJD.js.map +0 -1
  725. package/dist/translate-VHLBACCE.js +0 -604
  726. package/dist/translate-VHLBACCE.js.map +0 -1
  727. package/dist/triggers-ERQONJNO.js +0 -142
  728. package/dist/triggers-ERQONJNO.js.map +0 -1
  729. package/dist/unlink-TPDO6JNF.js +0 -67
  730. package/dist/unlink-TPDO6JNF.js.map +0 -1
  731. package/dist/unstage-YKKQQ7LW.js +0 -85
  732. package/dist/unstage-YKKQQ7LW.js.map +0 -1
  733. package/dist/update-43WU6X7R.js +0 -63
  734. package/dist/update-43WU6X7R.js.map +0 -1
  735. package/dist/update-CAHLAXWO.js +0 -98
  736. package/dist/update-CAHLAXWO.js.map +0 -1
  737. package/dist/update-NGH6YADN.js +0 -152
  738. package/dist/update-NGH6YADN.js.map +0 -1
  739. package/dist/update-SPJIHHLE.js +0 -188
  740. package/dist/update-SPJIHHLE.js.map +0 -1
  741. package/dist/upload-ACESIZIZ.js +0 -126
  742. package/dist/upload-ACESIZIZ.js.map +0 -1
  743. package/dist/url-params-MIXEDBF7.js +0 -98
  744. package/dist/url-params-MIXEDBF7.js.map +0 -1
  745. package/dist/validate-XJJA7ULE.js +0 -117
  746. package/dist/validate-XJJA7ULE.js.map +0 -1
  747. package/dist/videos-LBXPG7WC.js +0 -39
  748. package/dist/viewer-check-7VJ3GUZX.js +0 -80
  749. package/dist/web-EWQJC2SD.js +0 -140
  750. package/dist/web-EWQJC2SD.js.map +0 -1
  751. package/dist/winning-ads-SAOJAKEQ.js +0 -86
  752. package/dist/write-commands-QPDE4GWW.js +0 -1024
  753. package/dist/write-commands-QPDE4GWW.js.map +0 -1
  754. package/dist/x-LXOJPCRF.js +0 -47
  755. /package/dist/{actions-QL5UD2W4.js.map → actions-FMNJSOBA.js.map} +0 -0
  756. /package/dist/{ads-DHPJFU52.js.map → ads-OLXSDPD6.js.map} +0 -0
  757. /package/dist/{avatars-FKOO6VZ2.js.map → avatars-I4H3NMEJ.js.map} +0 -0
  758. /package/dist/{brand-NNWHBIAX.js.map → brand-3V7ECY7D.js.map} +0 -0
  759. /package/dist/{campaigns-HLBZRH5A.js.map → campaigns-MCB76NPQ.js.map} +0 -0
  760. /package/dist/{canvas-D64GLWUO.js.map → canvas-JCNKMGCG.js.map} +0 -0
  761. /package/dist/{chatgpt-YI6YNACI.js.map → chatgpt-XFZ42NXC.js.map} +0 -0
  762. /package/dist/{chunk-VB3XUR6A.js.map → chunk-2YTBPRRG.js.map} +0 -0
  763. /package/dist/{chunk-JUVVCA7B.js.map → chunk-3SNCMEJB.js.map} +0 -0
  764. /package/dist/{chunk-RGMKXNQP.js.map → chunk-7QGFO35A.js.map} +0 -0
  765. /package/dist/{chunk-ZXCSOVS5.js.map → chunk-AV7ALENU.js.map} +0 -0
  766. /package/dist/{chunk-IYTPWAN3.js.map → chunk-BRLFQ4VX.js.map} +0 -0
  767. /package/dist/{chunk-RZTKCCUL.js.map → chunk-DJE7UXYT.js.map} +0 -0
  768. /package/dist/{chunk-EW3JEKIV.js.map → chunk-EFWXYUSK.js.map} +0 -0
  769. /package/dist/{chunk-J3CWAERS.js.map → chunk-EONSZAZB.js.map} +0 -0
  770. /package/dist/{chunk-PHCIFBP3.js.map → chunk-FG3MV2XM.js.map} +0 -0
  771. /package/dist/{chunk-3AMLOCXY.js.map → chunk-FKG476GH.js.map} +0 -0
  772. /package/dist/{chunk-IFXGCI33.js.map → chunk-FUGQSIYG.js.map} +0 -0
  773. /package/dist/{chunk-Q3LXLWZY.js.map → chunk-HPLHAHG5.js.map} +0 -0
  774. /package/dist/{chunk-3N5A44NQ.js.map → chunk-I24YT2KG.js.map} +0 -0
  775. /package/dist/{chunk-P2MFWJR3.js.map → chunk-IFDZZOUC.js.map} +0 -0
  776. /package/dist/{chunk-Q5WBTVA7.js.map → chunk-JVVUI55M.js.map} +0 -0
  777. /package/dist/{chunk-6QGS3RQP.js.map → chunk-KKSHEPBY.js.map} +0 -0
  778. /package/dist/{chunk-OE3MIV4F.js.map → chunk-KQ7RCLGC.js.map} +0 -0
  779. /package/dist/{chunk-ZDAVSTEE.js.map → chunk-L7WMS5PW.js.map} +0 -0
  780. /package/dist/{chunk-FBFWMTOP.js.map → chunk-LBRO4MTL.js.map} +0 -0
  781. /package/dist/{chunk-PTUXBO5O.js.map → chunk-LNRPOULW.js.map} +0 -0
  782. /package/dist/{chunk-EMQUW6JB.js.map → chunk-LX6WC2XZ.js.map} +0 -0
  783. /package/dist/{chunk-I7J7YQXZ.js.map → chunk-MMGTJBM6.js.map} +0 -0
  784. /package/dist/{chunk-2KRK667G.js.map → chunk-OEZYSL3U.js.map} +0 -0
  785. /package/dist/{chunk-2TVXJPGR.js.map → chunk-OOVHBMQB.js.map} +0 -0
  786. /package/dist/{chunk-Z2GQREJY.js.map → chunk-PTH7VWKK.js.map} +0 -0
  787. /package/dist/{chunk-N3I6ZXR7.js.map → chunk-QZF4BVKL.js.map} +0 -0
  788. /package/dist/{chunk-3WAYZQNV.js.map → chunk-RITUSBYO.js.map} +0 -0
  789. /package/dist/{chunk-JH2L5CQD.js.map → chunk-SSTL3A7Z.js.map} +0 -0
  790. /package/dist/{chunk-2B772ZEA.js.map → chunk-TD4SO6TR.js.map} +0 -0
  791. /package/dist/{chunk-IKLHXGMF.js.map → chunk-UZ4RTOFG.js.map} +0 -0
  792. /package/dist/{chunk-NBO2NSAW.js.map → chunk-VAX7PFQV.js.map} +0 -0
  793. /package/dist/{chunk-AFD32O4A.js.map → chunk-VDRSZK4P.js.map} +0 -0
  794. /package/dist/{chunk-NKIBXOHT.js.map → chunk-VNU2EYD4.js.map} +0 -0
  795. /package/dist/{chunk-TTKBNBQF.js.map → chunk-WT4WDIXA.js.map} +0 -0
  796. /package/dist/{chunk-5A257KJA.js.map → chunk-XEX23CIB.js.map} +0 -0
  797. /package/dist/{chunk-GXGYTFZA.js.map → chunk-XXDF25BW.js.map} +0 -0
  798. /package/dist/{chunk-NEU5QD2C.js.map → chunk-YJ3LSFMX.js.map} +0 -0
  799. /package/dist/{chunk-MK6XJUCQ.js.map → chunk-YVK5RT3B.js.map} +0 -0
  800. /package/dist/{chunk-AW2GKIGS.js.map → chunk-YWWRLZUR.js.map} +0 -0
  801. /package/dist/{chunk-XCKINS7K.js.map → chunk-Z4S5BCVZ.js.map} +0 -0
  802. /package/dist/{chunk-IBY44U2M.js.map → chunk-ZYGK7GAK.js.map} +0 -0
  803. /package/dist/{connect-5PGL7ZOM.js.map → connect-COS6G45S.js.map} +0 -0
  804. /package/dist/{creatives-OO76DAFS.js.map → creatives-SEQHJD2M.js.map} +0 -0
  805. /package/dist/{customers-2EFYSCU2.js.map → customers-LMSX33FO.js.map} +0 -0
  806. /package/dist/{experiment-IDDWRCJ7.js.map → experiment-7RJ5X2LL.js.map} +0 -0
  807. /package/dist/{find-VHN34MWL.js.map → find-2EPXK5RF.js.map} +0 -0
  808. /package/dist/{fit-SS6HSZPU.js.map → fit-W7UNFZT5.js.map} +0 -0
  809. /package/dist/{fonts-YPNN7ZJP.js.map → fonts-N42UYWTX.js.map} +0 -0
  810. /package/dist/{ga4-ZPAEF2G2.js.map → ga4-6EIQC2TG.js.map} +0 -0
  811. /package/dist/{google-C3X7O2UO.js.map → google-O5OI6QFU.js.map} +0 -0
  812. /package/dist/{gsc-SDDHGTZK.js.map → gsc-BM3T2GDL.js.map} +0 -0
  813. /package/dist/{icon-MYPDC6FM.js.map → icon-B7DG53S5.js.map} +0 -0
  814. /package/dist/{ideas-3PBH7VEX.js.map → ideas-DYN2DMFN.js.map} +0 -0
  815. /package/dist/{images-J35C3WG4.js.map → images-EQCUXEHF.js.map} +0 -0
  816. /package/dist/{ingest-OKUYP632.js.map → ingest-B46AY3QU.js.map} +0 -0
  817. /package/dist/{inspiration-QAL7NS7G.js.map → inspiration-TCCKM4R7.js.map} +0 -0
  818. /package/dist/{landing-CBVIOGJ5.js.map → landing-WVPA7NBR.js.map} +0 -0
  819. /package/dist/{line-items-ZOFKOGAA.js.map → line-items-OEWYOPFP.js.map} +0 -0
  820. /package/dist/{list-RC2NX6AX.js.map → list-WRBWQASJ.js.map} +0 -0
  821. /package/dist/{logo-WE2UELX6.js.map → logo-QTSBKP2J.js.map} +0 -0
  822. /package/dist/{performance-7YU4HOGH.js.map → performance-HTU5FR2K.js.map} +0 -0
  823. /package/dist/{promoted-tweets-76WKUFJQ.js.map → promoted-tweets-TTWN5OMW.js.map} +0 -0
  824. /package/dist/{reddit-YK3YUZEI.js.map → reddit-6C3PT5CT.js.map} +0 -0
  825. /package/dist/{research-Q3P76RHN.js.map → research-YCMMQVK6.js.map} +0 -0
  826. /package/dist/{run-6PRA2YSD.js.map → run-SR7DJ7M5.js.map} +0 -0
  827. /package/dist/{scheduled-agents-5P67MVGX.js.map → scheduled-agents-N63EZNY6.js.map} +0 -0
  828. /package/dist/{schema-RRAQW3OS.js.map → schema-C6SGBNA6.js.map} +0 -0
  829. /package/dist/{sources-NDXYTASG.js.map → sources-HN3GCEDX.js.map} +0 -0
  830. /package/dist/{stats-37OFAMPW.js.map → stats-CVF6AC7R.js.map} +0 -0
  831. /package/dist/{stock-6R5E7MJX.js.map → stock-4LPQ6SM7.js.map} +0 -0
  832. /package/dist/{studio-LEIGL3Q7.js.map → studio-NZ6WQ7OE.js.map} +0 -0
  833. /package/dist/{sync-definition-M5R3H3TP.js.map → sync-definition-CKEUYKWN.js.map} +0 -0
  834. /package/dist/{tag-manager-3Q55PBEW.js.map → tag-manager-FLXXLNKP.js.map} +0 -0
  835. /package/dist/{tags-4N5UUUN6.js.map → tags-EUOOSAKN.js.map} +0 -0
  836. /package/dist/{targeting-criteria-AVARWV2G.js.map → targeting-criteria-HE7K52WN.js.map} +0 -0
  837. /package/dist/{testimonials-6TF6BOFN.js.map → testimonials-3Q5XM7JD.js.map} +0 -0
  838. /package/dist/{videos-LBXPG7WC.js.map → videos-WAPUPJVT.js.map} +0 -0
  839. /package/dist/{viewer-check-7VJ3GUZX.js.map → viewer-check-GHQA3UY2.js.map} +0 -0
  840. /package/dist/{winning-ads-SAOJAKEQ.js.map → winning-ads-XCVUAIOU.js.map} +0 -0
  841. /package/dist/{x-LXOJPCRF.js.map → x-SI4KYDEY.js.map} +0 -0
@@ -0,0 +1,198 @@
1
+ import {
2
+ failApi,
3
+ failValidation
4
+ } from "./chunk-L7WMS5PW.js";
5
+ import "./chunk-O37VU7FG.js";
6
+ import "./chunk-CAZGM2NX.js";
7
+ import "./chunk-NZS3KEQ2.js";
8
+ import "./chunk-GIWHHCD6.js";
9
+ import "./chunk-XQIOCIDO.js";
10
+ import "./chunk-WTJSMYY2.js";
11
+ import {
12
+ apiPost,
13
+ validateConvexId
14
+ } from "./chunk-6YLNY6CK.js";
15
+ import "./chunk-D5NEIESR.js";
16
+ import {
17
+ requireChatId
18
+ } from "./chunk-57KKVDDR.js";
19
+ import {
20
+ registerSchema,
21
+ writeJson
22
+ } from "./chunk-QANGHND7.js";
23
+ import "./chunk-YQSBHWOI.js";
24
+
25
+ // src/commands/actions/claim.ts
26
+ import { defineCommand } from "citty";
27
+
28
+ // src/commands/actions/skillCatalog.ts
29
+ import { existsSync, readdirSync, readFileSync } from "fs";
30
+ import { dirname, join } from "path";
31
+ var DESCRIPTION_MAX = 600;
32
+ var SKILLS_SUBPATH = join(".claude", "skills");
33
+ var EXCLUDED_SKILLS = /* @__PURE__ */ new Set(["actions"]);
34
+ function stripQuotes(value) {
35
+ const trimmed = value.trim();
36
+ if (trimmed.startsWith('"') && trimmed.endsWith('"')) {
37
+ return trimmed.slice(1, -1).replace(/\\"/g, '"').replace(/\\n/g, "\n");
38
+ }
39
+ if (trimmed.startsWith("'") && trimmed.endsWith("'")) {
40
+ return trimmed.slice(1, -1).replace(/''/g, "'");
41
+ }
42
+ return trimmed;
43
+ }
44
+ function extractFrontmatterLines(md) {
45
+ if (!md.startsWith("---")) return null;
46
+ const end = md.indexOf("\n---", 3);
47
+ if (end === -1) return null;
48
+ return md.slice(md.indexOf("\n", 3) + 1, end).split("\n");
49
+ }
50
+ var BLOCK_SCALAR = /^([|>])[+-]?$/;
51
+ function collectBlockLines(lines, start) {
52
+ const collected = [];
53
+ for (let i = start; i < lines.length; i++) {
54
+ const line = lines[i] ?? "";
55
+ if (line.trim() === "") {
56
+ collected.push("");
57
+ } else if (/^\s/.test(line)) {
58
+ collected.push(line.trim());
59
+ } else {
60
+ break;
61
+ }
62
+ }
63
+ while (collected.length > 0 && collected.at(-1) === "") collected.pop();
64
+ return collected;
65
+ }
66
+ function foldLines(collected) {
67
+ const paragraphs = [];
68
+ let buffer = [];
69
+ for (const line of collected) {
70
+ if (line === "") {
71
+ if (buffer.length > 0) paragraphs.push(buffer.join(" "));
72
+ buffer = [];
73
+ } else {
74
+ buffer.push(line);
75
+ }
76
+ }
77
+ if (buffer.length > 0) paragraphs.push(buffer.join(" "));
78
+ return paragraphs.join("\n");
79
+ }
80
+ function readBlockScalar(lines, start, style) {
81
+ const collected = collectBlockLines(lines, start);
82
+ return style === "|" ? collected.join("\n") : foldLines(collected);
83
+ }
84
+ function readField(lines, field) {
85
+ for (let i = 0; i < lines.length; i++) {
86
+ const match = (lines[i] ?? "").match(/^([A-Za-z0-9_-]+):\s*(.*)$/);
87
+ if (!match || match[1] !== field) continue;
88
+ const inline = (match[2] ?? "").trim();
89
+ const scalar = inline.match(BLOCK_SCALAR);
90
+ if (scalar) {
91
+ return readBlockScalar(lines, i + 1, scalar[1]);
92
+ }
93
+ return stripQuotes(inline);
94
+ }
95
+ return null;
96
+ }
97
+ function parseSkillFrontmatter(md) {
98
+ const lines = extractFrontmatterLines(md);
99
+ if (!lines) return null;
100
+ const name = readField(lines, "name");
101
+ const description = readField(lines, "description");
102
+ if (!name || !description) return null;
103
+ const trimmed = description.length > DESCRIPTION_MAX ? `${description.slice(0, DESCRIPTION_MAX)}\u2026` : description;
104
+ return { name, description: trimmed };
105
+ }
106
+ function findSkillsDir(startDir) {
107
+ let dir = startDir;
108
+ for (; ; ) {
109
+ const candidate = join(dir, SKILLS_SUBPATH);
110
+ if (existsSync(candidate)) return candidate;
111
+ const parent = dirname(dir);
112
+ if (parent === dir) return null;
113
+ dir = parent;
114
+ }
115
+ }
116
+ function readSkillCatalog(startDir) {
117
+ const skillsDir = findSkillsDir(startDir);
118
+ if (!skillsDir) return [];
119
+ const entries = [];
120
+ for (const dirent of readdirSync(skillsDir, { withFileTypes: true })) {
121
+ if (!dirent.isDirectory() || EXCLUDED_SKILLS.has(dirent.name)) continue;
122
+ const skillFile = join(skillsDir, dirent.name, "SKILL.md");
123
+ if (!existsSync(skillFile)) continue;
124
+ try {
125
+ const parsed = parseSkillFrontmatter(readFileSync(skillFile, "utf8"));
126
+ if (parsed) entries.push(parsed);
127
+ } catch {
128
+ }
129
+ }
130
+ return entries.sort((a, b) => a.name.localeCompare(b.name));
131
+ }
132
+
133
+ // src/commands/actions/claim.ts
134
+ registerSchema({
135
+ command: "actions.claim",
136
+ 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.",
137
+ args: {
138
+ id: { type: "string", description: "Action ID", required: true }
139
+ }
140
+ });
141
+ async function recommendSkills(actionId) {
142
+ const skills = readSkillCatalog(process.cwd());
143
+ if (skills.length === 0) return [];
144
+ const response = await apiPost("/api/actions/recommend-skills", {
145
+ actionId,
146
+ skills
147
+ });
148
+ return response.data.recommendations;
149
+ }
150
+ 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.";
151
+ function buildHints(recommendations) {
152
+ if (recommendations.length === 0) {
153
+ return ["Review the action name, description, and tags above.", ROUTING_HINT];
154
+ }
155
+ return [
156
+ "Recommended skills for this action (load the ones you'll use):",
157
+ ...recommendations.map((r) => ` /${r.name} \u2014 ${r.reason}`),
158
+ "Suggestions come from the action's name/description/tags only \u2014 the work may need more.",
159
+ ROUTING_HINT
160
+ ];
161
+ }
162
+ var claimCommand = defineCommand({
163
+ meta: {
164
+ name: "claim",
165
+ 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>"
166
+ },
167
+ args: {
168
+ id: { type: "positional", description: "Action ID", required: false },
169
+ "action-id": { type: "string", description: "Action ID", required: false }
170
+ },
171
+ run: async ({ args }) => {
172
+ try {
173
+ const id = args.id || args["action-id"];
174
+ if (!id) {
175
+ failValidation("Action ID is required.");
176
+ }
177
+ validateConvexId(id);
178
+ const chatId = requireChatId();
179
+ const response = await apiPost("/api/actions/claim", {
180
+ actionId: id,
181
+ chatId
182
+ });
183
+ let recommendedSkills = [];
184
+ try {
185
+ recommendedSkills = await recommendSkills(id);
186
+ } catch {
187
+ }
188
+ const data = response.data ? { ...response.data, recommendedSkills } : response.data;
189
+ writeJson({ ok: response.ok, data, hints: buildHints(recommendedSkills) });
190
+ } catch (err) {
191
+ failApi(err);
192
+ }
193
+ }
194
+ });
195
+ export {
196
+ claimCommand
197
+ };
198
+ //# sourceMappingURL=claim-TSFPWTQY.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/actions/claim.ts","../src/commands/actions/skillCatalog.ts"],"sourcesContent":["import type { ActionsClaimResponse, ActionsRecommendSkillsResponse, SkillRecommendation } from \"@baker/api\";\nimport { defineCommand } from \"citty\";\nimport { apiPost, validateConvexId } from \"../../client.ts\";\nimport { requireChatId } from \"../../env.ts\";\nimport { writeJson } from \"../../output.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport { failApi, failValidation } from \"./shared.ts\";\nimport { readSkillCatalog } from \"./skillCatalog.ts\";\n\nregisterSchema({\n command: \"actions.claim\",\n description:\n \"Claim an action for the current chat (live — 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.\",\n args: {\n id: { type: \"string\", description: \"Action ID\", required: true },\n },\n});\n\nasync function recommendSkills(actionId: string): Promise<SkillRecommendation[]> {\n const skills = readSkillCatalog(process.cwd());\n if (skills.length === 0) return [];\n const response = await apiPost<ActionsRecommendSkillsResponse>(\"/api/actions/recommend-skills\", {\n actionId,\n skills,\n });\n return response.data.recommendations;\n}\n\n// Keep in sync with the claim-hint block in scripts/skill-routing-evals/run.mjs —\n// the action-claim evals embed this nudge so they test the real production surface.\nconst ROUTING_HINT =\n \"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 — see __tooling__/docs/tools/baker/scheduled-agents.md.\";\n\nfunction buildHints(recommendations: SkillRecommendation[]): string[] {\n if (recommendations.length === 0) {\n return [\"Review the action name, description, and tags above.\", ROUTING_HINT];\n }\n return [\n \"Recommended skills for this action (load the ones you'll use):\",\n ...recommendations.map((r) => ` /${r.name} — ${r.reason}`),\n \"Suggestions come from the action's name/description/tags only — the work may need more.\",\n ROUTING_HINT,\n ];\n}\n\nexport const claimCommand = defineCommand({\n meta: {\n name: \"claim\",\n description:\n \"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>\",\n },\n args: {\n id: { type: \"positional\", description: \"Action ID\", required: false },\n \"action-id\": { type: \"string\", description: \"Action ID\", required: false },\n },\n run: async ({ args }) => {\n try {\n const id = (args.id as string | undefined) || (args[\"action-id\"] as string | undefined);\n if (!id) {\n failValidation(\"Action ID is required.\");\n }\n validateConvexId(id);\n const chatId = requireChatId();\n const response = await apiPost<ActionsClaimResponse>(\"/api/actions/claim\", {\n actionId: id,\n chatId,\n });\n\n let recommendedSkills: SkillRecommendation[] = [];\n try {\n recommendedSkills = await recommendSkills(id);\n } catch {\n // Recommendation is best-effort — a claim must never fail because the hint could not be produced.\n }\n\n const data = response.data ? { ...response.data, recommendedSkills } : response.data;\n writeJson({ ok: response.ok, data, hints: buildHints(recommendedSkills) });\n } catch (err) {\n failApi(err);\n }\n },\n});\n","import { existsSync, readdirSync, readFileSync } from \"node:fs\";\nimport { dirname, join } from \"node:path\";\n\ninterface SkillCatalogEntry {\n name: string;\n description: string;\n}\n\nconst DESCRIPTION_MAX = 600;\nconst SKILLS_SUBPATH = join(\".claude\", \"skills\");\n\n/** The backlog workflow lives in the actions tool doc, not a skill — never recommend a legacy `actions` skill a stale scaffold may still carry. */\nconst EXCLUDED_SKILLS = new Set([\"actions\"]);\n\nfunction stripQuotes(value: string): string {\n const trimmed = value.trim();\n if (trimmed.startsWith('\"') && trimmed.endsWith('\"')) {\n return trimmed.slice(1, -1).replace(/\\\\\"/g, '\"').replace(/\\\\n/g, \"\\n\");\n }\n // YAML single-quoted scalars only escape a literal quote by doubling it ('').\n if (trimmed.startsWith(\"'\") && trimmed.endsWith(\"'\")) {\n return trimmed.slice(1, -1).replace(/''/g, \"'\");\n }\n return trimmed;\n}\n\nfunction extractFrontmatterLines(md: string): string[] | null {\n if (!md.startsWith(\"---\")) return null;\n const end = md.indexOf(\"\\n---\", 3);\n if (end === -1) return null;\n return md.slice(md.indexOf(\"\\n\", 3) + 1, end).split(\"\\n\");\n}\n\nconst BLOCK_SCALAR = /^([|>])[+-]?$/;\n\nfunction collectBlockLines(lines: string[], start: number): string[] {\n const collected: string[] = [];\n for (let i = start; i < lines.length; i++) {\n const line = lines[i] ?? \"\";\n if (line.trim() === \"\") {\n collected.push(\"\");\n } else if (/^\\s/.test(line)) {\n collected.push(line.trim());\n } else {\n break; // dedented to a new top-level key — block is over\n }\n }\n while (collected.length > 0 && collected.at(-1) === \"\") collected.pop();\n return collected;\n}\n\n/** Folded (`>`): join lines with spaces, blank lines become paragraph breaks. */\nfunction foldLines(collected: string[]): string {\n const paragraphs: string[] = [];\n let buffer: string[] = [];\n for (const line of collected) {\n if (line === \"\") {\n if (buffer.length > 0) paragraphs.push(buffer.join(\" \"));\n buffer = [];\n } else {\n buffer.push(line);\n }\n }\n if (buffer.length > 0) paragraphs.push(buffer.join(\" \"));\n return paragraphs.join(\"\\n\");\n}\n\n/** Join a YAML block scalar's indented continuation lines: literal (`|`) keeps line breaks, folded (`>`) joins with spaces. */\nfunction readBlockScalar(lines: string[], start: number, style: \"|\" | \">\"): string {\n const collected = collectBlockLines(lines, start);\n return style === \"|\" ? collected.join(\"\\n\") : foldLines(collected);\n}\n\nfunction readField(lines: string[], field: string): string | null {\n for (let i = 0; i < lines.length; i++) {\n const match = (lines[i] ?? \"\").match(/^([A-Za-z0-9_-]+):\\s*(.*)$/);\n if (!match || match[1] !== field) continue;\n const inline = (match[2] ?? \"\").trim();\n const scalar = inline.match(BLOCK_SCALAR);\n if (scalar) {\n return readBlockScalar(lines, i + 1, scalar[1] as \"|\" | \">\");\n }\n return stripQuotes(inline);\n }\n return null;\n}\n\nexport function parseSkillFrontmatter(md: string): SkillCatalogEntry | null {\n const lines = extractFrontmatterLines(md);\n if (!lines) return null;\n const name = readField(lines, \"name\");\n const description = readField(lines, \"description\");\n if (!name || !description) return null;\n const trimmed = description.length > DESCRIPTION_MAX ? `${description.slice(0, DESCRIPTION_MAX)}…` : description;\n return { name, description: trimmed };\n}\n\nexport function findSkillsDir(startDir: string): string | null {\n let dir = startDir;\n for (;;) {\n const candidate = join(dir, SKILLS_SUBPATH);\n if (existsSync(candidate)) return candidate;\n const parent = dirname(dir);\n if (parent === dir) return null;\n dir = parent;\n }\n}\n\nexport function readSkillCatalog(startDir: string): SkillCatalogEntry[] {\n const skillsDir = findSkillsDir(startDir);\n if (!skillsDir) return [];\n\n const entries: SkillCatalogEntry[] = [];\n for (const dirent of readdirSync(skillsDir, { withFileTypes: true })) {\n if (!dirent.isDirectory() || EXCLUDED_SKILLS.has(dirent.name)) continue;\n const skillFile = join(skillsDir, dirent.name, \"SKILL.md\");\n if (!existsSync(skillFile)) continue;\n try {\n const parsed = parseSkillFrontmatter(readFileSync(skillFile, \"utf8\"));\n if (parsed) entries.push(parsed);\n } catch {\n // Unreadable skill file — skip it, never block the claim.\n }\n }\n return entries.sort((a, b) => a.name.localeCompare(b.name));\n}\n"],"mappings":"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","names":[]}
package/dist/cli.js CHANGED
@@ -8,7 +8,7 @@ import {
8
8
  agentProfile,
9
9
  applyAgentProfile,
10
10
  loadCommands
11
- } from "./chunk-3B5LPK6D.js";
11
+ } from "./chunk-FALJQCWL.js";
12
12
  import {
13
13
  installExitRecord,
14
14
  installStreamTaps,
@@ -101,7 +101,7 @@ var rootCommand = defineCommand({
101
101
  meta: {
102
102
  name: "baker",
103
103
  version: getCliVersion(),
104
- description: `AI-agent CLI for finding and managing images, videos, avatars, testimonials, action items, scheduled agents, marketing tags, Tag Manager containers, account history, credentials, and ad platform data in Baker.
104
+ 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.
105
105
 
106
106
  Auth: Set BAKER_API_KEY (starts with bk_) and BAKER_API_URL environment variables.
107
107
  Chat: Set BAKER_CHAT_ID for action and scheduled-agent commands that stage changes against a chat.
@@ -112,42 +112,43 @@ Formats: --output json works on every command that prints the envelope. --output
112
112
  Introspection: Run 'baker schema <command>' to inspect argument schemas.`
113
113
  },
114
114
  subCommands: {
115
- capabilities: () => import("./capabilities-LWXCWMIY.js").then((m) => m.capabilitiesCommand),
116
- actions: () => import("./actions-QL5UD2W4.js").then((m) => m.actionsCommand),
117
- "scheduled-agents": () => import("./scheduled-agents-5P67MVGX.js").then((m) => m.scheduledAgentsCommand),
118
- ads: () => import("./ads-DHPJFU52.js").then((m) => m.adsCommand),
119
- brand: () => import("./brand-NNWHBIAX.js").then((m) => m.brandCommand),
120
- analytics: () => import("./analytics-LD3D7ISK.js").then((m) => m.analyticsCommand),
121
- experiment: () => import("./experiment-IDDWRCJ7.js").then((m) => m.experimentCommand),
122
- ga4: () => import("./ga4-ZPAEF2G2.js").then((m) => m.ga4Command),
123
- gsc: () => import("./gsc-SDDHGTZK.js").then((m) => m.gscCommand),
124
- research: () => import("./research-Q3P76RHN.js").then((m) => m.researchCommand),
115
+ capabilities: () => import("./capabilities-CLTZCXCZ.js").then((m) => m.capabilitiesCommand),
116
+ actions: () => import("./actions-FMNJSOBA.js").then((m) => m.actionsCommand),
117
+ "scheduled-agents": () => import("./scheduled-agents-N63EZNY6.js").then((m) => m.scheduledAgentsCommand),
118
+ ads: () => import("./ads-OLXSDPD6.js").then((m) => m.adsCommand),
119
+ brand: () => import("./brand-3V7ECY7D.js").then((m) => m.brandCommand),
120
+ analytics: () => import("./analytics-6WBK4VFO.js").then((m) => m.analyticsCommand),
121
+ experiment: () => import("./experiment-7RJ5X2LL.js").then((m) => m.experimentCommand),
122
+ ga4: () => import("./ga4-6EIQC2TG.js").then((m) => m.ga4Command),
123
+ gsc: () => import("./gsc-BM3T2GDL.js").then((m) => m.gscCommand),
124
+ research: () => import("./research-YCMMQVK6.js").then((m) => m.researchCommand),
125
125
  decide: () => import("./decide-E4AREOPP.js").then((m) => m.decideCommand),
126
- creatives: () => import("./creatives-OO76DAFS.js").then((m) => m.creativesCommand),
127
- flows: () => import("./flows-UTIIHDNE.js").then((m) => m.flowsCommand),
128
- funnel: () => import("./funnel-A4MXQYBA.js").then((m) => m.funnelCommand),
129
- images: () => import("./images-J35C3WG4.js").then((m) => m.imagesCommand),
130
- studio: () => import("./studio-LEIGL3Q7.js").then((m) => m.studioCommand),
131
- avatars: () => import("./avatars-FKOO6VZ2.js").then((m) => m.avatarsCommand),
132
- landing: () => import("./landing-CBVIOGJ5.js").then((m) => m.landingCommand),
133
- videos: () => import("./videos-LBXPG7WC.js").then((m) => m.videosCommand),
134
- testimonials: () => import("./testimonials-6TF6BOFN.js").then((m) => m.testimonialsCommand),
135
- canvas: () => import("./canvas-D64GLWUO.js").then((m) => m.canvasCommand),
136
- tags: () => import("./tags-XAHIB3WA.js").then((m) => m.tagsCommand),
137
- "tag-manager": () => import("./tag-manager-3Q55PBEW.js").then((m) => m.tagManagerCommand),
138
- chats: () => import("./chats-7WGC2CVW.js").then((m) => m.chatsCommand),
139
- history: () => import("./history-WKJYKDMG.js").then((m) => m.historyCommand),
140
- credentials: () => import("./credentials-2ONYUJW6.js").then((m) => m.credentialsCommand),
141
- hubspot: () => import("./hubspot-EPHVEPOO.js").then((m) => m.hubspotCommand),
142
- activecampaign: () => import("./activecampaign-5OD45ROS.js").then((m) => m.activecampaignCommand),
143
- accounts: () => import("./accounts-QDGNTSTV.js").then((m) => m.accountsCommand),
144
- "winning-ads": () => import("./winning-ads-SAOJAKEQ.js").then((m) => m.winningAdsCommand),
145
- "media-sources": () => import("./media-sources-JGBDDXZ5.js").then((m) => m.mediaSourcesCommand),
146
- site: () => import("./site-47B6V2UX.js").then((m) => m.siteCommand),
147
- mcp: () => import("./mcp-XJNSCPP3.js").then((m) => m.mcpCommand),
148
- "setup-links": () => import("./setup-links-2GJYCV2A.js").then((m) => m.setupLinksCommand),
149
- organization: () => import("./organization-KJJXZLVK.js").then((m) => m.organizationCommand),
150
- schema: () => import("./schema-RRAQW3OS.js").then((m) => m.schemaCommand)
126
+ creatives: () => import("./creatives-SEQHJD2M.js").then((m) => m.creativesCommand),
127
+ flows: () => import("./flows-SO5J3M3X.js").then((m) => m.flowsCommand),
128
+ funnel: () => import("./funnel-NYT36B3C.js").then((m) => m.funnelCommand),
129
+ images: () => import("./images-EQCUXEHF.js").then((m) => m.imagesCommand),
130
+ studio: () => import("./studio-NZ6WQ7OE.js").then((m) => m.studioCommand),
131
+ avatars: () => import("./avatars-I4H3NMEJ.js").then((m) => m.avatarsCommand),
132
+ landing: () => import("./landing-WVPA7NBR.js").then((m) => m.landingCommand),
133
+ videos: () => import("./videos-WAPUPJVT.js").then((m) => m.videosCommand),
134
+ testimonials: () => import("./testimonials-3Q5XM7JD.js").then((m) => m.testimonialsCommand),
135
+ canvas: () => import("./canvas-JCNKMGCG.js").then((m) => m.canvasCommand),
136
+ tags: () => import("./tags-VWIPDCUA.js").then((m) => m.tagsCommand),
137
+ "tag-manager": () => import("./tag-manager-FLXXLNKP.js").then((m) => m.tagManagerCommand),
138
+ chats: () => import("./chats-DTJSBDWO.js").then((m) => m.chatsCommand),
139
+ history: () => import("./history-LGOWYLBE.js").then((m) => m.historyCommand),
140
+ credentials: () => import("./credentials-LHPTUVVA.js").then((m) => m.credentialsCommand),
141
+ hubspot: () => import("./hubspot-LJB3ETUT.js").then((m) => m.hubspotCommand),
142
+ activecampaign: () => import("./activecampaign-LYYYH6XD.js").then((m) => m.activecampaignCommand),
143
+ accounts: () => import("./accounts-OGAIQNE6.js").then((m) => m.accountsCommand),
144
+ "winning-ads": () => import("./winning-ads-XCVUAIOU.js").then((m) => m.winningAdsCommand),
145
+ "media-sources": () => import("./media-sources-SQ2RPDBO.js").then((m) => m.mediaSourcesCommand),
146
+ posts: () => import("./posts-3DAPTBH2.js").then((m) => m.postsCommand),
147
+ site: () => import("./site-PNVFJRYK.js").then((m) => m.siteCommand),
148
+ mcp: () => import("./mcp-ZH2XDV5P.js").then((m) => m.mcpCommand),
149
+ "setup-links": () => import("./setup-links-ERBQSKAB.js").then((m) => m.setupLinksCommand),
150
+ organization: () => import("./organization-FNKDC742.js").then((m) => m.organizationCommand),
151
+ schema: () => import("./schema-C6SGBNA6.js").then((m) => m.schemaCommand)
151
152
  }
152
153
  });
153
154
 
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/cli.ts","../src/closed-pipe.ts","../src/company-flag.ts","../src/root-command.ts","../src/version.ts"],"sourcesContent":["#!/usr/bin/env node\nimport { 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 { writeJson } from \"./output.ts\";\nimport { outputFlagForCommand } from \"./output-flag.ts\";\nimport { rootCommand } from \"./root-command.ts\";\nimport { commandPathOf, 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.\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// `--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));\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\nrunMain(main);\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","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, 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.\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 \"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 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":"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","names":[]}
1
+ {"version":3,"sources":["../src/cli.ts","../src/closed-pipe.ts","../src/company-flag.ts","../src/root-command.ts","../src/version.ts"],"sourcesContent":["#!/usr/bin/env node\nimport { 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 { writeJson } from \"./output.ts\";\nimport { outputFlagForCommand } from \"./output-flag.ts\";\nimport { rootCommand } from \"./root-command.ts\";\nimport { commandPathOf, 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.\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// `--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));\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\nrunMain(main);\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","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.\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 \"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":"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","names":[]}
@@ -0,0 +1,196 @@
1
+ import {
2
+ csvOrJson,
3
+ handleLinkedinError
4
+ } from "./chunk-2YTBPRRG.js";
5
+ import {
6
+ TABLE_OUTPUT_FORMATS,
7
+ outputFormatRefusal,
8
+ writeAdsJson,
9
+ writeAdsOutput,
10
+ writeJsonEnvelope
11
+ } from "./chunk-2VIZ4UUZ.js";
12
+ import {
13
+ NO_CACHE_ARG
14
+ } from "./chunk-U6RONIJC.js";
15
+ import {
16
+ linkedinCompaniesRequestSchema
17
+ } from "./chunk-O37VU7FG.js";
18
+ import "./chunk-CAZGM2NX.js";
19
+ import "./chunk-NZS3KEQ2.js";
20
+ import "./chunk-GIWHHCD6.js";
21
+ import "./chunk-XQIOCIDO.js";
22
+ import "./chunk-WTJSMYY2.js";
23
+ import {
24
+ apiPost
25
+ } from "./chunk-6YLNY6CK.js";
26
+ import "./chunk-D5NEIESR.js";
27
+ import {
28
+ getEnv
29
+ } from "./chunk-57KKVDDR.js";
30
+ import "./chunk-QANGHND7.js";
31
+ import "./chunk-YQSBHWOI.js";
32
+
33
+ // src/commands/ads/linkedin/companies.ts
34
+ import { defineCommand } from "citty";
35
+ var COMPANIES_PAGE_SIZE = 100;
36
+ var COMPANIES_TIMEOUT_MS = 18e4;
37
+ var CSV_FIELDS = [
38
+ "org",
39
+ "name",
40
+ "domain",
41
+ "domainSource",
42
+ "impressions",
43
+ "clicks",
44
+ "engagements",
45
+ "costLocal",
46
+ "videoViews",
47
+ "months",
48
+ "campaigns"
49
+ ];
50
+ function companiesHints(data, request) {
51
+ const hints = [];
52
+ if (data.rows.length === 0) {
53
+ hints.push(
54
+ `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\`.`
55
+ );
56
+ return hints;
57
+ }
58
+ const withDomain = data.rows.filter((row) => row.domain !== void 0).length;
59
+ if (withDomain > 0) {
60
+ hints.push(
61
+ `${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.`
62
+ );
63
+ } else if (!request.withDomains && data.rows.length > 0) {
64
+ hints.push(
65
+ "Add --with-domains to get each company's website domain, ready for matching against your customer list."
66
+ );
67
+ }
68
+ if (data.totalCompanies > data.rows.length) {
69
+ const page = data.page ?? 1;
70
+ const first = (page - 1) * COMPANIES_PAGE_SIZE + 1;
71
+ const last = first + data.rows.length - 1;
72
+ const next = last < data.totalCompanies ? ` \u2014 --page ${page + 1} for the next ${COMPANIES_PAGE_SIZE}, ` : " \u2014 ";
73
+ hints.push(
74
+ `Showing companies ${first}-${last} of ${data.totalCompanies.toLocaleString("en")}, most engaged first${next}--full for all, or --min-impressions to trim the tail.`
75
+ );
76
+ }
77
+ if (data.query.by === "none" && data.rows.length > 0) {
78
+ hints.push("--by month shows when each company warmed up; --by campaign shows which campaigns reached it.");
79
+ }
80
+ return hints;
81
+ }
82
+ function csvList(raw) {
83
+ if (typeof raw !== "string") return void 0;
84
+ const items = raw.split(",").map((s) => s.trim()).filter(Boolean);
85
+ return items.length > 0 ? items : void 0;
86
+ }
87
+ var FLAG_OF_FIELD = {
88
+ accountId: "--account-id",
89
+ campaignIds: "--campaign-id",
90
+ lastMonths: "--last-months",
91
+ start: "--start",
92
+ end: "--end",
93
+ by: "--by",
94
+ minImpressions: "--min-impressions",
95
+ page: "--page"
96
+ };
97
+ function flagOf(field) {
98
+ return FLAG_OF_FIELD[field.split(".")[0] ?? ""] ?? (field || "args");
99
+ }
100
+ function optionalNumber(raw) {
101
+ return typeof raw === "string" && raw.trim() !== "" ? Number(raw) : void 0;
102
+ }
103
+ function bareAccountId(raw) {
104
+ return raw?.startsWith("urn:") ? raw.split(":").pop() : raw;
105
+ }
106
+ var companiesCommand = defineCommand({
107
+ meta: {
108
+ name: "companies",
109
+ description: `Which companies your LinkedIn ads reached \u2014 one row per company over the whole period, most engaged first.
110
+
111
+ Start here for "which companies are our ads warming", ABM reporting, or building a warm-account list.
112
+ Rows: {org, name, impressions, clicks, engagements, costLocal}. Defaults: the last 12 calendar
113
+ months, the only selected ad account, 100 companies a page (--page 2 for the next, --full for all).
114
+
115
+ Examples:
116
+ baker ads linkedin companies # last 12 months, whole account
117
+ baker ads linkedin companies --page 2 # the next 100 companies
118
+ baker ads linkedin companies --by month --min-impressions 50 # when each company warmed up
119
+ baker ads linkedin companies --campaign-id 333728193,810055513 --by campaign
120
+ baker ads linkedin companies --with-domains --output csv # + website domain, for CRM matching
121
+ baker ads linkedin companies --last-months 3 --stats # + how complete LinkedIn's data is
122
+
123
+ LinkedIn reports companies 12-24h late and leaves out any company with fewer than 3 events in a month,
124
+ so small companies are undercounted. engagements = LinkedIn's totalEngagements.`
125
+ },
126
+ args: {
127
+ "account-id": {
128
+ type: "string",
129
+ description: "Ad account id (numeric or urn:li:sponsoredAccount:N). Default: the only selected account"
130
+ },
131
+ "campaign-id": { type: "string", description: "Comma-separated campaign ids \u2014 read only these campaigns" },
132
+ "last-months": { type: "string", description: "Calendar months back, including this one (1-24, default 12)" },
133
+ start: { type: "string", description: "Start date YYYY-MM-DD (instead of --last-months)" },
134
+ end: { type: "string", description: "End date YYYY-MM-DD (default today)" },
135
+ by: { type: "string", description: "none | month | campaign \u2014 break each company down (default none)" },
136
+ "with-domains": { type: "boolean", description: "Add each company's website domain and domainSource" },
137
+ "min-impressions": { type: "string", description: "Leave out companies under N impressions over the period" },
138
+ full: { type: "boolean", description: "Every company (not just a page of 100), plus videoViews" },
139
+ page: {
140
+ type: "string",
141
+ description: "Which page of 100 companies, most engaged first (default 1); totalCompanies counts them all"
142
+ },
143
+ stats: { type: "boolean", description: "Add read-quality stats: row counts, cost/reach/domain coverage" },
144
+ "no-cache": NO_CACHE_ARG,
145
+ output: { type: "string", description: "json|csv|jsonl|md", default: "json" }
146
+ },
147
+ run: async ({ args }) => {
148
+ const input = {
149
+ accountId: bareAccountId(args["account-id"] || getEnv().BAKER_LINKEDIN_AD_ACCOUNT_ID),
150
+ campaignIds: csvList(args["campaign-id"]),
151
+ lastMonths: optionalNumber(args["last-months"]),
152
+ start: args.start,
153
+ end: args.end,
154
+ by: args.by,
155
+ withDomains: Boolean(args["with-domains"]),
156
+ minImpressions: optionalNumber(args["min-impressions"]),
157
+ full: Boolean(args.full),
158
+ page: optionalNumber(args.page),
159
+ stats: Boolean(args.stats),
160
+ skipCache: Boolean(args["no-cache"])
161
+ };
162
+ const parsed = linkedinCompaniesRequestSchema.safeParse(input);
163
+ const formatRefusal = outputFormatRefusal(csvOrJson(args), TABLE_OUTPUT_FORMATS);
164
+ if (!parsed.success || formatRefusal !== null) {
165
+ const issues = parsed.success ? [] : parsed.error.issues;
166
+ const messages = issues.map((issue) => `${flagOf(issue.path.join("."))}: ${issue.message}`);
167
+ writeAdsJson({
168
+ ok: false,
169
+ error: { code: "INVALID_ARGS", message: [...messages, ...formatRefusal ? [formatRefusal] : []].join("; ") }
170
+ });
171
+ process.exit(1);
172
+ }
173
+ try {
174
+ const { data } = await apiPost(
175
+ "/api/ads/linkedin/companies",
176
+ input,
177
+ { timeoutMs: COMPANIES_TIMEOUT_MS }
178
+ );
179
+ const hints = companiesHints(data, parsed.data);
180
+ const fmt = csvOrJson(args);
181
+ if (fmt !== "json") {
182
+ const notes = [...data.warnings.map((w) => `${w.code}: ${w.message}`), ...hints];
183
+ writeAdsOutput(data.rows, fmt, CSV_FIELDS, notes);
184
+ return;
185
+ }
186
+ writeJsonEnvelope(hints.length > 0 ? { ok: true, data, hints } : { ok: true, data });
187
+ } catch (err) {
188
+ handleLinkedinError(err);
189
+ }
190
+ }
191
+ });
192
+ export {
193
+ companiesCommand,
194
+ companiesHints
195
+ };
196
+ //# sourceMappingURL=companies-P7FZNJQV.js.map