@koda-sl/baker-cli 0.545.0-dev.2a6beac48 → 0.546.0-dev.e8b0ca6de

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 (435) hide show
  1. package/README.md +18 -1
  2. package/dist/{account-D236Y3BP.js → account-2WTVU5VH.js} +4 -4
  3. package/dist/{account-users-A5H7FC7T.js → account-users-CK7D4AAI.js} +4 -4
  4. package/dist/{accounts-ENS2ONLA.js → accounts-3EERX6MO.js} +5 -5
  5. package/dist/{accounts-RTUSISHG.js → accounts-JWYTBGDR.js} +3 -3
  6. package/dist/{actions-3SQGXLLM.js → actions-UUNK3DO4.js} +18 -18
  7. package/dist/{activecampaign-MJ4SIVWY.js → activecampaign-URFTGK6R.js} +3 -3
  8. package/dist/{add-FJJHZDVW.js → add-2JN54LSO.js} +2 -2
  9. package/dist/{add-BH2GJZ46.js → add-4PYISQPU.js} +3 -3
  10. package/dist/{ads-WE6GT2BL.js → ads-6KIDAXHQ.js} +4 -4
  11. package/dist/{advertisers-P742OQFI.js → advertisers-K4ZLOZQ2.js} +3 -3
  12. package/dist/{analytics-XCUJSG3F.js → analytics-36JY2LHD.js} +6 -6
  13. package/dist/{analytics-ICV42S7D.js → analytics-NXXDWJU2.js} +3 -3
  14. package/dist/{assign-OQYVRXCT.js → assign-SG5JXTMD.js} +3 -3
  15. package/dist/{audience-size-NN43B7FF.js → audience-size-HOLSWGNO.js} +3 -3
  16. package/dist/{audit-JLH2TBIL.js → audit-YWT6CEY2.js} +3 -3
  17. package/dist/{autocomplete-ZQAKVB6T.js → autocomplete-KMYCOXHU.js} +3 -3
  18. package/dist/{avatars-JWCZ2KVM.js → avatars-ZGJ6RGNQ.js} +4 -4
  19. package/dist/{bid-pricing-CX3V76MC.js → bid-pricing-C2UQJWYK.js} +4 -4
  20. package/dist/{brand-NKHAO4TK.js → brand-3653YYQF.js} +2 -2
  21. package/dist/{brief-6RDPVD4A.js → brief-I537G3PB.js} +12 -12
  22. package/dist/{campaign-groups-3PVR3IXH.js → campaign-groups-A7BT67RF.js} +9 -9
  23. package/dist/{campaign-writes-TBWAZOZ2.js → campaign-writes-HASDYGTI.js} +3 -3
  24. package/dist/{campaigns-PW4XK65Y.js → campaigns-5DOTTJ47.js} +12 -12
  25. package/dist/{campaigns-RN3SPC7L.js → campaigns-FHP74WGY.js} +5 -5
  26. package/dist/{canvas-QJI65546.js → canvas-AW235KQX.js} +13 -13
  27. package/dist/{capabilities-KPQWOCTA.js → capabilities-6P674LBM.js} +3 -3
  28. package/dist/{chats-RRD42PZ5.js → chats-KU6JI7DK.js} +3 -3
  29. package/dist/{check-TPP2KZY6.js → check-W27MKVN7.js} +5 -5
  30. package/dist/{chunk-S47XHWFU.js → chunk-3S3TVLAV.js} +902 -903
  31. package/dist/chunk-3S3TVLAV.js.map +1 -0
  32. package/dist/{chunk-QJCGLIVD.js → chunk-3TN4OR43.js} +2 -2
  33. package/dist/{chunk-TGW2POU6.js → chunk-4FCSE6NG.js} +4 -5
  34. package/dist/chunk-4FCSE6NG.js.map +1 -0
  35. package/dist/{chunk-SBPUCN6H.js → chunk-4OYSP3OX.js} +5 -5
  36. package/dist/{chunk-IUWM5XHR.js → chunk-52WCKY2O.js} +2 -2
  37. package/dist/{chunk-3MZNBHC7.js → chunk-5KSLZSOH.js} +2 -2
  38. package/dist/{chunk-SOYKSA2X.js → chunk-73E4ITJK.js} +2 -2
  39. package/dist/{chunk-WJ6UJBHB.js → chunk-B5UCAVCD.js} +2 -2
  40. package/dist/{chunk-OM45JY2R.js → chunk-CVTWKHWZ.js} +3 -3
  41. package/dist/{chunk-ORLQEQDF.js → chunk-ERWMBQU2.js} +2 -2
  42. package/dist/{chunk-6UMQSHGK.js → chunk-EYLRARHT.js} +8 -8
  43. package/dist/{chunk-BLGTDKIV.js → chunk-EZVW3KAW.js} +3 -3
  44. package/dist/{chunk-ANUFRN3B.js → chunk-GAS6HBPM.js} +2 -2
  45. package/dist/{chunk-47K5MDGX.js → chunk-H24HT7W7.js} +2 -2
  46. package/dist/{chunk-KIX3ZM24.js → chunk-J6OTEZT3.js} +2 -2
  47. package/dist/{chunk-DD6IMD7G.js → chunk-JAFTWN3A.js} +2 -2
  48. package/dist/{chunk-RKT6RFOR.js → chunk-JDBZCUTY.js} +2 -2
  49. package/dist/{chunk-OKBIPYZN.js → chunk-JKRXKD54.js} +3 -3
  50. package/dist/{chunk-DD33NA2U.js → chunk-JYXERSEO.js} +2 -2
  51. package/dist/{chunk-OW2SDF66.js → chunk-LDMN6RE6.js} +3 -3
  52. package/dist/{chunk-BH3JS7EF.js → chunk-M2QBEVIH.js} +2 -2
  53. package/dist/{chunk-FGSRPKOV.js → chunk-MHMVFXTK.js} +2 -2
  54. package/dist/{chunk-VZGLL54O.js → chunk-MO3FJMU5.js} +4 -4
  55. package/dist/{chunk-BDWNJRTY.js → chunk-MONZLJWO.js} +6 -6
  56. package/dist/{chunk-EYBIZT7T.js → chunk-NL55W4HD.js} +2 -2
  57. package/dist/{chunk-7VDTLOSX.js → chunk-P6744QO6.js} +2 -2
  58. package/dist/{chunk-TTDLK73U.js → chunk-PQWT6JHT.js} +2 -2
  59. package/dist/{chunk-HGRCKRCF.js → chunk-PYEM5RGJ.js} +3 -3
  60. package/dist/{chunk-TSNL3AYG.js → chunk-PZEPUBAS.js} +5 -5
  61. package/dist/{chunk-QB334QBO.js → chunk-REFZAC6Q.js} +3 -3
  62. package/dist/{chunk-FSK77EEM.js → chunk-RLTFA2YN.js} +2 -2
  63. package/dist/{chunk-RYXGJDBK.js → chunk-RPT3EWX2.js} +2 -2
  64. package/dist/{chunk-GEQUWPAX.js → chunk-RQOSSYVH.js} +4 -1
  65. package/dist/chunk-RQOSSYVH.js.map +1 -0
  66. package/dist/{chunk-3BXD6MC6.js → chunk-SP5P2TGW.js} +2 -2
  67. package/dist/{chunk-CYKFXG4R.js → chunk-UYUH5XNV.js} +2 -2
  68. package/dist/{chunk-CXCZHEVW.js → chunk-VIHHAS2H.js} +2 -2
  69. package/dist/{chunk-7YYTE5XE.js → chunk-X4APGDHX.js} +3 -3
  70. package/dist/{chunk-TL6P7WDT.js → chunk-XBFUCGS4.js} +2 -2
  71. package/dist/{chunk-ODN2LYPJ.js → chunk-XK2ZJ6CI.js} +2 -2
  72. package/dist/{chunk-WSYZT2QI.js → chunk-XN77O7GB.js} +2 -2
  73. package/dist/{chunk-GJD43KID.js → chunk-YRALBXYF.js} +2 -2
  74. package/dist/{chunk-G2FDUCUU.js → chunk-YRTQQRNY.js} +3 -3
  75. package/dist/{chunk-WGJHVP7T.js → chunk-ZHDXKNPO.js} +3 -3
  76. package/dist/{chunk-VJKLZVAM.js → chunk-ZIC6AWWL.js} +2 -2
  77. package/dist/{claim-75KAZXLJ.js → claim-DGEZFT3W.js} +3 -3
  78. package/dist/cli.js +33 -32
  79. package/dist/cli.js.map +1 -1
  80. package/dist/{companies-IB4C245S.js → companies-NG6NTBDR.js} +3 -3
  81. package/dist/{company-5J2EGA42.js → company-46N4KFB7.js} +3 -3
  82. package/dist/{complete-7AT7QWZN.js → complete-KQPLWTSD.js} +3 -3
  83. package/dist/{connect-HKVHKX44.js → connect-OU2LJ2Z6.js} +6 -6
  84. package/dist/{conversation-5OEBGDYR.js → conversation-UMZQ7RDA.js} +3 -3
  85. package/dist/{conversions-LLVHKDOQ.js → conversions-X5LGZHA6.js} +8 -8
  86. package/dist/{create-RL3L7L2S.js → create-EQSXPFUS.js} +4 -4
  87. package/dist/{create-J3OXZGXC.js → create-IFQP7SVV.js} +3 -3
  88. package/dist/{create-2TAKPSGG.js → create-M4LMQ2RN.js} +2 -2
  89. package/dist/{create-ZVTM57AZ.js → create-U4ADI5DV.js} +3 -3
  90. package/dist/{creatives-AALLH7YU.js → creatives-3XLHWIHK.js} +12 -12
  91. package/dist/{creatives-3EAIKWGU.js → creatives-B2CQUJ3Y.js} +9 -9
  92. package/dist/{credentials-MS4NJHEG.js → credentials-KVIE4DRI.js} +3 -3
  93. package/dist/{critique-NFPZD54K.js → critique-UX2TWXXH.js} +8 -8
  94. package/dist/{critique-KLITVZA4.js → critique-Z64ZFE6F.js} +3 -3
  95. package/dist/{crm-7BAHXTK4.js → crm-67S5ZY5G.js} +4 -4
  96. package/dist/{crm-QQ7LGCLO.js → crm-NCDTODY3.js} +4 -4
  97. package/dist/{customers-NENDLH5A.js → customers-CGVQMPPT.js} +5 -5
  98. package/dist/{delete-WACZG5SD.js → delete-53RTKHBL.js} +2 -2
  99. package/dist/{delete-VOUXBXU3.js → delete-Q3DM3BTX.js} +4 -4
  100. package/dist/{delete-ZCPZ2ACI.js → delete-QGYNGZAO.js} +3 -3
  101. package/dist/{demographics-C5EL3BI6.js → demographics-5SLROVD6.js} +3 -3
  102. package/dist/{discard-RQXALYQZ.js → discard-WY37YU5P.js} +3 -3
  103. package/dist/{domain-HV2N4S3O.js → domain-2KA6VEX4.js} +3 -3
  104. package/dist/{download-OQFJOZFD.js → download-6JWNJY3B.js} +2 -2
  105. package/dist/{draft-4SZHKEAW.js → draft-BGCCVIZI.js} +4 -4
  106. package/dist/{draft-IXHBF7UK.js → draft-EJNKW4JN.js} +3 -3
  107. package/dist/{draft-SDOXYIND.js → draft-NMEKF23T.js} +3 -3
  108. package/dist/{experiments-5UC4QVZU.js → experiments-KGRE35JK.js} +4 -4
  109. package/dist/{facets-I2CY2STO.js → facets-GWV63PKA.js} +3 -3
  110. package/dist/{feedback-WGRNI4J3.js → feedback-2SOINGXM.js} +12 -12
  111. package/dist/feedback-O4RPVQ73.js +136 -0
  112. package/dist/feedback-O4RPVQ73.js.map +1 -0
  113. package/dist/{feedback-record-C6VYJQOL.js → feedback-record-6FKYOZ3P.js} +13 -13
  114. package/dist/{fetch-WS4CABQN.js → fetch-4NRSXMHY.js} +3 -3
  115. package/dist/{fit-BJH2KAKU.js → fit-OH2X3XSX.js} +5 -5
  116. package/dist/{flows-ZQ66S64A.js → flows-WXSJQ3UJ.js} +10 -10
  117. package/dist/{fonts-EKLOSPJA.js → fonts-LRN2PVYX.js} +5 -5
  118. package/dist/{forecast-KDJVAWTO.js → forecast-FVZBUIJU.js} +4 -4
  119. package/dist/{funnel-PD7EMXAX.js → funnel-X2XT3XB5.js} +4 -4
  120. package/dist/{get-IMZPHROU.js → get-AP3WGMDU.js} +3 -3
  121. package/dist/{get-PIYAY4MD.js → get-NR34JBHK.js} +4 -4
  122. package/dist/{google-ads-VG2ZQBAP.js → google-ads-HLFROWL7.js} +3 -3
  123. package/dist/{history-4LN2MMCY.js → history-IMHDQLXW.js} +4 -4
  124. package/dist/{history-SECNIWQQ.js → history-VIPGJT7Z.js} +3 -3
  125. package/dist/{hubspot-HW3DMFB2.js → hubspot-UZ4F5ANA.js} +7 -7
  126. package/dist/{ideas-CIFADAYV.js → ideas-MU6I7DBD.js} +4 -4
  127. package/dist/{images-KV7UJMNO.js → images-236N2YSJ.js} +4 -4
  128. package/dist/{ingest-OG3RUM2Z.js → ingest-3DVD25B6.js} +3 -3
  129. package/dist/{ingest-3DW2YGCB.js → ingest-XELCXH2P.js} +2 -2
  130. package/dist/{inspect-YJGFTVGT.js → inspect-DZUGQK5Y.js} +3 -3
  131. package/dist/{keyword-metrics-I7OIBLCO.js → keyword-metrics-R6EWGKGO.js} +3 -3
  132. package/dist/{keywords-for-site-DIIUKEVJ.js → keywords-for-site-LU3LF65F.js} +3 -3
  133. package/dist/{landing-FFAMZ3CD.js → landing-FZ7SSEP6.js} +2 -2
  134. package/dist/{leads-WSK4N2I6.js → leads-B2YSVBOA.js} +3 -3
  135. package/dist/{learn-A4LSAKRL.js → learn-FVQA7RG4.js} +4 -4
  136. package/dist/{line-item-writes-Q47ZVHB6.js → line-item-writes-UXJ3JVFY.js} +3 -3
  137. package/dist/{line-items-MHIXPRTG.js → line-items-FOVTA5LD.js} +5 -5
  138. package/dist/{link-6FVFHGP4.js → link-UPXHMS2Q.js} +3 -3
  139. package/dist/{linkedin-ATHYXJ4Q.js → linkedin-75HES7MX.js} +29 -29
  140. package/dist/{linkedin-person-3MFAKS2Y.js → linkedin-person-V6CK4IYG.js} +3 -3
  141. package/dist/{list-7RNRZN4W.js → list-23P4WTBN.js} +2 -2
  142. package/dist/{list-BDGTMCFP.js → list-MALIT3TA.js} +3 -3
  143. package/dist/{list-MPZF6NTD.js → list-WMF25FUC.js} +4 -4
  144. package/dist/{log-MBPVGWLX.js → log-I7FAVIQA.js} +3 -3
  145. package/dist/{make-DYFGYGMD.js → make-YHE4Y2CK.js} +15 -15
  146. package/dist/{map-UUHQJSSU.js → map-3H6JFF3K.js} +4 -4
  147. package/dist/{mcp-BH5MXQMJ.js → mcp-KTR7IPSP.js} +2 -2
  148. package/dist/{media-sources-4BJOODBR.js → media-sources-XADH7UR6.js} +2 -2
  149. package/dist/{members-PK2AXSE4.js → members-4I3TSPZD.js} +3 -3
  150. package/dist/{normalize-36K2VJMB.js → normalize-GEBDT74P.js} +3 -3
  151. package/dist/{options-7BEM4Z5E.js → options-4DJFAVSV.js} +6 -6
  152. package/dist/{organization-RSFFVT2M.js → organization-SBFGCUZJ.js} +3 -3
  153. package/dist/{performance-PVZ5V6YL.js → performance-BHDYL4JE.js} +3 -3
  154. package/dist/{performance-4L2AFM4A.js → performance-ZNVGH4BL.js} +4 -4
  155. package/dist/{promoted-tweet-writes-UW2VRBZ2.js → promoted-tweet-writes-OQM7SURA.js} +3 -3
  156. package/dist/{promoted-tweets-MJEZFPLW.js → promoted-tweets-BCKQ4D3D.js} +3 -3
  157. package/dist/{publish-XNYDOQ7I.js → publish-ZCWQZ5EO.js} +3 -3
  158. package/dist/{reddit-NLC55XYL.js → reddit-NUPXPOG3.js} +4 -4
  159. package/dist/{refresh-5EGKQGJI.js → refresh-5KSQVA3V.js} +2 -2
  160. package/dist/{release-RDNXS362.js → release-QIBDWPNL.js} +3 -3
  161. package/dist/{remove-OVN7XALF.js → remove-IM3WF5RS.js} +2 -2
  162. package/dist/{reopen-ODW3ZUEG.js → reopen-DK3SFSWS.js} +3 -3
  163. package/dist/{rerun-3MTIAJUZ.js → rerun-7OOJRRZE.js} +14 -14
  164. package/dist/{research-63ISQ74U.js → research-KNLA55TJ.js} +13 -13
  165. package/dist/{research-RKFSB7OH.js → research-R3JAZRD4.js} +2 -2
  166. package/dist/{reset-EZSCJXPC.js → reset-JRKJKUZL.js} +2 -2
  167. package/dist/{reset-GUJSHPHR.js → reset-WQAJPREG.js} +2 -2
  168. package/dist/{resolve-BTM6MDOY.js → resolve-LCZXCACJ.js} +3 -3
  169. package/dist/{retry-6BXQONQ3.js → retry-64YJR4ZS.js} +2 -2
  170. package/dist/{retry-OL2W3HFH.js → retry-BPDA54WP.js} +2 -2
  171. package/dist/{revenue-P26LJFEF.js → revenue-WNMRTD6P.js} +4 -4
  172. package/dist/{rules-MN5CBYLN.js → rules-N2YPNUM5.js} +5 -5
  173. package/dist/{rules-add-YPD466NS.js → rules-add-BS577EEB.js} +5 -5
  174. package/dist/{run-WTN5QQ2P.js → run-BNZFJ2YU.js} +14 -14
  175. package/dist/{run-PEHYPLDQ.js → run-OPSLEKBZ.js} +4 -4
  176. package/dist/{scaffold-ad-ZHZUX4Q6.js → scaffold-ad-PREXRCXY.js} +10 -10
  177. package/dist/{scaffold-static-ad-SHGWFBBO.js → scaffold-static-ad-KK4QOBO7.js} +18 -18
  178. package/dist/{scaffold-video-VENWOP75.js → scaffold-video-KLBPRMAV.js} +9 -9
  179. package/dist/{schedule-637C6MY3.js → schedule-BODZ6DED.js} +2 -2
  180. package/dist/{scheduled-agents-ZUM6UUF2.js → scheduled-agents-GZEB2B25.js} +11 -11
  181. package/dist/{schema-NEL6O4O2.js → schema-I54DIUTV.js} +4 -4
  182. package/dist/{schema-NSXMRNWM.js → schema-U6GAKTQZ.js} +2 -2
  183. package/dist/{search-36RRNTF6.js → search-IJ745GV3.js} +2 -2
  184. package/dist/{select-INJUT4PU.js → select-WZJCQW4A.js} +11 -11
  185. package/dist/{set-prompt-X3DCUAGP.js → set-prompt-SUJW4F5J.js} +8 -8
  186. package/dist/{setup-links-UG7S553A.js → setup-links-UVGNFNGP.js} +3 -3
  187. package/dist/{shopify-WLXZHJII.js → shopify-BR27STCS.js} +3 -3
  188. package/dist/{site-YCSCW42E.js → site-ZRD4H65V.js} +4 -4
  189. package/dist/{sources-HP3PRSU6.js → sources-4FWNXBBR.js} +6 -6
  190. package/dist/{sources-TQKN3HD7.js → sources-E3QDROKM.js} +6 -6
  191. package/dist/{stale-KKBZ5FJX.js → stale-TPM2XQKT.js} +10 -10
  192. package/dist/{status-2HQBV7WL.js → status-QEVQKFFP.js} +3 -3
  193. package/dist/{sync-QVPBBQAW.js → sync-GOVV6G45.js} +2 -2
  194. package/dist/{sync-definition-YQJTCJJC.js → sync-definition-OSSIAZ23.js} +9 -9
  195. package/dist/{tags-TCGLKPB5.js → tags-BXTCJCOH.js} +2 -2
  196. package/dist/{tags-4VQS3QAK.js → tags-H6ZDU6MK.js} +3 -3
  197. package/dist/{tags-VJS37ZWW.js → tags-Q6Q5FRVL.js} +4 -4
  198. package/dist/{tags-YQVXWGWX.js → tags-YJ3UVNGP.js} +3 -3
  199. package/dist/{tags-UUDTBJ6U.js → tags-YJI3QOBK.js} +3 -3
  200. package/dist/{targeting-criteria-3EXFTUMR.js → targeting-criteria-667LEXSS.js} +3 -3
  201. package/dist/{targets-H7TVQ47T.js → targets-AOE2FDDM.js} +4 -4
  202. package/dist/{testimonials-NOLI2BVV.js → testimonials-IOBXKEMA.js} +6 -6
  203. package/dist/{top-companies-2KMUKTCC.js → top-companies-AUXG5OY5.js} +3 -3
  204. package/dist/{transcript-HJH2YNGC.js → transcript-D7ZS3X6S.js} +3 -3
  205. package/dist/{translate-X7TMHL22.js → translate-BQCLUORU.js} +13 -13
  206. package/dist/{triggers-7HRFXKFZ.js → triggers-QBG5VN5O.js} +4 -4
  207. package/dist/{unlink-G5KUMOL4.js → unlink-5KKAJJM6.js} +3 -3
  208. package/dist/{unstage-WYJY5HKG.js → unstage-EU6YHHDA.js} +4 -4
  209. package/dist/{update-T6COJ6BO.js → update-JJG7R6QN.js} +2 -2
  210. package/dist/{update-GJ425R5V.js → update-OLQGUBNH.js} +3 -3
  211. package/dist/{update-WKS5QUFB.js → update-RROGL7SO.js} +3 -3
  212. package/dist/{update-THOWGBFC.js → update-RW5T53RB.js} +4 -4
  213. package/dist/{upload-35QHU7B4.js → upload-4JN4BPY2.js} +3 -3
  214. package/dist/{url-params-3JU5W2AS.js → url-params-3GCYLRDI.js} +3 -3
  215. package/dist/{validate-XQD5H6MU.js → validate-YBD2PIZE.js} +11 -11
  216. package/dist/{videos-JBJP3CZD.js → videos-OMPPGIYZ.js} +6 -6
  217. package/dist/{viewer-check-ACRU6HY3.js → viewer-check-TCX6PFO4.js} +6 -6
  218. package/dist/{web-NRG6WKRV.js → web-QGNS3YPN.js} +3 -3
  219. package/dist/{winning-ads-ZKVXCS2L.js → winning-ads-LY4NV5O3.js} +3 -3
  220. package/dist/{write-commands-ECCJLDLG.js → write-commands-OLTCXPPW.js} +4 -4
  221. package/dist/{x-M3LIA6SI.js → x-VBSKVDIX.js} +6 -6
  222. package/package.json +1 -1
  223. package/dist/chunk-GEQUWPAX.js.map +0 -1
  224. package/dist/chunk-S47XHWFU.js.map +0 -1
  225. package/dist/chunk-TGW2POU6.js.map +0 -1
  226. /package/dist/{account-D236Y3BP.js.map → account-2WTVU5VH.js.map} +0 -0
  227. /package/dist/{account-users-A5H7FC7T.js.map → account-users-CK7D4AAI.js.map} +0 -0
  228. /package/dist/{accounts-ENS2ONLA.js.map → accounts-3EERX6MO.js.map} +0 -0
  229. /package/dist/{accounts-RTUSISHG.js.map → accounts-JWYTBGDR.js.map} +0 -0
  230. /package/dist/{actions-3SQGXLLM.js.map → actions-UUNK3DO4.js.map} +0 -0
  231. /package/dist/{activecampaign-MJ4SIVWY.js.map → activecampaign-URFTGK6R.js.map} +0 -0
  232. /package/dist/{add-FJJHZDVW.js.map → add-2JN54LSO.js.map} +0 -0
  233. /package/dist/{add-BH2GJZ46.js.map → add-4PYISQPU.js.map} +0 -0
  234. /package/dist/{ads-WE6GT2BL.js.map → ads-6KIDAXHQ.js.map} +0 -0
  235. /package/dist/{advertisers-P742OQFI.js.map → advertisers-K4ZLOZQ2.js.map} +0 -0
  236. /package/dist/{analytics-XCUJSG3F.js.map → analytics-36JY2LHD.js.map} +0 -0
  237. /package/dist/{analytics-ICV42S7D.js.map → analytics-NXXDWJU2.js.map} +0 -0
  238. /package/dist/{assign-OQYVRXCT.js.map → assign-SG5JXTMD.js.map} +0 -0
  239. /package/dist/{audience-size-NN43B7FF.js.map → audience-size-HOLSWGNO.js.map} +0 -0
  240. /package/dist/{audit-JLH2TBIL.js.map → audit-YWT6CEY2.js.map} +0 -0
  241. /package/dist/{autocomplete-ZQAKVB6T.js.map → autocomplete-KMYCOXHU.js.map} +0 -0
  242. /package/dist/{avatars-JWCZ2KVM.js.map → avatars-ZGJ6RGNQ.js.map} +0 -0
  243. /package/dist/{bid-pricing-CX3V76MC.js.map → bid-pricing-C2UQJWYK.js.map} +0 -0
  244. /package/dist/{brand-NKHAO4TK.js.map → brand-3653YYQF.js.map} +0 -0
  245. /package/dist/{brief-6RDPVD4A.js.map → brief-I537G3PB.js.map} +0 -0
  246. /package/dist/{campaign-groups-3PVR3IXH.js.map → campaign-groups-A7BT67RF.js.map} +0 -0
  247. /package/dist/{campaign-writes-TBWAZOZ2.js.map → campaign-writes-HASDYGTI.js.map} +0 -0
  248. /package/dist/{campaigns-PW4XK65Y.js.map → campaigns-5DOTTJ47.js.map} +0 -0
  249. /package/dist/{campaigns-RN3SPC7L.js.map → campaigns-FHP74WGY.js.map} +0 -0
  250. /package/dist/{canvas-QJI65546.js.map → canvas-AW235KQX.js.map} +0 -0
  251. /package/dist/{capabilities-KPQWOCTA.js.map → capabilities-6P674LBM.js.map} +0 -0
  252. /package/dist/{chats-RRD42PZ5.js.map → chats-KU6JI7DK.js.map} +0 -0
  253. /package/dist/{check-TPP2KZY6.js.map → check-W27MKVN7.js.map} +0 -0
  254. /package/dist/{chunk-QJCGLIVD.js.map → chunk-3TN4OR43.js.map} +0 -0
  255. /package/dist/{chunk-SBPUCN6H.js.map → chunk-4OYSP3OX.js.map} +0 -0
  256. /package/dist/{chunk-IUWM5XHR.js.map → chunk-52WCKY2O.js.map} +0 -0
  257. /package/dist/{chunk-3MZNBHC7.js.map → chunk-5KSLZSOH.js.map} +0 -0
  258. /package/dist/{chunk-SOYKSA2X.js.map → chunk-73E4ITJK.js.map} +0 -0
  259. /package/dist/{chunk-WJ6UJBHB.js.map → chunk-B5UCAVCD.js.map} +0 -0
  260. /package/dist/{chunk-OM45JY2R.js.map → chunk-CVTWKHWZ.js.map} +0 -0
  261. /package/dist/{chunk-ORLQEQDF.js.map → chunk-ERWMBQU2.js.map} +0 -0
  262. /package/dist/{chunk-6UMQSHGK.js.map → chunk-EYLRARHT.js.map} +0 -0
  263. /package/dist/{chunk-BLGTDKIV.js.map → chunk-EZVW3KAW.js.map} +0 -0
  264. /package/dist/{chunk-ANUFRN3B.js.map → chunk-GAS6HBPM.js.map} +0 -0
  265. /package/dist/{chunk-47K5MDGX.js.map → chunk-H24HT7W7.js.map} +0 -0
  266. /package/dist/{chunk-KIX3ZM24.js.map → chunk-J6OTEZT3.js.map} +0 -0
  267. /package/dist/{chunk-DD6IMD7G.js.map → chunk-JAFTWN3A.js.map} +0 -0
  268. /package/dist/{chunk-RKT6RFOR.js.map → chunk-JDBZCUTY.js.map} +0 -0
  269. /package/dist/{chunk-OKBIPYZN.js.map → chunk-JKRXKD54.js.map} +0 -0
  270. /package/dist/{chunk-DD33NA2U.js.map → chunk-JYXERSEO.js.map} +0 -0
  271. /package/dist/{chunk-OW2SDF66.js.map → chunk-LDMN6RE6.js.map} +0 -0
  272. /package/dist/{chunk-BH3JS7EF.js.map → chunk-M2QBEVIH.js.map} +0 -0
  273. /package/dist/{chunk-FGSRPKOV.js.map → chunk-MHMVFXTK.js.map} +0 -0
  274. /package/dist/{chunk-VZGLL54O.js.map → chunk-MO3FJMU5.js.map} +0 -0
  275. /package/dist/{chunk-BDWNJRTY.js.map → chunk-MONZLJWO.js.map} +0 -0
  276. /package/dist/{chunk-EYBIZT7T.js.map → chunk-NL55W4HD.js.map} +0 -0
  277. /package/dist/{chunk-7VDTLOSX.js.map → chunk-P6744QO6.js.map} +0 -0
  278. /package/dist/{chunk-TTDLK73U.js.map → chunk-PQWT6JHT.js.map} +0 -0
  279. /package/dist/{chunk-HGRCKRCF.js.map → chunk-PYEM5RGJ.js.map} +0 -0
  280. /package/dist/{chunk-TSNL3AYG.js.map → chunk-PZEPUBAS.js.map} +0 -0
  281. /package/dist/{chunk-QB334QBO.js.map → chunk-REFZAC6Q.js.map} +0 -0
  282. /package/dist/{chunk-FSK77EEM.js.map → chunk-RLTFA2YN.js.map} +0 -0
  283. /package/dist/{chunk-RYXGJDBK.js.map → chunk-RPT3EWX2.js.map} +0 -0
  284. /package/dist/{chunk-3BXD6MC6.js.map → chunk-SP5P2TGW.js.map} +0 -0
  285. /package/dist/{chunk-CYKFXG4R.js.map → chunk-UYUH5XNV.js.map} +0 -0
  286. /package/dist/{chunk-CXCZHEVW.js.map → chunk-VIHHAS2H.js.map} +0 -0
  287. /package/dist/{chunk-7YYTE5XE.js.map → chunk-X4APGDHX.js.map} +0 -0
  288. /package/dist/{chunk-TL6P7WDT.js.map → chunk-XBFUCGS4.js.map} +0 -0
  289. /package/dist/{chunk-ODN2LYPJ.js.map → chunk-XK2ZJ6CI.js.map} +0 -0
  290. /package/dist/{chunk-WSYZT2QI.js.map → chunk-XN77O7GB.js.map} +0 -0
  291. /package/dist/{chunk-GJD43KID.js.map → chunk-YRALBXYF.js.map} +0 -0
  292. /package/dist/{chunk-G2FDUCUU.js.map → chunk-YRTQQRNY.js.map} +0 -0
  293. /package/dist/{chunk-WGJHVP7T.js.map → chunk-ZHDXKNPO.js.map} +0 -0
  294. /package/dist/{chunk-VJKLZVAM.js.map → chunk-ZIC6AWWL.js.map} +0 -0
  295. /package/dist/{claim-75KAZXLJ.js.map → claim-DGEZFT3W.js.map} +0 -0
  296. /package/dist/{companies-IB4C245S.js.map → companies-NG6NTBDR.js.map} +0 -0
  297. /package/dist/{company-5J2EGA42.js.map → company-46N4KFB7.js.map} +0 -0
  298. /package/dist/{complete-7AT7QWZN.js.map → complete-KQPLWTSD.js.map} +0 -0
  299. /package/dist/{connect-HKVHKX44.js.map → connect-OU2LJ2Z6.js.map} +0 -0
  300. /package/dist/{conversation-5OEBGDYR.js.map → conversation-UMZQ7RDA.js.map} +0 -0
  301. /package/dist/{conversions-LLVHKDOQ.js.map → conversions-X5LGZHA6.js.map} +0 -0
  302. /package/dist/{create-RL3L7L2S.js.map → create-EQSXPFUS.js.map} +0 -0
  303. /package/dist/{create-J3OXZGXC.js.map → create-IFQP7SVV.js.map} +0 -0
  304. /package/dist/{create-2TAKPSGG.js.map → create-M4LMQ2RN.js.map} +0 -0
  305. /package/dist/{create-ZVTM57AZ.js.map → create-U4ADI5DV.js.map} +0 -0
  306. /package/dist/{creatives-AALLH7YU.js.map → creatives-3XLHWIHK.js.map} +0 -0
  307. /package/dist/{creatives-3EAIKWGU.js.map → creatives-B2CQUJ3Y.js.map} +0 -0
  308. /package/dist/{credentials-MS4NJHEG.js.map → credentials-KVIE4DRI.js.map} +0 -0
  309. /package/dist/{critique-NFPZD54K.js.map → critique-UX2TWXXH.js.map} +0 -0
  310. /package/dist/{critique-KLITVZA4.js.map → critique-Z64ZFE6F.js.map} +0 -0
  311. /package/dist/{crm-7BAHXTK4.js.map → crm-67S5ZY5G.js.map} +0 -0
  312. /package/dist/{crm-QQ7LGCLO.js.map → crm-NCDTODY3.js.map} +0 -0
  313. /package/dist/{customers-NENDLH5A.js.map → customers-CGVQMPPT.js.map} +0 -0
  314. /package/dist/{delete-WACZG5SD.js.map → delete-53RTKHBL.js.map} +0 -0
  315. /package/dist/{delete-VOUXBXU3.js.map → delete-Q3DM3BTX.js.map} +0 -0
  316. /package/dist/{delete-ZCPZ2ACI.js.map → delete-QGYNGZAO.js.map} +0 -0
  317. /package/dist/{demographics-C5EL3BI6.js.map → demographics-5SLROVD6.js.map} +0 -0
  318. /package/dist/{discard-RQXALYQZ.js.map → discard-WY37YU5P.js.map} +0 -0
  319. /package/dist/{domain-HV2N4S3O.js.map → domain-2KA6VEX4.js.map} +0 -0
  320. /package/dist/{download-OQFJOZFD.js.map → download-6JWNJY3B.js.map} +0 -0
  321. /package/dist/{draft-4SZHKEAW.js.map → draft-BGCCVIZI.js.map} +0 -0
  322. /package/dist/{draft-IXHBF7UK.js.map → draft-EJNKW4JN.js.map} +0 -0
  323. /package/dist/{draft-SDOXYIND.js.map → draft-NMEKF23T.js.map} +0 -0
  324. /package/dist/{experiments-5UC4QVZU.js.map → experiments-KGRE35JK.js.map} +0 -0
  325. /package/dist/{facets-I2CY2STO.js.map → facets-GWV63PKA.js.map} +0 -0
  326. /package/dist/{feedback-WGRNI4J3.js.map → feedback-2SOINGXM.js.map} +0 -0
  327. /package/dist/{feedback-record-C6VYJQOL.js.map → feedback-record-6FKYOZ3P.js.map} +0 -0
  328. /package/dist/{fetch-WS4CABQN.js.map → fetch-4NRSXMHY.js.map} +0 -0
  329. /package/dist/{fit-BJH2KAKU.js.map → fit-OH2X3XSX.js.map} +0 -0
  330. /package/dist/{flows-ZQ66S64A.js.map → flows-WXSJQ3UJ.js.map} +0 -0
  331. /package/dist/{fonts-EKLOSPJA.js.map → fonts-LRN2PVYX.js.map} +0 -0
  332. /package/dist/{forecast-KDJVAWTO.js.map → forecast-FVZBUIJU.js.map} +0 -0
  333. /package/dist/{funnel-PD7EMXAX.js.map → funnel-X2XT3XB5.js.map} +0 -0
  334. /package/dist/{get-IMZPHROU.js.map → get-AP3WGMDU.js.map} +0 -0
  335. /package/dist/{get-PIYAY4MD.js.map → get-NR34JBHK.js.map} +0 -0
  336. /package/dist/{google-ads-VG2ZQBAP.js.map → google-ads-HLFROWL7.js.map} +0 -0
  337. /package/dist/{history-4LN2MMCY.js.map → history-IMHDQLXW.js.map} +0 -0
  338. /package/dist/{history-SECNIWQQ.js.map → history-VIPGJT7Z.js.map} +0 -0
  339. /package/dist/{hubspot-HW3DMFB2.js.map → hubspot-UZ4F5ANA.js.map} +0 -0
  340. /package/dist/{ideas-CIFADAYV.js.map → ideas-MU6I7DBD.js.map} +0 -0
  341. /package/dist/{images-KV7UJMNO.js.map → images-236N2YSJ.js.map} +0 -0
  342. /package/dist/{ingest-OG3RUM2Z.js.map → ingest-3DVD25B6.js.map} +0 -0
  343. /package/dist/{ingest-3DW2YGCB.js.map → ingest-XELCXH2P.js.map} +0 -0
  344. /package/dist/{inspect-YJGFTVGT.js.map → inspect-DZUGQK5Y.js.map} +0 -0
  345. /package/dist/{keyword-metrics-I7OIBLCO.js.map → keyword-metrics-R6EWGKGO.js.map} +0 -0
  346. /package/dist/{keywords-for-site-DIIUKEVJ.js.map → keywords-for-site-LU3LF65F.js.map} +0 -0
  347. /package/dist/{landing-FFAMZ3CD.js.map → landing-FZ7SSEP6.js.map} +0 -0
  348. /package/dist/{leads-WSK4N2I6.js.map → leads-B2YSVBOA.js.map} +0 -0
  349. /package/dist/{learn-A4LSAKRL.js.map → learn-FVQA7RG4.js.map} +0 -0
  350. /package/dist/{line-item-writes-Q47ZVHB6.js.map → line-item-writes-UXJ3JVFY.js.map} +0 -0
  351. /package/dist/{line-items-MHIXPRTG.js.map → line-items-FOVTA5LD.js.map} +0 -0
  352. /package/dist/{link-6FVFHGP4.js.map → link-UPXHMS2Q.js.map} +0 -0
  353. /package/dist/{linkedin-ATHYXJ4Q.js.map → linkedin-75HES7MX.js.map} +0 -0
  354. /package/dist/{linkedin-person-3MFAKS2Y.js.map → linkedin-person-V6CK4IYG.js.map} +0 -0
  355. /package/dist/{list-7RNRZN4W.js.map → list-23P4WTBN.js.map} +0 -0
  356. /package/dist/{list-BDGTMCFP.js.map → list-MALIT3TA.js.map} +0 -0
  357. /package/dist/{list-MPZF6NTD.js.map → list-WMF25FUC.js.map} +0 -0
  358. /package/dist/{log-MBPVGWLX.js.map → log-I7FAVIQA.js.map} +0 -0
  359. /package/dist/{make-DYFGYGMD.js.map → make-YHE4Y2CK.js.map} +0 -0
  360. /package/dist/{map-UUHQJSSU.js.map → map-3H6JFF3K.js.map} +0 -0
  361. /package/dist/{mcp-BH5MXQMJ.js.map → mcp-KTR7IPSP.js.map} +0 -0
  362. /package/dist/{media-sources-4BJOODBR.js.map → media-sources-XADH7UR6.js.map} +0 -0
  363. /package/dist/{members-PK2AXSE4.js.map → members-4I3TSPZD.js.map} +0 -0
  364. /package/dist/{normalize-36K2VJMB.js.map → normalize-GEBDT74P.js.map} +0 -0
  365. /package/dist/{options-7BEM4Z5E.js.map → options-4DJFAVSV.js.map} +0 -0
  366. /package/dist/{organization-RSFFVT2M.js.map → organization-SBFGCUZJ.js.map} +0 -0
  367. /package/dist/{performance-PVZ5V6YL.js.map → performance-BHDYL4JE.js.map} +0 -0
  368. /package/dist/{performance-4L2AFM4A.js.map → performance-ZNVGH4BL.js.map} +0 -0
  369. /package/dist/{promoted-tweet-writes-UW2VRBZ2.js.map → promoted-tweet-writes-OQM7SURA.js.map} +0 -0
  370. /package/dist/{promoted-tweets-MJEZFPLW.js.map → promoted-tweets-BCKQ4D3D.js.map} +0 -0
  371. /package/dist/{publish-XNYDOQ7I.js.map → publish-ZCWQZ5EO.js.map} +0 -0
  372. /package/dist/{reddit-NLC55XYL.js.map → reddit-NUPXPOG3.js.map} +0 -0
  373. /package/dist/{refresh-5EGKQGJI.js.map → refresh-5KSQVA3V.js.map} +0 -0
  374. /package/dist/{release-RDNXS362.js.map → release-QIBDWPNL.js.map} +0 -0
  375. /package/dist/{remove-OVN7XALF.js.map → remove-IM3WF5RS.js.map} +0 -0
  376. /package/dist/{reopen-ODW3ZUEG.js.map → reopen-DK3SFSWS.js.map} +0 -0
  377. /package/dist/{rerun-3MTIAJUZ.js.map → rerun-7OOJRRZE.js.map} +0 -0
  378. /package/dist/{research-63ISQ74U.js.map → research-KNLA55TJ.js.map} +0 -0
  379. /package/dist/{research-RKFSB7OH.js.map → research-R3JAZRD4.js.map} +0 -0
  380. /package/dist/{reset-EZSCJXPC.js.map → reset-JRKJKUZL.js.map} +0 -0
  381. /package/dist/{reset-GUJSHPHR.js.map → reset-WQAJPREG.js.map} +0 -0
  382. /package/dist/{resolve-BTM6MDOY.js.map → resolve-LCZXCACJ.js.map} +0 -0
  383. /package/dist/{retry-6BXQONQ3.js.map → retry-64YJR4ZS.js.map} +0 -0
  384. /package/dist/{retry-OL2W3HFH.js.map → retry-BPDA54WP.js.map} +0 -0
  385. /package/dist/{revenue-P26LJFEF.js.map → revenue-WNMRTD6P.js.map} +0 -0
  386. /package/dist/{rules-MN5CBYLN.js.map → rules-N2YPNUM5.js.map} +0 -0
  387. /package/dist/{rules-add-YPD466NS.js.map → rules-add-BS577EEB.js.map} +0 -0
  388. /package/dist/{run-WTN5QQ2P.js.map → run-BNZFJ2YU.js.map} +0 -0
  389. /package/dist/{run-PEHYPLDQ.js.map → run-OPSLEKBZ.js.map} +0 -0
  390. /package/dist/{scaffold-ad-ZHZUX4Q6.js.map → scaffold-ad-PREXRCXY.js.map} +0 -0
  391. /package/dist/{scaffold-static-ad-SHGWFBBO.js.map → scaffold-static-ad-KK4QOBO7.js.map} +0 -0
  392. /package/dist/{scaffold-video-VENWOP75.js.map → scaffold-video-KLBPRMAV.js.map} +0 -0
  393. /package/dist/{schedule-637C6MY3.js.map → schedule-BODZ6DED.js.map} +0 -0
  394. /package/dist/{scheduled-agents-ZUM6UUF2.js.map → scheduled-agents-GZEB2B25.js.map} +0 -0
  395. /package/dist/{schema-NEL6O4O2.js.map → schema-I54DIUTV.js.map} +0 -0
  396. /package/dist/{schema-NSXMRNWM.js.map → schema-U6GAKTQZ.js.map} +0 -0
  397. /package/dist/{search-36RRNTF6.js.map → search-IJ745GV3.js.map} +0 -0
  398. /package/dist/{select-INJUT4PU.js.map → select-WZJCQW4A.js.map} +0 -0
  399. /package/dist/{set-prompt-X3DCUAGP.js.map → set-prompt-SUJW4F5J.js.map} +0 -0
  400. /package/dist/{setup-links-UG7S553A.js.map → setup-links-UVGNFNGP.js.map} +0 -0
  401. /package/dist/{shopify-WLXZHJII.js.map → shopify-BR27STCS.js.map} +0 -0
  402. /package/dist/{site-YCSCW42E.js.map → site-ZRD4H65V.js.map} +0 -0
  403. /package/dist/{sources-HP3PRSU6.js.map → sources-4FWNXBBR.js.map} +0 -0
  404. /package/dist/{sources-TQKN3HD7.js.map → sources-E3QDROKM.js.map} +0 -0
  405. /package/dist/{stale-KKBZ5FJX.js.map → stale-TPM2XQKT.js.map} +0 -0
  406. /package/dist/{status-2HQBV7WL.js.map → status-QEVQKFFP.js.map} +0 -0
  407. /package/dist/{sync-QVPBBQAW.js.map → sync-GOVV6G45.js.map} +0 -0
  408. /package/dist/{sync-definition-YQJTCJJC.js.map → sync-definition-OSSIAZ23.js.map} +0 -0
  409. /package/dist/{tags-TCGLKPB5.js.map → tags-BXTCJCOH.js.map} +0 -0
  410. /package/dist/{tags-4VQS3QAK.js.map → tags-H6ZDU6MK.js.map} +0 -0
  411. /package/dist/{tags-VJS37ZWW.js.map → tags-Q6Q5FRVL.js.map} +0 -0
  412. /package/dist/{tags-YQVXWGWX.js.map → tags-YJ3UVNGP.js.map} +0 -0
  413. /package/dist/{tags-UUDTBJ6U.js.map → tags-YJI3QOBK.js.map} +0 -0
  414. /package/dist/{targeting-criteria-3EXFTUMR.js.map → targeting-criteria-667LEXSS.js.map} +0 -0
  415. /package/dist/{targets-H7TVQ47T.js.map → targets-AOE2FDDM.js.map} +0 -0
  416. /package/dist/{testimonials-NOLI2BVV.js.map → testimonials-IOBXKEMA.js.map} +0 -0
  417. /package/dist/{top-companies-2KMUKTCC.js.map → top-companies-AUXG5OY5.js.map} +0 -0
  418. /package/dist/{transcript-HJH2YNGC.js.map → transcript-D7ZS3X6S.js.map} +0 -0
  419. /package/dist/{translate-X7TMHL22.js.map → translate-BQCLUORU.js.map} +0 -0
  420. /package/dist/{triggers-7HRFXKFZ.js.map → triggers-QBG5VN5O.js.map} +0 -0
  421. /package/dist/{unlink-G5KUMOL4.js.map → unlink-5KKAJJM6.js.map} +0 -0
  422. /package/dist/{unstage-WYJY5HKG.js.map → unstage-EU6YHHDA.js.map} +0 -0
  423. /package/dist/{update-T6COJ6BO.js.map → update-JJG7R6QN.js.map} +0 -0
  424. /package/dist/{update-GJ425R5V.js.map → update-OLQGUBNH.js.map} +0 -0
  425. /package/dist/{update-WKS5QUFB.js.map → update-RROGL7SO.js.map} +0 -0
  426. /package/dist/{update-THOWGBFC.js.map → update-RW5T53RB.js.map} +0 -0
  427. /package/dist/{upload-35QHU7B4.js.map → upload-4JN4BPY2.js.map} +0 -0
  428. /package/dist/{url-params-3JU5W2AS.js.map → url-params-3GCYLRDI.js.map} +0 -0
  429. /package/dist/{validate-XQD5H6MU.js.map → validate-YBD2PIZE.js.map} +0 -0
  430. /package/dist/{videos-JBJP3CZD.js.map → videos-OMPPGIYZ.js.map} +0 -0
  431. /package/dist/{viewer-check-ACRU6HY3.js.map → viewer-check-TCX6PFO4.js.map} +0 -0
  432. /package/dist/{web-NRG6WKRV.js.map → web-QGNS3YPN.js.map} +0 -0
  433. /package/dist/{winning-ads-ZKVXCS2L.js.map → winning-ads-LY4NV5O3.js.map} +0 -0
  434. /package/dist/{write-commands-ECCJLDLG.js.map → write-commands-OLTCXPPW.js.map} +0 -0
  435. /package/dist/{x-M3LIA6SI.js.map → x-VBSKVDIX.js.map} +0 -0
