@koda-sl/baker-cli 0.510.0 → 0.512.0-dev.8a743a629

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 (895) hide show
  1. package/README.md +5 -1
  2. package/dist/account-IGI3PTJE.js +80 -0
  3. package/dist/account-MYHDHWFR.js +80 -0
  4. package/dist/account-reads-Z5SLGMZQ.js +219 -0
  5. package/dist/account-users-LRHI4TW3.js +62 -0
  6. package/dist/account-writes-CADBLQBA.js +66 -0
  7. package/dist/accounts-G4HZ7YGD.js +699 -0
  8. package/dist/accounts-GDX7GSKN.js +78 -0
  9. package/dist/actions-RTP5AKTG.js +55 -0
  10. package/dist/activecampaign-T6K6LYJ2.js +936 -0
  11. package/dist/ad-group-writes-NVWZYX47.js +170 -0
  12. package/dist/ad-groups-IB5BCB4D.js +68 -0
  13. package/dist/ad-writes-WGXISLOY.js +174 -0
  14. package/dist/add-6SEQHUGY.js +303 -0
  15. package/dist/add-LKNMKMTG.js +105 -0
  16. package/dist/ads-KBE5JXCH.js +115 -0
  17. package/dist/ads-LHK7KPZ7.js +48 -0
  18. package/dist/ads-PTZZMD6I.js +77 -0
  19. package/dist/adsets-YWBJFPAZ.js +182 -0
  20. package/dist/advertisers-4PYWHEFH.js +121 -0
  21. package/dist/analytics-P4BF2H5S.js +2435 -0
  22. package/dist/analytics-PRM67GCJ.js +445 -0
  23. package/dist/animate-HRWFVE2N.js +480 -0
  24. package/dist/assign-GMF4YPVT.js +78 -0
  25. package/dist/audience-size-HZ6NIOOM.js +74 -0
  26. package/dist/audiences-2GVJ6EMO.js +268 -0
  27. package/dist/audit-EDK7NLH6.js +152 -0
  28. package/dist/autocomplete-XWX475A7.js +112 -0
  29. package/dist/avatars-H4Y265W5.js +38 -0
  30. package/dist/bid-pricing-ZYUA75AL.js +101 -0
  31. package/dist/brand-ECCZGUBT.js +22 -0
  32. package/dist/brief-JKWAEKQR.js +541 -0
  33. package/dist/campaign-groups-EYHQXUCB.js +97 -0
  34. package/dist/campaign-writes-2SPNUA2E.js +174 -0
  35. package/dist/campaign-writes-R7RGI6DU.js +166 -0
  36. package/dist/campaigns-MUGWIRD6.js +111 -0
  37. package/dist/campaigns-SPDI2BCS.js +111 -0
  38. package/dist/campaigns-XZOQ2VTK.js +130 -0
  39. package/dist/campaigns-ZBN2RDTI.js +76 -0
  40. package/dist/canvas-IYCM5PBE.js +46 -0
  41. package/dist/capabilities-LRESBKYV.js +145 -0
  42. package/dist/catalog-ZY3MFT55.js +65 -0
  43. package/dist/catalogs-KZZN6W3M.js +128 -0
  44. package/dist/changes-6UUUCIK3.js +135 -0
  45. package/dist/chatgpt-VYZONEHH.js +47 -0
  46. package/dist/chats-6YVCEIYZ.js +277 -0
  47. package/dist/check-STJX2TQA.js +105 -0
  48. package/dist/chunk-2LEW2WH2.js +63 -0
  49. package/dist/chunk-32KUF3RV.js +228 -0
  50. package/dist/chunk-3RBTIJPR.js +783 -0
  51. package/dist/chunk-4CBYHH33.js +275 -0
  52. package/dist/chunk-4IHWT7PH.js +167 -0
  53. package/dist/chunk-5FON5DHA.js +103 -0
  54. package/dist/chunk-6NKA3JSK.js +942 -0
  55. package/dist/chunk-6OIKNJ7G.js +26 -0
  56. package/dist/chunk-6ZFSDYWV.js +131 -0
  57. package/dist/chunk-7D7YRHN3.js +7204 -0
  58. package/dist/chunk-7D7YRHN3.js.map +1 -0
  59. package/dist/chunk-AFKTFP2U.js +97 -0
  60. package/dist/chunk-ARQWH775.js +831 -0
  61. package/dist/chunk-ATFOCIYN.js +142 -0
  62. package/dist/chunk-AULSX5ZA.js +5368 -0
  63. package/dist/chunk-AVYUFJQQ.js +46 -0
  64. package/dist/chunk-BBGWW6WZ.js +23 -0
  65. package/dist/chunk-BBODUOTQ.js +910 -0
  66. package/dist/chunk-BCMEXGCY.js +3868 -0
  67. package/dist/chunk-BDOYNGUL.js +98 -0
  68. package/dist/chunk-CEMOFARE.js +197 -0
  69. package/dist/chunk-CIR26OA5.js +387 -0
  70. package/dist/chunk-D2QST6DJ.js +61 -0
  71. package/dist/chunk-DPKOVTA4.js +57 -0
  72. package/dist/chunk-DUCUOZLS.js +225 -0
  73. package/dist/chunk-ELR5JGLM.js +846 -0
  74. package/dist/chunk-ESLLM23I.js +676 -0
  75. package/dist/chunk-ETWTY7IU.js +170 -0
  76. package/dist/chunk-F3CZFUXZ.js +3187 -0
  77. package/dist/chunk-F3CZFUXZ.js.map +1 -0
  78. package/dist/chunk-F4JYRLAA.js +66 -0
  79. package/dist/chunk-FJZYOVSW.js +843 -0
  80. package/dist/chunk-FLT4J76D.js +455 -0
  81. package/dist/chunk-FQBRBQJY.js +19 -0
  82. package/dist/chunk-GJ52W2U2.js +203 -0
  83. package/dist/chunk-H7F6PDYD.js +207 -0
  84. package/dist/chunk-HNNCAJNF.js +4254 -0
  85. package/dist/chunk-HNNCAJNF.js.map +1 -0
  86. package/dist/chunk-HOHQXBFP.js +274 -0
  87. package/dist/chunk-I2CLKSKS.js +363 -0
  88. package/dist/chunk-I43ZEWJQ.js +285 -0
  89. package/dist/chunk-IZABOTZR.js +429 -0
  90. package/dist/chunk-IZABOTZR.js.map +1 -0
  91. package/dist/chunk-KMMQLWNC.js +139 -0
  92. package/dist/chunk-KOLUSJTP.js +604 -0
  93. package/dist/chunk-KPCHWDJM.js +8914 -0
  94. package/dist/chunk-KTZCLJ2D.js +148 -0
  95. package/dist/chunk-KZISJO24.js +1646 -0
  96. package/dist/chunk-L427QTFN.js +224 -0
  97. package/dist/chunk-MCHUPJ3I.js +547 -0
  98. package/dist/chunk-MKUA54QE.js +638 -0
  99. package/dist/chunk-MUQTW4NP.js +297 -0
  100. package/dist/chunk-NCOL3UQP.js +592 -0
  101. package/dist/chunk-OCOFX5MT.js +156 -0
  102. package/dist/chunk-PIEWX6AT.js +122 -0
  103. package/dist/chunk-Q7VCLHME.js +89 -0
  104. package/dist/chunk-QHZE62GP.js +1919 -0
  105. package/dist/chunk-QM25W6LF.js +479 -0
  106. package/dist/chunk-RPGPHMUY.js +344 -0
  107. package/dist/chunk-S4ZLTJ6C.js +319 -0
  108. package/dist/chunk-SIKCVWM3.js +76 -0
  109. package/dist/chunk-SISUR5O4.js +191 -0
  110. package/dist/chunk-SRYMRFXV.js +249 -0
  111. package/dist/chunk-TMVGDYSR.js +51 -0
  112. package/dist/chunk-U3JKPUXK.js +91 -0
  113. package/dist/chunk-UBABMQY3.js +163 -0
  114. package/dist/chunk-UMIX2BMM.js +1518 -0
  115. package/dist/chunk-URBN6DXM.js +24017 -0
  116. package/dist/chunk-URBN6DXM.js.map +1 -0
  117. package/dist/chunk-VHJBM2CE.js +169 -0
  118. package/dist/chunk-WL6WNWX6.js +392 -0
  119. package/dist/chunk-XOGQJYXH.js +64 -0
  120. package/dist/chunk-YEDNAQZQ.js +8954 -0
  121. package/dist/chunk-YRNORYAS.js +494 -0
  122. package/dist/chunk-YZBB72TV.js +150 -0
  123. package/dist/chunk-ZRBWVHND.js +349 -0
  124. package/dist/claim-FOZCAA66.js +198 -0
  125. package/dist/cli.js +34 -34
  126. package/dist/companies-UBYDPOBQ.js +196 -0
  127. package/dist/company-DF3XEX3Y.js +306 -0
  128. package/dist/complete-42YQ5JWV.js +82 -0
  129. package/dist/connect-NZAU2PYY.js +43 -0
  130. package/dist/conversation-ZY6BYM5O.js +94 -0
  131. package/dist/conversion-report-SSURSX3A.js +125 -0
  132. package/dist/conversion-upload-command-IRE3YQXF.js +439 -0
  133. package/dist/conversion-writes-DZFTO25O.js +120 -0
  134. package/dist/conversions-4HSCON4E.js +76 -0
  135. package/dist/conversions-FOQ3GEY6.js +138 -0
  136. package/dist/create-36QUQODR.js +133 -0
  137. package/dist/create-DQTLLGFV.js +60 -0
  138. package/dist/create-P2JPN4AC.js +208 -0
  139. package/dist/create-VGYRZHVI.js +237 -0
  140. package/dist/creatives-LGXI6WH5.js +58 -0
  141. package/dist/creatives-XSUQ75KK.js +221 -0
  142. package/dist/credentials-NRRK6GPM.js +288 -0
  143. package/dist/critique-3PRMNDUM.js +1449 -0
  144. package/dist/critique-RATYHSIP.js +230 -0
  145. package/dist/crm-M2LFYJTV.js +321 -0
  146. package/dist/crm-WCR77ZMD.js +225 -0
  147. package/dist/currency-2224QRF5.js +88 -0
  148. package/dist/customers-X6ZJZJOQ.js +57 -0
  149. package/dist/delete-PKIGPAFC.js +67 -0
  150. package/dist/delete-QXCP3ACU.js +55 -0
  151. package/dist/delete-TANIHYN5.js +65 -0
  152. package/dist/demographics-IDN7VXKR.js +139 -0
  153. package/dist/discard-S2T3JLBG.js +67 -0
  154. package/dist/discover-UFGF5UNA.js +172 -0
  155. package/dist/domain-PMLP7WAS.js +99 -0
  156. package/dist/download-UMA33YUD.js +170 -0
  157. package/dist/draft-4V5Q7MCH.js +308 -0
  158. package/dist/draft-FOX2PPEX.js +218 -0
  159. package/dist/draft-I4DTA47U.js +333 -0
  160. package/dist/draft-NEHNZKKD.js +308 -0
  161. package/dist/draft-ONIL5ET5.js +281 -0
  162. package/dist/engine/index.js +7 -7
  163. package/dist/experiments-P5WUSTP5.js +234 -0
  164. package/dist/facets-2ZZ5DG4A.js +115 -0
  165. package/dist/feedback-SQT4AWIH.js +109 -0
  166. package/dist/feedback-record-2LM47MC5.js +263 -0
  167. package/dist/fetch-HOBCJA4A.js +177 -0
  168. package/dist/find-5FCDTFYC.js +134 -0
  169. package/dist/fit-5F22YYH2.js +63 -0
  170. package/dist/flows-HUFKKR7Y.js +248 -0
  171. package/dist/fonts-MJGV75XD.js +37 -0
  172. package/dist/forecast-3F7ZCCJ5.js +169 -0
  173. package/dist/forecast-75QFWTV2.js +119 -0
  174. package/dist/funnel-EPVYLJ3H.js +395 -0
  175. package/dist/ga4-BWVCDVIR.js +55 -0
  176. package/dist/generate-VBEY3N3L.js +263 -0
  177. package/dist/get-37ESTR54.js +57 -0
  178. package/dist/get-QM4NMDVB.js +80 -0
  179. package/dist/google-3BO7KNZ6.js +136 -0
  180. package/dist/google-XKUH32VA.js +3267 -0
  181. package/dist/google-ads-HWI22G4U.js +196 -0
  182. package/dist/history-A7ZQPPHQ.js +100 -0
  183. package/dist/history-A7ZQPPHQ.js.map +1 -0
  184. package/dist/history-I3TS5C3H.js +134 -0
  185. package/dist/history-OYKUWMQR.js +67 -0
  186. package/dist/hubspot-BOGE6FO2.js +780 -0
  187. package/dist/icon-XHPEVICH.js +137 -0
  188. package/dist/ideas-UICGLEUI.js +43 -0
  189. package/dist/images-TJGUKE2W.js +92 -0
  190. package/dist/ingest-E74SWVT6.js +24 -0
  191. package/dist/ingest-XLRFEWZX.js +108 -0
  192. package/dist/insights-DYCUSIPZ.js +130 -0
  193. package/dist/inspect-NJ6TYM3J.js +190 -0
  194. package/dist/inspiration-BPG25PTI.js +53 -0
  195. package/dist/intent-3SNXAUCK.js +95 -0
  196. package/dist/keyword-gap-YUL7H46U.js +130 -0
  197. package/dist/keyword-metrics-2MUNXZOP.js +198 -0
  198. package/dist/keywords-for-site-ZZUSLY46.js +129 -0
  199. package/dist/landing-OUWOWEL4.js +28 -0
  200. package/dist/languages-JEPSSZLV.js +40 -0
  201. package/dist/leads-3SRPHEVO.js +113 -0
  202. package/dist/learn-XBUEDQ6D.js +205 -0
  203. package/dist/line-item-writes-V7UWLP7J.js +209 -0
  204. package/dist/line-items-PPHV3QBI.js +107 -0
  205. package/dist/link-RUUSSNGZ.js +65 -0
  206. package/dist/linkedin-XBYZ3X7R.js +1314 -0
  207. package/dist/linkedin-XBYZ3X7R.js.map +1 -0
  208. package/dist/linkedin-person-34KK7UIR.js +137 -0
  209. package/dist/list-CVEAX6HI.js +152 -0
  210. package/dist/list-GKM5NOFB.js +304 -0
  211. package/dist/list-LG5ZCYHS.js +65 -0
  212. package/dist/locations-GO7L7BYJ.js +40 -0
  213. package/dist/locations-KQLA6ZAG.js +67 -0
  214. package/dist/log-LEOREG6H.js +93 -0
  215. package/dist/logo-4MGGQHQ7.js +18 -0
  216. package/dist/make-6DAAAG5J.js +1368 -0
  217. package/dist/map-2KZD3UFL.js +434 -0
  218. package/dist/mcp-2TY4IOCL.js +715 -0
  219. package/dist/media-sources-M377PAZM.js +35 -0
  220. package/dist/members-XZI3WMTD.js +45 -0
  221. package/dist/meta-EHKXH257.js +122 -0
  222. package/dist/metrics-2EYRCEJE.js +152 -0
  223. package/dist/models-HJ7Y55AH.js +155 -0
  224. package/dist/normalize-CW5ITA7O.js +142 -0
  225. package/dist/options-4E54J6SK.js +123 -0
  226. package/dist/organization-R4E7KFFH.js +947 -0
  227. package/dist/performance-BEOXMBU4.js +25 -0
  228. package/dist/performance-W7YACZ5G.js +5539 -0
  229. package/dist/pixels-2MSQKQKG.js +60 -0
  230. package/dist/posts-LKL4S52R.js +34 -0
  231. package/dist/promoted-tweet-writes-PACLBGPK.js +181 -0
  232. package/dist/promoted-tweets-3HBQM72R.js +119 -0
  233. package/dist/publish-GILVUIYK.js +342 -0
  234. package/dist/query-2V2IOV4K.js +62 -0
  235. package/dist/reddit-Z5JXCFNI.js +27 -0
  236. package/dist/refresh-KZEUSRVB.js +95 -0
  237. package/dist/release-SVXRZ6VA.js +61 -0
  238. package/dist/relevant-pages-ODV4OWSA.js +99 -0
  239. package/dist/remove-XMWP4SJJ.js +51 -0
  240. package/dist/reopen-VCH3C5XS.js +64 -0
  241. package/dist/rerun-Q5CNS7LE.js +93 -0
  242. package/dist/research-JSSB2BJB.js +263 -0
  243. package/dist/research-RKDKOEVU.js +72 -0
  244. package/dist/reset-3F7AQSYQ.js +55 -0
  245. package/dist/reset-NFDSYFZS.js +55 -0
  246. package/dist/resolve-5RIWWLL4.js +122 -0
  247. package/dist/retry-42COPYFE.js +61 -0
  248. package/dist/retry-XJZJI2SJ.js +63 -0
  249. package/dist/revenue-RI72LFP4.js +89 -0
  250. package/dist/rules-OBLBAQEM.js +97 -0
  251. package/dist/rules-add-ZDXCUD3H.js +463 -0
  252. package/dist/run-UZMOP22U.js +68 -0
  253. package/dist/run-WLJ3QMYK.js +67 -0
  254. package/dist/scaffold-ad-T2VIQZ27.js +1514 -0
  255. package/dist/scaffold-static-ad-BF2UV54V.js +1013 -0
  256. package/dist/scaffold-video-74WN6WKE.js +886 -0
  257. package/dist/schedule-NZMZK7I4.js +62 -0
  258. package/dist/scheduled-agents-OLVLKAG5.js +55 -0
  259. package/dist/scheduled-agents-OLVLKAG5.js.map +1 -0
  260. package/dist/schema-YOLI3MAY.js +133 -0
  261. package/dist/search-GT6DCBQ4.js +175 -0
  262. package/dist/select-4T3OHCHY.js +104 -0
  263. package/dist/set-prompt-B2C2XGOH.js +196 -0
  264. package/dist/setup-links-24GY7UMC.js +142 -0
  265. package/dist/shopify-BJRSZOTC.js +3956 -0
  266. package/dist/site-QVWQFEQD.js +178 -0
  267. package/dist/sources-H42GSCNP.js +30 -0
  268. package/dist/sources-VIEWCGYE.js +455 -0
  269. package/dist/stale-X2JN3PJB.js +74 -0
  270. package/dist/stats-QP4LFQZJ.js +34 -0
  271. package/dist/status-EFLS5XGD.js +63 -0
  272. package/dist/stock-TAKWC3YI.js +179 -0
  273. package/dist/studio-5Z4NMA4K.js +49 -0
  274. package/dist/sync-JEOEUKZV.js +55 -0
  275. package/dist/sync-definition-7ZGQAL7V.js +67 -0
  276. package/dist/tag-manager-F7PVTDBB.js +43 -0
  277. package/dist/tags-BFFCF7RU.js +26 -0
  278. package/dist/tags-J2ILGBU2.js +21 -0
  279. package/dist/tags-JKS2STPZ.js +21 -0
  280. package/dist/tags-NTYVFOXA.js +229 -0
  281. package/dist/tags-NTYVFOXA.js.map +1 -0
  282. package/dist/tags-UTICOZ4V.js +21 -0
  283. package/dist/targeting-criteria-SAFHFYHT.js +113 -0
  284. package/dist/targets-UPD2SDYP.js +104 -0
  285. package/dist/testimonials-WQMQ5MH4.js +32 -0
  286. package/dist/themes-QESDDIHF.js +95 -0
  287. package/dist/top-companies-GJZGD6Y4.js +109 -0
  288. package/dist/transcript-2MAN3FYK.js +163 -0
  289. package/dist/translate-67ZRTJ3K.js +607 -0
  290. package/dist/triggers-QW5AD7US.js +142 -0
  291. package/dist/unlink-2DGK7WUX.js +68 -0
  292. package/dist/unstage-JQUAPISM.js +86 -0
  293. package/dist/update-AHTTFWVN.js +64 -0
  294. package/dist/update-F5PSTTNL.js +190 -0
  295. package/dist/update-J5DGMBTD.js +99 -0
  296. package/dist/update-VL5OU74X.js +153 -0
  297. package/dist/update-VL5OU74X.js.map +1 -0
  298. package/dist/upload-LFLWD2G3.js +127 -0
  299. package/dist/url-options-IBU342D6.js +130 -0
  300. package/dist/url-params-WBYGRRWI.js +99 -0
  301. package/dist/validate-ELVTL2WL.js +120 -0
  302. package/dist/videos-NA64GM5P.js +41 -0
  303. package/dist/viewer-check-7MAJ3LGH.js +81 -0
  304. package/dist/web-KVXUQM4L.js +141 -0
  305. package/dist/winning-ads-UETSI565.js +86 -0
  306. package/dist/write-commands-DRBDEOJX.js +1498 -0
  307. package/dist/write-commands-DRBDEOJX.js.map +1 -0
  308. package/dist/x-2MP4HBPZ.js +47 -0
  309. package/package.json +1 -1
  310. package/dist/account-SMKA6P4Z.js +0 -80
  311. package/dist/account-WLQBAQMD.js +0 -80
  312. package/dist/account-reads-SNOWDHHF.js +0 -219
  313. package/dist/account-users-T2MBGK7C.js +0 -62
  314. package/dist/account-writes-TU3WJRSI.js +0 -66
  315. package/dist/accounts-L4TR3XTA.js +0 -78
  316. package/dist/accounts-VID557NT.js +0 -699
  317. package/dist/actions-ZVBG7WKM.js +0 -55
  318. package/dist/activecampaign-3YN2UTXP.js +0 -936
  319. package/dist/ad-group-writes-HLBWN4E4.js +0 -170
  320. package/dist/ad-groups-33NZD6J3.js +0 -68
  321. package/dist/ad-writes-7ZDNDZ2E.js +0 -174
  322. package/dist/add-PHKZXFUW.js +0 -303
  323. package/dist/add-TXQYAWPP.js +0 -105
  324. package/dist/ads-C7XJNMCX.js +0 -115
  325. package/dist/ads-JIX7BYE5.js +0 -48
  326. package/dist/ads-X3AM6M7L.js +0 -77
  327. package/dist/adsets-6H5ZOYGF.js +0 -182
  328. package/dist/advertisers-RK3UQWBA.js +0 -121
  329. package/dist/analytics-3VLFGKOT.js +0 -2435
  330. package/dist/analytics-4TDNEPFQ.js +0 -445
  331. package/dist/animate-2BMHZ4FM.js +0 -480
  332. package/dist/assign-YAHBW3CN.js +0 -78
  333. package/dist/audience-size-PKHWSABW.js +0 -74
  334. package/dist/audiences-WCDWN64L.js +0 -268
  335. package/dist/audit-X2U5KKDY.js +0 -152
  336. package/dist/autocomplete-D2R5XJGE.js +0 -112
  337. package/dist/avatars-NUYPMFNM.js +0 -38
  338. package/dist/bid-pricing-6A2K4WXD.js +0 -101
  339. package/dist/brand-SWEL6C5B.js +0 -22
  340. package/dist/brief-36CRH2QS.js +0 -541
  341. package/dist/campaign-groups-PWKQEDN6.js +0 -97
  342. package/dist/campaign-writes-E5EQFXWF.js +0 -166
  343. package/dist/campaign-writes-XO74BALZ.js +0 -174
  344. package/dist/campaigns-DVZXUCCH.js +0 -111
  345. package/dist/campaigns-HN656A2N.js +0 -130
  346. package/dist/campaigns-LS65QM6W.js +0 -76
  347. package/dist/campaigns-S7OU6SEE.js +0 -111
  348. package/dist/canvas-BWRJUCQ5.js +0 -46
  349. package/dist/capabilities-JJ67W5O5.js +0 -145
  350. package/dist/catalog-TZLU5NWI.js +0 -65
  351. package/dist/catalogs-T23RKYFC.js +0 -128
  352. package/dist/changes-36C754R4.js +0 -135
  353. package/dist/chatgpt-DEG26ES2.js +0 -47
  354. package/dist/chats-JY6JAOLN.js +0 -277
  355. package/dist/check-TDAP7PUO.js +0 -105
  356. package/dist/chunk-2TOIY2WN.js +0 -4254
  357. package/dist/chunk-2TOIY2WN.js.map +0 -1
  358. package/dist/chunk-372V4EUW.js +0 -51
  359. package/dist/chunk-3SJ7F2NS.js +0 -142
  360. package/dist/chunk-3YJNSUNF.js +0 -131
  361. package/dist/chunk-4F6RGT4G.js +0 -319
  362. package/dist/chunk-4GAEB6NK.js +0 -228
  363. package/dist/chunk-4YL2TKIB.js +0 -91
  364. package/dist/chunk-5MZFPMNJ.js +0 -224
  365. package/dist/chunk-5XTGG4PV.js +0 -274
  366. package/dist/chunk-6D3KBT3I.js +0 -207
  367. package/dist/chunk-6KWEF6HF.js +0 -8914
  368. package/dist/chunk-7FBRAVXA.js +0 -122
  369. package/dist/chunk-7HZSORAB.js +0 -843
  370. package/dist/chunk-A3IQAONL.js +0 -638
  371. package/dist/chunk-B4WQAGOQ.js +0 -61
  372. package/dist/chunk-BHM4AGUH.js +0 -7131
  373. package/dist/chunk-BHM4AGUH.js.map +0 -1
  374. package/dist/chunk-DH7Q3WOV.js +0 -363
  375. package/dist/chunk-E3O5NRD2.js +0 -170
  376. package/dist/chunk-EEFAN5XO.js +0 -103
  377. package/dist/chunk-EP6YT6W7.js +0 -494
  378. package/dist/chunk-F4YQ5PVR.js +0 -1518
  379. package/dist/chunk-FFFJBNHA.js +0 -63
  380. package/dist/chunk-FFG2OYVV.js +0 -64
  381. package/dist/chunk-GACSA5A6.js +0 -1646
  382. package/dist/chunk-GKXKKGET.js +0 -406
  383. package/dist/chunk-GKXKKGET.js.map +0 -1
  384. package/dist/chunk-GOCL4RYW.js +0 -275
  385. package/dist/chunk-HML3VQIW.js +0 -225
  386. package/dist/chunk-HNJRZS3X.js +0 -910
  387. package/dist/chunk-I4UHCEPI.js +0 -3868
  388. package/dist/chunk-IKABCOR5.js +0 -23
  389. package/dist/chunk-J2EPHTRZ.js +0 -392
  390. package/dist/chunk-JAC6JVCI.js +0 -26
  391. package/dist/chunk-JCRCI7Q3.js +0 -139
  392. package/dist/chunk-JKYFQOGU.js +0 -349
  393. package/dist/chunk-KBRJSPIM.js +0 -676
  394. package/dist/chunk-KFKJCMVE.js +0 -66
  395. package/dist/chunk-LG3JT3W6.js +0 -942
  396. package/dist/chunk-LN2U45XJ.js +0 -191
  397. package/dist/chunk-LRV6M2WB.js +0 -1919
  398. package/dist/chunk-LXHMT54H.js +0 -455
  399. package/dist/chunk-LZ6O67EY.js +0 -604
  400. package/dist/chunk-M5SMMJAQ.js +0 -592
  401. package/dist/chunk-M7HD42M6.js +0 -24017
  402. package/dist/chunk-M7HD42M6.js.map +0 -1
  403. package/dist/chunk-MCJ5I5LR.js +0 -3187
  404. package/dist/chunk-MCJ5I5LR.js.map +0 -1
  405. package/dist/chunk-MGYC2IRC.js +0 -783
  406. package/dist/chunk-MUQ4CICG.js +0 -249
  407. package/dist/chunk-MVD7QIXI.js +0 -46
  408. package/dist/chunk-MZPS46OR.js +0 -76
  409. package/dist/chunk-N4YDINH6.js +0 -19
  410. package/dist/chunk-OHWCCNAM.js +0 -197
  411. package/dist/chunk-OWWSWBVA.js +0 -387
  412. package/dist/chunk-P537ICAA.js +0 -163
  413. package/dist/chunk-PLBITHV6.js +0 -846
  414. package/dist/chunk-PX3PUDK7.js +0 -167
  415. package/dist/chunk-Q4INKG6N.js +0 -169
  416. package/dist/chunk-QAIIQVD6.js +0 -97
  417. package/dist/chunk-QK4ULW42.js +0 -89
  418. package/dist/chunk-RGA47NDO.js +0 -297
  419. package/dist/chunk-SFAVWURJ.js +0 -344
  420. package/dist/chunk-SHI2S5D3.js +0 -479
  421. package/dist/chunk-SWN6OHXG.js +0 -148
  422. package/dist/chunk-TCVMREWC.js +0 -156
  423. package/dist/chunk-TX7CQTD4.js +0 -5368
  424. package/dist/chunk-UGADPPOO.js +0 -203
  425. package/dist/chunk-UKSSNYLU.js +0 -98
  426. package/dist/chunk-WJO2MBHU.js +0 -57
  427. package/dist/chunk-XDCOMC44.js +0 -8954
  428. package/dist/chunk-YEE7VLSU.js +0 -547
  429. package/dist/chunk-YNYAT2TZ.js +0 -285
  430. package/dist/chunk-YOR65DEN.js +0 -831
  431. package/dist/chunk-ZNRGH4NS.js +0 -150
  432. package/dist/claim-FUVYK2YT.js +0 -198
  433. package/dist/companies-AWVD4MUQ.js +0 -196
  434. package/dist/company-FZWPUURL.js +0 -306
  435. package/dist/complete-Z6GT32O2.js +0 -82
  436. package/dist/connect-Q2L6WXKZ.js +0 -43
  437. package/dist/conversation-LOTY465T.js +0 -94
  438. package/dist/conversion-report-DKXFHLLX.js +0 -125
  439. package/dist/conversion-upload-command-KTYAY7IG.js +0 -439
  440. package/dist/conversion-writes-7ODJDAUP.js +0 -120
  441. package/dist/conversions-ALPDPMEF.js +0 -138
  442. package/dist/conversions-BKVGNNC6.js +0 -76
  443. package/dist/create-4JAQ2QZL.js +0 -133
  444. package/dist/create-KDYEOKVP.js +0 -60
  445. package/dist/create-PRCAU7ES.js +0 -237
  446. package/dist/create-RQ4SJB64.js +0 -208
  447. package/dist/creatives-RSA4ANVM.js +0 -221
  448. package/dist/creatives-SULK3SMQ.js +0 -58
  449. package/dist/credentials-IQH7MOHM.js +0 -288
  450. package/dist/critique-R6ZR7MCW.js +0 -1449
  451. package/dist/critique-TMNBP4TM.js +0 -230
  452. package/dist/crm-6BU2IKUS.js +0 -225
  453. package/dist/crm-BALM2FZY.js +0 -321
  454. package/dist/currency-R4ORE2U3.js +0 -88
  455. package/dist/customers-H7CFHRPL.js +0 -57
  456. package/dist/delete-26O52OI5.js +0 -67
  457. package/dist/delete-73QJARMX.js +0 -55
  458. package/dist/delete-AAV5ROOA.js +0 -65
  459. package/dist/demographics-WAMVL2YQ.js +0 -139
  460. package/dist/discard-462XXEKS.js +0 -67
  461. package/dist/discover-GSJRZUOC.js +0 -172
  462. package/dist/domain-J4JWIUWL.js +0 -99
  463. package/dist/download-X7MUX426.js +0 -170
  464. package/dist/draft-3ZOA3F64.js +0 -333
  465. package/dist/draft-I4KOOAI3.js +0 -308
  466. package/dist/draft-LPVK6YHI.js +0 -281
  467. package/dist/draft-WYDMLNYA.js +0 -308
  468. package/dist/draft-Y4HXZZMX.js +0 -218
  469. package/dist/experiments-YBLIFMXQ.js +0 -234
  470. package/dist/facets-5E433R6W.js +0 -115
  471. package/dist/feedback-Y3UVMQSG.js +0 -109
  472. package/dist/feedback-record-DFBHYHGC.js +0 -263
  473. package/dist/fetch-ZXRYSH3M.js +0 -177
  474. package/dist/find-FHM5R2XW.js +0 -134
  475. package/dist/fit-3FSVKIDF.js +0 -63
  476. package/dist/flows-NDPRAZD4.js +0 -248
  477. package/dist/fonts-SFRDQN57.js +0 -37
  478. package/dist/forecast-4AG5F7YC.js +0 -169
  479. package/dist/forecast-N27XNHQQ.js +0 -119
  480. package/dist/funnel-AREK6URC.js +0 -395
  481. package/dist/ga4-HTD6WC3P.js +0 -55
  482. package/dist/generate-NWHPM2GQ.js +0 -263
  483. package/dist/get-CMGW24LE.js +0 -80
  484. package/dist/get-OUMJXAW5.js +0 -57
  485. package/dist/google-AFV6DMTA.js +0 -136
  486. package/dist/google-Z45VV6UD.js +0 -3267
  487. package/dist/google-ads-QZ5P5TPJ.js +0 -196
  488. package/dist/history-5MRLNTCI.js +0 -67
  489. package/dist/history-XQXHUXRY.js +0 -134
  490. package/dist/hubspot-DTJ6Q3XJ.js +0 -780
  491. package/dist/icon-XO2EKLWL.js +0 -137
  492. package/dist/ideas-RVN5Y5QH.js +0 -43
  493. package/dist/images-46W2PYHJ.js +0 -92
  494. package/dist/ingest-HP7ZOCU2.js +0 -24
  495. package/dist/ingest-RS7REWYU.js +0 -108
  496. package/dist/insights-XCT3ONC7.js +0 -130
  497. package/dist/inspect-XL464HNM.js +0 -190
  498. package/dist/inspiration-QJNUFRNH.js +0 -53
  499. package/dist/intent-NSHW7EJT.js +0 -95
  500. package/dist/keyword-gap-ITTWKBWZ.js +0 -130
  501. package/dist/keyword-metrics-RNCB7UJY.js +0 -198
  502. package/dist/keywords-for-site-XDSQTBC2.js +0 -129
  503. package/dist/landing-ORDNKQFB.js +0 -28
  504. package/dist/languages-MEFQQBJ2.js +0 -40
  505. package/dist/leads-ANQHF46W.js +0 -113
  506. package/dist/learn-FYG5A4TA.js +0 -205
  507. package/dist/line-item-writes-UZSUA2MR.js +0 -209
  508. package/dist/line-items-RRAMAJ7C.js +0 -107
  509. package/dist/link-VAN3YIMU.js +0 -65
  510. package/dist/linkedin-PONUUSWS.js +0 -1314
  511. package/dist/linkedin-PONUUSWS.js.map +0 -1
  512. package/dist/linkedin-person-BDLPSHV2.js +0 -137
  513. package/dist/list-CC4O7JNF.js +0 -65
  514. package/dist/list-EC2UTJ3G.js +0 -304
  515. package/dist/list-LQJXJEFY.js +0 -152
  516. package/dist/locations-RLWAS6AC.js +0 -40
  517. package/dist/locations-UKBOT6SB.js +0 -67
  518. package/dist/log-K76RGBD4.js +0 -93
  519. package/dist/logo-UJIVQZRI.js +0 -18
  520. package/dist/make-RGEDSSDA.js +0 -1368
  521. package/dist/map-UTTWDZUG.js +0 -434
  522. package/dist/mcp-GYC6OYOI.js +0 -715
  523. package/dist/media-sources-GNOR56P2.js +0 -35
  524. package/dist/members-WB53HJX5.js +0 -45
  525. package/dist/meta-QWV6UVUC.js +0 -122
  526. package/dist/metrics-K6FDCMK7.js +0 -152
  527. package/dist/models-JQEPSPNQ.js +0 -155
  528. package/dist/normalize-F5GUTQMT.js +0 -142
  529. package/dist/options-UL6T76PM.js +0 -123
  530. package/dist/organization-RBPHKNNO.js +0 -947
  531. package/dist/performance-7QBDTEHF.js +0 -25
  532. package/dist/performance-SVEXDLCT.js +0 -5539
  533. package/dist/pixels-Z7ZGXAGB.js +0 -60
  534. package/dist/posts-37LZKGWU.js +0 -34
  535. package/dist/promoted-tweet-writes-ZSJZ6JSL.js +0 -181
  536. package/dist/promoted-tweets-XKKOTH2K.js +0 -119
  537. package/dist/publish-ERYQU5R7.js +0 -342
  538. package/dist/query-QM7MBQD7.js +0 -62
  539. package/dist/reddit-SP62XYJD.js +0 -27
  540. package/dist/refresh-GEGJMCWX.js +0 -95
  541. package/dist/release-YEMLUFBD.js +0 -61
  542. package/dist/relevant-pages-VOICMQ7U.js +0 -99
  543. package/dist/remove-W6PUVZPA.js +0 -51
  544. package/dist/reopen-JBTVZ2LW.js +0 -64
  545. package/dist/rerun-D6LE7FDU.js +0 -93
  546. package/dist/research-TFB6P2QZ.js +0 -263
  547. package/dist/research-XSIMRMBF.js +0 -72
  548. package/dist/reset-DBNUPYPX.js +0 -55
  549. package/dist/reset-GYRNMHIO.js +0 -55
  550. package/dist/resolve-72VSHTVC.js +0 -122
  551. package/dist/retry-OPE6OETO.js +0 -63
  552. package/dist/retry-RBX7T4YX.js +0 -61
  553. package/dist/revenue-QWYYDLBW.js +0 -89
  554. package/dist/rules-OPKDULKM.js +0 -97
  555. package/dist/rules-add-GMHA3474.js +0 -463
  556. package/dist/run-JG4Q3RMR.js +0 -67
  557. package/dist/run-KCUGWQQT.js +0 -68
  558. package/dist/scaffold-ad-6JWUIBT7.js +0 -1514
  559. package/dist/scaffold-static-ad-55IO4GEF.js +0 -1013
  560. package/dist/scaffold-video-CMLUB4JS.js +0 -886
  561. package/dist/schedule-O2TNC2YG.js +0 -62
  562. package/dist/scheduled-agents-PSOCKMRO.js +0 -50
  563. package/dist/scheduled-agents-PSOCKMRO.js.map +0 -1
  564. package/dist/schema-3JYIIVR4.js +0 -133
  565. package/dist/search-OHPP6LOU.js +0 -175
  566. package/dist/select-JMSE3WPN.js +0 -104
  567. package/dist/set-prompt-74H5AWOU.js +0 -196
  568. package/dist/setup-links-ATIWLLRA.js +0 -142
  569. package/dist/shopify-C3QLAHPJ.js +0 -3956
  570. package/dist/site-YRPQSUZQ.js +0 -178
  571. package/dist/sources-7KAVPFEJ.js +0 -30
  572. package/dist/sources-MZHPLHZ7.js +0 -455
  573. package/dist/stale-SV27TXXK.js +0 -74
  574. package/dist/stats-HUWCLN7J.js +0 -34
  575. package/dist/status-27KKLWRF.js +0 -63
  576. package/dist/stock-4AQFDZLE.js +0 -179
  577. package/dist/studio-Z4AJRIGP.js +0 -49
  578. package/dist/sync-GAH2FFLN.js +0 -55
  579. package/dist/sync-definition-RYLTYRI5.js +0 -67
  580. package/dist/tag-manager-BVPLGLTF.js +0 -43
  581. package/dist/tags-3RKM77RR.js +0 -21
  582. package/dist/tags-6HGJ2HOE.js +0 -21
  583. package/dist/tags-KBRYZH54.js +0 -225
  584. package/dist/tags-KBRYZH54.js.map +0 -1
  585. package/dist/tags-NIG27X3C.js +0 -26
  586. package/dist/tags-VKFC5Q7R.js +0 -21
  587. package/dist/targeting-criteria-UMN3W4JK.js +0 -113
  588. package/dist/targets-5KRIO2L2.js +0 -104
  589. package/dist/testimonials-YLRVZWEN.js +0 -32
  590. package/dist/themes-B4LCQUXB.js +0 -95
  591. package/dist/top-companies-ZAOTUO6K.js +0 -109
  592. package/dist/transcript-SAEBSYT5.js +0 -163
  593. package/dist/translate-5C7CPJ4Y.js +0 -607
  594. package/dist/triggers-AR52EK5G.js +0 -142
  595. package/dist/unlink-PGOI74MM.js +0 -68
  596. package/dist/unstage-HG6WPQLB.js +0 -86
  597. package/dist/update-4BHGI4RU.js +0 -99
  598. package/dist/update-FOTXGAZC.js +0 -64
  599. package/dist/update-SI5JLX5A.js +0 -153
  600. package/dist/update-SI5JLX5A.js.map +0 -1
  601. package/dist/update-U4GTWXZW.js +0 -190
  602. package/dist/upload-K7RDQE5W.js +0 -127
  603. package/dist/url-options-IHL4OU4C.js +0 -130
  604. package/dist/url-params-ONW6QJIG.js +0 -99
  605. package/dist/validate-6IOBT7OV.js +0 -120
  606. package/dist/videos-ZAYNGVO2.js +0 -41
  607. package/dist/viewer-check-ABB6WD6S.js +0 -81
  608. package/dist/web-ZF6ZYVIU.js +0 -141
  609. package/dist/winning-ads-IQGAGVDW.js +0 -86
  610. package/dist/write-commands-BAF3HLHP.js +0 -1498
  611. package/dist/write-commands-BAF3HLHP.js.map +0 -1
  612. package/dist/x-25M6BI6M.js +0 -47
  613. /package/dist/{account-SMKA6P4Z.js.map → account-IGI3PTJE.js.map} +0 -0
  614. /package/dist/{account-WLQBAQMD.js.map → account-MYHDHWFR.js.map} +0 -0
  615. /package/dist/{account-reads-SNOWDHHF.js.map → account-reads-Z5SLGMZQ.js.map} +0 -0
  616. /package/dist/{account-users-T2MBGK7C.js.map → account-users-LRHI4TW3.js.map} +0 -0
  617. /package/dist/{account-writes-TU3WJRSI.js.map → account-writes-CADBLQBA.js.map} +0 -0
  618. /package/dist/{accounts-VID557NT.js.map → accounts-G4HZ7YGD.js.map} +0 -0
  619. /package/dist/{accounts-L4TR3XTA.js.map → accounts-GDX7GSKN.js.map} +0 -0
  620. /package/dist/{actions-ZVBG7WKM.js.map → actions-RTP5AKTG.js.map} +0 -0
  621. /package/dist/{activecampaign-3YN2UTXP.js.map → activecampaign-T6K6LYJ2.js.map} +0 -0
  622. /package/dist/{ad-group-writes-HLBWN4E4.js.map → ad-group-writes-NVWZYX47.js.map} +0 -0
  623. /package/dist/{ad-groups-33NZD6J3.js.map → ad-groups-IB5BCB4D.js.map} +0 -0
  624. /package/dist/{ad-writes-7ZDNDZ2E.js.map → ad-writes-WGXISLOY.js.map} +0 -0
  625. /package/dist/{add-PHKZXFUW.js.map → add-6SEQHUGY.js.map} +0 -0
  626. /package/dist/{add-TXQYAWPP.js.map → add-LKNMKMTG.js.map} +0 -0
  627. /package/dist/{ads-C7XJNMCX.js.map → ads-KBE5JXCH.js.map} +0 -0
  628. /package/dist/{ads-JIX7BYE5.js.map → ads-LHK7KPZ7.js.map} +0 -0
  629. /package/dist/{ads-X3AM6M7L.js.map → ads-PTZZMD6I.js.map} +0 -0
  630. /package/dist/{adsets-6H5ZOYGF.js.map → adsets-YWBJFPAZ.js.map} +0 -0
  631. /package/dist/{advertisers-RK3UQWBA.js.map → advertisers-4PYWHEFH.js.map} +0 -0
  632. /package/dist/{analytics-3VLFGKOT.js.map → analytics-P4BF2H5S.js.map} +0 -0
  633. /package/dist/{analytics-4TDNEPFQ.js.map → analytics-PRM67GCJ.js.map} +0 -0
  634. /package/dist/{animate-2BMHZ4FM.js.map → animate-HRWFVE2N.js.map} +0 -0
  635. /package/dist/{assign-YAHBW3CN.js.map → assign-GMF4YPVT.js.map} +0 -0
  636. /package/dist/{audience-size-PKHWSABW.js.map → audience-size-HZ6NIOOM.js.map} +0 -0
  637. /package/dist/{audiences-WCDWN64L.js.map → audiences-2GVJ6EMO.js.map} +0 -0
  638. /package/dist/{audit-X2U5KKDY.js.map → audit-EDK7NLH6.js.map} +0 -0
  639. /package/dist/{autocomplete-D2R5XJGE.js.map → autocomplete-XWX475A7.js.map} +0 -0
  640. /package/dist/{avatars-NUYPMFNM.js.map → avatars-H4Y265W5.js.map} +0 -0
  641. /package/dist/{bid-pricing-6A2K4WXD.js.map → bid-pricing-ZYUA75AL.js.map} +0 -0
  642. /package/dist/{brand-SWEL6C5B.js.map → brand-ECCZGUBT.js.map} +0 -0
  643. /package/dist/{brief-36CRH2QS.js.map → brief-JKWAEKQR.js.map} +0 -0
  644. /package/dist/{campaign-groups-PWKQEDN6.js.map → campaign-groups-EYHQXUCB.js.map} +0 -0
  645. /package/dist/{campaign-writes-XO74BALZ.js.map → campaign-writes-2SPNUA2E.js.map} +0 -0
  646. /package/dist/{campaign-writes-E5EQFXWF.js.map → campaign-writes-R7RGI6DU.js.map} +0 -0
  647. /package/dist/{campaigns-DVZXUCCH.js.map → campaigns-MUGWIRD6.js.map} +0 -0
  648. /package/dist/{campaigns-S7OU6SEE.js.map → campaigns-SPDI2BCS.js.map} +0 -0
  649. /package/dist/{campaigns-HN656A2N.js.map → campaigns-XZOQ2VTK.js.map} +0 -0
  650. /package/dist/{campaigns-LS65QM6W.js.map → campaigns-ZBN2RDTI.js.map} +0 -0
  651. /package/dist/{canvas-BWRJUCQ5.js.map → canvas-IYCM5PBE.js.map} +0 -0
  652. /package/dist/{capabilities-JJ67W5O5.js.map → capabilities-LRESBKYV.js.map} +0 -0
  653. /package/dist/{catalog-TZLU5NWI.js.map → catalog-ZY3MFT55.js.map} +0 -0
  654. /package/dist/{catalogs-T23RKYFC.js.map → catalogs-KZZN6W3M.js.map} +0 -0
  655. /package/dist/{changes-36C754R4.js.map → changes-6UUUCIK3.js.map} +0 -0
  656. /package/dist/{chatgpt-DEG26ES2.js.map → chatgpt-VYZONEHH.js.map} +0 -0
  657. /package/dist/{chats-JY6JAOLN.js.map → chats-6YVCEIYZ.js.map} +0 -0
  658. /package/dist/{check-TDAP7PUO.js.map → check-STJX2TQA.js.map} +0 -0
  659. /package/dist/{chunk-FFFJBNHA.js.map → chunk-2LEW2WH2.js.map} +0 -0
  660. /package/dist/{chunk-4GAEB6NK.js.map → chunk-32KUF3RV.js.map} +0 -0
  661. /package/dist/{chunk-MGYC2IRC.js.map → chunk-3RBTIJPR.js.map} +0 -0
  662. /package/dist/{chunk-GOCL4RYW.js.map → chunk-4CBYHH33.js.map} +0 -0
  663. /package/dist/{chunk-PX3PUDK7.js.map → chunk-4IHWT7PH.js.map} +0 -0
  664. /package/dist/{chunk-EEFAN5XO.js.map → chunk-5FON5DHA.js.map} +0 -0
  665. /package/dist/{chunk-LG3JT3W6.js.map → chunk-6NKA3JSK.js.map} +0 -0
  666. /package/dist/{chunk-JAC6JVCI.js.map → chunk-6OIKNJ7G.js.map} +0 -0
  667. /package/dist/{chunk-3YJNSUNF.js.map → chunk-6ZFSDYWV.js.map} +0 -0
  668. /package/dist/{chunk-QAIIQVD6.js.map → chunk-AFKTFP2U.js.map} +0 -0
  669. /package/dist/{chunk-YOR65DEN.js.map → chunk-ARQWH775.js.map} +0 -0
  670. /package/dist/{chunk-3SJ7F2NS.js.map → chunk-ATFOCIYN.js.map} +0 -0
  671. /package/dist/{chunk-TX7CQTD4.js.map → chunk-AULSX5ZA.js.map} +0 -0
  672. /package/dist/{chunk-MVD7QIXI.js.map → chunk-AVYUFJQQ.js.map} +0 -0
  673. /package/dist/{chunk-IKABCOR5.js.map → chunk-BBGWW6WZ.js.map} +0 -0
  674. /package/dist/{chunk-HNJRZS3X.js.map → chunk-BBODUOTQ.js.map} +0 -0
  675. /package/dist/{chunk-I4UHCEPI.js.map → chunk-BCMEXGCY.js.map} +0 -0
  676. /package/dist/{chunk-UKSSNYLU.js.map → chunk-BDOYNGUL.js.map} +0 -0
  677. /package/dist/{chunk-OHWCCNAM.js.map → chunk-CEMOFARE.js.map} +0 -0
  678. /package/dist/{chunk-OWWSWBVA.js.map → chunk-CIR26OA5.js.map} +0 -0
  679. /package/dist/{chunk-B4WQAGOQ.js.map → chunk-D2QST6DJ.js.map} +0 -0
  680. /package/dist/{chunk-WJO2MBHU.js.map → chunk-DPKOVTA4.js.map} +0 -0
  681. /package/dist/{chunk-HML3VQIW.js.map → chunk-DUCUOZLS.js.map} +0 -0
  682. /package/dist/{chunk-PLBITHV6.js.map → chunk-ELR5JGLM.js.map} +0 -0
  683. /package/dist/{chunk-KBRJSPIM.js.map → chunk-ESLLM23I.js.map} +0 -0
  684. /package/dist/{chunk-E3O5NRD2.js.map → chunk-ETWTY7IU.js.map} +0 -0
  685. /package/dist/{chunk-KFKJCMVE.js.map → chunk-F4JYRLAA.js.map} +0 -0
  686. /package/dist/{chunk-7HZSORAB.js.map → chunk-FJZYOVSW.js.map} +0 -0
  687. /package/dist/{chunk-LXHMT54H.js.map → chunk-FLT4J76D.js.map} +0 -0
  688. /package/dist/{chunk-N4YDINH6.js.map → chunk-FQBRBQJY.js.map} +0 -0
  689. /package/dist/{chunk-UGADPPOO.js.map → chunk-GJ52W2U2.js.map} +0 -0
  690. /package/dist/{chunk-6D3KBT3I.js.map → chunk-H7F6PDYD.js.map} +0 -0
  691. /package/dist/{chunk-5XTGG4PV.js.map → chunk-HOHQXBFP.js.map} +0 -0
  692. /package/dist/{chunk-DH7Q3WOV.js.map → chunk-I2CLKSKS.js.map} +0 -0
  693. /package/dist/{chunk-YNYAT2TZ.js.map → chunk-I43ZEWJQ.js.map} +0 -0
  694. /package/dist/{chunk-JCRCI7Q3.js.map → chunk-KMMQLWNC.js.map} +0 -0
  695. /package/dist/{chunk-LZ6O67EY.js.map → chunk-KOLUSJTP.js.map} +0 -0
  696. /package/dist/{chunk-6KWEF6HF.js.map → chunk-KPCHWDJM.js.map} +0 -0
  697. /package/dist/{chunk-SWN6OHXG.js.map → chunk-KTZCLJ2D.js.map} +0 -0
  698. /package/dist/{chunk-GACSA5A6.js.map → chunk-KZISJO24.js.map} +0 -0
  699. /package/dist/{chunk-5MZFPMNJ.js.map → chunk-L427QTFN.js.map} +0 -0
  700. /package/dist/{chunk-YEE7VLSU.js.map → chunk-MCHUPJ3I.js.map} +0 -0
  701. /package/dist/{chunk-A3IQAONL.js.map → chunk-MKUA54QE.js.map} +0 -0
  702. /package/dist/{chunk-RGA47NDO.js.map → chunk-MUQTW4NP.js.map} +0 -0
  703. /package/dist/{chunk-M5SMMJAQ.js.map → chunk-NCOL3UQP.js.map} +0 -0
  704. /package/dist/{chunk-TCVMREWC.js.map → chunk-OCOFX5MT.js.map} +0 -0
  705. /package/dist/{chunk-7FBRAVXA.js.map → chunk-PIEWX6AT.js.map} +0 -0
  706. /package/dist/{chunk-QK4ULW42.js.map → chunk-Q7VCLHME.js.map} +0 -0
  707. /package/dist/{chunk-LRV6M2WB.js.map → chunk-QHZE62GP.js.map} +0 -0
  708. /package/dist/{chunk-SHI2S5D3.js.map → chunk-QM25W6LF.js.map} +0 -0
  709. /package/dist/{chunk-SFAVWURJ.js.map → chunk-RPGPHMUY.js.map} +0 -0
  710. /package/dist/{chunk-4F6RGT4G.js.map → chunk-S4ZLTJ6C.js.map} +0 -0
  711. /package/dist/{chunk-MZPS46OR.js.map → chunk-SIKCVWM3.js.map} +0 -0
  712. /package/dist/{chunk-LN2U45XJ.js.map → chunk-SISUR5O4.js.map} +0 -0
  713. /package/dist/{chunk-MUQ4CICG.js.map → chunk-SRYMRFXV.js.map} +0 -0
  714. /package/dist/{chunk-372V4EUW.js.map → chunk-TMVGDYSR.js.map} +0 -0
  715. /package/dist/{chunk-4YL2TKIB.js.map → chunk-U3JKPUXK.js.map} +0 -0
  716. /package/dist/{chunk-P537ICAA.js.map → chunk-UBABMQY3.js.map} +0 -0
  717. /package/dist/{chunk-F4YQ5PVR.js.map → chunk-UMIX2BMM.js.map} +0 -0
  718. /package/dist/{chunk-Q4INKG6N.js.map → chunk-VHJBM2CE.js.map} +0 -0
  719. /package/dist/{chunk-J2EPHTRZ.js.map → chunk-WL6WNWX6.js.map} +0 -0
  720. /package/dist/{chunk-FFG2OYVV.js.map → chunk-XOGQJYXH.js.map} +0 -0
  721. /package/dist/{chunk-XDCOMC44.js.map → chunk-YEDNAQZQ.js.map} +0 -0
  722. /package/dist/{chunk-EP6YT6W7.js.map → chunk-YRNORYAS.js.map} +0 -0
  723. /package/dist/{chunk-ZNRGH4NS.js.map → chunk-YZBB72TV.js.map} +0 -0
  724. /package/dist/{chunk-JKYFQOGU.js.map → chunk-ZRBWVHND.js.map} +0 -0
  725. /package/dist/{claim-FUVYK2YT.js.map → claim-FOZCAA66.js.map} +0 -0
  726. /package/dist/{companies-AWVD4MUQ.js.map → companies-UBYDPOBQ.js.map} +0 -0
  727. /package/dist/{company-FZWPUURL.js.map → company-DF3XEX3Y.js.map} +0 -0
  728. /package/dist/{complete-Z6GT32O2.js.map → complete-42YQ5JWV.js.map} +0 -0
  729. /package/dist/{connect-Q2L6WXKZ.js.map → connect-NZAU2PYY.js.map} +0 -0
  730. /package/dist/{conversation-LOTY465T.js.map → conversation-ZY6BYM5O.js.map} +0 -0
  731. /package/dist/{conversion-report-DKXFHLLX.js.map → conversion-report-SSURSX3A.js.map} +0 -0
  732. /package/dist/{conversion-upload-command-KTYAY7IG.js.map → conversion-upload-command-IRE3YQXF.js.map} +0 -0
  733. /package/dist/{conversion-writes-7ODJDAUP.js.map → conversion-writes-DZFTO25O.js.map} +0 -0
  734. /package/dist/{conversions-BKVGNNC6.js.map → conversions-4HSCON4E.js.map} +0 -0
  735. /package/dist/{conversions-ALPDPMEF.js.map → conversions-FOQ3GEY6.js.map} +0 -0
  736. /package/dist/{create-4JAQ2QZL.js.map → create-36QUQODR.js.map} +0 -0
  737. /package/dist/{create-KDYEOKVP.js.map → create-DQTLLGFV.js.map} +0 -0
  738. /package/dist/{create-RQ4SJB64.js.map → create-P2JPN4AC.js.map} +0 -0
  739. /package/dist/{create-PRCAU7ES.js.map → create-VGYRZHVI.js.map} +0 -0
  740. /package/dist/{creatives-SULK3SMQ.js.map → creatives-LGXI6WH5.js.map} +0 -0
  741. /package/dist/{creatives-RSA4ANVM.js.map → creatives-XSUQ75KK.js.map} +0 -0
  742. /package/dist/{credentials-IQH7MOHM.js.map → credentials-NRRK6GPM.js.map} +0 -0
  743. /package/dist/{critique-R6ZR7MCW.js.map → critique-3PRMNDUM.js.map} +0 -0
  744. /package/dist/{critique-TMNBP4TM.js.map → critique-RATYHSIP.js.map} +0 -0
  745. /package/dist/{crm-BALM2FZY.js.map → crm-M2LFYJTV.js.map} +0 -0
  746. /package/dist/{crm-6BU2IKUS.js.map → crm-WCR77ZMD.js.map} +0 -0
  747. /package/dist/{currency-R4ORE2U3.js.map → currency-2224QRF5.js.map} +0 -0
  748. /package/dist/{customers-H7CFHRPL.js.map → customers-X6ZJZJOQ.js.map} +0 -0
  749. /package/dist/{delete-26O52OI5.js.map → delete-PKIGPAFC.js.map} +0 -0
  750. /package/dist/{delete-73QJARMX.js.map → delete-QXCP3ACU.js.map} +0 -0
  751. /package/dist/{delete-AAV5ROOA.js.map → delete-TANIHYN5.js.map} +0 -0
  752. /package/dist/{demographics-WAMVL2YQ.js.map → demographics-IDN7VXKR.js.map} +0 -0
  753. /package/dist/{discard-462XXEKS.js.map → discard-S2T3JLBG.js.map} +0 -0
  754. /package/dist/{discover-GSJRZUOC.js.map → discover-UFGF5UNA.js.map} +0 -0
  755. /package/dist/{domain-J4JWIUWL.js.map → domain-PMLP7WAS.js.map} +0 -0
  756. /package/dist/{download-X7MUX426.js.map → download-UMA33YUD.js.map} +0 -0
  757. /package/dist/{draft-WYDMLNYA.js.map → draft-4V5Q7MCH.js.map} +0 -0
  758. /package/dist/{draft-Y4HXZZMX.js.map → draft-FOX2PPEX.js.map} +0 -0
  759. /package/dist/{draft-3ZOA3F64.js.map → draft-I4DTA47U.js.map} +0 -0
  760. /package/dist/{draft-I4KOOAI3.js.map → draft-NEHNZKKD.js.map} +0 -0
  761. /package/dist/{draft-LPVK6YHI.js.map → draft-ONIL5ET5.js.map} +0 -0
  762. /package/dist/{experiments-YBLIFMXQ.js.map → experiments-P5WUSTP5.js.map} +0 -0
  763. /package/dist/{facets-5E433R6W.js.map → facets-2ZZ5DG4A.js.map} +0 -0
  764. /package/dist/{feedback-Y3UVMQSG.js.map → feedback-SQT4AWIH.js.map} +0 -0
  765. /package/dist/{feedback-record-DFBHYHGC.js.map → feedback-record-2LM47MC5.js.map} +0 -0
  766. /package/dist/{fetch-ZXRYSH3M.js.map → fetch-HOBCJA4A.js.map} +0 -0
  767. /package/dist/{find-FHM5R2XW.js.map → find-5FCDTFYC.js.map} +0 -0
  768. /package/dist/{fit-3FSVKIDF.js.map → fit-5F22YYH2.js.map} +0 -0
  769. /package/dist/{flows-NDPRAZD4.js.map → flows-HUFKKR7Y.js.map} +0 -0
  770. /package/dist/{fonts-SFRDQN57.js.map → fonts-MJGV75XD.js.map} +0 -0
  771. /package/dist/{forecast-4AG5F7YC.js.map → forecast-3F7ZCCJ5.js.map} +0 -0
  772. /package/dist/{forecast-N27XNHQQ.js.map → forecast-75QFWTV2.js.map} +0 -0
  773. /package/dist/{funnel-AREK6URC.js.map → funnel-EPVYLJ3H.js.map} +0 -0
  774. /package/dist/{ga4-HTD6WC3P.js.map → ga4-BWVCDVIR.js.map} +0 -0
  775. /package/dist/{generate-NWHPM2GQ.js.map → generate-VBEY3N3L.js.map} +0 -0
  776. /package/dist/{get-OUMJXAW5.js.map → get-37ESTR54.js.map} +0 -0
  777. /package/dist/{get-CMGW24LE.js.map → get-QM4NMDVB.js.map} +0 -0
  778. /package/dist/{google-AFV6DMTA.js.map → google-3BO7KNZ6.js.map} +0 -0
  779. /package/dist/{google-Z45VV6UD.js.map → google-XKUH32VA.js.map} +0 -0
  780. /package/dist/{google-ads-QZ5P5TPJ.js.map → google-ads-HWI22G4U.js.map} +0 -0
  781. /package/dist/{history-XQXHUXRY.js.map → history-I3TS5C3H.js.map} +0 -0
  782. /package/dist/{history-5MRLNTCI.js.map → history-OYKUWMQR.js.map} +0 -0
  783. /package/dist/{hubspot-DTJ6Q3XJ.js.map → hubspot-BOGE6FO2.js.map} +0 -0
  784. /package/dist/{icon-XO2EKLWL.js.map → icon-XHPEVICH.js.map} +0 -0
  785. /package/dist/{ideas-RVN5Y5QH.js.map → ideas-UICGLEUI.js.map} +0 -0
  786. /package/dist/{images-46W2PYHJ.js.map → images-TJGUKE2W.js.map} +0 -0
  787. /package/dist/{ingest-HP7ZOCU2.js.map → ingest-E74SWVT6.js.map} +0 -0
  788. /package/dist/{ingest-RS7REWYU.js.map → ingest-XLRFEWZX.js.map} +0 -0
  789. /package/dist/{insights-XCT3ONC7.js.map → insights-DYCUSIPZ.js.map} +0 -0
  790. /package/dist/{inspect-XL464HNM.js.map → inspect-NJ6TYM3J.js.map} +0 -0
  791. /package/dist/{inspiration-QJNUFRNH.js.map → inspiration-BPG25PTI.js.map} +0 -0
  792. /package/dist/{intent-NSHW7EJT.js.map → intent-3SNXAUCK.js.map} +0 -0
  793. /package/dist/{keyword-gap-ITTWKBWZ.js.map → keyword-gap-YUL7H46U.js.map} +0 -0
  794. /package/dist/{keyword-metrics-RNCB7UJY.js.map → keyword-metrics-2MUNXZOP.js.map} +0 -0
  795. /package/dist/{keywords-for-site-XDSQTBC2.js.map → keywords-for-site-ZZUSLY46.js.map} +0 -0
  796. /package/dist/{landing-ORDNKQFB.js.map → landing-OUWOWEL4.js.map} +0 -0
  797. /package/dist/{languages-MEFQQBJ2.js.map → languages-JEPSSZLV.js.map} +0 -0
  798. /package/dist/{leads-ANQHF46W.js.map → leads-3SRPHEVO.js.map} +0 -0
  799. /package/dist/{learn-FYG5A4TA.js.map → learn-XBUEDQ6D.js.map} +0 -0
  800. /package/dist/{line-item-writes-UZSUA2MR.js.map → line-item-writes-V7UWLP7J.js.map} +0 -0
  801. /package/dist/{line-items-RRAMAJ7C.js.map → line-items-PPHV3QBI.js.map} +0 -0
  802. /package/dist/{link-VAN3YIMU.js.map → link-RUUSSNGZ.js.map} +0 -0
  803. /package/dist/{linkedin-person-BDLPSHV2.js.map → linkedin-person-34KK7UIR.js.map} +0 -0
  804. /package/dist/{list-LQJXJEFY.js.map → list-CVEAX6HI.js.map} +0 -0
  805. /package/dist/{list-EC2UTJ3G.js.map → list-GKM5NOFB.js.map} +0 -0
  806. /package/dist/{list-CC4O7JNF.js.map → list-LG5ZCYHS.js.map} +0 -0
  807. /package/dist/{locations-RLWAS6AC.js.map → locations-GO7L7BYJ.js.map} +0 -0
  808. /package/dist/{locations-UKBOT6SB.js.map → locations-KQLA6ZAG.js.map} +0 -0
  809. /package/dist/{log-K76RGBD4.js.map → log-LEOREG6H.js.map} +0 -0
  810. /package/dist/{logo-UJIVQZRI.js.map → logo-4MGGQHQ7.js.map} +0 -0
  811. /package/dist/{make-RGEDSSDA.js.map → make-6DAAAG5J.js.map} +0 -0
  812. /package/dist/{map-UTTWDZUG.js.map → map-2KZD3UFL.js.map} +0 -0
  813. /package/dist/{mcp-GYC6OYOI.js.map → mcp-2TY4IOCL.js.map} +0 -0
  814. /package/dist/{media-sources-GNOR56P2.js.map → media-sources-M377PAZM.js.map} +0 -0
  815. /package/dist/{members-WB53HJX5.js.map → members-XZI3WMTD.js.map} +0 -0
  816. /package/dist/{meta-QWV6UVUC.js.map → meta-EHKXH257.js.map} +0 -0
  817. /package/dist/{metrics-K6FDCMK7.js.map → metrics-2EYRCEJE.js.map} +0 -0
  818. /package/dist/{models-JQEPSPNQ.js.map → models-HJ7Y55AH.js.map} +0 -0
  819. /package/dist/{normalize-F5GUTQMT.js.map → normalize-CW5ITA7O.js.map} +0 -0
  820. /package/dist/{options-UL6T76PM.js.map → options-4E54J6SK.js.map} +0 -0
  821. /package/dist/{organization-RBPHKNNO.js.map → organization-R4E7KFFH.js.map} +0 -0
  822. /package/dist/{performance-7QBDTEHF.js.map → performance-BEOXMBU4.js.map} +0 -0
  823. /package/dist/{performance-SVEXDLCT.js.map → performance-W7YACZ5G.js.map} +0 -0
  824. /package/dist/{pixels-Z7ZGXAGB.js.map → pixels-2MSQKQKG.js.map} +0 -0
  825. /package/dist/{posts-37LZKGWU.js.map → posts-LKL4S52R.js.map} +0 -0
  826. /package/dist/{promoted-tweet-writes-ZSJZ6JSL.js.map → promoted-tweet-writes-PACLBGPK.js.map} +0 -0
  827. /package/dist/{promoted-tweets-XKKOTH2K.js.map → promoted-tweets-3HBQM72R.js.map} +0 -0
  828. /package/dist/{publish-ERYQU5R7.js.map → publish-GILVUIYK.js.map} +0 -0
  829. /package/dist/{query-QM7MBQD7.js.map → query-2V2IOV4K.js.map} +0 -0
  830. /package/dist/{reddit-SP62XYJD.js.map → reddit-Z5JXCFNI.js.map} +0 -0
  831. /package/dist/{refresh-GEGJMCWX.js.map → refresh-KZEUSRVB.js.map} +0 -0
  832. /package/dist/{release-YEMLUFBD.js.map → release-SVXRZ6VA.js.map} +0 -0
  833. /package/dist/{relevant-pages-VOICMQ7U.js.map → relevant-pages-ODV4OWSA.js.map} +0 -0
  834. /package/dist/{remove-W6PUVZPA.js.map → remove-XMWP4SJJ.js.map} +0 -0
  835. /package/dist/{reopen-JBTVZ2LW.js.map → reopen-VCH3C5XS.js.map} +0 -0
  836. /package/dist/{rerun-D6LE7FDU.js.map → rerun-Q5CNS7LE.js.map} +0 -0
  837. /package/dist/{research-TFB6P2QZ.js.map → research-JSSB2BJB.js.map} +0 -0
  838. /package/dist/{research-XSIMRMBF.js.map → research-RKDKOEVU.js.map} +0 -0
  839. /package/dist/{reset-GYRNMHIO.js.map → reset-3F7AQSYQ.js.map} +0 -0
  840. /package/dist/{reset-DBNUPYPX.js.map → reset-NFDSYFZS.js.map} +0 -0
  841. /package/dist/{resolve-72VSHTVC.js.map → resolve-5RIWWLL4.js.map} +0 -0
  842. /package/dist/{retry-RBX7T4YX.js.map → retry-42COPYFE.js.map} +0 -0
  843. /package/dist/{retry-OPE6OETO.js.map → retry-XJZJI2SJ.js.map} +0 -0
  844. /package/dist/{revenue-QWYYDLBW.js.map → revenue-RI72LFP4.js.map} +0 -0
  845. /package/dist/{rules-OPKDULKM.js.map → rules-OBLBAQEM.js.map} +0 -0
  846. /package/dist/{rules-add-GMHA3474.js.map → rules-add-ZDXCUD3H.js.map} +0 -0
  847. /package/dist/{run-KCUGWQQT.js.map → run-UZMOP22U.js.map} +0 -0
  848. /package/dist/{run-JG4Q3RMR.js.map → run-WLJ3QMYK.js.map} +0 -0
  849. /package/dist/{scaffold-ad-6JWUIBT7.js.map → scaffold-ad-T2VIQZ27.js.map} +0 -0
  850. /package/dist/{scaffold-static-ad-55IO4GEF.js.map → scaffold-static-ad-BF2UV54V.js.map} +0 -0
  851. /package/dist/{scaffold-video-CMLUB4JS.js.map → scaffold-video-74WN6WKE.js.map} +0 -0
  852. /package/dist/{schedule-O2TNC2YG.js.map → schedule-NZMZK7I4.js.map} +0 -0
  853. /package/dist/{schema-3JYIIVR4.js.map → schema-YOLI3MAY.js.map} +0 -0
  854. /package/dist/{search-OHPP6LOU.js.map → search-GT6DCBQ4.js.map} +0 -0
  855. /package/dist/{select-JMSE3WPN.js.map → select-4T3OHCHY.js.map} +0 -0
  856. /package/dist/{set-prompt-74H5AWOU.js.map → set-prompt-B2C2XGOH.js.map} +0 -0
  857. /package/dist/{setup-links-ATIWLLRA.js.map → setup-links-24GY7UMC.js.map} +0 -0
  858. /package/dist/{shopify-C3QLAHPJ.js.map → shopify-BJRSZOTC.js.map} +0 -0
  859. /package/dist/{site-YRPQSUZQ.js.map → site-QVWQFEQD.js.map} +0 -0
  860. /package/dist/{sources-7KAVPFEJ.js.map → sources-H42GSCNP.js.map} +0 -0
  861. /package/dist/{sources-MZHPLHZ7.js.map → sources-VIEWCGYE.js.map} +0 -0
  862. /package/dist/{stale-SV27TXXK.js.map → stale-X2JN3PJB.js.map} +0 -0
  863. /package/dist/{stats-HUWCLN7J.js.map → stats-QP4LFQZJ.js.map} +0 -0
  864. /package/dist/{status-27KKLWRF.js.map → status-EFLS5XGD.js.map} +0 -0
  865. /package/dist/{stock-4AQFDZLE.js.map → stock-TAKWC3YI.js.map} +0 -0
  866. /package/dist/{studio-Z4AJRIGP.js.map → studio-5Z4NMA4K.js.map} +0 -0
  867. /package/dist/{sync-GAH2FFLN.js.map → sync-JEOEUKZV.js.map} +0 -0
  868. /package/dist/{sync-definition-RYLTYRI5.js.map → sync-definition-7ZGQAL7V.js.map} +0 -0
  869. /package/dist/{tag-manager-BVPLGLTF.js.map → tag-manager-F7PVTDBB.js.map} +0 -0
  870. /package/dist/{tags-NIG27X3C.js.map → tags-BFFCF7RU.js.map} +0 -0
  871. /package/dist/{tags-VKFC5Q7R.js.map → tags-J2ILGBU2.js.map} +0 -0
  872. /package/dist/{tags-3RKM77RR.js.map → tags-JKS2STPZ.js.map} +0 -0
  873. /package/dist/{tags-6HGJ2HOE.js.map → tags-UTICOZ4V.js.map} +0 -0
  874. /package/dist/{targeting-criteria-UMN3W4JK.js.map → targeting-criteria-SAFHFYHT.js.map} +0 -0
  875. /package/dist/{targets-5KRIO2L2.js.map → targets-UPD2SDYP.js.map} +0 -0
  876. /package/dist/{testimonials-YLRVZWEN.js.map → testimonials-WQMQ5MH4.js.map} +0 -0
  877. /package/dist/{themes-B4LCQUXB.js.map → themes-QESDDIHF.js.map} +0 -0
  878. /package/dist/{top-companies-ZAOTUO6K.js.map → top-companies-GJZGD6Y4.js.map} +0 -0
  879. /package/dist/{transcript-SAEBSYT5.js.map → transcript-2MAN3FYK.js.map} +0 -0
  880. /package/dist/{translate-5C7CPJ4Y.js.map → translate-67ZRTJ3K.js.map} +0 -0
  881. /package/dist/{triggers-AR52EK5G.js.map → triggers-QW5AD7US.js.map} +0 -0
  882. /package/dist/{unlink-PGOI74MM.js.map → unlink-2DGK7WUX.js.map} +0 -0
  883. /package/dist/{unstage-HG6WPQLB.js.map → unstage-JQUAPISM.js.map} +0 -0
  884. /package/dist/{update-FOTXGAZC.js.map → update-AHTTFWVN.js.map} +0 -0
  885. /package/dist/{update-U4GTWXZW.js.map → update-F5PSTTNL.js.map} +0 -0
  886. /package/dist/{update-4BHGI4RU.js.map → update-J5DGMBTD.js.map} +0 -0
  887. /package/dist/{upload-K7RDQE5W.js.map → upload-LFLWD2G3.js.map} +0 -0
  888. /package/dist/{url-options-IHL4OU4C.js.map → url-options-IBU342D6.js.map} +0 -0
  889. /package/dist/{url-params-ONW6QJIG.js.map → url-params-WBYGRRWI.js.map} +0 -0
  890. /package/dist/{validate-6IOBT7OV.js.map → validate-ELVTL2WL.js.map} +0 -0
  891. /package/dist/{videos-ZAYNGVO2.js.map → videos-NA64GM5P.js.map} +0 -0
  892. /package/dist/{viewer-check-ABB6WD6S.js.map → viewer-check-7MAJ3LGH.js.map} +0 -0
  893. /package/dist/{web-ZF6ZYVIU.js.map → web-KVXUQM4L.js.map} +0 -0
  894. /package/dist/{winning-ads-IQGAGVDW.js.map → winning-ads-UETSI565.js.map} +0 -0
  895. /package/dist/{x-25M6BI6M.js.map → x-2MP4HBPZ.js.map} +0 -0
