langwatch 0.20.0 → 0.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{add-2I554R6L.mjs → add-7QFHK67E.mjs} +10 -7
- package/dist/{add-2I554R6L.mjs.map → add-7QFHK67E.mjs.map} +1 -1
- package/dist/{add-FJ2SMVQE.js → add-EJSXUSD6.js} +13 -10
- package/dist/add-EJSXUSD6.js.map +1 -0
- package/dist/assign-5UEB6AJU.js +50 -0
- package/dist/assign-5UEB6AJU.js.map +1 -0
- package/dist/assign-JCCQ5D7I.mjs +50 -0
- package/dist/assign-JCCQ5D7I.mjs.map +1 -0
- package/dist/chunk-2BJPLPLU.js +33 -0
- package/dist/chunk-2BJPLPLU.js.map +1 -0
- package/dist/chunk-2OHGLTXZ.mjs +51 -0
- package/dist/chunk-2OHGLTXZ.mjs.map +1 -0
- package/dist/chunk-2VVANTLB.js +68 -0
- package/dist/chunk-2VVANTLB.js.map +1 -0
- package/dist/{chunk-L5Z7F7MG.mjs → chunk-43STSE3B.mjs} +2 -2
- package/dist/chunk-47F7UDHN.js +76 -0
- package/dist/chunk-47F7UDHN.js.map +1 -0
- package/dist/chunk-5PMWRY5J.js +80 -0
- package/dist/chunk-5PMWRY5J.js.map +1 -0
- package/dist/chunk-7FD7BEJP.mjs +63 -0
- package/dist/chunk-7FD7BEJP.mjs.map +1 -0
- package/dist/{chunk-PIF2RJWZ.js → chunk-AK4YCKWK.js} +107 -108
- package/dist/chunk-AK4YCKWK.js.map +1 -0
- package/dist/chunk-AMPLL3EP.js +70 -0
- package/dist/chunk-AMPLL3EP.js.map +1 -0
- package/dist/chunk-CGFG5FCC.js +674 -0
- package/dist/chunk-CGFG5FCC.js.map +1 -0
- package/dist/chunk-CLYXJJ6C.js +66 -0
- package/dist/chunk-CLYXJJ6C.js.map +1 -0
- package/dist/{chunk-WSESRS6L.mjs → chunk-COKOLKOR.mjs} +8 -6
- package/dist/{chunk-WSESRS6L.mjs.map → chunk-COKOLKOR.mjs.map} +1 -1
- package/dist/chunk-COMOCQA6.mjs +13 -0
- package/dist/chunk-COMOCQA6.mjs.map +1 -0
- package/dist/chunk-CYRJSLKD.js +68 -0
- package/dist/chunk-CYRJSLKD.js.map +1 -0
- package/dist/{chunk-BJUXJHMQ.js → chunk-D2FHOR76.js} +2 -2
- package/dist/{chunk-BJUXJHMQ.js.map → chunk-D2FHOR76.js.map} +1 -1
- package/dist/{chunk-5LYWRKDF.js → chunk-DB6OJGP4.js} +2 -60
- package/dist/chunk-DB6OJGP4.js.map +1 -0
- package/dist/chunk-DTEKJ3UD.mjs +66 -0
- package/dist/chunk-DTEKJ3UD.mjs.map +1 -0
- package/dist/{chunk-NW32UPEI.js → chunk-DUG35J5N.js} +17 -17
- package/dist/{chunk-NW32UPEI.js.map → chunk-DUG35J5N.js.map} +1 -1
- package/dist/chunk-DWHR6QJK.mjs +46 -0
- package/dist/chunk-DWHR6QJK.mjs.map +1 -0
- package/dist/{chunk-A7CF6ZGH.mjs → chunk-ESGWN42J.mjs} +2 -2
- package/dist/{chunk-FMYG6IOZ.mjs → chunk-FARZEN6T.mjs} +2 -2
- package/dist/chunk-FG3JQBJB.mjs +68 -0
- package/dist/chunk-FG3JQBJB.mjs.map +1 -0
- package/dist/chunk-FKIH4XCX.js +63 -0
- package/dist/chunk-FKIH4XCX.js.map +1 -0
- package/dist/chunk-GLCAOVJA.js +100 -0
- package/dist/chunk-GLCAOVJA.js.map +1 -0
- package/dist/{chunk-VCC7F6B7.js → chunk-H6F5OGSL.js} +11 -11
- package/dist/{chunk-VCC7F6B7.js.map → chunk-H6F5OGSL.js.map} +1 -1
- package/dist/chunk-HHRXMHVH.js +54 -0
- package/dist/chunk-HHRXMHVH.js.map +1 -0
- package/dist/{chunk-ZLCERT3X.js → chunk-HPQFHP6K.js} +12 -10
- package/dist/chunk-HPQFHP6K.js.map +1 -0
- package/dist/chunk-I2LDJPTG.mjs +100 -0
- package/dist/chunk-I2LDJPTG.mjs.map +1 -0
- package/dist/chunk-ILLEMTW3.mjs +674 -0
- package/dist/chunk-ILLEMTW3.mjs.map +1 -0
- package/dist/{chunk-OLI6GF46.js → chunk-JWF5KHWM.js} +16 -14
- package/dist/chunk-JWF5KHWM.js.map +1 -0
- package/dist/{chunk-CWXQ53NE.mjs → chunk-JYR4TXSB.mjs} +10 -8
- package/dist/chunk-JYR4TXSB.mjs.map +1 -0
- package/dist/chunk-KH64V3CL.mjs +54 -0
- package/dist/chunk-KH64V3CL.mjs.map +1 -0
- package/dist/chunk-KJSFJ5Z3.js +51 -0
- package/dist/chunk-KJSFJ5Z3.js.map +1 -0
- package/dist/{chunk-WASZSPD7.mjs → chunk-L3IOXWDG.mjs} +100 -101
- package/dist/chunk-L3IOXWDG.mjs.map +1 -0
- package/dist/{chunk-SSONRNFB.mjs → chunk-LN33ZL4Z.mjs} +2 -2
- package/dist/{chunk-SSONRNFB.mjs.map → chunk-LN33ZL4Z.mjs.map} +1 -1
- package/dist/{chunk-5M66X6SZ.mjs → chunk-LULJYN3P.mjs} +3 -3
- package/dist/chunk-M3WJZUOE.js +13 -0
- package/dist/chunk-M3WJZUOE.js.map +1 -0
- package/dist/{chunk-JVIQJFUE.mjs → chunk-M4IBRWUC.mjs} +2 -60
- package/dist/chunk-M4IBRWUC.mjs.map +1 -0
- package/dist/chunk-NIW2SFZZ.mjs +85 -0
- package/dist/chunk-NIW2SFZZ.mjs.map +1 -0
- package/dist/chunk-NMACMKQN.mjs +68 -0
- package/dist/chunk-NMACMKQN.mjs.map +1 -0
- package/dist/chunk-OAAMDWSK.js +65 -0
- package/dist/chunk-OAAMDWSK.js.map +1 -0
- package/dist/chunk-PO6XRHYW.mjs +80 -0
- package/dist/chunk-PO6XRHYW.mjs.map +1 -0
- package/dist/chunk-QH3WUSKF.mjs +33 -0
- package/dist/chunk-QH3WUSKF.mjs.map +1 -0
- package/dist/chunk-RKJDDUGQ.mjs +65 -0
- package/dist/chunk-RKJDDUGQ.mjs.map +1 -0
- package/dist/chunk-TCO73AV5.mjs +53 -0
- package/dist/chunk-TCO73AV5.mjs.map +1 -0
- package/dist/chunk-TQYUM3WH.mjs +70 -0
- package/dist/chunk-TQYUM3WH.mjs.map +1 -0
- package/dist/chunk-TV6ZXLE5.mjs +76 -0
- package/dist/chunk-TV6ZXLE5.mjs.map +1 -0
- package/dist/chunk-VMDYRBQ7.js +85 -0
- package/dist/chunk-VMDYRBQ7.js.map +1 -0
- package/dist/chunk-WE2PHCFS.js +53 -0
- package/dist/chunk-WE2PHCFS.js.map +1 -0
- package/dist/chunk-WLMXMXHE.js +54 -0
- package/dist/chunk-WLMXMXHE.js.map +1 -0
- package/dist/chunk-X7QBE6AA.js +46 -0
- package/dist/chunk-X7QBE6AA.js.map +1 -0
- package/dist/chunk-YTR56IZO.mjs +54 -0
- package/dist/chunk-YTR56IZO.mjs.map +1 -0
- package/dist/{chunk-QLBNSGWC.js → chunk-Z6MQQXMS.js} +4 -4
- package/dist/{chunk-QLBNSGWC.js.map → chunk-Z6MQQXMS.js.map} +1 -1
- package/dist/{chunk-QNT5P6VV.js → chunk-ZZL6VZZU.js} +2 -2
- package/dist/{chunk-QNT5P6VV.js.map → chunk-ZZL6VZZU.js.map} +1 -1
- package/dist/cli/index.js +467 -20
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/index.mjs +467 -20
- package/dist/cli/index.mjs.map +1 -1
- package/dist/create-45FMHT6B.mjs +78 -0
- package/dist/create-45FMHT6B.mjs.map +1 -0
- package/dist/create-4OA73B7I.mjs +44 -0
- package/dist/create-4OA73B7I.mjs.map +1 -0
- package/dist/create-4U5BPFCT.mjs +51 -0
- package/dist/create-4U5BPFCT.mjs.map +1 -0
- package/dist/create-ARJEJDYU.mjs +18 -0
- package/dist/create-CQ7W2OAA.js +78 -0
- package/dist/create-CQ7W2OAA.js.map +1 -0
- package/dist/create-FI6HBFTB.mjs +63 -0
- package/dist/create-FI6HBFTB.mjs.map +1 -0
- package/dist/create-FYLUSZTP.js +38 -0
- package/dist/create-FYLUSZTP.js.map +1 -0
- package/dist/create-GGYYU5KM.mjs +51 -0
- package/dist/create-GGYYU5KM.mjs.map +1 -0
- package/dist/create-K5LFAS4E.mjs +61 -0
- package/dist/create-K5LFAS4E.mjs.map +1 -0
- package/dist/create-KAPF2AOL.js +44 -0
- package/dist/create-KAPF2AOL.js.map +1 -0
- package/dist/create-LWG7ZHEW.mjs +71 -0
- package/dist/create-LWG7ZHEW.mjs.map +1 -0
- package/dist/create-MXYMAFMF.js +71 -0
- package/dist/create-MXYMAFMF.js.map +1 -0
- package/dist/create-NFYHBFF5.mjs +50 -0
- package/dist/create-NFYHBFF5.mjs.map +1 -0
- package/dist/create-OSAXTSUC.js +51 -0
- package/dist/create-OSAXTSUC.js.map +1 -0
- package/dist/create-RPHO5TZX.js +51 -0
- package/dist/create-RPHO5TZX.js.map +1 -0
- package/dist/create-RRI5ZTMI.mjs +51 -0
- package/dist/create-RRI5ZTMI.mjs.map +1 -0
- package/dist/create-UKLLNRXV.js +61 -0
- package/dist/create-UKLLNRXV.js.map +1 -0
- package/dist/create-UZ5NDYPV.js +88 -0
- package/dist/create-UZ5NDYPV.js.map +1 -0
- package/dist/create-WV2NQDV5.js +63 -0
- package/dist/create-WV2NQDV5.js.map +1 -0
- package/dist/create-XGD3GULQ.js +50 -0
- package/dist/create-XGD3GULQ.js.map +1 -0
- package/dist/create-XZXVGMKU.js +51 -0
- package/dist/create-XZXVGMKU.js.map +1 -0
- package/dist/create-Z2XFL2HX.js +18 -0
- package/dist/create-Z2XFL2HX.js.map +1 -0
- package/dist/create-Z7DUMMQ4.mjs +38 -0
- package/dist/create-Z7DUMMQ4.mjs.map +1 -0
- package/dist/create-ZU4L3XOF.mjs +88 -0
- package/dist/create-ZU4L3XOF.mjs.map +1 -0
- package/dist/delete-22LDMLNG.mjs +61 -0
- package/dist/delete-22LDMLNG.mjs.map +1 -0
- package/dist/delete-2S67GS6A.mjs +40 -0
- package/dist/delete-2S67GS6A.mjs.map +1 -0
- package/dist/delete-3WCCA5O2.mjs +44 -0
- package/dist/delete-3WCCA5O2.mjs.map +1 -0
- package/dist/delete-4QNGDUH6.js +44 -0
- package/dist/delete-4QNGDUH6.js.map +1 -0
- package/dist/delete-555RUBQA.js +55 -0
- package/dist/delete-555RUBQA.js.map +1 -0
- package/dist/delete-5NINT2KV.mjs +42 -0
- package/dist/delete-5NINT2KV.mjs.map +1 -0
- package/dist/delete-5VDH4Q3Z.js +44 -0
- package/dist/delete-5VDH4Q3Z.js.map +1 -0
- package/dist/delete-6JPJPG4B.js +38 -0
- package/dist/delete-6JPJPG4B.js.map +1 -0
- package/dist/delete-6ZD3ARMB.js +61 -0
- package/dist/delete-6ZD3ARMB.js.map +1 -0
- package/dist/delete-AOSVEVNL.mjs +44 -0
- package/dist/delete-AOSVEVNL.mjs.map +1 -0
- package/dist/delete-BLTSYYZQ.js +40 -0
- package/dist/delete-BLTSYYZQ.js.map +1 -0
- package/dist/delete-CTE3RNKB.mjs +42 -0
- package/dist/delete-CTE3RNKB.mjs.map +1 -0
- package/dist/delete-HEF4DLSV.mjs +38 -0
- package/dist/delete-HEF4DLSV.mjs.map +1 -0
- package/dist/delete-I36NLS2V.mjs +65 -0
- package/dist/delete-I36NLS2V.mjs.map +1 -0
- package/dist/delete-J2P2Y2BW.mjs +63 -0
- package/dist/delete-J2P2Y2BW.mjs.map +1 -0
- package/dist/delete-KIXZ73DF.mjs +38 -0
- package/dist/delete-KIXZ73DF.mjs.map +1 -0
- package/dist/delete-L3SU34X6.mjs +44 -0
- package/dist/delete-L3SU34X6.mjs.map +1 -0
- package/dist/delete-N6OZW65U.js +44 -0
- package/dist/delete-N6OZW65U.js.map +1 -0
- package/dist/delete-PPEXA2V4.js +42 -0
- package/dist/delete-PPEXA2V4.js.map +1 -0
- package/dist/delete-PXGB35PF.js +65 -0
- package/dist/delete-PXGB35PF.js.map +1 -0
- package/dist/delete-QVE52G3Q.mjs +42 -0
- package/dist/delete-QVE52G3Q.mjs.map +1 -0
- package/dist/delete-R5TSAZOU.js +42 -0
- package/dist/delete-R5TSAZOU.js.map +1 -0
- package/dist/delete-RIHVCQ6G.mjs +55 -0
- package/dist/delete-RIHVCQ6G.mjs.map +1 -0
- package/dist/delete-UWPOVLSO.js +38 -0
- package/dist/delete-UWPOVLSO.js.map +1 -0
- package/dist/delete-XKF7KO4Y.js +63 -0
- package/dist/delete-XKF7KO4Y.js.map +1 -0
- package/dist/delete-ZY2UCN3W.js +42 -0
- package/dist/delete-ZY2UCN3W.js.map +1 -0
- package/dist/download-2Q5T4WW2.js +96 -0
- package/dist/download-2Q5T4WW2.js.map +1 -0
- package/dist/download-7RBJ3GZM.mjs +96 -0
- package/dist/download-7RBJ3GZM.mjs.map +1 -0
- package/dist/duplicate-7N6B5PJD.mjs +48 -0
- package/dist/duplicate-7N6B5PJD.mjs.map +1 -0
- package/dist/duplicate-HZGUFROD.js +48 -0
- package/dist/duplicate-HZGUFROD.js.map +1 -0
- package/dist/export-PP5LG6Q7.js +91 -0
- package/dist/export-PP5LG6Q7.js.map +1 -0
- package/dist/export-TGKA6WA4.mjs +91 -0
- package/dist/export-TGKA6WA4.mjs.map +1 -0
- package/dist/get-2AXSP6AP.js +62 -0
- package/dist/get-2AXSP6AP.js.map +1 -0
- package/dist/get-6UQYEENU.mjs +55 -0
- package/dist/get-6UQYEENU.mjs.map +1 -0
- package/dist/get-73K7EOMU.mjs +53 -0
- package/dist/get-73K7EOMU.mjs.map +1 -0
- package/dist/get-7JYKMJXV.mjs +85 -0
- package/dist/get-7JYKMJXV.mjs.map +1 -0
- package/dist/get-7V7OBWY5.js +86 -0
- package/dist/get-7V7OBWY5.js.map +1 -0
- package/dist/get-CBNUMPUN.mjs +64 -0
- package/dist/get-CBNUMPUN.mjs.map +1 -0
- package/dist/get-E2RIDN65.mjs +70 -0
- package/dist/get-E2RIDN65.mjs.map +1 -0
- package/dist/get-EN3CQXA7.js +51 -0
- package/dist/get-EN3CQXA7.js.map +1 -0
- package/dist/get-GHUHFWC3.js +58 -0
- package/dist/get-GHUHFWC3.js.map +1 -0
- package/dist/get-GQTPK2MW.mjs +51 -0
- package/dist/get-GQTPK2MW.mjs.map +1 -0
- package/dist/get-I2CQCKFW.mjs +62 -0
- package/dist/get-I2CQCKFW.mjs.map +1 -0
- package/dist/get-IDYGZX5O.mjs +51 -0
- package/dist/get-IDYGZX5O.mjs.map +1 -0
- package/dist/get-JAWJ5RIB.mjs +66 -0
- package/dist/get-JAWJ5RIB.mjs.map +1 -0
- package/dist/get-JYN765FP.js +53 -0
- package/dist/get-JYN765FP.js.map +1 -0
- package/dist/get-MHGIJVZ5.js +51 -0
- package/dist/get-MHGIJVZ5.js.map +1 -0
- package/dist/get-NIA7XUS2.mjs +56 -0
- package/dist/get-NIA7XUS2.mjs.map +1 -0
- package/dist/get-PM5HD5BJ.js +64 -0
- package/dist/get-PM5HD5BJ.js.map +1 -0
- package/dist/get-PR65PTQ5.mjs +86 -0
- package/dist/get-PR65PTQ5.mjs.map +1 -0
- package/dist/get-PYWLY7QQ.mjs +71 -0
- package/dist/get-PYWLY7QQ.mjs.map +1 -0
- package/dist/get-QMCMYTDV.mjs +58 -0
- package/dist/get-QMCMYTDV.mjs.map +1 -0
- package/dist/get-QNYINIDO.mjs +95 -0
- package/dist/get-QNYINIDO.mjs.map +1 -0
- package/dist/get-S7MFACWM.js +70 -0
- package/dist/get-S7MFACWM.js.map +1 -0
- package/dist/get-SBMD2X2P.js +66 -0
- package/dist/get-SBMD2X2P.js.map +1 -0
- package/dist/get-T754IOEI.js +85 -0
- package/dist/get-T754IOEI.js.map +1 -0
- package/dist/get-TOXTYIN5.js +71 -0
- package/dist/get-TOXTYIN5.js.map +1 -0
- package/dist/get-UCHL4WHT.js +95 -0
- package/dist/get-UCHL4WHT.js.map +1 -0
- package/dist/get-Y22XVMEO.js +55 -0
- package/dist/get-Y22XVMEO.js.map +1 -0
- package/dist/get-ZEUJA3KA.js +56 -0
- package/dist/get-ZEUJA3KA.js.map +1 -0
- package/dist/{implementation-8fGNr_Mq.d.ts → implementation-7POf4yX4.d.ts} +1 -1
- package/dist/{implementation-DPQ9ez-J.d.mts → implementation-BbuGM8_W.d.mts} +1 -1
- package/dist/index.d.mts +395 -28
- package/dist/index.d.ts +395 -28
- package/dist/index.js +49 -196
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +35 -182
- package/dist/index.mjs.map +1 -1
- package/dist/list-3JR4HKGF.mjs +70 -0
- package/dist/list-3JR4HKGF.mjs.map +1 -0
- package/dist/list-6BRQWVVV.js +74 -0
- package/dist/list-6BRQWVVV.js.map +1 -0
- package/dist/list-6JTFDJAI.mjs +93 -0
- package/dist/list-6JTFDJAI.mjs.map +1 -0
- package/dist/list-7LV6GOZO.js +85 -0
- package/dist/list-7LV6GOZO.js.map +1 -0
- package/dist/list-AEX4S72W.mjs +74 -0
- package/dist/list-AEX4S72W.mjs.map +1 -0
- package/dist/list-AGELVAP7.js +70 -0
- package/dist/list-AGELVAP7.js.map +1 -0
- package/dist/list-ARBOOOYN.mjs +81 -0
- package/dist/list-ARBOOOYN.mjs.map +1 -0
- package/dist/list-AYOW6OF7.js +73 -0
- package/dist/list-AYOW6OF7.js.map +1 -0
- package/dist/list-BAKCZVTL.mjs +78 -0
- package/dist/list-BAKCZVTL.mjs.map +1 -0
- package/dist/list-BDNGLOLK.mjs +77 -0
- package/dist/list-BDNGLOLK.mjs.map +1 -0
- package/dist/list-C6DPYHQ2.js +109 -0
- package/dist/list-C6DPYHQ2.js.map +1 -0
- package/dist/list-E7YPBCAF.mjs +85 -0
- package/dist/list-E7YPBCAF.mjs.map +1 -0
- package/dist/list-EPB36Y7W.mjs +49 -0
- package/dist/list-EPB36Y7W.mjs.map +1 -0
- package/dist/list-FLTPMAHR.js +93 -0
- package/dist/list-FLTPMAHR.js.map +1 -0
- package/dist/list-FPIWJ65T.mjs +83 -0
- package/dist/list-FPIWJ65T.mjs.map +1 -0
- package/dist/list-GN3SAZG2.js +83 -0
- package/dist/list-GN3SAZG2.js.map +1 -0
- package/dist/list-JK36QVS2.js +73 -0
- package/dist/list-JK36QVS2.js.map +1 -0
- package/dist/list-JRWFJU5H.js +81 -0
- package/dist/list-JRWFJU5H.js.map +1 -0
- package/dist/list-KIJ4ILEN.mjs +78 -0
- package/dist/list-KIJ4ILEN.mjs.map +1 -0
- package/dist/list-KQKELE44.mjs +73 -0
- package/dist/list-KQKELE44.mjs.map +1 -0
- package/dist/list-LMMRRFZC.js +77 -0
- package/dist/list-LMMRRFZC.js.map +1 -0
- package/dist/{list-53QTWXGF.mjs → list-N7WIOJ5A.mjs} +29 -68
- package/dist/list-N7WIOJ5A.mjs.map +1 -0
- package/dist/list-RS4QL7NE.mjs +83 -0
- package/dist/list-RS4QL7NE.mjs.map +1 -0
- package/dist/list-SDMJ2GJE.js +81 -0
- package/dist/list-SDMJ2GJE.js.map +1 -0
- package/dist/list-UKGJOVJE.js +49 -0
- package/dist/list-UKGJOVJE.js.map +1 -0
- package/dist/list-UOTJUE2P.js +79 -0
- package/dist/list-UOTJUE2P.js.map +1 -0
- package/dist/list-W2MYF4RU.js +78 -0
- package/dist/list-W2MYF4RU.js.map +1 -0
- package/dist/list-WYYGGV5V.mjs +81 -0
- package/dist/list-WYYGGV5V.mjs.map +1 -0
- package/dist/list-WZ4KHBMF.mjs +73 -0
- package/dist/list-WZ4KHBMF.mjs.map +1 -0
- package/dist/list-XTOWXYB2.js +83 -0
- package/dist/list-XTOWXYB2.js.map +1 -0
- package/dist/list-Z5EEMYRQ.js +78 -0
- package/dist/list-Z5EEMYRQ.js.map +1 -0
- package/dist/list-ZB53NL6Z.mjs +79 -0
- package/dist/list-ZB53NL6Z.mjs.map +1 -0
- package/dist/{login-QWXRNDAM.mjs → login-4AX6AOKI.mjs} +20 -3
- package/dist/login-4AX6AOKI.mjs.map +1 -0
- package/dist/{login-XBFOVP6G.js → login-H3SQDBT7.js} +21 -4
- package/dist/login-H3SQDBT7.js.map +1 -0
- package/dist/observability-sdk/index.d.mts +3 -3
- package/dist/observability-sdk/index.d.ts +3 -3
- package/dist/observability-sdk/index.js +8 -6
- package/dist/observability-sdk/index.js.map +1 -1
- package/dist/observability-sdk/index.mjs +8 -6
- package/dist/observability-sdk/instrumentation/langchain/index.d.mts +1 -1
- package/dist/observability-sdk/instrumentation/langchain/index.d.ts +1 -1
- package/dist/observability-sdk/instrumentation/langchain/index.js +17 -16
- package/dist/observability-sdk/instrumentation/langchain/index.js.map +1 -1
- package/dist/observability-sdk/instrumentation/langchain/index.mjs +3 -2
- package/dist/observability-sdk/instrumentation/langchain/index.mjs.map +1 -1
- package/dist/observability-sdk/setup/node/index.js +6 -5
- package/dist/observability-sdk/setup/node/index.js.map +1 -1
- package/dist/observability-sdk/setup/node/index.mjs +5 -4
- package/dist/pull-64HVVOBC.mjs +23 -0
- package/dist/pull-QIANBELG.js +23 -0
- package/dist/pull-QIANBELG.js.map +1 -0
- package/dist/push-GXLGORLM.mjs +23 -0
- package/dist/push-GXLGORLM.mjs.map +1 -0
- package/dist/push-I3BJSL6N.js +23 -0
- package/dist/push-I3BJSL6N.js.map +1 -0
- package/dist/query-UF2LDBR4.js +158 -0
- package/dist/query-UF2LDBR4.js.map +1 -0
- package/dist/query-ZI7HJSIY.mjs +158 -0
- package/dist/query-ZI7HJSIY.mjs.map +1 -0
- package/dist/records-add-4LX4JHLO.mjs +94 -0
- package/dist/records-add-4LX4JHLO.mjs.map +1 -0
- package/dist/records-add-WTIGBJV4.js +94 -0
- package/dist/records-add-WTIGBJV4.js.map +1 -0
- package/dist/records-delete-IY37NWPN.mjs +42 -0
- package/dist/records-delete-IY37NWPN.mjs.map +1 -0
- package/dist/records-delete-MLOG4DM4.js +42 -0
- package/dist/records-delete-MLOG4DM4.js.map +1 -0
- package/dist/records-list-EP6OCFH5.js +85 -0
- package/dist/records-list-EP6OCFH5.js.map +1 -0
- package/dist/records-list-RIDOAE2V.mjs +85 -0
- package/dist/records-list-RIDOAE2V.mjs.map +1 -0
- package/dist/records-update-5QZBDYUJ.js +49 -0
- package/dist/records-update-5QZBDYUJ.js.map +1 -0
- package/dist/records-update-JINO26IA.mjs +49 -0
- package/dist/records-update-JINO26IA.mjs.map +1 -0
- package/dist/{remove-Q573N52S.mjs → remove-HLVK7VUB.mjs} +10 -7
- package/dist/{remove-Q573N52S.mjs.map → remove-HLVK7VUB.mjs.map} +1 -1
- package/dist/{remove-KIZPGE7J.js → remove-LDX2BSUH.js} +12 -9
- package/dist/remove-LDX2BSUH.js.map +1 -0
- package/dist/rename-FP7X3GJJ.mjs +38 -0
- package/dist/rename-FP7X3GJJ.mjs.map +1 -0
- package/dist/rename-PUSZYLZ7.js +38 -0
- package/dist/rename-PUSZYLZ7.js.map +1 -0
- package/dist/restore-5L5MLISA.mjs +63 -0
- package/dist/restore-5L5MLISA.mjs.map +1 -0
- package/dist/restore-OXNQMRMJ.js +63 -0
- package/dist/restore-OXNQMRMJ.js.map +1 -0
- package/dist/run-AIGCDUDF.mjs +143 -0
- package/dist/run-AIGCDUDF.mjs.map +1 -0
- package/dist/run-CKZ6VNKK.js +143 -0
- package/dist/run-CKZ6VNKK.js.map +1 -0
- package/dist/run-FE4QMJO5.mjs +67 -0
- package/dist/run-FE4QMJO5.mjs.map +1 -0
- package/dist/run-FJDOSV5E.js +128 -0
- package/dist/run-FJDOSV5E.js.map +1 -0
- package/dist/run-GUSPWLCC.mjs +128 -0
- package/dist/run-GUSPWLCC.mjs.map +1 -0
- package/dist/run-KNCB7OEA.js +86 -0
- package/dist/run-KNCB7OEA.js.map +1 -0
- package/dist/run-KZKAHFBR.js +67 -0
- package/dist/run-KZKAHFBR.js.map +1 -0
- package/dist/run-QW2HL4EK.mjs +86 -0
- package/dist/run-QW2HL4EK.mjs.map +1 -0
- package/dist/run-UZVJBWGG.js +130 -0
- package/dist/run-UZVJBWGG.js.map +1 -0
- package/dist/run-WZ4CSMTP.mjs +130 -0
- package/dist/run-WZ4CSMTP.mjs.map +1 -0
- package/dist/search-5B32YGSP.mjs +112 -0
- package/dist/search-5B32YGSP.mjs.map +1 -0
- package/dist/search-J5GDX5JK.js +112 -0
- package/dist/search-J5GDX5JK.js.map +1 -0
- package/dist/set-2DYJNVS5.mjs +62 -0
- package/dist/set-2DYJNVS5.mjs.map +1 -0
- package/dist/set-S5L5QSYZ.js +62 -0
- package/dist/set-S5L5QSYZ.js.map +1 -0
- package/dist/status-OIXOYFH4.mjs +101 -0
- package/dist/status-OIXOYFH4.mjs.map +1 -0
- package/dist/status-Q2PEMYJT.mjs +70 -0
- package/dist/status-Q2PEMYJT.mjs.map +1 -0
- package/dist/status-QRK56VLF.js +70 -0
- package/dist/status-QRK56VLF.js.map +1 -0
- package/dist/status-T7NOWM4X.js +101 -0
- package/dist/status-T7NOWM4X.js.map +1 -0
- package/dist/{sync-YPJIIHKC.js → sync-IDSAYUGO.js} +16 -13
- package/dist/sync-IDSAYUGO.js.map +1 -0
- package/dist/{sync-TM7JZNNW.mjs → sync-LA27E4UB.mjs} +12 -9
- package/dist/{sync-TM7JZNNW.mjs.map → sync-LA27E4UB.mjs.map} +1 -1
- package/dist/{types-DQiByKdr.d.ts → types-B4TSe7JR.d.ts} +6546 -2251
- package/dist/{types-CoHIwxng.d.mts → types-CWY5yQki.d.mts} +6546 -2251
- package/dist/update-3B43ZW4X.mjs +53 -0
- package/dist/update-3B43ZW4X.mjs.map +1 -0
- package/dist/update-3C6Y2Y2P.js +53 -0
- package/dist/update-3C6Y2Y2P.js.map +1 -0
- package/dist/update-4D7R3VYO.js +75 -0
- package/dist/update-4D7R3VYO.js.map +1 -0
- package/dist/update-4FC4YPW7.mjs +71 -0
- package/dist/update-4FC4YPW7.mjs.map +1 -0
- package/dist/update-4YMVL4UT.mjs +74 -0
- package/dist/update-4YMVL4UT.mjs.map +1 -0
- package/dist/update-7ZEJO5SB.js +74 -0
- package/dist/update-7ZEJO5SB.js.map +1 -0
- package/dist/update-BADZ6GRL.js +66 -0
- package/dist/update-BADZ6GRL.js.map +1 -0
- package/dist/update-DLFJBCI2.js +68 -0
- package/dist/update-DLFJBCI2.js.map +1 -0
- package/dist/update-EB7WMPOP.js +53 -0
- package/dist/update-EB7WMPOP.js.map +1 -0
- package/dist/update-EG6BZOLC.mjs +51 -0
- package/dist/update-EG6BZOLC.mjs.map +1 -0
- package/dist/update-FKL5Y73R.js +69 -0
- package/dist/update-FKL5Y73R.js.map +1 -0
- package/dist/update-GWTLCIAT.mjs +69 -0
- package/dist/update-GWTLCIAT.mjs.map +1 -0
- package/dist/update-MFZOMTRJ.mjs +51 -0
- package/dist/update-MFZOMTRJ.mjs.map +1 -0
- package/dist/update-PSY46JJD.mjs +68 -0
- package/dist/update-PSY46JJD.mjs.map +1 -0
- package/dist/update-PXCMJWY3.mjs +53 -0
- package/dist/update-PXCMJWY3.mjs.map +1 -0
- package/dist/update-R72C65QF.mjs +66 -0
- package/dist/update-R72C65QF.mjs.map +1 -0
- package/dist/update-RCZ47II5.js +52 -0
- package/dist/update-RCZ47II5.js.map +1 -0
- package/dist/update-RPD2OXXQ.js +51 -0
- package/dist/update-RPD2OXXQ.js.map +1 -0
- package/dist/update-VLY6LJVM.js +51 -0
- package/dist/update-VLY6LJVM.js.map +1 -0
- package/dist/update-WKM6XI4V.mjs +75 -0
- package/dist/update-WKM6XI4V.mjs.map +1 -0
- package/dist/update-WQK5Q34V.mjs +52 -0
- package/dist/update-WQK5Q34V.mjs.map +1 -0
- package/dist/update-YMWBN55I.js +71 -0
- package/dist/update-YMWBN55I.js.map +1 -0
- package/dist/upload-6LF5GVLP.js +73 -0
- package/dist/upload-6LF5GVLP.js.map +1 -0
- package/dist/upload-QWAITH5R.mjs +73 -0
- package/dist/upload-QWAITH5R.mjs.map +1 -0
- package/dist/versions-HIYVXIKM.js +82 -0
- package/dist/versions-HIYVXIKM.js.map +1 -0
- package/dist/versions-JPUSBSTF.mjs +82 -0
- package/dist/versions-JPUSBSTF.mjs.map +1 -0
- package/package.json +1 -1
- package/dist/add-FJ2SMVQE.js.map +0 -1
- package/dist/chunk-5LYWRKDF.js.map +0 -1
- package/dist/chunk-CWXQ53NE.mjs.map +0 -1
- package/dist/chunk-JVIQJFUE.mjs.map +0 -1
- package/dist/chunk-OLI6GF46.js.map +0 -1
- package/dist/chunk-PIF2RJWZ.js.map +0 -1
- package/dist/chunk-WASZSPD7.mjs.map +0 -1
- package/dist/chunk-ZLCERT3X.js.map +0 -1
- package/dist/list-53QTWXGF.mjs.map +0 -1
- package/dist/list-LBDUK454.js +0 -148
- package/dist/list-LBDUK454.js.map +0 -1
- package/dist/login-QWXRNDAM.mjs.map +0 -1
- package/dist/login-XBFOVP6G.js.map +0 -1
- package/dist/pull-3B3CBSSM.js +0 -20
- package/dist/pull-3B3CBSSM.js.map +0 -1
- package/dist/pull-WK6P7KS2.mjs +0 -20
- package/dist/push-G457CXVG.mjs +0 -20
- package/dist/push-GKFQL6GO.js +0 -20
- package/dist/push-GKFQL6GO.js.map +0 -1
- package/dist/remove-KIZPGE7J.js.map +0 -1
- package/dist/sync-YPJIIHKC.js.map +0 -1
- /package/dist/{chunk-L5Z7F7MG.mjs.map → chunk-43STSE3B.mjs.map} +0 -0
- /package/dist/{chunk-A7CF6ZGH.mjs.map → chunk-ESGWN42J.mjs.map} +0 -0
- /package/dist/{chunk-FMYG6IOZ.mjs.map → chunk-FARZEN6T.mjs.map} +0 -0
- /package/dist/{chunk-5M66X6SZ.mjs.map → chunk-LULJYN3P.mjs.map} +0 -0
- /package/dist/{pull-WK6P7KS2.mjs.map → create-ARJEJDYU.mjs.map} +0 -0
- /package/dist/{push-G457CXVG.mjs.map → pull-64HVVOBC.mjs.map} +0 -0
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
var _chunkKJSFJ5Z3js = require('./chunk-KJSFJ5Z3.js');
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
var _chunkF6E4XQQUjs = require('./chunk-F6E4XQQU.js');
|
|
8
|
+
require('./chunk-2BJPLPLU.js');
|
|
9
|
+
require('./chunk-D2FHOR76.js');
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
var _chunkOHM7JUMRjs = require('./chunk-OHM7JUMR.js');
|
|
13
|
+
|
|
14
|
+
// src/cli/commands/model-providers/set.ts
|
|
15
|
+
var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
|
|
16
|
+
var _ora = require('ora'); var _ora2 = _interopRequireDefault(_ora);
|
|
17
|
+
var setModelProviderCommand = async (provider, options) => {
|
|
18
|
+
var _a, _b, _c, _d;
|
|
19
|
+
_chunkF6E4XQQUjs.checkApiKey.call(void 0, );
|
|
20
|
+
const service = new (0, _chunkKJSFJ5Z3js.ModelProvidersApiService)();
|
|
21
|
+
const spinner = _ora2.default.call(void 0, `Configuring model provider "${provider}"...`).start();
|
|
22
|
+
try {
|
|
23
|
+
const customKeys = {};
|
|
24
|
+
if (options.apiKey) {
|
|
25
|
+
const keyFieldMap = {
|
|
26
|
+
openai: "OPENAI_API_KEY",
|
|
27
|
+
anthropic: "ANTHROPIC_API_KEY",
|
|
28
|
+
azure: "AZURE_API_KEY",
|
|
29
|
+
google: "GOOGLE_API_KEY",
|
|
30
|
+
groq: "GROQ_API_KEY",
|
|
31
|
+
cohere: "COHERE_API_KEY"
|
|
32
|
+
};
|
|
33
|
+
const keyField = (_a = keyFieldMap[provider]) != null ? _a : `${provider.toUpperCase()}_API_KEY`;
|
|
34
|
+
customKeys[keyField] = options.apiKey;
|
|
35
|
+
}
|
|
36
|
+
await service.set(provider, _chunkOHM7JUMRjs.__spreadValues.call(void 0, _chunkOHM7JUMRjs.__spreadValues.call(void 0, {
|
|
37
|
+
enabled: (_b = options.enabled) != null ? _b : true
|
|
38
|
+
}, Object.keys(customKeys).length > 0 && { customKeys }), options.defaultModel && { defaultModel: options.defaultModel }));
|
|
39
|
+
spinner.succeed(
|
|
40
|
+
`Configured model provider "${_chalk2.default.cyan(provider)}"`
|
|
41
|
+
);
|
|
42
|
+
if (options.format === "json") {
|
|
43
|
+
console.log(JSON.stringify({ provider, enabled: (_c = options.enabled) != null ? _c : true, defaultModel: (_d = options.defaultModel) != null ? _d : null }, null, 2));
|
|
44
|
+
}
|
|
45
|
+
} catch (error) {
|
|
46
|
+
spinner.fail();
|
|
47
|
+
if (error instanceof _chunkKJSFJ5Z3js.ModelProvidersApiError) {
|
|
48
|
+
console.error(_chalk2.default.red(`Error: ${error.message}`));
|
|
49
|
+
} else {
|
|
50
|
+
console.error(
|
|
51
|
+
_chalk2.default.red(
|
|
52
|
+
`Error configuring model provider: ${error instanceof Error ? error.message : "Unknown error"}`
|
|
53
|
+
)
|
|
54
|
+
);
|
|
55
|
+
}
|
|
56
|
+
process.exit(1);
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
exports.setModelProviderCommand = setModelProviderCommand;
|
|
62
|
+
//# sourceMappingURL=set-S5L5QSYZ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/langwatch/langwatch/typescript-sdk/dist/set-S5L5QSYZ.js","../src/cli/commands/model-providers/set.ts"],"names":[],"mappings":"AAAA;AACE;AACA;AACF,sDAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B,+BAA4B;AAC5B,+BAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B;AACA;ACbA,4EAAkB;AAClB,oEAAgB;AAOT,IAAM,wBAAA,EAA0B,MAAA,CACrC,QAAA,EACA,OAAA,EAAA,GACkB;AAXpB,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AAYE,EAAA,0CAAA,CAAY;AAEZ,EAAA,MAAM,QAAA,EAAU,IAAI,8CAAA,CAAyB,CAAA;AAC7C,EAAA,MAAM,QAAA,EAAU,2BAAA,CAAI,4BAAA,EAA+B,QAAQ,CAAA,IAAA,CAAM,CAAA,CAAE,KAAA,CAAM,CAAA;AAEzE,EAAA,IAAI;AACF,IAAA,MAAM,WAAA,EAAqC,CAAC,CAAA;AAC5C,IAAA,GAAA,CAAI,OAAA,CAAQ,MAAA,EAAQ;AAElB,MAAA,MAAM,YAAA,EAAsC;AAAA,QAC1C,MAAA,EAAQ,gBAAA;AAAA,QACR,SAAA,EAAW,mBAAA;AAAA,QACX,KAAA,EAAO,eAAA;AAAA,QACP,MAAA,EAAQ,gBAAA;AAAA,QACR,IAAA,EAAM,cAAA;AAAA,QACN,MAAA,EAAQ;AAAA,MACV,CAAA;AACA,MAAA,MAAM,SAAA,EAAA,CAAW,GAAA,EAAA,WAAA,CAAY,QAAQ,CAAA,EAAA,GAApB,KAAA,EAAA,GAAA,EAAyB,CAAA,EAAA;AACX,MAAA;AACjC,IAAA;AAE4B,IAAA;AACE,MAAA;AAExB,IAAA;AAGE,IAAA;AAC4C,MAAA;AACpD,IAAA;AAE+B,IAAA;AAC2B,MAAA;AAC1D,IAAA;AACc,EAAA;AACD,IAAA;AACgC,IAAA;AACO,MAAA;AAC7C,IAAA;AACG,MAAA;AACA,QAAA;AACkD,UAAA;AACxD,QAAA;AACF,MAAA;AACF,IAAA;AACc,IAAA;AAChB,EAAA;AACF;ADDoE;AACA;AACA","file":"/home/runner/work/langwatch/langwatch/typescript-sdk/dist/set-S5L5QSYZ.js","sourcesContent":[null,"import chalk from \"chalk\";\nimport ora from \"ora\";\nimport {\n ModelProvidersApiService,\n ModelProvidersApiError,\n} from \"@/client-sdk/services/model-providers/model-providers-api.service\";\nimport { checkApiKey } from \"../../utils/apiKey\";\n\nexport const setModelProviderCommand = async (\n provider: string,\n options: { enabled?: boolean; apiKey?: string; defaultModel?: string; format?: string },\n): Promise<void> => {\n checkApiKey();\n\n const service = new ModelProvidersApiService();\n const spinner = ora(`Configuring model provider \"${provider}\"...`).start();\n\n try {\n const customKeys: Record<string, string> = {};\n if (options.apiKey) {\n // Map common provider names to their expected key field\n const keyFieldMap: Record<string, string> = {\n openai: \"OPENAI_API_KEY\",\n anthropic: \"ANTHROPIC_API_KEY\",\n azure: \"AZURE_API_KEY\",\n google: \"GOOGLE_API_KEY\",\n groq: \"GROQ_API_KEY\",\n cohere: \"COHERE_API_KEY\",\n };\n const keyField = keyFieldMap[provider] ?? `${provider.toUpperCase()}_API_KEY`;\n customKeys[keyField] = options.apiKey;\n }\n\n await service.set(provider, {\n enabled: options.enabled ?? true,\n ...(Object.keys(customKeys).length > 0 && { customKeys }),\n ...(options.defaultModel && { defaultModel: options.defaultModel }),\n });\n\n spinner.succeed(\n `Configured model provider \"${chalk.cyan(provider)}\"`,\n );\n\n if (options.format === \"json\") {\n console.log(JSON.stringify({ provider, enabled: options.enabled ?? true, defaultModel: options.defaultModel ?? null }, null, 2));\n }\n } catch (error) {\n spinner.fail();\n if (error instanceof ModelProvidersApiError) {\n console.error(chalk.red(`Error: ${error.message}`));\n } else {\n console.error(\n chalk.red(\n `Error configuring model provider: ${error instanceof Error ? error.message : \"Unknown error\"}`,\n ),\n );\n }\n process.exit(1);\n }\n};\n"]}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import {
|
|
2
|
+
checkApiKey
|
|
3
|
+
} from "./chunk-DHJKJVY7.mjs";
|
|
4
|
+
import {
|
|
5
|
+
createLangWatchApiClient
|
|
6
|
+
} from "./chunk-QH3WUSKF.mjs";
|
|
7
|
+
import "./chunk-LN33ZL4Z.mjs";
|
|
8
|
+
import "./chunk-URTD2WOC.mjs";
|
|
9
|
+
|
|
10
|
+
// src/cli/commands/status.ts
|
|
11
|
+
import chalk from "chalk";
|
|
12
|
+
import ora from "ora";
|
|
13
|
+
var statusCommand = async (options) => {
|
|
14
|
+
var _a, _b;
|
|
15
|
+
checkApiKey();
|
|
16
|
+
const apiClient = createLangWatchApiClient();
|
|
17
|
+
const apiKey = (_a = process.env.LANGWATCH_API_KEY) != null ? _a : "";
|
|
18
|
+
const endpoint = (_b = process.env.LANGWATCH_ENDPOINT) != null ? _b : "https://app.langwatch.ai";
|
|
19
|
+
const spinner = ora("Fetching project status...").start();
|
|
20
|
+
const results = {};
|
|
21
|
+
async function fetchCount(url) {
|
|
22
|
+
const response = await fetch(`${endpoint}${url}`, {
|
|
23
|
+
headers: { "X-Auth-Token": apiKey }
|
|
24
|
+
});
|
|
25
|
+
if (!response.ok) return { data: null, error: "fetch failed" };
|
|
26
|
+
const data = await response.json();
|
|
27
|
+
return { data, error: void 0 };
|
|
28
|
+
}
|
|
29
|
+
const fetchers = [
|
|
30
|
+
{ key: "evaluators", fn: () => apiClient.GET("/api/evaluators") },
|
|
31
|
+
{ key: "scenarios", fn: () => apiClient.GET("/api/scenarios") },
|
|
32
|
+
{ key: "suites", fn: () => fetchCount("/api/suites") },
|
|
33
|
+
{ key: "datasets", fn: () => apiClient.GET("/api/dataset") },
|
|
34
|
+
{ key: "agents", fn: () => apiClient.GET("/api/agents") },
|
|
35
|
+
{ key: "workflows", fn: () => apiClient.GET("/api/workflows") },
|
|
36
|
+
{ key: "dashboards", fn: () => apiClient.GET("/api/dashboards") },
|
|
37
|
+
{ key: "triggers", fn: () => fetchCount("/api/triggers") },
|
|
38
|
+
{ key: "monitors", fn: () => fetchCount("/api/monitors") },
|
|
39
|
+
{ key: "secrets", fn: () => fetchCount("/api/secrets") }
|
|
40
|
+
];
|
|
41
|
+
await Promise.allSettled(
|
|
42
|
+
fetchers.map(async ({ key, fn }) => {
|
|
43
|
+
try {
|
|
44
|
+
const { data, error } = await fn();
|
|
45
|
+
if (error) {
|
|
46
|
+
results[key] = { count: 0, error: "fetch failed" };
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
if (Array.isArray(data)) {
|
|
50
|
+
results[key] = { count: data.length };
|
|
51
|
+
} else if (data && typeof data === "object" && "data" in data) {
|
|
52
|
+
const arr = data.data;
|
|
53
|
+
results[key] = { count: Array.isArray(arr) ? arr.length : 0 };
|
|
54
|
+
} else if (data && typeof data === "object" && "pagination" in data) {
|
|
55
|
+
const pagination = data.pagination;
|
|
56
|
+
results[key] = { count: pagination.total };
|
|
57
|
+
} else {
|
|
58
|
+
results[key] = { count: 0 };
|
|
59
|
+
}
|
|
60
|
+
} catch (e) {
|
|
61
|
+
results[key] = { count: 0, error: "unavailable" };
|
|
62
|
+
}
|
|
63
|
+
})
|
|
64
|
+
);
|
|
65
|
+
spinner.succeed("Project status");
|
|
66
|
+
if ((options == null ? void 0 : options.format) === "json") {
|
|
67
|
+
console.log(JSON.stringify(results, null, 2));
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
console.log();
|
|
71
|
+
console.log(chalk.bold(" Resource Counts:"));
|
|
72
|
+
const order = ["evaluators", "scenarios", "suites", "datasets", "agents", "workflows", "dashboards", "triggers", "monitors", "secrets"];
|
|
73
|
+
for (const key of order) {
|
|
74
|
+
const r = results[key];
|
|
75
|
+
if (!r) continue;
|
|
76
|
+
const countStr = r.error ? chalk.red(r.error) : chalk.cyan(String(r.count));
|
|
77
|
+
console.log(` ${chalk.gray(key + ":")} ${" ".repeat(14 - key.length)}${countStr}`);
|
|
78
|
+
}
|
|
79
|
+
console.log();
|
|
80
|
+
console.log(chalk.gray(" Available CLI commands:"));
|
|
81
|
+
console.log(chalk.gray(" langwatch evaluator list langwatch scenario list"));
|
|
82
|
+
console.log(chalk.gray(" langwatch dataset list langwatch agent list"));
|
|
83
|
+
console.log(chalk.gray(" langwatch workflow list langwatch dashboard list"));
|
|
84
|
+
console.log(chalk.gray(" langwatch suite list langwatch trigger list"));
|
|
85
|
+
console.log(chalk.gray(" langwatch monitor list langwatch secret list"));
|
|
86
|
+
console.log(chalk.gray(" langwatch graph list langwatch simulation-run list"));
|
|
87
|
+
console.log(chalk.gray(" langwatch trace search langwatch analytics query"));
|
|
88
|
+
console.log(chalk.gray(" langwatch annotation list langwatch model-provider list"));
|
|
89
|
+
console.log();
|
|
90
|
+
console.log(chalk.gray(" Execution:"));
|
|
91
|
+
console.log(chalk.gray(" langwatch evaluation run <slug> [--wait]"));
|
|
92
|
+
console.log(chalk.gray(" langwatch suite run <id> [--wait]"));
|
|
93
|
+
console.log(chalk.gray(" langwatch scenario run <id> --target <type>:<ref>"));
|
|
94
|
+
console.log(chalk.gray(" langwatch agent run <id> --input <json>"));
|
|
95
|
+
console.log(chalk.gray(" langwatch workflow run <id> --input <json>"));
|
|
96
|
+
console.log();
|
|
97
|
+
};
|
|
98
|
+
export {
|
|
99
|
+
statusCommand
|
|
100
|
+
};
|
|
101
|
+
//# sourceMappingURL=status-OIXOYFH4.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/cli/commands/status.ts"],"sourcesContent":["import chalk from \"chalk\";\nimport ora from \"ora\";\nimport { checkApiKey } from \"../utils/apiKey\";\nimport {\n createLangWatchApiClient,\n} from \"@/internal/api/client\";\n\nexport const statusCommand = async (options?: { format?: string }): Promise<void> => {\n checkApiKey();\n\n const apiClient = createLangWatchApiClient();\n const apiKey = process.env.LANGWATCH_API_KEY ?? \"\";\n const endpoint = process.env.LANGWATCH_ENDPOINT ?? \"https://app.langwatch.ai\";\n const spinner = ora(\"Fetching project status...\").start();\n\n const results: Record<string, { count: number; error?: string }> = {};\n\n async function fetchCount(url: string): Promise<{ data: unknown; error?: string }> {\n const response = await fetch(`${endpoint}${url}`, {\n headers: { \"X-Auth-Token\": apiKey },\n });\n if (!response.ok) return { data: null, error: \"fetch failed\" };\n const data = await response.json();\n return { data, error: undefined };\n }\n\n // Fetch counts for all major resources in parallel\n const fetchers = [\n { key: \"evaluators\", fn: () => apiClient.GET(\"/api/evaluators\") },\n { key: \"scenarios\", fn: () => apiClient.GET(\"/api/scenarios\") },\n { key: \"suites\", fn: () => fetchCount(\"/api/suites\") },\n { key: \"datasets\", fn: () => apiClient.GET(\"/api/dataset\") },\n { key: \"agents\", fn: () => apiClient.GET(\"/api/agents\") },\n { key: \"workflows\", fn: () => apiClient.GET(\"/api/workflows\") },\n { key: \"dashboards\", fn: () => apiClient.GET(\"/api/dashboards\") },\n { key: \"triggers\", fn: () => fetchCount(\"/api/triggers\") },\n { key: \"monitors\", fn: () => fetchCount(\"/api/monitors\") },\n { key: \"secrets\", fn: () => fetchCount(\"/api/secrets\") },\n ];\n\n await Promise.allSettled(\n fetchers.map(async ({ key, fn }) => {\n try {\n const { data, error } = await fn();\n if (error) {\n results[key] = { count: 0, error: \"fetch failed\" };\n return;\n }\n if (Array.isArray(data)) {\n results[key] = { count: data.length };\n } else if (data && typeof data === \"object\" && \"data\" in (data as Record<string, unknown>)) {\n const arr = (data as { data: unknown[] }).data;\n results[key] = { count: Array.isArray(arr) ? arr.length : 0 };\n } else if (data && typeof data === \"object\" && \"pagination\" in (data as Record<string, unknown>)) {\n const pagination = (data as { pagination: { total: number } }).pagination;\n results[key] = { count: pagination.total };\n } else {\n results[key] = { count: 0 };\n }\n } catch {\n results[key] = { count: 0, error: \"unavailable\" };\n }\n }),\n );\n\n spinner.succeed(\"Project status\");\n\n if (options?.format === \"json\") {\n console.log(JSON.stringify(results, null, 2));\n return;\n }\n\n console.log();\n console.log(chalk.bold(\" Resource Counts:\"));\n\n const order = [\"evaluators\", \"scenarios\", \"suites\", \"datasets\", \"agents\", \"workflows\", \"dashboards\", \"triggers\", \"monitors\", \"secrets\"];\n for (const key of order) {\n const r = results[key];\n if (!r) continue;\n const countStr = r.error\n ? chalk.red(r.error)\n : chalk.cyan(String(r.count));\n console.log(` ${chalk.gray(key + \":\")} ${\" \".repeat(14 - key.length)}${countStr}`);\n }\n\n console.log();\n console.log(chalk.gray(\" Available CLI commands:\"));\n console.log(chalk.gray(\" langwatch evaluator list langwatch scenario list\"));\n console.log(chalk.gray(\" langwatch dataset list langwatch agent list\"));\n console.log(chalk.gray(\" langwatch workflow list langwatch dashboard list\"));\n console.log(chalk.gray(\" langwatch suite list langwatch trigger list\"));\n console.log(chalk.gray(\" langwatch monitor list langwatch secret list\"));\n console.log(chalk.gray(\" langwatch graph list langwatch simulation-run list\"));\n console.log(chalk.gray(\" langwatch trace search langwatch analytics query\"));\n console.log(chalk.gray(\" langwatch annotation list langwatch model-provider list\"));\n console.log();\n console.log(chalk.gray(\" Execution:\"));\n console.log(chalk.gray(\" langwatch evaluation run <slug> [--wait]\"));\n console.log(chalk.gray(\" langwatch suite run <id> [--wait]\"));\n console.log(chalk.gray(\" langwatch scenario run <id> --target <type>:<ref>\"));\n console.log(chalk.gray(\" langwatch agent run <id> --input <json>\"));\n console.log(chalk.gray(\" langwatch workflow run <id> --input <json>\"));\n console.log();\n};\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import {
|
|
2
|
+
EvaluationsApiError,
|
|
3
|
+
EvaluationsApiService
|
|
4
|
+
} from "./chunk-YTR56IZO.mjs";
|
|
5
|
+
import {
|
|
6
|
+
checkApiKey
|
|
7
|
+
} from "./chunk-DHJKJVY7.mjs";
|
|
8
|
+
import "./chunk-QH3WUSKF.mjs";
|
|
9
|
+
import "./chunk-LN33ZL4Z.mjs";
|
|
10
|
+
import "./chunk-URTD2WOC.mjs";
|
|
11
|
+
|
|
12
|
+
// src/cli/commands/evaluation/status.ts
|
|
13
|
+
import chalk from "chalk";
|
|
14
|
+
import ora from "ora";
|
|
15
|
+
var evaluationStatusCommand = async (runId, options) => {
|
|
16
|
+
checkApiKey();
|
|
17
|
+
const service = new EvaluationsApiService();
|
|
18
|
+
const spinner = ora(`Checking run status "${runId}"...`).start();
|
|
19
|
+
try {
|
|
20
|
+
const status = await service.getRunStatus(runId);
|
|
21
|
+
const statusColor = status.status === "completed" ? chalk.green : status.status === "failed" ? chalk.red : status.status === "running" ? chalk.yellow : chalk.gray;
|
|
22
|
+
spinner.succeed(`Run ${chalk.cyan(runId)}: ${statusColor(status.status)}`);
|
|
23
|
+
if ((options == null ? void 0 : options.format) === "json") {
|
|
24
|
+
console.log(JSON.stringify(status, null, 2));
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
console.log();
|
|
28
|
+
console.log(` ${chalk.gray("Status:")} ${statusColor(status.status)}`);
|
|
29
|
+
console.log(` ${chalk.gray("Progress:")} ${status.progress}/${status.total} cells`);
|
|
30
|
+
if (status.startedAt) {
|
|
31
|
+
console.log(` ${chalk.gray("Started:")} ${new Date(status.startedAt).toLocaleString()}`);
|
|
32
|
+
}
|
|
33
|
+
if (status.finishedAt) {
|
|
34
|
+
console.log(` ${chalk.gray("Finished:")} ${new Date(status.finishedAt).toLocaleString()}`);
|
|
35
|
+
}
|
|
36
|
+
if (status.summary) {
|
|
37
|
+
console.log();
|
|
38
|
+
console.log(chalk.bold(" Summary:"));
|
|
39
|
+
if (status.summary.completedCells !== void 0) {
|
|
40
|
+
console.log(` ${chalk.gray("Completed:")} ${chalk.green(String(status.summary.completedCells))}`);
|
|
41
|
+
}
|
|
42
|
+
if (status.summary.failedCells) {
|
|
43
|
+
console.log(` ${chalk.gray("Failed:")} ${chalk.red(String(status.summary.failedCells))}`);
|
|
44
|
+
}
|
|
45
|
+
if (status.summary.duration) {
|
|
46
|
+
console.log(` ${chalk.gray("Duration:")} ${(status.summary.duration / 1e3).toFixed(1)}s`);
|
|
47
|
+
}
|
|
48
|
+
if (status.summary.runUrl) {
|
|
49
|
+
console.log(` ${chalk.gray("View:")} ${status.summary.runUrl}`);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
console.log();
|
|
53
|
+
} catch (error) {
|
|
54
|
+
spinner.fail();
|
|
55
|
+
if (error instanceof EvaluationsApiError) {
|
|
56
|
+
console.error(chalk.red(`Error: ${error.message}`));
|
|
57
|
+
} else {
|
|
58
|
+
console.error(
|
|
59
|
+
chalk.red(
|
|
60
|
+
`Error checking status: ${error instanceof Error ? error.message : "Unknown error"}`
|
|
61
|
+
)
|
|
62
|
+
);
|
|
63
|
+
}
|
|
64
|
+
process.exit(1);
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
export {
|
|
68
|
+
evaluationStatusCommand
|
|
69
|
+
};
|
|
70
|
+
//# sourceMappingURL=status-Q2PEMYJT.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/cli/commands/evaluation/status.ts"],"sourcesContent":["import chalk from \"chalk\";\nimport ora from \"ora\";\nimport {\n EvaluationsApiService,\n EvaluationsApiError,\n} from \"@/client-sdk/services/evaluations/evaluations-api.service\";\nimport { checkApiKey } from \"../../utils/apiKey\";\n\nexport const evaluationStatusCommand = async (\n runId: string,\n options?: { format?: string },\n): Promise<void> => {\n checkApiKey();\n\n const service = new EvaluationsApiService();\n const spinner = ora(`Checking run status \"${runId}\"...`).start();\n\n try {\n const status = await service.getRunStatus(runId);\n\n const statusColor =\n status.status === \"completed\"\n ? chalk.green\n : status.status === \"failed\"\n ? chalk.red\n : status.status === \"running\"\n ? chalk.yellow\n : chalk.gray;\n\n spinner.succeed(`Run ${chalk.cyan(runId)}: ${statusColor(status.status)}`);\n\n if (options?.format === \"json\") {\n console.log(JSON.stringify(status, null, 2));\n return;\n }\n\n console.log();\n console.log(` ${chalk.gray(\"Status:\")} ${statusColor(status.status)}`);\n console.log(` ${chalk.gray(\"Progress:\")} ${status.progress}/${status.total} cells`);\n\n if (status.startedAt) {\n console.log(` ${chalk.gray(\"Started:\")} ${new Date(status.startedAt).toLocaleString()}`);\n }\n if (status.finishedAt) {\n console.log(` ${chalk.gray(\"Finished:\")} ${new Date(status.finishedAt).toLocaleString()}`);\n }\n\n if (status.summary) {\n console.log();\n console.log(chalk.bold(\" Summary:\"));\n if (status.summary.completedCells !== undefined) {\n console.log(` ${chalk.gray(\"Completed:\")} ${chalk.green(String(status.summary.completedCells))}`);\n }\n if (status.summary.failedCells) {\n console.log(` ${chalk.gray(\"Failed:\")} ${chalk.red(String(status.summary.failedCells))}`);\n }\n if (status.summary.duration) {\n console.log(` ${chalk.gray(\"Duration:\")} ${(status.summary.duration / 1000).toFixed(1)}s`);\n }\n if (status.summary.runUrl) {\n console.log(` ${chalk.gray(\"View:\")} ${status.summary.runUrl}`);\n }\n }\n\n console.log();\n } catch (error) {\n spinner.fail();\n if (error instanceof EvaluationsApiError) {\n console.error(chalk.red(`Error: ${error.message}`));\n } else {\n console.error(\n chalk.red(\n `Error checking status: ${error instanceof Error ? error.message : \"Unknown error\"}`,\n ),\n );\n }\n process.exit(1);\n }\n};\n"],"mappings":";;;;;;;;;;;;AAAA,OAAO,WAAW;AAClB,OAAO,SAAS;AAOT,IAAM,0BAA0B,OACrC,OACA,YACkB;AAClB,cAAY;AAEZ,QAAM,UAAU,IAAI,sBAAsB;AAC1C,QAAM,UAAU,IAAI,wBAAwB,KAAK,MAAM,EAAE,MAAM;AAE/D,MAAI;AACF,UAAM,SAAS,MAAM,QAAQ,aAAa,KAAK;AAE/C,UAAM,cACJ,OAAO,WAAW,cACd,MAAM,QACN,OAAO,WAAW,WAChB,MAAM,MACN,OAAO,WAAW,YAChB,MAAM,SACN,MAAM;AAEhB,YAAQ,QAAQ,OAAO,MAAM,KAAK,KAAK,CAAC,KAAK,YAAY,OAAO,MAAM,CAAC,EAAE;AAEzE,SAAI,mCAAS,YAAW,QAAQ;AAC9B,cAAQ,IAAI,KAAK,UAAU,QAAQ,MAAM,CAAC,CAAC;AAC3C;AAAA,IACF;AAEA,YAAQ,IAAI;AACZ,YAAQ,IAAI,KAAK,MAAM,KAAK,SAAS,CAAC,MAAM,YAAY,OAAO,MAAM,CAAC,EAAE;AACxE,YAAQ,IAAI,KAAK,MAAM,KAAK,WAAW,CAAC,IAAI,OAAO,QAAQ,IAAI,OAAO,KAAK,QAAQ;AAEnF,QAAI,OAAO,WAAW;AACpB,cAAQ,IAAI,KAAK,MAAM,KAAK,UAAU,CAAC,KAAK,IAAI,KAAK,OAAO,SAAS,EAAE,eAAe,CAAC,EAAE;AAAA,IAC3F;AACA,QAAI,OAAO,YAAY;AACrB,cAAQ,IAAI,KAAK,MAAM,KAAK,WAAW,CAAC,IAAI,IAAI,KAAK,OAAO,UAAU,EAAE,eAAe,CAAC,EAAE;AAAA,IAC5F;AAEA,QAAI,OAAO,SAAS;AAClB,cAAQ,IAAI;AACZ,cAAQ,IAAI,MAAM,KAAK,YAAY,CAAC;AACpC,UAAI,OAAO,QAAQ,mBAAmB,QAAW;AAC/C,gBAAQ,IAAI,OAAO,MAAM,KAAK,YAAY,CAAC,IAAI,MAAM,MAAM,OAAO,OAAO,QAAQ,cAAc,CAAC,CAAC,EAAE;AAAA,MACrG;AACA,UAAI,OAAO,QAAQ,aAAa;AAC9B,gBAAQ,IAAI,OAAO,MAAM,KAAK,SAAS,CAAC,OAAO,MAAM,IAAI,OAAO,OAAO,QAAQ,WAAW,CAAC,CAAC,EAAE;AAAA,MAChG;AACA,UAAI,OAAO,QAAQ,UAAU;AAC3B,gBAAQ,IAAI,OAAO,MAAM,KAAK,WAAW,CAAC,MAAM,OAAO,QAAQ,WAAW,KAAM,QAAQ,CAAC,CAAC,GAAG;AAAA,MAC/F;AACA,UAAI,OAAO,QAAQ,QAAQ;AACzB,gBAAQ,IAAI,OAAO,MAAM,KAAK,OAAO,CAAC,SAAS,OAAO,QAAQ,MAAM,EAAE;AAAA,MACxE;AAAA,IACF;AAEA,YAAQ,IAAI;AAAA,EACd,SAAS,OAAO;AACd,YAAQ,KAAK;AACb,QAAI,iBAAiB,qBAAqB;AACxC,cAAQ,MAAM,MAAM,IAAI,UAAU,MAAM,OAAO,EAAE,CAAC;AAAA,IACpD,OAAO;AACL,cAAQ;AAAA,QACN,MAAM;AAAA,UACJ,0BAA0B,iBAAiB,QAAQ,MAAM,UAAU,eAAe;AAAA,QACpF;AAAA,MACF;AAAA,IACF;AACA,YAAQ,KAAK,CAAC;AAAA,EAChB;AACF;","names":[]}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
var _chunkHHRXMHVHjs = require('./chunk-HHRXMHVH.js');
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
var _chunkF6E4XQQUjs = require('./chunk-F6E4XQQU.js');
|
|
8
|
+
require('./chunk-2BJPLPLU.js');
|
|
9
|
+
require('./chunk-D2FHOR76.js');
|
|
10
|
+
require('./chunk-OHM7JUMR.js');
|
|
11
|
+
|
|
12
|
+
// src/cli/commands/evaluation/status.ts
|
|
13
|
+
var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
|
|
14
|
+
var _ora = require('ora'); var _ora2 = _interopRequireDefault(_ora);
|
|
15
|
+
var evaluationStatusCommand = async (runId, options) => {
|
|
16
|
+
_chunkF6E4XQQUjs.checkApiKey.call(void 0, );
|
|
17
|
+
const service = new (0, _chunkHHRXMHVHjs.EvaluationsApiService)();
|
|
18
|
+
const spinner = _ora2.default.call(void 0, `Checking run status "${runId}"...`).start();
|
|
19
|
+
try {
|
|
20
|
+
const status = await service.getRunStatus(runId);
|
|
21
|
+
const statusColor = status.status === "completed" ? _chalk2.default.green : status.status === "failed" ? _chalk2.default.red : status.status === "running" ? _chalk2.default.yellow : _chalk2.default.gray;
|
|
22
|
+
spinner.succeed(`Run ${_chalk2.default.cyan(runId)}: ${statusColor(status.status)}`);
|
|
23
|
+
if ((options == null ? void 0 : options.format) === "json") {
|
|
24
|
+
console.log(JSON.stringify(status, null, 2));
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
console.log();
|
|
28
|
+
console.log(` ${_chalk2.default.gray("Status:")} ${statusColor(status.status)}`);
|
|
29
|
+
console.log(` ${_chalk2.default.gray("Progress:")} ${status.progress}/${status.total} cells`);
|
|
30
|
+
if (status.startedAt) {
|
|
31
|
+
console.log(` ${_chalk2.default.gray("Started:")} ${new Date(status.startedAt).toLocaleString()}`);
|
|
32
|
+
}
|
|
33
|
+
if (status.finishedAt) {
|
|
34
|
+
console.log(` ${_chalk2.default.gray("Finished:")} ${new Date(status.finishedAt).toLocaleString()}`);
|
|
35
|
+
}
|
|
36
|
+
if (status.summary) {
|
|
37
|
+
console.log();
|
|
38
|
+
console.log(_chalk2.default.bold(" Summary:"));
|
|
39
|
+
if (status.summary.completedCells !== void 0) {
|
|
40
|
+
console.log(` ${_chalk2.default.gray("Completed:")} ${_chalk2.default.green(String(status.summary.completedCells))}`);
|
|
41
|
+
}
|
|
42
|
+
if (status.summary.failedCells) {
|
|
43
|
+
console.log(` ${_chalk2.default.gray("Failed:")} ${_chalk2.default.red(String(status.summary.failedCells))}`);
|
|
44
|
+
}
|
|
45
|
+
if (status.summary.duration) {
|
|
46
|
+
console.log(` ${_chalk2.default.gray("Duration:")} ${(status.summary.duration / 1e3).toFixed(1)}s`);
|
|
47
|
+
}
|
|
48
|
+
if (status.summary.runUrl) {
|
|
49
|
+
console.log(` ${_chalk2.default.gray("View:")} ${status.summary.runUrl}`);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
console.log();
|
|
53
|
+
} catch (error) {
|
|
54
|
+
spinner.fail();
|
|
55
|
+
if (error instanceof _chunkHHRXMHVHjs.EvaluationsApiError) {
|
|
56
|
+
console.error(_chalk2.default.red(`Error: ${error.message}`));
|
|
57
|
+
} else {
|
|
58
|
+
console.error(
|
|
59
|
+
_chalk2.default.red(
|
|
60
|
+
`Error checking status: ${error instanceof Error ? error.message : "Unknown error"}`
|
|
61
|
+
)
|
|
62
|
+
);
|
|
63
|
+
}
|
|
64
|
+
process.exit(1);
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
exports.evaluationStatusCommand = evaluationStatusCommand;
|
|
70
|
+
//# sourceMappingURL=status-QRK56VLF.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/langwatch/langwatch/typescript-sdk/dist/status-QRK56VLF.js","../src/cli/commands/evaluation/status.ts"],"names":[],"mappings":"AAAA;AACE;AACA;AACF,sDAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B,+BAA4B;AAC5B,+BAA4B;AAC5B,+BAA4B;AAC5B;AACA;ACXA,4EAAkB;AAClB,oEAAgB;AAOT,IAAM,wBAAA,EAA0B,MAAA,CACrC,KAAA,EACA,OAAA,EAAA,GACkB;AAClB,EAAA,0CAAA,CAAY;AAEZ,EAAA,MAAM,QAAA,EAAU,IAAI,2CAAA,CAAsB,CAAA;AAC1C,EAAA,MAAM,QAAA,EAAU,2BAAA,CAAI,qBAAA,EAAwB,KAAK,CAAA,IAAA,CAAM,CAAA,CAAE,KAAA,CAAM,CAAA;AAE/D,EAAA,IAAI;AACF,IAAA,MAAM,OAAA,EAAS,MAAM,OAAA,CAAQ,YAAA,CAAa,KAAK,CAAA;AAE/C,IAAA,MAAM,YAAA,EACJ,MAAA,CAAO,OAAA,IAAW,YAAA,EACd,eAAA,CAAM,MAAA,EACN,MAAA,CAAO,OAAA,IAAW,SAAA,EAChB,eAAA,CAAM,IAAA,EACN,MAAA,CAAO,OAAA,IAAW,UAAA,EAChB,eAAA,CAAM,OAAA,EACN,eAAA,CAAM,IAAA;AAEhB,IAAA,OAAA,CAAQ,OAAA,CAAQ,CAAA,IAAA,EAAO,eAAA,CAAM,IAAA,CAAK,KAAK,CAAC,CAAA,EAAA,EAAK,WAAA,CAAY,MAAA,CAAO,MAAM,CAAC,CAAA,CAAA;AAEvC,IAAA;AACa,MAAA;AAC3C,MAAA;AACF,IAAA;AAEY,IAAA;AAC4D,IAAA;AACF,IAAA;AAEhD,IAAA;AACiD,MAAA;AACvE,IAAA;AACuB,IAAA;AACiD,MAAA;AACxE,IAAA;AAEoB,IAAA;AACN,MAAA;AACwB,MAAA;AACa,MAAA;AACmB,QAAA;AACpE,MAAA;AACgC,MAAA;AACkC,QAAA;AAClE,MAAA;AAC6B,MAAA;AACoC,QAAA;AACjE,MAAA;AAC2B,MAAA;AAC2C,QAAA;AACtE,MAAA;AACF,IAAA;AAEY,IAAA;AACE,EAAA;AACD,IAAA;AAC6B,IAAA;AACU,MAAA;AAC7C,IAAA;AACG,MAAA;AACA,QAAA;AACqD,UAAA;AAC3D,QAAA;AACF,MAAA;AACF,IAAA;AACc,IAAA;AAChB,EAAA;AACF;ADZ4E;AACA;AACA","file":"/home/runner/work/langwatch/langwatch/typescript-sdk/dist/status-QRK56VLF.js","sourcesContent":[null,"import chalk from \"chalk\";\nimport ora from \"ora\";\nimport {\n EvaluationsApiService,\n EvaluationsApiError,\n} from \"@/client-sdk/services/evaluations/evaluations-api.service\";\nimport { checkApiKey } from \"../../utils/apiKey\";\n\nexport const evaluationStatusCommand = async (\n runId: string,\n options?: { format?: string },\n): Promise<void> => {\n checkApiKey();\n\n const service = new EvaluationsApiService();\n const spinner = ora(`Checking run status \"${runId}\"...`).start();\n\n try {\n const status = await service.getRunStatus(runId);\n\n const statusColor =\n status.status === \"completed\"\n ? chalk.green\n : status.status === \"failed\"\n ? chalk.red\n : status.status === \"running\"\n ? chalk.yellow\n : chalk.gray;\n\n spinner.succeed(`Run ${chalk.cyan(runId)}: ${statusColor(status.status)}`);\n\n if (options?.format === \"json\") {\n console.log(JSON.stringify(status, null, 2));\n return;\n }\n\n console.log();\n console.log(` ${chalk.gray(\"Status:\")} ${statusColor(status.status)}`);\n console.log(` ${chalk.gray(\"Progress:\")} ${status.progress}/${status.total} cells`);\n\n if (status.startedAt) {\n console.log(` ${chalk.gray(\"Started:\")} ${new Date(status.startedAt).toLocaleString()}`);\n }\n if (status.finishedAt) {\n console.log(` ${chalk.gray(\"Finished:\")} ${new Date(status.finishedAt).toLocaleString()}`);\n }\n\n if (status.summary) {\n console.log();\n console.log(chalk.bold(\" Summary:\"));\n if (status.summary.completedCells !== undefined) {\n console.log(` ${chalk.gray(\"Completed:\")} ${chalk.green(String(status.summary.completedCells))}`);\n }\n if (status.summary.failedCells) {\n console.log(` ${chalk.gray(\"Failed:\")} ${chalk.red(String(status.summary.failedCells))}`);\n }\n if (status.summary.duration) {\n console.log(` ${chalk.gray(\"Duration:\")} ${(status.summary.duration / 1000).toFixed(1)}s`);\n }\n if (status.summary.runUrl) {\n console.log(` ${chalk.gray(\"View:\")} ${status.summary.runUrl}`);\n }\n }\n\n console.log();\n } catch (error) {\n spinner.fail();\n if (error instanceof EvaluationsApiError) {\n console.error(chalk.red(`Error: ${error.message}`));\n } else {\n console.error(\n chalk.red(\n `Error checking status: ${error instanceof Error ? error.message : \"Unknown error\"}`,\n ),\n );\n }\n process.exit(1);\n }\n};\n"]}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
2
|
+
|
|
3
|
+
var _chunkF6E4XQQUjs = require('./chunk-F6E4XQQU.js');
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
var _chunk2BJPLPLUjs = require('./chunk-2BJPLPLU.js');
|
|
7
|
+
require('./chunk-D2FHOR76.js');
|
|
8
|
+
require('./chunk-OHM7JUMR.js');
|
|
9
|
+
|
|
10
|
+
// src/cli/commands/status.ts
|
|
11
|
+
var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
|
|
12
|
+
var _ora = require('ora'); var _ora2 = _interopRequireDefault(_ora);
|
|
13
|
+
var statusCommand = async (options) => {
|
|
14
|
+
var _a, _b;
|
|
15
|
+
_chunkF6E4XQQUjs.checkApiKey.call(void 0, );
|
|
16
|
+
const apiClient = _chunk2BJPLPLUjs.createLangWatchApiClient.call(void 0, );
|
|
17
|
+
const apiKey = (_a = process.env.LANGWATCH_API_KEY) != null ? _a : "";
|
|
18
|
+
const endpoint = (_b = process.env.LANGWATCH_ENDPOINT) != null ? _b : "https://app.langwatch.ai";
|
|
19
|
+
const spinner = _ora2.default.call(void 0, "Fetching project status...").start();
|
|
20
|
+
const results = {};
|
|
21
|
+
async function fetchCount(url) {
|
|
22
|
+
const response = await fetch(`${endpoint}${url}`, {
|
|
23
|
+
headers: { "X-Auth-Token": apiKey }
|
|
24
|
+
});
|
|
25
|
+
if (!response.ok) return { data: null, error: "fetch failed" };
|
|
26
|
+
const data = await response.json();
|
|
27
|
+
return { data, error: void 0 };
|
|
28
|
+
}
|
|
29
|
+
const fetchers = [
|
|
30
|
+
{ key: "evaluators", fn: () => apiClient.GET("/api/evaluators") },
|
|
31
|
+
{ key: "scenarios", fn: () => apiClient.GET("/api/scenarios") },
|
|
32
|
+
{ key: "suites", fn: () => fetchCount("/api/suites") },
|
|
33
|
+
{ key: "datasets", fn: () => apiClient.GET("/api/dataset") },
|
|
34
|
+
{ key: "agents", fn: () => apiClient.GET("/api/agents") },
|
|
35
|
+
{ key: "workflows", fn: () => apiClient.GET("/api/workflows") },
|
|
36
|
+
{ key: "dashboards", fn: () => apiClient.GET("/api/dashboards") },
|
|
37
|
+
{ key: "triggers", fn: () => fetchCount("/api/triggers") },
|
|
38
|
+
{ key: "monitors", fn: () => fetchCount("/api/monitors") },
|
|
39
|
+
{ key: "secrets", fn: () => fetchCount("/api/secrets") }
|
|
40
|
+
];
|
|
41
|
+
await Promise.allSettled(
|
|
42
|
+
fetchers.map(async ({ key, fn }) => {
|
|
43
|
+
try {
|
|
44
|
+
const { data, error } = await fn();
|
|
45
|
+
if (error) {
|
|
46
|
+
results[key] = { count: 0, error: "fetch failed" };
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
if (Array.isArray(data)) {
|
|
50
|
+
results[key] = { count: data.length };
|
|
51
|
+
} else if (data && typeof data === "object" && "data" in data) {
|
|
52
|
+
const arr = data.data;
|
|
53
|
+
results[key] = { count: Array.isArray(arr) ? arr.length : 0 };
|
|
54
|
+
} else if (data && typeof data === "object" && "pagination" in data) {
|
|
55
|
+
const pagination = data.pagination;
|
|
56
|
+
results[key] = { count: pagination.total };
|
|
57
|
+
} else {
|
|
58
|
+
results[key] = { count: 0 };
|
|
59
|
+
}
|
|
60
|
+
} catch (e) {
|
|
61
|
+
results[key] = { count: 0, error: "unavailable" };
|
|
62
|
+
}
|
|
63
|
+
})
|
|
64
|
+
);
|
|
65
|
+
spinner.succeed("Project status");
|
|
66
|
+
if ((options == null ? void 0 : options.format) === "json") {
|
|
67
|
+
console.log(JSON.stringify(results, null, 2));
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
console.log();
|
|
71
|
+
console.log(_chalk2.default.bold(" Resource Counts:"));
|
|
72
|
+
const order = ["evaluators", "scenarios", "suites", "datasets", "agents", "workflows", "dashboards", "triggers", "monitors", "secrets"];
|
|
73
|
+
for (const key of order) {
|
|
74
|
+
const r = results[key];
|
|
75
|
+
if (!r) continue;
|
|
76
|
+
const countStr = r.error ? _chalk2.default.red(r.error) : _chalk2.default.cyan(String(r.count));
|
|
77
|
+
console.log(` ${_chalk2.default.gray(key + ":")} ${" ".repeat(14 - key.length)}${countStr}`);
|
|
78
|
+
}
|
|
79
|
+
console.log();
|
|
80
|
+
console.log(_chalk2.default.gray(" Available CLI commands:"));
|
|
81
|
+
console.log(_chalk2.default.gray(" langwatch evaluator list langwatch scenario list"));
|
|
82
|
+
console.log(_chalk2.default.gray(" langwatch dataset list langwatch agent list"));
|
|
83
|
+
console.log(_chalk2.default.gray(" langwatch workflow list langwatch dashboard list"));
|
|
84
|
+
console.log(_chalk2.default.gray(" langwatch suite list langwatch trigger list"));
|
|
85
|
+
console.log(_chalk2.default.gray(" langwatch monitor list langwatch secret list"));
|
|
86
|
+
console.log(_chalk2.default.gray(" langwatch graph list langwatch simulation-run list"));
|
|
87
|
+
console.log(_chalk2.default.gray(" langwatch trace search langwatch analytics query"));
|
|
88
|
+
console.log(_chalk2.default.gray(" langwatch annotation list langwatch model-provider list"));
|
|
89
|
+
console.log();
|
|
90
|
+
console.log(_chalk2.default.gray(" Execution:"));
|
|
91
|
+
console.log(_chalk2.default.gray(" langwatch evaluation run <slug> [--wait]"));
|
|
92
|
+
console.log(_chalk2.default.gray(" langwatch suite run <id> [--wait]"));
|
|
93
|
+
console.log(_chalk2.default.gray(" langwatch scenario run <id> --target <type>:<ref>"));
|
|
94
|
+
console.log(_chalk2.default.gray(" langwatch agent run <id> --input <json>"));
|
|
95
|
+
console.log(_chalk2.default.gray(" langwatch workflow run <id> --input <json>"));
|
|
96
|
+
console.log();
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
exports.statusCommand = statusCommand;
|
|
101
|
+
//# sourceMappingURL=status-T7NOWM4X.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/langwatch/langwatch/typescript-sdk/dist/status-T7NOWM4X.js","../src/cli/commands/status.ts"],"names":[],"mappings":"AAAA;AACE;AACF,sDAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B,+BAA4B;AAC5B,+BAA4B;AAC5B;AACA;ACTA,4EAAkB;AAClB,oEAAgB;AAMT,IAAM,cAAA,EAAgB,MAAA,CAAO,OAAA,EAAA,GAAiD;AAPrF,EAAA,IAAA,EAAA,EAAA,EAAA;AAQE,EAAA,0CAAA,CAAY;AAEZ,EAAA,MAAM,UAAA,EAAY,uDAAA,CAAyB;AAC3C,EAAA,MAAM,OAAA,EAAA,CAAS,GAAA,EAAA,OAAA,CAAQ,GAAA,CAAI,iBAAA,EAAA,GAAZ,KAAA,EAAA,GAAA,EAAiC,EAAA;AAChD,EAAA,MAAM,SAAA,EAAA,CAAW,GAAA,EAAA,OAAA,CAAQ,GAAA,CAAI,kBAAA,EAAA,GAAZ,KAAA,EAAA,GAAA,EAAkC,0BAAA;AACnD,EAAA,MAAM,QAAA,EAAU,2BAAA,4BAAgC,CAAA,CAAE,KAAA,CAAM,CAAA;AAExD,EAAA,MAAM,QAAA,EAA6D,CAAC,CAAA;AAEpE,EAAA,MAAA,SAAe,UAAA,CAAW,GAAA,EAAyD;AACjF,IAAA,MAAM,SAAA,EAAW,MAAM,KAAA,CAAM,CAAA,EAAA;AACA,MAAA;AAC5B,IAAA;AAC0B,IAAA;AACC,IAAA;AACI,IAAA;AAClC,EAAA;AAGiB,EAAA;AACU,IAAA;AACK,IAAA;AACH,IAAA;AACE,IAAA;AACF,IAAA;AACG,IAAA;AACL,IAAA;AACI,IAAA;AACA,IAAA;AACD,IAAA;AAC9B,EAAA;AAEc,EAAA;AACkB,IAAA;AACxB,MAAA;AACsB,QAAA;AACb,QAAA;AACe,UAAA;AACxB,UAAA;AACF,QAAA;AACyB,QAAA;AACC,UAAA;AACA,QAAA;AACkB,UAAA;AAClB,UAAA;AACA,QAAA;AACuC,UAAA;AACvC,UAAA;AACnB,QAAA;AACmB,UAAA;AAC1B,QAAA;AACM,MAAA;AACkB,QAAA;AAC1B,MAAA;AACD,IAAA;AACH,EAAA;AAEgC,EAAA;AAE5B,EAAA;AACyB,IAAA;AAC3B,IAAA;AACF,EAAA;AAEY,EAAA;AACW,EAAA;AAEM,EAAA;AACJ,EAAA;AACF,IAAA;AACb,IAAA;AAEJ,IAAA;AAE0B,IAAA;AAChC,EAAA;AAEY,EAAA;AACW,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACX,EAAA;AACW,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACX,EAAA;AACd;ADNkC;AACA;AACA","file":"/home/runner/work/langwatch/langwatch/typescript-sdk/dist/status-T7NOWM4X.js","sourcesContent":[null,"import chalk from \"chalk\";\nimport ora from \"ora\";\nimport { checkApiKey } from \"../utils/apiKey\";\nimport {\n createLangWatchApiClient,\n} from \"@/internal/api/client\";\n\nexport const statusCommand = async (options?: { format?: string }): Promise<void> => {\n checkApiKey();\n\n const apiClient = createLangWatchApiClient();\n const apiKey = process.env.LANGWATCH_API_KEY ?? \"\";\n const endpoint = process.env.LANGWATCH_ENDPOINT ?? \"https://app.langwatch.ai\";\n const spinner = ora(\"Fetching project status...\").start();\n\n const results: Record<string, { count: number; error?: string }> = {};\n\n async function fetchCount(url: string): Promise<{ data: unknown; error?: string }> {\n const response = await fetch(`${endpoint}${url}`, {\n headers: { \"X-Auth-Token\": apiKey },\n });\n if (!response.ok) return { data: null, error: \"fetch failed\" };\n const data = await response.json();\n return { data, error: undefined };\n }\n\n // Fetch counts for all major resources in parallel\n const fetchers = [\n { key: \"evaluators\", fn: () => apiClient.GET(\"/api/evaluators\") },\n { key: \"scenarios\", fn: () => apiClient.GET(\"/api/scenarios\") },\n { key: \"suites\", fn: () => fetchCount(\"/api/suites\") },\n { key: \"datasets\", fn: () => apiClient.GET(\"/api/dataset\") },\n { key: \"agents\", fn: () => apiClient.GET(\"/api/agents\") },\n { key: \"workflows\", fn: () => apiClient.GET(\"/api/workflows\") },\n { key: \"dashboards\", fn: () => apiClient.GET(\"/api/dashboards\") },\n { key: \"triggers\", fn: () => fetchCount(\"/api/triggers\") },\n { key: \"monitors\", fn: () => fetchCount(\"/api/monitors\") },\n { key: \"secrets\", fn: () => fetchCount(\"/api/secrets\") },\n ];\n\n await Promise.allSettled(\n fetchers.map(async ({ key, fn }) => {\n try {\n const { data, error } = await fn();\n if (error) {\n results[key] = { count: 0, error: \"fetch failed\" };\n return;\n }\n if (Array.isArray(data)) {\n results[key] = { count: data.length };\n } else if (data && typeof data === \"object\" && \"data\" in (data as Record<string, unknown>)) {\n const arr = (data as { data: unknown[] }).data;\n results[key] = { count: Array.isArray(arr) ? arr.length : 0 };\n } else if (data && typeof data === \"object\" && \"pagination\" in (data as Record<string, unknown>)) {\n const pagination = (data as { pagination: { total: number } }).pagination;\n results[key] = { count: pagination.total };\n } else {\n results[key] = { count: 0 };\n }\n } catch {\n results[key] = { count: 0, error: \"unavailable\" };\n }\n }),\n );\n\n spinner.succeed(\"Project status\");\n\n if (options?.format === \"json\") {\n console.log(JSON.stringify(results, null, 2));\n return;\n }\n\n console.log();\n console.log(chalk.bold(\" Resource Counts:\"));\n\n const order = [\"evaluators\", \"scenarios\", \"suites\", \"datasets\", \"agents\", \"workflows\", \"dashboards\", \"triggers\", \"monitors\", \"secrets\"];\n for (const key of order) {\n const r = results[key];\n if (!r) continue;\n const countStr = r.error\n ? chalk.red(r.error)\n : chalk.cyan(String(r.count));\n console.log(` ${chalk.gray(key + \":\")} ${\" \".repeat(14 - key.length)}${countStr}`);\n }\n\n console.log();\n console.log(chalk.gray(\" Available CLI commands:\"));\n console.log(chalk.gray(\" langwatch evaluator list langwatch scenario list\"));\n console.log(chalk.gray(\" langwatch dataset list langwatch agent list\"));\n console.log(chalk.gray(\" langwatch workflow list langwatch dashboard list\"));\n console.log(chalk.gray(\" langwatch suite list langwatch trigger list\"));\n console.log(chalk.gray(\" langwatch monitor list langwatch secret list\"));\n console.log(chalk.gray(\" langwatch graph list langwatch simulation-run list\"));\n console.log(chalk.gray(\" langwatch trace search langwatch analytics query\"));\n console.log(chalk.gray(\" langwatch annotation list langwatch model-provider list\"));\n console.log();\n console.log(chalk.gray(\" Execution:\"));\n console.log(chalk.gray(\" langwatch evaluation run <slug> [--wait]\"));\n console.log(chalk.gray(\" langwatch suite run <id> [--wait]\"));\n console.log(chalk.gray(\" langwatch scenario run <id> --target <type>:<ref>\"));\n console.log(chalk.gray(\" langwatch agent run <id> --input <json>\"));\n console.log(chalk.gray(\" langwatch workflow run <id> --input <json>\"));\n console.log();\n};\n"]}
|
|
@@ -1,21 +1,24 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkHPQFHP6Kjs = require('./chunk-HPQFHP6K.js');
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
var
|
|
6
|
+
var _chunkZ6MQQXMSjs = require('./chunk-Z6MQQXMS.js');
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
var _chunkF6E4XQQUjs = require('./chunk-F6E4XQQU.js');
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
|
|
13
|
-
var
|
|
14
|
-
require('./chunk-
|
|
15
|
-
require('./chunk-
|
|
16
|
-
require('./chunk-
|
|
17
|
-
require('./chunk-
|
|
18
|
-
require('./chunk-
|
|
13
|
+
var _chunkAK4YCKWKjs = require('./chunk-AK4YCKWK.js');
|
|
14
|
+
require('./chunk-2VVANTLB.js');
|
|
15
|
+
require('./chunk-2BJPLPLU.js');
|
|
16
|
+
require('./chunk-ZZL6VZZU.js');
|
|
17
|
+
require('./chunk-H6F5OGSL.js');
|
|
18
|
+
require('./chunk-DUG35J5N.js');
|
|
19
|
+
require('./chunk-D2FHOR76.js');
|
|
20
|
+
require('./chunk-OAAMDWSK.js');
|
|
21
|
+
require('./chunk-DB6OJGP4.js');
|
|
19
22
|
|
|
20
23
|
|
|
21
24
|
var _chunkBYG3QS2Xjs = require('./chunk-BYG3QS2X.js');
|
|
@@ -32,7 +35,7 @@ var syncCommand = async () => {
|
|
|
32
35
|
const startTime = Date.now();
|
|
33
36
|
try {
|
|
34
37
|
_chunkF6E4XQQUjs.checkApiKey.call(void 0, );
|
|
35
|
-
const promptsApiService = new (0,
|
|
38
|
+
const promptsApiService = new (0, _chunkAK4YCKWKjs.PromptsApiService)();
|
|
36
39
|
await _chunkBYG3QS2Xjs.ensureProjectInitialized.call(void 0, false);
|
|
37
40
|
const config = _chunkWAAQLJ67js.FileManager.loadPromptsConfig();
|
|
38
41
|
const lock = _chunkWAAQLJ67js.FileManager.loadPromptsLock();
|
|
@@ -43,8 +46,8 @@ var syncCommand = async () => {
|
|
|
43
46
|
cleaned: [],
|
|
44
47
|
errors: []
|
|
45
48
|
};
|
|
46
|
-
await
|
|
47
|
-
await
|
|
49
|
+
await _chunkHPQFHP6Kjs.pullPrompts.call(void 0, { config, lock, promptsApiService, result });
|
|
50
|
+
await _chunkZ6MQQXMSjs.pushPrompts.call(void 0, { config, lock, promptsApiService, result });
|
|
48
51
|
_chunkWAAQLJ67js.FileManager.savePromptsLock(lock);
|
|
49
52
|
if (result.fetched.length > 0) {
|
|
50
53
|
for (const { name, version, versionSpec } of result.fetched) {
|
|
@@ -105,7 +108,7 @@ var syncCommand = async () => {
|
|
|
105
108
|
process.exit(1);
|
|
106
109
|
}
|
|
107
110
|
} catch (error) {
|
|
108
|
-
if (error instanceof
|
|
111
|
+
if (error instanceof _chunkAK4YCKWKjs.PromptsError) {
|
|
109
112
|
console.error(_chalk2.default.red(`Error: ${error.message}`));
|
|
110
113
|
} else {
|
|
111
114
|
console.error(
|
|
@@ -120,4 +123,4 @@ var syncCommand = async () => {
|
|
|
120
123
|
|
|
121
124
|
|
|
122
125
|
exports.syncCommand = syncCommand;
|
|
123
|
-
//# sourceMappingURL=sync-
|
|
126
|
+
//# sourceMappingURL=sync-IDSAYUGO.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/langwatch/langwatch/typescript-sdk/dist/sync-IDSAYUGO.js","../src/cli/commands/sync.ts"],"names":[],"mappings":"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","file":"/home/runner/work/langwatch/langwatch/typescript-sdk/dist/sync-IDSAYUGO.js","sourcesContent":[null,"import chalk from \"chalk\";\nimport {\n PromptsApiService,\n PromptsError,\n} from \"@/client-sdk/services/prompts\";\nimport type { SyncResult } from \"../types\";\nimport { FileManager } from \"../utils/fileManager\";\nimport { ensureProjectInitialized } from \"../utils/init\";\nimport { checkApiKey } from \"../utils/apiKey\";\nimport { pullPrompts } from \"./pull\";\nimport { pushPrompts } from \"./push\";\n\nexport const syncCommand = async (): Promise<void> => {\n console.log(\"🔄 Starting sync...\");\n\n const startTime = Date.now();\n\n try {\n // Check API key before doing anything else\n checkApiKey();\n\n // Get prompts API service\n const promptsApiService = new PromptsApiService();\n\n // Ensure project is initialized (prompts.json, lock file, directories)\n await ensureProjectInitialized(false); // Don't prompt for .gitignore in sync\n\n // Load prompts config and lock\n const config = FileManager.loadPromptsConfig();\n const lock = FileManager.loadPromptsLock();\n\n const result: SyncResult = {\n fetched: [],\n pushed: [],\n unchanged: [],\n cleaned: [],\n errors: [],\n };\n\n // Pull remote prompts (fetch and materialize)\n await pullPrompts({ config, lock, promptsApiService, result });\n\n // Push local prompts to API\n await pushPrompts({ config, lock, promptsApiService, result });\n\n // Save the updated lock file\n FileManager.savePromptsLock(lock);\n\n // Print individual results if there were actions\n if (result.fetched.length > 0) {\n for (const { name, version, versionSpec } of result.fetched) {\n const lockEntry = lock.prompts[name];\n const displayPath = lockEntry?.materialized\n ? `./${lockEntry.materialized}`\n : `./prompts/.materialized/${name}.prompt.yaml`;\n\n console.log(\n chalk.green(\n `✓ Pulled ${chalk.cyan(`${name}@${versionSpec}`)} ${chalk.gray(\n `(version ${version})`\n )} → ${chalk.gray(displayPath)}`\n )\n );\n }\n }\n\n if (result.pushed.length > 0) {\n for (const { name, version } of result.pushed) {\n const localPath = `./prompts/${name}.prompt.yaml`;\n console.log(\n chalk.green(\n `✓ Pushed ${chalk.cyan(name)} ${chalk.gray(\n `(version ${version})`\n )} from ${chalk.gray(localPath)}`\n )\n );\n }\n }\n\n // Print cleaned up files\n if (result.cleaned.length > 0) {\n for (const name of result.cleaned) {\n console.log(\n chalk.yellow(\n `✓ Cleaned ${chalk.cyan(name)} (no longer in dependencies)`\n )\n );\n }\n }\n\n // Print errors\n if (result.errors.length > 0) {\n for (const { name, error } of result.errors) {\n console.log(chalk.red(`✗ Failed ${chalk.cyan(name)}: ${error}`));\n }\n }\n\n // Print summary\n const duration = ((Date.now() - startTime) / 1000).toFixed(1);\n const totalActions =\n result.fetched.length + result.pushed.length + result.cleaned.length;\n\n if (totalActions === 0 && result.errors.length === 0) {\n console.log(chalk.gray(`Synced in ${duration}s, no changes`));\n } else {\n const summary = [];\n if (result.fetched.length > 0)\n summary.push(`${result.fetched.length} fetched`);\n if (result.pushed.length > 0)\n summary.push(`${result.pushed.length} pushed`);\n if (result.cleaned.length > 0)\n summary.push(`${result.cleaned.length} cleaned`);\n if (result.errors.length > 0)\n summary.push(`${result.errors.length} errors`);\n\n console.log(chalk.gray(`Synced ${summary.join(\", \")} in ${duration}s`));\n }\n\n if (result.errors.length > 0) {\n process.exit(1);\n }\n } catch (error) {\n if (error instanceof PromptsError) {\n console.error(chalk.red(`Error: ${error.message}`));\n } else {\n console.error(\n chalk.red(\n `Unexpected error: ${\n error instanceof Error ? error.message : \"Unknown error\"\n }`\n )\n );\n }\n process.exit(1);\n }\n};\n"]}
|
|
@@ -1,21 +1,24 @@
|
|
|
1
1
|
import {
|
|
2
2
|
pullPrompts
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-JYR4TXSB.mjs";
|
|
4
4
|
import {
|
|
5
5
|
pushPrompts
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-ESGWN42J.mjs";
|
|
7
7
|
import {
|
|
8
8
|
checkApiKey
|
|
9
9
|
} from "./chunk-DHJKJVY7.mjs";
|
|
10
10
|
import {
|
|
11
11
|
PromptsApiService,
|
|
12
12
|
PromptsError
|
|
13
|
-
} from "./chunk-
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-
|
|
13
|
+
} from "./chunk-L3IOXWDG.mjs";
|
|
14
|
+
import "./chunk-FG3JQBJB.mjs";
|
|
15
|
+
import "./chunk-QH3WUSKF.mjs";
|
|
16
|
+
import "./chunk-FARZEN6T.mjs";
|
|
17
|
+
import "./chunk-43STSE3B.mjs";
|
|
18
|
+
import "./chunk-LULJYN3P.mjs";
|
|
19
|
+
import "./chunk-LN33ZL4Z.mjs";
|
|
20
|
+
import "./chunk-RKJDDUGQ.mjs";
|
|
21
|
+
import "./chunk-M4IBRWUC.mjs";
|
|
19
22
|
import {
|
|
20
23
|
ensureProjectInitialized
|
|
21
24
|
} from "./chunk-W3V3NX7P.mjs";
|
|
@@ -120,4 +123,4 @@ var syncCommand = async () => {
|
|
|
120
123
|
export {
|
|
121
124
|
syncCommand
|
|
122
125
|
};
|
|
123
|
-
//# sourceMappingURL=sync-
|
|
126
|
+
//# sourceMappingURL=sync-LA27E4UB.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/cli/commands/sync.ts"],"sourcesContent":["import chalk from \"chalk\";\nimport {\n PromptsApiService,\n PromptsError,\n} from \"@/client-sdk/services/prompts\";\nimport type { SyncResult } from \"../types\";\nimport { FileManager } from \"../utils/fileManager\";\nimport { ensureProjectInitialized } from \"../utils/init\";\nimport { checkApiKey } from \"../utils/apiKey\";\nimport { pullPrompts } from \"./pull\";\nimport { pushPrompts } from \"./push\";\n\nexport const syncCommand = async (): Promise<void> => {\n console.log(\"🔄 Starting sync...\");\n\n const startTime = Date.now();\n\n try {\n // Check API key before doing anything else\n checkApiKey();\n\n // Get prompts API service\n const promptsApiService = new PromptsApiService();\n\n // Ensure project is initialized (prompts.json, lock file, directories)\n await ensureProjectInitialized(false); // Don't prompt for .gitignore in sync\n\n // Load prompts config and lock\n const config = FileManager.loadPromptsConfig();\n const lock = FileManager.loadPromptsLock();\n\n const result: SyncResult = {\n fetched: [],\n pushed: [],\n unchanged: [],\n cleaned: [],\n errors: [],\n };\n\n // Pull remote prompts (fetch and materialize)\n await pullPrompts({ config, lock, promptsApiService, result });\n\n // Push local prompts to API\n await pushPrompts({ config, lock, promptsApiService, result });\n\n // Save the updated lock file\n FileManager.savePromptsLock(lock);\n\n // Print individual results if there were actions\n if (result.fetched.length > 0) {\n for (const { name, version, versionSpec } of result.fetched) {\n const lockEntry = lock.prompts[name];\n const displayPath = lockEntry?.materialized\n ? `./${lockEntry.materialized}`\n : `./prompts/.materialized/${name}.prompt.yaml`;\n\n console.log(\n chalk.green(\n `✓ Pulled ${chalk.cyan(`${name}@${versionSpec}`)} ${chalk.gray(\n `(version ${version})`\n )} → ${chalk.gray(displayPath)}`\n )\n );\n }\n }\n\n if (result.pushed.length > 0) {\n for (const { name, version } of result.pushed) {\n const localPath = `./prompts/${name}.prompt.yaml`;\n console.log(\n chalk.green(\n `✓ Pushed ${chalk.cyan(name)} ${chalk.gray(\n `(version ${version})`\n )} from ${chalk.gray(localPath)}`\n )\n );\n }\n }\n\n // Print cleaned up files\n if (result.cleaned.length > 0) {\n for (const name of result.cleaned) {\n console.log(\n chalk.yellow(\n `✓ Cleaned ${chalk.cyan(name)} (no longer in dependencies)`\n )\n );\n }\n }\n\n // Print errors\n if (result.errors.length > 0) {\n for (const { name, error } of result.errors) {\n console.log(chalk.red(`✗ Failed ${chalk.cyan(name)}: ${error}`));\n }\n }\n\n // Print summary\n const duration = ((Date.now() - startTime) / 1000).toFixed(1);\n const totalActions =\n result.fetched.length + result.pushed.length + result.cleaned.length;\n\n if (totalActions === 0 && result.errors.length === 0) {\n console.log(chalk.gray(`Synced in ${duration}s, no changes`));\n } else {\n const summary = [];\n if (result.fetched.length > 0)\n summary.push(`${result.fetched.length} fetched`);\n if (result.pushed.length > 0)\n summary.push(`${result.pushed.length} pushed`);\n if (result.cleaned.length > 0)\n summary.push(`${result.cleaned.length} cleaned`);\n if (result.errors.length > 0)\n summary.push(`${result.errors.length} errors`);\n\n console.log(chalk.gray(`Synced ${summary.join(\", \")} in ${duration}s`));\n }\n\n if (result.errors.length > 0) {\n process.exit(1);\n }\n } catch (error) {\n if (error instanceof PromptsError) {\n console.error(chalk.red(`Error: ${error.message}`));\n } else {\n console.error(\n chalk.red(\n `Unexpected error: ${\n error instanceof Error ? error.message : \"Unknown error\"\n }`\n )\n );\n }\n process.exit(1);\n }\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/cli/commands/sync.ts"],"sourcesContent":["import chalk from \"chalk\";\nimport {\n PromptsApiService,\n PromptsError,\n} from \"@/client-sdk/services/prompts\";\nimport type { SyncResult } from \"../types\";\nimport { FileManager } from \"../utils/fileManager\";\nimport { ensureProjectInitialized } from \"../utils/init\";\nimport { checkApiKey } from \"../utils/apiKey\";\nimport { pullPrompts } from \"./pull\";\nimport { pushPrompts } from \"./push\";\n\nexport const syncCommand = async (): Promise<void> => {\n console.log(\"🔄 Starting sync...\");\n\n const startTime = Date.now();\n\n try {\n // Check API key before doing anything else\n checkApiKey();\n\n // Get prompts API service\n const promptsApiService = new PromptsApiService();\n\n // Ensure project is initialized (prompts.json, lock file, directories)\n await ensureProjectInitialized(false); // Don't prompt for .gitignore in sync\n\n // Load prompts config and lock\n const config = FileManager.loadPromptsConfig();\n const lock = FileManager.loadPromptsLock();\n\n const result: SyncResult = {\n fetched: [],\n pushed: [],\n unchanged: [],\n cleaned: [],\n errors: [],\n };\n\n // Pull remote prompts (fetch and materialize)\n await pullPrompts({ config, lock, promptsApiService, result });\n\n // Push local prompts to API\n await pushPrompts({ config, lock, promptsApiService, result });\n\n // Save the updated lock file\n FileManager.savePromptsLock(lock);\n\n // Print individual results if there were actions\n if (result.fetched.length > 0) {\n for (const { name, version, versionSpec } of result.fetched) {\n const lockEntry = lock.prompts[name];\n const displayPath = lockEntry?.materialized\n ? `./${lockEntry.materialized}`\n : `./prompts/.materialized/${name}.prompt.yaml`;\n\n console.log(\n chalk.green(\n `✓ Pulled ${chalk.cyan(`${name}@${versionSpec}`)} ${chalk.gray(\n `(version ${version})`\n )} → ${chalk.gray(displayPath)}`\n )\n );\n }\n }\n\n if (result.pushed.length > 0) {\n for (const { name, version } of result.pushed) {\n const localPath = `./prompts/${name}.prompt.yaml`;\n console.log(\n chalk.green(\n `✓ Pushed ${chalk.cyan(name)} ${chalk.gray(\n `(version ${version})`\n )} from ${chalk.gray(localPath)}`\n )\n );\n }\n }\n\n // Print cleaned up files\n if (result.cleaned.length > 0) {\n for (const name of result.cleaned) {\n console.log(\n chalk.yellow(\n `✓ Cleaned ${chalk.cyan(name)} (no longer in dependencies)`\n )\n );\n }\n }\n\n // Print errors\n if (result.errors.length > 0) {\n for (const { name, error } of result.errors) {\n console.log(chalk.red(`✗ Failed ${chalk.cyan(name)}: ${error}`));\n }\n }\n\n // Print summary\n const duration = ((Date.now() - startTime) / 1000).toFixed(1);\n const totalActions =\n result.fetched.length + result.pushed.length + result.cleaned.length;\n\n if (totalActions === 0 && result.errors.length === 0) {\n console.log(chalk.gray(`Synced in ${duration}s, no changes`));\n } else {\n const summary = [];\n if (result.fetched.length > 0)\n summary.push(`${result.fetched.length} fetched`);\n if (result.pushed.length > 0)\n summary.push(`${result.pushed.length} pushed`);\n if (result.cleaned.length > 0)\n summary.push(`${result.cleaned.length} cleaned`);\n if (result.errors.length > 0)\n summary.push(`${result.errors.length} errors`);\n\n console.log(chalk.gray(`Synced ${summary.join(\", \")} in ${duration}s`));\n }\n\n if (result.errors.length > 0) {\n process.exit(1);\n }\n } catch (error) {\n if (error instanceof PromptsError) {\n console.error(chalk.red(`Error: ${error.message}`));\n } else {\n console.error(\n chalk.red(\n `Unexpected error: ${\n error instanceof Error ? error.message : \"Unknown error\"\n }`\n )\n );\n }\n process.exit(1);\n }\n};\n"],"mappings":"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","names":[]}
|