@@ -5443,101 +5443,128 @@ var customMcpServerNameRequestSchema = z18.object({
5443
5443
  actingUserId: z18.string().optional()
5444
5444
  });
5445
5445
 
5446
- // ../api/src/research.ts
5446
+ // ../api/src/platformReports.ts
5447
5447
  import { z as z19 } from "zod";
5448
+ var PLATFORM_REPORT_KINDS = ["bug", "feature"];
5449
+ var platformReportKindSchema = z19.enum(PLATFORM_REPORT_KINDS);
5450
+ var feedbackReportRequestSchema = z19.object({
5451
+ kind: platformReportKindSchema,
5452
+ /** One sentence: what is wrong, or what is missing. */
5453
+ title: z19.string().trim().min(10).max(200),
5454
+ /** What you did, what happened, what you expected — commands, messages, what you ruled out. */
5455
+ body: z19.string().trim().min(20).max(4e3),
5456
+ /** Whether the marketer asked for it to reach the Baker team, or the agent chose to. */
5457
+ askedByUser: z19.boolean().optional()
5458
+ });
5459
+ var PLATFORM_REPORT_STATUSES = ["sending", "filed", "added", "held"];
5460
+ var platformReportStatusSchema = z19.enum(PLATFORM_REPORT_STATUSES);
5461
+ var platformReportStateSchema = z19.object({
5462
+ id: z19.string(),
5463
+ kind: platformReportKindSchema,
5464
+ status: platformReportStatusSchema,
5465
+ /** The Baker team's issue, once it has one. */
5466
+ issue: z19.object({ identifier: z19.string(), url: z19.string() }).optional()
5467
+ });
5468
+ var feedbackReportResponseSchema = z19.object({
5469
+ ok: z19.literal(true),
5470
+ data: platformReportStateSchema
5471
+ });
5472
+
5473
+ // ../api/src/research.ts
5474
+ import { z as z20 } from "zod";
5448
5475
  var RESEARCH_FETCH_MAX_WAIT_MS = 3e4;