@@ -0,0 +1,429 @@
1
+ import {
2
+ agentProfile
3
+ } from "./chunk-ASRS37QE.js";
4
+ import {
5
+ AUTO_PUBLISH_REFUSAL,
6
+ MAX_AI_CONDITION_CHARS,
7
+ TRIGGER_KINDS,
8
+ TRIGGER_KIND_IDS,
9
+ TRIGGER_TARGETS,
10
+ TRIGGER_TARGET_FIELDS,
11
+ TRIGGER_TARGET_FIELD_IDS,
12
+ firstTimes,
13
+ isTriggerKind,
14
+ parseConditionsExpression
15
+ } from "./chunk-7D7YRHN3.js";
16
+ import {
17
+ ApiError,
18
+ validateConvexId
19
+ } from "./chunk-X7VQFLHI.js";
20
+ import {
21
+ getEnv
22
+ } from "./chunk-LGK7UWBN.js";
23
+ import {
24
+ writeJson
25
+ } from "./chunk-Q7US4OOA.js";
26
+
27
+ // src/commands/scheduled-agents/shared.ts
28
+ var TEMP_SCHEDULED_AGENT_PREFIX = "temp_agent_";
29
+ var TEMP_ID_PREFIX = "temp_";
30
+ function writeOk(data, hints) {
31
+ writeJson({ ok: true, data: data ?? null, ...hints && hints.length > 0 ? { hints } : {} });
32
+ }
33
+ function failValidation(message) {
34
+ writeJson({ ok: false, error: { code: "VALIDATION_ERROR", message } });
35
+ process.exit(1);
36
+ }
37
+ function failApi(err) {
38
+ if (err instanceof ApiError) {
39
+ writeJson({ ok: false, error: { code: err.code, message: err.message } });
40
+ process.exit(1);
41
+ }
42
+ if (err instanceof Error) {
43
+ writeJson({ ok: false, error: { code: "INTERNAL_ERROR", message: err.message } });
44
+ process.exit(1);
45
+ }
46
+ writeJson({ ok: false, error: { code: "INTERNAL_ERROR", message: "Unexpected error" } });
47
+ process.exit(1);
48
+ }
49
+ var AUTO_PUBLISH_ARG = {
50
+ "auto-publish": {
51
+ type: "string",
52
+ description: "Not available to the agent: publishing every run unreviewed is switched on by the user, on the item, after this chat is published. Passing it is refused and tells you what to ask them.",
53
+ required: false
54
+ }
55
+ };
56
+ function refuseAutoPublish(args) {
57
+ if (args["auto-publish"] === void 0) {
58
+ return;
59
+ }
60
+ writeJson({
61
+ ok: false,
62
+ error: {
63
+ code: "FORBIDDEN",
64
+ message: AUTO_PUBLISH_REFUSAL,
65
+ fix: {
66
+ action: "ask_user",
67
+ explanation: 'Run the command again without --auto-publish. After this chat is published, ask the user to open the item in Scheduled agents and switch on "Publish its work on its own" under "When a run finishes" \u2014 until then each run waits for their review.'
68
+ }
69
+ }
70
+ });
71
+ process.exit(1);
72
+ }
73
+ function isTempScheduledAgentId(id) {
74
+ return id.startsWith(TEMP_SCHEDULED_AGENT_PREFIX);
75
+ }
76
+ function isOtherTempId(id) {
77
+ return id.startsWith(TEMP_ID_PREFIX) && !isTempScheduledAgentId(id);
78
+ }
79
+ function validateScheduledAgentRef(ref) {
80
+ if (isOtherTempId(ref)) {
81
+ failValidation(`Scheduled agent temp IDs must start with ${TEMP_SCHEDULED_AGENT_PREFIX}.`);
82
+ }
83
+ if (!isTempScheduledAgentId(ref)) {
84
+ validateConvexId(ref);
85
+ }
86
+ }
87
+ var TRIGGER_ARG_DESCRIPTION = `What makes this run. ${TRIGGER_KIND_IDS.map(
88
+ (id) => `${id}: ${TRIGGER_KINDS[id].description}`
89
+ ).join(" ")} For the two time ones, pass --cron or --run-at instead and the kind is implied.`;
90
+ var TRIGGER_KIND_LIST = [...TRIGGER_KIND_IDS];
91
+ var NARROWING_DESCRIPTIONS = {
92
+ eventName: "With --trigger event.received: only this event name (a source's name, or one your site sends). Omit it to run on any event.",
93
+ toolkit: "With --trigger app.event (required): the connected tool, by its slug \u2014 gmail, slack, googlesheets.",
94
+ account: "With --trigger app.event (required): which connected account of that tool, by id (a tool can be connected more than once).",
95
+ appEvent: "With --trigger app.event (required): what happens in the tool, by the tool's own id \u2014 GMAIL_NEW_GMAIL_MESSAGE. `targets --field appEvent --app <tool>` lists them with the settings each needs.",
96
+ provider: "With --trigger connection.created, connection.removed or connection.needs_reconnect: only this tool (google-ads, hubspot, meta, or a connected tool's slug such as slack). Omit it for any tool.",
97
+ flowId: "With --trigger form.submitted or flow.step.submitted: which Form, by slug. Omit it on form.submitted for any Form.",
98
+ stepId: "With --trigger flow.step.submitted: which step of that Form, by id \u2014 `targets --field stepId --form <slug>` lists them by name.",
99
+ page: "With --trigger landing.created or landing.published: only this page, by slug. Omit it for any page.",
100
+ tag: "With --trigger task.created, task.claimed, task.completed, landing.created or landing.published: only ones carrying this tag. Omit it for any.",
101
+ experimentId: 'With --trigger experiment.decided, experiment.ended or experiment.concluded: only this test. Omit it for any test. Not for experiment.started \u2014 narrow that with --when "page = <page>".',
102
+ taskId: "With --trigger task.claimed or task.completed: only this Task, by id (a temp_ id of a Task staged in this chat works too). Omit it for any Task.",
103
+ agentId: "With --trigger session.published, session.publish_failed or session.publish_incomplete: only the runs of this scheduled agent, by id (a temp_agent_ id staged in this chat works too). Omit it for any agent's work.",
104
+ platform: "With --trigger session.publish_incomplete: only when this platform's changes did not all land \u2014 google-ads, meta-ads, linkedin-ads, x-ads, chatgpt-ads, tag-manager, ga4 or shopify. Omit it for any.",
105
+ collection: "With --trigger knowledge.updated: only this Knowledge collection. Omit it for any of them.",
106
+ sourceId: "With --trigger review.received: only reviews from this review source, by id. Omit it for any source.",
107
+ advertiserId: "With --trigger advertiser.new_ads: only this followed advertiser, by id. Omit it for any of them.",
108
+ adAccount: "With --trigger ad_alert.opened, ad_alert.claimed, ad_alert.fixed or ad_alert.closed: only alerts on this ad account, as <platform>:<ad account id> (meta:123). Omit it for any account.",
109
+ alertRule: 'With --trigger ad_alert.opened, ad_alert.claimed, ad_alert.fixed or ad_alert.closed: only this kind of alert, by the rule `baker ads performance attention` names (budget_cut, efficiency_degraded, tracking_broke). Omit it for any. Narrow by severity with --when "severity = critical".',
110
+ socialAccount: "With --trigger social.post_published: only posts by this followed account, by its key (linkedin:in/jacintofleta, instagram:nike \u2014 `baker media-sources list`). Omit it for any account.",
111
+ personRole: "With --trigger social.post_published: only posts by people with this role \u2014 ceo, founder, cto, cmo, head_of_sales, sales, marketing, employee, creator. Omit it for any account, pages included."
112
+ };
113
+ var NARROWING_ARGS = {
114
+ ...Object.fromEntries(
115
+ TRIGGER_TARGET_FIELD_IDS.map((field) => [
116
+ TRIGGER_TARGET_FIELDS[field].flag,
117
+ {
118
+ type: "string",
119
+ description: `${NARROWING_DESCRIPTIONS[field]} \`baker scheduled-agents targets --trigger <kind> --field ${field}\` lists the values.`,
120
+ required: false
121
+ }
122
+ ])
123
+ ),
124
+ config: {
125
+ type: "string",
126
+ description: `With --trigger app.event: the event's own settings as a JSON object \u2014 they filter inside the tool, before anything is sent. A Gmail search ('{"query":"from:ana@acme.com"}'), a label, a Slack channel, a GitHub repository ('{"owner":"acme","repo":"site"}'). \`targets --field appEvent --app <tool> --event <id>\` lists each setting with its examples.`,
127
+ required: false
128
+ }
129
+ };
130
+ function validateRunAt(runAt) {
131
+ if (!runAt.endsWith("Z")) {
132
+ failValidation("--run-at must be an ISO UTC timestamp ending in Z.");
133
+ }
134
+ const parsed = Date.parse(runAt);
135
+ if (!Number.isFinite(parsed)) {
136
+ failValidation("--run-at must be a valid ISO timestamp.");
137
+ }
138
+ if (parsed <= Date.now()) {
139
+ failValidation(
140
+ `--run-at ${runAt} has already passed. A one-off item only runs at a time still to come \u2014 pass a later ISO UTC timestamp, and check which timezone you converted from if you worked it out from a local time.`
141
+ );
142
+ }
143
+ }
144
+ function buildTriggerBody(args, options) {
145
+ const cron = args.cron;
146
+ const runAt = args["run-at"];
147
+ const timezone = args.timezone;
148
+ const kind = args.trigger;
149
+ const given = [cron, runAt, kind].filter(Boolean).length;
150
+ if (given > 1) {
151
+ failValidation("--cron, --run-at and --trigger are mutually exclusive.");
152
+ }
153
+ refuseNarrowingWithoutKind(args, kind, given);
154
+ if (runAt) {
155
+ validateRunAt(runAt);
156
+ return { runAt, ...timezone ? { timezone } : {} };
157
+ }
158
+ if (cron) {
159
+ return { cron, ...timezone ? { timezone } : {} };
160
+ }
161
+ if (kind) {
162
+ return { trigger: triggerFromFlags(kind, args), ...timezone ? { timezone } : {} };
163
+ }
164
+ if (timezone && !options.required) {
165
+ return { timezone };
166
+ }
167
+ if (options.required) {
168
+ failValidation(
169
+ `A trigger is required. Pass --cron or --run-at for a time-based one, or --trigger with one of: ${TRIGGER_KIND_IDS.join(", ")}.`
170
+ );
171
+ }
172
+ return void 0;
173
+ }
174
+ function flagText(args, key) {
175
+ const value = args[key];
176
+ return typeof value === "string" && value.trim().length > 0 ? value.trim() : void 0;
177
+ }
178
+ function refuseMisusedKinds(kind, args) {
179
+ if (kind === "time.once") {
180
+ failValidation("Use --run-at for a one-off, rather than --trigger time.once.");
181
+ }
182
+ if (kind === "time.cron") {
183
+ failValidation("Use --cron for a repeating schedule, rather than --trigger time.cron.");
184
+ }
185
+ if (kind === "experiment.started" && flagText(args, "experiment")) {
186
+ failValidation(
187
+ 'A test that exists has already started, so --experiment never fires on experiment.started. Leave it off and add --when "page = <page>" to watch one page.'
188
+ );
189
+ }
190
+ }
191
+ function refuseStrayFlags(kind, args) {
192
+ const allowed = new Set(TRIGGER_TARGETS[kind].map((target) => TRIGGER_TARGET_FIELDS[target.field].flag));
193
+ const stray = TRIGGER_TARGET_FIELD_IDS.map((field) => TRIGGER_TARGET_FIELDS[field].flag).filter(
194
+ (flag) => !allowed.has(flag) && flagText(args, flag) !== void 0 && !(kind === "experiment.started" && flag === "experiment")
195
+ );
196
+ if (stray.length === 0) {
197
+ return;
198
+ }
199
+ failValidation(
200
+ `${stray.map((flag) => `--${flag}`).join(", ")} does not narrow ${kind}. ${allowed.size > 0 ? `It can be pointed with ${[...allowed].map((flag) => `--${flag}`).join(", ")}.` : "It runs every time it happens \u2014 narrow it with --when rules over its payload instead."}`
201
+ );
202
+ }
203
+ var NARROWING_FLAGS = [...TRIGGER_TARGET_FIELD_IDS.map((field) => TRIGGER_TARGET_FIELDS[field].flag), "config"];
204
+ function refuseNarrowingWithoutKind(args, kind, given) {
205
+ if (kind) {
206
+ return;
207
+ }
208
+ const stray = NARROWING_FLAGS.filter((flag) => flagText(args, flag) !== void 0);
209
+ if (stray.length === 0) {
210
+ return;
211
+ }
212
+ const flags = stray.map((flag) => `--${flag}`).join(", ");
213
+ failValidation(
214
+ given > 0 ? `${flags} does not narrow --cron or --run-at: a time trigger runs every time it comes round. Use --trigger <kind> with ${flags} instead, or leave ${flags} off.` : `${flags} narrows a trigger, and no trigger was given. Pass --trigger <kind> too \u2014 the item's whole trigger, with ${flags} \u2014 or leave ${flags} off.`
215
+ );
216
+ }
217
+ function configFromFlag(kind, args) {
218
+ const config = flagText(args, "config");
219
+ if (!config) {
220
+ return {};
221
+ }
222
+ if (kind !== "app.event") {
223
+ failValidation("--config is only for --trigger app.event: the settings of what happens in the tool.");
224
+ }
225
+ let parsed;
226
+ try {
227
+ parsed = JSON.parse(config);
228
+ } catch {
229
+ parsed = null;
230
+ }
231
+ if (typeof parsed !== "object" || parsed === null || Array.isArray(parsed)) {
232
+ failValidation(`--config must be a JSON object, e.g. '{"labelIds":"INBOX"}'.`);
233
+ }
234
+ return { configJson: config };
235
+ }
236
+ function withoutMetaActPrefix(adAccount) {
237
+ return adAccount.replace(/^meta:act_/i, "meta:");
238
+ }
239
+ function triggerFromFlags(kind, args) {
240
+ if (!isTriggerKind(kind)) {
241
+ failValidation(`--trigger must be one of: ${TRIGGER_KIND_IDS.join(", ")}.`);
242
+ }
243
+ refuseMisusedKinds(kind, args);
244
+ refuseStrayFlags(kind, args);
245
+ const narrowings = {};
246
+ for (const { field, required } of TRIGGER_TARGETS[kind]) {
247
+ const value = flagText(args, TRIGGER_TARGET_FIELDS[field].flag);
248
+ if (value) {
249
+ narrowings[field] = field === "adAccount" ? withoutMetaActPrefix(value) : value;
250
+ } else if (required) {
251
+ failValidation(
252
+ `--trigger ${kind} needs --${TRIGGER_TARGET_FIELDS[field].flag}. \`baker scheduled-agents targets --trigger ${kind} --field ${field}\` lists what it can be.`
253
+ );
254
+ }
255
+ }
256
+ return { kind, ...narrowings, ...configFromFlag(kind, args) };
257
+ }
258
+ function parseOccurrences(raw) {
259
+ if (raw === void 0) {
260
+ return void 0;
261
+ }
262
+ if (typeof raw !== "string") {
263
+ failValidation("--occurrences must be a comma-separated list of whole numbers, e.g. 1 or 1,3.");
264
+ }
265
+ const parts = raw.split(",").map((part) => part.trim()).filter((part) => part.length > 0);
266
+ const numbers = parts.map((part) => Number(part));
267
+ if (numbers.length === 0 || numbers.some((n) => !Number.isInteger(n) || n <= 0)) {
268
+ failValidation("--occurrences must be a comma-separated list of whole numbers above zero, e.g. 1 or 1,3.");
269
+ }
270
+ return numbers;
271
+ }
272
+ function parseBooleanFlag(raw, flagName) {
273
+ if (raw === void 0) {
274
+ return void 0;
275
+ }
276
+ if (raw === true || raw === "true") {
277
+ return true;
278
+ }
279
+ if (raw === false || raw === "false") {
280
+ return false;
281
+ }
282
+ failValidation(`${flagName} must be true or false.`);
283
+ }
284
+ var REACTION_ARGS = {
285
+ when: {
286
+ type: "string",
287
+ description: "Only run when what arrived passes these rules: `<field> <operator> <value>` joined by AND or by OR (either case). Fields are the trigger's payload fields (`baker scheduled-agents triggers --trigger <kind>` lists them; a webhook's are whatever was posted; an app.event's are what `targets --field appEvent --app <tool> --event <id>` says it sends). Operators: =, !=, contains, does not contain, starts with, ends with, >, <, >=, <=, in (comma list), exists, missing. Example: --when \"deal.stage = won AND amount > 10000\". A payload that fails is not counted and starts nothing. `none` clears the rules.",
288
+ required: false
289
+ },
290
+ "ai-check": {
291
+ type: "string",
292
+ description: 'Only run when AI judges that what arrived meets this condition, in plain words \u2014 for what no --when rule can say: --ai-check "the person writes on behalf of a company, not as a student or for personal use". Checked after --when, on what passed it; a turned-down arrival is not counted and starts nothing, and shows in `history` with its score. Say the boundary cases ("a freelancer counts as a company"). Emails and phones are hidden from it, as from the run \u2014 an email domain is a --when rule. Not for a time-based start (--cron, --run-at). `none` removes it.',
293
+ required: false
294
+ },
295
+ times: {
296
+ type: "string",
297
+ description: "Only the first N times it fires (and its --when rules pass), then never again. `--times 1` is only the first time. Shorthand for --occurrences 1,2,\u2026,N.",
298
+ required: false
299
+ },
300
+ payload: {
301
+ type: "string",
302
+ description: "include (default) or omit. Whether the run's first message carries what arrived \u2014 the posted body, the event's properties, the Form's answers (emails and phones masked). Place single values in --prompt with {{payload.<field>}} instead; those are filled either way.",
303
+ required: false
304
+ },
305
+ cooldown: {
306
+ type: "string",
307
+ description: "At most one run per this many minutes, however often it fires. 0 removes it.",
308
+ required: false
309
+ }
310
+ };
311
+ var SLACK_ARG = {
312
+ slack: {
313
+ type: "string",
314
+ description: "Tell each run in Slack: `here` (the Slack conversation this chat came from), `me` (a direct message to the person in this chat), `#channel` (a channel linked to this company), or `off`. Each run opens its own thread there and Baker reports on it: what it found, what it needs, whether to publish.",
315
+ required: false
316
+ }
317
+ };
318
+ function companiesArg(profile = agentProfile()) {
319
+ return profile === "organization" ? {
320
+ companies: {
321
+ type: "string",
322
+ description: "The companies whose events it hears, by id, comma-separated (`baker organization companies` lists them), or `all`. Left out, it hears every company, including ones added later. Only on a trigger that happens in a company; one company's Form, page or tag is a --when rule instead.",
323
+ required: false
324
+ }
325
+ } : {};
326
+ }
327
+ function companiesBody(args) {
328
+ return typeof args.companies === "string" && args.companies.trim().length > 0 ? { companies: args.companies.trim() } : {};
329
+ }
330
+ function slackBody(args) {
331
+ return typeof args.slack === "string" && args.slack.trim().length > 0 ? { slack: args.slack.trim() } : {};
332
+ }
333
+ function wholeNumber(raw, flag, { min }) {
334
+ if (raw === void 0) {
335
+ return void 0;
336
+ }
337
+ const value = Number(raw);
338
+ if (!Number.isInteger(value) || value < min) {
339
+ failValidation(`${flag} must be a whole number of at least ${min}.`);
340
+ }
341
+ return value;
342
+ }
343
+ function reactionBody(args) {
344
+ const occurrences = occurrencesFromFlags(args);
345
+ const when = whenFromFlag(args.when);
346
+ const includePayload = payloadFromFlag(args.payload);
347
+ const cooldownMinutes = wholeNumber(args.cooldown, "--cooldown", { min: 0 });
348
+ const aiCondition = aiCheckFromFlag(args["ai-check"]);
349
+ return {
350
+ ...occurrences !== void 0 ? { occurrences } : {},
351
+ ...when !== void 0 ? { when } : {},
352
+ ...aiCondition !== void 0 ? { aiCondition } : {},
353
+ ...includePayload !== void 0 ? { includePayload } : {},
354
+ ...cooldownMinutes !== void 0 ? { cooldownMinutes } : {}
355
+ };
356
+ }
357
+ function occurrencesFromFlags(args) {
358
+ const times = wholeNumber(args.times, "--times", { min: 1 });
359
+ const occurrences = parseOccurrences(args.occurrences);
360
+ if (times !== void 0 && occurrences !== void 0) {
361
+ failValidation("Pass --times or --occurrences, not both \u2014 --times 3 is --occurrences 1,2,3.");
362
+ }
363
+ return times !== void 0 ? firstTimes(times) : occurrences;
364
+ }
365
+ function whenFromFlag(raw) {
366
+ if (typeof raw !== "string") {
367
+ return void 0;
368
+ }
369
+ const text = raw.trim();
370
+ if (text.length === 0 || text.toLowerCase() === "none") {
371
+ return "none";
372
+ }
373
+ const parsed = parseConditionsExpression(text);
374
+ if (!parsed.ok) {
375
+ failValidation(parsed.error);
376
+ }
377
+ return text;
378
+ }
379
+ function aiCheckFromFlag(raw) {
380
+ if (typeof raw !== "string") {
381
+ return void 0;
382
+ }
383
+ const text = raw.trim();
384
+ if (text.length === 0 || text.toLowerCase() === "none") {
385
+ return "none";
386
+ }
387
+ if (text.length > MAX_AI_CONDITION_CHARS) {
388
+ failValidation(
389
+ `--ai-check is at most ${MAX_AI_CONDITION_CHARS} characters: say the condition, not the job. The job goes in --prompt.`
390
+ );
391
+ }
392
+ return text;
393
+ }
394
+ function payloadFromFlag(raw) {
395
+ if (raw === void 0) {
396
+ return void 0;
397
+ }
398
+ if (raw !== "include" && raw !== "omit") {
399
+ failValidation("--payload must be include or omit.");
400
+ }
401
+ return raw === "include";
402
+ }
403
+ function chatBody() {
404
+ const id = getEnv().BAKER_CHAT_ID;
405
+ return id ? { chatId: id } : {};
406
+ }
407
+
408
+ export {
409
+ writeOk,
410
+ failValidation,
411
+ failApi,
412
+ AUTO_PUBLISH_ARG,
413
+ refuseAutoPublish,
414
+ isTempScheduledAgentId,
415
+ validateScheduledAgentRef,
416
+ TRIGGER_ARG_DESCRIPTION,
417
+ TRIGGER_KIND_LIST,
418
+ NARROWING_ARGS,
419
+ buildTriggerBody,
420
+ parseBooleanFlag,
421
+ REACTION_ARGS,
422
+ SLACK_ARG,
423
+ companiesArg,
424
+ companiesBody,
425
+ slackBody,
426
+ reactionBody,
427
+ chatBody
428
+ };
429
+ //# sourceMappingURL=chunk-IZABOTZR.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/scheduled-agents/shared.ts"],"sourcesContent":["import {\n AUTO_PUBLISH_REFUSAL,\n firstTimes,\n isTriggerKind,\n MAX_AI_CONDITION_CHARS,\n parseConditionsExpression,\n TRIGGER_KIND_IDS,\n TRIGGER_KINDS,\n TRIGGER_TARGET_FIELD_IDS,\n TRIGGER_TARGET_FIELDS,\n TRIGGER_TARGETS,\n type TriggerKind,\n type TriggerTargetField,\n} from \"@baker/api\";\nimport { type AgentProfile, agentProfile } from \"../../agent-profile.ts\";\nimport { ApiError, validateConvexId } from \"../../client.ts\";\nimport { getEnv } from \"../../env.ts\";\nimport { writeJson } from \"../../output.ts\";\n\nconst TEMP_SCHEDULED_AGENT_PREFIX = \"temp_agent_\";\nconst TEMP_ID_PREFIX = \"temp_\";\n\nexport function writeOk<T = null>(data?: T, hints?: string[]): void {\n writeJson({ ok: true, data: (data ?? null) as T, ...(hints && hints.length > 0 ? { hints } : {}) });\n}\n\nexport function failValidation(message: string): never {\n writeJson({ ok: false, error: { code: \"VALIDATION_ERROR\", message } });\n process.exit(1);\n}\n\nexport function failApi(err: unknown): never {\n if (err instanceof ApiError) {\n writeJson({ ok: false, error: { code: err.code, message: err.message } });\n process.exit(1);\n }\n if (err instanceof Error) {\n writeJson({ ok: false, error: { code: \"INTERNAL_ERROR\", message: err.message } });\n process.exit(1);\n }\n writeJson({ ok: false, error: { code: \"INTERNAL_ERROR\", message: \"Unexpected error\" } });\n process.exit(1);\n}\n\n/**\n * `--auto-publish`, declared only to be refused. The dashboard's \"Publish its\n * work on its own\" is a standing authorization only a person can grant, and\n * citty drops a flag it does not declare — an agent asking for it would stage\n * the item and believe the switch was on.\n */\nexport const AUTO_PUBLISH_ARG = {\n \"auto-publish\": {\n type: \"string\" as const,\n description:\n \"Not available to the agent: publishing every run unreviewed is switched on by the user, on the item, after this chat is published. Passing it is refused and tells you what to ask them.\",\n required: false,\n },\n};\n\nexport function refuseAutoPublish(args: Record<string, unknown>): void {\n if (args[\"auto-publish\"] === undefined) {\n return;\n }\n writeJson({\n ok: false,\n error: {\n code: \"FORBIDDEN\",\n message: AUTO_PUBLISH_REFUSAL,\n fix: {\n action: \"ask_user\",\n explanation:\n 'Run the command again without --auto-publish. After this chat is published, ask the user to open the item in Scheduled agents and switch on \"Publish its work on its own\" under \"When a run finishes\" — until then each run waits for their review.',\n },\n },\n });\n process.exit(1);\n}\n\nexport function isTempScheduledAgentId(id: string): boolean {\n return id.startsWith(TEMP_SCHEDULED_AGENT_PREFIX);\n}\n\nfunction isOtherTempId(id: string): boolean {\n return id.startsWith(TEMP_ID_PREFIX) && !isTempScheduledAgentId(id);\n}\n\nexport function validateScheduledAgentRef(ref: string): void {\n if (isOtherTempId(ref)) {\n failValidation(`Scheduled agent temp IDs must start with ${TEMP_SCHEDULED_AGENT_PREFIX}.`);\n }\n if (!isTempScheduledAgentId(ref)) {\n validateConvexId(ref);\n }\n}\n\n/**\n * Every trigger, named for the agent reading `--help` or `baker schema`.\n *\n * Built from `@baker/api`, which the backend and the dashboard read too, so the\n * wording the CLI puts in front of the agent is the wording the product puts in\n * front of the marketer. The CLI kept a hand-copy of the old modes for exactly\n * one release and it had already drifted.\n */\nexport const TRIGGER_ARG_DESCRIPTION = `What makes this run. ${TRIGGER_KIND_IDS.map(\n (id) => `${id}: ${TRIGGER_KINDS[id].description}`,\n).join(\" \")} For the two time ones, pass --cron or --run-at instead and the kind is implied.`;\n\nexport const TRIGGER_KIND_LIST = [...TRIGGER_KIND_IDS];\n\n/**\n * The narrowing flags, in one place because `create` and `update` both take all\n * of them and a flag added to one and not the other is a trigger an agent can\n * set and then never change.\n */\nconst NARROWING_DESCRIPTIONS: Record<TriggerTargetField, string> = {\n eventName:\n \"With --trigger event.received: only this event name (a source's name, or one your site sends). Omit it to run on any event.\",\n toolkit: \"With --trigger app.event (required): the connected tool, by its slug — gmail, slack, googlesheets.\",\n account:\n \"With --trigger app.event (required): which connected account of that tool, by id (a tool can be connected more than once).\",\n appEvent:\n \"With --trigger app.event (required): what happens in the tool, by the tool's own id — GMAIL_NEW_GMAIL_MESSAGE. `targets --field appEvent --app <tool>` lists them with the settings each needs.\",\n provider:\n \"With --trigger connection.created, connection.removed or connection.needs_reconnect: only this tool (google-ads, hubspot, meta, or a connected tool's slug such as slack). Omit it for any tool.\",\n flowId:\n \"With --trigger form.submitted or flow.step.submitted: which Form, by slug. Omit it on form.submitted for any Form.\",\n stepId:\n \"With --trigger flow.step.submitted: which step of that Form, by id — `targets --field stepId --form <slug>` lists them by name.\",\n page: \"With --trigger landing.created or landing.published: only this page, by slug. Omit it for any page.\",\n tag: \"With --trigger task.created, task.claimed, task.completed, landing.created or landing.published: only ones carrying this tag. Omit it for any.\",\n experimentId:\n 'With --trigger experiment.decided, experiment.ended or experiment.concluded: only this test. Omit it for any test. Not for experiment.started — narrow that with --when \"page = <page>\".',\n taskId:\n \"With --trigger task.claimed or task.completed: only this Task, by id (a temp_ id of a Task staged in this chat works too). Omit it for any Task.\",\n agentId:\n \"With --trigger session.published, session.publish_failed or session.publish_incomplete: only the runs of this scheduled agent, by id (a temp_agent_ id staged in this chat works too). Omit it for any agent's work.\",\n platform:\n \"With --trigger session.publish_incomplete: only when this platform's changes did not all land — google-ads, meta-ads, linkedin-ads, x-ads, chatgpt-ads, tag-manager, ga4 or shopify. Omit it for any.\",\n collection: \"With --trigger knowledge.updated: only this Knowledge collection. Omit it for any of them.\",\n sourceId: \"With --trigger review.received: only reviews from this review source, by id. Omit it for any source.\",\n advertiserId: \"With --trigger advertiser.new_ads: only this followed advertiser, by id. Omit it for any of them.\",\n adAccount:\n \"With --trigger ad_alert.opened, ad_alert.claimed, ad_alert.fixed or ad_alert.closed: only alerts on this ad account, as <platform>:<ad account id> (meta:123). Omit it for any account.\",\n alertRule:\n 'With --trigger ad_alert.opened, ad_alert.claimed, ad_alert.fixed or ad_alert.closed: only this kind of alert, by the rule `baker ads performance attention` names (budget_cut, efficiency_degraded, tracking_broke). Omit it for any. Narrow by severity with --when \"severity = critical\".',\n socialAccount:\n \"With --trigger social.post_published: only posts by this followed account, by its key (linkedin:in/jacintofleta, instagram:nike — `baker media-sources list`). Omit it for any account.\",\n personRole:\n \"With --trigger social.post_published: only posts by people with this role — ceo, founder, cto, cmo, head_of_sales, sales, marketing, employee, creator. Omit it for any account, pages included.\",\n};\n\n/**\n * One flag per thing a trigger can be pointed at, read off the same table the\n * dashboard's picker offers. `baker scheduled-agents targets` lists the values\n * each one takes, so no flag needs an id the agent has to guess.\n */\nexport const NARROWING_ARGS = {\n ...(Object.fromEntries(\n TRIGGER_TARGET_FIELD_IDS.map((field) => [\n TRIGGER_TARGET_FIELDS[field].flag,\n {\n type: \"string\" as const,\n description: `${NARROWING_DESCRIPTIONS[field]} \\`baker scheduled-agents targets --trigger <kind> --field ${field}\\` lists the values.`,\n required: false,\n },\n ]),\n ) as Record<string, { type: \"string\"; description: string; required: false }>),\n config: {\n type: \"string\" as const,\n description:\n 'With --trigger app.event: the event\\'s own settings as a JSON object — they filter inside the tool, before anything is sent. A Gmail search (\\'{\"query\":\"from:ana@acme.com\"}\\'), a label, a Slack channel, a GitHub repository (\\'{\"owner\":\"acme\",\"repo\":\"site\"}\\'). `targets --field appEvent --app <tool> --event <id>` lists each setting with its examples.',\n required: false,\n },\n};\n\n/**\n * A one-off run time, checked before it can be staged.\n *\n * A time that has already been overtaken cannot run, and until this existed\n * nothing said so: the backend took it, the change list showed the item, and\n * Publish created it switched off. Caught here it costs a round trip and the\n * user can still be asked what time they meant — converting a local time to UTC\n * the wrong way round is how it usually gets there.\n */\nfunction validateRunAt(runAt: string): void {\n if (!runAt.endsWith(\"Z\")) {\n failValidation(\"--run-at must be an ISO UTC timestamp ending in Z.\");\n }\n const parsed = Date.parse(runAt);\n if (!Number.isFinite(parsed)) {\n failValidation(\"--run-at must be a valid ISO timestamp.\");\n }\n if (parsed <= Date.now()) {\n failValidation(\n `--run-at ${runAt} has already passed. A one-off item only runs at a time still to come — pass a later ISO UTC timestamp, and check which timezone you converted from if you worked it out from a local time.`,\n );\n }\n}\n\nexport type TriggerBody =\n | { cron: string; timezone?: string }\n | { runAt: string; timezone?: string }\n | { trigger: Record<string, unknown>; timezone?: string }\n | { timezone: string };\n\n/**\n * The trigger a command is asking for, from the flags that name one.\n *\n * `--cron` and `--run-at` stay as the shorthands for the two time kinds: they\n * are what an agent reaches for and what every installed CLI already sends.\n * Everything else arrives as `--trigger <kind>` plus at most one narrowing flag,\n * so adding a kind is one entry in `@baker/api` and one case here.\n */\nexport function buildTriggerBody(\n args: Record<string, unknown>,\n options: { required: boolean },\n): TriggerBody | undefined {\n const cron = args.cron as string | undefined;\n const runAt = args[\"run-at\"] as string | undefined;\n const timezone = args.timezone as string | undefined;\n const kind = args.trigger as string | undefined;\n\n const given = [cron, runAt, kind].filter(Boolean).length;\n if (given > 1) {\n failValidation(\"--cron, --run-at and --trigger are mutually exclusive.\");\n }\n refuseNarrowingWithoutKind(args, kind, given);\n if (runAt) {\n validateRunAt(runAt);\n return { runAt, ...(timezone ? { timezone } : {}) };\n }\n if (cron) {\n return { cron, ...(timezone ? { timezone } : {}) };\n }\n if (kind) {\n return { trigger: triggerFromFlags(kind, args), ...(timezone ? { timezone } : {}) };\n }\n if (timezone && !options.required) {\n // The item keeps its trigger; the backend applies the new timezone to it.\n return { timezone };\n }\n if (options.required) {\n failValidation(\n `A trigger is required. Pass --cron or --run-at for a time-based one, or --trigger with one of: ${TRIGGER_KIND_IDS.join(\", \")}.`,\n );\n }\n return undefined;\n}\n\nfunction flagText(args: Record<string, unknown>, key: string): string | undefined {\n const value = args[key];\n return typeof value === \"string\" && value.trim().length > 0 ? value.trim() : undefined;\n}\n\n/**\n * The two time kinds have their own flags, and `--trigger time.cron` with no\n * cadence is the mistake that would otherwise be accepted and then refused by\n * the backend, one round trip later. And a test that exists has already\n * started, so naming one on `experiment.started` can never fire.\n */\nfunction refuseMisusedKinds(kind: TriggerKind, args: Record<string, unknown>): void {\n if (kind === \"time.once\") {\n failValidation(\"Use --run-at for a one-off, rather than --trigger time.once.\");\n }\n if (kind === \"time.cron\") {\n failValidation(\"Use --cron for a repeating schedule, rather than --trigger time.cron.\");\n }\n if (kind === \"experiment.started\" && flagText(args, \"experiment\")) {\n failValidation(\n 'A test that exists has already started, so --experiment never fires on experiment.started. Leave it off and add --when \"page = <page>\" to watch one page.',\n );\n }\n}\n\n/** A narrowing flag the kind does not take would be silently dropped — the item would fire on everything. */\nfunction refuseStrayFlags(kind: TriggerKind, args: Record<string, unknown>): void {\n const allowed = new Set(TRIGGER_TARGETS[kind].map((target) => TRIGGER_TARGET_FIELDS[target.field].flag));\n const stray = TRIGGER_TARGET_FIELD_IDS.map((field) => TRIGGER_TARGET_FIELDS[field].flag).filter(\n (flag) =>\n !allowed.has(flag) &&\n flagText(args, flag) !== undefined &&\n !(kind === \"experiment.started\" && flag === \"experiment\"),\n );\n if (stray.length === 0) {\n return;\n }\n failValidation(\n `${stray.map((flag) => `--${flag}`).join(\", \")} does not narrow ${kind}. ${\n allowed.size > 0\n ? `It can be pointed with ${[...allowed].map((flag) => `--${flag}`).join(\", \")}.`\n : \"It runs every time it happens — narrow it with --when rules over its payload instead.\"\n }`,\n );\n}\n\n/** Every flag that only means something beside `--trigger <kind>`. */\nconst NARROWING_FLAGS = [...TRIGGER_TARGET_FIELD_IDS.map((field) => TRIGGER_TARGET_FIELDS[field].flag), \"config\"];\n\n/**\n * A narrowing flag with no `--trigger` to narrow would be dropped without a\n * word — `update <id> --page pricing` succeeding and still firing on every page.\n */\nfunction refuseNarrowingWithoutKind(args: Record<string, unknown>, kind: string | undefined, given: number): void {\n if (kind) {\n return;\n }\n const stray = NARROWING_FLAGS.filter((flag) => flagText(args, flag) !== undefined);\n if (stray.length === 0) {\n return;\n }\n const flags = stray.map((flag) => `--${flag}`).join(\", \");\n failValidation(\n given > 0\n ? `${flags} does not narrow --cron or --run-at: a time trigger runs every time it comes round. Use --trigger <kind> with ${flags} instead, or leave ${flags} off.`\n : `${flags} narrows a trigger, and no trigger was given. Pass --trigger <kind> too — the item's whole trigger, with ${flags} — or leave ${flags} off.`,\n );\n}\n\n/** An `app.event`'s own settings, checked to be a JSON object before the round trip. */\nfunction configFromFlag(kind: TriggerKind, args: Record<string, unknown>): { configJson?: string } {\n const config = flagText(args, \"config\");\n if (!config) {\n return {};\n }\n if (kind !== \"app.event\") {\n failValidation(\"--config is only for --trigger app.event: the settings of what happens in the tool.\");\n }\n let parsed: unknown;\n try {\n parsed = JSON.parse(config);\n } catch {\n parsed = null;\n }\n if (typeof parsed !== \"object\" || parsed === null || Array.isArray(parsed)) {\n failValidation(`--config must be a JSON object, e.g. '{\"labelIds\":\"INBOX\"}'.`);\n }\n return { configJson: config };\n}\n\n/** The narrowing flags a kind takes, refused when they do not belong to it or one it needs is missing. */\n/** Ad accounts are stored by bare id (`meta:123`); Meta writes them `act_123`, so that spelling is taken too. */\nfunction withoutMetaActPrefix(adAccount: string): string {\n return adAccount.replace(/^meta:act_/i, \"meta:\");\n}\n\nfunction triggerFromFlags(kind: string, args: Record<string, unknown>): Record<string, unknown> {\n if (!isTriggerKind(kind)) {\n failValidation(`--trigger must be one of: ${TRIGGER_KIND_IDS.join(\", \")}.`);\n }\n refuseMisusedKinds(kind, args);\n refuseStrayFlags(kind, args);\n const narrowings: Record<string, string> = {};\n for (const { field, required } of TRIGGER_TARGETS[kind]) {\n const value = flagText(args, TRIGGER_TARGET_FIELDS[field].flag);\n if (value) {\n narrowings[field] = field === \"adAccount\" ? withoutMetaActPrefix(value) : value;\n } else if (required) {\n failValidation(\n `--trigger ${kind} needs --${TRIGGER_TARGET_FIELDS[field].flag}. \\`baker scheduled-agents targets --trigger ${kind} --field ${field}\\` lists what it can be.`,\n );\n }\n }\n // `webhook.received`, `brand.updated`, `creative.created`: the kind is the\n // whole of it. The webhook's address is reserved when it is staged and comes\n // back in the response.\n return { kind, ...narrowings, ...configFromFlag(kind, args) };\n}\n\n/**\n * Which firings actually run it, 1-based: `--occurrences 1` is \"only the first\n * time this ever happens\".\n */\nexport function parseOccurrences(raw: unknown): number[] | undefined {\n if (raw === undefined) {\n return undefined;\n }\n if (typeof raw !== \"string\") {\n failValidation(\"--occurrences must be a comma-separated list of whole numbers, e.g. 1 or 1,3.\");\n }\n const parts = raw\n .split(\",\")\n .map((part) => part.trim())\n .filter((part) => part.length > 0);\n const numbers = parts.map((part) => Number(part));\n if (numbers.length === 0 || numbers.some((n) => !Number.isInteger(n) || n <= 0)) {\n failValidation(\"--occurrences must be a comma-separated list of whole numbers above zero, e.g. 1 or 1,3.\");\n }\n return numbers;\n}\n\nexport function parseBooleanFlag(raw: unknown, flagName: string): boolean | undefined {\n if (raw === undefined) {\n return undefined;\n }\n if (raw === true || raw === \"true\") {\n return true;\n }\n if (raw === false || raw === \"false\") {\n return false;\n }\n failValidation(`${flagName} must be true or false.`);\n}\n\n/**\n * How the item reacts once woken, beyond what wakes it — shared by `create` and\n * `update` for the same reason `NARROWING_ARGS` is.\n */\nexport const REACTION_ARGS = {\n when: {\n type: \"string\" as const,\n description:\n \"Only run when what arrived passes these rules: `<field> <operator> <value>` joined by AND or by OR (either case). Fields are the trigger's payload fields (`baker scheduled-agents triggers --trigger <kind>` lists them; a webhook's are whatever was posted; an app.event's are what `targets --field appEvent --app <tool> --event <id>` says it sends). Operators: =, !=, contains, does not contain, starts with, ends with, >, <, >=, <=, in (comma list), exists, missing. Example: --when \\\"deal.stage = won AND amount > 10000\\\". A payload that fails is not counted and starts nothing. `none` clears the rules.\",\n required: false,\n },\n \"ai-check\": {\n type: \"string\" as const,\n description:\n 'Only run when AI judges that what arrived meets this condition, in plain words — for what no --when rule can say: --ai-check \"the person writes on behalf of a company, not as a student or for personal use\". Checked after --when, on what passed it; a turned-down arrival is not counted and starts nothing, and shows in `history` with its score. Say the boundary cases (\"a freelancer counts as a company\"). Emails and phones are hidden from it, as from the run — an email domain is a --when rule. Not for a time-based start (--cron, --run-at). `none` removes it.',\n required: false,\n },\n times: {\n type: \"string\" as const,\n description:\n \"Only the first N times it fires (and its --when rules pass), then never again. `--times 1` is only the first time. Shorthand for --occurrences 1,2,…,N.\",\n required: false,\n },\n payload: {\n type: \"string\" as const,\n description:\n \"include (default) or omit. Whether the run's first message carries what arrived — the posted body, the event's properties, the Form's answers (emails and phones masked). Place single values in --prompt with {{payload.<field>}} instead; those are filled either way.\",\n required: false,\n },\n cooldown: {\n type: \"string\" as const,\n description: \"At most one run per this many minutes, however often it fires. 0 removes it.\",\n required: false,\n },\n};\n\n/**\n * Where each run is told in Slack (docs/adr/0010-scheduled-agents-report-in-slack.md).\n * The run opens its own thread there and Baker's Slack agent reports on it.\n */\nexport const SLACK_ARG = {\n slack: {\n type: \"string\" as const,\n description:\n \"Tell each run in Slack: `here` (the Slack conversation this chat came from), `me` (a direct message to the person in this chat), `#channel` (a channel linked to this company), or `off`. Each run opens its own thread there and Baker reports on it: what it found, what it needs, whether to publish.\",\n required: false,\n },\n};\n\n/**\n * `--companies`, for the organization's own Scheduled agents and nobody else's:\n * a company's agent hears its own company, so it is never shown the flag.\n * Passed anyway, it reaches Baker, which refuses it on a company's item.\n */\nexport function companiesArg(\n profile: AgentProfile = agentProfile(),\n): Record<string, { type: \"string\"; description: string; required: false }> {\n return profile === \"organization\"\n ? {\n companies: {\n type: \"string\" as const,\n description:\n \"The companies whose events it hears, by id, comma-separated (`baker organization companies` lists them), or `all`. Left out, it hears every company, including ones added later. Only on a trigger that happens in a company; one company's Form, page or tag is a --when rule instead.\",\n required: false,\n },\n }\n : {};\n}\n\n/** The `--companies` choice for the request body, as written; Baker checks the ids against the organization. */\nexport function companiesBody(args: Record<string, unknown>): { companies?: string } {\n return typeof args.companies === \"string\" && args.companies.trim().length > 0\n ? { companies: args.companies.trim() }\n : {};\n}\n\n/** The `--slack` choice for the request body, as the person wrote it; Baker resolves it. */\nexport function slackBody(args: Record<string, unknown>): { slack?: string } {\n return typeof args.slack === \"string\" && args.slack.trim().length > 0 ? { slack: args.slack.trim() } : {};\n}\n\n/** A whole number from a flag, or a refusal naming the flag. */\nfunction wholeNumber(raw: unknown, flag: string, { min }: { min: number }): number | undefined {\n if (raw === undefined) {\n return undefined;\n }\n const value = Number(raw);\n if (!Number.isInteger(value) || value < min) {\n failValidation(`${flag} must be a whole number of at least ${min}.`);\n }\n return value;\n}\n\nexport interface ReactionBody {\n occurrences?: number[];\n when?: string;\n aiCondition?: string;\n includePayload?: boolean;\n cooldownMinutes?: number;\n}\n\n/**\n * The reaction flags as the API reads them. `--when` is checked here and sent\n * as written: the backend parses the same language with the same code, so the\n * text on the wire is the text the agent wrote.\n */\nexport function reactionBody(args: Record<string, unknown>): ReactionBody {\n const occurrences = occurrencesFromFlags(args);\n const when = whenFromFlag(args.when);\n const includePayload = payloadFromFlag(args.payload);\n const cooldownMinutes = wholeNumber(args.cooldown, \"--cooldown\", { min: 0 });\n const aiCondition = aiCheckFromFlag(args[\"ai-check\"]);\n return {\n ...(occurrences !== undefined ? { occurrences } : {}),\n ...(when !== undefined ? { when } : {}),\n ...(aiCondition !== undefined ? { aiCondition } : {}),\n ...(includePayload !== undefined ? { includePayload } : {}),\n ...(cooldownMinutes !== undefined ? { cooldownMinutes } : {}),\n };\n}\n\nfunction occurrencesFromFlags(args: Record<string, unknown>): number[] | undefined {\n const times = wholeNumber(args.times, \"--times\", { min: 1 });\n const occurrences = parseOccurrences(args.occurrences);\n if (times !== undefined && occurrences !== undefined) {\n failValidation(\"Pass --times or --occurrences, not both — --times 3 is --occurrences 1,2,3.\");\n }\n return times !== undefined ? firstTimes(times) : occurrences;\n}\n\nfunction whenFromFlag(raw: unknown): string | undefined {\n if (typeof raw !== \"string\") {\n return undefined;\n }\n const text = raw.trim();\n if (text.length === 0 || text.toLowerCase() === \"none\") {\n return \"none\";\n }\n const parsed = parseConditionsExpression(text);\n if (!parsed.ok) {\n failValidation(parsed.error);\n }\n return text;\n}\n\nfunction aiCheckFromFlag(raw: unknown): string | undefined {\n if (typeof raw !== \"string\") {\n return undefined;\n }\n const text = raw.trim();\n if (text.length === 0 || text.toLowerCase() === \"none\") {\n return \"none\";\n }\n if (text.length > MAX_AI_CONDITION_CHARS) {\n failValidation(\n `--ai-check is at most ${MAX_AI_CONDITION_CHARS} characters: say the condition, not the job. The job goes in --prompt.`,\n );\n }\n return text;\n}\n\nfunction payloadFromFlag(raw: unknown): boolean | undefined {\n if (raw === undefined) {\n return undefined;\n }\n if (raw !== \"include\" && raw !== \"omit\") {\n failValidation(\"--payload must be include or omit.\");\n }\n return raw === \"include\";\n}\n\n/**\n * The chat this turn belongs to, when the sandbox knows. The backend reads who\n * sent its latest message and lists that person's own connections beside the\n * company's — a personal inbox is theirs to listen to, and nobody else's.\n */\nexport function chatBody(): { chatId?: string } {\n const id = getEnv().BAKER_CHAT_ID;\n return id ? { chatId: id } : {};\n}\n"],"mappings":"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","names":[]}
@@ -0,0 +1,139 @@
1
+ import {
2
+ brandVerificationHints
3
+ } from "./chunk-IVIJJXXT.js";
4
+ import {
5
+ OUTPUT_ARGS,
6
+ writeProviderHits
7
+ } from "./chunk-ESQX7SRQ.js";
8
+ import {
9
+ emptyResultHints
10
+ } from "./chunk-Q6ULQMWG.js";
11
+ import {
12
+ AUTO_INGEST_MAX,
13
+ parseAutoIngest
14
+ } from "./chunk-KKJ4KJCW.js";
15
+ import {
16
+ ApiError,
17
+ apiPost
18
+ } from "./chunk-X7VQFLHI.js";
19
+ import {
20
+ registerSchema,
21
+ writeJson
22
+ } from "./chunk-Q7US4OOA.js";
23
+
24
+ // src/commands/images/logo.ts
25
+ import { defineCommand } from "citty";
26
+ registerSchema({
27
+ command: "images.logo",
28
+ description: "Brand logo lookup via Brandfetch. Auto-ingests by default. Returns `brandMatch` \u2014 Brandfetch's own verdict on whose brand the domain is (confirmed | mismatch | unverified). Branch on it: `mismatch` means the mark is another company's, so do not place it. `confirmed` verifies the record, not the artwork \u2014 read the ingested row back to check the mark itself.",
29
+ args: {
30
+ domain: { type: "string", description: "Brand domain (e.g. stripe.com)", required: true },
31
+ variant: { type: "string", description: "icon | logo | symbol", required: false },
32
+ "auto-ingest": {
33
+ type: "number",
34
+ description: `Ingest top N hits (0-${AUTO_INGEST_MAX.logo}). Defaults to 1 (the first variant). Brandfetch resolves at most ${AUTO_INGEST_MAX.logo} variants, so ${AUTO_INGEST_MAX.logo} ingests every one. Keep it at 1+ \u2014 the ingested row is the only way to check the mark is the brand you asked for.`,
35
+ required: false
36
+ },
37
+ "no-auto-ingest": {
38
+ type: "boolean",
39
+ description: "Skip auto-ingest (equivalent to --auto-ingest 0). Leaves the returned mark unverifiable.",
40
+ required: false,
41
+ default: false
42
+ },
43
+ context: {
44
+ type: "string",
45
+ description: "Free-text hint applied to ingested logo variants (e.g. 'Stripe \u2014 payments integration partner', 'Acme competitor brand mark')",
46
+ required: false
47
+ },
48
+ output: { type: "string", description: "Output format: json|files|md", required: false, default: "json" },
49
+ fields: { type: "string", description: "Comma-separated field names to include", required: false },
50
+ full: { type: "boolean", description: "Include full metadata", required: false, default: false }
51
+ }
52
+ });
53
+ var logoCommand = defineCommand({
54
+ meta: {
55
+ name: "logo",
56
+ description: "Brand logo via Brandfetch. Returns up to 5 variants (icon, light/dark logo, light/dark symbol) plus `brandMatch`. Auto-ingests the first variant.\n\nStart here: check `brandMatch.verdict`.\n mismatch \u2192 the mark belongs to `brandMatch.name`, a different company. Do not place it.\n unverified \u2192 nothing confirmed whose logo this is. Treat as unchecked.\n confirmed \u2192 Brandfetch has this brand's record. That verifies the record, NOT the artwork \u2014 a confirmed domain has served another company's logo before.\n\n\u26A0 Whatever the verdict, read the ingested row back with `baker images get <imageId>` and check `textInImage`/`subject` before placing it. That is the only check that looks at the mark.\n\nExample: baker images logo stripe.com --variant logo"
57
+ },
58
+ args: {
59
+ domain: { type: "positional", description: "Brand domain", required: false },
60
+ variant: { type: "string", description: "icon|logo|symbol", required: false },
61
+ "auto-ingest": {
62
+ type: "string",
63
+ description: `Ingest top N (0-${AUTO_INGEST_MAX.logo}, default 1)`,
64
+ required: false
65
+ },
66
+ "no-auto-ingest": { type: "boolean", description: "Skip auto-ingest", required: false },
67
+ context: { type: "string", description: "Description context hint applied to ingested logos", required: false },
68
+ ...OUTPUT_ARGS
69
+ },
70
+ run: async ({ args }) => {
71
+ try {
72
+ const domain = args.domain;
73
+ if (!domain) {
74
+ writeJson({ ok: false, error: { code: "VALIDATION_ERROR", message: "Domain is required" } });
75
+ process.exit(1);
76
+ }
77
+ const body = { domain };
78
+ if (args.variant) body.variant = args.variant;
79
+ if (args["auto-ingest"] !== void 0) {
80
+ const parsed = parseAutoIngest(args["auto-ingest"], AUTO_INGEST_MAX.logo);
81
+ if (!parsed.ok) {
82
+ writeJson({
83
+ ok: false,
84
+ error: {
85
+ code: "VALIDATION_ERROR",
86
+ message: parsed.message,
87
+ fix: {
88
+ action: "retry_with_changes",
89
+ explanation: `Brandfetch resolves at most ${AUTO_INGEST_MAX.logo} variants for a domain, so --auto-ingest ${AUTO_INGEST_MAX.logo} already ingests every one. Re-run with a value in 0-${AUTO_INGEST_MAX.logo}.`
90
+ }
91
+ }
92
+ });
93
+ process.exit(1);
94
+ }
95
+ body.autoIngest = parsed.value;
96
+ } else if (args["no-auto-ingest"]) {
97
+ body.autoIngest = 0;
98
+ }
99
+ if (args.context) body.descriptionContext = args.context;
100
+ const data = await apiPost("/api/images/logo", body);
101
+ const hints = [
102
+ // `brandMatch` is Brandfetch's own answer to whose brand this domain is,
103
+ // so the warning can now be graded instead of fired blind: loud on a
104
+ // mismatch, honest about what a confirmation does and does not cover.
105
+ ...brandVerificationHints({
106
+ domain,
107
+ ingested: data.ingested,
108
+ hitCount: data.hits.length,
109
+ brandMatch: data.brandMatch
110
+ }),
111
+ ...emptyResultHints({ provider: "logo", hitCount: data.hits.length, activeFilters: [], subject: domain })
112
+ ];
113
+ writeProviderHits(data, data.hits, args, hints);
114
+ } catch (err) {
115
+ if (err instanceof ApiError) {
116
+ writeJson({ ok: false, error: { code: err.code, message: err.message } });
117
+ process.exit(1);
118
+ }
119
+ writeJson({ ok: false, error: { code: "INTERNAL_ERROR", message: "Unexpected error" } });
120
+ process.exit(1);
121
+ }
122
+ }
123
+ });
124
+ async function fetchBrandLogo(domain) {
125
+ try {
126
+ const body = { domain, variant: "logo" };
127
+ const data = await apiPost("/api/images/logo", body);
128
+ if (data?.brandMatch?.verdict === "mismatch") return null;
129
+ return data?.ingested?.[0]?.imageUrl ?? data?.hits?.find((h) => h.imageUrl)?.imageUrl ?? null;
130
+ } catch {
131
+ return null;
132
+ }
133
+ }
134
+
135
+ export {
136
+ logoCommand,
137
+ fetchBrandLogo
138
+ };
139
+ //# sourceMappingURL=chunk-KMMQLWNC.js.map