@koda-sl/baker-cli 0.545.0 → 0.546.0-dev.a72c87f73

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 (859) hide show
  1. package/dist/account-IG3U6UXZ.js +82 -0
  2. package/dist/account-IGWCS2VJ.js +82 -0
  3. package/dist/account-reads-LOCJMS35.js +219 -0
  4. package/dist/account-users-H4VP43RZ.js +64 -0
  5. package/dist/account-writes-BSSKSTZ2.js +68 -0
  6. package/dist/accounts-C4PNBT5X.js +701 -0
  7. package/dist/accounts-GPTG4XW5.js +80 -0
  8. package/dist/actions-F7YO5I27.js +55 -0
  9. package/dist/activecampaign-S4E46SA6.js +938 -0
  10. package/dist/ad-group-writes-KMB3OMJG.js +172 -0
  11. package/dist/ad-groups-E67CNQS4.js +70 -0
  12. package/dist/ad-writes-FNMKNFUN.js +176 -0
  13. package/dist/add-LROKBWW4.js +107 -0
  14. package/dist/add-SG5XWFRN.js +305 -0
  15. package/dist/ads-4LASBP4G.js +79 -0
  16. package/dist/ads-7ICT2D4M.js +48 -0
  17. package/dist/advertisers-IQMTOR4D.js +123 -0
  18. package/dist/analytics-6DSJ6WHO.js +2437 -0
  19. package/dist/analytics-D6S5LW2F.js +447 -0
  20. package/dist/animate-OWXAT2RK.js +480 -0
  21. package/dist/assign-TMG6FDLW.js +80 -0
  22. package/dist/audience-size-KPJOSG5W.js +76 -0
  23. package/dist/audiences-3R574STZ.js +280 -0
  24. package/dist/audit-35TDKIGY.js +154 -0
  25. package/dist/autocomplete-T63KPKRZ.js +114 -0
  26. package/dist/avatars-AVK4S3HS.js +38 -0
  27. package/dist/bid-pricing-O5IK37CL.js +103 -0
  28. package/dist/brand-SG6VOHF4.js +22 -0
  29. package/dist/brief-RWA6MXTN.js +543 -0
  30. package/dist/campaign-groups-SSZISPJ5.js +99 -0
  31. package/dist/campaign-writes-74KDZ7RR.js +168 -0
  32. package/dist/campaign-writes-Z2J24SUZ.js +176 -0
  33. package/dist/campaigns-43OS6EUG.js +78 -0
  34. package/dist/campaigns-B5TSL3UD.js +113 -0
  35. package/dist/campaigns-TFNPOQEW.js +111 -0
  36. package/dist/canvas-4LSM4Y5I.js +46 -0
  37. package/dist/capabilities-CTKSS7AI.js +147 -0
  38. package/dist/catalog-7LINLVVY.js +66 -0
  39. package/dist/catalogs-IR22RGZD.js +130 -0
  40. package/dist/changes-JAGWBHQC.js +143 -0
  41. package/dist/chatgpt-NE2RBMFK.js +47 -0
  42. package/dist/chats-6TRVVEBG.js +449 -0
  43. package/dist/check-DZGMLLRL.js +107 -0
  44. package/dist/chunk-2DQC4XSN.js +224 -0
  45. package/dist/chunk-3BWT5YDD.js +57 -0
  46. package/dist/chunk-3EUITH4J.js +638 -0
  47. package/dist/chunk-3J5ZTJGN.js +163 -0
  48. package/dist/chunk-3OFLYMPK.js +547 -0
  49. package/dist/chunk-4IRJ5JXA.js +46 -0
  50. package/dist/chunk-5IFFPSEN.js +225 -0
  51. package/dist/chunk-5YNGVEX2.js +23 -0
  52. package/dist/chunk-64ALJ6TJ.js +274 -0
  53. package/dist/chunk-6OIKNJ7G.js +26 -0
  54. package/dist/chunk-7L3Z2GDZ.js +61 -0
  55. package/dist/chunk-7LYJVM7L.js +377 -0
  56. package/dist/chunk-7UFV6H7J.js +167 -0
  57. package/dist/chunk-AGVLJLOT.js +203 -0
  58. package/dist/chunk-B3CDNANO.js +843 -0
  59. package/dist/chunk-BNI5DAB7.js +783 -0
  60. package/dist/chunk-BRT5IG7N.js +438 -0
  61. package/dist/chunk-CXRS5YLB.js +150 -0
  62. package/dist/chunk-CY6EPTJA.js +191 -0
  63. package/dist/chunk-CZ4Q3I25.js +2209 -0
  64. package/dist/chunk-E5H7JIWB.js +3510 -0
  65. package/dist/chunk-EGW3D3RW.js +207 -0
  66. package/dist/chunk-EPLSDHBT.js +8954 -0
  67. package/dist/chunk-F2VUMTCJ.js +103 -0
  68. package/dist/chunk-F3CZFUXZ.js +3187 -0
  69. package/dist/chunk-F3CZFUXZ.js.map +1 -0
  70. package/dist/chunk-FLF2CIL2.js +66 -0
  71. package/dist/chunk-FM4YT7QA.js +156 -0
  72. package/dist/chunk-FUIPDGGH.js +197 -0
  73. package/dist/chunk-G47B4DOH.js +910 -0
  74. package/dist/chunk-G6J6AWTE.js +5471 -0
  75. package/dist/chunk-GCZK4BMB.js +5368 -0
  76. package/dist/chunk-GVYJOHX5.js +455 -0
  77. package/dist/chunk-H4CLWLYF.js +4269 -0
  78. package/dist/chunk-H4CLWLYF.js.map +1 -0
  79. package/dist/chunk-ICEYCLRU.js +679 -0
  80. package/dist/chunk-IDFTXHRQ.js +275 -0
  81. package/dist/chunk-J2RUOIME.js +494 -0
  82. package/dist/chunk-JBNT444M.js +285 -0
  83. package/dist/chunk-K4IPXVVC.js +430 -0
  84. package/dist/chunk-K4IPXVVC.js.map +1 -0
  85. package/dist/chunk-KAUP6ONR.js +89 -0
  86. package/dist/chunk-KTO2Y3DI.js +1646 -0
  87. package/dist/chunk-KVYXHWX2.js +249 -0
  88. package/dist/chunk-L7AJMZ6Z.js +24026 -0
  89. package/dist/chunk-L7AJMZ6Z.js.map +1 -0
  90. package/dist/chunk-LDFM37DM.js +148 -0
  91. package/dist/chunk-LHC6OHQ6.js +857 -0
  92. package/dist/chunk-LQOJBPKV.js +142 -0
  93. package/dist/chunk-METHLFNZ.js +63 -0
  94. package/dist/chunk-MGOSJSDV.js +51 -0
  95. package/dist/chunk-O34P4WD5.js +604 -0
  96. package/dist/chunk-O5V2KBI4.js +387 -0
  97. package/dist/chunk-OO7Y2NMT.js +685 -0
  98. package/dist/chunk-P3AHGZH2.js +170 -0
  99. package/dist/chunk-P6FMQHJJ.js +131 -0
  100. package/dist/chunk-Q6LCL67T.js +1518 -0
  101. package/dist/chunk-Q7G5CWH6.js +169 -0
  102. package/dist/chunk-RA73BVUX.js +392 -0
  103. package/dist/chunk-S6ZCFRL5.js +19 -0
  104. package/dist/chunk-SIKCVWM3.js +76 -0
  105. package/dist/chunk-SIWXWRAD.js +831 -0
  106. package/dist/chunk-UKIS6BLM.js +7800 -0
  107. package/dist/chunk-UKIS6BLM.js.map +1 -0
  108. package/dist/chunk-UNIJPTDU.js +344 -0
  109. package/dist/chunk-UXFRUYTR.js +91 -0
  110. package/dist/chunk-V4UJERGL.js +64 -0
  111. package/dist/chunk-W46BM7HF.js +334 -0
  112. package/dist/chunk-WH7CATSZ.js +930 -0
  113. package/dist/chunk-WM2PLENG.js +1902 -0
  114. package/dist/chunk-XU6XQPNM.js +1919 -0
  115. package/dist/chunk-YKFGXS26.js +228 -0
  116. package/dist/chunk-YQB66YKJ.js +98 -0
  117. package/dist/chunk-YZKZQXRX.js +297 -0
  118. package/dist/chunk-ZDHWB32Y.js +91 -0
  119. package/dist/chunk-ZOYNCIRB.js +479 -0
  120. package/dist/claim-PTCFUZM2.js +200 -0
  121. package/dist/cli.js +31 -31
  122. package/dist/companies-STCBOG5Z.js +198 -0
  123. package/dist/company-4CE7CGNC.js +308 -0
  124. package/dist/complete-R4A7LBOQ.js +84 -0
  125. package/dist/connect-4VLRGTAM.js +45 -0
  126. package/dist/conversation-JS52LHCZ.js +96 -0
  127. package/dist/conversion-report-R4KJI4VA.js +127 -0
  128. package/dist/conversion-upload-command-WCLWA27O.js +439 -0
  129. package/dist/conversion-writes-XIQEIDPS.js +122 -0
  130. package/dist/conversions-IYEF6WZP.js +140 -0
  131. package/dist/conversions-RMBQNW3T.js +78 -0
  132. package/dist/create-6I7SRQHV.js +135 -0
  133. package/dist/create-JYBMK5JH.js +210 -0
  134. package/dist/create-MPUAOJQB.js +62 -0
  135. package/dist/create-W7L5B374.js +239 -0
  136. package/dist/creatives-EPXJ2PDV.js +223 -0
  137. package/dist/creatives-PP6Z2T6Z.js +58 -0
  138. package/dist/credentials-R4BZ76RD.js +290 -0
  139. package/dist/critique-ICVRILIZ.js +232 -0
  140. package/dist/critique-OTIGYFZU.js +1451 -0
  141. package/dist/crm-5JFMA2YB.js +227 -0
  142. package/dist/crm-PRTHRLXM.js +323 -0
  143. package/dist/currency-BY647ZB7.js +88 -0
  144. package/dist/customers-5EWPVKJV.js +65 -0
  145. package/dist/delete-5EWH2SQQ.js +57 -0
  146. package/dist/delete-V2FBPIN7.js +69 -0
  147. package/dist/delete-ZWUCKXI5.js +67 -0
  148. package/dist/demographics-2YCVAAPH.js +141 -0
  149. package/dist/discard-N7K3UQ7M.js +69 -0
  150. package/dist/discover-TAJUFO5R.js +172 -0
  151. package/dist/domain-YYTNWNSF.js +101 -0
  152. package/dist/download-JMJRYJ37.js +172 -0
  153. package/dist/draft-KQACMPH2.js +313 -0
  154. package/dist/draft-PENVOYCI.js +220 -0
  155. package/dist/draft-RGSDXFFT.js +408 -0
  156. package/dist/draft-SKEGKHIK.js +288 -0
  157. package/dist/draft-UOMHLIVY.js +342 -0
  158. package/dist/engine/index.js +8 -8
  159. package/dist/experiments-W5D7ERVJ.js +236 -0
  160. package/dist/facets-FUNOZ6JS.js +117 -0
  161. package/dist/feedback-OVZFH7UV.js +115 -0
  162. package/dist/feedback-record-DKDR3XHH.js +269 -0
  163. package/dist/fetch-QKP23NSX.js +204 -0
  164. package/dist/fit-PZPU2IZZ.js +65 -0
  165. package/dist/flows-GBMZJX4R.js +250 -0
  166. package/dist/fonts-2YY5465Q.js +39 -0
  167. package/dist/forecast-7B75GCRH.js +121 -0
  168. package/dist/forecast-VOND3WVO.js +169 -0
  169. package/dist/funnel-G4CMJ2C4.js +397 -0
  170. package/dist/generate-SW5KLHXG.js +263 -0
  171. package/dist/get-44VNCDBQ.js +59 -0
  172. package/dist/get-ZPJFKFHL.js +82 -0
  173. package/dist/google-VYARAUQH.js +3270 -0
  174. package/dist/google-ads-BKDTCXUS.js +198 -0
  175. package/dist/history-7DF5HFJT.js +69 -0
  176. package/dist/history-NEKVFRGQ.js +102 -0
  177. package/dist/history-YU6HH574.js +153 -0
  178. package/dist/hubspot-Q3ZQODAX.js +782 -0
  179. package/dist/ideas-75LW4KBY.js +45 -0
  180. package/dist/images-7FS4KEGU.js +92 -0
  181. package/dist/ingest-MHH5OQP4.js +27 -0
  182. package/dist/ingest-S5OS6WIU.js +123 -0
  183. package/dist/insights-YVV5MHPQ.js +132 -0
  184. package/dist/inspect-PIFZILBU.js +192 -0
  185. package/dist/inspiration-KL27O45N.js +53 -0
  186. package/dist/intent-GIAQDMHF.js +95 -0
  187. package/dist/keyword-gap-NZF75XGF.js +130 -0
  188. package/dist/keyword-metrics-H5M5I3N4.js +200 -0
  189. package/dist/keywords-for-site-RILBDULX.js +131 -0
  190. package/dist/landing-H5KY6F7K.js +28 -0
  191. package/dist/languages-GGNN7FEK.js +40 -0
  192. package/dist/leads-WCWH4C73.js +115 -0
  193. package/dist/learn-RUZUBNQZ.js +207 -0
  194. package/dist/line-item-writes-5Z3AEUV2.js +211 -0
  195. package/dist/line-items-IYSM2NEA.js +107 -0
  196. package/dist/link-KRNL5O7Z.js +67 -0
  197. package/dist/linkedin-GZIYAH4C.js +1330 -0
  198. package/dist/linkedin-person-PMXUBPVL.js +139 -0
  199. package/dist/list-ALQGX6JI.js +67 -0
  200. package/dist/list-I37IE3NN.js +154 -0
  201. package/dist/list-JD5T6CGQ.js +306 -0
  202. package/dist/locations-7RYEWKJO.js +69 -0
  203. package/dist/locations-BU4ZGWAS.js +40 -0
  204. package/dist/log-JWUFDOG6.js +95 -0
  205. package/dist/make-QCGOTYNW.js +1367 -0
  206. package/dist/map-EYKEY4VA.js +436 -0
  207. package/dist/mcp-P2PZCFFJ.js +729 -0
  208. package/dist/media-sources-UUNS3LES.js +35 -0
  209. package/dist/members-XTW5F5N5.js +47 -0
  210. package/dist/metrics-Z75Q2FHP.js +152 -0
  211. package/dist/models-X2IXXAD6.js +155 -0
  212. package/dist/normalize-P2UQIQOX.js +144 -0
  213. package/dist/options-2OK4LBAD.js +125 -0
  214. package/dist/organization-I5AIPZEH.js +949 -0
  215. package/dist/performance-4UPNHWC2.js +5565 -0
  216. package/dist/performance-H5FJQBOP.js +27 -0
  217. package/dist/pixels-DBSPNHIE.js +62 -0
  218. package/dist/promoted-tweet-writes-V5N5JDYQ.js +183 -0
  219. package/dist/promoted-tweets-ZSNBS3QQ.js +119 -0
  220. package/dist/publish-M6U72N3H.js +344 -0
  221. package/dist/query-NMQKS4MY.js +62 -0
  222. package/dist/reddit-AZMVTHPR.js +29 -0
  223. package/dist/refresh-42TJTJSN.js +97 -0
  224. package/dist/release-VT6TNWUV.js +63 -0
  225. package/dist/relevant-pages-JRIDJL4L.js +99 -0
  226. package/dist/remove-YW25PRT4.js +53 -0
  227. package/dist/reopen-WGTMBOHK.js +66 -0
  228. package/dist/rerun-O7P5LMC4.js +96 -0
  229. package/dist/research-IQWYPRBV.js +265 -0
  230. package/dist/research-WYNVU26K.js +75 -0
  231. package/dist/reset-4YPVS6QU.js +57 -0
  232. package/dist/reset-NF6K4NHK.js +57 -0
  233. package/dist/resolve-GB4ORVSB.js +124 -0
  234. package/dist/retry-LKJVOXVX.js +65 -0
  235. package/dist/retry-W3NSNNDV.js +63 -0
  236. package/dist/revenue-KHUWJPMJ.js +91 -0
  237. package/dist/rules-HMAONF3A.js +99 -0
  238. package/dist/rules-add-BP5XSD23.js +465 -0
  239. package/dist/run-EBCP5VIQ.js +71 -0
  240. package/dist/run-QP7JP2H4.js +69 -0
  241. package/dist/scaffold-ad-JVDV7FET.js +1513 -0
  242. package/dist/scaffold-static-ad-VD3KXMHT.js +1011 -0
  243. package/dist/scaffold-video-X3YR6APK.js +885 -0
  244. package/dist/schedule-7OKUUJHO.js +64 -0
  245. package/dist/scheduled-agents-N6FDAL7K.js +55 -0
  246. package/dist/schema-6O6CJTT5.js +135 -0
  247. package/dist/scrape-U6DIREQ2.js +2241 -0
  248. package/dist/scrape-U6DIREQ2.js.map +1 -0
  249. package/dist/search-WGOCL2KW.js +177 -0
  250. package/dist/select-6PVDRJQJ.js +110 -0
  251. package/dist/set-prompt-EDM7CPME.js +199 -0
  252. package/dist/setup-links-Z2KIKKJM.js +144 -0
  253. package/dist/shopify-AANLSYQY.js +3980 -0
  254. package/dist/site-6HHZJW2S.js +180 -0
  255. package/dist/sources-72AAZL4C.js +30 -0
  256. package/dist/sources-VRWQ65G6.js +457 -0
  257. package/dist/stale-KO6NQVR4.js +90 -0
  258. package/dist/status-QRO7U5K2.js +65 -0
  259. package/dist/studio-OV2ZY5W3.js +49 -0
  260. package/dist/sync-AQZ7JYEG.js +57 -0
  261. package/dist/sync-definition-OKSJA6MA.js +70 -0
  262. package/dist/tags-5GFUNIIK.js +23 -0
  263. package/dist/tags-DIFC2HFB.js +23 -0
  264. package/dist/tags-M26JKN2F.js +23 -0
  265. package/dist/tags-QFEG7LJV.js +26 -0
  266. package/dist/tags-ZWYUQYWT.js +227 -0
  267. package/dist/targeting-criteria-UQMPM2K5.js +113 -0
  268. package/dist/targets-YCVILKKZ.js +106 -0
  269. package/dist/testimonials-SJQJDEK4.js +32 -0
  270. package/dist/themes-RRLYZ46U.js +95 -0
  271. package/dist/top-companies-LPYM65KX.js +111 -0
  272. package/dist/transcript-D2IQWUSP.js +165 -0
  273. package/dist/translate-CPDFHEI4.js +603 -0
  274. package/dist/triggers-543HDVJK.js +144 -0
  275. package/dist/unlink-DQGU7K7V.js +70 -0
  276. package/dist/unstage-7UQU4MQT.js +88 -0
  277. package/dist/update-DGIBKKIB.js +155 -0
  278. package/dist/update-FEZ3EVTA.js +66 -0
  279. package/dist/update-QF6WBJU7.js +101 -0
  280. package/dist/update-RY3GU5QI.js +192 -0
  281. package/dist/upload-VMDGQ4HS.js +130 -0
  282. package/dist/url-options-2TQCGD2W.js +131 -0
  283. package/dist/url-params-LMC2DRHP.js +101 -0
  284. package/dist/validate-TLWEN4IL.js +125 -0
  285. package/dist/videos-GFOHRAJ7.js +41 -0
  286. package/dist/view-ZT3SAZKQ.js +121 -0
  287. package/dist/view-ZT3SAZKQ.js.map +1 -0
  288. package/dist/viewer-check-EKDFC7LQ.js +83 -0
  289. package/dist/web-L7LF6FLF.js +173 -0
  290. package/dist/winning-ads-RUS4NE5C.js +86 -0
  291. package/dist/write-commands-2JYDSXAX.js +1525 -0
  292. package/dist/x-HLZUSGJT.js +47 -0
  293. package/package.json +1 -1
  294. package/dist/account-2HJ4GKHN.js +0 -82
  295. package/dist/account-6GKPLNDY.js +0 -82
  296. package/dist/account-reads-X36NPCX5.js +0 -219
  297. package/dist/account-users-FGL3DZES.js +0 -64
  298. package/dist/account-writes-FZ3KCJZY.js +0 -68
  299. package/dist/accounts-PKSW3DBQ.js +0 -80
  300. package/dist/accounts-S5C6MZFO.js +0 -701
  301. package/dist/actions-ARN3OFB7.js +0 -55
  302. package/dist/activecampaign-3YJC3H2R.js +0 -938
  303. package/dist/ad-group-writes-XGG3WQEO.js +0 -172
  304. package/dist/ad-groups-GZIPUN64.js +0 -70
  305. package/dist/ad-writes-2VTRWQLW.js +0 -176
  306. package/dist/add-CNYKQD7B.js +0 -107
  307. package/dist/add-IABKHM5N.js +0 -305
  308. package/dist/ads-LNWALF6G.js +0 -79
  309. package/dist/ads-UXHJCUTX.js +0 -48
  310. package/dist/advertisers-UT7EJ6YS.js +0 -123
  311. package/dist/analytics-COUVH7MV.js +0 -447
  312. package/dist/analytics-EHUUNMGZ.js +0 -2437
  313. package/dist/animate-DM4OUJMR.js +0 -480
  314. package/dist/assign-FWT5QQDF.js +0 -80
  315. package/dist/audience-size-YI2RLIG7.js +0 -76
  316. package/dist/audiences-7D5VPOWF.js +0 -280
  317. package/dist/audit-BPRRCIWN.js +0 -154
  318. package/dist/autocomplete-OD6SHZZH.js +0 -114
  319. package/dist/avatars-FFFPCH6D.js +0 -38
  320. package/dist/bid-pricing-JF557IO2.js +0 -103
  321. package/dist/brand-ZUYJWKI3.js +0 -22
  322. package/dist/brief-CJDBD5GJ.js +0 -543
  323. package/dist/campaign-groups-VCT6ZH66.js +0 -99
  324. package/dist/campaign-writes-H22P6YPW.js +0 -176
  325. package/dist/campaign-writes-YOHDMYDT.js +0 -168
  326. package/dist/campaigns-265JXD2Z.js +0 -78
  327. package/dist/campaigns-7EGRZ3V6.js +0 -113
  328. package/dist/campaigns-ORK5BYAM.js +0 -111
  329. package/dist/canvas-FW5F3KZJ.js +0 -46
  330. package/dist/capabilities-ISW7XT44.js +0 -147
  331. package/dist/catalog-DPUQBZZ7.js +0 -66
  332. package/dist/catalogs-SBXFAD3X.js +0 -130
  333. package/dist/changes-HXVZUJMH.js +0 -143
  334. package/dist/chatgpt-UXJPCGZU.js +0 -47
  335. package/dist/chats-FH3DQNYD.js +0 -449
  336. package/dist/check-QC5RHS3Z.js +0 -107
  337. package/dist/chunk-2AC5GJHC.js +0 -455
  338. package/dist/chunk-2VSUMGJV.js +0 -89
  339. package/dist/chunk-4D73PLXU.js +0 -843
  340. package/dist/chunk-4S5ZAG4S.js +0 -63
  341. package/dist/chunk-5MMJPUBH.js +0 -387
  342. package/dist/chunk-5Y2XPKW2.js +0 -156
  343. package/dist/chunk-6HCYCMIH.js +0 -61
  344. package/dist/chunk-6R2BQ6FK.js +0 -344
  345. package/dist/chunk-7P74QKVC.js +0 -297
  346. package/dist/chunk-7SJU6PQ7.js +0 -604
  347. package/dist/chunk-A37TIYFD.js +0 -91
  348. package/dist/chunk-A6NVGPCZ.js +0 -479
  349. package/dist/chunk-AK7CL5IW.js +0 -334
  350. package/dist/chunk-AOT3UZBM.js +0 -930
  351. package/dist/chunk-D2ZAZGQH.js +0 -547
  352. package/dist/chunk-DYTBVVQX.js +0 -679
  353. package/dist/chunk-EB76M4ZH.js +0 -19
  354. package/dist/chunk-EBWOLUII.js +0 -24026
  355. package/dist/chunk-EBWOLUII.js.map +0 -1
  356. package/dist/chunk-EOMY5SUJ.js +0 -783
  357. package/dist/chunk-EY5WWPPZ.js +0 -1902
  358. package/dist/chunk-EZKT5YGX.js +0 -23
  359. package/dist/chunk-FVDC6AKZ.js +0 -150
  360. package/dist/chunk-GN7K3NPI.js +0 -148
  361. package/dist/chunk-GQAKWQAV.js +0 -224
  362. package/dist/chunk-HBDWE7WK.js +0 -98
  363. package/dist/chunk-HETNOUE4.js +0 -377
  364. package/dist/chunk-HFAT5S5B.js +0 -170
  365. package/dist/chunk-HQ3I2QVT.js +0 -275
  366. package/dist/chunk-IN5UCEJD.js +0 -91
  367. package/dist/chunk-JAC6JVCI.js +0 -26
  368. package/dist/chunk-JLLGXYOZ.js +0 -857
  369. package/dist/chunk-JY3OJBKZ.js +0 -3510
  370. package/dist/chunk-KBZRG6IK.js +0 -429
  371. package/dist/chunk-KBZRG6IK.js.map +0 -1
  372. package/dist/chunk-KCRBAMFU.js +0 -392
  373. package/dist/chunk-KIXVHP2C.js +0 -1919
  374. package/dist/chunk-KTY7H44G.js +0 -831
  375. package/dist/chunk-LKOMEXUB.js +0 -51
  376. package/dist/chunk-LVKAMWKJ.js +0 -163
  377. package/dist/chunk-LWCGQNVU.js +0 -685
  378. package/dist/chunk-MCJ5I5LR.js +0 -3187
  379. package/dist/chunk-MCJ5I5LR.js.map +0 -1
  380. package/dist/chunk-MSMTG6OC.js +0 -4269
  381. package/dist/chunk-MSMTG6OC.js.map +0 -1
  382. package/dist/chunk-MZPS46OR.js +0 -76
  383. package/dist/chunk-N4AIJQ4W.js +0 -438
  384. package/dist/chunk-NBWZVBDG.js +0 -131
  385. package/dist/chunk-OKB2EAJH.js +0 -8954
  386. package/dist/chunk-OT2MN5UR.js +0 -169
  387. package/dist/chunk-OZR3KUJ3.js +0 -57
  388. package/dist/chunk-P3VY5JEM.js +0 -274
  389. package/dist/chunk-PXGR3VGW.js +0 -1646
  390. package/dist/chunk-QK3HMAVU.js +0 -5471
  391. package/dist/chunk-R65V26HH.js +0 -7770
  392. package/dist/chunk-R65V26HH.js.map +0 -1
  393. package/dist/chunk-RHEWQB5O.js +0 -638
  394. package/dist/chunk-RP36XHWT.js +0 -46
  395. package/dist/chunk-RXOQZA4K.js +0 -66
  396. package/dist/chunk-SEHJ7Y7J.js +0 -207
  397. package/dist/chunk-SNWFM2DB.js +0 -228
  398. package/dist/chunk-TAGRKRFI.js +0 -103
  399. package/dist/chunk-TARINRA4.js +0 -1518
  400. package/dist/chunk-TNZUMU55.js +0 -167
  401. package/dist/chunk-TP2NS5SG.js +0 -191
  402. package/dist/chunk-UOXC3XA5.js +0 -494
  403. package/dist/chunk-UQA6Z23M.js +0 -142
  404. package/dist/chunk-VOUCQ2YW.js +0 -64
  405. package/dist/chunk-WJ5AHR4K.js +0 -2209
  406. package/dist/chunk-WOE4TZHJ.js +0 -285
  407. package/dist/chunk-XYNQMRNX.js +0 -5368
  408. package/dist/chunk-YEISVDKW.js +0 -203
  409. package/dist/chunk-YNLWSP5E.js +0 -910
  410. package/dist/chunk-ZEUAJAKN.js +0 -225
  411. package/dist/chunk-ZUUVWWB5.js +0 -197
  412. package/dist/chunk-ZVAZFHH7.js +0 -249
  413. package/dist/claim-FBL5VBYZ.js +0 -200
  414. package/dist/companies-URRCAJZE.js +0 -198
  415. package/dist/company-LDCNUPHZ.js +0 -308
  416. package/dist/complete-3UGPO444.js +0 -84
  417. package/dist/connect-M5KPZQWE.js +0 -45
  418. package/dist/conversation-S7YANZJR.js +0 -96
  419. package/dist/conversion-report-RB2MU7UD.js +0 -127
  420. package/dist/conversion-upload-command-HFZYKVXA.js +0 -439
  421. package/dist/conversion-writes-56AIPXPK.js +0 -122
  422. package/dist/conversions-NRX76ZIT.js +0 -78
  423. package/dist/conversions-QZL4DSJO.js +0 -140
  424. package/dist/create-56PJRLMA.js +0 -62
  425. package/dist/create-OE5MRW3X.js +0 -210
  426. package/dist/create-RL7PRIDY.js +0 -239
  427. package/dist/create-Y6YVJ5L4.js +0 -135
  428. package/dist/creatives-ESVH63AP.js +0 -223
  429. package/dist/creatives-URHXATY6.js +0 -58
  430. package/dist/credentials-O6QSB7ZR.js +0 -290
  431. package/dist/critique-EWJBOCXQ.js +0 -1451
  432. package/dist/critique-PTGGXRFG.js +0 -232
  433. package/dist/crm-F6RGNQH5.js +0 -323
  434. package/dist/crm-GLPOO22Q.js +0 -227
  435. package/dist/currency-CHBV6WIO.js +0 -88
  436. package/dist/customers-Q76FCWYO.js +0 -65
  437. package/dist/delete-ODFDZCL3.js +0 -57
  438. package/dist/delete-OVMPDGWQ.js +0 -69
  439. package/dist/delete-XN7N4S4H.js +0 -67
  440. package/dist/demographics-IY5RI55Z.js +0 -141
  441. package/dist/discard-GKIA5FML.js +0 -69
  442. package/dist/discover-ZU2DAV23.js +0 -172
  443. package/dist/domain-WGXA7OXV.js +0 -101
  444. package/dist/download-DYYNUGLX.js +0 -172
  445. package/dist/draft-EWGNZUU4.js +0 -288
  446. package/dist/draft-EX2I6UJB.js +0 -313
  447. package/dist/draft-GKI6MB7L.js +0 -342
  448. package/dist/draft-R7BNWMBR.js +0 -408
  449. package/dist/draft-VYIRZO3E.js +0 -220
  450. package/dist/experiments-6DOKWFH4.js +0 -236
  451. package/dist/facets-ZU5DT2QW.js +0 -117
  452. package/dist/feedback-RIUBM557.js +0 -115
  453. package/dist/feedback-record-3VVAUCOH.js +0 -269
  454. package/dist/fetch-T6TZCU74.js +0 -204
  455. package/dist/fit-YPOHTM7Y.js +0 -65
  456. package/dist/flows-CKVEZFF2.js +0 -250
  457. package/dist/fonts-3J3UVZ2E.js +0 -39
  458. package/dist/forecast-372Q6KQZ.js +0 -169
  459. package/dist/forecast-JEAFUR2O.js +0 -121
  460. package/dist/funnel-FBTNPTS7.js +0 -397
  461. package/dist/generate-JQIK3UYS.js +0 -263
  462. package/dist/get-5N5FCGNH.js +0 -59
  463. package/dist/get-EXHUQT65.js +0 -82
  464. package/dist/google-JHTOX6WM.js +0 -3270
  465. package/dist/google-ads-ZAYRCG2D.js +0 -198
  466. package/dist/history-4ULZ4BVV.js +0 -153
  467. package/dist/history-6J3XRNTZ.js +0 -102
  468. package/dist/history-VNLS2TKB.js +0 -69
  469. package/dist/hubspot-ZEHWWJHK.js +0 -782
  470. package/dist/ideas-SB6546GI.js +0 -45
  471. package/dist/images-LEZYVE7R.js +0 -92
  472. package/dist/ingest-4OOTCOLO.js +0 -123
  473. package/dist/ingest-KNJCCIBG.js +0 -27
  474. package/dist/insights-XY6II7TX.js +0 -132
  475. package/dist/inspect-MHKEYNIC.js +0 -192
  476. package/dist/inspiration-CSN3AXDD.js +0 -53
  477. package/dist/intent-5QUPPZNI.js +0 -95
  478. package/dist/keyword-gap-IG3EFLDH.js +0 -130
  479. package/dist/keyword-metrics-EL7MO3H6.js +0 -200
  480. package/dist/keywords-for-site-I7KJLZ2I.js +0 -131
  481. package/dist/landing-Z3QGJYM3.js +0 -28
  482. package/dist/languages-LNHWSCMT.js +0 -40
  483. package/dist/leads-WQCTZYKT.js +0 -115
  484. package/dist/learn-6KW6TUVL.js +0 -207
  485. package/dist/line-item-writes-B2KSP36W.js +0 -211
  486. package/dist/line-items-3ICE5DBI.js +0 -107
  487. package/dist/link-QRQ34ZDH.js +0 -67
  488. package/dist/linkedin-D4RKHQPS.js +0 -1330
  489. package/dist/linkedin-person-Y5TCUOXS.js +0 -139
  490. package/dist/list-6HZVHA6T.js +0 -154
  491. package/dist/list-CHYJ53JD.js +0 -306
  492. package/dist/list-XAMJSOGI.js +0 -67
  493. package/dist/locations-64JNCQID.js +0 -69
  494. package/dist/locations-KVAAO7LD.js +0 -40
  495. package/dist/log-PLXGA74X.js +0 -95
  496. package/dist/make-EP4YSN26.js +0 -1367
  497. package/dist/map-CAFMAMPP.js +0 -436
  498. package/dist/mcp-DDWSXLU7.js +0 -729
  499. package/dist/media-sources-J5FXYPV5.js +0 -35
  500. package/dist/members-ZA7S5KWP.js +0 -47
  501. package/dist/metrics-MXGA3EFS.js +0 -152
  502. package/dist/models-Z6SUHWKI.js +0 -155
  503. package/dist/normalize-ZHM2ZVXZ.js +0 -144
  504. package/dist/options-JTMDZECY.js +0 -125
  505. package/dist/organization-5OJEJEQV.js +0 -949
  506. package/dist/performance-AHVTOYTM.js +0 -5565
  507. package/dist/performance-S273NSUB.js +0 -27
  508. package/dist/pixels-H642RPK4.js +0 -62
  509. package/dist/promoted-tweet-writes-UF6LYMH4.js +0 -183
  510. package/dist/promoted-tweets-Z4GG6D7P.js +0 -119
  511. package/dist/publish-YQ6MHS7P.js +0 -344
  512. package/dist/query-FT2BA3WH.js +0 -62
  513. package/dist/reddit-YWYRZBL2.js +0 -29
  514. package/dist/refresh-TEXTTECA.js +0 -97
  515. package/dist/release-3JDETBZI.js +0 -63
  516. package/dist/relevant-pages-OCHLUV5K.js +0 -99
  517. package/dist/remove-KZTSU4K2.js +0 -53
  518. package/dist/reopen-GIJSFNDH.js +0 -66
  519. package/dist/rerun-6UZNOPUG.js +0 -96
  520. package/dist/research-TMKG4NQJ.js +0 -75
  521. package/dist/research-XA2IJ2XV.js +0 -265
  522. package/dist/reset-7VL6WJLE.js +0 -57
  523. package/dist/reset-HLZ6JHGY.js +0 -57
  524. package/dist/resolve-H2QW3U5Y.js +0 -124
  525. package/dist/retry-MIZ67MPP.js +0 -65
  526. package/dist/retry-WSWW6EJT.js +0 -63
  527. package/dist/revenue-LTU7HRT2.js +0 -91
  528. package/dist/rules-BGBCUUPH.js +0 -99
  529. package/dist/rules-add-SZT2MSOD.js +0 -465
  530. package/dist/run-FHGT4UQ7.js +0 -69
  531. package/dist/run-XUDGECLL.js +0 -71
  532. package/dist/scaffold-ad-VXNO3SQP.js +0 -1513
  533. package/dist/scaffold-static-ad-FT55VV3T.js +0 -1011
  534. package/dist/scaffold-video-V7WX5AWZ.js +0 -885
  535. package/dist/schedule-BNRLEFMZ.js +0 -64
  536. package/dist/scheduled-agents-MAXXXJ7W.js +0 -55
  537. package/dist/schema-YADPD54K.js +0 -135
  538. package/dist/scrape-3PWNMK4D.js +0 -2241
  539. package/dist/scrape-3PWNMK4D.js.map +0 -1
  540. package/dist/search-56ORG4PL.js +0 -177
  541. package/dist/select-DON4DMNM.js +0 -110
  542. package/dist/set-prompt-J22TUCRU.js +0 -199
  543. package/dist/setup-links-CHODCBYH.js +0 -144
  544. package/dist/shopify-FCYU4AR6.js +0 -3980
  545. package/dist/site-BF3Q26W5.js +0 -180
  546. package/dist/sources-SLCYAWTZ.js +0 -457
  547. package/dist/sources-VHHC6YQM.js +0 -30
  548. package/dist/stale-GLVTL2ZK.js +0 -90
  549. package/dist/status-E3RA644P.js +0 -65
  550. package/dist/studio-6ZXUKA4G.js +0 -49
  551. package/dist/sync-6QCDDJMO.js +0 -57
  552. package/dist/sync-definition-DXNHGY5E.js +0 -70
  553. package/dist/tags-AMZSQJJ2.js +0 -26
  554. package/dist/tags-KW7PG2TR.js +0 -23
  555. package/dist/tags-MGV5KG6I.js +0 -23
  556. package/dist/tags-TM27EIAL.js +0 -23
  557. package/dist/tags-VWGKVGZD.js +0 -227
  558. package/dist/targeting-criteria-FT3G4HAW.js +0 -113
  559. package/dist/targets-XLVHWO6Z.js +0 -106
  560. package/dist/testimonials-INXY7CXU.js +0 -32
  561. package/dist/themes-R3A6IVQN.js +0 -95
  562. package/dist/top-companies-MNX3GBCP.js +0 -111
  563. package/dist/transcript-GIAOWCTO.js +0 -165
  564. package/dist/translate-JEQ4K4AH.js +0 -603
  565. package/dist/triggers-KDXLDZ23.js +0 -144
  566. package/dist/unlink-PNBSDLBQ.js +0 -70
  567. package/dist/unstage-X2PDLT5O.js +0 -88
  568. package/dist/update-4JGHSQVZ.js +0 -66
  569. package/dist/update-4XUQN4LK.js +0 -101
  570. package/dist/update-TJTDFWER.js +0 -155
  571. package/dist/update-URU4TO2F.js +0 -192
  572. package/dist/upload-TO5EPTVD.js +0 -130
  573. package/dist/url-options-YZ6UG3NY.js +0 -131
  574. package/dist/url-params-533CWJH3.js +0 -101
  575. package/dist/validate-XF6HU7D4.js +0 -125
  576. package/dist/videos-KYZ4CUOB.js +0 -41
  577. package/dist/view-VFZUL5UL.js +0 -121
  578. package/dist/view-VFZUL5UL.js.map +0 -1
  579. package/dist/viewer-check-U5GUU34Z.js +0 -83
  580. package/dist/web-ZYMSMIV6.js +0 -173
  581. package/dist/winning-ads-BCN5RVAE.js +0 -86
  582. package/dist/write-commands-PZZ72PNL.js +0 -1525
  583. package/dist/x-DLEZYTAU.js +0 -47
  584. /package/dist/{account-2HJ4GKHN.js.map → account-IG3U6UXZ.js.map} +0 -0
  585. /package/dist/{account-6GKPLNDY.js.map → account-IGWCS2VJ.js.map} +0 -0
  586. /package/dist/{account-reads-X36NPCX5.js.map → account-reads-LOCJMS35.js.map} +0 -0
  587. /package/dist/{account-users-FGL3DZES.js.map → account-users-H4VP43RZ.js.map} +0 -0
  588. /package/dist/{account-writes-FZ3KCJZY.js.map → account-writes-BSSKSTZ2.js.map} +0 -0
  589. /package/dist/{accounts-S5C6MZFO.js.map → accounts-C4PNBT5X.js.map} +0 -0
  590. /package/dist/{accounts-PKSW3DBQ.js.map → accounts-GPTG4XW5.js.map} +0 -0
  591. /package/dist/{actions-ARN3OFB7.js.map → actions-F7YO5I27.js.map} +0 -0
  592. /package/dist/{activecampaign-3YJC3H2R.js.map → activecampaign-S4E46SA6.js.map} +0 -0
  593. /package/dist/{ad-group-writes-XGG3WQEO.js.map → ad-group-writes-KMB3OMJG.js.map} +0 -0
  594. /package/dist/{ad-groups-GZIPUN64.js.map → ad-groups-E67CNQS4.js.map} +0 -0
  595. /package/dist/{ad-writes-2VTRWQLW.js.map → ad-writes-FNMKNFUN.js.map} +0 -0
  596. /package/dist/{add-CNYKQD7B.js.map → add-LROKBWW4.js.map} +0 -0
  597. /package/dist/{add-IABKHM5N.js.map → add-SG5XWFRN.js.map} +0 -0
  598. /package/dist/{ads-LNWALF6G.js.map → ads-4LASBP4G.js.map} +0 -0
  599. /package/dist/{ads-UXHJCUTX.js.map → ads-7ICT2D4M.js.map} +0 -0
  600. /package/dist/{advertisers-UT7EJ6YS.js.map → advertisers-IQMTOR4D.js.map} +0 -0
  601. /package/dist/{analytics-EHUUNMGZ.js.map → analytics-6DSJ6WHO.js.map} +0 -0
  602. /package/dist/{analytics-COUVH7MV.js.map → analytics-D6S5LW2F.js.map} +0 -0
  603. /package/dist/{animate-DM4OUJMR.js.map → animate-OWXAT2RK.js.map} +0 -0
  604. /package/dist/{assign-FWT5QQDF.js.map → assign-TMG6FDLW.js.map} +0 -0
  605. /package/dist/{audience-size-YI2RLIG7.js.map → audience-size-KPJOSG5W.js.map} +0 -0
  606. /package/dist/{audiences-7D5VPOWF.js.map → audiences-3R574STZ.js.map} +0 -0
  607. /package/dist/{audit-BPRRCIWN.js.map → audit-35TDKIGY.js.map} +0 -0
  608. /package/dist/{autocomplete-OD6SHZZH.js.map → autocomplete-T63KPKRZ.js.map} +0 -0
  609. /package/dist/{avatars-FFFPCH6D.js.map → avatars-AVK4S3HS.js.map} +0 -0
  610. /package/dist/{bid-pricing-JF557IO2.js.map → bid-pricing-O5IK37CL.js.map} +0 -0
  611. /package/dist/{brand-ZUYJWKI3.js.map → brand-SG6VOHF4.js.map} +0 -0
  612. /package/dist/{brief-CJDBD5GJ.js.map → brief-RWA6MXTN.js.map} +0 -0
  613. /package/dist/{campaign-groups-VCT6ZH66.js.map → campaign-groups-SSZISPJ5.js.map} +0 -0
  614. /package/dist/{campaign-writes-YOHDMYDT.js.map → campaign-writes-74KDZ7RR.js.map} +0 -0
  615. /package/dist/{campaign-writes-H22P6YPW.js.map → campaign-writes-Z2J24SUZ.js.map} +0 -0
  616. /package/dist/{campaigns-265JXD2Z.js.map → campaigns-43OS6EUG.js.map} +0 -0
  617. /package/dist/{campaigns-7EGRZ3V6.js.map → campaigns-B5TSL3UD.js.map} +0 -0
  618. /package/dist/{campaigns-ORK5BYAM.js.map → campaigns-TFNPOQEW.js.map} +0 -0
  619. /package/dist/{canvas-FW5F3KZJ.js.map → canvas-4LSM4Y5I.js.map} +0 -0
  620. /package/dist/{capabilities-ISW7XT44.js.map → capabilities-CTKSS7AI.js.map} +0 -0
  621. /package/dist/{catalog-DPUQBZZ7.js.map → catalog-7LINLVVY.js.map} +0 -0
  622. /package/dist/{catalogs-SBXFAD3X.js.map → catalogs-IR22RGZD.js.map} +0 -0
  623. /package/dist/{changes-HXVZUJMH.js.map → changes-JAGWBHQC.js.map} +0 -0
  624. /package/dist/{chatgpt-UXJPCGZU.js.map → chatgpt-NE2RBMFK.js.map} +0 -0
  625. /package/dist/{chats-FH3DQNYD.js.map → chats-6TRVVEBG.js.map} +0 -0
  626. /package/dist/{check-QC5RHS3Z.js.map → check-DZGMLLRL.js.map} +0 -0
  627. /package/dist/{chunk-GQAKWQAV.js.map → chunk-2DQC4XSN.js.map} +0 -0
  628. /package/dist/{chunk-OZR3KUJ3.js.map → chunk-3BWT5YDD.js.map} +0 -0
  629. /package/dist/{chunk-RHEWQB5O.js.map → chunk-3EUITH4J.js.map} +0 -0
  630. /package/dist/{chunk-LVKAMWKJ.js.map → chunk-3J5ZTJGN.js.map} +0 -0
  631. /package/dist/{chunk-D2ZAZGQH.js.map → chunk-3OFLYMPK.js.map} +0 -0
  632. /package/dist/{chunk-RP36XHWT.js.map → chunk-4IRJ5JXA.js.map} +0 -0
  633. /package/dist/{chunk-ZEUAJAKN.js.map → chunk-5IFFPSEN.js.map} +0 -0
  634. /package/dist/{chunk-EZKT5YGX.js.map → chunk-5YNGVEX2.js.map} +0 -0
  635. /package/dist/{chunk-P3VY5JEM.js.map → chunk-64ALJ6TJ.js.map} +0 -0
  636. /package/dist/{chunk-JAC6JVCI.js.map → chunk-6OIKNJ7G.js.map} +0 -0
  637. /package/dist/{chunk-6HCYCMIH.js.map → chunk-7L3Z2GDZ.js.map} +0 -0
  638. /package/dist/{chunk-HETNOUE4.js.map → chunk-7LYJVM7L.js.map} +0 -0
  639. /package/dist/{chunk-TNZUMU55.js.map → chunk-7UFV6H7J.js.map} +0 -0
  640. /package/dist/{chunk-YEISVDKW.js.map → chunk-AGVLJLOT.js.map} +0 -0
  641. /package/dist/{chunk-4D73PLXU.js.map → chunk-B3CDNANO.js.map} +0 -0
  642. /package/dist/{chunk-EOMY5SUJ.js.map → chunk-BNI5DAB7.js.map} +0 -0
  643. /package/dist/{chunk-N4AIJQ4W.js.map → chunk-BRT5IG7N.js.map} +0 -0
  644. /package/dist/{chunk-FVDC6AKZ.js.map → chunk-CXRS5YLB.js.map} +0 -0
  645. /package/dist/{chunk-TP2NS5SG.js.map → chunk-CY6EPTJA.js.map} +0 -0
  646. /package/dist/{chunk-WJ5AHR4K.js.map → chunk-CZ4Q3I25.js.map} +0 -0
  647. /package/dist/{chunk-JY3OJBKZ.js.map → chunk-E5H7JIWB.js.map} +0 -0
  648. /package/dist/{chunk-SEHJ7Y7J.js.map → chunk-EGW3D3RW.js.map} +0 -0
  649. /package/dist/{chunk-OKB2EAJH.js.map → chunk-EPLSDHBT.js.map} +0 -0
  650. /package/dist/{chunk-TAGRKRFI.js.map → chunk-F2VUMTCJ.js.map} +0 -0
  651. /package/dist/{chunk-RXOQZA4K.js.map → chunk-FLF2CIL2.js.map} +0 -0
  652. /package/dist/{chunk-5Y2XPKW2.js.map → chunk-FM4YT7QA.js.map} +0 -0
  653. /package/dist/{chunk-ZUUVWWB5.js.map → chunk-FUIPDGGH.js.map} +0 -0
  654. /package/dist/{chunk-YNLWSP5E.js.map → chunk-G47B4DOH.js.map} +0 -0
  655. /package/dist/{chunk-QK3HMAVU.js.map → chunk-G6J6AWTE.js.map} +0 -0
  656. /package/dist/{chunk-XYNQMRNX.js.map → chunk-GCZK4BMB.js.map} +0 -0
  657. /package/dist/{chunk-2AC5GJHC.js.map → chunk-GVYJOHX5.js.map} +0 -0
  658. /package/dist/{chunk-DYTBVVQX.js.map → chunk-ICEYCLRU.js.map} +0 -0
  659. /package/dist/{chunk-HQ3I2QVT.js.map → chunk-IDFTXHRQ.js.map} +0 -0
  660. /package/dist/{chunk-UOXC3XA5.js.map → chunk-J2RUOIME.js.map} +0 -0
  661. /package/dist/{chunk-WOE4TZHJ.js.map → chunk-JBNT444M.js.map} +0 -0
  662. /package/dist/{chunk-2VSUMGJV.js.map → chunk-KAUP6ONR.js.map} +0 -0
  663. /package/dist/{chunk-PXGR3VGW.js.map → chunk-KTO2Y3DI.js.map} +0 -0
  664. /package/dist/{chunk-ZVAZFHH7.js.map → chunk-KVYXHWX2.js.map} +0 -0
  665. /package/dist/{chunk-GN7K3NPI.js.map → chunk-LDFM37DM.js.map} +0 -0
  666. /package/dist/{chunk-JLLGXYOZ.js.map → chunk-LHC6OHQ6.js.map} +0 -0
  667. /package/dist/{chunk-UQA6Z23M.js.map → chunk-LQOJBPKV.js.map} +0 -0
  668. /package/dist/{chunk-4S5ZAG4S.js.map → chunk-METHLFNZ.js.map} +0 -0
  669. /package/dist/{chunk-LKOMEXUB.js.map → chunk-MGOSJSDV.js.map} +0 -0
  670. /package/dist/{chunk-7SJU6PQ7.js.map → chunk-O34P4WD5.js.map} +0 -0
  671. /package/dist/{chunk-5MMJPUBH.js.map → chunk-O5V2KBI4.js.map} +0 -0
  672. /package/dist/{chunk-LWCGQNVU.js.map → chunk-OO7Y2NMT.js.map} +0 -0
  673. /package/dist/{chunk-HFAT5S5B.js.map → chunk-P3AHGZH2.js.map} +0 -0
  674. /package/dist/{chunk-NBWZVBDG.js.map → chunk-P6FMQHJJ.js.map} +0 -0
  675. /package/dist/{chunk-TARINRA4.js.map → chunk-Q6LCL67T.js.map} +0 -0
  676. /package/dist/{chunk-OT2MN5UR.js.map → chunk-Q7G5CWH6.js.map} +0 -0
  677. /package/dist/{chunk-KCRBAMFU.js.map → chunk-RA73BVUX.js.map} +0 -0
  678. /package/dist/{chunk-EB76M4ZH.js.map → chunk-S6ZCFRL5.js.map} +0 -0
  679. /package/dist/{chunk-MZPS46OR.js.map → chunk-SIKCVWM3.js.map} +0 -0
  680. /package/dist/{chunk-KTY7H44G.js.map → chunk-SIWXWRAD.js.map} +0 -0
  681. /package/dist/{chunk-6R2BQ6FK.js.map → chunk-UNIJPTDU.js.map} +0 -0
  682. /package/dist/{chunk-A37TIYFD.js.map → chunk-UXFRUYTR.js.map} +0 -0
  683. /package/dist/{chunk-VOUCQ2YW.js.map → chunk-V4UJERGL.js.map} +0 -0
  684. /package/dist/{chunk-AK7CL5IW.js.map → chunk-W46BM7HF.js.map} +0 -0
  685. /package/dist/{chunk-AOT3UZBM.js.map → chunk-WH7CATSZ.js.map} +0 -0
  686. /package/dist/{chunk-EY5WWPPZ.js.map → chunk-WM2PLENG.js.map} +0 -0
  687. /package/dist/{chunk-KIXVHP2C.js.map → chunk-XU6XQPNM.js.map} +0 -0
  688. /package/dist/{chunk-SNWFM2DB.js.map → chunk-YKFGXS26.js.map} +0 -0
  689. /package/dist/{chunk-HBDWE7WK.js.map → chunk-YQB66YKJ.js.map} +0 -0
  690. /package/dist/{chunk-7P74QKVC.js.map → chunk-YZKZQXRX.js.map} +0 -0
  691. /package/dist/{chunk-IN5UCEJD.js.map → chunk-ZDHWB32Y.js.map} +0 -0
  692. /package/dist/{chunk-A6NVGPCZ.js.map → chunk-ZOYNCIRB.js.map} +0 -0
  693. /package/dist/{claim-FBL5VBYZ.js.map → claim-PTCFUZM2.js.map} +0 -0
  694. /package/dist/{companies-URRCAJZE.js.map → companies-STCBOG5Z.js.map} +0 -0
  695. /package/dist/{company-LDCNUPHZ.js.map → company-4CE7CGNC.js.map} +0 -0
  696. /package/dist/{complete-3UGPO444.js.map → complete-R4A7LBOQ.js.map} +0 -0
  697. /package/dist/{connect-M5KPZQWE.js.map → connect-4VLRGTAM.js.map} +0 -0
  698. /package/dist/{conversation-S7YANZJR.js.map → conversation-JS52LHCZ.js.map} +0 -0
  699. /package/dist/{conversion-report-RB2MU7UD.js.map → conversion-report-R4KJI4VA.js.map} +0 -0
  700. /package/dist/{conversion-upload-command-HFZYKVXA.js.map → conversion-upload-command-WCLWA27O.js.map} +0 -0
  701. /package/dist/{conversion-writes-56AIPXPK.js.map → conversion-writes-XIQEIDPS.js.map} +0 -0
  702. /package/dist/{conversions-QZL4DSJO.js.map → conversions-IYEF6WZP.js.map} +0 -0
  703. /package/dist/{conversions-NRX76ZIT.js.map → conversions-RMBQNW3T.js.map} +0 -0
  704. /package/dist/{create-Y6YVJ5L4.js.map → create-6I7SRQHV.js.map} +0 -0
  705. /package/dist/{create-OE5MRW3X.js.map → create-JYBMK5JH.js.map} +0 -0
  706. /package/dist/{create-56PJRLMA.js.map → create-MPUAOJQB.js.map} +0 -0
  707. /package/dist/{create-RL7PRIDY.js.map → create-W7L5B374.js.map} +0 -0
  708. /package/dist/{creatives-ESVH63AP.js.map → creatives-EPXJ2PDV.js.map} +0 -0
  709. /package/dist/{creatives-URHXATY6.js.map → creatives-PP6Z2T6Z.js.map} +0 -0
  710. /package/dist/{credentials-O6QSB7ZR.js.map → credentials-R4BZ76RD.js.map} +0 -0
  711. /package/dist/{critique-PTGGXRFG.js.map → critique-ICVRILIZ.js.map} +0 -0
  712. /package/dist/{critique-EWJBOCXQ.js.map → critique-OTIGYFZU.js.map} +0 -0
  713. /package/dist/{crm-GLPOO22Q.js.map → crm-5JFMA2YB.js.map} +0 -0
  714. /package/dist/{crm-F6RGNQH5.js.map → crm-PRTHRLXM.js.map} +0 -0
  715. /package/dist/{currency-CHBV6WIO.js.map → currency-BY647ZB7.js.map} +0 -0
  716. /package/dist/{customers-Q76FCWYO.js.map → customers-5EWPVKJV.js.map} +0 -0
  717. /package/dist/{delete-ODFDZCL3.js.map → delete-5EWH2SQQ.js.map} +0 -0
  718. /package/dist/{delete-OVMPDGWQ.js.map → delete-V2FBPIN7.js.map} +0 -0
  719. /package/dist/{delete-XN7N4S4H.js.map → delete-ZWUCKXI5.js.map} +0 -0
  720. /package/dist/{demographics-IY5RI55Z.js.map → demographics-2YCVAAPH.js.map} +0 -0
  721. /package/dist/{discard-GKIA5FML.js.map → discard-N7K3UQ7M.js.map} +0 -0
  722. /package/dist/{discover-ZU2DAV23.js.map → discover-TAJUFO5R.js.map} +0 -0
  723. /package/dist/{domain-WGXA7OXV.js.map → domain-YYTNWNSF.js.map} +0 -0
  724. /package/dist/{download-DYYNUGLX.js.map → download-JMJRYJ37.js.map} +0 -0
  725. /package/dist/{draft-EX2I6UJB.js.map → draft-KQACMPH2.js.map} +0 -0
  726. /package/dist/{draft-VYIRZO3E.js.map → draft-PENVOYCI.js.map} +0 -0
  727. /package/dist/{draft-R7BNWMBR.js.map → draft-RGSDXFFT.js.map} +0 -0
  728. /package/dist/{draft-EWGNZUU4.js.map → draft-SKEGKHIK.js.map} +0 -0
  729. /package/dist/{draft-GKI6MB7L.js.map → draft-UOMHLIVY.js.map} +0 -0
  730. /package/dist/{experiments-6DOKWFH4.js.map → experiments-W5D7ERVJ.js.map} +0 -0
  731. /package/dist/{facets-ZU5DT2QW.js.map → facets-FUNOZ6JS.js.map} +0 -0
  732. /package/dist/{feedback-RIUBM557.js.map → feedback-OVZFH7UV.js.map} +0 -0
  733. /package/dist/{feedback-record-3VVAUCOH.js.map → feedback-record-DKDR3XHH.js.map} +0 -0
  734. /package/dist/{fetch-T6TZCU74.js.map → fetch-QKP23NSX.js.map} +0 -0
  735. /package/dist/{fit-YPOHTM7Y.js.map → fit-PZPU2IZZ.js.map} +0 -0
  736. /package/dist/{flows-CKVEZFF2.js.map → flows-GBMZJX4R.js.map} +0 -0
  737. /package/dist/{fonts-3J3UVZ2E.js.map → fonts-2YY5465Q.js.map} +0 -0
  738. /package/dist/{forecast-JEAFUR2O.js.map → forecast-7B75GCRH.js.map} +0 -0
  739. /package/dist/{forecast-372Q6KQZ.js.map → forecast-VOND3WVO.js.map} +0 -0
  740. /package/dist/{funnel-FBTNPTS7.js.map → funnel-G4CMJ2C4.js.map} +0 -0
  741. /package/dist/{generate-JQIK3UYS.js.map → generate-SW5KLHXG.js.map} +0 -0
  742. /package/dist/{get-5N5FCGNH.js.map → get-44VNCDBQ.js.map} +0 -0
  743. /package/dist/{get-EXHUQT65.js.map → get-ZPJFKFHL.js.map} +0 -0
  744. /package/dist/{google-JHTOX6WM.js.map → google-VYARAUQH.js.map} +0 -0
  745. /package/dist/{google-ads-ZAYRCG2D.js.map → google-ads-BKDTCXUS.js.map} +0 -0
  746. /package/dist/{history-VNLS2TKB.js.map → history-7DF5HFJT.js.map} +0 -0
  747. /package/dist/{history-6J3XRNTZ.js.map → history-NEKVFRGQ.js.map} +0 -0
  748. /package/dist/{history-4ULZ4BVV.js.map → history-YU6HH574.js.map} +0 -0
  749. /package/dist/{hubspot-ZEHWWJHK.js.map → hubspot-Q3ZQODAX.js.map} +0 -0
  750. /package/dist/{ideas-SB6546GI.js.map → ideas-75LW4KBY.js.map} +0 -0
  751. /package/dist/{images-LEZYVE7R.js.map → images-7FS4KEGU.js.map} +0 -0
  752. /package/dist/{ingest-KNJCCIBG.js.map → ingest-MHH5OQP4.js.map} +0 -0
  753. /package/dist/{ingest-4OOTCOLO.js.map → ingest-S5OS6WIU.js.map} +0 -0
  754. /package/dist/{insights-XY6II7TX.js.map → insights-YVV5MHPQ.js.map} +0 -0
  755. /package/dist/{inspect-MHKEYNIC.js.map → inspect-PIFZILBU.js.map} +0 -0
  756. /package/dist/{inspiration-CSN3AXDD.js.map → inspiration-KL27O45N.js.map} +0 -0
  757. /package/dist/{intent-5QUPPZNI.js.map → intent-GIAQDMHF.js.map} +0 -0
  758. /package/dist/{keyword-gap-IG3EFLDH.js.map → keyword-gap-NZF75XGF.js.map} +0 -0
  759. /package/dist/{keyword-metrics-EL7MO3H6.js.map → keyword-metrics-H5M5I3N4.js.map} +0 -0
  760. /package/dist/{keywords-for-site-I7KJLZ2I.js.map → keywords-for-site-RILBDULX.js.map} +0 -0
  761. /package/dist/{landing-Z3QGJYM3.js.map → landing-H5KY6F7K.js.map} +0 -0
  762. /package/dist/{languages-LNHWSCMT.js.map → languages-GGNN7FEK.js.map} +0 -0
  763. /package/dist/{leads-WQCTZYKT.js.map → leads-WCWH4C73.js.map} +0 -0
  764. /package/dist/{learn-6KW6TUVL.js.map → learn-RUZUBNQZ.js.map} +0 -0
  765. /package/dist/{line-item-writes-B2KSP36W.js.map → line-item-writes-5Z3AEUV2.js.map} +0 -0
  766. /package/dist/{line-items-3ICE5DBI.js.map → line-items-IYSM2NEA.js.map} +0 -0
  767. /package/dist/{link-QRQ34ZDH.js.map → link-KRNL5O7Z.js.map} +0 -0
  768. /package/dist/{linkedin-D4RKHQPS.js.map → linkedin-GZIYAH4C.js.map} +0 -0
  769. /package/dist/{linkedin-person-Y5TCUOXS.js.map → linkedin-person-PMXUBPVL.js.map} +0 -0
  770. /package/dist/{list-XAMJSOGI.js.map → list-ALQGX6JI.js.map} +0 -0
  771. /package/dist/{list-6HZVHA6T.js.map → list-I37IE3NN.js.map} +0 -0
  772. /package/dist/{list-CHYJ53JD.js.map → list-JD5T6CGQ.js.map} +0 -0
  773. /package/dist/{locations-64JNCQID.js.map → locations-7RYEWKJO.js.map} +0 -0
  774. /package/dist/{locations-KVAAO7LD.js.map → locations-BU4ZGWAS.js.map} +0 -0
  775. /package/dist/{log-PLXGA74X.js.map → log-JWUFDOG6.js.map} +0 -0
  776. /package/dist/{make-EP4YSN26.js.map → make-QCGOTYNW.js.map} +0 -0
  777. /package/dist/{map-CAFMAMPP.js.map → map-EYKEY4VA.js.map} +0 -0
  778. /package/dist/{mcp-DDWSXLU7.js.map → mcp-P2PZCFFJ.js.map} +0 -0
  779. /package/dist/{media-sources-J5FXYPV5.js.map → media-sources-UUNS3LES.js.map} +0 -0
  780. /package/dist/{members-ZA7S5KWP.js.map → members-XTW5F5N5.js.map} +0 -0
  781. /package/dist/{metrics-MXGA3EFS.js.map → metrics-Z75Q2FHP.js.map} +0 -0
  782. /package/dist/{models-Z6SUHWKI.js.map → models-X2IXXAD6.js.map} +0 -0
  783. /package/dist/{normalize-ZHM2ZVXZ.js.map → normalize-P2UQIQOX.js.map} +0 -0
  784. /package/dist/{options-JTMDZECY.js.map → options-2OK4LBAD.js.map} +0 -0
  785. /package/dist/{organization-5OJEJEQV.js.map → organization-I5AIPZEH.js.map} +0 -0
  786. /package/dist/{performance-AHVTOYTM.js.map → performance-4UPNHWC2.js.map} +0 -0
  787. /package/dist/{performance-S273NSUB.js.map → performance-H5FJQBOP.js.map} +0 -0
  788. /package/dist/{pixels-H642RPK4.js.map → pixels-DBSPNHIE.js.map} +0 -0
  789. /package/dist/{promoted-tweet-writes-UF6LYMH4.js.map → promoted-tweet-writes-V5N5JDYQ.js.map} +0 -0
  790. /package/dist/{promoted-tweets-Z4GG6D7P.js.map → promoted-tweets-ZSNBS3QQ.js.map} +0 -0
  791. /package/dist/{publish-YQ6MHS7P.js.map → publish-M6U72N3H.js.map} +0 -0
  792. /package/dist/{query-FT2BA3WH.js.map → query-NMQKS4MY.js.map} +0 -0
  793. /package/dist/{reddit-YWYRZBL2.js.map → reddit-AZMVTHPR.js.map} +0 -0
  794. /package/dist/{refresh-TEXTTECA.js.map → refresh-42TJTJSN.js.map} +0 -0
  795. /package/dist/{release-3JDETBZI.js.map → release-VT6TNWUV.js.map} +0 -0
  796. /package/dist/{relevant-pages-OCHLUV5K.js.map → relevant-pages-JRIDJL4L.js.map} +0 -0
  797. /package/dist/{remove-KZTSU4K2.js.map → remove-YW25PRT4.js.map} +0 -0
  798. /package/dist/{reopen-GIJSFNDH.js.map → reopen-WGTMBOHK.js.map} +0 -0
  799. /package/dist/{rerun-6UZNOPUG.js.map → rerun-O7P5LMC4.js.map} +0 -0
  800. /package/dist/{research-XA2IJ2XV.js.map → research-IQWYPRBV.js.map} +0 -0
  801. /package/dist/{research-TMKG4NQJ.js.map → research-WYNVU26K.js.map} +0 -0
  802. /package/dist/{reset-7VL6WJLE.js.map → reset-4YPVS6QU.js.map} +0 -0
  803. /package/dist/{reset-HLZ6JHGY.js.map → reset-NF6K4NHK.js.map} +0 -0
  804. /package/dist/{resolve-H2QW3U5Y.js.map → resolve-GB4ORVSB.js.map} +0 -0
  805. /package/dist/{retry-MIZ67MPP.js.map → retry-LKJVOXVX.js.map} +0 -0
  806. /package/dist/{retry-WSWW6EJT.js.map → retry-W3NSNNDV.js.map} +0 -0
  807. /package/dist/{revenue-LTU7HRT2.js.map → revenue-KHUWJPMJ.js.map} +0 -0
  808. /package/dist/{rules-BGBCUUPH.js.map → rules-HMAONF3A.js.map} +0 -0
  809. /package/dist/{rules-add-SZT2MSOD.js.map → rules-add-BP5XSD23.js.map} +0 -0
  810. /package/dist/{run-XUDGECLL.js.map → run-EBCP5VIQ.js.map} +0 -0
  811. /package/dist/{run-FHGT4UQ7.js.map → run-QP7JP2H4.js.map} +0 -0
  812. /package/dist/{scaffold-ad-VXNO3SQP.js.map → scaffold-ad-JVDV7FET.js.map} +0 -0
  813. /package/dist/{scaffold-static-ad-FT55VV3T.js.map → scaffold-static-ad-VD3KXMHT.js.map} +0 -0
  814. /package/dist/{scaffold-video-V7WX5AWZ.js.map → scaffold-video-X3YR6APK.js.map} +0 -0
  815. /package/dist/{schedule-BNRLEFMZ.js.map → schedule-7OKUUJHO.js.map} +0 -0
  816. /package/dist/{scheduled-agents-MAXXXJ7W.js.map → scheduled-agents-N6FDAL7K.js.map} +0 -0
  817. /package/dist/{schema-YADPD54K.js.map → schema-6O6CJTT5.js.map} +0 -0
  818. /package/dist/{search-56ORG4PL.js.map → search-WGOCL2KW.js.map} +0 -0
  819. /package/dist/{select-DON4DMNM.js.map → select-6PVDRJQJ.js.map} +0 -0
  820. /package/dist/{set-prompt-J22TUCRU.js.map → set-prompt-EDM7CPME.js.map} +0 -0
  821. /package/dist/{setup-links-CHODCBYH.js.map → setup-links-Z2KIKKJM.js.map} +0 -0
  822. /package/dist/{shopify-FCYU4AR6.js.map → shopify-AANLSYQY.js.map} +0 -0
  823. /package/dist/{site-BF3Q26W5.js.map → site-6HHZJW2S.js.map} +0 -0
  824. /package/dist/{sources-VHHC6YQM.js.map → sources-72AAZL4C.js.map} +0 -0
  825. /package/dist/{sources-SLCYAWTZ.js.map → sources-VRWQ65G6.js.map} +0 -0
  826. /package/dist/{stale-GLVTL2ZK.js.map → stale-KO6NQVR4.js.map} +0 -0
  827. /package/dist/{status-E3RA644P.js.map → status-QRO7U5K2.js.map} +0 -0
  828. /package/dist/{studio-6ZXUKA4G.js.map → studio-OV2ZY5W3.js.map} +0 -0
  829. /package/dist/{sync-6QCDDJMO.js.map → sync-AQZ7JYEG.js.map} +0 -0
  830. /package/dist/{sync-definition-DXNHGY5E.js.map → sync-definition-OKSJA6MA.js.map} +0 -0
  831. /package/dist/{tags-KW7PG2TR.js.map → tags-5GFUNIIK.js.map} +0 -0
  832. /package/dist/{tags-MGV5KG6I.js.map → tags-DIFC2HFB.js.map} +0 -0
  833. /package/dist/{tags-TM27EIAL.js.map → tags-M26JKN2F.js.map} +0 -0
  834. /package/dist/{tags-AMZSQJJ2.js.map → tags-QFEG7LJV.js.map} +0 -0
  835. /package/dist/{tags-VWGKVGZD.js.map → tags-ZWYUQYWT.js.map} +0 -0
  836. /package/dist/{targeting-criteria-FT3G4HAW.js.map → targeting-criteria-UQMPM2K5.js.map} +0 -0
  837. /package/dist/{targets-XLVHWO6Z.js.map → targets-YCVILKKZ.js.map} +0 -0
  838. /package/dist/{testimonials-INXY7CXU.js.map → testimonials-SJQJDEK4.js.map} +0 -0
  839. /package/dist/{themes-R3A6IVQN.js.map → themes-RRLYZ46U.js.map} +0 -0
  840. /package/dist/{top-companies-MNX3GBCP.js.map → top-companies-LPYM65KX.js.map} +0 -0
  841. /package/dist/{transcript-GIAOWCTO.js.map → transcript-D2IQWUSP.js.map} +0 -0
  842. /package/dist/{translate-JEQ4K4AH.js.map → translate-CPDFHEI4.js.map} +0 -0
  843. /package/dist/{triggers-KDXLDZ23.js.map → triggers-543HDVJK.js.map} +0 -0
  844. /package/dist/{unlink-PNBSDLBQ.js.map → unlink-DQGU7K7V.js.map} +0 -0
  845. /package/dist/{unstage-X2PDLT5O.js.map → unstage-7UQU4MQT.js.map} +0 -0
  846. /package/dist/{update-TJTDFWER.js.map → update-DGIBKKIB.js.map} +0 -0
  847. /package/dist/{update-4JGHSQVZ.js.map → update-FEZ3EVTA.js.map} +0 -0
  848. /package/dist/{update-4XUQN4LK.js.map → update-QF6WBJU7.js.map} +0 -0
  849. /package/dist/{update-URU4TO2F.js.map → update-RY3GU5QI.js.map} +0 -0
  850. /package/dist/{upload-TO5EPTVD.js.map → upload-VMDGQ4HS.js.map} +0 -0
  851. /package/dist/{url-options-YZ6UG3NY.js.map → url-options-2TQCGD2W.js.map} +0 -0
  852. /package/dist/{url-params-533CWJH3.js.map → url-params-LMC2DRHP.js.map} +0 -0
  853. /package/dist/{validate-XF6HU7D4.js.map → validate-TLWEN4IL.js.map} +0 -0
  854. /package/dist/{videos-KYZ4CUOB.js.map → videos-GFOHRAJ7.js.map} +0 -0
  855. /package/dist/{viewer-check-U5GUU34Z.js.map → viewer-check-EKDFC7LQ.js.map} +0 -0
  856. /package/dist/{web-ZYMSMIV6.js.map → web-L7LF6FLF.js.map} +0 -0
  857. /package/dist/{winning-ads-BCN5RVAE.js.map → winning-ads-RUS4NE5C.js.map} +0 -0
  858. /package/dist/{write-commands-PZZ72PNL.js.map → write-commands-2JYDSXAX.js.map} +0 -0
  859. /package/dist/{x-DLEZYTAU.js.map → x-HLZUSGJT.js.map} +0 -0