5449
- var researchFetchRequestSchema = z19.object({
5450
- url: z19.string().url(),
5451
- format: z19.enum(["markdown", "html"]).default("markdown"),
5476
+ var researchFetchRequestSchema = z20.object({
5477
+ url: z20.string().url(),
5478
+ format: z20.enum(["markdown", "html"]).default("markdown"),
5452
5479
  /** Extra milliseconds to let the page settle after load, for content that arrives late. */
5453
- waitFor: z19.coerce.number().int().min(0).max(RESEARCH_FETCH_MAX_WAIT_MS).optional(),
5480
+ waitFor: z20.coerce.number().int().min(0).max(RESEARCH_FETCH_MAX_WAIT_MS).optional(),
5454
5481
  /** Drop nav, footer and sidebars. On by default — the caller wants the page, not its chrome. */
5455
- onlyMainContent: z19.boolean().default(true)
5482
+ onlyMainContent: z20.boolean().default(true)
5456
5483
  });
5457
- var researchFetchResponseSchema = z19.object({
5484
+ var researchFetchResponseSchema = z20.object({
5458
5485
  /** The URL as asked for. */
5459
- url: z19.string(),
5486
+ url: z20.string(),
5460
5487
  /** Where the read actually landed after redirects. */
5461
- finalUrl: z19.string(),
5462
- title: z19.string().nullable(),
5463
- content: z19.string(),
5488
+ finalUrl: z20.string(),
5489
+ title: z20.string().nullable(),
5490
+ content: z20.string(),
5464
5491
  /** Length of `content` — already cut if `truncated`. */
5465
- contentChars: z19.number(),
5492
+ contentChars: z20.number(),
5466
5493
  /** The page was longer than one response may carry, so the tail is missing. */
5467
- truncated: z19.boolean(),
5494
+ truncated: z20.boolean(),
5468
5495
  /** `reddit` when the URL was a Reddit thread, which Firecrawl refuses and our Reddit reader serves instead. */
5469
- provider: z19.enum(["firecrawl", "reddit"])
5496
+ provider: z20.enum(["firecrawl", "reddit"])
5470
5497
  });
5471
- var researchLinkedinPersonRequestSchema = z19.object({
5472
- url: z19.string().url(),
5498
+ var researchLinkedinPersonRequestSchema = z20.object({
5499
+ url: z20.string().url(),
5473
5500
  /** Also return the provider's whole answer, for the fields the compact read leaves out. */
5474
- full: z19.boolean().default(false)
5501
+ full: z20.boolean().default(false)
5475
5502
  });
5476
- var researchLinkedinPostSchema = z19.object({
5477
- text: z19.string(),
5503
+ var researchLinkedinPostSchema = z20.object({
5504
+ text: z20.string(),
5478
5505
  /** ISO date, or null when the provider gave none. */
5479
- date: z19.string().nullable(),
5480
- url: z19.string(),
5506
+ date: z20.string().nullable(),
5507
+ url: z20.string(),
5481
5508
  /** LinkedIn's own label — "Post" for their own words, "Shared by …" for a reshare. */
5482
- kind: z19.string().nullable()
5509
+ kind: z20.string().nullable()
5483
5510
  });
5484
- var researchLinkedinArticleSchema = z19.object({
5485
- title: z19.string(),
5486
- date: z19.string().nullable(),
5487
- url: z19.string()
5511
+ var researchLinkedinArticleSchema = z20.object({
5512
+ title: z20.string(),
5513
+ date: z20.string().nullable(),
5514
+ url: z20.string()
5488
5515
  });
5489
- var researchLinkedinRoleSchema = z19.object({
5490
- organization: z19.string(),
5491
- organizationUrl: z19.string().nullable(),
5492
- location: z19.string().nullable(),
5516
+ var researchLinkedinRoleSchema = z20.object({
5517
+ organization: z20.string(),
5518
+ organizationUrl: z20.string().nullable(),
5519
+ location: z20.string().nullable(),
5493
5520
  /** `YYYY-MM` or `YYYY`, as LinkedIn shows it. */
5494
- since: z19.string().nullable(),
5495
- description: z19.string().nullable()
5496
- });
5497
- var researchLinkedinPersonSchema = z19.discriminatedUnion("private", [
5498
- z19.object({ private: z19.literal(true), profileUrl: z19.string() }),
5499
- z19.object({
5500
- private: z19.literal(false),
5501
- profileUrl: z19.string(),
5502
- name: z19.string(),
5503
- location: z19.string().nullable(),
5504
- about: z19.string().nullable(),
5521
+ since: z20.string().nullable(),
5522
+ description: z20.string().nullable()
5523
+ });
5524
+ var researchLinkedinPersonSchema = z20.discriminatedUnion("private", [
5525
+ z20.object({ private: z20.literal(true), profileUrl: z20.string() }),
5526
+ z20.object({
5527
+ private: z20.literal(false),
5528
+ profileUrl: z20.string(),
5529
+ name: z20.string(),
5530
+ location: z20.string().nullable(),
5531
+ about: z20.string().nullable(),
5505
5532
  /** The organisation they are at now: the latest role with no end date. */
5506
5533
  currentRole: researchLinkedinRoleSchema.nullable(),
5507
- recentPosts: z19.array(researchLinkedinPostSchema),
5508
- articles: z19.array(researchLinkedinArticleSchema)
5534
+ recentPosts: z20.array(researchLinkedinPostSchema),
5535
+ articles: z20.array(researchLinkedinArticleSchema)
5509
5536
  })
5510
5537
  ]);
5511
- var researchLinkedinPersonResponseSchema = z19.object({
5538
+ var researchLinkedinPersonResponseSchema = z20.object({
5512
5539
  person: researchLinkedinPersonSchema,
5513
5540
  /** The provider's whole answer; only when `full` was asked for. */
5514
- raw: z19.record(z19.string(), z19.unknown()).optional()
5541
+ raw: z20.record(z20.string(), z20.unknown()).optional()
5515
5542
  });
5516
- var researchTranscriptRequestSchema = z19.object({
5517
- url: z19.string().url()
5543
+ var researchTranscriptRequestSchema = z20.object({
5544
+ url: z20.string().url()
5518
5545
  });
5519
- var researchTranscriptProviderSchema = z19.enum(["youtube", "deepgram"]);
5520
- var researchTranscriptResponseSchema = z19.object({
5521
- url: z19.string(),
5546
+ var researchTranscriptProviderSchema = z20.enum(["youtube", "deepgram"]);
5547
+ var researchTranscriptResponseSchema = z20.object({
5548
+ url: z20.string(),
5522
5549
  /** `youtube` — the video's captions; `deepgram` — the file transcribed. */
5523
5550
  provider: researchTranscriptProviderSchema,
5524
- title: z19.string().nullable(),
5525
- durationSec: z19.number().nullable(),
5526
- language: z19.string().nullable(),
5527
- wordCount: z19.number(),
5528
- text: z19.string(),
5551
+ title: z20.string().nullable(),
5552
+ durationSec: z20.number().nullable(),
5553
+ language: z20.string().nullable(),
5554
+ wordCount: z20.number(),
5555
+ text: z20.string(),
5529
5556
  /** Length of `text` — already cut if `truncated`. */
5530
- textChars: z19.number(),
5557
+ textChars: z20.number(),
5531
5558
  /** The recording ran longer than one response may carry, so the tail is missing. */
5532
- truncated: z19.boolean()
5559
+ truncated: z20.boolean()
5533
5560
  });
5534
- var researchCompanyRequestSchema = z19.object({
5561
+ var researchCompanyRequestSchema = z20.object({
5535
5562
  /** A domain or any URL on it; reduced to the registrable domain. */
5536
- domain: z19.string().min(1),
5563
+ domain: z20.string().min(1),
5537
5564
  /** Also return both providers' answers, for the fields the compact read leaves out. */
5538
- full: z19.boolean().default(false),
5565
+ full: z20.boolean().default(false),
5539
5566
  /** Read hiring too. It costs about twenty profiles, so a long list can leave it out. */
5540
- hiring: z19.boolean().default(true)
5567
+ hiring: z20.boolean().default(true)
5541
5568
  });
5542
5569
  var RESEARCH_COMPANY_SIZES = [
5543
5570
  "1-10",
@@ -5549,7 +5576,7 @@ var RESEARCH_COMPANY_SIZES = [
5549
5576
  "5k-10k",
5550
5577
  "over-10k"
5551
5578
  ];
5552
- var researchCompanySizeSchema = z19.enum(RESEARCH_COMPANY_SIZES, {
5579
+ var researchCompanySizeSchema = z20.enum(RESEARCH_COMPANY_SIZES, {
5553
5580
  error: (issue) => `"${String(issue.input)}" is not a size. Use one of ${RESEARCH_COMPANY_SIZES.join(", ")}`
5554
5581
  });
5555
5582
  var RESEARCH_COMPANY_REVENUES = [
@@ -5561,229 +5588,229 @@ var RESEARCH_COMPANY_REVENUES = [
5561
5588
  "200m-1b",
5562
5589
  "over-1b"
5563
5590
  ];
5564
- var researchCompanyRevenueSchema = z19.enum(RESEARCH_COMPANY_REVENUES, {
5591
+ var researchCompanyRevenueSchema = z20.enum(RESEARCH_COMPANY_REVENUES, {
5565
5592
  error: (issue) => `"${String(issue.input)}" is not a revenue band. Use one of ${RESEARCH_COMPANY_REVENUES.join(", ")}`
5566
5593
  });
5567
- var researchCompanyFirmographicsSchema = z19.object({
5568
- name: z19.string().nullable(),
5569
- domain: z19.string(),
5594
+ var researchCompanyFirmographicsSchema = z20.object({
5595
+ name: z20.string().nullable(),
5596
+ domain: z20.string(),
5570
5597
  /** The main industry, as a slug (`computer-software`). */
5571
- industry: z19.string().nullable(),
5572
- industries: z19.array(z19.string()),
5598
+ industry: z20.string().nullable(),
5599
+ industries: z20.array(z20.string()),
5573
5600
  /** The employee band (`50-200`). */
5574
- employees: z19.string().nullable(),
5601
+ employees: z20.string().nullable(),
5575
5602
  /** A headcount, when the provider has one. */
5576
- employeesExact: z19.number().nullable(),
5577
- hqCountry: z19.string().nullable(),
5603
+ employeesExact: z20.number().nullable(),
5604
+ hqCountry: z20.string().nullable(),
5578
5605
  /** ISO 3166-1 alpha-2, lower case. */
5579
- hqCountryCode: z19.string().nullable(),
5580
- hqCity: z19.string().nullable(),
5606
+ hqCountryCode: z20.string().nullable(),
5607
+ hqCity: z20.string().nullable(),
5581
5608
  /** The revenue band (`10m-50m`). */
5582
- revenue: z19.string().nullable(),
5583
- founded: z19.number().nullable(),
5584
- linkedinUrl: z19.string().nullable(),
5585
- description: z19.string().nullable(),
5609
+ revenue: z20.string().nullable(),
5610
+ founded: z20.number().nullable(),
5611
+ linkedinUrl: z20.string().nullable(),
5612
+ description: z20.string().nullable(),
5586
5613
  /** Technologies seen on its site, as slugs. */
5587
- technologies: z19.array(z19.string())
5614
+ technologies: z20.array(z20.string())
5588
5615
  });
5589
- var researchCompanyHiringFunctionSchema = z19.object({ function: z19.string(), jobs: z19.number() });
5590
- var researchCompanyHiringSchema = z19.discriminatedUnion("status", [
5591
- z19.object({
5592
- status: z19.literal("ok"),
5616
+ var researchCompanyHiringFunctionSchema = z20.object({ function: z20.string(), jobs: z20.number() });
5617
+ var researchCompanyHiringSchema = z20.discriminatedUnion("status", [
5618
+ z20.object({
5619
+ status: z20.literal("ok"),
5593
5620
  /** Openings live now. */
5594
- openJobs: z19.number(),
5621
+ openJobs: z20.number(),
5595
5622
  /** Of those, first seen in the last 30 days. */
5596
- newLast30Days: z19.number(),
5623
+ newLast30Days: z20.number(),
5597
5624
  /** The most repeated titles among the openings read, most first. */
5598
- topTitles: z19.array(z19.string()),
5625
+ topTitles: z20.array(z20.string()),
5599
5626
  /** Job functions (`sales`, `software_development`, …) by openings, most first. */
5600
- topFunctions: z19.array(researchCompanyHiringFunctionSchema)
5627
+ topFunctions: z20.array(researchCompanyHiringFunctionSchema)
5601
5628
  }),
5602
5629
  /** PredictLeads does not follow this company's jobs. */
5603
- z19.object({ status: z19.literal("not_tracked") }),
5630
+ z20.object({ status: z20.literal("not_tracked") }),
5604
5631
  /** The caller left hiring out (`hiring: false`), so it was not read or billed. */
5605
- z19.object({ status: z19.literal("skipped") }),
5606
- z19.object({ status: z19.literal("unavailable"), reason: z19.enum(["not_configured", "failed"]) })
5632
+ z20.object({ status: z20.literal("skipped") }),
5633
+ z20.object({ status: z20.literal("unavailable"), reason: z20.enum(["not_configured", "failed"]) })
5607
5634
  ]);
5608
- var researchCompanyResponseSchema = z19.object({
5609
- domain: z19.string(),
5635
+ var researchCompanyResponseSchema = z20.object({
5636
+ domain: z20.string(),
5610
5637
  /** Null when The Companies API has no profile for the domain. */
5611
5638
  firmographics: researchCompanyFirmographicsSchema.nullable(),
5612
5639
  hiring: researchCompanyHiringSchema,
5613
5640
  /** Both providers' answers; only when `full` was asked for. */
5614
- raw: z19.object({
5615
- firmographics: z19.record(z19.string(), z19.unknown()).nullable(),
5616
- jobOpenings: z19.array(z19.record(z19.string(), z19.unknown())).nullable()
5641
+ raw: z20.object({
5642
+ firmographics: z20.record(z20.string(), z20.unknown()).nullable(),
5643
+ jobOpenings: z20.array(z20.record(z20.string(), z20.unknown())).nullable()
5617
5644
  }).optional()
5618
5645
  });
5619
5646
  var RESEARCH_COMPANY_SEARCH_MAX_LIMIT = 100;
5620
- var researchCompanySearchRequestSchema = z19.object({
5647
+ var researchCompanySearchRequestSchema = z20.object({
5621
5648
  /** Industries as written; each is resolved to the provider's slug before anything is billed. */
5622
- industries: z19.array(z19.string().trim().min(1)).max(10).default([]),
5623
- sizes: z19.array(researchCompanySizeSchema).max(RESEARCH_COMPANY_SIZES.length).default([]),
5624
- revenues: z19.array(researchCompanyRevenueSchema).max(RESEARCH_COMPANY_REVENUES.length).default([]),
5649
+ industries: z20.array(z20.string().trim().min(1)).max(10).default([]),
5650
+ sizes: z20.array(researchCompanySizeSchema).max(RESEARCH_COMPANY_SIZES.length).default([]),
5651
+ revenues: z20.array(researchCompanyRevenueSchema).max(RESEARCH_COMPANY_REVENUES.length).default([]),
5625
5652
  /** ISO 3166-1 alpha-2 country codes of the headquarters. */
5626
- countries: z19.array(
5627
- z19.string().trim().regex(/^[A-Za-z]{2}$/, "A country is its two-letter ISO code, like es, pt or fr").transform((code) => code.toLowerCase())
5653
+ countries: z20.array(
5654
+ z20.string().trim().regex(/^[A-Za-z]{2}$/, "A country is its two-letter ISO code, like es, pt or fr").transform((code) => code.toLowerCase())
5628
5655
  ).max(30).default([]),
5629
5656
  /** The total alone, free — size the market before paying for rows. */
5630
- count: z19.boolean().default(false),
5631
- limit: z19.number().int().min(1).max(RESEARCH_COMPANY_SEARCH_MAX_LIMIT).default(25),
5632
- page: z19.number().int().min(1).max(100).default(1)
5657
+ count: z20.boolean().default(false),
5658
+ limit: z20.number().int().min(1).max(RESEARCH_COMPANY_SEARCH_MAX_LIMIT).default(25),
5659
+ page: z20.number().int().min(1).max(100).default(1)
5633
5660
  }).refine(
5634
5661
  (filters) => filters.industries.length + filters.sizes.length + filters.revenues.length + filters.countries.length > 0,
5635
5662
  { message: "Name at least one of --industry, --size, --revenue or --country" }
5636
5663
  );
5637
- var researchCompanySearchRowSchema = z19.object({
5638
- name: z19.string().nullable(),
5639
- domain: z19.string(),
5640
- industry: z19.string().nullable(),
5641
- employees: z19.string().nullable(),
5664
+ var researchCompanySearchRowSchema = z20.object({
5665
+ name: z20.string().nullable(),
5666
+ domain: z20.string(),
5667
+ industry: z20.string().nullable(),
5668
+ employees: z20.string().nullable(),
5642
5669
  /** The revenue band, when the provider has one. */
5643
- revenue: z19.string().nullable(),
5670
+ revenue: z20.string().nullable(),
5644
5671
  /** ISO 3166-1 alpha-2, lower case. */
5645
- country: z19.string().nullable()
5672
+ country: z20.string().nullable()
5646
5673
  });
5647
- var researchCompanyIndustrySchema = z19.object({ slug: z19.string(), companies: z19.number() });
5648
- var researchCompanySearchResponseSchema = z19.discriminatedUnion("status", [
5649
- z19.object({
5650
- status: z19.literal("ok"),
5674
+ var researchCompanyIndustrySchema = z20.object({ slug: z20.string(), companies: z20.number() });
5675
+ var researchCompanySearchResponseSchema = z20.discriminatedUnion("status", [
5676
+ z20.object({
5677
+ status: z20.literal("ok"),
5651
5678
  /** Every company matching the filters, not just this page — the size of the market. */
5652
- total: z19.number(),
5653
- page: z19.number(),
5654
- lastPage: z19.number(),
5655
- companies: z19.array(researchCompanySearchRowSchema),
5679
+ total: z20.number(),
5680
+ page: z20.number(),
5681
+ lastPage: z20.number(),
5682
+ companies: z20.array(researchCompanySearchRowSchema),
5656
5683
  /** Neighbouring industries the search left out, to widen it with. */
5657
- relatedIndustries: z19.array(researchCompanyIndustrySchema)
5684
+ relatedIndustries: z20.array(researchCompanyIndustrySchema)
5658
5685
  }),
5659
5686
  /** `count` was asked for: the total alone, nothing billed. */
5660
- z19.object({
5661
- status: z19.literal("counted"),
5662
- total: z19.number(),
5663
- relatedIndustries: z19.array(researchCompanyIndustrySchema)
5687
+ z20.object({
5688
+ status: z20.literal("counted"),
5689
+ total: z20.number(),
5690
+ relatedIndustries: z20.array(researchCompanyIndustrySchema)
5664
5691
  }),
5665
5692
  /** An industry named no slug exactly; nothing was searched or billed. */
5666
- z19.object({
5667
- status: z19.literal("unknown_industries"),
5668
- industries: z19.array(z19.object({ input: z19.string(), closest: z19.array(researchCompanyIndustrySchema) }))
5693
+ z20.object({
5694
+ status: z20.literal("unknown_industries"),
5695
+ industries: z20.array(z20.object({ input: z20.string(), closest: z20.array(researchCompanyIndustrySchema) }))
5669
5696
  })
5670
5697
  ]);
5671
5698
  var RESEARCH_KEYWORD_METRICS_MAX_KEYWORDS = 700;
5672
5699
  var RESEARCH_KEYWORD_METRICS_MAX_KEYWORD_CHARS = 80;
5673
- var researchKeywordMetricsRequestSchema = z19.object({
5674
- keywords: z19.array(z19.string().min(1).max(RESEARCH_KEYWORD_METRICS_MAX_KEYWORD_CHARS)).min(1).max(RESEARCH_KEYWORD_METRICS_MAX_KEYWORDS),
5700
+ var researchKeywordMetricsRequestSchema = z20.object({
5701
+ keywords: z20.array(z20.string().min(1).max(RESEARCH_KEYWORD_METRICS_MAX_KEYWORD_CHARS)).min(1).max(RESEARCH_KEYWORD_METRICS_MAX_KEYWORDS),
5675
5702
  /** Country code (`mx`, `br`, …) or a DataForSEO location code. */
5676
- location: z19.union([z19.string(), z19.number()]).optional(),
5677
- language: z19.string().optional(),
5703
+ location: z20.union([z20.string(), z20.number()]).optional(),
5704
+ language: z20.string().optional(),
5678
5705
  /**
5679
5706
  * Ask for DataForSEO's own panel-derived volume alongside Google's. Off by
5680
5707
  * default because it doubles the price of the request — and because the
5681
5708
  * Google number is the one every other Baker surface quotes.
5682
5709
  */
5683
- includeClickstream: z19.boolean().default(false),
5684
- skipCache: z19.boolean().optional()
5685
- });
5686
- var monthlySearchSchema = z19.object({
5687
- year: z19.number(),
5688
- month: z19.number(),
5689
- search_volume: z19.number()
5690
- });
5691
- var researchKeywordMetricsRowSchema = z19.object({
5692
- keyword: z19.string(),
5693
- search_volume: z19.number().nullable(),
5694
- cpc: z19.number().nullable(),
5695
- low_top_of_page_bid: z19.number().nullable(),
5696
- high_top_of_page_bid: z19.number().nullable(),
5697
- competition: z19.string().nullable(),
5698
- competition_index: z19.number().nullable(),
5699
- keyword_difficulty: z19.number().nullable(),
5700
- main_intent: z19.string().nullable(),
5701
- monthly_searches: z19.array(monthlySearchSchema),
5710
+ includeClickstream: z20.boolean().default(false),
5711
+ skipCache: z20.boolean().optional()
5712
+ });
5713
+ var monthlySearchSchema = z20.object({
5714
+ year: z20.number(),
5715
+ month: z20.number(),
5716
+ search_volume: z20.number()
5717
+ });
5718
+ var researchKeywordMetricsRowSchema = z20.object({
5719
+ keyword: z20.string(),
5720
+ search_volume: z20.number().nullable(),
5721
+ cpc: z20.number().nullable(),
5722
+ low_top_of_page_bid: z20.number().nullable(),
5723
+ high_top_of_page_bid: z20.number().nullable(),
5724
+ competition: z20.string().nullable(),
5725
+ competition_index: z20.number().nullable(),
5726
+ keyword_difficulty: z20.number().nullable(),
5727
+ main_intent: z20.string().nullable(),
5728
+ monthly_searches: z20.array(monthlySearchSchema),
5702
5729
  /** Populated only when `includeClickstream` was set. */
5703
- clickstream_search_volume: z19.number().nullable()
5730
+ clickstream_search_volume: z20.number().nullable()
5704
5731
  });
5705
- var researchKeywordMetricsResponseSchema = z19.object({
5706
- data: z19.array(researchKeywordMetricsRowSchema)
5732
+ var researchKeywordMetricsResponseSchema = z20.object({
5733
+ data: z20.array(researchKeywordMetricsRowSchema)
5707
5734
  });
5708
5735
  var RESEARCH_REDDIT_SEARCH_MAX_LIMIT = 50;
5709
5736
  var RESEARCH_REDDIT_MAX_SUBREDDITS = 10;
5710
5737
  var RESEARCH_REDDIT_THREAD_MAX_COMMENTS = 200;
5711
5738
  var RESEARCH_REDDIT_THREAD_DEFAULT_COMMENTS = 40;
5712
- var researchRedditSourceSchema = z19.enum(["reddit_api", "reddit_web", "archive"]);
5713
- var researchRedditSubredditSchema = z19.string().trim().transform((name) => name.replace(/^\/?r\//i, "")).pipe(z19.string().regex(/^[A-Za-z0-9_]{2,21}$/, "Not a subreddit name"));
5714
- var researchRedditSearchRequestSchema = z19.object({
5715
- query: z19.string().trim().min(1).max(256),
5716
- subreddits: z19.array(researchRedditSubredditSchema).max(RESEARCH_REDDIT_MAX_SUBREDDITS).default([]),
5739
+ var researchRedditSourceSchema = z20.enum(["reddit_api", "reddit_web", "archive"]);
5740
+ var researchRedditSubredditSchema = z20.string().trim().transform((name) => name.replace(/^\/?r\//i, "")).pipe(z20.string().regex(/^[A-Za-z0-9_]{2,21}$/, "Not a subreddit name"));
5741
+ var researchRedditSearchRequestSchema = z20.object({
5742
+ query: z20.string().trim().min(1).max(256),
5743
+ subreddits: z20.array(researchRedditSubredditSchema).max(RESEARCH_REDDIT_MAX_SUBREDDITS).default([]),
5717
5744
  /** `comments` searches what people replied, which is where most of the verbatim voice is. */
5718
- kind: z19.enum(["posts", "comments"]).default("posts"),
5745
+ kind: z20.enum(["posts", "comments"]).default("posts"),
5719
5746
  /** Only things written on or after this day, `YYYY-MM-DD`. */
5720
- since: z19.string().regex(/^\d{4}-\d{2}-\d{2}$/, "Use YYYY-MM-DD").optional(),
5721
- limit: z19.coerce.number().int().min(1).max(RESEARCH_REDDIT_SEARCH_MAX_LIMIT).default(25)
5747
+ since: z20.string().regex(/^\d{4}-\d{2}-\d{2}$/, "Use YYYY-MM-DD").optional(),
5748
+ limit: z20.coerce.number().int().min(1).max(RESEARCH_REDDIT_SEARCH_MAX_LIMIT).default(25)
5722
5749
  });
5723
- var researchRedditThreadRequestSchema = z19.object({
5750
+ var researchRedditThreadRequestSchema = z20.object({
5724
5751
  /** A thread link in any form Reddit hands out — full, `old.`, `redd.it`, `/s/` share — or a bare post id. */
5725
- target: z19.string().trim().min(1).max(2048),
5726
- comments: z19.coerce.number().int().min(0).max(RESEARCH_REDDIT_THREAD_MAX_COMMENTS).default(RESEARCH_REDDIT_THREAD_DEFAULT_COMMENTS)
5727
- });
5728
- var researchRedditItemSchema = z19.object({
5729
- kind: z19.enum(["post", "comment"]),
5730
- id: z19.string(),
5731
- postId: z19.string(),
5732
- subreddit: z19.string(),
5752
+ target: z20.string().trim().min(1).max(2048),
5753
+ comments: z20.coerce.number().int().min(0).max(RESEARCH_REDDIT_THREAD_MAX_COMMENTS).default(RESEARCH_REDDIT_THREAD_DEFAULT_COMMENTS)
5754
+ });
5755
+ var researchRedditItemSchema = z20.object({
5756
+ kind: z20.enum(["post", "comment"]),
5757
+ id: z20.string(),
5758
+ postId: z20.string(),
5759
+ subreddit: z20.string(),
5733
5760
  /** `null` once the account is deleted. */
5734
- author: z19.string().nullable(),
5761
+ author: z20.string().nullable(),
5735
5762
  /** The post's title; on a comment, the title of the post it sits under when known. */
5736
- title: z19.string().nullable(),
5763
+ title: z20.string().nullable(),
5737
5764
  /** Verbatim: the post's own text (empty for a link post) or the comment's. */
5738
- text: z19.string(),
5739
- score: z19.number().nullable(),
5765
+ text: z20.string(),
5766
+ score: z20.number().nullable(),
5740
5767
  /** Posts only. */
5741
- commentCount: z19.number().nullable(),
5742
- createdAt: z19.string(),
5743
- permalink: z19.string(),
5768
+ commentCount: z20.number().nullable(),
5769
+ createdAt: z20.string(),
5770
+ permalink: z20.string(),
5744
5771
  /** Comments inside a thread: 0 answers the post, 1 answers a comment, and so on. */
5745
- depth: z19.number().nullable()
5772
+ depth: z20.number().nullable()
5746
5773
  });
5747
- var researchRedditAttemptSchema = z19.object({
5774
+ var researchRedditAttemptSchema = z20.object({
5748
5775
  source: researchRedditSourceSchema,
5749
- outcome: z19.enum(["ok", "empty", "not_found", "not_configured", "unsupported", "blocked", "unavailable"])
5776
+ outcome: z20.enum(["ok", "empty", "not_found", "not_configured", "unsupported", "blocked", "unavailable"])
5750
5777
  });
5751
- var researchRedditSearchResponseSchema = z19.object({
5752
- results: z19.array(researchRedditItemSchema),
5778
+ var researchRedditSearchResponseSchema = z20.object({
5779
+ results: z20.array(researchRedditItemSchema),
5753
5780
  source: researchRedditSourceSchema,
5754
5781
  /** Every source asked, in order — an empty answer from one is not the same as none from all. */
5755
- attempts: z19.array(researchRedditAttemptSchema)
5782
+ attempts: z20.array(researchRedditAttemptSchema)
5756
5783
  });
5757
- var researchRedditThreadResponseSchema = z19.object({
5784
+ var researchRedditThreadResponseSchema = z20.object({
5758
5785
  post: researchRedditItemSchema,
5759
5786
  /** Highest-scoring first, each followed by its best replies. Removed and deleted comments are left out. */
5760
- comments: z19.array(researchRedditItemSchema),
5787
+ comments: z20.array(researchRedditItemSchema),
5761
5788
  source: researchRedditSourceSchema,
5762
- attempts: z19.array(researchRedditAttemptSchema)
5789
+ attempts: z20.array(researchRedditAttemptSchema)
5763
5790
  });
5764
5791
  var RESEARCH_REDDIT_SUBREDDITS_MAX_LIMIT = 25;
5765
- var researchRedditSubredditsRequestSchema = z19.object({
5766
- query: z19.string().trim().min(2).max(100),
5767
- limit: z19.coerce.number().int().min(1).max(RESEARCH_REDDIT_SUBREDDITS_MAX_LIMIT).default(10)
5792
+ var researchRedditSubredditsRequestSchema = z20.object({
5793
+ query: z20.string().trim().min(2).max(100),
5794
+ limit: z20.coerce.number().int().min(1).max(RESEARCH_REDDIT_SUBREDDITS_MAX_LIMIT).default(10)
5768
5795
  });
5769
- var researchRedditSubredditSummarySchema = z19.object({
5770
- name: z19.string(),
5796
+ var researchRedditSubredditSummarySchema = z20.object({
5797
+ name: z20.string(),
5771
5798
  /** Members; `null` when the source does not say. Size, not activity — a big subreddit can be quiet. */
5772
- subscribers: z19.number().nullable(),
5799
+ subscribers: z20.number().nullable(),
5773
5800
  /** `restricted`: anyone reads, only approved members post. `private`: nothing can be read. */
5774
- access: z19.enum(["public", "restricted", "private", "other"]).nullable(),
5775
- description: z19.string(),
5776
- url: z19.string()
5801
+ access: z20.enum(["public", "restricted", "private", "other"]).nullable(),
5802
+ description: z20.string(),
5803
+ url: z20.string()
5777
5804
  });
5778
- var researchRedditSubredditsResponseSchema = z19.object({
5779
- results: z19.array(researchRedditSubredditSummarySchema),
5805
+ var researchRedditSubredditsResponseSchema = z20.object({
5806
+ results: z20.array(researchRedditSubredditSummarySchema),
5780
5807
  source: researchRedditSourceSchema,
5781
- attempts: z19.array(researchRedditAttemptSchema)
5808
+ attempts: z20.array(researchRedditAttemptSchema)
5782
5809
  });
5783
5810
  var RESEARCH_GOOGLE_ADS_MAX_LIMIT = 120;
5784
5811
  var RESEARCH_GOOGLE_ADS_DEFAULT_LIMIT = 40;
5785
5812
  var RESEARCH_GOOGLE_ADS_MAX_COPY = 20;
5786
- var researchGoogleAdsPlatformSchema = z19.enum([
5813
+ var researchGoogleAdsPlatformSchema = z20.enum([
5787
5814
  "all",
5788
5815
  "google_search",
5789
5816
  "google_shopping",
@@ -5791,79 +5818,79 @@ var researchGoogleAdsPlatformSchema = z19.enum([
5791
5818
  "google_play",
5792
5819
  "youtube"
5793
5820
  ]);
5794
- var researchGoogleAdsFormatSchema = z19.enum(["text", "image", "video"]);
5795
- var researchGoogleAdsRequestSchema = z19.object({
5821
+ var researchGoogleAdsFormatSchema = z20.enum(["text", "image", "video"]);
5822
+ var researchGoogleAdsRequestSchema = z20.object({
5796
5823
  /** A domain (`competitor.com`, or any URL on it) or a Transparency advertiser id (`AR…`). */
5797
- target: z19.string().trim().min(1),
5824
+ target: z20.string().trim().min(1),
5798
5825
  /** Country code (`es`, `mx`, …) or DataForSEO location code. Omitted ⇒ every region. */
5799
- location: z19.union([z19.string(), z19.number()]).optional(),
5826
+ location: z20.union([z20.string(), z20.number()]).optional(),
5800
5827
  platform: researchGoogleAdsPlatformSchema.default("all"),
5801
- format: z19.union([researchGoogleAdsFormatSchema, z19.literal("all")]).default("all"),
5828
+ format: z20.union([researchGoogleAdsFormatSchema, z20.literal("all")]).default("all"),
5802
5829
  /** Only ads shown on or after this day (`YYYY-MM-DD`). */
5803
- since: z19.string().regex(/^\d{4}-\d{2}-\d{2}$/, "since must be YYYY-MM-DD").optional(),
5804
- limit: z19.coerce.number().int().min(1).max(RESEARCH_GOOGLE_ADS_MAX_LIMIT).default(RESEARCH_GOOGLE_ADS_DEFAULT_LIMIT),
5830
+ since: z20.string().regex(/^\d{4}-\d{2}-\d{2}$/, "since must be YYYY-MM-DD").optional(),
5831
+ limit: z20.coerce.number().int().min(1).max(RESEARCH_GOOGLE_ADS_MAX_LIMIT).default(RESEARCH_GOOGLE_ADS_DEFAULT_LIMIT),
5805
5832
  /** Read the copy of the text ads off their preview images. */
5806
- copy: z19.boolean().default(false),
5807
- skipCache: z19.boolean().optional()
5808
- });
5809
- var researchGoogleAdCopySchema = z19.object({
5810
- headline: z19.string(),
5811
- description: z19.string().nullable(),
5812
- display_url: z19.string().nullable()
5813
- });
5814
- var researchGoogleAdSchema = z19.object({
5815
- creative_id: z19.string(),
5816
- advertiser: z19.string(),
5817
- advertiser_id: z19.string(),
5818
- verified: z19.boolean(),
5833
+ copy: z20.boolean().default(false),
5834
+ skipCache: z20.boolean().optional()
5835
+ });
5836
+ var researchGoogleAdCopySchema = z20.object({
5837
+ headline: z20.string(),
5838
+ description: z20.string().nullable(),
5839
+ display_url: z20.string().nullable()
5840
+ });
5841
+ var researchGoogleAdSchema = z20.object({
5842
+ creative_id: z20.string(),
5843
+ advertiser: z20.string(),
5844
+ advertiser_id: z20.string(),
5845
+ verified: z20.boolean(),
5819
5846
  format: researchGoogleAdsFormatSchema,
5820
5847
  /** Days, `YYYY-MM-DD` in UTC. */
5821
- first_shown: z19.string().nullable(),
5822
- last_shown: z19.string().nullable(),
5848
+ first_shown: z20.string().nullable(),
5849
+ last_shown: z20.string().nullable(),
5823
5850
  /** From first to last shown, inclusive: how long the advertiser has kept paying for it. */
5824
- days_running: z19.number().nullable(),
5851
+ days_running: z20.number().nullable(),
5825
5852
  /** The ad on Google's Ads Transparency Center. */
5826
- transparency_url: z19.string(),
5853
+ transparency_url: z20.string(),
5827
5854
  /** An image of the ad itself — text ads only. */
5828
- preview_image_url: z19.string().nullable(),
5855
+ preview_image_url: z20.string().nullable(),
5829
5856
  /** Read off `preview_image_url` when `copy` was asked; null otherwise, or when it could not be read. */
5830
5857
  copy: researchGoogleAdCopySchema.nullable()
5831
5858
  });
5832
- var researchGoogleAdsResponseSchema = z19.object({
5833
- target: z19.string(),
5834
- target_kind: z19.enum(["domain", "advertiser"]),
5859
+ var researchGoogleAdsResponseSchema = z20.object({
5860
+ target: z20.string(),
5861
+ target_kind: z20.enum(["domain", "advertiser"]),
5835
5862
  /** Ads Google says match, before `limit`. */
5836
- total_ads: z19.number().nullable(),
5837
- ads: z19.array(researchGoogleAdSchema),
5863
+ total_ads: z20.number().nullable(),
5864
+ ads: z20.array(researchGoogleAdSchema),
5838
5865
  /** Text ads whose copy was asked for but could not be read. */
5839
- copy_unread: z19.number(),
5866
+ copy_unread: z20.number(),
5840
5867
  /** The same search on Google's Ads Transparency Center. */
5841
- check_url: z19.string().nullable()
5868
+ check_url: z20.string().nullable()
5842
5869
  });
5843
5870
  var RESEARCH_WEB_DEPTHS = ["medium", "high", "xhigh"];
5844
- var researchWebDepthSchema = z19.enum(RESEARCH_WEB_DEPTHS);
5845
- var researchWebRequestSchema = z19.object({
5846
- question: z19.string().min(5).max(2e3),
5871
+ var researchWebDepthSchema = z20.enum(RESEARCH_WEB_DEPTHS);
5872
+ var researchWebRequestSchema = z20.object({
5873
+ question: z20.string().min(5).max(2e3),
5847
5874
  depth: researchWebDepthSchema.default("medium")
5848
5875
  });
5849
- var researchWebSourceSchema = z19.object({
5876
+ var researchWebSourceSchema = z20.object({
5850
5877
  /** The site's name, as Google labelled it. */
5851
- title: z19.string(),
5878
+ title: z20.string(),
5852
5879
  /** The page Google read. When `resolved` is false, the opaque Google link we could not follow. */
5853
- url: z19.string(),
5880
+ url: z20.string(),
5854
5881
  /** False when the Google redirect could not be followed — do not cite or guess a path from it. */
5855
- resolved: z19.boolean(),
5882
+ resolved: z20.boolean(),
5856
5883
  /** The parts of the answer this page is cited for, verbatim from the answer. Empty when the provider gave no span. */
5857
- cites: z19.array(z19.string())
5884
+ cites: z20.array(z20.string())
5858
5885
  });
5859
- var researchWebResponseSchema = z19.object({
5860
- answer: z19.string(),
5861
- sources: z19.array(researchWebSourceSchema)
5886
+ var researchWebResponseSchema = z20.object({
5887
+ answer: z20.string(),
5888
+ sources: z20.array(researchWebSourceSchema)
5862
5889
  });
5863
- var researchDeepResearchStartRequestSchema = z19.object({
5864
- question: z19.string().min(5).max(2e3)
5890
+ var researchDeepResearchStartRequestSchema = z20.object({
5891
+ question: z20.string().min(5).max(2e3)
5865
5892
  });
5866
- var researchDeepResearchStartResponseSchema = z19.object({ interactionId: z19.string() });
5893
+ var researchDeepResearchStartResponseSchema = z20.object({ interactionId: z20.string() });
5867
5894
  var RESEARCH_DEEP_RESEARCH_STATUSES = [
5868
5895
  "queued",
5869
5896
  "in_progress",
@@ -5874,14 +5901,14 @@ var RESEARCH_DEEP_RESEARCH_STATUSES = [
5874
5901
  "cancelled",
5875
5902
  "budget_exceeded"
5876
5903
  ];
5877
- var researchDeepResearchStatusSchema = z19.enum(RESEARCH_DEEP_RESEARCH_STATUSES);
5878
- var researchDeepResearchPollResponseSchema = z19.object({
5904
+ var researchDeepResearchStatusSchema = z20.enum(RESEARCH_DEEP_RESEARCH_STATUSES);
5905
+ var researchDeepResearchPollResponseSchema = z20.object({
5879
5906
  status: researchDeepResearchStatusSchema,
5880
5907
  result: researchWebResponseSchema.optional()
5881
5908
  });
5882
5909
 
5883
5910
  // ../api/src/scheduledAgentTriggers.ts
5884
- import { z as z20 } from "zod";
5911
+ import { z as z21 } from "zod";
5885
5912
  var TRIGGER_GROUPS = {
5886
5913
  time: { label: "Time", blurb: "On a clock you set." },
5887
5914
  incoming: { label: "Incoming", blurb: "Another tool or your site calls in." },
@@ -6169,27 +6196,6 @@ var TRIGGER_KINDS = {
6169
6196
  payload: ["title", "platform", "landed", "failed", "failures.change", "failures.error"],
6170
6197
  keywords: ["partial", "failed", "error", "ads", "google ads", "meta", "linkedin", "tag manager", "not applied"]
6171
6198
  },
6172
- "session.settled": {
6173
- label: "When this chat's work is fully live",
6174
- description: "Runs once, after the chat that sets it up is published and everything in it has finished going out \u2014 the pages are live and every change to an ad platform, Tag Manager, Google Analytics or the store has landed or failed. Use it for a check or a report on this chat's own work. It is set up from that chat, then switches itself off.",
6175
- scope: "This chat \u2014 the one that sets it up.",
6176
- group: "sessions",
6177
- payload: [
6178
- "title",
6179
- "status",
6180
- "landed",
6181
- "failed",
6182
- "waiting",
6183
- "platforms.platform",
6184
- "platforms.landed",
6185
- "platforms.failed",
6186
- "failures.platform",
6187
- "failures.change",
6188
- "failures.error",
6189
- "chat_id"
6190
- ],
6191
- keywords: ["publish", "live", "this chat", "follow-up", "check", "after publish", "landed", "settled"]
6192
- },
6193
6199
  "knowledge.updated": {
6194
6200
  label: "When Knowledge changes",
6195
6201
  description: "Runs when something the agents read is added or rewritten.",
@@ -6347,8 +6353,7 @@ var TRIGGER_TARGET_FIELDS = {
6347
6353
  adAccount: { flag: "ad-account", noun: "ad account", any: "Any ad account" },
6348
6354
  alertRule: { flag: "alert", noun: "kind of alert", any: "Any alert" },
6349
6355
  socialAccount: { flag: "social-account", noun: "followed account", any: "Any account" },
6350
- personRole: { flag: "role", noun: "role", any: "Any role" },
6351
- chatId: { flag: "session", noun: "chat", any: "This chat" }
6356
+ personRole: { flag: "role", noun: "role", any: "Any role" }
6352
6357
  };
6353
6358
  var TRIGGER_TARGET_FIELD_IDS = Object.keys(TRIGGER_TARGET_FIELDS);
6354
6359
  var target = (field, options) => ({
@@ -6386,9 +6391,6 @@ var TRIGGER_TARGETS = {
6386
6391
  "session.published": [target("agentId", { open: false })],
6387
6392
  "session.publish_failed": [target("agentId", { open: false })],
6388
6393
  "session.publish_incomplete": [target("platform", { open: false }), target("agentId", { open: false })],
6389
- // Only ever the chat that stages it: `this` is swapped for its id when it is staged and bound
6390
- // to the chat whose publish applies it, so there is no list to pick from.
6391
- "session.settled": [target("chatId", { required: true, open: true })],
6392
6394
  "knowledge.updated": [target("collection", { open: true })],
6393
6395
  "brand.updated": [],
6394
6396
  "creative.created": [],
@@ -6400,211 +6402,206 @@ var TRIGGER_TARGETS = {
6400
6402
  "ad_alert.closed": [target("adAccount", { open: false }), target("alertRule", { open: false })],
6401
6403
  "social.post_published": [target("socialAccount", { open: false }), target("personRole", { open: false })]
6402
6404
  };
6403
- var triggerTargetOptionSchema = z20.object({
6404
- value: z20.string(),
6405
- label: z20.string(),
6405
+ var triggerTargetOptionSchema = z21.object({
6406
+ value: z21.string(),
6407
+ label: z21.string(),
6406
6408
  /** A second line: a status, a tag list, where it comes from. */
6407
- detail: z20.string().optional(),
6409
+ detail: z21.string().optional(),
6408
6410
  /** A mark: a path under the dashboard's `/logos/`, or an absolute image URL. */
6409
- logo: z20.string().optional()
6411
+ logo: z21.string().optional()
6410
6412
  });
6411
- var triggerCompaniesSchema = z20.array(z20.string()).optional();
6412
- var scheduledAgentTriggerSchema = z20.discriminatedUnion("kind", [
6413
- z20.object({
6414
- kind: z20.literal("time.once"),
6413
+ var triggerCompaniesSchema = z21.array(z21.string()).optional();
6414
+ var scheduledAgentTriggerSchema = z21.discriminatedUnion("kind", [
6415
+ z21.object({
6416
+ kind: z21.literal("time.once"),
6415
6417
  /** Epoch ms. Must still be in the future when the item is written. */
6416
- runAt: z20.number(),
6418
+ runAt: z21.number(),
6417
6419
  /** IANA zone. Defaults to the company's. */
6418
- tz: z20.string()
6420
+ tz: z21.string()
6419
6421
  }),
6420
- z20.object({
6421
- kind: z20.literal("time.cron"),
6422
+ z21.object({
6423
+ kind: z21.literal("time.cron"),
6422
6424
  /** Five-field cron expression. */
6423
- cronspec: z20.string(),
6424
- tz: z20.string()
6425
+ cronspec: z21.string(),
6426
+ tz: z21.string()
6425
6427
  }),
6426
- z20.object({ kind: z20.literal("webhook.received") }),
6427
- z20.object({
6428
- kind: z20.literal("app.event"),
6428
+ z21.object({ kind: z21.literal("webhook.received") }),
6429
+ z21.object({
6430
+ kind: z21.literal("app.event"),
6429
6431
  /** The connected tool, by its toolkit slug: `gmail`, `slack`. */
6430
- toolkit: z20.string(),
6432
+ toolkit: z21.string(),
6431
6433
  /** What happens in it, by the tool's own trigger id: `GMAIL_NEW_GMAIL_MESSAGE`. */
6432
- appEvent: z20.string(),
6434
+ appEvent: z21.string(),
6433
6435
  /** Which connected account — a tool can be connected more than once. */
6434
- account: z20.string(),
6436
+ account: z21.string(),
6435
6437
  /** The tool's own settings for the event (a label, a channel, a repository), as JSON text. */
6436
- configJson: z20.string().optional()
6438
+ configJson: z21.string().optional()
6437
6439
  }),
6438
- z20.object({
6439
- kind: z20.literal("event.received"),
6440
+ z21.object({
6441
+ kind: z21.literal("event.received"),
6440
6442
  /** Absent = any event. */
6441
- eventName: z20.string().optional()
6443
+ eventName: z21.string().optional()
6442
6444
  }),
6443
- z20.object({
6444
- kind: z20.literal("connection.created"),
6445
+ z21.object({
6446
+ kind: z21.literal("connection.created"),
6445
6447
  /** Absent = any tool. An OAuth provider type, or a Composio toolkit slug. */
6446
- provider: z20.string().optional(),
6448
+ provider: z21.string().optional(),
6447
6449
  companies: triggerCompaniesSchema
6448
6450
  }),
6449
- z20.object({
6450
- kind: z20.literal("connection.removed"),
6451
- provider: z20.string().optional(),
6451
+ z21.object({
6452
+ kind: z21.literal("connection.removed"),
6453
+ provider: z21.string().optional(),
6452
6454
  companies: triggerCompaniesSchema
6453
6455
  }),
6454
- z20.object({
6455
- kind: z20.literal("form.submitted"),
6456
+ z21.object({
6457
+ kind: z21.literal("form.submitted"),
6456
6458
  /** Absent = any Form. */
6457
- flowId: z20.string().optional(),
6459
+ flowId: z21.string().optional(),
6458
6460
  companies: triggerCompaniesSchema
6459
6461
  }),
6460
- z20.object({
6461
- kind: z20.literal("flow.step.submitted"),
6462
- flowId: z20.string(),
6463
- stepId: z20.string()
6462
+ z21.object({
6463
+ kind: z21.literal("flow.step.submitted"),
6464
+ flowId: z21.string(),
6465
+ stepId: z21.string()
6464
6466
  }),
6465
- z20.object({
6466
- kind: z20.literal("landing.created"),
6467
+ z21.object({
6468
+ kind: z21.literal("landing.created"),
6467
6469
  /** Absent = any page. A page's slug. */
6468
- page: z20.string().optional(),
6470
+ page: z21.string().optional(),
6469
6471
  /** Absent = any tag. */
6470
- tag: z20.string().optional(),
6472
+ tag: z21.string().optional(),
6471
6473
  companies: triggerCompaniesSchema
6472
6474
  }),
6473
- z20.object({
6474
- kind: z20.literal("landing.published"),
6475
- page: z20.string().optional(),
6476
- tag: z20.string().optional(),
6475
+ z21.object({
6476
+ kind: z21.literal("landing.published"),
6477
+ page: z21.string().optional(),
6478
+ tag: z21.string().optional(),
6477
6479
  companies: triggerCompaniesSchema
6478
6480
  }),
6479
- z20.object({
6480
- kind: z20.literal("experiment.started"),
6481
+ z21.object({
6482
+ kind: z21.literal("experiment.started"),
6481
6483
  /** Absent = any test. */
6482
- experimentId: z20.string().optional(),
6484
+ experimentId: z21.string().optional(),
6483
6485
  companies: triggerCompaniesSchema
6484
6486
  }),
6485
- z20.object({
6486
- kind: z20.literal("experiment.decided"),
6487
- experimentId: z20.string().optional(),
6487
+ z21.object({
6488
+ kind: z21.literal("experiment.decided"),
6489
+ experimentId: z21.string().optional(),
6488
6490
  companies: triggerCompaniesSchema
6489
6491
  }),
6490
- z20.object({
6491
- kind: z20.literal("experiment.ended"),
6492
- experimentId: z20.string().optional(),
6492
+ z21.object({
6493
+ kind: z21.literal("experiment.ended"),
6494
+ experimentId: z21.string().optional(),
6493
6495
  companies: triggerCompaniesSchema
6494
6496
  }),
6495
- z20.object({
6496
- kind: z20.literal("experiment.concluded"),
6497
- experimentId: z20.string().optional(),
6497
+ z21.object({
6498
+ kind: z21.literal("experiment.concluded"),
6499
+ experimentId: z21.string().optional(),
6498
6500
  companies: triggerCompaniesSchema
6499
6501
  }),
6500
- z20.object({
6501
- kind: z20.literal("task.created"),
6502
+ z21.object({
6503
+ kind: z21.literal("task.created"),
6502
6504
  /** Absent = any Task. */
6503
- tag: z20.string().optional(),
6505
+ tag: z21.string().optional(),
6504
6506
  companies: triggerCompaniesSchema
6505
6507
  }),
6506
- z20.object({
6507
- kind: z20.literal("task.claimed"),
6508
+ z21.object({
6509
+ kind: z21.literal("task.claimed"),
6508
6510
  /** Absent = any Task. One Task, by id. */
6509
- taskId: z20.string().optional(),
6510
- tag: z20.string().optional(),
6511
+ taskId: z21.string().optional(),
6512
+ tag: z21.string().optional(),
6511
6513
  companies: triggerCompaniesSchema
6512
6514
  }),
6513
- z20.object({
6514
- kind: z20.literal("task.completed"),
6515
- taskId: z20.string().optional(),
6516
- tag: z20.string().optional(),
6515
+ z21.object({
6516
+ kind: z21.literal("task.completed"),
6517
+ taskId: z21.string().optional(),
6518
+ tag: z21.string().optional(),
6517
6519
  companies: triggerCompaniesSchema
6518
6520
  }),
6519
- z20.object({
6520
- kind: z20.literal("session.published"),
6521
+ z21.object({
6522
+ kind: z21.literal("session.published"),
6521
6523
  /** Absent = any agent. Only the runs of this Scheduled agent. */
6522
- agentId: z20.string().optional(),
6524
+ agentId: z21.string().optional(),
6523
6525
  companies: triggerCompaniesSchema
6524
6526
  }),
6525
- z20.object({
6526
- kind: z20.literal("session.publish_failed"),
6527
- agentId: z20.string().optional(),
6527
+ z21.object({
6528
+ kind: z21.literal("session.publish_failed"),
6529
+ agentId: z21.string().optional(),
6528
6530
  companies: triggerCompaniesSchema
6529
6531
  }),
6530
- z20.object({
6531
- kind: z20.literal("session.settled"),
6532
- /** The chat whose publish it waits for — `this` from the CLI, its id once staged. */
6533
- chatId: z20.string()
6534
- }),
6535
- z20.object({
6536
- kind: z20.literal("knowledge.updated"),
6532
+ z21.object({
6533
+ kind: z21.literal("knowledge.updated"),
6537
6534
  /** Absent = any collection. */
6538
- collection: z20.string().optional(),
6535
+ collection: z21.string().optional(),
6539
6536
  companies: triggerCompaniesSchema
6540
6537
  }),
6541
- z20.object({ kind: z20.literal("brand.updated"), companies: triggerCompaniesSchema }),
6542
- z20.object({ kind: z20.literal("creative.created"), companies: triggerCompaniesSchema }),
6543
- z20.object({
6544
- kind: z20.literal("connection.needs_reconnect"),
6545
- provider: z20.string().optional(),
6538
+ z21.object({ kind: z21.literal("brand.updated"), companies: triggerCompaniesSchema }),
6539
+ z21.object({ kind: z21.literal("creative.created"), companies: triggerCompaniesSchema }),
6540
+ z21.object({
6541
+ kind: z21.literal("connection.needs_reconnect"),
6542
+ provider: z21.string().optional(),
6546
6543
  companies: triggerCompaniesSchema
6547
6544
  }),
6548
- z20.object({
6549
- kind: z20.literal("session.publish_incomplete"),
6545
+ z21.object({
6546
+ kind: z21.literal("session.publish_incomplete"),
6550
6547
  /** Absent = any platform. One of `PUBLISH_PLATFORMS`. */
6551
- platform: z20.string().optional(),
6552
- agentId: z20.string().optional(),
6548
+ platform: z21.string().optional(),
6549
+ agentId: z21.string().optional(),
6553
6550
  companies: triggerCompaniesSchema
6554
6551
  }),
6555
- z20.object({
6556
- kind: z20.literal("review.received"),
6552
+ z21.object({
6553
+ kind: z21.literal("review.received"),
6557
6554
  /** Absent = any review source. */
6558
- sourceId: z20.string().optional(),
6555
+ sourceId: z21.string().optional(),
6559
6556
  companies: triggerCompaniesSchema
6560
6557
  }),
6561
- z20.object({
6562
- kind: z20.literal("advertiser.new_ads"),
6558
+ z21.object({
6559
+ kind: z21.literal("advertiser.new_ads"),
6563
6560
  /** Absent = any followed advertiser. */
6564
- advertiserId: z20.string().optional(),
6561
+ advertiserId: z21.string().optional(),
6565
6562
  companies: triggerCompaniesSchema
6566
6563
  }),
6567
- z20.object({
6568
- kind: z20.literal("ad_alert.opened"),
6564
+ z21.object({
6565
+ kind: z21.literal("ad_alert.opened"),
6569
6566
  /** Absent = any ad account. `<platform>:<ad account id>`, as `baker scheduled-agents targets` lists it. */
6570
- adAccount: z20.string().optional(),
6567
+ adAccount: z21.string().optional(),
6571
6568
  /** Absent = any kind of alert. A rule, as `baker ads performance attention` names it. */
6572
- alertRule: z20.string().optional()
6569
+ alertRule: z21.string().optional()
6573
6570
  }),
6574
- z20.object({
6575
- kind: z20.literal("ad_alert.claimed"),
6576
- adAccount: z20.string().optional(),
6577
- alertRule: z20.string().optional()
6571
+ z21.object({
6572
+ kind: z21.literal("ad_alert.claimed"),
6573
+ adAccount: z21.string().optional(),
6574
+ alertRule: z21.string().optional()
6578
6575
  }),
6579
- z20.object({
6580
- kind: z20.literal("ad_alert.fixed"),
6581
- adAccount: z20.string().optional(),
6582
- alertRule: z20.string().optional()
6576
+ z21.object({
6577
+ kind: z21.literal("ad_alert.fixed"),
6578
+ adAccount: z21.string().optional(),
6579
+ alertRule: z21.string().optional()
6583
6580
  }),
6584
- z20.object({
6585
- kind: z20.literal("ad_alert.closed"),
6586
- adAccount: z20.string().optional(),
6587
- alertRule: z20.string().optional()
6581
+ z21.object({
6582
+ kind: z21.literal("ad_alert.closed"),
6583
+ adAccount: z21.string().optional(),
6584
+ alertRule: z21.string().optional()
6588
6585
  }),
6589
- z20.object({
6590
- kind: z20.literal("social.post_published"),
6586
+ z21.object({
6587
+ kind: z21.literal("social.post_published"),
6591
6588
  /** A followed account's key (`linkedin:in/jacintofleta`). Absent = any account. */
6592
- socialAccount: z20.string().optional(),
6589
+ socialAccount: z21.string().optional(),
6593
6590
  /** A person's role (`ceo`). Absent = any account, a page included. */
6594
- personRole: z20.string().optional(),
6591
+ personRole: z21.string().optional(),
6595
6592
  companies: triggerCompaniesSchema
6596
6593
  })
6597
6594
  ]);
6598
- var occurrencesSchema = z20.array(z20.number().int().positive()).max(32);
6595
+ var occurrencesSchema = z21.array(z21.number().int().positive()).max(32);
6599
6596
  function firstTimes(count) {
6600
6597
  return Array.from({ length: Math.max(0, Math.floor(count)) }, (_, index) => index + 1);
6601
6598
  }
6602
6599
 
6603
6600
  // ../api/src/scheduledAgentTriggerCatalog.ts
6604
- import { z as z22 } from "zod";
6601
+ import { z as z23 } from "zod";
6605
6602
 
6606
6603
  // ../api/src/scheduledAgentRules.ts
6607
- import { z as z21 } from "zod";
6604
+ import { z as z22 } from "zod";
6608
6605
  var MAX_AI_CONDITION_CHARS = 500;
6609
6606
  var CONDITION_OPERATORS = {
6610
6607
  equals: { label: "is", takesValue: true },
@@ -6623,17 +6620,17 @@ var CONDITION_OPERATORS = {
6623
6620
  };
6624
6621
  var CONDITION_OPERATOR_IDS = Object.keys(CONDITION_OPERATORS);
6625
6622
  var MAX_CONDITION_RULES = 20;
6626
- var conditionRuleSchema = z21.object({
6623
+ var conditionRuleSchema = z22.object({
6627
6624
  /** A dotted path into the payload: `deal.amount`, `properties.plan`, `items.sku`. */
6628
- field: z21.string().trim().min(1).max(200),
6629
- op: z21.enum(CONDITION_OPERATOR_IDS),
6625
+ field: z22.string().trim().min(1).max(200),
6626
+ op: z22.enum(CONDITION_OPERATOR_IDS),
6630
6627
  /** What to compare against. For `one_of`, a comma-separated list. Absent for `exists` / `not_exists`. */
6631
- value: z21.string().max(500).optional()
6628
+ value: z22.string().max(500).optional()
6632
6629
  });
6633
- var conditionsSchema = z21.object({
6630
+ var conditionsSchema = z22.object({
6634
6631
  /** `all`: every rule must hold. `any`: one is enough. */
6635
- match: z21.enum(["all", "any"]),
6636
- rules: z21.array(conditionRuleSchema).max(MAX_CONDITION_RULES)
6632
+ match: z22.enum(["all", "any"]),
6633
+ rules: z22.array(conditionRuleSchema).max(MAX_CONDITION_RULES)
6637
6634
  });
6638
6635
  function asText(value) {
6639
6636
  if (typeof value === "string") {
@@ -6822,44 +6819,44 @@ function parseConditionsExpression(expression) {
6822
6819
  }
6823
6820
 
6824
6821
  // ../api/src/scheduledAgentTriggerCatalog.ts
6825
- var catalogTriggerSchema = z22.object({
6826
- kind: z22.string(),
6827
- label: z22.string(),
6828
- description: z22.string(),
6829
- narrowsBy: z22.string().nullable(),
6830
- pointAt: z22.array(
6831
- z22.object({
6832
- field: z22.string(),
6833
- flag: z22.string(),
6834
- required: z22.literal(true).optional(),
6835
- list: z22.string()
6822
+ var catalogTriggerSchema = z23.object({
6823
+ kind: z23.string(),
6824
+ label: z23.string(),
6825
+ description: z23.string(),
6826
+ narrowsBy: z23.string().nullable(),
6827
+ pointAt: z23.array(
6828
+ z23.object({
6829
+ field: z23.string(),
6830
+ flag: z23.string(),
6831
+ required: z23.literal(true).optional(),
6832
+ list: z23.string()
6836
6833
  })
6837
6834
  ),
6838
- payload: z22.array(z22.string())
6839
- });
6840
- var triggerCatalogSchema = z22.object({
6841
- groups: z22.array(
6842
- z22.object({
6843
- group: z22.string(),
6844
- label: z22.string(),
6845
- about: z22.string(),
6846
- triggers: z22.array(catalogTriggerSchema)
6835
+ payload: z23.array(z23.string())
6836
+ });
6837
+ var triggerCatalogSchema = z23.object({
6838
+ groups: z23.array(
6839
+ z23.object({
6840
+ group: z23.string(),
6841
+ label: z23.string(),
6842
+ about: z23.string(),
6843
+ triggers: z23.array(catalogTriggerSchema)
6847
6844
  })
6848
6845
  ),
6849
- reacting: z22.object({
6850
- when: z22.string(),
6851
- aiCheck: z22.string(),
6852
- placeholders: z22.string(),
6853
- times: z22.string(),
6854
- cooldown: z22.string(),
6846
+ reacting: z23.object({
6847
+ when: z23.string(),
6848
+ aiCheck: z23.string(),
6849
+ placeholders: z23.string(),
6850
+ times: z23.string(),
6851
+ cooldown: z23.string(),
6855
6852
  /** Only in the organization workspace's catalog. */
6856
- companies: z22.string().optional()
6853
+ companies: z23.string().optional()
6857
6854
  })
6858
6855
  });
6859
6856
 
6860
6857
  // ../api/src/testimonials.ts
6861
- import { z as z23 } from "zod";
6862
- var testimonialSourceTypeSchema = z23.enum([
6858
+ import { z as z24 } from "zod";
6859
+ var testimonialSourceTypeSchema = z24.enum([
6863
6860
  "google",
6864
6861
  "trustpilot",
6865
6862
  "yelp",
@@ -6870,107 +6867,107 @@ var testimonialSourceTypeSchema = z23.enum([
6870
6867
  "app_store",
6871
6868
  "google_play"
6872
6869
  ]);
6873
- var testimonialStatusSchema = z23.enum(["pending", "processing", "ready", "error"]);
6874
- var testimonialSentimentSchema = z23.enum(["positive", "neutral", "negative"]);
6875
- var testimonialDocSchema = z23.object({
6876
- _id: z23.string(),
6877
- _creationTime: z23.number(),
6878
- companyId: z23.string(),
6879
- sourceId: z23.string(),
6870
+ var testimonialStatusSchema = z24.enum(["pending", "processing", "ready", "error"]);
6871
+ var testimonialSentimentSchema = z24.enum(["positive", "neutral", "negative"]);
6872
+ var testimonialDocSchema = z24.object({
6873
+ _id: z24.string(),
6874
+ _creationTime: z24.number(),
6875
+ companyId: z24.string(),
6876
+ sourceId: z24.string(),
6880
6877
  sourceType: testimonialSourceTypeSchema,
6881
- reviewText: z23.string(),
6882
- reviewTitle: z23.string().optional(),
6883
- reviewerName: z23.string().optional(),
6884
- reviewerImageUrl: z23.string().optional(),
6885
- reviewerImageId: z23.string().optional(),
6886
- reviewerLocation: z23.string().optional(),
6887
- rating: z23.number().optional(),
6888
- reviewDate: z23.number().optional(),
6889
- ownerAnswer: z23.string().optional(),
6890
- mediaUrls: z23.array(z23.string()).optional(),
6891
- imageIds: z23.array(z23.string()).optional(),
6892
- videoIds: z23.array(z23.string()).optional(),
6893
- sourceUrl: z23.string().optional(),
6894
- tags: z23.array(z23.string()),
6895
- highlight: z23.string().optional(),
6896
- language: z23.string().optional(),
6897
- summary: z23.string().optional(),
6878
+ reviewText: z24.string(),
6879
+ reviewTitle: z24.string().optional(),
6880
+ reviewerName: z24.string().optional(),
6881
+ reviewerImageUrl: z24.string().optional(),
6882
+ reviewerImageId: z24.string().optional(),
6883
+ reviewerLocation: z24.string().optional(),
6884
+ rating: z24.number().optional(),
6885
+ reviewDate: z24.number().optional(),
6886
+ ownerAnswer: z24.string().optional(),
6887
+ mediaUrls: z24.array(z24.string()).optional(),
6888
+ imageIds: z24.array(z24.string()).optional(),
6889
+ videoIds: z24.array(z24.string()).optional(),
6890
+ sourceUrl: z24.string().optional(),
6891
+ tags: z24.array(z24.string()),
6892
+ highlight: z24.string().optional(),
6893
+ language: z24.string().optional(),
6894
+ summary: z24.string().optional(),
6898
6895
  sentiment: testimonialSentimentSchema.optional(),
6899
- externalId: z23.string().optional(),
6900
- contentHash: z23.string().optional(),
6896
+ externalId: z24.string().optional(),
6897
+ contentHash: z24.string().optional(),
6901
6898
  status: testimonialStatusSchema,
6902
- errorMessage: z23.string().optional(),
6903
- createdAt: z23.number(),
6904
- updatedAt: z23.number()
6899
+ errorMessage: z24.string().optional(),
6900
+ createdAt: z24.number(),
6901
+ updatedAt: z24.number()
6905
6902
  });
6906
- var testimonialsListRequestSchema = z23.object({
6903
+ var testimonialsListRequestSchema = z24.object({
6907
6904
  source: testimonialSourceTypeSchema.optional(),
6908
- rating_min: z23.coerce.number().int().min(1).max(5).optional(),
6909
- rating_max: z23.coerce.number().int().min(1).max(5).optional(),
6910
- tags: z23.string().transform((s) => s.split(",").filter(Boolean)).optional(),
6905
+ rating_min: z24.coerce.number().int().min(1).max(5).optional(),
6906
+ rating_max: z24.coerce.number().int().min(1).max(5).optional(),
6907
+ tags: z24.string().transform((s) => s.split(",").filter(Boolean)).optional(),
6911
6908
  status: testimonialStatusSchema.optional(),
6912
6909
  sentiment: testimonialSentimentSchema.optional(),
6913
- language: z23.string().min(2).max(5).optional(),
6914
- limit: z23.coerce.number().int().positive().max(200).optional(),
6910
+ language: z24.string().min(2).max(5).optional(),
6911
+ limit: z24.coerce.number().int().positive().max(200).optional(),
6915
6912
  // Opaque, from the previous response's `X-Baker-Next-Cursor`. Absent on the
6916
6913
  // first page; its absence on a response means the corpus is exhausted.
6917
- cursor: z23.string().optional()
6914
+ cursor: z24.string().optional()
6918
6915
  });
6919
- var testimonialsListResponseSchema = z23.array(testimonialDocSchema);
6920
- var testimonialsGetRequestSchema = z23.object({ id: z23.string().min(1, "Missing id parameter") });
6921
- var testimonialsSearchRequestSchema = z23.object({
6922
- query: z23.string().min(1),
6923
- limit: z23.coerce.number().int().positive().max(100).optional(),
6916
+ var testimonialsListResponseSchema = z24.array(testimonialDocSchema);
6917
+ var testimonialsGetRequestSchema = z24.object({ id: z24.string().min(1, "Missing id parameter") });
6918
+ var testimonialsSearchRequestSchema = z24.object({
6919
+ query: z24.string().min(1),
6920
+ limit: z24.coerce.number().int().positive().max(100).optional(),
6924
6921
  source: testimonialSourceTypeSchema.optional(),
6925
- rating_min: z23.coerce.number().int().min(1).max(5).optional(),
6926
- rating_max: z23.coerce.number().int().min(1).max(5).optional(),
6927
- tags: z23.array(z23.string()).optional(),
6922
+ rating_min: z24.coerce.number().int().min(1).max(5).optional(),
6923
+ rating_max: z24.coerce.number().int().min(1).max(5).optional(),
6924
+ tags: z24.array(z24.string()).optional(),
6928
6925
  status: testimonialStatusSchema.optional(),
6929
6926
  sentiment: testimonialSentimentSchema.optional(),
6930
- language: z23.string().min(2).max(5).optional()
6927
+ language: z24.string().min(2).max(5).optional()
6931
6928
  }).refine(
6932
6929
  (data) => data.rating_min === void 0 || data.rating_max === void 0 || data.rating_min <= data.rating_max,
6933
6930
  { message: "rating_min must be less than or equal to rating_max" }
6934
6931
  );
6935
- var testimonialsSearchResponseSchema = z23.array(testimonialDocSchema);
6936
- var testimonialsOutscraperWebhookResponseSchema = z23.object({
6937
- ok: z23.literal(true),
6938
- note: z23.string().optional()
6939
- });
6940
- var testimonialSourceRefreshIntervalSchema = z23.enum(["never", "daily", "weekly", "monthly"]);
6941
- var testimonialSourceSummarySchema = z23.object({
6942
- id: z23.string(),
6932
+ var testimonialsSearchResponseSchema = z24.array(testimonialDocSchema);
6933
+ var testimonialsOutscraperWebhookResponseSchema = z24.object({
6934
+ ok: z24.literal(true),
6935
+ note: z24.string().optional()
6936
+ });
6937
+ var testimonialSourceRefreshIntervalSchema = z24.enum(["never", "daily", "weekly", "monthly"]);
6938
+ var testimonialSourceSummarySchema = z24.object({
6939
+ id: z24.string(),
6943
6940
  platform: testimonialSourceTypeSchema,
6944
- platformLabel: z23.string(),
6945
- label: z23.string(),
6946
- pageUrl: z23.string().optional(),
6947
- status: z23.enum(["importing", "idle", "error"]),
6948
- reviews: z23.number(),
6949
- refreshInterval: z23.string(),
6950
- lastSyncedAt: z23.number().optional(),
6951
- error: z23.string().optional(),
6952
- createdAt: z23.number()
6953
- });
6954
- var testimonialSourcesAddRequestSchema = z23.object({
6941
+ platformLabel: z24.string(),
6942
+ label: z24.string(),
6943
+ pageUrl: z24.string().optional(),
6944
+ status: z24.enum(["importing", "idle", "error"]),
6945
+ reviews: z24.number(),
6946
+ refreshInterval: z24.string(),
6947
+ lastSyncedAt: z24.number().optional(),
6948
+ error: z24.string().optional(),
6949
+ createdAt: z24.number()
6950
+ });
6951
+ var testimonialSourcesAddRequestSchema = z24.object({
6955
6952
  /** The review page's link; for Google Maps also the business name. */
6956
- input: z23.string().trim().min(1, "Pass the review page's link, or a business name for Google Maps"),
6953
+ input: z24.string().trim().min(1, "Pass the review page's link, or a business name for Google Maps"),
6957
6954
  /** Needed only to force a site: a business name is Google, a link names its own site. */
6958
6955
  platform: testimonialSourceTypeSchema.optional(),
6959
6956
  /** Auto-sync cadence. Omitted = never, like the dashboard. */
6960
6957
  every: testimonialSourceRefreshIntervalSchema.optional()
6961
6958
  });
6962
- var sourceIdSchema = z23.string().trim().min(1, "Pass a source id from `baker testimonials sources list`");
6963
- var testimonialSourcesSyncRequestSchema = z23.object({ id: sourceIdSchema });
6964
- var testimonialSourcesRemoveRequestSchema = z23.object({ id: sourceIdSchema });
6965
- var testimonialSourcesScheduleRequestSchema = z23.object({
6959
+ var sourceIdSchema = z24.string().trim().min(1, "Pass a source id from `baker testimonials sources list`");
6960
+ var testimonialSourcesSyncRequestSchema = z24.object({ id: sourceIdSchema });
6961
+ var testimonialSourcesRemoveRequestSchema = z24.object({ id: sourceIdSchema });
6962
+ var testimonialSourcesScheduleRequestSchema = z24.object({
6966
6963
  id: sourceIdSchema,
6967
6964
  every: testimonialSourceRefreshIntervalSchema
6968
6965
  });
6969
6966
 
6970
6967
  // ../api/src/videos.ts
6971
- import { z as z24 } from "zod";
6972
- var videoStatusSchema = z24.enum(["uploading", "uploaded", "processing", "ready", "error"]);
6973
- var videoSourceSchema = z24.enum([
6968
+ import { z as z25 } from "zod";
6969
+ var videoStatusSchema = z25.enum(["uploading", "uploaded", "processing", "ready", "error"]);
6970
+ var videoSourceSchema = z25.enum([
6974
6971
  "uploaded",
6975
6972
  "url",
6976
6973
  "bilibili",
@@ -6997,337 +6994,337 @@ var videoSourceSchema = z24.enum([
6997
6994
  "youtube",
6998
6995
  "shopify"
6999
6996
  ]);
7000
- var videoTranscriptSegmentSchema = z24.object({
7001
- text: z24.string(),
7002
- startSecond: z24.number(),
7003
- endSecond: z24.number()
7004
- });
7005
- var videoSceneSchema = z24.object({
7006
- title: z24.string(),
7007
- description: z24.string(),
7008
- startSecond: z24.number(),
7009
- endSecond: z24.number(),
7010
- thumbnailTime: z24.number(),
6997
+ var videoTranscriptSegmentSchema = z25.object({
6998
+ text: z25.string(),
6999
+ startSecond: z25.number(),
7000
+ endSecond: z25.number()
7001
+ });
7002
+ var videoSceneSchema = z25.object({
7003
+ title: z25.string(),
7004
+ description: z25.string(),
7005
+ startSecond: z25.number(),
7006
+ endSecond: z25.number(),
7007
+ thumbnailTime: z25.number(),
7011
7008
  // Optional because rows analysed before the richer beat breakdown shipped
7012
7009
  // carry only the five fields above.
7013
- shot: z24.string().optional(),
7014
- visualChange: z24.string().optional(),
7015
- onScreenText: z24.array(z24.string()).optional(),
7016
- hasOverlay: z24.boolean().optional(),
7017
- onCamera: z24.array(z24.string()).optional(),
7018
- spoken: z24.string().optional()
7019
- });
7020
- var videoAnalysisSchema = z24.object({
7021
- subject: z24.string(),
7022
- people: z24.array(mediaPersonSchema),
7023
- brandOwnership: z24.string(),
7024
- spokenLanguages: z24.array(z24.string()),
7025
- onScreenText: z24.array(z24.string()),
7026
- shotStyle: z24.string(),
7027
- audioStyle: z24.string(),
7028
- hook: z24.string(),
7029
- usageNotes: z24.string(),
7010
+ shot: z25.string().optional(),
7011
+ visualChange: z25.string().optional(),
7012
+ onScreenText: z25.array(z25.string()).optional(),
7013
+ hasOverlay: z25.boolean().optional(),
7014
+ onCamera: z25.array(z25.string()).optional(),
7015
+ spoken: z25.string().optional()
7016
+ });
7017
+ var videoAnalysisSchema = z25.object({
7018
+ subject: z25.string(),
7019
+ people: z25.array(mediaPersonSchema),
7020
+ brandOwnership: z25.string(),
7021
+ spokenLanguages: z25.array(z25.string()),
7022
+ onScreenText: z25.array(z25.string()),
7023
+ shotStyle: z25.string(),
7024
+ audioStyle: z25.string(),
7025
+ hook: z25.string(),
7026
+ usageNotes: z25.string(),
7030
7027
  // Optional because rows analysed before analysis version 2 do not carry them.
7031
- format: z24.string().optional(),
7032
- tone: z24.string().optional(),
7033
- productClaims: z24.array(z24.string()).optional()
7034
- });
7035
- var videoDocSchema = z24.object({
7036
- _id: z24.string(),
7037
- _creationTime: z24.number(),
7038
- companyId: z24.string(),
7039
- muxAssetId: z24.string(),
7040
- muxPlaybackId: z24.string(),
7041
- muxUploadId: z24.string(),
7042
- name: z24.string(),
7043
- description: z24.string(),
7044
- tags: z24.array(z24.string()),
7045
- source: z24.string(),
7046
- externalId: z24.string().optional(),
7047
- externalUrl: z24.string().optional(),
7048
- sourceId: z24.string().optional(),
7049
- originalFilename: z24.string().optional(),
7050
- descriptionContext: z24.string().optional(),
7028
+ format: z25.string().optional(),
7029
+ tone: z25.string().optional(),
7030
+ productClaims: z25.array(z25.string()).optional()
7031
+ });
7032
+ var videoDocSchema = z25.object({
7033
+ _id: z25.string(),
7034
+ _creationTime: z25.number(),
7035
+ companyId: z25.string(),
7036
+ muxAssetId: z25.string(),
7037
+ muxPlaybackId: z25.string(),
7038
+ muxUploadId: z25.string(),
7039
+ name: z25.string(),
7040
+ description: z25.string(),
7041
+ tags: z25.array(z25.string()),
7042
+ source: z25.string(),
7043
+ externalId: z25.string().optional(),
7044
+ externalUrl: z25.string().optional(),
7045
+ sourceId: z25.string().optional(),
7046
+ originalFilename: z25.string().optional(),
7047
+ descriptionContext: z25.string().optional(),
7051
7048
  analysis: videoAnalysisSchema.optional(),
7052
- width: z24.number().optional(),
7053
- height: z24.number().optional(),
7054
- aspectRatio: z24.number().optional(),
7055
- duration: z24.number().optional(),
7056
- transcript: z24.string().optional(),
7057
- transcriptSegments: z24.array(videoTranscriptSegmentSchema).optional(),
7058
- scenes: z24.array(videoSceneSchema).optional(),
7059
- descriptionEmbedding: z24.array(z24.number()).optional(),
7060
- searchText: z24.string().optional(),
7049
+ width: z25.number().optional(),
7050
+ height: z25.number().optional(),
7051
+ aspectRatio: z25.number().optional(),
7052
+ duration: z25.number().optional(),
7053
+ transcript: z25.string().optional(),
7054
+ transcriptSegments: z25.array(videoTranscriptSegmentSchema).optional(),
7055
+ scenes: z25.array(videoSceneSchema).optional(),
7056
+ descriptionEmbedding: z25.array(z25.number()).optional(),
7057
+ searchText: z25.string().optional(),
7061
7058
  status: videoStatusSchema,
7062
- errorMessage: z24.string().optional(),
7063
- createdAt: z24.number(),
7064
- updatedAt: z24.number(),
7065
- thumbnailUrl: z24.string()
7059
+ errorMessage: z25.string().optional(),
7060
+ createdAt: z25.number(),
7061
+ updatedAt: z25.number(),
7062
+ thumbnailUrl: z25.string()
7066
7063
  }).extend(assetGroupFieldsSchema.shape);
7067
- var videosWebhookResponseSchema = z24.object({ ok: z24.literal(true) });
7068
- var videosGetRequestSchema = z24.object({ id: z24.string().min(1, "Missing id parameter") });
7064
+ var videosWebhookResponseSchema = z25.object({ ok: z25.literal(true) });
7065
+ var videosGetRequestSchema = z25.object({ id: z25.string().min(1, "Missing id parameter") });
7069
7066
  var videosGetResponseSchema = videoDocSchema.omit({ descriptionEmbedding: true, searchText: true });
7070
- var videosSearchRequestSchema = z24.object({
7071
- query: z24.string().min(1),
7072
- limit: z24.coerce.number().int().positive().max(100).optional(),
7073
- tags: z24.array(z24.string()).optional()
7074
- });
7075
- var videoSearchResultSchema = z24.object({
7076
- _id: z24.string(),
7077
- thumbnailUrl: z24.string(),
7078
- name: z24.string(),
7079
- description: z24.string(),
7080
- tags: z24.array(z24.string()),
7081
- status: z24.string(),
7082
- duration: z24.number().optional(),
7083
- muxPlaybackId: z24.string(),
7084
- createdAt: z24.number(),
7067
+ var videosSearchRequestSchema = z25.object({
7068
+ query: z25.string().min(1),
7069
+ limit: z25.coerce.number().int().positive().max(100).optional(),
7070
+ tags: z25.array(z25.string()).optional()
7071
+ });
7072
+ var videoSearchResultSchema = z25.object({
7073
+ _id: z25.string(),
7074
+ thumbnailUrl: z25.string(),
7075
+ name: z25.string(),
7076
+ description: z25.string(),
7077
+ tags: z25.array(z25.string()),
7078
+ status: z25.string(),
7079
+ duration: z25.number().optional(),
7080
+ muxPlaybackId: z25.string(),
7081
+ createdAt: z25.number(),
7085
7082
  // The agent picks a clip from this projection alone, so the facts that decide
7086
7083
  // a pick travel with it: how many beats, whether it is transcribed, and who
7087
7084
  // is in it.
7088
- sceneCount: z24.number(),
7089
- hasTranscript: z24.boolean(),
7085
+ sceneCount: z25.number(),
7086
+ hasTranscript: z25.boolean(),
7090
7087
  analysis: videoAnalysisSchema.optional(),
7091
7088
  // Relevance, on the same footing as `imageSearchResultSchema.score`: the reranker's
7092
7089
  // rerank score when the rerank ran, the RRF fusion score when it did not. A
7093
7090
  // clip hit used to arrive with no measure of how good it was.
7094
- score: z24.number(),
7091
+ score: z25.number(),
7095
7092
  /** The set this clip arrived in — a carousel mixes stills and clips. */
7096
7093
  group: assetGroupRefSchema.optional()
7097
7094
  });
7098
- var videosSearchResponseSchema = z24.array(videoSearchResultSchema);
7099
- var videosUploadRequestSchema = z24.object({
7100
- originalFilename: z24.string().optional(),
7101
- descriptionContext: z24.string().optional()
7095
+ var videosSearchResponseSchema = z25.array(videoSearchResultSchema);
7096
+ var videosUploadRequestSchema = z25.object({
7097
+ originalFilename: z25.string().optional(),
7098
+ descriptionContext: z25.string().optional()
7102
7099
  });
7103
- var videosUploadResponseSchema = z24.object({ uploadUrl: z24.string(), videoId: z24.string() });
7104
- var videosIngestRequestSchema = z24.object({
7100
+ var videosUploadResponseSchema = z25.object({ uploadUrl: z25.string(), videoId: z25.string() });
7101
+ var videosIngestRequestSchema = z25.object({
7105
7102
  // Must be a direct media file Mux can pull (mp4/mov/webm/…). A page URL —
7106
7103
  // a YouTube watch link, a TikTok post — is not one: the CLI resolves those to
7107
7104
  // a media file before calling this route.
7108
- url: z24.string().url(),
7105
+ url: z25.string().url(),
7109
7106
  source: videoSourceSchema,
7110
- externalId: z24.string().optional(),
7111
- externalUrl: z24.string().optional(),
7107
+ externalId: z25.string().optional(),
7108
+ externalUrl: z25.string().optional(),
7112
7109
  // What the person adding the clip knew that the frames cannot show — which
7113
7110
  // campaign it belongs to, whether the person on camera is a real customer.
7114
7111
  // The upload route has carried this since it existed; ingest silently dropped
7115
7112
  // it, so a link-added clip was analysed with strictly less to go on than the
7116
7113
  // same file uploaded by hand.
7117
- descriptionContext: z24.string().optional()
7114
+ descriptionContext: z25.string().optional()
7118
7115
  });
7119
- var videosIngestResponseSchema = z24.object({
7120
- videoId: z24.string(),
7121
- deduped: z24.boolean()
7116
+ var videosIngestResponseSchema = z25.object({
7117
+ videoId: z25.string(),
7118
+ deduped: z25.boolean()
7122
7119
  });
7123
- var videosDescribeRequestSchema = z24.object({
7124
- id: z24.string().min(1, "Missing video ID"),
7125
- name: z24.string().min(1).optional(),
7126
- description: z24.string().min(1).optional(),
7127
- tags: z24.array(z24.string()).optional(),
7120
+ var videosDescribeRequestSchema = z25.object({
7121
+ id: z25.string().min(1, "Missing video ID"),
7122
+ name: z25.string().min(1).optional(),
7123
+ description: z25.string().min(1).optional(),
7124
+ tags: z25.array(z25.string()).optional(),
7128
7125
  /** Return the whole library row alongside the three fields that changed. */
7129
- full: z24.boolean().optional()
7126
+ full: z25.boolean().optional()
7130
7127
  }).refine((body) => body.name !== void 0 || body.description !== void 0 || body.tags !== void 0, {
7131
7128
  message: "Pass at least one of name, description or tags"
7132
7129
  });
7133
- var videosDescribeResponseSchema = z24.object({
7134
- id: z24.string(),
7135
- name: z24.string(),
7136
- description: z24.string(),
7137
- tags: z24.array(z24.string()),
7130
+ var videosDescribeResponseSchema = z25.object({
7131
+ id: z25.string(),
7132
+ name: z25.string(),
7133
+ description: z25.string(),
7134
+ tags: z25.array(z25.string()),
7138
7135
  /** Present only when the request asked for it. */
7139
7136
  video: videosGetResponseSchema.optional()
7140
7137
  });
7141
- var videosDeleteRequestSchema = z24.object({ id: z24.string().min(1, "Missing video ID") });
7142
- var videosDeleteResponseSchema = z24.object({ ok: z24.literal(true) });
7143
- var videosDownloadRequestSchema = z24.object({ id: z24.string().min(1, "Missing video ID") });
7144
- var videosDownloadResponseSchema = z24.discriminatedUnion("status", [
7138
+ var videosDeleteRequestSchema = z25.object({ id: z25.string().min(1, "Missing video ID") });
7139
+ var videosDeleteResponseSchema = z25.object({ ok: z25.literal(true) });
7140
+ var videosDownloadRequestSchema = z25.object({ id: z25.string().min(1, "Missing video ID") });
7141
+ var videosDownloadResponseSchema = z25.discriminatedUnion("status", [
7145
7142
  /** `url` is a public MP4; `filename` is a safe file name for it, `.mp4` included. */
7146
- z24.object({ status: z24.literal("ready"), url: z24.string().url(), filename: z24.string().min(1) }),
7143
+ z25.object({ status: z25.literal("ready"), url: z25.string().url(), filename: z25.string().min(1) }),
7147
7144
  /** Mux is encoding the downloadable file. */
7148
- z24.object({ status: z24.literal("preparing") }),
7145
+ z25.object({ status: z25.literal("preparing") }),
7149
7146
  /** The upload itself has not finished arriving at Mux yet. */
7150
- z24.object({ status: z24.literal("processing") })
7147
+ z25.object({ status: z25.literal("processing") })
7151
7148
  ]);
7152
7149
 
7153
7150
  // ../api/src/brand.ts
7154
- import { z as z25 } from "zod";
7151
+ import { z as z26 } from "zod";
7155
7152
  var BRAND_TOKENS_VERSION = 1;
7156
7153
  var BRAND_COLOR_ROLES = ["background", "surface", "cta", "accent", "foreground", "other"];
7157
7154
  var BRAND_FONT_ROLES = ["heading", "body", "mono"];
7158
7155
  var BRAND_LOGO_VARIANTS = ["logo", "symbol", "icon"];
7159
- var hexColorSchema = z25.string().regex(/^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/, "expected #RRGGBB or #RRGGBBAA").transform((value) => value.toUpperCase());
7160
- var brandColorSchema = z25.strictObject({
7161
- name: z25.string().min(1),
7156
+ var hexColorSchema = z26.string().regex(/^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/, "expected #RRGGBB or #RRGGBBAA").transform((value) => value.toUpperCase());
7157
+ var brandColorSchema = z26.strictObject({
7158
+ name: z26.string().min(1),
7162
7159
  value: hexColorSchema,
7163
- role: z25.enum(BRAND_COLOR_ROLES),
7164
- palette: z25.string().min(1).default("primary")
7165
- });
7166
- var brandFontSchema = z25.strictObject({
7167
- family: z25.string().min(1),
7168
- role: z25.enum(BRAND_FONT_ROLES),
7169
- weights: z25.array(z25.number().int().min(1).max(1e3)).min(1),
7170
- source: z25.enum(["local", "google"]),
7171
- files: z25.array(z25.string().startsWith("src/brand/fonts/")).optional()
7160
+ role: z26.enum(BRAND_COLOR_ROLES),
7161
+ palette: z26.string().min(1).default("primary")
7162
+ });
7163
+ var brandFontSchema = z26.strictObject({
7164
+ family: z26.string().min(1),
7165
+ role: z26.enum(BRAND_FONT_ROLES),
7166
+ weights: z26.array(z26.number().int().min(1).max(1e3)).min(1),
7167
+ source: z26.enum(["local", "google"]),
7168
+ files: z26.array(z26.string().startsWith("src/brand/fonts/")).optional()
7172
7169
  }).refine((font) => font.source !== "local" || (font.files?.length ?? 0) > 0, {
7173
7170
  message: "a local font must list its files under src/brand/fonts/",
7174
7171
  path: ["files"]
7175
7172
  });
7176
- var brandLogoSchema = z25.strictObject({
7177
- variant: z25.enum(BRAND_LOGO_VARIANTS),
7173
+ var brandLogoSchema = z26.strictObject({
7174
+ variant: z26.enum(BRAND_LOGO_VARIANTS),
7178
7175
  /** The background the mark is designed to sit on; null = works on any. */
7179
- background: z25.enum(["light", "dark"]).nullable().default(null),
7180
- path: z25.string().startsWith("src/brand/logos/")
7181
- });
7182
- var brandTokensSchema = z25.strictObject({
7183
- version: z25.literal(BRAND_TOKENS_VERSION),
7184
- colors: z25.array(brandColorSchema).default([]),
7185
- fonts: z25.array(brandFontSchema).default([]),
7186
- logos: z25.array(brandLogoSchema).default([]),
7187
- radius: z25.record(z25.string().min(1), z25.string().min(1)).optional()
7188
- });
7189
- var putBrandRequestSchema = z25.object({
7190
- content: z25.string(),
7176
+ background: z26.enum(["light", "dark"]).nullable().default(null),
7177
+ path: z26.string().startsWith("src/brand/logos/")
7178
+ });
7179
+ var brandTokensSchema = z26.strictObject({
7180
+ version: z26.literal(BRAND_TOKENS_VERSION),
7181
+ colors: z26.array(brandColorSchema).default([]),
7182
+ fonts: z26.array(brandFontSchema).default([]),
7183
+ logos: z26.array(brandLogoSchema).default([]),
7184
+ radius: z26.record(z26.string().min(1), z26.string().min(1)).optional()
7185
+ });
7186
+ var putBrandRequestSchema = z26.object({
7187
+ content: z26.string(),
7191
7188
  tokens: brandTokensSchema.optional(),
7192
- chatId: z25.string().optional()
7189
+ chatId: z26.string().optional()
7193
7190
  });
7194
7191
 
7195
7192
  // ../api/src/creativesRun.ts
7196
- import { z as z26 } from "zod";
7197
- var creativesRunRequestSchema = z26.union([
7193
+ import { z as z27 } from "zod";
7194
+ var creativesRunRequestSchema = z27.union([
7198
7195
  /** A canvas run id (r_…). */
7199
- z26.object({ runId: z26.string().min(1).max(64) }),
7196
+ z27.object({ runId: z27.string().min(1).max(64) }),
7200
7197
  /** The creative (src/creatives/<slug>/): the version it shows, chosen or else newest. */
7201
- z26.object({ slug: z26.string().min(1).max(200) })
7198
+ z27.object({ slug: z27.string().min(1).max(200) })
7202
7199
  ]);
7203
- var runOutputSchema = z26.object({
7204
- slot: z26.string(),
7205
- label: z26.string().optional(),
7206
- kind: z26.string(),
7207
- sha256: z26.string(),
7208
- url: z26.string().optional(),
7209
- mime: z26.string(),
7210
- width: z26.number().optional(),
7211
- height: z26.number().optional(),
7212
- durationMs: z26.number().optional()
7213
- });
7214
- var creativesRunDataSchema = z26.object({
7215
- runId: z26.string(),
7216
- creativeSlug: z26.string().optional(),
7200
+ var runOutputSchema = z27.object({
7201
+ slot: z27.string(),
7202
+ label: z27.string().optional(),
7203
+ kind: z27.string(),
7204
+ sha256: z27.string(),
7205
+ url: z27.string().optional(),
7206
+ mime: z27.string(),
7207
+ width: z27.number().optional(),
7208
+ height: z27.number().optional(),
7209
+ durationMs: z27.number().optional()
7210
+ });
7211
+ var creativesRunDataSchema = z27.object({
7212
+ runId: z27.string(),
7213
+ creativeSlug: z27.string().optional(),
7217
7214
  /** running | completed | failed | awaiting_approval (stopped at a checkpoint). */
7218
- status: z26.string(),
7219
- interrupted: z26.boolean().optional(),
7220
- errorMessage: z26.string().optional(),
7221
- sourceSha: z26.string().optional(),
7222
- createdAt: z26.number(),
7223
- updatedAt: z26.number().optional(),
7224
- stats: z26.object({
7225
- totalNodes: z26.number(),
7226
- cachedNodes: z26.number(),
7227
- totalCredits: z26.number(),
7228
- durationMs: z26.number()
7215
+ status: z27.string(),
7216
+ interrupted: z27.boolean().optional(),
7217
+ errorMessage: z27.string().optional(),
7218
+ sourceSha: z27.string().optional(),
7219
+ createdAt: z27.number(),
7220
+ updatedAt: z27.number().optional(),
7221
+ stats: z27.object({
7222
+ totalNodes: z27.number(),
7223
+ cachedNodes: z27.number(),
7224
+ totalCredits: z27.number(),
7225
+ durationMs: z27.number()
7229
7226
  }),
7230
- finalOutputs: z26.array(runOutputSchema),
7231
- nodes: z26.array(
7232
- z26.object({
7233
- nodeId: z26.string(),
7234
- nodeType: z26.string(),
7235
- cached: z26.boolean(),
7236
- credits: z26.number(),
7237
- durationMs: z26.number(),
7238
- status: z26.string().optional(),
7239
- outputs: z26.array(runOutputSchema)
7227
+ finalOutputs: z27.array(runOutputSchema),
7228
+ nodes: z27.array(
7229
+ z27.object({
7230
+ nodeId: z27.string(),
7231
+ nodeType: z27.string(),
7232
+ cached: z27.boolean(),
7233
+ credits: z27.number(),
7234
+ durationMs: z27.number(),
7235
+ status: z27.string().optional(),
7236
+ outputs: z27.array(runOutputSchema)
7240
7237
  })
7241
7238
  ),
7242
- review: z26.array(z26.object({ severity: z26.string(), what: z26.string(), scene: z26.string().optional() })).optional(),
7239
+ review: z27.array(z27.object({ severity: z27.string(), what: z27.string(), scene: z27.string().optional() })).optional(),
7243
7240
  /** Where the graph this run executed is kept (every node's declaration): what a correction grows on. */
7244
- graphUrl: z26.string().optional(),
7241
+ graphUrl: z27.string().optional(),
7245
7242
  /** The files the run drew (its canvas, prompt.json, …) as a snapshot manifest. */
7246
- canvasSnapshotUrl: z26.string().optional()
7243
+ canvasSnapshotUrl: z27.string().optional()
7247
7244
  });
7248
- var creativesRunResponseSchema = z26.object({
7249
- ok: z26.literal(true),
7245
+ var creativesRunResponseSchema = z27.object({
7246
+ ok: z27.literal(true),
7250
7247
  data: creativesRunDataSchema
7251
7248
  });
7252
7249
 
7253
7250
  // ../api/src/scheduledAgents.ts
7254
- import { z as z27 } from "zod";
7255
- var scheduledAgentRunsAsSchema = z27.object({
7251
+ import { z as z28 } from "zod";
7252
+ var scheduledAgentRunsAsSchema = z28.object({
7256
7253
  /** The person each run acts as; null when nobody owns it, so only the company's tools load. */
7257
- name: z27.string().nullable(),
7254
+ name: z28.string().nullable(),
7258
7255
  /** That person's own connected tools. */
7259
- personalTools: z27.array(z27.string()),
7256
+ personalTools: z28.array(z28.string()),
7260
7257
  /** The company's and organization's tools, and the platforms Baker connects to directly. */
7261
- companyTools: z27.array(z27.string()),
7258
+ companyTools: z28.array(z28.string()),
7262
7259
  /** Set up, but nobody has signed in to them, so a run gets nothing from them. */
7263
- notSignedIn: z27.array(z27.string()).optional()
7260
+ notSignedIn: z28.array(z28.string()).optional()
7264
7261
  });
7265
7262
  var AUTO_PUBLISH_REFUSAL = 'Publishing every run unreviewed is a standing authorization only the user can grant, on the item itself, so it is recorded against their name. Stage the item without it, and once this chat is published ask the user to switch on "Publish its work on its own" (under "When a run finishes") on the item in Scheduled agents.';
7266
- var scheduledAgentsUnstageRequestSchema = z27.object({
7267
- chatId: z27.string().min(1),
7263
+ var scheduledAgentsUnstageRequestSchema = z28.object({
7264
+ chatId: z28.string().min(1),
7268
7265
  /** The item: a published id or a temp_agent_* id this chat staged. */
7269
- ref: z27.string().min(1),
7266
+ ref: z28.string().min(1),
7270
7267
  /** One change of it, by its `index` in `list`'s draft. Left out, every change staged on it. */
7271
- index: z27.number().int().min(0).optional()
7268
+ index: z28.number().int().min(0).optional()
7272
7269
  });
7273
- var scheduledAgentsUnstageResponseSchema = z27.object({
7274
- ok: z27.literal(true),
7275
- data: z27.object({ ref: z27.string(), removed: z27.number().int().min(1) })
7270
+ var scheduledAgentsUnstageResponseSchema = z28.object({
7271
+ ok: z28.literal(true),
7272
+ data: z28.object({ ref: z28.string(), removed: z28.number().int().min(1) })
7276
7273
  });
7277
- var scheduledAgentsListRequestSchema = z27.object({
7274
+ var scheduledAgentsListRequestSchema = z28.object({
7278
7275
  /** Also return what this chat staged. */
7279
- chatId: z27.string().min(1).optional(),
7276
+ chatId: z28.string().min(1).optional(),
7280
7277
  /** Every item and staged change as stored, briefs included. Left out, the compact view below. */
7281
- full: z27.boolean().optional()
7278
+ full: z28.boolean().optional()
7282
7279
  });
7283
- var scheduledAgentListItemSchema = z27.object({
7284
- id: z27.string(),
7285
- name: z27.string(),
7286
- description: z27.string(),
7287
- enabled: z27.boolean(),
7280
+ var scheduledAgentListItemSchema = z28.object({
7281
+ id: z28.string(),
7282
+ name: z28.string(),
7283
+ description: z28.string(),
7284
+ enabled: z28.boolean(),
7288
7285
  trigger: scheduledAgentTriggerSchema,
7289
7286
  occurrences: occurrencesSchema.optional(),
7290
7287
  conditions: conditionsSchema.optional(),
7291
- cooldownMinutes: z27.number().optional(),
7288
+ cooldownMinutes: z28.number().optional(),
7292
7289
  /** The condition in plain words the AI check judges what arrived against. */
7293
- aiCondition: z27.string().optional(),
7290
+ aiCondition: z28.string().optional(),
7294
7291
  /** ISO. Only a one-off knows its next moment. */
7295
- nextRunAt: z27.string().optional(),
7292
+ nextRunAt: z28.string().optional(),
7296
7293
  /** ISO. */
7297
- lastRunAt: z27.string().optional(),
7298
- firedCount: z27.number(),
7299
- totalRuns: z27.number(),
7300
- publishesOwnWork: z27.literal(true).optional(),
7294
+ lastRunAt: z28.string().optional(),
7295
+ firedCount: z28.number(),
7296
+ totalRuns: z28.number(),
7297
+ publishesOwnWork: z28.literal(true).optional(),
7301
7298
  /** Whether the connected tool is reporting to an `app.event` item. */
7302
- listening: z27.object({ status: z27.string(), reason: z27.string().optional() }).optional()
7299
+ listening: z28.object({ status: z28.string(), reason: z28.string().optional() }).optional()
7303
7300
  });
7304
- var scheduledAgentStagedChangeSchema = z27.object({
7305
- index: z27.number().int().min(0),
7306
- kind: z27.enum(["create", "update", "delete"]),
7301
+ var scheduledAgentStagedChangeSchema = z28.object({
7302
+ index: z28.number().int().min(0),
7303
+ kind: z28.enum(["create", "update", "delete"]),
7307
7304
  /** The published id, or the temp_agent_* id a create returned. */
7308
- ref: z27.string(),
7309
- name: z27.string(),
7310
- description: z27.string().optional(),
7305
+ ref: z28.string(),
7306
+ name: z28.string(),
7307
+ description: z28.string().optional(),
7311
7308
  trigger: scheduledAgentTriggerSchema.optional(),
7312
- enabled: z27.boolean().optional(),
7309
+ enabled: z28.boolean().optional(),
7313
7310
  /** For an update: the fields it changes. */
7314
- changes: z27.array(z27.string()).optional(),
7315
- result: z27.object({
7316
- status: z27.enum(["applied", "skipped", "failed"]),
7317
- reason: z27.string().optional(),
7318
- scheduledAgentId: z27.string().optional()
7311
+ changes: z28.array(z28.string()).optional(),
7312
+ result: z28.object({
7313
+ status: z28.enum(["applied", "skipped", "failed"]),
7314
+ reason: z28.string().optional(),
7315
+ scheduledAgentId: z28.string().optional()
7319
7316
  }).optional()
7320
7317
  });
7321
- var scheduledAgentsListResponseSchema = z27.object({
7322
- ok: z27.literal(true),
7323
- data: z27.object({
7324
- published: z27.array(scheduledAgentListItemSchema),
7325
- draft: z27.object({
7326
- status: z27.enum(["active", "publishing", "discarded", "applied"]).nullable(),
7327
- ops: z27.array(scheduledAgentStagedChangeSchema)
7318
+ var scheduledAgentsListResponseSchema = z28.object({
7319
+ ok: z28.literal(true),
7320
+ data: z28.object({
7321
+ published: z28.array(scheduledAgentListItemSchema),
7322
+ draft: z28.object({
7323
+ status: z28.enum(["active", "publishing", "discarded", "applied"]).nullable(),
7324
+ ops: z28.array(scheduledAgentStagedChangeSchema)
7328
7325
  }).nullable()
7329
7326
  }),
7330
- hints: z27.array(z27.string()).optional()
7327
+ hints: z28.array(z28.string()).optional()
7331
7328
  });
7332
7329
  var SCHEDULED_AGENT_HISTORY_OUTCOMES = [
7333
7330
  "ran",
@@ -7340,58 +7337,58 @@ var SCHEDULED_AGENT_HISTORY_OUTCOMES = [
7340
7337
  "paused",
7341
7338
  "closed"
7342
7339
  ];
7343
- var scheduledAgentHistoryRequestSchema = z27.object({
7340
+ var scheduledAgentHistoryRequestSchema = z28.object({
7344
7341
  /** A published Scheduled agent id. */
7345
- id: z27.string().min(1),
7342
+ id: z28.string().min(1),
7346
7343
  /** How many lines on this page, newest first. Default 50, at most 200. */
7347
- limit: z27.number().int().min(1).max(200).optional(),
7344
+ limit: z28.number().int().min(1).max(200).optional(),
7348
7345
  /** The `nextCursor` of the previous page. Left out, the newest page. */
7349
- cursor: z27.string().min(1).optional(),
7346
+ cursor: z28.string().min(1).optional(),
7350
7347
  /** Only the firings that opened a run, or only the ones that did not. */
7351
- only: z27.enum(["ran", "skipped"]).optional(),
7348
+ only: z28.enum(["ran", "skipped"]).optional(),
7352
7349
  /** Include what arrived with each firing (masked). Left out, the compact view. */
7353
- full: z27.boolean().optional()
7350
+ full: z28.boolean().optional()
7354
7351
  });
7355
- var scheduledAgentHistoryLineSchema = z27.object({
7352
+ var scheduledAgentHistoryLineSchema = z28.object({
7356
7353
  /** ISO. */
7357
- at: z27.string(),
7358
- outcome: z27.enum(SCHEDULED_AGENT_HISTORY_OUTCOMES),
7354
+ at: z28.string(),
7355
+ outcome: z28.enum(SCHEDULED_AGENT_HISTORY_OUTCOMES),
7359
7356
  /** The outcome in words. */
7360
- reason: z27.string(),
7361
- via: z27.enum(["trigger", "manual"]),
7362
- firing: z27.number().optional(),
7357
+ reason: z28.string(),
7358
+ via: z28.enum(["trigger", "manual"]),
7359
+ firing: z28.number().optional(),
7363
7360
  /** The run it opened, and where that run is now. */
7364
- chatId: z27.string().optional(),
7365
- runStatus: z27.string().optional(),
7361
+ chatId: z28.string().optional(),
7362
+ runStatus: z28.string().optional(),
7366
7363
  /** The AI check's score for what arrived, 0–1; `unavailable` when the model did not answer and the item ran anyway. */
7367
- aiCheck: z27.union([z27.number(), z27.literal("unavailable")]).optional(),
7368
- alsoMatched: z27.number().optional(),
7369
- fromCompany: z27.string().optional(),
7364
+ aiCheck: z28.union([z28.number(), z28.literal("unavailable")]).optional(),
7365
+ alsoMatched: z28.number().optional(),
7366
+ fromCompany: z28.string().optional(),
7370
7367
  /** For `rules`: each rule that did not hold, and what arrived in its place (or where its field came instead). */
7371
- failedRules: z27.array(z27.object({ rule: z27.string(), finding: z27.string() })).optional(),
7368
+ failedRules: z28.array(z28.object({ rule: z28.string(), finding: z28.string() })).optional(),
7372
7369
  /** What arrived, masked. Only with `full`. */
7373
- arrival: z27.string().optional()
7370
+ arrival: z28.string().optional()
7374
7371
  });
7375
- var scheduledAgentHistoryResponseSchema = z27.object({
7376
- ok: z27.literal(true),
7377
- data: z27.object({
7378
- id: z27.string(),
7379
- name: z27.string(),
7380
- lines: z27.array(scheduledAgentHistoryLineSchema),
7372
+ var scheduledAgentHistoryResponseSchema = z28.object({
7373
+ ok: z28.literal(true),
7374
+ data: z28.object({
7375
+ id: z28.string(),
7376
+ name: z28.string(),
7377
+ lines: z28.array(scheduledAgentHistoryLineSchema),
7381
7378
  /** Pass as `--cursor` for the next, older page; null when this was the last. */
7382
- nextCursor: z27.string().nullable()
7379
+ nextCursor: z28.string().nullable()
7383
7380
  }),
7384
- hints: z27.array(z27.string()).optional()
7381
+ hints: z28.array(z28.string()).optional()
7385
7382
  });
7386
7383
 
7387
7384
  // ../api/src/setupLinks.ts
7388
- import { z as z28 } from "zod";
7389
- var namesSchema = z28.array(z28.string().trim().min(1)).max(50);
7390
- var setupLinkMcpSlotSchema = z28.object({
7391
- name: z28.string().trim().min(1),
7392
- url: z28.string().url().optional()
7385
+ import { z as z29 } from "zod";
7386
+ var namesSchema = z29.array(z29.string().trim().min(1)).max(50);
7387
+ var setupLinkMcpSlotSchema = z29.object({
7388
+ name: z29.string().trim().min(1),
7389
+ url: z29.string().url().optional()
7393
7390
  });
7394
- var setupLinkAsksSchema = z28.object({
7391
+ var setupLinkAsksSchema = z29.object({
7395
7392
  /** Tracking tags to add: `meta`, `googleAds`, `googleAnalytics`, … */
7396
7393
  tags: namesSchema.optional(),
7397
7394
  /** Accounts to connect by signing in: `google-ads`, `meta`, `google-analytics`, … */
@@ -7400,121 +7397,121 @@ var setupLinkAsksSchema = z28.object({
7400
7397
  keys: namesSchema.optional(),
7401
7398
  /** Apps from the app catalog, by slug. */
7402
7399
  apps: namesSchema.optional(),
7403
- mcp: z28.array(setupLinkMcpSlotSchema).max(20).optional(),
7400
+ mcp: z29.array(setupLinkMcpSlotSchema).max(20).optional(),
7404
7401
  /** Hostnames of the company's own domains whose DNS the recipient sets. */
7405
7402
  domains: namesSchema.optional()
7406
7403
  });
7407
- var setupLinksCreateResponseSchema = z28.object({
7408
- ok: z28.literal(true),
7409
- data: z28.object({
7410
- id: z28.string(),
7411
- url: z28.string(),
7412
- expiresAt: z28.string(),
7413
- title: z28.string()
7404
+ var setupLinksCreateResponseSchema = z29.object({
7405
+ ok: z29.literal(true),
7406
+ data: z29.object({
7407
+ id: z29.string(),
7408
+ url: z29.string(),
7409
+ expiresAt: z29.string(),
7410
+ title: z29.string()
7414
7411
  })
7415
7412
  });
7416
- var setupLinksListRequestSchema = z28.object({});
7417
- var setupLinkListItemSchema = z28.object({
7418
- id: z28.string(),
7413
+ var setupLinksListRequestSchema = z29.object({});
7414
+ var setupLinkListItemSchema = z29.object({
7415
+ id: z29.string(),
7419
7416
  /** Absent for a read-only caller: the link is its own credential. */
7420
- url: z28.string().optional(),
7417
+ url: z29.string().optional(),
7421
7418
  /** The company's own link, which follows its setup plan instead of asking for a fixed list. */
7422
- followsPlan: z28.boolean(),
7419
+ followsPlan: z29.boolean(),
7423
7420
  asks: setupLinkAsksSchema,
7424
- progress: z28.object({ completed: z28.number(), total: z28.number() }),
7425
- expiresAt: z28.string()
7421
+ progress: z29.object({ completed: z29.number(), total: z29.number() }),
7422
+ expiresAt: z29.string()
7426
7423
  });
7427
- var setupLinksListResponseSchema = z28.object({
7428
- ok: z28.literal(true),
7429
- data: z28.object({ links: z28.array(setupLinkListItemSchema) })
7424
+ var setupLinksListResponseSchema = z29.object({
7425
+ ok: z29.literal(true),
7426
+ data: z29.object({ links: z29.array(setupLinkListItemSchema) })
7430
7427
  });
7431
7428
 
7432
7429
  // ../api/src/site.ts
7433
- import { z as z29 } from "zod";
7430
+ import { z as z30 } from "zod";
7434
7431
  var SITE_CONSENT_MODES = ["bypass", "recovery", "strict", "external"];
7435
7432
  var SITE_COLLECTION_MODES = ["full", "aggregate", "off"];
7436
7433
  var SITE_HOME_MODES = ["rewrite", "redirect"];
7437
- var homePageOverrideSchema = z29.object({ mode: z29.enum(SITE_HOME_MODES), slug: z29.string().min(1) }).nullable();
7438
- var siteStageInputSchema = z29.discriminatedUnion("setting", [
7439
- z29.object({ setting: z29.literal("consent"), mode: z29.enum(SITE_CONSENT_MODES) }),
7440
- z29.object({
7441
- setting: z29.literal("analyticsCollection"),
7442
- mode: z29.enum(SITE_COLLECTION_MODES),
7443
- payloads: z29.boolean().optional()
7434
+ var homePageOverrideSchema = z30.object({ mode: z30.enum(SITE_HOME_MODES), slug: z30.string().min(1) }).nullable();
7435
+ var siteStageInputSchema = z30.discriminatedUnion("setting", [
7436
+ z30.object({ setting: z30.literal("consent"), mode: z30.enum(SITE_CONSENT_MODES) }),
7437
+ z30.object({
7438
+ setting: z30.literal("analyticsCollection"),
7439
+ mode: z30.enum(SITE_COLLECTION_MODES),
7440
+ payloads: z30.boolean().optional()
7444
7441
  }),
7445
- z29.object({ setting: z29.literal("indexing"), enabled: z29.boolean() }),
7446
- z29.object({ setting: z29.literal("homePage"), override: homePageOverrideSchema }),
7447
- z29.object({ setting: z29.literal("timezone"), timezone: z29.string().min(1) }),
7448
- z29.object({ setting: z29.literal("exportProfile"), profile: z29.record(z29.string(), z29.unknown()) }),
7449
- z29.object({ setting: z29.literal("customDomain"), hostname: z29.string().min(1) })
7442
+ z30.object({ setting: z30.literal("indexing"), enabled: z30.boolean() }),
7443
+ z30.object({ setting: z30.literal("homePage"), override: homePageOverrideSchema }),
7444
+ z30.object({ setting: z30.literal("timezone"), timezone: z30.string().min(1) }),
7445
+ z30.object({ setting: z30.literal("exportProfile"), profile: z30.record(z30.string(), z30.unknown()) }),
7446
+ z30.object({ setting: z30.literal("customDomain"), hostname: z30.string().min(1) })
7450
7447
  ]);
7451
- var siteStagedSettingSchema = z29.object({
7448
+ var siteStagedSettingSchema = z30.object({
7452
7449
  /** What `baker site unstage` takes: the setting, or `customDomain:<hostname>`. */
7453
- key: z29.string(),
7454
- setting: z29.string(),
7455
- label: z29.string(),
7456
- before: z29.string(),
7457
- after: z29.string(),
7458
- stagedAt: z29.number(),
7459
- result: z29.object({ status: z29.enum(["applied", "skipped"]), reason: z29.string().optional() }).optional()
7460
- });
7461
- var siteStageRequestSchema = z29.object({
7462
- chatId: z29.string().min(1),
7463
- inputs: z29.array(siteStageInputSchema).min(1)
7464
- });
7465
- var siteStageResponseSchema = z29.object({
7466
- ok: z29.literal(true),
7467
- data: z29.object({ staged: z29.array(siteStagedSettingSchema) }),
7468
- hints: z29.array(z29.string()).optional()
7450
+ key: z30.string(),
7451
+ setting: z30.string(),
7452
+ label: z30.string(),
7453
+ before: z30.string(),
7454
+ after: z30.string(),
7455
+ stagedAt: z30.number(),
7456
+ result: z30.object({ status: z30.enum(["applied", "skipped"]), reason: z30.string().optional() }).optional()
7457
+ });
7458
+ var siteStageRequestSchema = z30.object({
7459
+ chatId: z30.string().min(1),
7460
+ inputs: z30.array(siteStageInputSchema).min(1)
7469
7461
  });
7470
- var siteSettingsSchema = z29.object({
7462
+ var siteStageResponseSchema = z30.object({
7463
+ ok: z30.literal(true),
7464
+ data: z30.object({ staged: z30.array(siteStagedSettingSchema) }),
7465
+ hints: z30.array(z30.string()).optional()
7466
+ });
7467
+ var siteSettingsSchema = z30.object({
7471
7468
  /** Null when the company never chose; publishing then uses the default. */
7472
- consent: z29.enum(SITE_CONSENT_MODES).nullable(),
7473
- analyticsCollection: z29.object({ mode: z29.enum(SITE_COLLECTION_MODES), payloads: z29.boolean().optional() }),
7474
- indexing: z29.boolean(),
7469
+ consent: z30.enum(SITE_CONSENT_MODES).nullable(),
7470
+ analyticsCollection: z30.object({ mode: z30.enum(SITE_COLLECTION_MODES), payloads: z30.boolean().optional() }),
7471
+ indexing: z30.boolean(),
7475
7472
  homePage: homePageOverrideSchema,
7476
- timezone: z29.string(),
7473
+ timezone: z30.string(),
7477
7474
  /** Null when the company downloads with the default format. */
7478
- exportProfile: z29.unknown(),
7479
- domains: z29.array(z29.string())
7475
+ exportProfile: z30.unknown(),
7476
+ domains: z30.array(z30.string())
7480
7477
  });
7481
- var siteDomainSchema = z29.object({
7482
- hostname: z29.string(),
7478
+ var siteDomainSchema = z30.object({
7479
+ hostname: z30.string(),
7483
7480
  /** `staged` until this chat publishes; then pending_verification, active, error or removing. */
7484
- status: z29.string(),
7481
+ status: z30.string(),
7485
7482
  /** What is still missing, in the client's words — usually the DNS record. */
7486
- message: z29.string().optional()
7483
+ message: z30.string().optional()
7487
7484
  });
7488
- var siteShowResponseSchema = z29.object({
7489
- ok: z29.literal(true),
7490
- data: z29.object({
7485
+ var siteShowResponseSchema = z30.object({
7486
+ ok: z30.literal(true),
7487
+ data: z30.object({
7491
7488
  /** The live values with this chat's staged ones on top — what the site will be after Publish. */
7492
7489
  settings: siteSettingsSchema,
7493
- staged: z29.array(siteStagedSettingSchema),
7494
- domains: z29.array(siteDomainSchema)
7490
+ staged: z30.array(siteStagedSettingSchema),
7491
+ domains: z30.array(siteDomainSchema)
7495
7492
  }),
7496
- hints: z29.array(z29.string()).optional()
7493
+ hints: z30.array(z30.string()).optional()
7497
7494
  });
7498
- var siteDomainsResponseSchema = z29.object({
7499
- ok: z29.literal(true),
7500
- data: z29.object({ cnameTarget: z29.string(), domains: z29.array(siteDomainSchema) })
7495
+ var siteDomainsResponseSchema = z30.object({
7496
+ ok: z30.literal(true),
7497
+ data: z30.object({ cnameTarget: z30.string(), domains: z30.array(siteDomainSchema) })
7501
7498
  });
7502
- var siteDomainVerifyRequestSchema = z29.object({ hostname: z29.string().min(1) });
7503
- var siteDomainVerifyResponseSchema = z29.object({
7504
- ok: z29.literal(true),
7505
- data: z29.object({ hostname: z29.string(), state: z29.string(), message: z29.string() })
7499
+ var siteDomainVerifyRequestSchema = z30.object({ hostname: z30.string().min(1) });
7500
+ var siteDomainVerifyResponseSchema = z30.object({
7501
+ ok: z30.literal(true),
7502
+ data: z30.object({ hostname: z30.string(), state: z30.string(), message: z30.string() })
7506
7503
  });
7507
- var siteUnstageRequestSchema = z29.object({
7508
- chatId: z29.string().min(1),
7504
+ var siteUnstageRequestSchema = z30.object({
7505
+ chatId: z30.string().min(1),
7509
7506
  /** One staged setting by its key; leave out with `all` to take back every one. */
7510
- key: z29.string().min(1).optional(),
7511
- all: z29.boolean().optional()
7507
+ key: z30.string().min(1).optional(),
7508
+ all: z30.boolean().optional()
7512
7509
  }).refine((body) => body.key === void 0 !== (body.all !== true), {
7513
7510
  message: "Pass either a setting key or all: true, not both"
7514
7511
  });
7515
- var siteUnstageResponseSchema = z29.object({
7516
- ok: z29.literal(true),
7517
- data: z29.object({ removed: z29.number().int().min(0) })
7512
+ var siteUnstageResponseSchema = z30.object({
7513
+ ok: z30.literal(true),
7514
+ data: z30.object({ removed: z30.number().int().min(0) })
7518
7515
  });
7519
7516
 
7520
7517
  // ../api/src/sourceFingerprint.ts
@@ -7528,7 +7525,7 @@ function isSourceStale(current, rendered) {
7528
7525
  }
7529
7526
 
7530
7527
  // ../api/src/tags.ts
7531
- import { z as z30 } from "zod";
7528
+ import { z as z31 } from "zod";
7532
7529
  var TAG_TYPES = [
7533
7530
  "meta",
7534
7531
  "chatgptAds",
@@ -7551,7 +7548,7 @@ var TAG_TYPES = [
7551
7548
  "twitterAds",
7552
7549
  "activecampaign"
7553
7550
  ];
7554
- var tagTypeSchema = z30.enum(TAG_TYPES);
7551
+ var tagTypeSchema = z31.enum(TAG_TYPES);
7555
7552
  var TAG_IDENTIFYING_FIELD = {
7556
7553
  meta: "pixelId",
7557
7554
  chatgptAds: "pixelId",
@@ -7574,94 +7571,94 @@ var TAG_IDENTIFYING_FIELD = {
7574
7571
  twitterAds: "pixelId",
7575
7572
  activecampaign: "trackingAccountId"
7576
7573
  };
7577
- var tagDraftOpKindSchema = z30.enum(["create", "update", "delete"]);
7578
- var tagDraftOpViewSchema = z30.object({
7574
+ var tagDraftOpKindSchema = z31.enum(["create", "update", "delete"]);
7575
+ var tagDraftOpViewSchema = z31.object({
7579
7576
  /** `tag_temp_*` for staged creates; the real tag id for update/delete ops. */
7580
- ref: z30.string(),
7577
+ ref: z31.string(),
7581
7578
  kind: tagDraftOpKindSchema,
7582
7579
  type: tagTypeSchema,
7583
7580
  /** Present on update/delete ops — the real tag this op targets. */
7584
- tagId: z30.string().optional(),
7581
+ tagId: z31.string().optional(),
7585
7582
  /** Non-secret config (create: full; update: the staged patch). Secrets are structurally absent. */
7586
- config: z30.record(z30.string(), z30.string()),
7583
+ config: z31.record(z31.string(), z31.string()),
7587
7584
  /** Update only — fields the op explicitly clears. */
7588
- clearFields: z30.array(z30.string()).optional(),
7585
+ clearFields: z31.array(z31.string()).optional(),
7589
7586
  /** Names of secret fields already provided via the dashboard secure form. Never values. */
7590
- secretsSet: z30.array(z30.string()),
7587
+ secretsSet: z31.array(z31.string()),
7591
7588
  /** Names of secret fields still awaiting user input. */
7592
- secretsPending: z30.array(z30.string()),
7593
- summary: z30.string(),
7594
- stagedAt: z30.number()
7589
+ secretsPending: z31.array(z31.string()),
7590
+ summary: z31.string(),
7591
+ stagedAt: z31.number()
7595
7592
  });
7596
- var tagsEffectiveEntrySchema = z30.object({
7593
+ var tagsEffectiveEntrySchema = z31.object({
7597
7594
  /** Real tag id, or `tag_temp_*` for staged creates. Use as flow side-effect `tagIds` value. */
7598
- ref: z30.string(),
7599
- tagId: z30.string().optional(),
7595
+ ref: z31.string(),
7596
+ tagId: z31.string().optional(),
7600
7597
  type: tagTypeSchema,
7601
7598
  /** Value of the type's identifying field, when set. */
7602
- identifier: z30.string().optional(),
7599
+ identifier: z31.string().optional(),
7603
7600
  /** Redacted config; for staged updates, production config with the patch merged. */
7604
- config: z30.record(z30.string(), z30.string()),
7601
+ config: z31.record(z31.string(), z31.string()),
7605
7602
  /** Absent = live production tag with no staged changes in this chat. */
7606
7603
  staged: tagDraftOpKindSchema.optional(),
7607
- secretsSet: z30.array(z30.string()),
7608
- secretsPending: z30.array(z30.string())
7609
- });
7610
- var tagsListRequestSchema = z30.object({ chatId: z30.string() });
7611
- var tagsListResponseSchema = z30.object({ tags: z30.array(tagsEffectiveEntrySchema) });
7612
- var tagsDraftListRequestSchema = z30.object({ chatId: z30.string() });
7613
- var tagsDraftListResponseSchema = z30.object({
7614
- status: z30.enum(["active", "publishing", "applied", "discarded", "none"]),
7615
- ops: z30.array(tagDraftOpViewSchema)
7616
- });
7617
- var tagsUnstageRequestSchema = z30.object({
7618
- chatId: z30.string().min(1),
7604
+ secretsSet: z31.array(z31.string()),
7605
+ secretsPending: z31.array(z31.string())
7606
+ });
7607
+ var tagsListRequestSchema = z31.object({ chatId: z31.string() });
7608
+ var tagsListResponseSchema = z31.object({ tags: z31.array(tagsEffectiveEntrySchema) });
7609
+ var tagsDraftListRequestSchema = z31.object({ chatId: z31.string() });
7610
+ var tagsDraftListResponseSchema = z31.object({
7611
+ status: z31.enum(["active", "publishing", "applied", "discarded", "none"]),
7612
+ ops: z31.array(tagDraftOpViewSchema)
7613
+ });
7614
+ var tagsUnstageRequestSchema = z31.object({
7615
+ chatId: z31.string().min(1),
7619
7616
  /** A staged change's ref, as `baker tags draft` prints it — a tag id or tag_temp_*. */
7620
- ref: z30.string().min(1).optional(),
7621
- all: z30.boolean().optional()
7617
+ ref: z31.string().min(1).optional(),
7618
+ all: z31.boolean().optional()
7622
7619
  }).refine((body) => body.ref === void 0 === (body.all === true), {
7623
7620
  message: "Pass the ref of one staged tag change, or --all to take back every staged tag change."
7624
7621
  });
7625
- var tagsUnstageResponseSchema = z30.object({
7626
- ok: z30.literal(true),
7627
- data: z30.object({ removed: z30.number().int().min(0) })
7622
+ var tagsUnstageResponseSchema = z31.object({
7623
+ ok: z31.literal(true),
7624
+ data: z31.object({ removed: z31.number().int().min(0) })
7628
7625
  });
7629
- var tagInputRequestSchema = z30.object({
7626
+ var tagInputRequestSchema = z31.object({
7630
7627
  // Every tag change is a tab in the approval form: create/edit show the full
7631
7628
  // body; delete shows a confirm. No tag change bypasses this approval.
7632
- mode: z30.enum(["create", "edit", "delete"]),
7629
+ mode: z31.enum(["create", "edit", "delete"]),
7633
7630
  tagType: tagTypeSchema,
7634
7631
  /** Edit/delete mode — the real tag id or `tag_temp_*` ref being changed. */
7635
- ref: z30.string().optional(),
7632
+ ref: z31.string().optional(),
7636
7633
  /** Non-secret values the agent proposes to prefill. Secret keys are stripped at every boundary. */
7637
- prefilledConfig: z30.record(z30.string(), z30.string()).optional(),
7634
+ prefilledConfig: z31.record(z31.string(), z31.string()).optional(),
7638
7635
  /** Secret field names the agent asks the user to provide. */
7639
- requestedSecretFields: z30.array(z30.string()).optional(),
7636
+ requestedSecretFields: z31.array(z31.string()).optional(),
7640
7637
  /** Short message shown above the form explaining why the input is needed. */
7641
- message: z30.string().optional()
7638
+ message: z31.string().optional()
7642
7639
  });
7643
- var tagChangeToolInputSchema = z30.object({
7644
- changes: z30.array(tagInputRequestSchema).min(1).max(8)
7640
+ var tagChangeToolInputSchema = z31.object({
7641
+ changes: z31.array(tagInputRequestSchema).min(1).max(8)
7645
7642
  });
7646
- var tagInputResultSchema = z30.discriminatedUnion("status", [
7647
- z30.object({
7648
- status: z30.literal("submitted"),
7649
- ref: z30.string(),
7643
+ var tagInputResultSchema = z31.discriminatedUnion("status", [
7644
+ z31.object({
7645
+ status: z31.literal("submitted"),
7646
+ ref: z31.string(),
7650
7647
  type: tagTypeSchema,
7651
7648
  /** Identifying field name → value (non-secret), when the type has one. */
7652
- identifier: z30.record(z30.string(), z30.string()).optional(),
7653
- secretFieldsSet: z30.array(z30.string()),
7654
- note: z30.string().optional()
7649
+ identifier: z31.record(z31.string(), z31.string()).optional(),
7650
+ secretFieldsSet: z31.array(z31.string()),
7651
+ note: z31.string().optional()
7655
7652
  }),
7656
- z30.object({
7657
- status: z30.literal("declined"),
7658
- reason: z30.string().optional(),
7653
+ z31.object({
7654
+ status: z31.literal("declined"),
7655
+ reason: z31.string().optional(),
7659
7656
  /** Set when the platform could not apply an approved change, rather than the user skipping it. */
7660
- failed: z30.boolean().optional()
7657
+ failed: z31.boolean().optional()
7661
7658
  })
7662
7659
  ]);
7663
- var tagChangeToolResultSchema = z30.object({
7664
- results: z30.array(tagInputResultSchema)
7660
+ var tagChangeToolResultSchema = z31.object({
7661
+ results: z31.array(tagInputResultSchema)
7665
7662
  });
7666
7663
 
7667
7664
  export {
@@ -7754,6 +7751,8 @@ export {
7754
7751
  mediaSourcesResetRequestSchema,
7755
7752
  adLibraryRefreshRequestSchema,
7756
7753
  customMcpServerNameRequestSchema,
7754
+ PLATFORM_REPORT_KINDS,
7755
+ feedbackReportRequestSchema,
7757
7756
  RESEARCH_COMPANY_SIZES,
7758
7757
  RESEARCH_COMPANY_REVENUES,
7759
7758
  RESEARCH_COMPANY_SEARCH_MAX_LIMIT,
@@ -7791,4 +7790,4 @@ export {
7791
7790
  videosIngestRequestSchema,
7792
7791
  videosDownloadResponseSchema
7793
7792
  };
7794
- //# sourceMappingURL=chunk-S47XHWFU.js.map
7793
+ //# sourceMappingURL=chunk-3S3TVLAV.js.map