@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.
- package/README.md +18 -1
- package/dist/{account-D236Y3BP.js → account-2WTVU5VH.js} +4 -4
- package/dist/{account-users-A5H7FC7T.js → account-users-CK7D4AAI.js} +4 -4
- package/dist/{accounts-ENS2ONLA.js → accounts-3EERX6MO.js} +5 -5
- package/dist/{accounts-RTUSISHG.js → accounts-JWYTBGDR.js} +3 -3
- package/dist/{actions-3SQGXLLM.js → actions-UUNK3DO4.js} +18 -18
- package/dist/{activecampaign-MJ4SIVWY.js → activecampaign-URFTGK6R.js} +3 -3
- package/dist/{add-FJJHZDVW.js → add-2JN54LSO.js} +2 -2
- package/dist/{add-BH2GJZ46.js → add-4PYISQPU.js} +3 -3
- package/dist/{ads-WE6GT2BL.js → ads-6KIDAXHQ.js} +4 -4
- package/dist/{advertisers-P742OQFI.js → advertisers-K4ZLOZQ2.js} +3 -3
- package/dist/{analytics-XCUJSG3F.js → analytics-36JY2LHD.js} +6 -6
- package/dist/{analytics-ICV42S7D.js → analytics-NXXDWJU2.js} +3 -3
- package/dist/{assign-OQYVRXCT.js → assign-SG5JXTMD.js} +3 -3
- package/dist/{audience-size-NN43B7FF.js → audience-size-HOLSWGNO.js} +3 -3
- package/dist/{audit-JLH2TBIL.js → audit-YWT6CEY2.js} +3 -3
- package/dist/{autocomplete-ZQAKVB6T.js → autocomplete-KMYCOXHU.js} +3 -3
- package/dist/{avatars-JWCZ2KVM.js → avatars-ZGJ6RGNQ.js} +4 -4
- package/dist/{bid-pricing-CX3V76MC.js → bid-pricing-C2UQJWYK.js} +4 -4
- package/dist/{brand-NKHAO4TK.js → brand-3653YYQF.js} +2 -2
- package/dist/{brief-6RDPVD4A.js → brief-I537G3PB.js} +12 -12
- package/dist/{campaign-groups-3PVR3IXH.js → campaign-groups-A7BT67RF.js} +9 -9
- package/dist/{campaign-writes-TBWAZOZ2.js → campaign-writes-HASDYGTI.js} +3 -3
- package/dist/{campaigns-PW4XK65Y.js → campaigns-5DOTTJ47.js} +12 -12
- package/dist/{campaigns-RN3SPC7L.js → campaigns-FHP74WGY.js} +5 -5
- package/dist/{canvas-QJI65546.js → canvas-AW235KQX.js} +13 -13
- package/dist/{capabilities-KPQWOCTA.js → capabilities-6P674LBM.js} +3 -3
- package/dist/{chats-RRD42PZ5.js → chats-KU6JI7DK.js} +3 -3
- package/dist/{check-TPP2KZY6.js → check-W27MKVN7.js} +5 -5
- package/dist/{chunk-S47XHWFU.js → chunk-3S3TVLAV.js} +902 -903
- package/dist/chunk-3S3TVLAV.js.map +1 -0
- package/dist/{chunk-QJCGLIVD.js → chunk-3TN4OR43.js} +2 -2
- package/dist/{chunk-TGW2POU6.js → chunk-4FCSE6NG.js} +4 -5
- package/dist/chunk-4FCSE6NG.js.map +1 -0
- package/dist/{chunk-SBPUCN6H.js → chunk-4OYSP3OX.js} +5 -5
- package/dist/{chunk-IUWM5XHR.js → chunk-52WCKY2O.js} +2 -2
- package/dist/{chunk-3MZNBHC7.js → chunk-5KSLZSOH.js} +2 -2
- package/dist/{chunk-SOYKSA2X.js → chunk-73E4ITJK.js} +2 -2
- package/dist/{chunk-WJ6UJBHB.js → chunk-B5UCAVCD.js} +2 -2
- package/dist/{chunk-OM45JY2R.js → chunk-CVTWKHWZ.js} +3 -3
- package/dist/{chunk-ORLQEQDF.js → chunk-ERWMBQU2.js} +2 -2
- package/dist/{chunk-6UMQSHGK.js → chunk-EYLRARHT.js} +8 -8
- package/dist/{chunk-BLGTDKIV.js → chunk-EZVW3KAW.js} +3 -3
- package/dist/{chunk-ANUFRN3B.js → chunk-GAS6HBPM.js} +2 -2
- package/dist/{chunk-47K5MDGX.js → chunk-H24HT7W7.js} +2 -2
- package/dist/{chunk-KIX3ZM24.js → chunk-J6OTEZT3.js} +2 -2
- package/dist/{chunk-DD6IMD7G.js → chunk-JAFTWN3A.js} +2 -2
- package/dist/{chunk-RKT6RFOR.js → chunk-JDBZCUTY.js} +2 -2
- package/dist/{chunk-OKBIPYZN.js → chunk-JKRXKD54.js} +3 -3
- package/dist/{chunk-DD33NA2U.js → chunk-JYXERSEO.js} +2 -2
- package/dist/{chunk-OW2SDF66.js → chunk-LDMN6RE6.js} +3 -3
- package/dist/{chunk-BH3JS7EF.js → chunk-M2QBEVIH.js} +2 -2
- package/dist/{chunk-FGSRPKOV.js → chunk-MHMVFXTK.js} +2 -2
- package/dist/{chunk-VZGLL54O.js → chunk-MO3FJMU5.js} +4 -4
- package/dist/{chunk-BDWNJRTY.js → chunk-MONZLJWO.js} +6 -6
- package/dist/{chunk-EYBIZT7T.js → chunk-NL55W4HD.js} +2 -2
- package/dist/{chunk-7VDTLOSX.js → chunk-P6744QO6.js} +2 -2
- package/dist/{chunk-TTDLK73U.js → chunk-PQWT6JHT.js} +2 -2
- package/dist/{chunk-HGRCKRCF.js → chunk-PYEM5RGJ.js} +3 -3
- package/dist/{chunk-TSNL3AYG.js → chunk-PZEPUBAS.js} +5 -5
- package/dist/{chunk-QB334QBO.js → chunk-REFZAC6Q.js} +3 -3
- package/dist/{chunk-FSK77EEM.js → chunk-RLTFA2YN.js} +2 -2
- package/dist/{chunk-RYXGJDBK.js → chunk-RPT3EWX2.js} +2 -2
- package/dist/{chunk-GEQUWPAX.js → chunk-RQOSSYVH.js} +4 -1
- package/dist/chunk-RQOSSYVH.js.map +1 -0
- package/dist/{chunk-3BXD6MC6.js → chunk-SP5P2TGW.js} +2 -2
- package/dist/{chunk-CYKFXG4R.js → chunk-UYUH5XNV.js} +2 -2
- package/dist/{chunk-CXCZHEVW.js → chunk-VIHHAS2H.js} +2 -2
- package/dist/{chunk-7YYTE5XE.js → chunk-X4APGDHX.js} +3 -3
- package/dist/{chunk-TL6P7WDT.js → chunk-XBFUCGS4.js} +2 -2
- package/dist/{chunk-ODN2LYPJ.js → chunk-XK2ZJ6CI.js} +2 -2
- package/dist/{chunk-WSYZT2QI.js → chunk-XN77O7GB.js} +2 -2
- package/dist/{chunk-GJD43KID.js → chunk-YRALBXYF.js} +2 -2
- package/dist/{chunk-G2FDUCUU.js → chunk-YRTQQRNY.js} +3 -3
- package/dist/{chunk-WGJHVP7T.js → chunk-ZHDXKNPO.js} +3 -3
- package/dist/{chunk-VJKLZVAM.js → chunk-ZIC6AWWL.js} +2 -2
- package/dist/{claim-75KAZXLJ.js → claim-DGEZFT3W.js} +3 -3
- package/dist/cli.js +33 -32
- package/dist/cli.js.map +1 -1
- package/dist/{companies-IB4C245S.js → companies-NG6NTBDR.js} +3 -3
- package/dist/{company-5J2EGA42.js → company-46N4KFB7.js} +3 -3
- package/dist/{complete-7AT7QWZN.js → complete-KQPLWTSD.js} +3 -3
- package/dist/{connect-HKVHKX44.js → connect-OU2LJ2Z6.js} +6 -6
- package/dist/{conversation-5OEBGDYR.js → conversation-UMZQ7RDA.js} +3 -3
- package/dist/{conversions-LLVHKDOQ.js → conversions-X5LGZHA6.js} +8 -8
- package/dist/{create-RL3L7L2S.js → create-EQSXPFUS.js} +4 -4
- package/dist/{create-J3OXZGXC.js → create-IFQP7SVV.js} +3 -3
- package/dist/{create-2TAKPSGG.js → create-M4LMQ2RN.js} +2 -2
- package/dist/{create-ZVTM57AZ.js → create-U4ADI5DV.js} +3 -3
- package/dist/{creatives-AALLH7YU.js → creatives-3XLHWIHK.js} +12 -12
- package/dist/{creatives-3EAIKWGU.js → creatives-B2CQUJ3Y.js} +9 -9
- package/dist/{credentials-MS4NJHEG.js → credentials-KVIE4DRI.js} +3 -3
- package/dist/{critique-NFPZD54K.js → critique-UX2TWXXH.js} +8 -8
- package/dist/{critique-KLITVZA4.js → critique-Z64ZFE6F.js} +3 -3
- package/dist/{crm-7BAHXTK4.js → crm-67S5ZY5G.js} +4 -4
- package/dist/{crm-QQ7LGCLO.js → crm-NCDTODY3.js} +4 -4
- package/dist/{customers-NENDLH5A.js → customers-CGVQMPPT.js} +5 -5
- package/dist/{delete-WACZG5SD.js → delete-53RTKHBL.js} +2 -2
- package/dist/{delete-VOUXBXU3.js → delete-Q3DM3BTX.js} +4 -4
- package/dist/{delete-ZCPZ2ACI.js → delete-QGYNGZAO.js} +3 -3
- package/dist/{demographics-C5EL3BI6.js → demographics-5SLROVD6.js} +3 -3
- package/dist/{discard-RQXALYQZ.js → discard-WY37YU5P.js} +3 -3
- package/dist/{domain-HV2N4S3O.js → domain-2KA6VEX4.js} +3 -3
- package/dist/{download-OQFJOZFD.js → download-6JWNJY3B.js} +2 -2
- package/dist/{draft-4SZHKEAW.js → draft-BGCCVIZI.js} +4 -4
- package/dist/{draft-IXHBF7UK.js → draft-EJNKW4JN.js} +3 -3
- package/dist/{draft-SDOXYIND.js → draft-NMEKF23T.js} +3 -3
- package/dist/{experiments-5UC4QVZU.js → experiments-KGRE35JK.js} +4 -4
- package/dist/{facets-I2CY2STO.js → facets-GWV63PKA.js} +3 -3
- package/dist/{feedback-WGRNI4J3.js → feedback-2SOINGXM.js} +12 -12
- package/dist/feedback-O4RPVQ73.js +136 -0
- package/dist/feedback-O4RPVQ73.js.map +1 -0
- package/dist/{feedback-record-C6VYJQOL.js → feedback-record-6FKYOZ3P.js} +13 -13
- package/dist/{fetch-WS4CABQN.js → fetch-4NRSXMHY.js} +3 -3
- package/dist/{fit-BJH2KAKU.js → fit-OH2X3XSX.js} +5 -5
- package/dist/{flows-ZQ66S64A.js → flows-WXSJQ3UJ.js} +10 -10
- package/dist/{fonts-EKLOSPJA.js → fonts-LRN2PVYX.js} +5 -5
- package/dist/{forecast-KDJVAWTO.js → forecast-FVZBUIJU.js} +4 -4
- package/dist/{funnel-PD7EMXAX.js → funnel-X2XT3XB5.js} +4 -4
- package/dist/{get-IMZPHROU.js → get-AP3WGMDU.js} +3 -3
- package/dist/{get-PIYAY4MD.js → get-NR34JBHK.js} +4 -4
- package/dist/{google-ads-VG2ZQBAP.js → google-ads-HLFROWL7.js} +3 -3
- package/dist/{history-4LN2MMCY.js → history-IMHDQLXW.js} +4 -4
- package/dist/{history-SECNIWQQ.js → history-VIPGJT7Z.js} +3 -3
- package/dist/{hubspot-HW3DMFB2.js → hubspot-UZ4F5ANA.js} +7 -7
- package/dist/{ideas-CIFADAYV.js → ideas-MU6I7DBD.js} +4 -4
- package/dist/{images-KV7UJMNO.js → images-236N2YSJ.js} +4 -4
- package/dist/{ingest-OG3RUM2Z.js → ingest-3DVD25B6.js} +3 -3
- package/dist/{ingest-3DW2YGCB.js → ingest-XELCXH2P.js} +2 -2
- package/dist/{inspect-YJGFTVGT.js → inspect-DZUGQK5Y.js} +3 -3
- package/dist/{keyword-metrics-I7OIBLCO.js → keyword-metrics-R6EWGKGO.js} +3 -3
- package/dist/{keywords-for-site-DIIUKEVJ.js → keywords-for-site-LU3LF65F.js} +3 -3
- package/dist/{landing-FFAMZ3CD.js → landing-FZ7SSEP6.js} +2 -2
- package/dist/{leads-WSK4N2I6.js → leads-B2YSVBOA.js} +3 -3
- package/dist/{learn-A4LSAKRL.js → learn-FVQA7RG4.js} +4 -4
- package/dist/{line-item-writes-Q47ZVHB6.js → line-item-writes-UXJ3JVFY.js} +3 -3
- package/dist/{line-items-MHIXPRTG.js → line-items-FOVTA5LD.js} +5 -5
- package/dist/{link-6FVFHGP4.js → link-UPXHMS2Q.js} +3 -3
- package/dist/{linkedin-ATHYXJ4Q.js → linkedin-75HES7MX.js} +29 -29
- package/dist/{linkedin-person-3MFAKS2Y.js → linkedin-person-V6CK4IYG.js} +3 -3
- package/dist/{list-7RNRZN4W.js → list-23P4WTBN.js} +2 -2
- package/dist/{list-BDGTMCFP.js → list-MALIT3TA.js} +3 -3
- package/dist/{list-MPZF6NTD.js → list-WMF25FUC.js} +4 -4
- package/dist/{log-MBPVGWLX.js → log-I7FAVIQA.js} +3 -3
- package/dist/{make-DYFGYGMD.js → make-YHE4Y2CK.js} +15 -15
- package/dist/{map-UUHQJSSU.js → map-3H6JFF3K.js} +4 -4
- package/dist/{mcp-BH5MXQMJ.js → mcp-KTR7IPSP.js} +2 -2
- package/dist/{media-sources-4BJOODBR.js → media-sources-XADH7UR6.js} +2 -2
- package/dist/{members-PK2AXSE4.js → members-4I3TSPZD.js} +3 -3
- package/dist/{normalize-36K2VJMB.js → normalize-GEBDT74P.js} +3 -3
- package/dist/{options-7BEM4Z5E.js → options-4DJFAVSV.js} +6 -6
- package/dist/{organization-RSFFVT2M.js → organization-SBFGCUZJ.js} +3 -3
- package/dist/{performance-PVZ5V6YL.js → performance-BHDYL4JE.js} +3 -3
- package/dist/{performance-4L2AFM4A.js → performance-ZNVGH4BL.js} +4 -4
- package/dist/{promoted-tweet-writes-UW2VRBZ2.js → promoted-tweet-writes-OQM7SURA.js} +3 -3
- package/dist/{promoted-tweets-MJEZFPLW.js → promoted-tweets-BCKQ4D3D.js} +3 -3
- package/dist/{publish-XNYDOQ7I.js → publish-ZCWQZ5EO.js} +3 -3
- package/dist/{reddit-NLC55XYL.js → reddit-NUPXPOG3.js} +4 -4
- package/dist/{refresh-5EGKQGJI.js → refresh-5KSQVA3V.js} +2 -2
- package/dist/{release-RDNXS362.js → release-QIBDWPNL.js} +3 -3
- package/dist/{remove-OVN7XALF.js → remove-IM3WF5RS.js} +2 -2
- package/dist/{reopen-ODW3ZUEG.js → reopen-DK3SFSWS.js} +3 -3
- package/dist/{rerun-3MTIAJUZ.js → rerun-7OOJRRZE.js} +14 -14
- package/dist/{research-63ISQ74U.js → research-KNLA55TJ.js} +13 -13
- package/dist/{research-RKFSB7OH.js → research-R3JAZRD4.js} +2 -2
- package/dist/{reset-EZSCJXPC.js → reset-JRKJKUZL.js} +2 -2
- package/dist/{reset-GUJSHPHR.js → reset-WQAJPREG.js} +2 -2
- package/dist/{resolve-BTM6MDOY.js → resolve-LCZXCACJ.js} +3 -3
- package/dist/{retry-6BXQONQ3.js → retry-64YJR4ZS.js} +2 -2
- package/dist/{retry-OL2W3HFH.js → retry-BPDA54WP.js} +2 -2
- package/dist/{revenue-P26LJFEF.js → revenue-WNMRTD6P.js} +4 -4
- package/dist/{rules-MN5CBYLN.js → rules-N2YPNUM5.js} +5 -5
- package/dist/{rules-add-YPD466NS.js → rules-add-BS577EEB.js} +5 -5
- package/dist/{run-WTN5QQ2P.js → run-BNZFJ2YU.js} +14 -14
- package/dist/{run-PEHYPLDQ.js → run-OPSLEKBZ.js} +4 -4
- package/dist/{scaffold-ad-ZHZUX4Q6.js → scaffold-ad-PREXRCXY.js} +10 -10
- package/dist/{scaffold-static-ad-SHGWFBBO.js → scaffold-static-ad-KK4QOBO7.js} +18 -18
- package/dist/{scaffold-video-VENWOP75.js → scaffold-video-KLBPRMAV.js} +9 -9
- package/dist/{schedule-637C6MY3.js → schedule-BODZ6DED.js} +2 -2
- package/dist/{scheduled-agents-ZUM6UUF2.js → scheduled-agents-GZEB2B25.js} +11 -11
- package/dist/{schema-NEL6O4O2.js → schema-I54DIUTV.js} +4 -4
- package/dist/{schema-NSXMRNWM.js → schema-U6GAKTQZ.js} +2 -2
- package/dist/{search-36RRNTF6.js → search-IJ745GV3.js} +2 -2
- package/dist/{select-INJUT4PU.js → select-WZJCQW4A.js} +11 -11
- package/dist/{set-prompt-X3DCUAGP.js → set-prompt-SUJW4F5J.js} +8 -8
- package/dist/{setup-links-UG7S553A.js → setup-links-UVGNFNGP.js} +3 -3
- package/dist/{shopify-WLXZHJII.js → shopify-BR27STCS.js} +3 -3
- package/dist/{site-YCSCW42E.js → site-ZRD4H65V.js} +4 -4
- package/dist/{sources-HP3PRSU6.js → sources-4FWNXBBR.js} +6 -6
- package/dist/{sources-TQKN3HD7.js → sources-E3QDROKM.js} +6 -6
- package/dist/{stale-KKBZ5FJX.js → stale-TPM2XQKT.js} +10 -10
- package/dist/{status-2HQBV7WL.js → status-QEVQKFFP.js} +3 -3
- package/dist/{sync-QVPBBQAW.js → sync-GOVV6G45.js} +2 -2
- package/dist/{sync-definition-YQJTCJJC.js → sync-definition-OSSIAZ23.js} +9 -9
- package/dist/{tags-TCGLKPB5.js → tags-BXTCJCOH.js} +2 -2
- package/dist/{tags-4VQS3QAK.js → tags-H6ZDU6MK.js} +3 -3
- package/dist/{tags-VJS37ZWW.js → tags-Q6Q5FRVL.js} +4 -4
- package/dist/{tags-YQVXWGWX.js → tags-YJ3UVNGP.js} +3 -3
- package/dist/{tags-UUDTBJ6U.js → tags-YJI3QOBK.js} +3 -3
- package/dist/{targeting-criteria-3EXFTUMR.js → targeting-criteria-667LEXSS.js} +3 -3
- package/dist/{targets-H7TVQ47T.js → targets-AOE2FDDM.js} +4 -4
- package/dist/{testimonials-NOLI2BVV.js → testimonials-IOBXKEMA.js} +6 -6
- package/dist/{top-companies-2KMUKTCC.js → top-companies-AUXG5OY5.js} +3 -3
- package/dist/{transcript-HJH2YNGC.js → transcript-D7ZS3X6S.js} +3 -3
- package/dist/{translate-X7TMHL22.js → translate-BQCLUORU.js} +13 -13
- package/dist/{triggers-7HRFXKFZ.js → triggers-QBG5VN5O.js} +4 -4
- package/dist/{unlink-G5KUMOL4.js → unlink-5KKAJJM6.js} +3 -3
- package/dist/{unstage-WYJY5HKG.js → unstage-EU6YHHDA.js} +4 -4
- package/dist/{update-T6COJ6BO.js → update-JJG7R6QN.js} +2 -2
- package/dist/{update-GJ425R5V.js → update-OLQGUBNH.js} +3 -3
- package/dist/{update-WKS5QUFB.js → update-RROGL7SO.js} +3 -3
- package/dist/{update-THOWGBFC.js → update-RW5T53RB.js} +4 -4
- package/dist/{upload-35QHU7B4.js → upload-4JN4BPY2.js} +3 -3
- package/dist/{url-params-3JU5W2AS.js → url-params-3GCYLRDI.js} +3 -3
- package/dist/{validate-XQD5H6MU.js → validate-YBD2PIZE.js} +11 -11
- package/dist/{videos-JBJP3CZD.js → videos-OMPPGIYZ.js} +6 -6
- package/dist/{viewer-check-ACRU6HY3.js → viewer-check-TCX6PFO4.js} +6 -6
- package/dist/{web-NRG6WKRV.js → web-QGNS3YPN.js} +3 -3
- package/dist/{winning-ads-ZKVXCS2L.js → winning-ads-LY4NV5O3.js} +3 -3
- package/dist/{write-commands-ECCJLDLG.js → write-commands-OLTCXPPW.js} +4 -4
- package/dist/{x-M3LIA6SI.js → x-VBSKVDIX.js} +6 -6
- package/package.json +1 -1
- package/dist/chunk-GEQUWPAX.js.map +0 -1
- package/dist/chunk-S47XHWFU.js.map +0 -1
- package/dist/chunk-TGW2POU6.js.map +0 -1
- /package/dist/{account-D236Y3BP.js.map → account-2WTVU5VH.js.map} +0 -0
- /package/dist/{account-users-A5H7FC7T.js.map → account-users-CK7D4AAI.js.map} +0 -0
- /package/dist/{accounts-ENS2ONLA.js.map → accounts-3EERX6MO.js.map} +0 -0
- /package/dist/{accounts-RTUSISHG.js.map → accounts-JWYTBGDR.js.map} +0 -0
- /package/dist/{actions-3SQGXLLM.js.map → actions-UUNK3DO4.js.map} +0 -0
- /package/dist/{activecampaign-MJ4SIVWY.js.map → activecampaign-URFTGK6R.js.map} +0 -0
- /package/dist/{add-FJJHZDVW.js.map → add-2JN54LSO.js.map} +0 -0
- /package/dist/{add-BH2GJZ46.js.map → add-4PYISQPU.js.map} +0 -0
- /package/dist/{ads-WE6GT2BL.js.map → ads-6KIDAXHQ.js.map} +0 -0
- /package/dist/{advertisers-P742OQFI.js.map → advertisers-K4ZLOZQ2.js.map} +0 -0
- /package/dist/{analytics-XCUJSG3F.js.map → analytics-36JY2LHD.js.map} +0 -0
- /package/dist/{analytics-ICV42S7D.js.map → analytics-NXXDWJU2.js.map} +0 -0
- /package/dist/{assign-OQYVRXCT.js.map → assign-SG5JXTMD.js.map} +0 -0
- /package/dist/{audience-size-NN43B7FF.js.map → audience-size-HOLSWGNO.js.map} +0 -0
- /package/dist/{audit-JLH2TBIL.js.map → audit-YWT6CEY2.js.map} +0 -0
- /package/dist/{autocomplete-ZQAKVB6T.js.map → autocomplete-KMYCOXHU.js.map} +0 -0
- /package/dist/{avatars-JWCZ2KVM.js.map → avatars-ZGJ6RGNQ.js.map} +0 -0
- /package/dist/{bid-pricing-CX3V76MC.js.map → bid-pricing-C2UQJWYK.js.map} +0 -0
- /package/dist/{brand-NKHAO4TK.js.map → brand-3653YYQF.js.map} +0 -0
- /package/dist/{brief-6RDPVD4A.js.map → brief-I537G3PB.js.map} +0 -0
- /package/dist/{campaign-groups-3PVR3IXH.js.map → campaign-groups-A7BT67RF.js.map} +0 -0
- /package/dist/{campaign-writes-TBWAZOZ2.js.map → campaign-writes-HASDYGTI.js.map} +0 -0
- /package/dist/{campaigns-PW4XK65Y.js.map → campaigns-5DOTTJ47.js.map} +0 -0
- /package/dist/{campaigns-RN3SPC7L.js.map → campaigns-FHP74WGY.js.map} +0 -0
- /package/dist/{canvas-QJI65546.js.map → canvas-AW235KQX.js.map} +0 -0
- /package/dist/{capabilities-KPQWOCTA.js.map → capabilities-6P674LBM.js.map} +0 -0
- /package/dist/{chats-RRD42PZ5.js.map → chats-KU6JI7DK.js.map} +0 -0
- /package/dist/{check-TPP2KZY6.js.map → check-W27MKVN7.js.map} +0 -0
- /package/dist/{chunk-QJCGLIVD.js.map → chunk-3TN4OR43.js.map} +0 -0
- /package/dist/{chunk-SBPUCN6H.js.map → chunk-4OYSP3OX.js.map} +0 -0
- /package/dist/{chunk-IUWM5XHR.js.map → chunk-52WCKY2O.js.map} +0 -0
- /package/dist/{chunk-3MZNBHC7.js.map → chunk-5KSLZSOH.js.map} +0 -0
- /package/dist/{chunk-SOYKSA2X.js.map → chunk-73E4ITJK.js.map} +0 -0
- /package/dist/{chunk-WJ6UJBHB.js.map → chunk-B5UCAVCD.js.map} +0 -0
- /package/dist/{chunk-OM45JY2R.js.map → chunk-CVTWKHWZ.js.map} +0 -0
- /package/dist/{chunk-ORLQEQDF.js.map → chunk-ERWMBQU2.js.map} +0 -0
- /package/dist/{chunk-6UMQSHGK.js.map → chunk-EYLRARHT.js.map} +0 -0
- /package/dist/{chunk-BLGTDKIV.js.map → chunk-EZVW3KAW.js.map} +0 -0
- /package/dist/{chunk-ANUFRN3B.js.map → chunk-GAS6HBPM.js.map} +0 -0
- /package/dist/{chunk-47K5MDGX.js.map → chunk-H24HT7W7.js.map} +0 -0
- /package/dist/{chunk-KIX3ZM24.js.map → chunk-J6OTEZT3.js.map} +0 -0
- /package/dist/{chunk-DD6IMD7G.js.map → chunk-JAFTWN3A.js.map} +0 -0
- /package/dist/{chunk-RKT6RFOR.js.map → chunk-JDBZCUTY.js.map} +0 -0
- /package/dist/{chunk-OKBIPYZN.js.map → chunk-JKRXKD54.js.map} +0 -0
- /package/dist/{chunk-DD33NA2U.js.map → chunk-JYXERSEO.js.map} +0 -0
- /package/dist/{chunk-OW2SDF66.js.map → chunk-LDMN6RE6.js.map} +0 -0
- /package/dist/{chunk-BH3JS7EF.js.map → chunk-M2QBEVIH.js.map} +0 -0
- /package/dist/{chunk-FGSRPKOV.js.map → chunk-MHMVFXTK.js.map} +0 -0
- /package/dist/{chunk-VZGLL54O.js.map → chunk-MO3FJMU5.js.map} +0 -0
- /package/dist/{chunk-BDWNJRTY.js.map → chunk-MONZLJWO.js.map} +0 -0
- /package/dist/{chunk-EYBIZT7T.js.map → chunk-NL55W4HD.js.map} +0 -0
- /package/dist/{chunk-7VDTLOSX.js.map → chunk-P6744QO6.js.map} +0 -0
- /package/dist/{chunk-TTDLK73U.js.map → chunk-PQWT6JHT.js.map} +0 -0
- /package/dist/{chunk-HGRCKRCF.js.map → chunk-PYEM5RGJ.js.map} +0 -0
- /package/dist/{chunk-TSNL3AYG.js.map → chunk-PZEPUBAS.js.map} +0 -0
- /package/dist/{chunk-QB334QBO.js.map → chunk-REFZAC6Q.js.map} +0 -0
- /package/dist/{chunk-FSK77EEM.js.map → chunk-RLTFA2YN.js.map} +0 -0
- /package/dist/{chunk-RYXGJDBK.js.map → chunk-RPT3EWX2.js.map} +0 -0
- /package/dist/{chunk-3BXD6MC6.js.map → chunk-SP5P2TGW.js.map} +0 -0
- /package/dist/{chunk-CYKFXG4R.js.map → chunk-UYUH5XNV.js.map} +0 -0
- /package/dist/{chunk-CXCZHEVW.js.map → chunk-VIHHAS2H.js.map} +0 -0
- /package/dist/{chunk-7YYTE5XE.js.map → chunk-X4APGDHX.js.map} +0 -0
- /package/dist/{chunk-TL6P7WDT.js.map → chunk-XBFUCGS4.js.map} +0 -0
- /package/dist/{chunk-ODN2LYPJ.js.map → chunk-XK2ZJ6CI.js.map} +0 -0
- /package/dist/{chunk-WSYZT2QI.js.map → chunk-XN77O7GB.js.map} +0 -0
- /package/dist/{chunk-GJD43KID.js.map → chunk-YRALBXYF.js.map} +0 -0
- /package/dist/{chunk-G2FDUCUU.js.map → chunk-YRTQQRNY.js.map} +0 -0
- /package/dist/{chunk-WGJHVP7T.js.map → chunk-ZHDXKNPO.js.map} +0 -0
- /package/dist/{chunk-VJKLZVAM.js.map → chunk-ZIC6AWWL.js.map} +0 -0
- /package/dist/{claim-75KAZXLJ.js.map → claim-DGEZFT3W.js.map} +0 -0
- /package/dist/{companies-IB4C245S.js.map → companies-NG6NTBDR.js.map} +0 -0
- /package/dist/{company-5J2EGA42.js.map → company-46N4KFB7.js.map} +0 -0
- /package/dist/{complete-7AT7QWZN.js.map → complete-KQPLWTSD.js.map} +0 -0
- /package/dist/{connect-HKVHKX44.js.map → connect-OU2LJ2Z6.js.map} +0 -0
- /package/dist/{conversation-5OEBGDYR.js.map → conversation-UMZQ7RDA.js.map} +0 -0
- /package/dist/{conversions-LLVHKDOQ.js.map → conversions-X5LGZHA6.js.map} +0 -0
- /package/dist/{create-RL3L7L2S.js.map → create-EQSXPFUS.js.map} +0 -0
- /package/dist/{create-J3OXZGXC.js.map → create-IFQP7SVV.js.map} +0 -0
- /package/dist/{create-2TAKPSGG.js.map → create-M4LMQ2RN.js.map} +0 -0
- /package/dist/{create-ZVTM57AZ.js.map → create-U4ADI5DV.js.map} +0 -0
- /package/dist/{creatives-AALLH7YU.js.map → creatives-3XLHWIHK.js.map} +0 -0
- /package/dist/{creatives-3EAIKWGU.js.map → creatives-B2CQUJ3Y.js.map} +0 -0
- /package/dist/{credentials-MS4NJHEG.js.map → credentials-KVIE4DRI.js.map} +0 -0
- /package/dist/{critique-NFPZD54K.js.map → critique-UX2TWXXH.js.map} +0 -0
- /package/dist/{critique-KLITVZA4.js.map → critique-Z64ZFE6F.js.map} +0 -0
- /package/dist/{crm-7BAHXTK4.js.map → crm-67S5ZY5G.js.map} +0 -0
- /package/dist/{crm-QQ7LGCLO.js.map → crm-NCDTODY3.js.map} +0 -0
- /package/dist/{customers-NENDLH5A.js.map → customers-CGVQMPPT.js.map} +0 -0
- /package/dist/{delete-WACZG5SD.js.map → delete-53RTKHBL.js.map} +0 -0
- /package/dist/{delete-VOUXBXU3.js.map → delete-Q3DM3BTX.js.map} +0 -0
- /package/dist/{delete-ZCPZ2ACI.js.map → delete-QGYNGZAO.js.map} +0 -0
- /package/dist/{demographics-C5EL3BI6.js.map → demographics-5SLROVD6.js.map} +0 -0
- /package/dist/{discard-RQXALYQZ.js.map → discard-WY37YU5P.js.map} +0 -0
- /package/dist/{domain-HV2N4S3O.js.map → domain-2KA6VEX4.js.map} +0 -0
- /package/dist/{download-OQFJOZFD.js.map → download-6JWNJY3B.js.map} +0 -0
- /package/dist/{draft-4SZHKEAW.js.map → draft-BGCCVIZI.js.map} +0 -0
- /package/dist/{draft-IXHBF7UK.js.map → draft-EJNKW4JN.js.map} +0 -0
- /package/dist/{draft-SDOXYIND.js.map → draft-NMEKF23T.js.map} +0 -0
- /package/dist/{experiments-5UC4QVZU.js.map → experiments-KGRE35JK.js.map} +0 -0
- /package/dist/{facets-I2CY2STO.js.map → facets-GWV63PKA.js.map} +0 -0
- /package/dist/{feedback-WGRNI4J3.js.map → feedback-2SOINGXM.js.map} +0 -0
- /package/dist/{feedback-record-C6VYJQOL.js.map → feedback-record-6FKYOZ3P.js.map} +0 -0
- /package/dist/{fetch-WS4CABQN.js.map → fetch-4NRSXMHY.js.map} +0 -0
- /package/dist/{fit-BJH2KAKU.js.map → fit-OH2X3XSX.js.map} +0 -0
- /package/dist/{flows-ZQ66S64A.js.map → flows-WXSJQ3UJ.js.map} +0 -0
- /package/dist/{fonts-EKLOSPJA.js.map → fonts-LRN2PVYX.js.map} +0 -0
- /package/dist/{forecast-KDJVAWTO.js.map → forecast-FVZBUIJU.js.map} +0 -0
- /package/dist/{funnel-PD7EMXAX.js.map → funnel-X2XT3XB5.js.map} +0 -0
- /package/dist/{get-IMZPHROU.js.map → get-AP3WGMDU.js.map} +0 -0
- /package/dist/{get-PIYAY4MD.js.map → get-NR34JBHK.js.map} +0 -0
- /package/dist/{google-ads-VG2ZQBAP.js.map → google-ads-HLFROWL7.js.map} +0 -0
- /package/dist/{history-4LN2MMCY.js.map → history-IMHDQLXW.js.map} +0 -0
- /package/dist/{history-SECNIWQQ.js.map → history-VIPGJT7Z.js.map} +0 -0
- /package/dist/{hubspot-HW3DMFB2.js.map → hubspot-UZ4F5ANA.js.map} +0 -0
- /package/dist/{ideas-CIFADAYV.js.map → ideas-MU6I7DBD.js.map} +0 -0
- /package/dist/{images-KV7UJMNO.js.map → images-236N2YSJ.js.map} +0 -0
- /package/dist/{ingest-OG3RUM2Z.js.map → ingest-3DVD25B6.js.map} +0 -0
- /package/dist/{ingest-3DW2YGCB.js.map → ingest-XELCXH2P.js.map} +0 -0
- /package/dist/{inspect-YJGFTVGT.js.map → inspect-DZUGQK5Y.js.map} +0 -0
- /package/dist/{keyword-metrics-I7OIBLCO.js.map → keyword-metrics-R6EWGKGO.js.map} +0 -0
- /package/dist/{keywords-for-site-DIIUKEVJ.js.map → keywords-for-site-LU3LF65F.js.map} +0 -0
- /package/dist/{landing-FFAMZ3CD.js.map → landing-FZ7SSEP6.js.map} +0 -0
- /package/dist/{leads-WSK4N2I6.js.map → leads-B2YSVBOA.js.map} +0 -0
- /package/dist/{learn-A4LSAKRL.js.map → learn-FVQA7RG4.js.map} +0 -0
- /package/dist/{line-item-writes-Q47ZVHB6.js.map → line-item-writes-UXJ3JVFY.js.map} +0 -0
- /package/dist/{line-items-MHIXPRTG.js.map → line-items-FOVTA5LD.js.map} +0 -0
- /package/dist/{link-6FVFHGP4.js.map → link-UPXHMS2Q.js.map} +0 -0
- /package/dist/{linkedin-ATHYXJ4Q.js.map → linkedin-75HES7MX.js.map} +0 -0
- /package/dist/{linkedin-person-3MFAKS2Y.js.map → linkedin-person-V6CK4IYG.js.map} +0 -0
- /package/dist/{list-7RNRZN4W.js.map → list-23P4WTBN.js.map} +0 -0
- /package/dist/{list-BDGTMCFP.js.map → list-MALIT3TA.js.map} +0 -0
- /package/dist/{list-MPZF6NTD.js.map → list-WMF25FUC.js.map} +0 -0
- /package/dist/{log-MBPVGWLX.js.map → log-I7FAVIQA.js.map} +0 -0
- /package/dist/{make-DYFGYGMD.js.map → make-YHE4Y2CK.js.map} +0 -0
- /package/dist/{map-UUHQJSSU.js.map → map-3H6JFF3K.js.map} +0 -0
- /package/dist/{mcp-BH5MXQMJ.js.map → mcp-KTR7IPSP.js.map} +0 -0
- /package/dist/{media-sources-4BJOODBR.js.map → media-sources-XADH7UR6.js.map} +0 -0
- /package/dist/{members-PK2AXSE4.js.map → members-4I3TSPZD.js.map} +0 -0
- /package/dist/{normalize-36K2VJMB.js.map → normalize-GEBDT74P.js.map} +0 -0
- /package/dist/{options-7BEM4Z5E.js.map → options-4DJFAVSV.js.map} +0 -0
- /package/dist/{organization-RSFFVT2M.js.map → organization-SBFGCUZJ.js.map} +0 -0
- /package/dist/{performance-PVZ5V6YL.js.map → performance-BHDYL4JE.js.map} +0 -0
- /package/dist/{performance-4L2AFM4A.js.map → performance-ZNVGH4BL.js.map} +0 -0
- /package/dist/{promoted-tweet-writes-UW2VRBZ2.js.map → promoted-tweet-writes-OQM7SURA.js.map} +0 -0
- /package/dist/{promoted-tweets-MJEZFPLW.js.map → promoted-tweets-BCKQ4D3D.js.map} +0 -0
- /package/dist/{publish-XNYDOQ7I.js.map → publish-ZCWQZ5EO.js.map} +0 -0
- /package/dist/{reddit-NLC55XYL.js.map → reddit-NUPXPOG3.js.map} +0 -0
- /package/dist/{refresh-5EGKQGJI.js.map → refresh-5KSQVA3V.js.map} +0 -0
- /package/dist/{release-RDNXS362.js.map → release-QIBDWPNL.js.map} +0 -0
- /package/dist/{remove-OVN7XALF.js.map → remove-IM3WF5RS.js.map} +0 -0
- /package/dist/{reopen-ODW3ZUEG.js.map → reopen-DK3SFSWS.js.map} +0 -0
- /package/dist/{rerun-3MTIAJUZ.js.map → rerun-7OOJRRZE.js.map} +0 -0
- /package/dist/{research-63ISQ74U.js.map → research-KNLA55TJ.js.map} +0 -0
- /package/dist/{research-RKFSB7OH.js.map → research-R3JAZRD4.js.map} +0 -0
- /package/dist/{reset-EZSCJXPC.js.map → reset-JRKJKUZL.js.map} +0 -0
- /package/dist/{reset-GUJSHPHR.js.map → reset-WQAJPREG.js.map} +0 -0
- /package/dist/{resolve-BTM6MDOY.js.map → resolve-LCZXCACJ.js.map} +0 -0
- /package/dist/{retry-6BXQONQ3.js.map → retry-64YJR4ZS.js.map} +0 -0
- /package/dist/{retry-OL2W3HFH.js.map → retry-BPDA54WP.js.map} +0 -0
- /package/dist/{revenue-P26LJFEF.js.map → revenue-WNMRTD6P.js.map} +0 -0
- /package/dist/{rules-MN5CBYLN.js.map → rules-N2YPNUM5.js.map} +0 -0
- /package/dist/{rules-add-YPD466NS.js.map → rules-add-BS577EEB.js.map} +0 -0
- /package/dist/{run-WTN5QQ2P.js.map → run-BNZFJ2YU.js.map} +0 -0
- /package/dist/{run-PEHYPLDQ.js.map → run-OPSLEKBZ.js.map} +0 -0
- /package/dist/{scaffold-ad-ZHZUX4Q6.js.map → scaffold-ad-PREXRCXY.js.map} +0 -0
- /package/dist/{scaffold-static-ad-SHGWFBBO.js.map → scaffold-static-ad-KK4QOBO7.js.map} +0 -0
- /package/dist/{scaffold-video-VENWOP75.js.map → scaffold-video-KLBPRMAV.js.map} +0 -0
- /package/dist/{schedule-637C6MY3.js.map → schedule-BODZ6DED.js.map} +0 -0
- /package/dist/{scheduled-agents-ZUM6UUF2.js.map → scheduled-agents-GZEB2B25.js.map} +0 -0
- /package/dist/{schema-NEL6O4O2.js.map → schema-I54DIUTV.js.map} +0 -0
- /package/dist/{schema-NSXMRNWM.js.map → schema-U6GAKTQZ.js.map} +0 -0
- /package/dist/{search-36RRNTF6.js.map → search-IJ745GV3.js.map} +0 -0
- /package/dist/{select-INJUT4PU.js.map → select-WZJCQW4A.js.map} +0 -0
- /package/dist/{set-prompt-X3DCUAGP.js.map → set-prompt-SUJW4F5J.js.map} +0 -0
- /package/dist/{setup-links-UG7S553A.js.map → setup-links-UVGNFNGP.js.map} +0 -0
- /package/dist/{shopify-WLXZHJII.js.map → shopify-BR27STCS.js.map} +0 -0
- /package/dist/{site-YCSCW42E.js.map → site-ZRD4H65V.js.map} +0 -0
- /package/dist/{sources-HP3PRSU6.js.map → sources-4FWNXBBR.js.map} +0 -0
- /package/dist/{sources-TQKN3HD7.js.map → sources-E3QDROKM.js.map} +0 -0
- /package/dist/{stale-KKBZ5FJX.js.map → stale-TPM2XQKT.js.map} +0 -0
- /package/dist/{status-2HQBV7WL.js.map → status-QEVQKFFP.js.map} +0 -0
- /package/dist/{sync-QVPBBQAW.js.map → sync-GOVV6G45.js.map} +0 -0
- /package/dist/{sync-definition-YQJTCJJC.js.map → sync-definition-OSSIAZ23.js.map} +0 -0
- /package/dist/{tags-TCGLKPB5.js.map → tags-BXTCJCOH.js.map} +0 -0
- /package/dist/{tags-4VQS3QAK.js.map → tags-H6ZDU6MK.js.map} +0 -0
- /package/dist/{tags-VJS37ZWW.js.map → tags-Q6Q5FRVL.js.map} +0 -0
- /package/dist/{tags-YQVXWGWX.js.map → tags-YJ3UVNGP.js.map} +0 -0
- /package/dist/{tags-UUDTBJ6U.js.map → tags-YJI3QOBK.js.map} +0 -0
- /package/dist/{targeting-criteria-3EXFTUMR.js.map → targeting-criteria-667LEXSS.js.map} +0 -0
- /package/dist/{targets-H7TVQ47T.js.map → targets-AOE2FDDM.js.map} +0 -0
- /package/dist/{testimonials-NOLI2BVV.js.map → testimonials-IOBXKEMA.js.map} +0 -0
- /package/dist/{top-companies-2KMUKTCC.js.map → top-companies-AUXG5OY5.js.map} +0 -0
- /package/dist/{transcript-HJH2YNGC.js.map → transcript-D7ZS3X6S.js.map} +0 -0
- /package/dist/{translate-X7TMHL22.js.map → translate-BQCLUORU.js.map} +0 -0
- /package/dist/{triggers-7HRFXKFZ.js.map → triggers-QBG5VN5O.js.map} +0 -0
- /package/dist/{unlink-G5KUMOL4.js.map → unlink-5KKAJJM6.js.map} +0 -0
- /package/dist/{unstage-WYJY5HKG.js.map → unstage-EU6YHHDA.js.map} +0 -0
- /package/dist/{update-T6COJ6BO.js.map → update-JJG7R6QN.js.map} +0 -0
- /package/dist/{update-GJ425R5V.js.map → update-OLQGUBNH.js.map} +0 -0
- /package/dist/{update-WKS5QUFB.js.map → update-RROGL7SO.js.map} +0 -0
- /package/dist/{update-THOWGBFC.js.map → update-RW5T53RB.js.map} +0 -0
- /package/dist/{upload-35QHU7B4.js.map → upload-4JN4BPY2.js.map} +0 -0
- /package/dist/{url-params-3JU5W2AS.js.map → url-params-3GCYLRDI.js.map} +0 -0
- /package/dist/{validate-XQD5H6MU.js.map → validate-YBD2PIZE.js.map} +0 -0
- /package/dist/{videos-JBJP3CZD.js.map → videos-OMPPGIYZ.js.map} +0 -0
- /package/dist/{viewer-check-ACRU6HY3.js.map → viewer-check-TCX6PFO4.js.map} +0 -0
- /package/dist/{web-NRG6WKRV.js.map → web-QGNS3YPN.js.map} +0 -0
- /package/dist/{winning-ads-ZKVXCS2L.js.map → winning-ads-LY4NV5O3.js.map} +0 -0
- /package/dist/{write-commands-ECCJLDLG.js.map → write-commands-OLTCXPPW.js.map} +0 -0
- /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/
|
|
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 =
|
|
5450
|
-
url:
|
|
5451
|
-
format:
|
|
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:
|
|
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:
|
|
5482
|
+
onlyMainContent: z20.boolean().default(true)
|
|
5456
5483
|
});
|
|
5457
|
-
var researchFetchResponseSchema =
|
|
5484
|
+
var researchFetchResponseSchema = z20.object({
|
|
5458
5485
|
/** The URL as asked for. */
|
|
5459
|
-
url:
|
|
5486
|
+
url: z20.string(),
|
|
5460
5487
|
/** Where the read actually landed after redirects. */
|
|
5461
|
-
finalUrl:
|
|
5462
|
-
title:
|
|
5463
|
-
content:
|
|
5488
|
+
finalUrl: z20.string(),
|
|
5489
|
+
title: z20.string().nullable(),
|
|
5490
|
+
content: z20.string(),
|
|
5464
5491
|
/** Length of `content` — already cut if `truncated`. */
|
|
5465
|
-
contentChars:
|
|
5492
|
+
contentChars: z20.number(),
|
|
5466
5493
|
/** The page was longer than one response may carry, so the tail is missing. */
|
|
5467
|
-
truncated:
|
|
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:
|
|
5496
|
+
provider: z20.enum(["firecrawl", "reddit"])
|
|
5470
5497
|
});
|
|
5471
|
-
var researchLinkedinPersonRequestSchema =
|
|
5472
|
-
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:
|
|
5501
|
+
full: z20.boolean().default(false)
|
|
5475
5502
|
});
|
|
5476
|
-
var researchLinkedinPostSchema =
|
|
5477
|
-
text:
|
|
5503
|
+
var researchLinkedinPostSchema = z20.object({
|
|
5504
|
+
text: z20.string(),
|
|
5478
5505
|
/** ISO date, or null when the provider gave none. */
|
|
5479
|
-
date:
|
|
5480
|
-
url:
|
|
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:
|
|
5509
|
+
kind: z20.string().nullable()
|
|
5483
5510
|
});
|
|
5484
|
-
var researchLinkedinArticleSchema =
|
|
5485
|
-
title:
|
|
5486
|
-
date:
|
|
5487
|
-
url:
|
|
5511
|
+
var researchLinkedinArticleSchema = z20.object({
|
|
5512
|
+
title: z20.string(),
|
|
5513
|
+
date: z20.string().nullable(),
|
|
5514
|
+
url: z20.string()
|
|
5488
5515
|
});
|
|
5489
|
-
var researchLinkedinRoleSchema =
|
|
5490
|
-
organization:
|
|
5491
|
-
organizationUrl:
|
|
5492
|
-
location:
|
|
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:
|
|
5495
|
-
description:
|
|
5496
|
-
});
|
|
5497
|
-
var researchLinkedinPersonSchema =
|
|
5498
|
-
|
|
5499
|
-
|
|
5500
|
-
private:
|
|
5501
|
-
profileUrl:
|
|
5502
|
-
name:
|
|
5503
|
-
location:
|
|
5504
|
-
about:
|
|
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:
|
|
5508
|
-
articles:
|
|
5534
|
+
recentPosts: z20.array(researchLinkedinPostSchema),
|
|
5535
|
+
articles: z20.array(researchLinkedinArticleSchema)
|
|
5509
5536
|
})
|
|
5510
5537
|
]);
|
|
5511
|
-
var researchLinkedinPersonResponseSchema =
|
|
5538
|
+
var researchLinkedinPersonResponseSchema = z20.object({
|
|
5512
5539
|
person: researchLinkedinPersonSchema,
|
|
5513
5540
|
/** The provider's whole answer; only when `full` was asked for. */
|
|
5514
|
-
raw:
|
|
5541
|
+
raw: z20.record(z20.string(), z20.unknown()).optional()
|
|
5515
5542
|
});
|
|
5516
|
-
var researchTranscriptRequestSchema =
|
|
5517
|
-
url:
|
|
5543
|
+
var researchTranscriptRequestSchema = z20.object({
|
|
5544
|
+
url: z20.string().url()
|
|
5518
5545
|
});
|
|
5519
|
-
var researchTranscriptProviderSchema =
|
|
5520
|
-
var researchTranscriptResponseSchema =
|
|
5521
|
-
url:
|
|
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:
|
|
5525
|
-
durationSec:
|
|
5526
|
-
language:
|
|
5527
|
-
wordCount:
|
|
5528
|
-
text:
|
|
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:
|
|
5557
|
+
textChars: z20.number(),
|
|
5531
5558
|
/** The recording ran longer than one response may carry, so the tail is missing. */
|
|
5532
|
-
truncated:
|
|
5559
|
+
truncated: z20.boolean()
|
|
5533
5560
|
});
|
|
5534
|
-
var researchCompanyRequestSchema =
|
|
5561
|
+
var researchCompanyRequestSchema = z20.object({
|
|
5535
5562
|
/** A domain or any URL on it; reduced to the registrable domain. */
|
|
5536
|
-
domain:
|
|
5563
|
+
domain: z20.string().min(1),
|
|
5537
5564
|
/** Also return both providers' answers, for the fields the compact read leaves out. */
|
|
5538
|
-
full:
|
|
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:
|
|
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 =
|
|
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 =
|
|
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 =
|
|
5568
|
-
name:
|
|
5569
|
-
domain:
|
|
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:
|
|
5572
|
-
industries:
|
|
5598
|
+
industry: z20.string().nullable(),
|
|
5599
|
+
industries: z20.array(z20.string()),
|
|
5573
5600
|
/** The employee band (`50-200`). */
|
|
5574
|
-
employees:
|
|
5601
|
+
employees: z20.string().nullable(),
|
|
5575
5602
|
/** A headcount, when the provider has one. */
|
|
5576
|
-
employeesExact:
|
|
5577
|
-
hqCountry:
|
|
5603
|
+
employeesExact: z20.number().nullable(),
|
|
5604
|
+
hqCountry: z20.string().nullable(),
|
|
5578
5605
|
/** ISO 3166-1 alpha-2, lower case. */
|
|
5579
|
-
hqCountryCode:
|
|
5580
|
-
hqCity:
|
|
5606
|
+
hqCountryCode: z20.string().nullable(),
|
|
5607
|
+
hqCity: z20.string().nullable(),
|
|
5581
5608
|
/** The revenue band (`10m-50m`). */
|
|
5582
|
-
revenue:
|
|
5583
|
-
founded:
|
|
5584
|
-
linkedinUrl:
|
|
5585
|
-
description:
|
|
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:
|
|
5614
|
+
technologies: z20.array(z20.string())
|
|
5588
5615
|
});
|
|
5589
|
-
var researchCompanyHiringFunctionSchema =
|
|
5590
|
-
var researchCompanyHiringSchema =
|
|
5591
|
-
|
|
5592
|
-
status:
|
|
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:
|
|
5621
|
+
openJobs: z20.number(),
|
|
5595
5622
|
/** Of those, first seen in the last 30 days. */
|
|
5596
|
-
newLast30Days:
|
|
5623
|
+
newLast30Days: z20.number(),
|
|
5597
5624
|
/** The most repeated titles among the openings read, most first. */
|
|
5598
|
-
topTitles:
|
|
5625
|
+
topTitles: z20.array(z20.string()),
|
|
5599
5626
|
/** Job functions (`sales`, `software_development`, …) by openings, most first. */
|
|
5600
|
-
topFunctions:
|
|
5627
|
+
topFunctions: z20.array(researchCompanyHiringFunctionSchema)
|
|
5601
5628
|
}),
|
|
5602
5629
|
/** PredictLeads does not follow this company's jobs. */
|
|
5603
|
-
|
|
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
|
-
|
|
5606
|
-
|
|
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 =
|
|
5609
|
-
domain:
|
|
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:
|
|
5615
|
-
firmographics:
|
|
5616
|
-
jobOpenings:
|
|
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 =
|
|
5647
|
+
var researchCompanySearchRequestSchema = z20.object({
|
|
5621
5648
|
/** Industries as written; each is resolved to the provider's slug before anything is billed. */
|
|
5622
|
-
industries:
|
|
5623
|
-
sizes:
|
|
5624
|
-
revenues:
|
|
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:
|
|
5627
|
-
|
|
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:
|
|
5631
|
-
limit:
|
|
5632
|
-
page:
|
|
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 =
|
|
5638
|
-
name:
|
|
5639
|
-
domain:
|
|
5640
|
-
industry:
|
|
5641
|
-
employees:
|
|
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:
|
|
5670
|
+
revenue: z20.string().nullable(),
|
|
5644
5671
|
/** ISO 3166-1 alpha-2, lower case. */
|
|
5645
|
-
country:
|
|
5672
|
+
country: z20.string().nullable()
|
|
5646
5673
|
});
|
|
5647
|
-
var researchCompanyIndustrySchema =
|
|
5648
|
-
var researchCompanySearchResponseSchema =
|
|
5649
|
-
|
|
5650
|
-
status:
|
|
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:
|
|
5653
|
-
page:
|
|
5654
|
-
lastPage:
|
|
5655
|
-
companies:
|
|
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:
|
|
5684
|
+
relatedIndustries: z20.array(researchCompanyIndustrySchema)
|
|
5658
5685
|
}),
|
|
5659
5686
|
/** `count` was asked for: the total alone, nothing billed. */
|
|
5660
|
-
|
|
5661
|
-
status:
|
|
5662
|
-
total:
|
|
5663
|
-
relatedIndustries:
|
|
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
|
-
|
|
5667
|
-
status:
|
|
5668
|
-
industries:
|
|
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 =
|
|
5674
|
-
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:
|
|
5677
|
-
language:
|
|
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:
|
|
5684
|
-
skipCache:
|
|
5685
|
-
});
|
|
5686
|
-
var monthlySearchSchema =
|
|
5687
|
-
year:
|
|
5688
|
-
month:
|
|
5689
|
-
search_volume:
|
|
5690
|
-
});
|
|
5691
|
-
var researchKeywordMetricsRowSchema =
|
|
5692
|
-
keyword:
|
|
5693
|
-
search_volume:
|
|
5694
|
-
cpc:
|
|
5695
|
-
low_top_of_page_bid:
|
|
5696
|
-
high_top_of_page_bid:
|
|
5697
|
-
competition:
|
|
5698
|
-
competition_index:
|
|
5699
|
-
keyword_difficulty:
|
|
5700
|
-
main_intent:
|
|
5701
|
-
monthly_searches:
|
|
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:
|
|
5730
|
+
clickstream_search_volume: z20.number().nullable()
|
|
5704
5731
|
});
|
|
5705
|
-
var researchKeywordMetricsResponseSchema =
|
|
5706
|
-
data:
|
|
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 =
|
|
5713
|
-
var researchRedditSubredditSchema =
|
|
5714
|
-
var researchRedditSearchRequestSchema =
|
|
5715
|
-
query:
|
|
5716
|
-
subreddits:
|
|
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:
|
|
5745
|
+
kind: z20.enum(["posts", "comments"]).default("posts"),
|
|
5719
5746
|
/** Only things written on or after this day, `YYYY-MM-DD`. */
|
|
5720
|
-
since:
|
|
5721
|
-
limit:
|
|
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 =
|
|
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:
|
|
5726
|
-
comments:
|
|
5727
|
-
});
|
|
5728
|
-
var researchRedditItemSchema =
|
|
5729
|
-
kind:
|
|
5730
|
-
id:
|
|
5731
|
-
postId:
|
|
5732
|
-
subreddit:
|
|
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:
|
|
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:
|
|
5763
|
+
title: z20.string().nullable(),
|
|
5737
5764
|
/** Verbatim: the post's own text (empty for a link post) or the comment's. */
|
|
5738
|
-
text:
|
|
5739
|
-
score:
|
|
5765
|
+
text: z20.string(),
|
|
5766
|
+
score: z20.number().nullable(),
|
|
5740
5767
|
/** Posts only. */
|
|
5741
|
-
commentCount:
|
|
5742
|
-
createdAt:
|
|
5743
|
-
permalink:
|
|
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:
|
|
5772
|
+
depth: z20.number().nullable()
|
|
5746
5773
|
});
|
|
5747
|
-
var researchRedditAttemptSchema =
|
|
5774
|
+
var researchRedditAttemptSchema = z20.object({
|
|
5748
5775
|
source: researchRedditSourceSchema,
|
|
5749
|
-
outcome:
|
|
5776
|
+
outcome: z20.enum(["ok", "empty", "not_found", "not_configured", "unsupported", "blocked", "unavailable"])
|
|
5750
5777
|
});
|
|
5751
|
-
var researchRedditSearchResponseSchema =
|
|
5752
|
-
results:
|
|
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:
|
|
5782
|
+
attempts: z20.array(researchRedditAttemptSchema)
|
|
5756
5783
|
});
|
|
5757
|
-
var researchRedditThreadResponseSchema =
|
|
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:
|
|
5787
|
+
comments: z20.array(researchRedditItemSchema),
|
|
5761
5788
|
source: researchRedditSourceSchema,
|
|
5762
|
-
attempts:
|
|
5789
|
+
attempts: z20.array(researchRedditAttemptSchema)
|
|
5763
5790
|
});
|
|
5764
5791
|
var RESEARCH_REDDIT_SUBREDDITS_MAX_LIMIT = 25;
|
|
5765
|
-
var researchRedditSubredditsRequestSchema =
|
|
5766
|
-
query:
|
|
5767
|
-
limit:
|
|
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 =
|
|
5770
|
-
name:
|
|
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:
|
|
5799
|
+
subscribers: z20.number().nullable(),
|
|
5773
5800
|
/** `restricted`: anyone reads, only approved members post. `private`: nothing can be read. */
|
|
5774
|
-
access:
|
|
5775
|
-
description:
|
|
5776
|
-
url:
|
|
5801
|
+
access: z20.enum(["public", "restricted", "private", "other"]).nullable(),
|
|
5802
|
+
description: z20.string(),
|
|
5803
|
+
url: z20.string()
|
|
5777
5804
|
});
|
|
5778
|
-
var researchRedditSubredditsResponseSchema =
|
|
5779
|
-
results:
|
|
5805
|
+
var researchRedditSubredditsResponseSchema = z20.object({
|
|
5806
|
+
results: z20.array(researchRedditSubredditSummarySchema),
|
|
5780
5807
|
source: researchRedditSourceSchema,
|
|
5781
|
-
attempts:
|
|
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 =
|
|
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 =
|
|
5795
|
-
var researchGoogleAdsRequestSchema =
|
|
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:
|
|
5824
|
+
target: z20.string().trim().min(1),
|
|
5798
5825
|
/** Country code (`es`, `mx`, …) or DataForSEO location code. Omitted ⇒ every region. */
|
|
5799
|
-
location:
|
|
5826
|
+
location: z20.union([z20.string(), z20.number()]).optional(),
|
|
5800
5827
|
platform: researchGoogleAdsPlatformSchema.default("all"),
|
|
5801
|
-
format:
|
|
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:
|
|
5804
|
-
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:
|
|
5807
|
-
skipCache:
|
|
5808
|
-
});
|
|
5809
|
-
var researchGoogleAdCopySchema =
|
|
5810
|
-
headline:
|
|
5811
|
-
description:
|
|
5812
|
-
display_url:
|
|
5813
|
-
});
|
|
5814
|
-
var researchGoogleAdSchema =
|
|
5815
|
-
creative_id:
|
|
5816
|
-
advertiser:
|
|
5817
|
-
advertiser_id:
|
|
5818
|
-
verified:
|
|
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:
|
|
5822
|
-
last_shown:
|
|
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:
|
|
5851
|
+
days_running: z20.number().nullable(),
|
|
5825
5852
|
/** The ad on Google's Ads Transparency Center. */
|
|
5826
|
-
transparency_url:
|
|
5853
|
+
transparency_url: z20.string(),
|
|
5827
5854
|
/** An image of the ad itself — text ads only. */
|
|
5828
|
-
preview_image_url:
|
|
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 =
|
|
5833
|
-
target:
|
|
5834
|
-
target_kind:
|
|
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:
|
|
5837
|
-
ads:
|
|
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:
|
|
5866
|
+
copy_unread: z20.number(),
|
|
5840
5867
|
/** The same search on Google's Ads Transparency Center. */
|
|
5841
|
-
check_url:
|
|
5868
|
+
check_url: z20.string().nullable()
|
|
5842
5869
|
});
|
|
5843
5870
|
var RESEARCH_WEB_DEPTHS = ["medium", "high", "xhigh"];
|
|
5844
|
-
var researchWebDepthSchema =
|
|
5845
|
-
var researchWebRequestSchema =
|
|
5846
|
-
question:
|
|
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 =
|
|
5876
|
+
var researchWebSourceSchema = z20.object({
|
|
5850
5877
|
/** The site's name, as Google labelled it. */
|
|
5851
|
-
title:
|
|
5878
|
+
title: z20.string(),
|
|
5852
5879
|
/** The page Google read. When `resolved` is false, the opaque Google link we could not follow. */
|
|
5853
|
-
url:
|
|
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:
|
|
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:
|
|
5884
|
+
cites: z20.array(z20.string())
|
|
5858
5885
|
});
|
|
5859
|
-
var researchWebResponseSchema =
|
|
5860
|
-
answer:
|
|
5861
|
-
sources:
|
|
5886
|
+
var researchWebResponseSchema = z20.object({
|
|
5887
|
+
answer: z20.string(),
|
|
5888
|
+
sources: z20.array(researchWebSourceSchema)
|
|
5862
5889
|
});
|
|
5863
|
-
var researchDeepResearchStartRequestSchema =
|
|
5864
|
-
question:
|
|
5890
|
+
var researchDeepResearchStartRequestSchema = z20.object({
|
|
5891
|
+
question: z20.string().min(5).max(2e3)
|
|
5865
5892
|
});
|
|
5866
|
-
var researchDeepResearchStartResponseSchema =
|
|
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 =
|
|
5878
|
-
var researchDeepResearchPollResponseSchema =
|
|
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
|
|
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 =
|
|
6404
|
-
value:
|
|
6405
|
-
label:
|
|
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:
|
|
6409
|
+
detail: z21.string().optional(),
|
|
6408
6410
|
/** A mark: a path under the dashboard's `/logos/`, or an absolute image URL. */
|
|
6409
|
-
logo:
|
|
6411
|
+
logo: z21.string().optional()
|
|
6410
6412
|
});
|
|
6411
|
-
var triggerCompaniesSchema =
|
|
6412
|
-
var scheduledAgentTriggerSchema =
|
|
6413
|
-
|
|
6414
|
-
kind:
|
|
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:
|
|
6418
|
+
runAt: z21.number(),
|
|
6417
6419
|
/** IANA zone. Defaults to the company's. */
|
|
6418
|
-
tz:
|
|
6420
|
+
tz: z21.string()
|
|
6419
6421
|
}),
|
|
6420
|
-
|
|
6421
|
-
kind:
|
|
6422
|
+
z21.object({
|
|
6423
|
+
kind: z21.literal("time.cron"),
|
|
6422
6424
|
/** Five-field cron expression. */
|
|
6423
|
-
cronspec:
|
|
6424
|
-
tz:
|
|
6425
|
+
cronspec: z21.string(),
|
|
6426
|
+
tz: z21.string()
|
|
6425
6427
|
}),
|
|
6426
|
-
|
|
6427
|
-
|
|
6428
|
-
kind:
|
|
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:
|
|
6432
|
+
toolkit: z21.string(),
|
|
6431
6433
|
/** What happens in it, by the tool's own trigger id: `GMAIL_NEW_GMAIL_MESSAGE`. */
|
|
6432
|
-
appEvent:
|
|
6434
|
+
appEvent: z21.string(),
|
|
6433
6435
|
/** Which connected account — a tool can be connected more than once. */
|
|
6434
|
-
account:
|
|
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:
|
|
6438
|
+
configJson: z21.string().optional()
|
|
6437
6439
|
}),
|
|
6438
|
-
|
|
6439
|
-
kind:
|
|
6440
|
+
z21.object({
|
|
6441
|
+
kind: z21.literal("event.received"),
|
|
6440
6442
|
/** Absent = any event. */
|
|
6441
|
-
eventName:
|
|
6443
|
+
eventName: z21.string().optional()
|
|
6442
6444
|
}),
|
|
6443
|
-
|
|
6444
|
-
kind:
|
|
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:
|
|
6448
|
+
provider: z21.string().optional(),
|
|
6447
6449
|
companies: triggerCompaniesSchema
|
|
6448
6450
|
}),
|
|
6449
|
-
|
|
6450
|
-
kind:
|
|
6451
|
-
provider:
|
|
6451
|
+
z21.object({
|
|
6452
|
+
kind: z21.literal("connection.removed"),
|
|
6453
|
+
provider: z21.string().optional(),
|
|
6452
6454
|
companies: triggerCompaniesSchema
|
|
6453
6455
|
}),
|
|
6454
|
-
|
|
6455
|
-
kind:
|
|
6456
|
+
z21.object({
|
|
6457
|
+
kind: z21.literal("form.submitted"),
|
|
6456
6458
|
/** Absent = any Form. */
|
|
6457
|
-
flowId:
|
|
6459
|
+
flowId: z21.string().optional(),
|
|
6458
6460
|
companies: triggerCompaniesSchema
|
|
6459
6461
|
}),
|
|
6460
|
-
|
|
6461
|
-
kind:
|
|
6462
|
-
flowId:
|
|
6463
|
-
stepId:
|
|
6462
|
+
z21.object({
|
|
6463
|
+
kind: z21.literal("flow.step.submitted"),
|
|
6464
|
+
flowId: z21.string(),
|
|
6465
|
+
stepId: z21.string()
|
|
6464
6466
|
}),
|
|
6465
|
-
|
|
6466
|
-
kind:
|
|
6467
|
+
z21.object({
|
|
6468
|
+
kind: z21.literal("landing.created"),
|
|
6467
6469
|
/** Absent = any page. A page's slug. */
|
|
6468
|
-
page:
|
|
6470
|
+
page: z21.string().optional(),
|
|
6469
6471
|
/** Absent = any tag. */
|
|
6470
|
-
tag:
|
|
6472
|
+
tag: z21.string().optional(),
|
|
6471
6473
|
companies: triggerCompaniesSchema
|
|
6472
6474
|
}),
|
|
6473
|
-
|
|
6474
|
-
kind:
|
|
6475
|
-
page:
|
|
6476
|
-
tag:
|
|
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
|
-
|
|
6480
|
-
kind:
|
|
6481
|
+
z21.object({
|
|
6482
|
+
kind: z21.literal("experiment.started"),
|
|
6481
6483
|
/** Absent = any test. */
|
|
6482
|
-
experimentId:
|
|
6484
|
+
experimentId: z21.string().optional(),
|
|
6483
6485
|
companies: triggerCompaniesSchema
|
|
6484
6486
|
}),
|
|
6485
|
-
|
|
6486
|
-
kind:
|
|
6487
|
-
experimentId:
|
|
6487
|
+
z21.object({
|
|
6488
|
+
kind: z21.literal("experiment.decided"),
|
|
6489
|
+
experimentId: z21.string().optional(),
|
|
6488
6490
|
companies: triggerCompaniesSchema
|
|
6489
6491
|
}),
|
|
6490
|
-
|
|
6491
|
-
kind:
|
|
6492
|
-
experimentId:
|
|
6492
|
+
z21.object({
|
|
6493
|
+
kind: z21.literal("experiment.ended"),
|
|
6494
|
+
experimentId: z21.string().optional(),
|
|
6493
6495
|
companies: triggerCompaniesSchema
|
|
6494
6496
|
}),
|
|
6495
|
-
|
|
6496
|
-
kind:
|
|
6497
|
-
experimentId:
|
|
6497
|
+
z21.object({
|
|
6498
|
+
kind: z21.literal("experiment.concluded"),
|
|
6499
|
+
experimentId: z21.string().optional(),
|
|
6498
6500
|
companies: triggerCompaniesSchema
|
|
6499
6501
|
}),
|
|
6500
|
-
|
|
6501
|
-
kind:
|
|
6502
|
+
z21.object({
|
|
6503
|
+
kind: z21.literal("task.created"),
|
|
6502
6504
|
/** Absent = any Task. */
|
|
6503
|
-
tag:
|
|
6505
|
+
tag: z21.string().optional(),
|
|
6504
6506
|
companies: triggerCompaniesSchema
|
|
6505
6507
|
}),
|
|
6506
|
-
|
|
6507
|
-
kind:
|
|
6508
|
+
z21.object({
|
|
6509
|
+
kind: z21.literal("task.claimed"),
|
|
6508
6510
|
/** Absent = any Task. One Task, by id. */
|
|
6509
|
-
taskId:
|
|
6510
|
-
tag:
|
|
6511
|
+
taskId: z21.string().optional(),
|
|
6512
|
+
tag: z21.string().optional(),
|
|
6511
6513
|
companies: triggerCompaniesSchema
|
|
6512
6514
|
}),
|
|
6513
|
-
|
|
6514
|
-
kind:
|
|
6515
|
-
taskId:
|
|
6516
|
-
tag:
|
|
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
|
-
|
|
6520
|
-
kind:
|
|
6521
|
+
z21.object({
|
|
6522
|
+
kind: z21.literal("session.published"),
|
|
6521
6523
|
/** Absent = any agent. Only the runs of this Scheduled agent. */
|
|
6522
|
-
agentId:
|
|
6524
|
+
agentId: z21.string().optional(),
|
|
6523
6525
|
companies: triggerCompaniesSchema
|
|
6524
6526
|
}),
|
|
6525
|
-
|
|
6526
|
-
kind:
|
|
6527
|
-
agentId:
|
|
6527
|
+
z21.object({
|
|
6528
|
+
kind: z21.literal("session.publish_failed"),
|
|
6529
|
+
agentId: z21.string().optional(),
|
|
6528
6530
|
companies: triggerCompaniesSchema
|
|
6529
6531
|
}),
|
|
6530
|
-
|
|
6531
|
-
kind:
|
|
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:
|
|
6535
|
+
collection: z21.string().optional(),
|
|
6539
6536
|
companies: triggerCompaniesSchema
|
|
6540
6537
|
}),
|
|
6541
|
-
|
|
6542
|
-
|
|
6543
|
-
|
|
6544
|
-
kind:
|
|
6545
|
-
provider:
|
|
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
|
-
|
|
6549
|
-
kind:
|
|
6545
|
+
z21.object({
|
|
6546
|
+
kind: z21.literal("session.publish_incomplete"),
|
|
6550
6547
|
/** Absent = any platform. One of `PUBLISH_PLATFORMS`. */
|
|
6551
|
-
platform:
|
|
6552
|
-
agentId:
|
|
6548
|
+
platform: z21.string().optional(),
|
|
6549
|
+
agentId: z21.string().optional(),
|
|
6553
6550
|
companies: triggerCompaniesSchema
|
|
6554
6551
|
}),
|
|
6555
|
-
|
|
6556
|
-
kind:
|
|
6552
|
+
z21.object({
|
|
6553
|
+
kind: z21.literal("review.received"),
|
|
6557
6554
|
/** Absent = any review source. */
|
|
6558
|
-
sourceId:
|
|
6555
|
+
sourceId: z21.string().optional(),
|
|
6559
6556
|
companies: triggerCompaniesSchema
|
|
6560
6557
|
}),
|
|
6561
|
-
|
|
6562
|
-
kind:
|
|
6558
|
+
z21.object({
|
|
6559
|
+
kind: z21.literal("advertiser.new_ads"),
|
|
6563
6560
|
/** Absent = any followed advertiser. */
|
|
6564
|
-
advertiserId:
|
|
6561
|
+
advertiserId: z21.string().optional(),
|
|
6565
6562
|
companies: triggerCompaniesSchema
|
|
6566
6563
|
}),
|
|
6567
|
-
|
|
6568
|
-
kind:
|
|
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:
|
|
6567
|
+
adAccount: z21.string().optional(),
|
|
6571
6568
|
/** Absent = any kind of alert. A rule, as `baker ads performance attention` names it. */
|
|
6572
|
-
alertRule:
|
|
6569
|
+
alertRule: z21.string().optional()
|
|
6573
6570
|
}),
|
|
6574
|
-
|
|
6575
|
-
kind:
|
|
6576
|
-
adAccount:
|
|
6577
|
-
alertRule:
|
|
6571
|
+
z21.object({
|
|
6572
|
+
kind: z21.literal("ad_alert.claimed"),
|
|
6573
|
+
adAccount: z21.string().optional(),
|
|
6574
|
+
alertRule: z21.string().optional()
|
|
6578
6575
|
}),
|
|
6579
|
-
|
|
6580
|
-
kind:
|
|
6581
|
-
adAccount:
|
|
6582
|
-
alertRule:
|
|
6576
|
+
z21.object({
|
|
6577
|
+
kind: z21.literal("ad_alert.fixed"),
|
|
6578
|
+
adAccount: z21.string().optional(),
|
|
6579
|
+
alertRule: z21.string().optional()
|
|
6583
6580
|
}),
|
|
6584
|
-
|
|
6585
|
-
kind:
|
|
6586
|
-
adAccount:
|
|
6587
|
-
alertRule:
|
|
6581
|
+
z21.object({
|
|
6582
|
+
kind: z21.literal("ad_alert.closed"),
|
|
6583
|
+
adAccount: z21.string().optional(),
|
|
6584
|
+
alertRule: z21.string().optional()
|
|
6588
6585
|
}),
|
|
6589
|
-
|
|
6590
|
-
kind:
|
|
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:
|
|
6589
|
+
socialAccount: z21.string().optional(),
|
|
6593
6590
|
/** A person's role (`ceo`). Absent = any account, a page included. */
|
|
6594
|
-
personRole:
|
|
6591
|
+
personRole: z21.string().optional(),
|
|
6595
6592
|
companies: triggerCompaniesSchema
|
|
6596
6593
|
})
|
|
6597
6594
|
]);
|
|
6598
|
-
var occurrencesSchema =
|
|
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
|
|
6601
|
+
import { z as z23 } from "zod";
|
|
6605
6602
|
|
|
6606
6603
|
// ../api/src/scheduledAgentRules.ts
|
|
6607
|
-
import { z as
|
|
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 =
|
|
6623
|
+
var conditionRuleSchema = z22.object({
|
|
6627
6624
|
/** A dotted path into the payload: `deal.amount`, `properties.plan`, `items.sku`. */
|
|
6628
|
-
field:
|
|
6629
|
-
op:
|
|
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:
|
|
6628
|
+
value: z22.string().max(500).optional()
|
|
6632
6629
|
});
|
|
6633
|
-
var conditionsSchema =
|
|
6630
|
+
var conditionsSchema = z22.object({
|
|
6634
6631
|
/** `all`: every rule must hold. `any`: one is enough. */
|
|
6635
|
-
match:
|
|
6636
|
-
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 =
|
|
6826
|
-
kind:
|
|
6827
|
-
label:
|
|
6828
|
-
description:
|
|
6829
|
-
narrowsBy:
|
|
6830
|
-
pointAt:
|
|
6831
|
-
|
|
6832
|
-
field:
|
|
6833
|
-
flag:
|
|
6834
|
-
required:
|
|
6835
|
-
list:
|
|
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:
|
|
6839
|
-
});
|
|
6840
|
-
var triggerCatalogSchema =
|
|
6841
|
-
groups:
|
|
6842
|
-
|
|
6843
|
-
group:
|
|
6844
|
-
label:
|
|
6845
|
-
about:
|
|
6846
|
-
triggers:
|
|
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:
|
|
6850
|
-
when:
|
|
6851
|
-
aiCheck:
|
|
6852
|
-
placeholders:
|
|
6853
|
-
times:
|
|
6854
|
-
cooldown:
|
|
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:
|
|
6853
|
+
companies: z23.string().optional()
|
|
6857
6854
|
})
|
|
6858
6855
|
});
|
|
6859
6856
|
|
|
6860
6857
|
// ../api/src/testimonials.ts
|
|
6861
|
-
import { z as
|
|
6862
|
-
var testimonialSourceTypeSchema =
|
|
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 =
|
|
6874
|
-
var testimonialSentimentSchema =
|
|
6875
|
-
var testimonialDocSchema =
|
|
6876
|
-
_id:
|
|
6877
|
-
_creationTime:
|
|
6878
|
-
companyId:
|
|
6879
|
-
sourceId:
|
|
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:
|
|
6882
|
-
reviewTitle:
|
|
6883
|
-
reviewerName:
|
|
6884
|
-
reviewerImageUrl:
|
|
6885
|
-
reviewerImageId:
|
|
6886
|
-
reviewerLocation:
|
|
6887
|
-
rating:
|
|
6888
|
-
reviewDate:
|
|
6889
|
-
ownerAnswer:
|
|
6890
|
-
mediaUrls:
|
|
6891
|
-
imageIds:
|
|
6892
|
-
videoIds:
|
|
6893
|
-
sourceUrl:
|
|
6894
|
-
tags:
|
|
6895
|
-
highlight:
|
|
6896
|
-
language:
|
|
6897
|
-
summary:
|
|
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:
|
|
6900
|
-
contentHash:
|
|
6896
|
+
externalId: z24.string().optional(),
|
|
6897
|
+
contentHash: z24.string().optional(),
|
|
6901
6898
|
status: testimonialStatusSchema,
|
|
6902
|
-
errorMessage:
|
|
6903
|
-
createdAt:
|
|
6904
|
-
updatedAt:
|
|
6899
|
+
errorMessage: z24.string().optional(),
|
|
6900
|
+
createdAt: z24.number(),
|
|
6901
|
+
updatedAt: z24.number()
|
|
6905
6902
|
});
|
|
6906
|
-
var testimonialsListRequestSchema =
|
|
6903
|
+
var testimonialsListRequestSchema = z24.object({
|
|
6907
6904
|
source: testimonialSourceTypeSchema.optional(),
|
|
6908
|
-
rating_min:
|
|
6909
|
-
rating_max:
|
|
6910
|
-
tags:
|
|
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:
|
|
6914
|
-
limit:
|
|
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:
|
|
6914
|
+
cursor: z24.string().optional()
|
|
6918
6915
|
});
|
|
6919
|
-
var testimonialsListResponseSchema =
|
|
6920
|
-
var testimonialsGetRequestSchema =
|
|
6921
|
-
var testimonialsSearchRequestSchema =
|
|
6922
|
-
query:
|
|
6923
|
-
limit:
|
|
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:
|
|
6926
|
-
rating_max:
|
|
6927
|
-
tags:
|
|
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:
|
|
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 =
|
|
6936
|
-
var testimonialsOutscraperWebhookResponseSchema =
|
|
6937
|
-
ok:
|
|
6938
|
-
note:
|
|
6939
|
-
});
|
|
6940
|
-
var testimonialSourceRefreshIntervalSchema =
|
|
6941
|
-
var testimonialSourceSummarySchema =
|
|
6942
|
-
id:
|
|
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:
|
|
6945
|
-
label:
|
|
6946
|
-
pageUrl:
|
|
6947
|
-
status:
|
|
6948
|
-
reviews:
|
|
6949
|
-
refreshInterval:
|
|
6950
|
-
lastSyncedAt:
|
|
6951
|
-
error:
|
|
6952
|
-
createdAt:
|
|
6953
|
-
});
|
|
6954
|
-
var testimonialSourcesAddRequestSchema =
|
|
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:
|
|
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 =
|
|
6963
|
-
var testimonialSourcesSyncRequestSchema =
|
|
6964
|
-
var testimonialSourcesRemoveRequestSchema =
|
|
6965
|
-
var testimonialSourcesScheduleRequestSchema =
|
|
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
|
|
6972
|
-
var videoStatusSchema =
|
|
6973
|
-
var videoSourceSchema =
|
|
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 =
|
|
7001
|
-
text:
|
|
7002
|
-
startSecond:
|
|
7003
|
-
endSecond:
|
|
7004
|
-
});
|
|
7005
|
-
var videoSceneSchema =
|
|
7006
|
-
title:
|
|
7007
|
-
description:
|
|
7008
|
-
startSecond:
|
|
7009
|
-
endSecond:
|
|
7010
|
-
thumbnailTime:
|
|
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:
|
|
7014
|
-
visualChange:
|
|
7015
|
-
onScreenText:
|
|
7016
|
-
hasOverlay:
|
|
7017
|
-
onCamera:
|
|
7018
|
-
spoken:
|
|
7019
|
-
});
|
|
7020
|
-
var videoAnalysisSchema =
|
|
7021
|
-
subject:
|
|
7022
|
-
people:
|
|
7023
|
-
brandOwnership:
|
|
7024
|
-
spokenLanguages:
|
|
7025
|
-
onScreenText:
|
|
7026
|
-
shotStyle:
|
|
7027
|
-
audioStyle:
|
|
7028
|
-
hook:
|
|
7029
|
-
usageNotes:
|
|
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:
|
|
7032
|
-
tone:
|
|
7033
|
-
productClaims:
|
|
7034
|
-
});
|
|
7035
|
-
var videoDocSchema =
|
|
7036
|
-
_id:
|
|
7037
|
-
_creationTime:
|
|
7038
|
-
companyId:
|
|
7039
|
-
muxAssetId:
|
|
7040
|
-
muxPlaybackId:
|
|
7041
|
-
muxUploadId:
|
|
7042
|
-
name:
|
|
7043
|
-
description:
|
|
7044
|
-
tags:
|
|
7045
|
-
source:
|
|
7046
|
-
externalId:
|
|
7047
|
-
externalUrl:
|
|
7048
|
-
sourceId:
|
|
7049
|
-
originalFilename:
|
|
7050
|
-
descriptionContext:
|
|
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:
|
|
7053
|
-
height:
|
|
7054
|
-
aspectRatio:
|
|
7055
|
-
duration:
|
|
7056
|
-
transcript:
|
|
7057
|
-
transcriptSegments:
|
|
7058
|
-
scenes:
|
|
7059
|
-
descriptionEmbedding:
|
|
7060
|
-
searchText:
|
|
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:
|
|
7063
|
-
createdAt:
|
|
7064
|
-
updatedAt:
|
|
7065
|
-
thumbnailUrl:
|
|
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 =
|
|
7068
|
-
var videosGetRequestSchema =
|
|
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 =
|
|
7071
|
-
query:
|
|
7072
|
-
limit:
|
|
7073
|
-
tags:
|
|
7074
|
-
});
|
|
7075
|
-
var videoSearchResultSchema =
|
|
7076
|
-
_id:
|
|
7077
|
-
thumbnailUrl:
|
|
7078
|
-
name:
|
|
7079
|
-
description:
|
|
7080
|
-
tags:
|
|
7081
|
-
status:
|
|
7082
|
-
duration:
|
|
7083
|
-
muxPlaybackId:
|
|
7084
|
-
createdAt:
|
|
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:
|
|
7089
|
-
hasTranscript:
|
|
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:
|
|
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 =
|
|
7099
|
-
var videosUploadRequestSchema =
|
|
7100
|
-
originalFilename:
|
|
7101
|
-
descriptionContext:
|
|
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 =
|
|
7104
|
-
var videosIngestRequestSchema =
|
|
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:
|
|
7105
|
+
url: z25.string().url(),
|
|
7109
7106
|
source: videoSourceSchema,
|
|
7110
|
-
externalId:
|
|
7111
|
-
externalUrl:
|
|
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:
|
|
7114
|
+
descriptionContext: z25.string().optional()
|
|
7118
7115
|
});
|
|
7119
|
-
var videosIngestResponseSchema =
|
|
7120
|
-
videoId:
|
|
7121
|
-
deduped:
|
|
7116
|
+
var videosIngestResponseSchema = z25.object({
|
|
7117
|
+
videoId: z25.string(),
|
|
7118
|
+
deduped: z25.boolean()
|
|
7122
7119
|
});
|
|
7123
|
-
var videosDescribeRequestSchema =
|
|
7124
|
-
id:
|
|
7125
|
-
name:
|
|
7126
|
-
description:
|
|
7127
|
-
tags:
|
|
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:
|
|
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 =
|
|
7134
|
-
id:
|
|
7135
|
-
name:
|
|
7136
|
-
description:
|
|
7137
|
-
tags:
|
|
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 =
|
|
7142
|
-
var videosDeleteResponseSchema =
|
|
7143
|
-
var videosDownloadRequestSchema =
|
|
7144
|
-
var videosDownloadResponseSchema =
|
|
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
|
-
|
|
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
|
-
|
|
7145
|
+
z25.object({ status: z25.literal("preparing") }),
|
|
7149
7146
|
/** The upload itself has not finished arriving at Mux yet. */
|
|
7150
|
-
|
|
7147
|
+
z25.object({ status: z25.literal("processing") })
|
|
7151
7148
|
]);
|
|
7152
7149
|
|
|
7153
7150
|
// ../api/src/brand.ts
|
|
7154
|
-
import { z as
|
|
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 =
|
|
7160
|
-
var brandColorSchema =
|
|
7161
|
-
name:
|
|
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:
|
|
7164
|
-
palette:
|
|
7165
|
-
});
|
|
7166
|
-
var brandFontSchema =
|
|
7167
|
-
family:
|
|
7168
|
-
role:
|
|
7169
|
-
weights:
|
|
7170
|
-
source:
|
|
7171
|
-
files:
|
|
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 =
|
|
7177
|
-
variant:
|
|
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:
|
|
7180
|
-
path:
|
|
7181
|
-
});
|
|
7182
|
-
var brandTokensSchema =
|
|
7183
|
-
version:
|
|
7184
|
-
colors:
|
|
7185
|
-
fonts:
|
|
7186
|
-
logos:
|
|
7187
|
-
radius:
|
|
7188
|
-
});
|
|
7189
|
-
var putBrandRequestSchema =
|
|
7190
|
-
content:
|
|
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:
|
|
7189
|
+
chatId: z26.string().optional()
|
|
7193
7190
|
});
|
|
7194
7191
|
|
|
7195
7192
|
// ../api/src/creativesRun.ts
|
|
7196
|
-
import { z as
|
|
7197
|
-
var creativesRunRequestSchema =
|
|
7193
|
+
import { z as z27 } from "zod";
|
|
7194
|
+
var creativesRunRequestSchema = z27.union([
|
|
7198
7195
|
/** A canvas run id (r_…). */
|
|
7199
|
-
|
|
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
|
-
|
|
7198
|
+
z27.object({ slug: z27.string().min(1).max(200) })
|
|
7202
7199
|
]);
|
|
7203
|
-
var runOutputSchema =
|
|
7204
|
-
slot:
|
|
7205
|
-
label:
|
|
7206
|
-
kind:
|
|
7207
|
-
sha256:
|
|
7208
|
-
url:
|
|
7209
|
-
mime:
|
|
7210
|
-
width:
|
|
7211
|
-
height:
|
|
7212
|
-
durationMs:
|
|
7213
|
-
});
|
|
7214
|
-
var creativesRunDataSchema =
|
|
7215
|
-
runId:
|
|
7216
|
-
creativeSlug:
|
|
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:
|
|
7219
|
-
interrupted:
|
|
7220
|
-
errorMessage:
|
|
7221
|
-
sourceSha:
|
|
7222
|
-
createdAt:
|
|
7223
|
-
updatedAt:
|
|
7224
|
-
stats:
|
|
7225
|
-
totalNodes:
|
|
7226
|
-
cachedNodes:
|
|
7227
|
-
totalCredits:
|
|
7228
|
-
durationMs:
|
|
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:
|
|
7231
|
-
nodes:
|
|
7232
|
-
|
|
7233
|
-
nodeId:
|
|
7234
|
-
nodeType:
|
|
7235
|
-
cached:
|
|
7236
|
-
credits:
|
|
7237
|
-
durationMs:
|
|
7238
|
-
status:
|
|
7239
|
-
outputs:
|
|
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:
|
|
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:
|
|
7241
|
+
graphUrl: z27.string().optional(),
|
|
7245
7242
|
/** The files the run drew (its canvas, prompt.json, …) as a snapshot manifest. */
|
|
7246
|
-
canvasSnapshotUrl:
|
|
7243
|
+
canvasSnapshotUrl: z27.string().optional()
|
|
7247
7244
|
});
|
|
7248
|
-
var creativesRunResponseSchema =
|
|
7249
|
-
ok:
|
|
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
|
|
7255
|
-
var scheduledAgentRunsAsSchema =
|
|
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:
|
|
7254
|
+
name: z28.string().nullable(),
|
|
7258
7255
|
/** That person's own connected tools. */
|
|
7259
|
-
personalTools:
|
|
7256
|
+
personalTools: z28.array(z28.string()),
|
|
7260
7257
|
/** The company's and organization's tools, and the platforms Baker connects to directly. */
|
|
7261
|
-
companyTools:
|
|
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:
|
|
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 =
|
|
7267
|
-
chatId:
|
|
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:
|
|
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:
|
|
7268
|
+
index: z28.number().int().min(0).optional()
|
|
7272
7269
|
});
|
|
7273
|
-
var scheduledAgentsUnstageResponseSchema =
|
|
7274
|
-
ok:
|
|
7275
|
-
data:
|
|
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 =
|
|
7274
|
+
var scheduledAgentsListRequestSchema = z28.object({
|
|
7278
7275
|
/** Also return what this chat staged. */
|
|
7279
|
-
chatId:
|
|
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:
|
|
7278
|
+
full: z28.boolean().optional()
|
|
7282
7279
|
});
|
|
7283
|
-
var scheduledAgentListItemSchema =
|
|
7284
|
-
id:
|
|
7285
|
-
name:
|
|
7286
|
-
description:
|
|
7287
|
-
enabled:
|
|
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:
|
|
7288
|
+
cooldownMinutes: z28.number().optional(),
|
|
7292
7289
|
/** The condition in plain words the AI check judges what arrived against. */
|
|
7293
|
-
aiCondition:
|
|
7290
|
+
aiCondition: z28.string().optional(),
|
|
7294
7291
|
/** ISO. Only a one-off knows its next moment. */
|
|
7295
|
-
nextRunAt:
|
|
7292
|
+
nextRunAt: z28.string().optional(),
|
|
7296
7293
|
/** ISO. */
|
|
7297
|
-
lastRunAt:
|
|
7298
|
-
firedCount:
|
|
7299
|
-
totalRuns:
|
|
7300
|
-
publishesOwnWork:
|
|
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:
|
|
7299
|
+
listening: z28.object({ status: z28.string(), reason: z28.string().optional() }).optional()
|
|
7303
7300
|
});
|
|
7304
|
-
var scheduledAgentStagedChangeSchema =
|
|
7305
|
-
index:
|
|
7306
|
-
kind:
|
|
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:
|
|
7309
|
-
name:
|
|
7310
|
-
description:
|
|
7305
|
+
ref: z28.string(),
|
|
7306
|
+
name: z28.string(),
|
|
7307
|
+
description: z28.string().optional(),
|
|
7311
7308
|
trigger: scheduledAgentTriggerSchema.optional(),
|
|
7312
|
-
enabled:
|
|
7309
|
+
enabled: z28.boolean().optional(),
|
|
7313
7310
|
/** For an update: the fields it changes. */
|
|
7314
|
-
changes:
|
|
7315
|
-
result:
|
|
7316
|
-
status:
|
|
7317
|
-
reason:
|
|
7318
|
-
scheduledAgentId:
|
|
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 =
|
|
7322
|
-
ok:
|
|
7323
|
-
data:
|
|
7324
|
-
published:
|
|
7325
|
-
draft:
|
|
7326
|
-
status:
|
|
7327
|
-
ops:
|
|
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:
|
|
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 =
|
|
7340
|
+
var scheduledAgentHistoryRequestSchema = z28.object({
|
|
7344
7341
|
/** A published Scheduled agent id. */
|
|
7345
|
-
id:
|
|
7342
|
+
id: z28.string().min(1),
|
|
7346
7343
|
/** How many lines on this page, newest first. Default 50, at most 200. */
|
|
7347
|
-
limit:
|
|
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:
|
|
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:
|
|
7348
|
+
only: z28.enum(["ran", "skipped"]).optional(),
|
|
7352
7349
|
/** Include what arrived with each firing (masked). Left out, the compact view. */
|
|
7353
|
-
full:
|
|
7350
|
+
full: z28.boolean().optional()
|
|
7354
7351
|
});
|
|
7355
|
-
var scheduledAgentHistoryLineSchema =
|
|
7352
|
+
var scheduledAgentHistoryLineSchema = z28.object({
|
|
7356
7353
|
/** ISO. */
|
|
7357
|
-
at:
|
|
7358
|
-
outcome:
|
|
7354
|
+
at: z28.string(),
|
|
7355
|
+
outcome: z28.enum(SCHEDULED_AGENT_HISTORY_OUTCOMES),
|
|
7359
7356
|
/** The outcome in words. */
|
|
7360
|
-
reason:
|
|
7361
|
-
via:
|
|
7362
|
-
firing:
|
|
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:
|
|
7365
|
-
runStatus:
|
|
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:
|
|
7368
|
-
alsoMatched:
|
|
7369
|
-
fromCompany:
|
|
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:
|
|
7368
|
+
failedRules: z28.array(z28.object({ rule: z28.string(), finding: z28.string() })).optional(),
|
|
7372
7369
|
/** What arrived, masked. Only with `full`. */
|
|
7373
|
-
arrival:
|
|
7370
|
+
arrival: z28.string().optional()
|
|
7374
7371
|
});
|
|
7375
|
-
var scheduledAgentHistoryResponseSchema =
|
|
7376
|
-
ok:
|
|
7377
|
-
data:
|
|
7378
|
-
id:
|
|
7379
|
-
name:
|
|
7380
|
-
lines:
|
|
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:
|
|
7379
|
+
nextCursor: z28.string().nullable()
|
|
7383
7380
|
}),
|
|
7384
|
-
hints:
|
|
7381
|
+
hints: z28.array(z28.string()).optional()
|
|
7385
7382
|
});
|
|
7386
7383
|
|
|
7387
7384
|
// ../api/src/setupLinks.ts
|
|
7388
|
-
import { z as
|
|
7389
|
-
var namesSchema =
|
|
7390
|
-
var setupLinkMcpSlotSchema =
|
|
7391
|
-
name:
|
|
7392
|
-
url:
|
|
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 =
|
|
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:
|
|
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 =
|
|
7408
|
-
ok:
|
|
7409
|
-
data:
|
|
7410
|
-
id:
|
|
7411
|
-
url:
|
|
7412
|
-
expiresAt:
|
|
7413
|
-
title:
|
|
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 =
|
|
7417
|
-
var setupLinkListItemSchema =
|
|
7418
|
-
id:
|
|
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:
|
|
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:
|
|
7419
|
+
followsPlan: z29.boolean(),
|
|
7423
7420
|
asks: setupLinkAsksSchema,
|
|
7424
|
-
progress:
|
|
7425
|
-
expiresAt:
|
|
7421
|
+
progress: z29.object({ completed: z29.number(), total: z29.number() }),
|
|
7422
|
+
expiresAt: z29.string()
|
|
7426
7423
|
});
|
|
7427
|
-
var setupLinksListResponseSchema =
|
|
7428
|
-
ok:
|
|
7429
|
-
data:
|
|
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
|
|
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 =
|
|
7438
|
-
var siteStageInputSchema =
|
|
7439
|
-
|
|
7440
|
-
|
|
7441
|
-
setting:
|
|
7442
|
-
mode:
|
|
7443
|
-
payloads:
|
|
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
|
-
|
|
7446
|
-
|
|
7447
|
-
|
|
7448
|
-
|
|
7449
|
-
|
|
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 =
|
|
7448
|
+
var siteStagedSettingSchema = z30.object({
|
|
7452
7449
|
/** What `baker site unstage` takes: the setting, or `customDomain:<hostname>`. */
|
|
7453
|
-
key:
|
|
7454
|
-
setting:
|
|
7455
|
-
label:
|
|
7456
|
-
before:
|
|
7457
|
-
after:
|
|
7458
|
-
stagedAt:
|
|
7459
|
-
result:
|
|
7460
|
-
});
|
|
7461
|
-
var siteStageRequestSchema =
|
|
7462
|
-
chatId:
|
|
7463
|
-
inputs:
|
|
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
|
|
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:
|
|
7473
|
-
analyticsCollection:
|
|
7474
|
-
indexing:
|
|
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:
|
|
7473
|
+
timezone: z30.string(),
|
|
7477
7474
|
/** Null when the company downloads with the default format. */
|
|
7478
|
-
exportProfile:
|
|
7479
|
-
domains:
|
|
7475
|
+
exportProfile: z30.unknown(),
|
|
7476
|
+
domains: z30.array(z30.string())
|
|
7480
7477
|
});
|
|
7481
|
-
var siteDomainSchema =
|
|
7482
|
-
hostname:
|
|
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:
|
|
7481
|
+
status: z30.string(),
|
|
7485
7482
|
/** What is still missing, in the client's words — usually the DNS record. */
|
|
7486
|
-
message:
|
|
7483
|
+
message: z30.string().optional()
|
|
7487
7484
|
});
|
|
7488
|
-
var siteShowResponseSchema =
|
|
7489
|
-
ok:
|
|
7490
|
-
data:
|
|
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:
|
|
7494
|
-
domains:
|
|
7490
|
+
staged: z30.array(siteStagedSettingSchema),
|
|
7491
|
+
domains: z30.array(siteDomainSchema)
|
|
7495
7492
|
}),
|
|
7496
|
-
hints:
|
|
7493
|
+
hints: z30.array(z30.string()).optional()
|
|
7497
7494
|
});
|
|
7498
|
-
var siteDomainsResponseSchema =
|
|
7499
|
-
ok:
|
|
7500
|
-
data:
|
|
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 =
|
|
7503
|
-
var siteDomainVerifyResponseSchema =
|
|
7504
|
-
ok:
|
|
7505
|
-
data:
|
|
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 =
|
|
7508
|
-
chatId:
|
|
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:
|
|
7511
|
-
all:
|
|
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 =
|
|
7516
|
-
ok:
|
|
7517
|
-
data:
|
|
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
|
|
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 =
|
|
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 =
|
|
7578
|
-
var tagDraftOpViewSchema =
|
|
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:
|
|
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:
|
|
7581
|
+
tagId: z31.string().optional(),
|
|
7585
7582
|
/** Non-secret config (create: full; update: the staged patch). Secrets are structurally absent. */
|
|
7586
|
-
config:
|
|
7583
|
+
config: z31.record(z31.string(), z31.string()),
|
|
7587
7584
|
/** Update only — fields the op explicitly clears. */
|
|
7588
|
-
clearFields:
|
|
7585
|
+
clearFields: z31.array(z31.string()).optional(),
|
|
7589
7586
|
/** Names of secret fields already provided via the dashboard secure form. Never values. */
|
|
7590
|
-
secretsSet:
|
|
7587
|
+
secretsSet: z31.array(z31.string()),
|
|
7591
7588
|
/** Names of secret fields still awaiting user input. */
|
|
7592
|
-
secretsPending:
|
|
7593
|
-
summary:
|
|
7594
|
-
stagedAt:
|
|
7589
|
+
secretsPending: z31.array(z31.string()),
|
|
7590
|
+
summary: z31.string(),
|
|
7591
|
+
stagedAt: z31.number()
|
|
7595
7592
|
});
|
|
7596
|
-
var tagsEffectiveEntrySchema =
|
|
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:
|
|
7599
|
-
tagId:
|
|
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:
|
|
7599
|
+
identifier: z31.string().optional(),
|
|
7603
7600
|
/** Redacted config; for staged updates, production config with the patch merged. */
|
|
7604
|
-
config:
|
|
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:
|
|
7608
|
-
secretsPending:
|
|
7609
|
-
});
|
|
7610
|
-
var tagsListRequestSchema =
|
|
7611
|
-
var tagsListResponseSchema =
|
|
7612
|
-
var tagsDraftListRequestSchema =
|
|
7613
|
-
var tagsDraftListResponseSchema =
|
|
7614
|
-
status:
|
|
7615
|
-
ops:
|
|
7616
|
-
});
|
|
7617
|
-
var tagsUnstageRequestSchema =
|
|
7618
|
-
chatId:
|
|
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:
|
|
7621
|
-
all:
|
|
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 =
|
|
7626
|
-
ok:
|
|
7627
|
-
data:
|
|
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 =
|
|
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:
|
|
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:
|
|
7632
|
+
ref: z31.string().optional(),
|
|
7636
7633
|
/** Non-secret values the agent proposes to prefill. Secret keys are stripped at every boundary. */
|
|
7637
|
-
prefilledConfig:
|
|
7634
|
+
prefilledConfig: z31.record(z31.string(), z31.string()).optional(),
|
|
7638
7635
|
/** Secret field names the agent asks the user to provide. */
|
|
7639
|
-
requestedSecretFields:
|
|
7636
|
+
requestedSecretFields: z31.array(z31.string()).optional(),
|
|
7640
7637
|
/** Short message shown above the form explaining why the input is needed. */
|
|
7641
|
-
message:
|
|
7638
|
+
message: z31.string().optional()
|
|
7642
7639
|
});
|
|
7643
|
-
var tagChangeToolInputSchema =
|
|
7644
|
-
changes:
|
|
7640
|
+
var tagChangeToolInputSchema = z31.object({
|
|
7641
|
+
changes: z31.array(tagInputRequestSchema).min(1).max(8)
|
|
7645
7642
|
});
|
|
7646
|
-
var tagInputResultSchema =
|
|
7647
|
-
|
|
7648
|
-
status:
|
|
7649
|
-
ref:
|
|
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:
|
|
7653
|
-
secretFieldsSet:
|
|
7654
|
-
note:
|
|
7649
|
+
identifier: z31.record(z31.string(), z31.string()).optional(),
|
|
7650
|
+
secretFieldsSet: z31.array(z31.string()),
|
|
7651
|
+
note: z31.string().optional()
|
|
7655
7652
|
}),
|
|
7656
|
-
|
|
7657
|
-
status:
|
|
7658
|
-
reason:
|
|
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:
|
|
7657
|
+
failed: z31.boolean().optional()
|
|
7661
7658
|
})
|
|
7662
7659
|
]);
|
|
7663
|
-
var tagChangeToolResultSchema =
|
|
7664
|
-
results:
|
|
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-
|
|
7793
|
+
//# sourceMappingURL=chunk-3S3TVLAV.js.map
|