@@ -0,0 +1,430 @@
1
+ import {
2
+ agentProfile
3
+ } from "./chunk-GEQUWPAX.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-UKIS6BLM.js";
16
+ import {
17
+ ApiError,
18
+ validateConvexId
19
+ } from "./chunk-B2OHCWYB.js";
20
+ import {
21
+ getEnv
22
+ } from "./chunk-E54435XT.js";
23
+ import {
24
+ writeJson
25
+ } from "./chunk-WCIS4FZH.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). Required on session.published from a chat \u2014 to follow up on this chat's own publish, use --trigger session.settled --session this.",
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
+ chatId: "With --trigger session.settled (required): `this` \u2014 the chat you are in. It runs once, after this chat is published and its work is fully live: pages served, every ad, Tag Manager, Analytics and store change landed or failed. Start here for any check or report on this chat's own work after it publishes.",
112
+ 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."
113
+ };
114
+ var NARROWING_ARGS = {
115
+ ...Object.fromEntries(
116
+ TRIGGER_TARGET_FIELD_IDS.map((field) => [
117
+ TRIGGER_TARGET_FIELDS[field].flag,
118
+ {
119
+ type: "string",
120
+ description: `${NARROWING_DESCRIPTIONS[field]} \`baker scheduled-agents targets --trigger <kind> --field ${field}\` lists the values.`,
121
+ required: false
122
+ }
123
+ ])
124
+ ),
125
+ config: {
126
+ type: "string",
127
+ 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.`,
128
+ required: false
129
+ }
130
+ };
131
+ function validateRunAt(runAt) {
132
+ if (!runAt.endsWith("Z")) {
133
+ failValidation("--run-at must be an ISO UTC timestamp ending in Z.");
134
+ }
135
+ const parsed = Date.parse(runAt);
136
+ if (!Number.isFinite(parsed)) {
137
+ failValidation("--run-at must be a valid ISO timestamp.");
138
+ }
139
+ if (parsed <= Date.now()) {
140
+ failValidation(
141
+ `--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.`
142
+ );
143
+ }
144
+ }
145
+ function buildTriggerBody(args, options) {
146
+ const cron = args.cron;
147
+ const runAt = args["run-at"];
148
+ const timezone = args.timezone;
149
+ const kind = args.trigger;
150
+ const given = [cron, runAt, kind].filter(Boolean).length;
151
+ if (given > 1) {
152
+ failValidation("--cron, --run-at and --trigger are mutually exclusive.");
153
+ }
154
+ refuseNarrowingWithoutKind(args, kind, given);
155
+ if (runAt) {
156
+ validateRunAt(runAt);
157
+ return { runAt, ...timezone ? { timezone } : {} };
158
+ }
159
+ if (cron) {
160
+ return { cron, ...timezone ? { timezone } : {} };
161
+ }
162
+ if (kind) {
163
+ return { trigger: triggerFromFlags(kind, args), ...timezone ? { timezone } : {} };
164
+ }
165
+ if (timezone && !options.required) {
166
+ return { timezone };
167
+ }
168
+ if (options.required) {
169
+ failValidation(
170
+ `A trigger is required. Pass --cron or --run-at for a time-based one, or --trigger with one of: ${TRIGGER_KIND_IDS.join(", ")}.`
171
+ );
172
+ }
173
+ return void 0;
174
+ }
175
+ function flagText(args, key) {
176
+ const value = args[key];
177
+ return typeof value === "string" && value.trim().length > 0 ? value.trim() : void 0;
178
+ }
179
+ function refuseMisusedKinds(kind, args) {
180
+ if (kind === "time.once") {
181
+ failValidation("Use --run-at for a one-off, rather than --trigger time.once.");
182
+ }
183
+ if (kind === "time.cron") {
184
+ failValidation("Use --cron for a repeating schedule, rather than --trigger time.cron.");
185
+ }
186
+ if (kind === "experiment.started" && flagText(args, "experiment")) {
187
+ failValidation(
188
+ '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.'
189
+ );
190
+ }
191
+ }
192
+ function refuseStrayFlags(kind, args) {
193
+ const allowed = new Set(TRIGGER_TARGETS[kind].map((target) => TRIGGER_TARGET_FIELDS[target.field].flag));
194
+ const stray = TRIGGER_TARGET_FIELD_IDS.map((field) => TRIGGER_TARGET_FIELDS[field].flag).filter(
195
+ (flag) => !allowed.has(flag) && flagText(args, flag) !== void 0 && !(kind === "experiment.started" && flag === "experiment")
196
+ );
197
+ if (stray.length === 0) {
198
+ return;
199
+ }
200
+ failValidation(
201
+ `${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."}`
202
+ );
203
+ }
204
+ var NARROWING_FLAGS = [...TRIGGER_TARGET_FIELD_IDS.map((field) => TRIGGER_TARGET_FIELDS[field].flag), "config"];
205
+ function refuseNarrowingWithoutKind(args, kind, given) {
206
+ if (kind) {
207
+ return;
208
+ }
209
+ const stray = NARROWING_FLAGS.filter((flag) => flagText(args, flag) !== void 0);
210
+ if (stray.length === 0) {
211
+ return;
212
+ }
213
+ const flags = stray.map((flag) => `--${flag}`).join(", ");
214
+ failValidation(
215
+ 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.`
216
+ );
217
+ }
218
+ function configFromFlag(kind, args) {
219
+ const config = flagText(args, "config");
220
+ if (!config) {
221
+ return {};
222
+ }
223
+ if (kind !== "app.event") {
224
+ failValidation("--config is only for --trigger app.event: the settings of what happens in the tool.");
225
+ }
226
+ let parsed;
227
+ try {
228
+ parsed = JSON.parse(config);
229
+ } catch {
230
+ parsed = null;
231
+ }
232
+ if (typeof parsed !== "object" || parsed === null || Array.isArray(parsed)) {
233
+ failValidation(`--config must be a JSON object, e.g. '{"labelIds":"INBOX"}'.`);
234
+ }
235
+ return { configJson: config };
236
+ }
237
+ function withoutMetaActPrefix(adAccount) {
238
+ return adAccount.replace(/^meta:act_/i, "meta:");
239
+ }
240
+ function triggerFromFlags(kind, args) {
241
+ if (!isTriggerKind(kind)) {
242
+ failValidation(`--trigger must be one of: ${TRIGGER_KIND_IDS.join(", ")}.`);
243
+ }
244
+ refuseMisusedKinds(kind, args);
245
+ refuseStrayFlags(kind, args);
246
+ const narrowings = {};
247
+ for (const { field, required } of TRIGGER_TARGETS[kind]) {
248
+ const value = flagText(args, TRIGGER_TARGET_FIELDS[field].flag);
249
+ if (value) {
250
+ narrowings[field] = field === "adAccount" ? withoutMetaActPrefix(value) : value;
251
+ } else if (required) {
252
+ failValidation(
253
+ `--trigger ${kind} needs --${TRIGGER_TARGET_FIELDS[field].flag}. \`baker scheduled-agents targets --trigger ${kind} --field ${field}\` lists what it can be.`
254
+ );
255
+ }
256
+ }
257
+ return { kind, ...narrowings, ...configFromFlag(kind, args) };
258
+ }
259
+ function parseOccurrences(raw) {
260
+ if (raw === void 0) {
261
+ return void 0;
262
+ }
263
+ if (typeof raw !== "string") {
264
+ failValidation("--occurrences must be a comma-separated list of whole numbers, e.g. 1 or 1,3.");
265
+ }
266
+ const parts = raw.split(",").map((part) => part.trim()).filter((part) => part.length > 0);
267
+ const numbers = parts.map((part) => Number(part));
268
+ if (numbers.length === 0 || numbers.some((n) => !Number.isInteger(n) || n <= 0)) {
269
+ failValidation("--occurrences must be a comma-separated list of whole numbers above zero, e.g. 1 or 1,3.");
270
+ }
271
+ return numbers;
272
+ }
273
+ function parseBooleanFlag(raw, flagName) {
274
+ if (raw === void 0) {
275
+ return void 0;
276
+ }
277
+ if (raw === true || raw === "true") {
278
+ return true;
279
+ }
280
+ if (raw === false || raw === "false") {
281
+ return false;
282
+ }
283
+ failValidation(`${flagName} must be true or false.`);
284
+ }
285
+ var REACTION_ARGS = {
286
+ when: {
287
+ type: "string",
288
+ 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.",
289
+ required: false
290
+ },
291
+ "ai-check": {
292
+ type: "string",
293
+ 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.',
294
+ required: false
295
+ },
296
+ times: {
297
+ type: "string",
298
+ 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.",
299
+ required: false
300
+ },
301
+ payload: {
302
+ type: "string",
303
+ 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.",
304
+ required: false
305
+ },
306
+ cooldown: {
307
+ type: "string",
308
+ description: "At most one run per this many minutes, however often it fires. 0 removes it.",
309
+ required: false
310
+ }
311
+ };
312
+ var SLACK_ARG = {
313
+ slack: {
314
+ type: "string",
315
+ 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.",
316
+ required: false
317
+ }
318
+ };
319
+ function companiesArg(profile = agentProfile()) {
320
+ return profile === "organization" ? {
321
+ companies: {
322
+ type: "string",
323
+ 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.",
324
+ required: false
325
+ }
326
+ } : {};
327
+ }
328
+ function companiesBody(args) {
329
+ return typeof args.companies === "string" && args.companies.trim().length > 0 ? { companies: args.companies.trim() } : {};
330
+ }
331
+ function slackBody(args) {
332
+ return typeof args.slack === "string" && args.slack.trim().length > 0 ? { slack: args.slack.trim() } : {};
333
+ }
334
+ function wholeNumber(raw, flag, { min }) {
335
+ if (raw === void 0) {
336
+ return void 0;
337
+ }
338
+ const value = Number(raw);
339
+ if (!Number.isInteger(value) || value < min) {
340
+ failValidation(`${flag} must be a whole number of at least ${min}.`);
341
+ }
342
+ return value;
343
+ }
344
+ function reactionBody(args) {
345
+ const occurrences = occurrencesFromFlags(args);
346
+ const when = whenFromFlag(args.when);
347
+ const includePayload = payloadFromFlag(args.payload);
348
+ const cooldownMinutes = wholeNumber(args.cooldown, "--cooldown", { min: 0 });
349
+ const aiCondition = aiCheckFromFlag(args["ai-check"]);
350
+ return {
351
+ ...occurrences !== void 0 ? { occurrences } : {},
352
+ ...when !== void 0 ? { when } : {},
353
+ ...aiCondition !== void 0 ? { aiCondition } : {},
354
+ ...includePayload !== void 0 ? { includePayload } : {},
355
+ ...cooldownMinutes !== void 0 ? { cooldownMinutes } : {}
356
+ };
357
+ }
358
+ function occurrencesFromFlags(args) {
359
+ const times = wholeNumber(args.times, "--times", { min: 1 });
360
+ const occurrences = parseOccurrences(args.occurrences);
361
+ if (times !== void 0 && occurrences !== void 0) {
362
+ failValidation("Pass --times or --occurrences, not both \u2014 --times 3 is --occurrences 1,2,3.");
363
+ }
364
+ return times !== void 0 ? firstTimes(times) : occurrences;
365
+ }
366
+ function whenFromFlag(raw) {
367
+ if (typeof raw !== "string") {
368
+ return void 0;
369
+ }
370
+ const text = raw.trim();
371
+ if (text.length === 0 || text.toLowerCase() === "none") {
372
+ return "none";
373
+ }
374
+ const parsed = parseConditionsExpression(text);
375
+ if (!parsed.ok) {
376
+ failValidation(parsed.error);
377
+ }
378
+ return text;
379
+ }
380
+ function aiCheckFromFlag(raw) {
381
+ if (typeof raw !== "string") {
382
+ return void 0;
383
+ }
384
+ const text = raw.trim();
385
+ if (text.length === 0 || text.toLowerCase() === "none") {
386
+ return "none";
387
+ }
388
+ if (text.length > MAX_AI_CONDITION_CHARS) {
389
+ failValidation(
390
+ `--ai-check is at most ${MAX_AI_CONDITION_CHARS} characters: say the condition, not the job. The job goes in --prompt.`
391
+ );
392
+ }
393
+ return text;
394
+ }
395
+ function payloadFromFlag(raw) {
396
+ if (raw === void 0) {
397
+ return void 0;
398
+ }
399
+ if (raw !== "include" && raw !== "omit") {
400
+ failValidation("--payload must be include or omit.");
401
+ }
402
+ return raw === "include";
403
+ }
404
+ function chatBody() {
405
+ const id = getEnv().BAKER_CHAT_ID;
406
+ return id ? { chatId: id } : {};
407
+ }
408
+
409
+ export {
410
+ writeOk,
411
+ failValidation,
412
+ failApi,
413
+ AUTO_PUBLISH_ARG,
414
+ refuseAutoPublish,
415
+ isTempScheduledAgentId,
416
+ validateScheduledAgentRef,
417
+ TRIGGER_ARG_DESCRIPTION,
418
+ TRIGGER_KIND_LIST,
419
+ NARROWING_ARGS,
420
+ buildTriggerBody,
421
+ parseBooleanFlag,
422
+ REACTION_ARGS,
423
+ SLACK_ARG,
424
+ companiesArg,
425
+ companiesBody,
426
+ slackBody,
427
+ reactionBody,
428
+ chatBody
429
+ };
430
+ //# sourceMappingURL=chunk-K4IPXVVC.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). Required on session.published from a chat — to follow up on this chat's own publish, use --trigger session.settled --session this.\",\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 chatId:\n \"With --trigger session.settled (required): `this` — the chat you are in. It runs once, after this chat is published and its work is fully live: pages served, every ad, Tag Manager, Analytics and store change landed or failed. Start here for any check or report on this chat's own work after it publishes.\",\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":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBA,IAAM,8BAA8B;AACpC,IAAM,iBAAiB;AAEhB,SAAS,QAAkB,MAAU,OAAwB;AAClE,YAAU,EAAE,IAAI,MAAM,MAAO,QAAQ,MAAY,GAAI,SAAS,MAAM,SAAS,IAAI,EAAE,MAAM,IAAI,CAAC,EAAG,CAAC;AACpG;AAEO,SAAS,eAAe,SAAwB;AACrD,YAAU,EAAE,IAAI,OAAO,OAAO,EAAE,MAAM,oBAAoB,QAAQ,EAAE,CAAC;AACrE,UAAQ,KAAK,CAAC;AAChB;AAEO,SAAS,QAAQ,KAAqB;AAC3C,MAAI,eAAe,UAAU;AAC3B,cAAU,EAAE,IAAI,OAAO,OAAO,EAAE,MAAM,IAAI,MAAM,SAAS,IAAI,QAAQ,EAAE,CAAC;AACxE,YAAQ,KAAK,CAAC;AAAA,EAChB;AACA,MAAI,eAAe,OAAO;AACxB,cAAU,EAAE,IAAI,OAAO,OAAO,EAAE,MAAM,kBAAkB,SAAS,IAAI,QAAQ,EAAE,CAAC;AAChF,YAAQ,KAAK,CAAC;AAAA,EAChB;AACA,YAAU,EAAE,IAAI,OAAO,OAAO,EAAE,MAAM,kBAAkB,SAAS,mBAAmB,EAAE,CAAC;AACvF,UAAQ,KAAK,CAAC;AAChB;AAQO,IAAM,mBAAmB;AAAA,EAC9B,gBAAgB;AAAA,IACd,MAAM;AAAA,IACN,aACE;AAAA,IACF,UAAU;AAAA,EACZ;AACF;AAEO,SAAS,kBAAkB,MAAqC;AACrE,MAAI,KAAK,cAAc,MAAM,QAAW;AACtC;AAAA,EACF;AACA,YAAU;AAAA,IACR,IAAI;AAAA,IACJ,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA,MACT,KAAK;AAAA,QACH,QAAQ;AAAA,QACR,aACE;AAAA,MACJ;AAAA,IACF;AAAA,EACF,CAAC;AACD,UAAQ,KAAK,CAAC;AAChB;AAEO,SAAS,uBAAuB,IAAqB;AAC1D,SAAO,GAAG,WAAW,2BAA2B;AAClD;AAEA,SAAS,cAAc,IAAqB;AAC1C,SAAO,GAAG,WAAW,cAAc,KAAK,CAAC,uBAAuB,EAAE;AACpE;AAEO,SAAS,0BAA0B,KAAmB;AAC3D,MAAI,cAAc,GAAG,GAAG;AACtB,mBAAe,4CAA4C,2BAA2B,GAAG;AAAA,EAC3F;AACA,MAAI,CAAC,uBAAuB,GAAG,GAAG;AAChC,qBAAiB,GAAG;AAAA,EACtB;AACF;AAUO,IAAM,0BAA0B,wBAAwB,iBAAiB;AAAA,EAC9E,CAAC,OAAO,GAAG,EAAE,KAAK,cAAc,EAAE,EAAE,WAAW;AACjD,EAAE,KAAK,GAAG,CAAC;AAEJ,IAAM,oBAAoB,CAAC,GAAG,gBAAgB;AAOrD,IAAM,yBAA6D;AAAA,EACjE,WACE;AAAA,EACF,SAAS;AAAA,EACT,SACE;AAAA,EACF,UACE;AAAA,EACF,UACE;AAAA,EACF,QACE;AAAA,EACF,QACE;AAAA,EACF,MAAM;AAAA,EACN,KAAK;AAAA,EACL,cACE;AAAA,EACF,QACE;AAAA,EACF,SACE;AAAA,EACF,UACE;AAAA,EACF,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,cAAc;AAAA,EACd,WACE;AAAA,EACF,WACE;AAAA,EACF,eACE;AAAA,EACF,QACE;AAAA,EACF,YACE;AACJ;AAOO,IAAM,iBAAiB;AAAA,EAC5B,GAAI,OAAO;AAAA,IACT,yBAAyB,IAAI,CAAC,UAAU;AAAA,MACtC,sBAAsB,KAAK,EAAE;AAAA,MAC7B;AAAA,QACE,MAAM;AAAA,QACN,aAAa,GAAG,uBAAuB,KAAK,CAAC,8DAA8D,KAAK;AAAA,QAChH,UAAU;AAAA,MACZ;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA,QAAQ;AAAA,IACN,MAAM;AAAA,IACN,aACE;AAAA,IACF,UAAU;AAAA,EACZ;AACF;AAWA,SAAS,cAAc,OAAqB;AAC1C,MAAI,CAAC,MAAM,SAAS,GAAG,GAAG;AACxB,mBAAe,oDAAoD;AAAA,EACrE;AACA,QAAM,SAAS,KAAK,MAAM,KAAK;AAC/B,MAAI,CAAC,OAAO,SAAS,MAAM,GAAG;AAC5B,mBAAe,yCAAyC;AAAA,EAC1D;AACA,MAAI,UAAU,KAAK,IAAI,GAAG;AACxB;AAAA,MACE,YAAY,KAAK;AAAA,IACnB;AAAA,EACF;AACF;AAgBO,SAAS,iBACd,MACA,SACyB;AACzB,QAAM,OAAO,KAAK;AAClB,QAAM,QAAQ,KAAK,QAAQ;AAC3B,QAAM,WAAW,KAAK;AACtB,QAAM,OAAO,KAAK;AAElB,QAAM,QAAQ,CAAC,MAAM,OAAO,IAAI,EAAE,OAAO,OAAO,EAAE;AAClD,MAAI,QAAQ,GAAG;AACb,mBAAe,wDAAwD;AAAA,EACzE;AACA,6BAA2B,MAAM,MAAM,KAAK;AAC5C,MAAI,OAAO;AACT,kBAAc,KAAK;AACnB,WAAO,EAAE,OAAO,GAAI,WAAW,EAAE,SAAS,IAAI,CAAC,EAAG;AAAA,EACpD;AACA,MAAI,MAAM;AACR,WAAO,EAAE,MAAM,GAAI,WAAW,EAAE,SAAS,IAAI,CAAC,EAAG;AAAA,EACnD;AACA,MAAI,MAAM;AACR,WAAO,EAAE,SAAS,iBAAiB,MAAM,IAAI,GAAG,GAAI,WAAW,EAAE,SAAS,IAAI,CAAC,EAAG;AAAA,EACpF;AACA,MAAI,YAAY,CAAC,QAAQ,UAAU;AAEjC,WAAO,EAAE,SAAS;AAAA,EACpB;AACA,MAAI,QAAQ,UAAU;AACpB;AAAA,MACE,kGAAkG,iBAAiB,KAAK,IAAI,CAAC;AAAA,IAC/H;AAAA,EACF;AACA,SAAO;AACT;AAEA,SAAS,SAAS,MAA+B,KAAiC;AAChF,QAAM,QAAQ,KAAK,GAAG;AACtB,SAAO,OAAO,UAAU,YAAY,MAAM,KAAK,EAAE,SAAS,IAAI,MAAM,KAAK,IAAI;AAC/E;AAQA,SAAS,mBAAmB,MAAmB,MAAqC;AAClF,MAAI,SAAS,aAAa;AACxB,mBAAe,8DAA8D;AAAA,EAC/E;AACA,MAAI,SAAS,aAAa;AACxB,mBAAe,uEAAuE;AAAA,EACxF;AACA,MAAI,SAAS,wBAAwB,SAAS,MAAM,YAAY,GAAG;AACjE;AAAA,MACE;AAAA,IACF;AAAA,EACF;AACF;AAGA,SAAS,iBAAiB,MAAmB,MAAqC;AAChF,QAAM,UAAU,IAAI,IAAI,gBAAgB,IAAI,EAAE,IAAI,CAAC,WAAW,sBAAsB,OAAO,KAAK,EAAE,IAAI,CAAC;AACvG,QAAM,QAAQ,yBAAyB,IAAI,CAAC,UAAU,sBAAsB,KAAK,EAAE,IAAI,EAAE;AAAA,IACvF,CAAC,SACC,CAAC,QAAQ,IAAI,IAAI,KACjB,SAAS,MAAM,IAAI,MAAM,UACzB,EAAE,SAAS,wBAAwB,SAAS;AAAA,EAChD;AACA,MAAI,MAAM,WAAW,GAAG;AACtB;AAAA,EACF;AACA;AAAA,IACE,GAAG,MAAM,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE,EAAE,KAAK,IAAI,CAAC,oBAAoB,IAAI,KACpE,QAAQ,OAAO,IACX,0BAA0B,CAAC,GAAG,OAAO,EAAE,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE,EAAE,KAAK,IAAI,CAAC,MAC5E,4FACN;AAAA,EACF;AACF;AAGA,IAAM,kBAAkB,CAAC,GAAG,yBAAyB,IAAI,CAAC,UAAU,sBAAsB,KAAK,EAAE,IAAI,GAAG,QAAQ;AAMhH,SAAS,2BAA2B,MAA+B,MAA0B,OAAqB;AAChH,MAAI,MAAM;AACR;AAAA,EACF;AACA,QAAM,QAAQ,gBAAgB,OAAO,CAAC,SAAS,SAAS,MAAM,IAAI,MAAM,MAAS;AACjF,MAAI,MAAM,WAAW,GAAG;AACtB;AAAA,EACF;AACA,QAAM,QAAQ,MAAM,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE,EAAE,KAAK,IAAI;AACxD;AAAA,IACE,QAAQ,IACJ,GAAG,KAAK,iHAAiH,KAAK,sBAAsB,KAAK,UACzJ,GAAG,KAAK,iHAA4G,KAAK,oBAAe,KAAK;AAAA,EACnJ;AACF;AAGA,SAAS,eAAe,MAAmB,MAAwD;AACjG,QAAM,SAAS,SAAS,MAAM,QAAQ;AACtC,MAAI,CAAC,QAAQ;AACX,WAAO,CAAC;AAAA,EACV;AACA,MAAI,SAAS,aAAa;AACxB,mBAAe,qFAAqF;AAAA,EACtG;AACA,MAAI;AACJ,MAAI;AACF,aAAS,KAAK,MAAM,MAAM;AAAA,EAC5B,QAAQ;AACN,aAAS;AAAA,EACX;AACA,MAAI,OAAO,WAAW,YAAY,WAAW,QAAQ,MAAM,QAAQ,MAAM,GAAG;AAC1E,mBAAe,8DAA8D;AAAA,EAC/E;AACA,SAAO,EAAE,YAAY,OAAO;AAC9B;AAIA,SAAS,qBAAqB,WAA2B;AACvD,SAAO,UAAU,QAAQ,eAAe,OAAO;AACjD;AAEA,SAAS,iBAAiB,MAAc,MAAwD;AAC9F,MAAI,CAAC,cAAc,IAAI,GAAG;AACxB,mBAAe,6BAA6B,iBAAiB,KAAK,IAAI,CAAC,GAAG;AAAA,EAC5E;AACA,qBAAmB,MAAM,IAAI;AAC7B,mBAAiB,MAAM,IAAI;AAC3B,QAAM,aAAqC,CAAC;AAC5C,aAAW,EAAE,OAAO,SAAS,KAAK,gBAAgB,IAAI,GAAG;AACvD,UAAM,QAAQ,SAAS,MAAM,sBAAsB,KAAK,EAAE,IAAI;AAC9D,QAAI,OAAO;AACT,iBAAW,KAAK,IAAI,UAAU,cAAc,qBAAqB,KAAK,IAAI;AAAA,IAC5E,WAAW,UAAU;AACnB;AAAA,QACE,aAAa,IAAI,YAAY,sBAAsB,KAAK,EAAE,IAAI,gDAAgD,IAAI,YAAY,KAAK;AAAA,MACrI;AAAA,IACF;AAAA,EACF;AAIA,SAAO,EAAE,MAAM,GAAG,YAAY,GAAG,eAAe,MAAM,IAAI,EAAE;AAC9D;AAMO,SAAS,iBAAiB,KAAoC;AACnE,MAAI,QAAQ,QAAW;AACrB,WAAO;AAAA,EACT;AACA,MAAI,OAAO,QAAQ,UAAU;AAC3B,mBAAe,+EAA+E;AAAA,EAChG;AACA,QAAM,QAAQ,IACX,MAAM,GAAG,EACT,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,EACzB,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC;AACnC,QAAM,UAAU,MAAM,IAAI,CAAC,SAAS,OAAO,IAAI,CAAC;AAChD,MAAI,QAAQ,WAAW,KAAK,QAAQ,KAAK,CAAC,MAAM,CAAC,OAAO,UAAU,CAAC,KAAK,KAAK,CAAC,GAAG;AAC/E,mBAAe,0FAA0F;AAAA,EAC3G;AACA,SAAO;AACT;AAEO,SAAS,iBAAiB,KAAc,UAAuC;AACpF,MAAI,QAAQ,QAAW;AACrB,WAAO;AAAA,EACT;AACA,MAAI,QAAQ,QAAQ,QAAQ,QAAQ;AAClC,WAAO;AAAA,EACT;AACA,MAAI,QAAQ,SAAS,QAAQ,SAAS;AACpC,WAAO;AAAA,EACT;AACA,iBAAe,GAAG,QAAQ,yBAAyB;AACrD;AAMO,IAAM,gBAAgB;AAAA,EAC3B,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aACE;AAAA,IACF,UAAU;AAAA,EACZ;AAAA,EACA,YAAY;AAAA,IACV,MAAM;AAAA,IACN,aACE;AAAA,IACF,UAAU;AAAA,EACZ;AAAA,EACA,OAAO;AAAA,IACL,MAAM;AAAA,IACN,aACE;AAAA,IACF,UAAU;AAAA,EACZ;AAAA,EACA,SAAS;AAAA,IACP,MAAM;AAAA,IACN,aACE;AAAA,IACF,UAAU;AAAA,EACZ;AAAA,EACA,UAAU;AAAA,IACR,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACZ;AACF;AAMO,IAAM,YAAY;AAAA,EACvB,OAAO;AAAA,IACL,MAAM;AAAA,IACN,aACE;AAAA,IACF,UAAU;AAAA,EACZ;AACF;AAOO,SAAS,aACd,UAAwB,aAAa,GACqC;AAC1E,SAAO,YAAY,iBACf;AAAA,IACE,WAAW;AAAA,MACT,MAAM;AAAA,MACN,aACE;AAAA,MACF,UAAU;AAAA,IACZ;AAAA,EACF,IACA,CAAC;AACP;AAGO,SAAS,cAAc,MAAuD;AACnF,SAAO,OAAO,KAAK,cAAc,YAAY,KAAK,UAAU,KAAK,EAAE,SAAS,IACxE,EAAE,WAAW,KAAK,UAAU,KAAK,EAAE,IACnC,CAAC;AACP;AAGO,SAAS,UAAU,MAAmD;AAC3E,SAAO,OAAO,KAAK,UAAU,YAAY,KAAK,MAAM,KAAK,EAAE,SAAS,IAAI,EAAE,OAAO,KAAK,MAAM,KAAK,EAAE,IAAI,CAAC;AAC1G;AAGA,SAAS,YAAY,KAAc,MAAc,EAAE,IAAI,GAAwC;AAC7F,MAAI,QAAQ,QAAW;AACrB,WAAO;AAAA,EACT;AACA,QAAM,QAAQ,OAAO,GAAG;AACxB,MAAI,CAAC,OAAO,UAAU,KAAK,KAAK,QAAQ,KAAK;AAC3C,mBAAe,GAAG,IAAI,uCAAuC,GAAG,GAAG;AAAA,EACrE;AACA,SAAO;AACT;AAeO,SAAS,aAAa,MAA6C;AACxE,QAAM,cAAc,qBAAqB,IAAI;AAC7C,QAAM,OAAO,aAAa,KAAK,IAAI;AACnC,QAAM,iBAAiB,gBAAgB,KAAK,OAAO;AACnD,QAAM,kBAAkB,YAAY,KAAK,UAAU,cAAc,EAAE,KAAK,EAAE,CAAC;AAC3E,QAAM,cAAc,gBAAgB,KAAK,UAAU,CAAC;AACpD,SAAO;AAAA,IACL,GAAI,gBAAgB,SAAY,EAAE,YAAY,IAAI,CAAC;AAAA,IACnD,GAAI,SAAS,SAAY,EAAE,KAAK,IAAI,CAAC;AAAA,IACrC,GAAI,gBAAgB,SAAY,EAAE,YAAY,IAAI,CAAC;AAAA,IACnD,GAAI,mBAAmB,SAAY,EAAE,eAAe,IAAI,CAAC;AAAA,IACzD,GAAI,oBAAoB,SAAY,EAAE,gBAAgB,IAAI,CAAC;AAAA,EAC7D;AACF;AAEA,SAAS,qBAAqB,MAAqD;AACjF,QAAM,QAAQ,YAAY,KAAK,OAAO,WAAW,EAAE,KAAK,EAAE,CAAC;AAC3D,QAAM,cAAc,iBAAiB,KAAK,WAAW;AACrD,MAAI,UAAU,UAAa,gBAAgB,QAAW;AACpD,mBAAe,kFAA6E;AAAA,EAC9F;AACA,SAAO,UAAU,SAAY,WAAW,KAAK,IAAI;AACnD;AAEA,SAAS,aAAa,KAAkC;AACtD,MAAI,OAAO,QAAQ,UAAU;AAC3B,WAAO;AAAA,EACT;AACA,QAAM,OAAO,IAAI,KAAK;AACtB,MAAI,KAAK,WAAW,KAAK,KAAK,YAAY,MAAM,QAAQ;AACtD,WAAO;AAAA,EACT;AACA,QAAM,SAAS,0BAA0B,IAAI;AAC7C,MAAI,CAAC,OAAO,IAAI;AACd,mBAAe,OAAO,KAAK;AAAA,EAC7B;AACA,SAAO;AACT;AAEA,SAAS,gBAAgB,KAAkC;AACzD,MAAI,OAAO,QAAQ,UAAU;AAC3B,WAAO;AAAA,EACT;AACA,QAAM,OAAO,IAAI,KAAK;AACtB,MAAI,KAAK,WAAW,KAAK,KAAK,YAAY,MAAM,QAAQ;AACtD,WAAO;AAAA,EACT;AACA,MAAI,KAAK,SAAS,wBAAwB;AACxC;AAAA,MACE,yBAAyB,sBAAsB;AAAA,IACjD;AAAA,EACF;AACA,SAAO;AACT;AAEA,SAAS,gBAAgB,KAAmC;AAC1D,MAAI,QAAQ,QAAW;AACrB,WAAO;AAAA,EACT;AACA,MAAI,QAAQ,aAAa,QAAQ,QAAQ;AACvC,mBAAe,oCAAoC;AAAA,EACrD;AACA,SAAO,QAAQ;AACjB;AAOO,SAAS,WAAgC;AAC9C,QAAM,KAAK,OAAO,EAAE;AACpB,SAAO,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC;AAChC;","names":[]}
@@ -0,0 +1,89 @@
1
+ import {
2
+ readAvatars
3
+ } from "./chunk-C4EE6LIF.js";
4
+ import {
5
+ readCompanyReading
6
+ } from "./chunk-UNIJPTDU.js";
7
+ import {
8
+ apiPost
9
+ } from "./chunk-B2OHCWYB.js";
10
+
11
+ // src/commands/creatives/cast-inventory.ts
12
+ import { readdir, readFile } from "fs/promises";
13
+ import path from "path";
14
+ var short = (text, max) => text.length > max ? `${text.slice(0, max - 1).trimEnd()}\u2026` : text;
15
+ var nameKey = (name) => name.normalize("NFD").replace(new RegExp("\\p{M}", "gu"), "").toLowerCase().replace(/\b(?:inc|llc|ltd|gmbh|sl|sa|corp|co)\b\.?/g, "").replace(/[^\p{L}\p{N}]/gu, "");
16
+ function isTheCompany(employer, company) {
17
+ const key = nameKey(employer);
18
+ if (key.length < 3) return false;
19
+ return [company.name ?? "", ...company.brands ?? []].some((own) => {
20
+ const ownKey = nameKey(own);
21
+ return ownKey.length >= 3 && (key.includes(ownKey) || ownKey.includes(key));
22
+ });
23
+ }
24
+ function avatarRelation(avatar, company) {
25
+ if (avatar.relation) return avatar.relation;
26
+ if (avatar.likeness === "synthetic" && !avatar.person) return "role";
27
+ return avatar.person?.company && isTheCompany(avatar.person.company, company) ? "team" : "unknown";
28
+ }
29
+ var CASTABLE = ["team", "founder", "role"];
30
+ function avatarsOf(response, company = {}) {
31
+ return response.avatars.filter((a) => a.status === "ready").map((a) => {
32
+ const real = a.likeness === "licensed" || Boolean(a.person);
33
+ const role = [a.person?.role, a.person?.company].filter(Boolean).join(" at ");
34
+ const relation = avatarRelation(a, company);
35
+ return {
36
+ handle: a.handle,
37
+ real,
38
+ who: short(role || a.subjectDescription || a.name, 90),
39
+ relation,
40
+ castable: CASTABLE.includes(relation),
41
+ ...a.testimonialIds?.length ? { testimonialIds: a.testimonialIds } : {}
42
+ };
43
+ });
44
+ }
45
+ async function companyName(root) {
46
+ const doc = await readFile(path.join(root, "COMPANY.md"), "utf8").catch(() => "");
47
+ const title = /^#\s+(.+?)\s*$/m.exec(doc)?.[1] ?? "";
48
+ return title.replace(/[*_`]/g, "").replace(/^(?:company|empresa|compañía)\s*:\s*/i, "") || void 0;
49
+ }
50
+ async function castCompany(root) {
51
+ const [name, reading] = await Promise.all([companyName(root), readCompanyReading(root).catch(() => null)]);
52
+ return { ...name ? { name } : {}, brands: reading?.brands ?? [] };
53
+ }
54
+ function customersOf(found) {
55
+ return found.filter((t) => t.sentiment !== "negative" && (t.highlight || t.reviewText).trim()).slice(0, 3).map((t) => ({
56
+ ...t.reviewerName ? { name: t.reviewerName } : {},
57
+ words: short((t.highlight || t.reviewText).trim().replace(/\s+/g, " "), 140),
58
+ source: t.sourceType,
59
+ photo: Boolean(t.reviewerImageUrl || t.reviewerImageId || t.imageIds?.length || t.videoIds?.length)
60
+ }));
61
+ }
62
+ var LOGO_FILE = /\.(svg|png|webp|jpe?g)$/i;
63
+ async function castInventory(root, message, company) {
64
+ const own = await castCompany(root);
65
+ const [avatars, customers, logos] = await Promise.all([
66
+ readAvatars("/api/avatars", { status: "ready" }).then(
67
+ (response) => avatarsOf(response, { ...own, ...company ? { name: company } : {} }),
68
+ () => []
69
+ ),
70
+ apiPost("/api/testimonials/search", { query: message, limit: 6 }).then(
71
+ customersOf,
72
+ () => []
73
+ ),
74
+ readdir(path.join(root, "src", "brand", "logos")).then(
75
+ (files) => files.filter((f) => LOGO_FILE.test(f)).map((f) => `src/brand/logos/${f}`),
76
+ () => []
77
+ )
78
+ ]);
79
+ return { avatars, customers, logos, ...company ? { company } : {} };
80
+ }
81
+
82
+ export {
83
+ avatarRelation,
84
+ avatarsOf,
85
+ companyName,
86
+ castCompany,
87
+ castInventory
88
+ };
89
+ //# sourceMappingURL=chunk-KAUP6ONR.js.map