From 18c07a45a455e9a65b3aafff2d59878a129f8240 Mon Sep 17 00:00:00 2001 From: Hassieb Pakzad <68423100+hassiebp@users.noreply.github.com> Date: Mon, 29 Sep 2025 15:22:33 +0200 Subject: [PATCH 01/15] chore: remove @release-it/conventional-changelog --- .release-it.json | 42 ----- package.json | 1 - pnpm-lock.yaml | 480 +---------------------------------------------- 3 files changed, 4 insertions(+), 519 deletions(-) diff --git a/.release-it.json b/.release-it.json index f8febbca..1333e7ab 100644 --- a/.release-it.json +++ b/.release-it.json @@ -26,48 +26,6 @@ "plugins": { "@release-it/bumper": { "out": ["packages/*/package.json"] - }, - "@release-it/conventional-changelog": { - "preset": { - "name": "conventionalcommits", - "types": [ - { - "type": "feat", - "section": "โœจ Features" - }, - { - "type": "fix", - "section": "๐Ÿ› Bug Fixes" - }, - { - "type": "chore", - "section": "๐Ÿ”ง Maintenance" - }, - { - "type": "docs", - "section": "๐Ÿ“š Documentation" - }, - { - "type": "style", - "section": "๐Ÿ’„ Styling" - }, - { - "type": "refactor", - "section": "โ™ป๏ธ Code Refactoring" - }, - { - "type": "perf", - "section": "โšก Performance Improvements" - }, - { - "type": "test", - "section": "๐Ÿงช Tests" - } - ] - }, - "infile": "CHANGELOG.md", - "header": "# Changelog", - "ignoreRecommendedBump": true } } } diff --git a/package.json b/package.json index 6e520230..46482e3b 100644 --- a/package.json +++ b/package.json @@ -41,7 +41,6 @@ "@opentelemetry/sdk-trace-node": "^2.0.1", "@opentelemetry/semantic-conventions": "^1.34.0", "@release-it/bumper": "^7.0.5", - "@release-it/conventional-changelog": "^10.0.1", "@types/mustache": "^4.2.6", "@typescript-eslint/eslint-plugin": "^8.36.0", "@typescript-eslint/parser": "^8.39.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 25cded9f..5afce658 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -50,9 +50,6 @@ importers: '@release-it/bumper': specifier: ^7.0.5 version: 7.0.5(release-it@19.0.4(@types/node@24.3.0)(magicast@0.3.5)) - '@release-it/conventional-changelog': - specifier: ^10.0.1 - version: 10.0.1(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.2.0)(release-it@19.0.4(@types/node@24.3.0)(magicast@0.3.5)) '@types/mustache': specifier: ^4.2.6 version: 4.2.6 @@ -233,10 +230,6 @@ packages: resolution: {integrity: sha512-6o7Y2SeO9vFKB8lArHXehNuusnpddKPk7xqL7T2/b+OvXMRIXUO1rR4wcv1hAFUAT9avGZshty3Wlua/XA7TvA==} engines: {node: '>=18'} - '@babel/code-frame@7.27.1': - resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} - engines: {node: '>=6.9.0'} - '@babel/helper-string-parser@7.27.1': resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} engines: {node: '>=6.9.0'} @@ -257,18 +250,6 @@ packages: '@cfworker/json-schema@4.1.1': resolution: {integrity: sha512-gAmrUZSGtKc3AiBL71iNWxDsyUC5uMaKKGdvzYsBoTW/xi42JQHl7eKV2OYzCUqvc+D2RCcf7EXY2iCyFIk6og==} - '@conventional-changelog/git-client@1.0.1': - resolution: {integrity: sha512-PJEqBwAleffCMETaVm/fUgHldzBE35JFk3/9LL6NUA5EXa3qednu+UT6M7E5iBu3zIQZCULYIiZ90fBYHt6xUw==} - engines: {node: '>=18'} - peerDependencies: - conventional-commits-filter: ^5.0.0 - conventional-commits-parser: ^6.0.0 - peerDependenciesMeta: - conventional-commits-filter: - optional: true - conventional-commits-parser: - optional: true - '@esbuild/aix-ppc64@0.25.5': resolution: {integrity: sha512-9o3TMmpmftaCMepOdA5k/yDw8SfInyzWWTjYTFCX3kPSDJMROQTb8jg+h9Cnwnmm1vOzvxN7gIfB5V2ewpjtGA==} engines: {node: '>=18'} @@ -493,10 +474,6 @@ packages: resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} engines: {node: '>=18.18'} - '@hutson/parse-repository-url@5.0.0': - resolution: {integrity: sha512-e5+YUKENATs1JgYHMzTr2MW/NDcXGfYFAuOQU8gJgF/kEh4EqKgfGrfLI67bMD4tbhZVlkigz/9YYwWcbOFthg==} - engines: {node: '>=10.13.0'} - '@iarna/toml@3.0.0': resolution: {integrity: sha512-td6ZUkz2oS3VeleBcN+m//Q6HlCFCPrnI0FZhrt/h4XqLEdOyYp2u21nd8MdsR+WJy5r9PTDaHTDDfhf4H4l6Q==} @@ -964,12 +941,6 @@ packages: peerDependencies: release-it: '>=18.0.0 || >=19.0.0' - '@release-it/conventional-changelog@10.0.1': - resolution: {integrity: sha512-Qp+eyMGCPyq5xiWoNK91cWVIR/6HD1QAUNeG6pV2G4kxotWl81k/KDQqDNvrNVmr9+zDp53jI7pVVYQp6mi4zA==} - engines: {node: ^20.9.0 || >=22.0.0} - peerDependencies: - release-it: ^18.0.0 || ^19.0.0 - '@rollup/rollup-android-arm-eabi@4.44.2': resolution: {integrity: sha512-g0dF8P1e2QYPOj1gu7s/3LVP6kze9A7m6x0BZ9iTdXK8N5c2V7cpBKHV3/9A4Zd8xxavdhK0t4PnqjkqVmUc9Q==} cpu: [arm] @@ -1130,9 +1101,6 @@ packages: '@types/node@24.3.0': resolution: {integrity: sha512-aPTXCrfwnDLj4VvXrm+UUCQjNEvJgNA8s5F1cvwQU+3KNltTOkBm1j30uNLyqqPNe7gE3KFzImYoZEfLhp4Yow==} - '@types/normalize-package-data@2.4.4': - resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} - '@types/parse-path@7.1.0': resolution: {integrity: sha512-EULJ8LApcVEPbrfND0cRQqutIOdiIgJ1Mgrhpy755r14xMohPTEpkV/k28SJvuOs9bHRFW8x+KeDAEPiGQPB9Q==} deprecated: This is a stub types definition. parse-path provides its own type definitions, so you do not need this installed. @@ -1140,9 +1108,6 @@ packages: '@types/retry@0.12.0': resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} - '@types/semver@7.7.0': - resolution: {integrity: sha512-k107IF4+Xr7UHjwDc7Cfd6PRQfbdkiRabXGRjo07b4WyPahFBZCZ1sE+BNxYIJPPg73UkfOsVOLwqVc/6ETrIA==} - '@types/unist@3.0.3': resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} @@ -1289,9 +1254,6 @@ packages: engines: {node: '>=0.4.0'} hasBin: true - add-stream@1.0.0: - resolution: {integrity: sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==} - agent-base@7.1.4: resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==} engines: {node: '>= 14'} @@ -1346,9 +1308,6 @@ packages: resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==} engines: {node: '>= 0.4'} - array-ify@1.0.0: - resolution: {integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==} - array-includes@3.1.9: resolution: {integrity: sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==} engines: {node: '>= 0.4'} @@ -1423,9 +1382,6 @@ packages: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} - buffer-from@1.1.2: - resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - bundle-name@4.1.0: resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} engines: {node: '>=18'} @@ -1542,9 +1498,6 @@ packages: resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} engines: {node: '>= 6'} - compare-func@2.0.0: - resolution: {integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==} - compute-cosine-similarity@1.1.0: resolution: {integrity: sha512-FXhNx0ILLjGi9Z9+lglLzM12+0uoTnYkHm7GiadXDAr0HGVLm25OivUS1B/LPkbzzvlcXz/1EvWg9ZYyJSdhTw==} @@ -1557,10 +1510,6 @@ packages: concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - concat-stream@2.0.0: - resolution: {integrity: sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==} - engines: {'0': node >= 6.0} - confbox@0.1.8: resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} @@ -1574,73 +1523,6 @@ packages: console-table-printer@2.14.6: resolution: {integrity: sha512-MCBl5HNVaFuuHW6FGbL/4fB7N/ormCy+tQ+sxTrF6QtSbSNETvPuOVbkJBhzDgYhvjWGrTma4eYJa37ZuoQsPw==} - conventional-changelog-angular@8.0.0: - resolution: {integrity: sha512-CLf+zr6St0wIxos4bmaKHRXWAcsCXrJU6F4VdNDrGRK3B8LDLKoX3zuMV5GhtbGkVR/LohZ6MT6im43vZLSjmA==} - engines: {node: '>=18'} - - conventional-changelog-atom@5.0.0: - resolution: {integrity: sha512-WfzCaAvSCFPkznnLgLnfacRAzjgqjLUjvf3MftfsJzQdDICqkOOpcMtdJF3wTerxSpv2IAAjX8doM3Vozqle3g==} - engines: {node: '>=18'} - - conventional-changelog-codemirror@5.0.0: - resolution: {integrity: sha512-8gsBDI5Y3vrKUCxN6Ue8xr6occZ5nsDEc4C7jO/EovFGozx8uttCAyfhRrvoUAWi2WMm3OmYs+0mPJU7kQdYWQ==} - engines: {node: '>=18'} - - conventional-changelog-conventionalcommits@8.0.0: - resolution: {integrity: sha512-eOvlTO6OcySPyyyk8pKz2dP4jjElYunj9hn9/s0OB+gapTO8zwS9UQWrZ1pmF2hFs3vw1xhonOLGcGjy/zgsuA==} - engines: {node: '>=18'} - - conventional-changelog-core@8.0.0: - resolution: {integrity: sha512-EATUx5y9xewpEe10UEGNpbSHRC6cVZgO+hXQjofMqpy+gFIrcGvH3Fl6yk2VFKh7m+ffenup2N7SZJYpyD9evw==} - engines: {node: '>=18'} - - conventional-changelog-ember@5.0.0: - resolution: {integrity: sha512-RPflVfm5s4cSO33GH/Ey26oxhiC67akcxSKL8CLRT3kQX2W3dbE19sSOM56iFqUJYEwv9mD9r6k79weWe1urfg==} - engines: {node: '>=18'} - - conventional-changelog-eslint@6.0.0: - resolution: {integrity: sha512-eiUyULWjzq+ybPjXwU6NNRflApDWlPEQEHvI8UAItYW/h22RKkMnOAtfCZxMmrcMO1OKUWtcf2MxKYMWe9zJuw==} - engines: {node: '>=18'} - - conventional-changelog-express@5.0.0: - resolution: {integrity: sha512-D8Q6WctPkQpvr2HNCCmwU5GkX22BVHM0r4EW8vN0230TSyS/d6VQJDAxGb84lbg0dFjpO22MwmsikKL++Oo/oQ==} - engines: {node: '>=18'} - - conventional-changelog-jquery@6.0.0: - resolution: {integrity: sha512-2kxmVakyehgyrho2ZHBi90v4AHswkGzHuTaoH40bmeNqUt20yEkDOSpw8HlPBfvEQBwGtbE+5HpRwzj6ac2UfA==} - engines: {node: '>=18'} - - conventional-changelog-jshint@5.0.0: - resolution: {integrity: sha512-gGNphSb/opc76n2eWaO6ma4/Wqu3tpa2w7i9WYqI6Cs2fncDSI2/ihOfMvXveeTTeld0oFvwMVNV+IYQIk3F3g==} - engines: {node: '>=18'} - - conventional-changelog-preset-loader@5.0.0: - resolution: {integrity: sha512-SetDSntXLk8Jh1NOAl1Gu5uLiCNSYenB5tm0YVeZKePRIgDW9lQImromTwLa3c/Gae298tsgOM+/CYT9XAl0NA==} - engines: {node: '>=18'} - - conventional-changelog-writer@8.2.0: - resolution: {integrity: sha512-Y2aW4596l9AEvFJRwFGJGiQjt2sBYTjPD18DdvxX9Vpz0Z7HQ+g1Z+6iYDAm1vR3QOJrDBkRHixHK/+FhkR6Pw==} - engines: {node: '>=18'} - hasBin: true - - conventional-changelog@6.0.0: - resolution: {integrity: sha512-tuUH8H/19VjtD9Ig7l6TQRh+Z0Yt0NZ6w/cCkkyzUbGQTnUEmKfGtkC9gGfVgCfOL1Rzno5NgNF4KY8vR+Jo3w==} - engines: {node: '>=18'} - - conventional-commits-filter@5.0.0: - resolution: {integrity: sha512-tQMagCOC59EVgNZcC5zl7XqO30Wki9i9J3acbUvkaosCT6JX3EeFwJD7Qqp4MCikRnzS18WXV3BLIQ66ytu6+Q==} - engines: {node: '>=18'} - - conventional-commits-parser@6.2.0: - resolution: {integrity: sha512-uLnoLeIW4XaoFtH37qEcg/SXMJmKF4vi7V0H2rnPueg+VEtFGA/asSCNTcq4M/GQ6QmlzchAEtOoDTtKqWeHag==} - engines: {node: '>=18'} - hasBin: true - - conventional-recommended-bump@10.0.0: - resolution: {integrity: sha512-RK/fUnc2btot0oEVtrj3p2doImDSs7iiz/bftFCDzels0Qs1mxLghp+DFHMaOC0qiCI6sWzlTDyBFSYuot6pRA==} - engines: {node: '>=18'} - hasBin: true - cross-spawn@7.0.6: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} @@ -1751,10 +1633,6 @@ packages: domutils@3.2.2: resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==} - dot-prop@5.3.0: - resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} - engines: {node: '>=8'} - dotenv@16.6.1: resolution: {integrity: sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==} engines: {node: '>=12'} @@ -2017,10 +1895,6 @@ packages: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} - find-up-simple@1.0.1: - resolution: {integrity: sha512-afd4O7zpqHeRyg4PfDQsXmlDe2PfdHtJt6Akt8jOWaApLOZk5JXs6VMR29lz03pRe9mpykrRCYIYxaJYcfpncQ==} - engines: {node: '>=18'} - find-up@5.0.0: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} @@ -2104,16 +1978,6 @@ packages: resolution: {integrity: sha512-L5bGsVkxJbJgdnwyuheIunkGatUF/zssUoxxjACCseZYAVbaqdh9Tsmmlkl8vYan09H7sbvKt4pS8GqKLBrEzA==} hasBin: true - git-raw-commits@5.0.0: - resolution: {integrity: sha512-I2ZXrXeOc0KrCvC7swqtIFXFN+rbjnC7b2T943tvemIOVNl+XP8YnA9UVwqFhzzLClnSA60KR/qEjLpXzs73Qg==} - engines: {node: '>=18'} - hasBin: true - - git-semver-tags@8.0.0: - resolution: {integrity: sha512-N7YRIklvPH3wYWAR2vysaqGLPRcpwQ0GKdlqTiVN5w1UmCdaeY3K8s6DMKRCh54DDdzyt/OAB6C8jgVtb7Y2Fg==} - engines: {node: '>=18'} - hasBin: true - git-up@8.1.1: resolution: {integrity: sha512-FDenSF3fVqBYSaJoYy1KSc2wosx0gCvKP+c+PRBht7cAaiCeQlBtfBDX9vgnNOHmdePlSFITVcn4pFfcgNvx3g==} @@ -2147,11 +2011,6 @@ packages: graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - handlebars@4.7.8: - resolution: {integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==} - engines: {node: '>=0.4.7'} - hasBin: true - happy-dom@18.0.1: resolution: {integrity: sha512-qn+rKOW7KWpVTtgIUi6RVmTBZJSe2k0Db0vh1f7CWrWclkkc7/Q+FrOfkZIb2eiErLyqu5AXEzE7XthO9JVxRA==} engines: {node: '>=20.0.0'} @@ -2183,10 +2042,6 @@ packages: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} - hosted-git-info@7.0.2: - resolution: {integrity: sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==} - engines: {node: ^16.14.0 || >=18.0.0} - htmlparser2@10.0.0: resolution: {integrity: sha512-TwAZM+zE5Tq3lrEHvOlvwgj1XLWQCtaaibSN11Q+gGBAS7Y1uZSWwXXRe4iF6OXnaq1riyQAPFOBtYc77Mxq0g==} @@ -2237,13 +2092,6 @@ packages: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} - index-to-position@1.1.0: - resolution: {integrity: sha512-XPdx9Dq4t9Qk1mTMbWONJqU7boCoumEH7fRET37HX5+khDUl3J2W6PdALxhILYlIYx2amlwYcRPp28p0tSiojg==} - engines: {node: '>=18'} - - inherits@2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - ini@5.0.0: resolution: {integrity: sha512-+N0ngpO3e7cRUWOJAS7qw0IZIVc6XPrW4MlFBdD066F2L4k1L6ker3hLqSq7iXxU5tgS4WGkIUElWn5vogAEnw==} engines: {node: ^18.17.0 || >=20.5.0} @@ -2354,10 +2202,6 @@ packages: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} - is-obj@2.0.0: - resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} - engines: {node: '>=8'} - is-regex@1.2.1: resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} engines: {node: '>= 0.4'} @@ -2441,9 +2285,6 @@ packages: js-tiktoken@1.0.20: resolution: {integrity: sha512-Xlaqhhs8VfCd6Sh7a1cFkZHQbYTLCwVJJWiHVxBYzLPxW0XsoxBy1hitmjkdIjD3Aon5BXLHFwU5O8WUx6HH+A==} - js-tokens@4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - js-tokens@9.0.1: resolution: {integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==} @@ -2589,10 +2430,6 @@ packages: mdurl@2.0.0: resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==} - meow@13.2.0: - resolution: {integrity: sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==} - engines: {node: '>=18'} - merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} @@ -2693,9 +2530,6 @@ packages: natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - neo-async@2.6.2: - resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} - netmask@2.0.2: resolution: {integrity: sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==} engines: {node: '>= 0.4.0'} @@ -2721,10 +2555,6 @@ packages: encoding: optional: true - normalize-package-data@6.0.2: - resolution: {integrity: sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==} - engines: {node: ^16.14.0 || >=18.0.0} - npm-run-path@5.3.0: resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -2863,10 +2693,6 @@ packages: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} - parse-json@8.3.0: - resolution: {integrity: sha512-ybiGyvspI+fAoRQbIPRddCcSTV9/LsJbf0e/S85VLowVGzRmokfneg2kwVW/KU5rOXrPSbF1qAKPMgNTqqROQQ==} - engines: {node: '>=18'} - parse-path@7.1.0: resolution: {integrity: sha512-EuCycjZtfPcjWk7KTksnJ5xPMvWGA/6i4zrLYhRG0hGvC3GPU/jGUj3Cy+ZR0v30duV3e23R95T1lE2+lsndSw==} @@ -3008,18 +2834,6 @@ packages: resolution: {integrity: sha512-w8nqGImo45dmMIfljjMwOGtbmC/mk4CMYhWIicdSflH91J9TyCyczcPFXJzrZ/ZXcgGRFeP6BU0BEJTw6tZdfQ==} engines: {node: '>=0.10.0'} - read-package-up@11.0.0: - resolution: {integrity: sha512-MbgfoNPANMdb4oRBNg5eqLbB2t2r+o5Ua1pNt8BqGp4I0FJZhuVSOj3PaBPni4azWuSzEdNn2evevzVmEk1ohQ==} - engines: {node: '>=18'} - - read-pkg@9.0.1: - resolution: {integrity: sha512-9viLL4/n1BJUCT1NXVTdS1jtm80yDEgR5T4yCelII49Mbj0v1rZdKqj7zCiYdbB0CuCgdrvHcNogAKTFPBocFA==} - engines: {node: '>=18'} - - readable-stream@3.6.2: - resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} - engines: {node: '>= 6'} - readdirp@4.1.2: resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} engines: {node: '>= 14.18.0'} @@ -3100,9 +2914,6 @@ packages: resolution: {integrity: sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==} engines: {node: '>=0.4'} - safe-buffer@5.2.1: - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - safe-push-apply@1.0.0: resolution: {integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==} engines: {node: '>= 0.4'} @@ -3194,18 +3005,6 @@ packages: engines: {node: '>= 8'} deprecated: The work that was done in this beta branch won't be included in future versions - spdx-correct@3.2.0: - resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} - - spdx-exceptions@2.5.0: - resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} - - spdx-expression-parse@3.0.1: - resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} - - spdx-license-ids@3.0.22: - resolution: {integrity: sha512-4PRT4nh1EImPbt2jASOKHX7PB7I+e4IWNLvkKFDxNhJlfjbYlleYQh285Z/3mPTHSAK/AvdMmw5BNNuYH8ShgQ==} - sprintf-js@1.1.3: resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==} @@ -3247,9 +3046,6 @@ packages: resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} engines: {node: '>= 0.4'} - string_decoder@1.3.0: - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} - strip-ansi@6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} @@ -3391,10 +3187,6 @@ packages: resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} engines: {node: '>=12.20'} - type-fest@4.41.0: - resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==} - engines: {node: '>=16'} - typed-array-buffer@1.0.3: resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==} engines: {node: '>= 0.4'} @@ -3411,9 +3203,6 @@ packages: resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==} engines: {node: '>= 0.4'} - typedarray@0.0.6: - resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} - typedoc@0.28.9: resolution: {integrity: sha512-aw45vwtwOl3QkUAmWCnLV9QW1xY+FSX2zzlit4MAfE99wX+Jij4ycnpbAWgBXsRrxmfs9LaYktg/eX5Bpthd3g==} engines: {node: '>= 18', pnpm: '>= 10'} @@ -3432,11 +3221,6 @@ packages: ufo@1.6.1: resolution: {integrity: sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==} - uglify-js@3.19.3: - resolution: {integrity: sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==} - engines: {node: '>=0.8.0'} - hasBin: true - unbox-primitive@1.1.0: resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==} engines: {node: '>= 0.4'} @@ -3461,10 +3245,6 @@ packages: resolution: {integrity: sha512-l+zSMssRqrzDcb3fjMkjjLGmuiiK2pMIcV++mJaAc9vhjSGpvM7h43QgP+OAMb1GImHmbPyG2tBXeuyG5iY4gA==} engines: {node: '>=20.18.1'} - unicorn-magic@0.1.0: - resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} - engines: {node: '>=18'} - universal-user-agent@7.0.3: resolution: {integrity: sha512-TmnEAEAsBJVZM/AADELsK76llnwcf9vMKuPz8JflO1frO8Lchitr0fNaN9d+Ap0BjKtqWqd/J17qeDnXh8CL2A==} @@ -3475,9 +3255,6 @@ packages: resolution: {integrity: sha512-n2huDr9h9yzd6exQVnH/jU5mr+Pfx08LRXXZhkLLetAMESRj+anQsTAh940iMrIetKAmry9coFuZQ2jY8/p3WA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - util-deprecate@1.0.2: - resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - uuid@10.0.0: resolution: {integrity: sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==} hasBin: true @@ -3486,9 +3263,6 @@ packages: resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} hasBin: true - validate-npm-package-license@3.0.4: - resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} - validate.io-array@1.0.6: resolution: {integrity: sha512-DeOy7CnPEziggrOO5CZhVKJw6S3Yi7e9e65R1Nl/RTN1vTQKnzjfvks0/8kQ40FP/dsjRAOd4hxmJ7uLa6vxkg==} @@ -3633,9 +3407,6 @@ packages: resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} engines: {node: '>=0.10.0'} - wordwrap@1.0.0: - resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} - wrap-ansi@6.2.0: resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} engines: {node: '>=8'} @@ -3717,16 +3488,11 @@ snapshots: dependencies: json-schema: 0.4.0 - '@babel/code-frame@7.27.1': - dependencies: - '@babel/helper-validator-identifier': 7.27.1 - js-tokens: 4.0.0 - picocolors: 1.1.1 - '@babel/helper-string-parser@7.27.1': optional: true - '@babel/helper-validator-identifier@7.27.1': {} + '@babel/helper-validator-identifier@7.27.1': + optional: true '@babel/parser@7.28.3': dependencies: @@ -3741,14 +3507,6 @@ snapshots: '@cfworker/json-schema@4.1.1': {} - '@conventional-changelog/git-client@1.0.1(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.2.0)': - dependencies: - '@types/semver': 7.7.0 - semver: 7.7.2 - optionalDependencies: - conventional-commits-filter: 5.0.0 - conventional-commits-parser: 6.2.0 - '@esbuild/aix-ppc64@0.25.5': optional: true @@ -3905,8 +3663,6 @@ snapshots: '@humanwhocodes/retry@0.4.3': {} - '@hutson/parse-repository-url@5.0.0': {} - '@iarna/toml@3.0.0': {} '@inquirer/checkbox@4.2.0(@types/node@24.3.0)': @@ -4460,18 +4216,6 @@ snapshots: release-it: 19.0.4(@types/node@24.3.0)(magicast@0.3.5) semver: 7.7.2 - '@release-it/conventional-changelog@10.0.1(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.2.0)(release-it@19.0.4(@types/node@24.3.0)(magicast@0.3.5))': - dependencies: - concat-stream: 2.0.0 - conventional-changelog: 6.0.0(conventional-commits-filter@5.0.0) - conventional-recommended-bump: 10.0.0 - git-semver-tags: 8.0.0(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.2.0) - release-it: 19.0.4(@types/node@24.3.0)(magicast@0.3.5) - semver: 7.7.2 - transitivePeerDependencies: - - conventional-commits-filter - - conventional-commits-parser - '@rollup/rollup-android-arm-eabi@4.44.2': optional: true @@ -4597,16 +4341,12 @@ snapshots: dependencies: undici-types: 7.10.0 - '@types/normalize-package-data@2.4.4': {} - '@types/parse-path@7.1.0': dependencies: parse-path: 7.1.0 '@types/retry@0.12.0': {} - '@types/semver@7.7.0': {} - '@types/unist@3.0.3': {} '@types/uuid@10.0.0': {} @@ -4802,8 +4542,6 @@ snapshots: acorn@8.15.0: {} - add-stream@1.0.0: {} - agent-base@7.1.4: {} agentkeepalive@4.6.0: @@ -4857,8 +4595,6 @@ snapshots: call-bound: 1.0.4 is-array-buffer: 3.0.5 - array-ify@1.0.0: {} - array-includes@3.1.9: dependencies: call-bind: 1.0.8 @@ -4962,8 +4698,6 @@ snapshots: dependencies: fill-range: 7.1.1 - buffer-from@1.1.2: {} - bundle-name@4.1.0: dependencies: run-applescript: 7.0.0 @@ -5095,11 +4829,6 @@ snapshots: commander@4.1.1: {} - compare-func@2.0.0: - dependencies: - array-ify: 1.0.0 - dot-prop: 5.3.0 - compute-cosine-similarity@1.1.0: dependencies: compute-dot: 1.1.0 @@ -5119,13 +4848,6 @@ snapshots: concat-map@0.0.1: {} - concat-stream@2.0.0: - dependencies: - buffer-from: 1.1.2 - inherits: 2.0.4 - readable-stream: 3.6.2 - typedarray: 0.0.6 - confbox@0.1.8: {} confbox@0.2.2: {} @@ -5136,84 +4858,6 @@ snapshots: dependencies: simple-wcswidth: 1.1.2 - conventional-changelog-angular@8.0.0: - dependencies: - compare-func: 2.0.0 - - conventional-changelog-atom@5.0.0: {} - - conventional-changelog-codemirror@5.0.0: {} - - conventional-changelog-conventionalcommits@8.0.0: - dependencies: - compare-func: 2.0.0 - - conventional-changelog-core@8.0.0(conventional-commits-filter@5.0.0): - dependencies: - '@hutson/parse-repository-url': 5.0.0 - add-stream: 1.0.0 - conventional-changelog-writer: 8.2.0 - conventional-commits-parser: 6.2.0 - git-raw-commits: 5.0.0(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.2.0) - git-semver-tags: 8.0.0(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.2.0) - hosted-git-info: 7.0.2 - normalize-package-data: 6.0.2 - read-package-up: 11.0.0 - read-pkg: 9.0.1 - transitivePeerDependencies: - - conventional-commits-filter - - conventional-changelog-ember@5.0.0: {} - - conventional-changelog-eslint@6.0.0: {} - - conventional-changelog-express@5.0.0: {} - - conventional-changelog-jquery@6.0.0: {} - - conventional-changelog-jshint@5.0.0: - dependencies: - compare-func: 2.0.0 - - conventional-changelog-preset-loader@5.0.0: {} - - conventional-changelog-writer@8.2.0: - dependencies: - conventional-commits-filter: 5.0.0 - handlebars: 4.7.8 - meow: 13.2.0 - semver: 7.7.2 - - conventional-changelog@6.0.0(conventional-commits-filter@5.0.0): - dependencies: - conventional-changelog-angular: 8.0.0 - conventional-changelog-atom: 5.0.0 - conventional-changelog-codemirror: 5.0.0 - conventional-changelog-conventionalcommits: 8.0.0 - conventional-changelog-core: 8.0.0(conventional-commits-filter@5.0.0) - conventional-changelog-ember: 5.0.0 - conventional-changelog-eslint: 6.0.0 - conventional-changelog-express: 5.0.0 - conventional-changelog-jquery: 6.0.0 - conventional-changelog-jshint: 5.0.0 - conventional-changelog-preset-loader: 5.0.0 - transitivePeerDependencies: - - conventional-commits-filter - - conventional-commits-filter@5.0.0: {} - - conventional-commits-parser@6.2.0: - dependencies: - meow: 13.2.0 - - conventional-recommended-bump@10.0.0: - dependencies: - '@conventional-changelog/git-client': 1.0.1(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.2.0) - conventional-changelog-preset-loader: 5.0.0 - conventional-commits-filter: 5.0.0 - conventional-commits-parser: 6.2.0 - meow: 13.2.0 - cross-spawn@7.0.6: dependencies: path-key: 3.1.1 @@ -5321,10 +4965,6 @@ snapshots: domelementtype: 2.3.0 domhandler: 5.0.3 - dot-prop@5.3.0: - dependencies: - is-obj: 2.0.0 - dotenv@16.6.1: {} dotenv@17.2.0: {} @@ -5683,8 +5323,6 @@ snapshots: dependencies: to-regex-range: 5.0.1 - find-up-simple@1.0.1: {} - find-up@5.0.0: dependencies: locate-path: 6.0.0 @@ -5794,22 +5432,6 @@ snapshots: nypm: 0.6.1 pathe: 2.0.3 - git-raw-commits@5.0.0(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.2.0): - dependencies: - '@conventional-changelog/git-client': 1.0.1(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.2.0) - meow: 13.2.0 - transitivePeerDependencies: - - conventional-commits-filter - - conventional-commits-parser - - git-semver-tags@8.0.0(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.2.0): - dependencies: - '@conventional-changelog/git-client': 1.0.1(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.2.0) - meow: 13.2.0 - transitivePeerDependencies: - - conventional-commits-filter - - conventional-commits-parser - git-up@8.1.1: dependencies: is-ssh: 1.4.1 @@ -5847,15 +5469,6 @@ snapshots: graphemer@1.4.0: {} - handlebars@4.7.8: - dependencies: - minimist: 1.2.8 - neo-async: 2.6.2 - source-map: 0.6.1 - wordwrap: 1.0.0 - optionalDependencies: - uglify-js: 3.19.3 - happy-dom@18.0.1: dependencies: '@types/node': 20.19.11 @@ -5884,10 +5497,6 @@ snapshots: dependencies: function-bind: 1.1.2 - hosted-git-info@7.0.2: - dependencies: - lru-cache: 10.4.3 - htmlparser2@10.0.0: dependencies: domelementtype: 2.3.0 @@ -5943,10 +5552,6 @@ snapshots: imurmurhash@0.1.4: {} - index-to-position@1.1.0: {} - - inherits@2.0.4: {} - ini@5.0.0: {} inquirer@12.7.0(@types/node@24.3.0): @@ -6054,8 +5659,6 @@ snapshots: is-number@7.0.0: {} - is-obj@2.0.0: {} - is-regex@1.2.1: dependencies: call-bound: 1.0.4 @@ -6137,8 +5740,6 @@ snapshots: dependencies: base64-js: 1.5.1 - js-tokens@4.0.0: {} - js-tokens@9.0.1: {} js-yaml@4.1.0: @@ -6267,8 +5868,6 @@ snapshots: mdurl@2.0.0: {} - meow@13.2.0: {} - merge-stream@2.0.0: {} merge2@1.4.1: {} @@ -6363,8 +5962,6 @@ snapshots: natural-compare@1.4.0: {} - neo-async@2.6.2: {} - netmask@2.0.2: {} new-github-release-url@2.0.0: @@ -6379,12 +5976,6 @@ snapshots: dependencies: whatwg-url: 5.0.0 - normalize-package-data@6.0.2: - dependencies: - hosted-git-info: 7.0.2 - semver: 7.7.2 - validate-npm-package-license: 3.0.4 - npm-run-path@5.3.0: dependencies: path-key: 4.0.0 @@ -6553,12 +6144,6 @@ snapshots: dependencies: callsites: 3.1.0 - parse-json@8.3.0: - dependencies: - '@babel/code-frame': 7.27.1 - index-to-position: 1.1.0 - type-fest: 4.41.0 - parse-path@7.1.0: dependencies: protocols: 2.0.2 @@ -6693,26 +6278,6 @@ snapshots: react@19.1.1: optional: true - read-package-up@11.0.0: - dependencies: - find-up-simple: 1.0.1 - read-pkg: 9.0.1 - type-fest: 4.41.0 - - read-pkg@9.0.1: - dependencies: - '@types/normalize-package-data': 2.4.4 - normalize-package-data: 6.0.2 - parse-json: 8.3.0 - type-fest: 4.41.0 - unicorn-magic: 0.1.0 - - readable-stream@3.6.2: - dependencies: - inherits: 2.0.4 - string_decoder: 1.3.0 - util-deprecate: 1.0.2 - readdirp@4.1.2: {} reflect.getprototypeof@1.0.10: @@ -6844,8 +6409,6 @@ snapshots: has-symbols: 1.1.0 isarray: 2.0.5 - safe-buffer@5.2.1: {} - safe-push-apply@1.0.0: dependencies: es-errors: 1.3.0 @@ -6942,26 +6505,13 @@ snapshots: source-map-js@1.2.1: {} - source-map@0.6.1: {} + source-map@0.6.1: + optional: true source-map@0.8.0-beta.0: dependencies: whatwg-url: 7.1.0 - spdx-correct@3.2.0: - dependencies: - spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.22 - - spdx-exceptions@2.5.0: {} - - spdx-expression-parse@3.0.1: - dependencies: - spdx-exceptions: 2.5.0 - spdx-license-ids: 3.0.22 - - spdx-license-ids@3.0.22: {} - sprintf-js@1.1.3: {} stackback@0.0.2: {} @@ -7016,10 +6566,6 @@ snapshots: define-properties: 1.2.1 es-object-atoms: 1.1.1 - string_decoder@1.3.0: - dependencies: - safe-buffer: 5.2.1 - strip-ansi@6.0.1: dependencies: ansi-regex: 5.0.1 @@ -7157,8 +6703,6 @@ snapshots: type-fest@2.19.0: {} - type-fest@4.41.0: {} - typed-array-buffer@1.0.3: dependencies: call-bound: 1.0.4 @@ -7192,8 +6736,6 @@ snapshots: possible-typed-array-names: 1.1.0 reflect.getprototypeof: 1.0.10 - typedarray@0.0.6: {} - typedoc@0.28.9(typescript@5.8.3): dependencies: '@gerrit0/mini-shiki': 3.9.2 @@ -7209,9 +6751,6 @@ snapshots: ufo@1.6.1: {} - uglify-js@3.19.3: - optional: true - unbox-primitive@1.1.0: dependencies: call-bound: 1.0.4 @@ -7231,8 +6770,6 @@ snapshots: undici@7.13.0: {} - unicorn-magic@0.1.0: {} - universal-user-agent@7.0.3: {} uri-js@4.4.1: @@ -7241,17 +6778,10 @@ snapshots: url-join@5.0.0: {} - util-deprecate@1.0.2: {} - uuid@10.0.0: {} uuid@9.0.1: {} - validate-npm-package-license@3.0.4: - dependencies: - spdx-correct: 3.2.0 - spdx-expression-parse: 3.0.1 - validate.io-array@1.0.6: {} validate.io-function@1.0.2: {} @@ -7417,8 +6947,6 @@ snapshots: word-wrap@1.2.5: {} - wordwrap@1.0.0: {} - wrap-ansi@6.2.0: dependencies: ansi-styles: 4.3.0 From 06b223eb200ea979d2d9172753c62a36904e6709 Mon Sep 17 00:00:00 2001 From: langfuse-bot Date: Mon, 29 Sep 2025 16:48:14 +0200 Subject: [PATCH 02/15] feat(api): update API spec from langfuse/langfuse 9b8868a (#646) Co-authored-by: langfuse-bot --- .../resources/scoreConfigs/client/Client.ts | 134 ++++++++++++++++++ .../types/UpdateScoreConfigRequest.ts | 20 +++ .../api/resources/scoreConfigs/types/index.ts | 1 + 3 files changed, 155 insertions(+) create mode 100644 packages/core/src/api/api/resources/scoreConfigs/types/UpdateScoreConfigRequest.ts diff --git a/packages/core/src/api/api/resources/scoreConfigs/client/Client.ts b/packages/core/src/api/api/resources/scoreConfigs/client/Client.ts index b53c191a..777dcedb 100644 --- a/packages/core/src/api/api/resources/scoreConfigs/client/Client.ts +++ b/packages/core/src/api/api/resources/scoreConfigs/client/Client.ts @@ -446,6 +446,140 @@ export class ScoreConfigs { } } + /** + * Update a score config + * + * @param {string} configId - The unique langfuse identifier of a score config + * @param {LangfuseAPI.UpdateScoreConfigRequest} request + * @param {ScoreConfigs.RequestOptions} requestOptions - Request-specific configuration. + * + * @throws {@link LangfuseAPI.Error} + * @throws {@link LangfuseAPI.UnauthorizedError} + * @throws {@link LangfuseAPI.AccessDeniedError} + * @throws {@link LangfuseAPI.MethodNotAllowedError} + * @throws {@link LangfuseAPI.NotFoundError} + * + * @example + * await client.scoreConfigs.update("configId", { + * isArchived: undefined, + * name: undefined, + * categories: undefined, + * minValue: undefined, + * maxValue: undefined, + * description: undefined + * }) + */ + public update( + configId: string, + request: LangfuseAPI.UpdateScoreConfigRequest, + requestOptions?: ScoreConfigs.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise( + this.__update(configId, request, requestOptions), + ); + } + + private async __update( + configId: string, + request: LangfuseAPI.UpdateScoreConfigRequest, + requestOptions?: ScoreConfigs.RequestOptions, + ): Promise> { + let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + this._options?.headers, + mergeOnlyDefinedHeaders({ + Authorization: await this._getAuthorizationHeader(), + "X-Langfuse-Sdk-Name": + requestOptions?.xLangfuseSdkName ?? this._options?.xLangfuseSdkName, + "X-Langfuse-Sdk-Version": + requestOptions?.xLangfuseSdkVersion ?? + this._options?.xLangfuseSdkVersion, + "X-Langfuse-Public-Key": + requestOptions?.xLangfusePublicKey ?? + this._options?.xLangfusePublicKey, + }), + requestOptions?.headers, + ); + const _response = await core.fetcher({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)), + `/api/public/score-configs/${encodeURIComponent(configId)}`, + ), + method: "PATCH", + headers: _headers, + contentType: "application/json", + queryParameters: requestOptions?.queryParams, + requestType: "json", + body: request, + timeoutMs: + requestOptions?.timeoutInSeconds != null + ? requestOptions.timeoutInSeconds * 1000 + : 60000, + maxRetries: requestOptions?.maxRetries, + abortSignal: requestOptions?.abortSignal, + }); + if (_response.ok) { + return { + data: _response.body as LangfuseAPI.ScoreConfig, + rawResponse: _response.rawResponse, + }; + } + + if (_response.error.reason === "status-code") { + switch (_response.error.statusCode) { + case 400: + throw new LangfuseAPI.Error( + _response.error.body as unknown, + _response.rawResponse, + ); + case 401: + throw new LangfuseAPI.UnauthorizedError( + _response.error.body as unknown, + _response.rawResponse, + ); + case 403: + throw new LangfuseAPI.AccessDeniedError( + _response.error.body as unknown, + _response.rawResponse, + ); + case 405: + throw new LangfuseAPI.MethodNotAllowedError( + _response.error.body as unknown, + _response.rawResponse, + ); + case 404: + throw new LangfuseAPI.NotFoundError( + _response.error.body as unknown, + _response.rawResponse, + ); + default: + throw new errors.LangfuseAPIError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + } + + switch (_response.error.reason) { + case "non-json": + throw new errors.LangfuseAPIError({ + statusCode: _response.error.statusCode, + body: _response.error.rawBody, + rawResponse: _response.rawResponse, + }); + case "timeout": + throw new errors.LangfuseAPITimeoutError( + "Timeout exceeded when calling PATCH /api/public/score-configs/{configId}.", + ); + case "unknown": + throw new errors.LangfuseAPIError({ + message: _response.error.errorMessage, + rawResponse: _response.rawResponse, + }); + } + } + protected async _getAuthorizationHeader(): Promise { const username = await core.Supplier.get(this._options.username); const password = await core.Supplier.get(this._options.password); diff --git a/packages/core/src/api/api/resources/scoreConfigs/types/UpdateScoreConfigRequest.ts b/packages/core/src/api/api/resources/scoreConfigs/types/UpdateScoreConfigRequest.ts new file mode 100644 index 00000000..ec160cb3 --- /dev/null +++ b/packages/core/src/api/api/resources/scoreConfigs/types/UpdateScoreConfigRequest.ts @@ -0,0 +1,20 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as LangfuseAPI from "../../../index.js"; + +export interface UpdateScoreConfigRequest { + /** The status of the score config showing if it is archived or not */ + isArchived?: boolean; + /** The name of the score config */ + name?: string; + /** Configure custom categories for categorical scores. Pass a list of objects with `label` and `value` properties. Categories are autogenerated for boolean configs and cannot be passed */ + categories?: LangfuseAPI.ConfigCategory[]; + /** Configure a minimum value for numerical scores. If not set, the minimum value defaults to -โˆž */ + minValue?: number; + /** Configure a maximum value for numerical scores. If not set, the maximum value defaults to +โˆž */ + maxValue?: number; + /** Description is shown across the Langfuse UI and can be used to e.g. explain the config categories in detail, why a numeric range was set, or provide additional context on config name or usage */ + description?: string; +} diff --git a/packages/core/src/api/api/resources/scoreConfigs/types/index.ts b/packages/core/src/api/api/resources/scoreConfigs/types/index.ts index 31976320..1feda6f8 100644 --- a/packages/core/src/api/api/resources/scoreConfigs/types/index.ts +++ b/packages/core/src/api/api/resources/scoreConfigs/types/index.ts @@ -1,2 +1,3 @@ export * from "./ScoreConfigs.js"; export * from "./CreateScoreConfigRequest.js"; +export * from "./UpdateScoreConfigRequest.js"; From 3284f882ebf5dcf520ec2958a54b5f61d171554a Mon Sep 17 00:00:00 2001 From: Nimar Date: Wed, 1 Oct 2025 11:19:12 +0200 Subject: [PATCH 03/15] chore: cache prettier output to make commits fast (#617) --- package.json | 6 +++--- pnpm-lock.yaml | 20 ++++++++++---------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/package.json b/package.json index 46482e3b..e78ca86f 100644 --- a/package.json +++ b/package.json @@ -15,8 +15,8 @@ "test:e2e": "pnpm run build && vitest run --project=e2e", "lint": "eslint \"packages/*/src/**/*.ts\" --quiet", "lint:fix": "eslint \"packages/*/src/**/*.ts\" --fix", - "format": "prettier --write \"**/*.{ts,js,json,md}\"", - "format:check": "prettier --check \"**/*.{ts,js,json,md}\" --log-level error", + "format": "prettier --write \"**/*.{ts,js,json,md}\" --experimental-cli", + "format:check": "prettier --check \"**/*.{ts,js,json,md}\" --log-level error --experimental-cli", "typecheck": "tsc -b --noEmit", "release": "tag=latest otp=$(op item get \"Npmjs\" --vault \"Engineering-Production\" --otp) release-it", "release:alpha": "tag=alpha otp=$(op item get \"Npmjs\" --vault \"Engineering-Production\" --otp) release-it --preRelease=alpha", @@ -56,7 +56,7 @@ "mustache": "^4.2.0", "nanoid": "^5.1.5", "openai": "^5.0.0", - "prettier": "^3.2.5", + "prettier": "^3.6.2", "release-it": "^19.0.4", "tsup": "^8.5.0", "tsx": "^4.19.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5afce658..e8f72900 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -96,7 +96,7 @@ importers: specifier: ^5.0.0 version: 5.10.2(zod@3.25.76) prettier: - specifier: ^3.2.5 + specifier: ^3.6.2 version: 3.6.2 release-it: specifier: ^19.0.4 @@ -238,13 +238,13 @@ packages: resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==} engines: {node: '>=6.9.0'} - '@babel/parser@7.28.3': - resolution: {integrity: sha512-7+Ey1mAgYqFAx2h0RuoxcQT5+MlG3GTV0TQrgr7/ZliKsm/MNDxVVutlWaziMq7wJNAz8MTqz55XLpWvva6StA==} + '@babel/parser@7.28.4': + resolution: {integrity: sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg==} engines: {node: '>=6.0.0'} hasBin: true - '@babel/types@7.28.2': - resolution: {integrity: sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ==} + '@babel/types@7.28.4': + resolution: {integrity: sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==} engines: {node: '>=6.9.0'} '@cfworker/json-schema@4.1.1': @@ -3494,12 +3494,12 @@ snapshots: '@babel/helper-validator-identifier@7.27.1': optional: true - '@babel/parser@7.28.3': + '@babel/parser@7.28.4': dependencies: - '@babel/types': 7.28.2 + '@babel/types': 7.28.4 optional: true - '@babel/types@7.28.2': + '@babel/types@7.28.4': dependencies: '@babel/helper-string-parser': 7.27.1 '@babel/helper-validator-identifier': 7.27.1 @@ -5850,8 +5850,8 @@ snapshots: magicast@0.3.5: dependencies: - '@babel/parser': 7.28.3 - '@babel/types': 7.28.2 + '@babel/parser': 7.28.4 + '@babel/types': 7.28.4 source-map-js: 1.2.1 optional: true From 7b6d0f162444f6363c994bbfef81fece3e54eafc Mon Sep 17 00:00:00 2001 From: Hassieb Pakzad <68423100+hassiebp@users.noreply.github.com> Date: Thu, 2 Oct 2025 10:30:22 +0200 Subject: [PATCH 04/15] fix(experiments): pass full evaluation to score creation --- packages/client/src/experiment/ExperimentManager.ts | 6 +----- packages/client/src/experiment/types.ts | 2 +- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/packages/client/src/experiment/ExperimentManager.ts b/packages/client/src/experiment/ExperimentManager.ts index fa146a69..34feffc6 100644 --- a/packages/client/src/experiment/ExperimentManager.ts +++ b/packages/client/src/experiment/ExperimentManager.ts @@ -434,11 +434,7 @@ export class ExperimentManager { for (const ev of evals) { this.langfuseClient.score.create({ traceId, - name: ev.name, - comment: ev.comment, - value: ev.value, - metadata: ev.metadata, - dataType: ev.dataType, + ...ev, }); } diff --git a/packages/client/src/experiment/types.ts b/packages/client/src/experiment/types.ts index d2f7a29d..609e3b69 100644 --- a/packages/client/src/experiment/types.ts +++ b/packages/client/src/experiment/types.ts @@ -89,7 +89,7 @@ export type ExperimentTask< export type Evaluation = Pick< ScoreBody, - "name" | "value" | "comment" | "metadata" | "dataType" + "name" | "value" | "comment" | "metadata" | "dataType" | "configId" >; export type EvaluatorParams< From 2814b96c3a33091e9b76b1a36ce39265ac832a95 Mon Sep 17 00:00:00 2001 From: langfuse-bot Date: Wed, 8 Oct 2025 11:25:23 +0200 Subject: [PATCH 05/15] feat(api): update API spec from langfuse/langfuse dee644d (#658) --- .../api/api/resources/trace/client/Client.ts | 5 ++++ .../trace/client/requests/GetTracesRequest.ts | 26 +++++++++++++++++++ 2 files changed, 31 insertions(+) diff --git a/packages/core/src/api/api/resources/trace/client/Client.ts b/packages/core/src/api/api/resources/trace/client/Client.ts index 16f92037..2d1e7c83 100644 --- a/packages/core/src/api/api/resources/trace/client/Client.ts +++ b/packages/core/src/api/api/resources/trace/client/Client.ts @@ -344,6 +344,7 @@ export class Trace { release, environment, fields, + filter, } = request; const _queryParams: Record< string, @@ -409,6 +410,10 @@ export class Trace { _queryParams["fields"] = fields; } + if (filter != null) { + _queryParams["filter"] = filter; + } + let _headers: core.Fetcher.Args["headers"] = mergeHeaders( this._options?.headers, mergeOnlyDefinedHeaders({ diff --git a/packages/core/src/api/api/resources/trace/client/requests/GetTracesRequest.ts b/packages/core/src/api/api/resources/trace/client/requests/GetTracesRequest.ts index 28afff05..c2e6d7d7 100644 --- a/packages/core/src/api/api/resources/trace/client/requests/GetTracesRequest.ts +++ b/packages/core/src/api/api/resources/trace/client/requests/GetTracesRequest.ts @@ -30,4 +30,30 @@ export interface GetTracesRequest { environment?: string | string[]; /** Comma-separated list of fields to include in the response. Available field groups: 'core' (always included), 'io' (input, output, metadata), 'scores', 'observations', 'metrics'. If not specified, all fields are returned. Example: 'core,scores,metrics'. Note: Excluded 'observations' or 'scores' fields return empty arrays; excluded 'metrics' returns -1 for 'totalCost' and 'latency'. */ fields?: string; + /** + * JSON string containing an array of filter conditions. When provided, this takes precedence over legacy filter parameters (userId, name, sessionId, tags, version, release, environment, fromTimestamp, toTimestamp). + * Each filter condition has the following structure: + * ```json + * [ + * { + * "type": string, // Required. One of: "datetime", "string", "number", "stringOptions", "categoryOptions", "arrayOptions", "stringObject", "numberObject", "boolean", "null" + * "column": string, // Required. Column to filter on + * "operator": string, // Required. Operator based on type: + * // - datetime: ">", "<", ">=", "<=" + * // - string: "=", "contains", "does not contain", "starts with", "ends with" + * // - stringOptions: "any of", "none of" + * // - categoryOptions: "any of", "none of" + * // - arrayOptions: "any of", "none of", "all of" + * // - number: "=", ">", "<", ">=", "<=" + * // - stringObject: "=", "contains", "does not contain", "starts with", "ends with" + * // - numberObject: "=", ">", "<", ">=", "<=" + * // - boolean: "=", "<>" + * // - null: "is null", "is not null" + * "value": any, // Required (except for null type). Value to compare against. Type depends on filter type + * "key": string // Required only for stringObject, numberObject, and categoryOptions types when filtering on nested fields like metadata + * } + * ] + * ``` + */ + filter?: string; } From eaff05e7a0f954d27a763dc9f038287e133d2269 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 13 Oct 2025 09:55:01 +0200 Subject: [PATCH 06/15] chore(deps-dev): bump happy-dom from 18.0.1 to 20.0.0 (#661) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 210 ++++++++++++++++++++++++------------------------- 2 files changed, 106 insertions(+), 106 deletions(-) diff --git a/package.json b/package.json index e78ca86f..d54b8161 100644 --- a/package.json +++ b/package.json @@ -51,7 +51,7 @@ "eslint-config-prettier": "^10.1.8", "eslint-plugin-import": "^2.32.0", "eslint-plugin-prettier": "^5.5.4", - "happy-dom": "^18.0.1", + "happy-dom": "^20.0.0", "husky": "^9.1.7", "mustache": "^4.2.0", "nanoid": "^5.1.5", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e8f72900..64dc649f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -49,7 +49,7 @@ importers: version: 1.34.0 '@release-it/bumper': specifier: ^7.0.5 - version: 7.0.5(release-it@19.0.4(@types/node@24.3.0)(magicast@0.3.5)) + version: 7.0.5(release-it@19.0.4(@types/node@24.7.1)(magicast@0.3.5)) '@types/mustache': specifier: ^4.2.6 version: 4.2.6 @@ -81,8 +81,8 @@ importers: specifier: ^5.5.4 version: 5.5.4(eslint-config-prettier@10.1.8(eslint@9.32.0(jiti@2.5.1)))(eslint@9.32.0(jiti@2.5.1))(prettier@3.6.2) happy-dom: - specifier: ^18.0.1 - version: 18.0.1 + specifier: ^20.0.0 + version: 20.0.0 husky: specifier: ^9.1.7 version: 9.1.7 @@ -100,7 +100,7 @@ importers: version: 3.6.2 release-it: specifier: ^19.0.4 - version: 19.0.4(@types/node@24.3.0)(magicast@0.3.5) + version: 19.0.4(@types/node@24.7.1)(magicast@0.3.5) tsup: specifier: ^8.5.0 version: 8.5.0(jiti@2.5.1)(postcss@8.5.6)(tsx@4.20.3)(typescript@5.8.3)(yaml@2.8.0) @@ -115,7 +115,7 @@ importers: version: 5.8.3 vitest: specifier: ^3.2.4 - version: 3.2.4(@types/node@24.3.0)(happy-dom@18.0.1)(jiti@2.5.1)(tsx@4.20.3)(yaml@2.8.0) + version: 3.2.4(@types/node@24.7.1)(happy-dom@20.0.0)(jiti@2.5.1)(tsx@4.20.3)(yaml@2.8.0) zod: specifier: ^3.25.76 version: 3.25.76 @@ -1089,17 +1089,17 @@ packages: '@types/node-fetch@2.6.13': resolution: {integrity: sha512-QGpRVpzSaUs30JBSGPjOg4Uveu384erbHBoT1zeONvyCfwQxIkUshLAOqN/k9EjGviPRmWTTe6aH2qySWKTVSw==} - '@types/node@18.19.124': - resolution: {integrity: sha512-hY4YWZFLs3ku6D2Gqo3RchTd9VRCcrjqp/I0mmohYeUVA5Y8eCXKJEasHxLAJVZRJuQogfd1GiJ9lgogBgKeuQ==} + '@types/node@18.19.130': + resolution: {integrity: sha512-GRaXQx6jGfL8sKfaIDD6OupbIHBr9jv7Jnaml9tB7l4v068PAOXqfcujMMo5PhbIs6ggR1XODELqahT2R8v0fg==} - '@types/node@20.19.11': - resolution: {integrity: sha512-uug3FEEGv0r+jrecvUUpbY8lLisvIjg6AAic6a2bSP5OEOLeJsDSnvhCDov7ipFFMXS3orMpzlmi0ZcuGkBbow==} + '@types/node@20.19.20': + resolution: {integrity: sha512-2Q7WS25j4pS1cS8yw3d6buNCVJukOTeQ39bAnwR6sOJbaxvyCGebzTMypDFN82CxBLnl+lSWVdCCWbRY6y9yZQ==} '@types/node@24.1.0': resolution: {integrity: sha512-ut5FthK5moxFKH2T1CUOC6ctR67rQRvvHdFLCD2Ql6KXmMuCrjsSsRI9UsLCm9M18BMwClv4pn327UvB7eeO1w==} - '@types/node@24.3.0': - resolution: {integrity: sha512-aPTXCrfwnDLj4VvXrm+UUCQjNEvJgNA8s5F1cvwQU+3KNltTOkBm1j30uNLyqqPNe7gE3KFzImYoZEfLhp4Yow==} + '@types/node@24.7.1': + resolution: {integrity: sha512-CmyhGZanP88uuC5GpWU9q+fI61j2SkhO3UGMUdfYRE6Bcy0ccyzn1Rqj9YAB/ZY4kOXmNf0ocah5GtphmLMP6Q==} '@types/parse-path@7.1.0': resolution: {integrity: sha512-EULJ8LApcVEPbrfND0cRQqutIOdiIgJ1Mgrhpy755r14xMohPTEpkV/k28SJvuOs9bHRFW8x+KeDAEPiGQPB9Q==} @@ -2011,8 +2011,8 @@ packages: graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - happy-dom@18.0.1: - resolution: {integrity: sha512-qn+rKOW7KWpVTtgIUi6RVmTBZJSe2k0Db0vh1f7CWrWclkkc7/Q+FrOfkZIb2eiErLyqu5AXEzE7XthO9JVxRA==} + happy-dom@20.0.0: + resolution: {integrity: sha512-GkWnwIFxVGCf2raNrxImLo397RdGhLapj5cT3R2PT7FwL62Ze1DROhzmYW7+J3p9105DYMVenEejEbnq5wA37w==} engines: {node: '>=20.0.0'} has-bigints@1.1.0: @@ -3231,8 +3231,8 @@ packages: undici-types@6.21.0: resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} - undici-types@7.10.0: - resolution: {integrity: sha512-t5Fy/nfn+14LuOc2KNYg75vZqClpAiqscVvMygNnlsHBFpSXdJaYtXMcdNLpl/Qvc3P2cB3s6lOV51nqsFq4ag==} + undici-types@7.14.0: + resolution: {integrity: sha512-QQiYxHuyZ9gQUIrmPo3IA+hUl4KYk8uSA7cHrcKd/l3p1OTpZcM0Tbp9x7FAtXdAYhlasd60ncPpgu6ihG6TOA==} undici-types@7.8.0: resolution: {integrity: sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==} @@ -3665,27 +3665,27 @@ snapshots: '@iarna/toml@3.0.0': {} - '@inquirer/checkbox@4.2.0(@types/node@24.3.0)': + '@inquirer/checkbox@4.2.0(@types/node@24.7.1)': dependencies: - '@inquirer/core': 10.1.15(@types/node@24.3.0) + '@inquirer/core': 10.1.15(@types/node@24.7.1) '@inquirer/figures': 1.0.13 - '@inquirer/type': 3.0.8(@types/node@24.3.0) + '@inquirer/type': 3.0.8(@types/node@24.7.1) ansi-escapes: 4.3.2 yoctocolors-cjs: 2.1.2 optionalDependencies: - '@types/node': 24.3.0 + '@types/node': 24.7.1 - '@inquirer/confirm@5.1.14(@types/node@24.3.0)': + '@inquirer/confirm@5.1.14(@types/node@24.7.1)': dependencies: - '@inquirer/core': 10.1.15(@types/node@24.3.0) - '@inquirer/type': 3.0.8(@types/node@24.3.0) + '@inquirer/core': 10.1.15(@types/node@24.7.1) + '@inquirer/type': 3.0.8(@types/node@24.7.1) optionalDependencies: - '@types/node': 24.3.0 + '@types/node': 24.7.1 - '@inquirer/core@10.1.15(@types/node@24.3.0)': + '@inquirer/core@10.1.15(@types/node@24.7.1)': dependencies: '@inquirer/figures': 1.0.13 - '@inquirer/type': 3.0.8(@types/node@24.3.0) + '@inquirer/type': 3.0.8(@types/node@24.7.1) ansi-escapes: 4.3.2 cli-width: 4.1.0 mute-stream: 2.0.0 @@ -3693,93 +3693,93 @@ snapshots: wrap-ansi: 6.2.0 yoctocolors-cjs: 2.1.2 optionalDependencies: - '@types/node': 24.3.0 + '@types/node': 24.7.1 - '@inquirer/editor@4.2.15(@types/node@24.3.0)': + '@inquirer/editor@4.2.15(@types/node@24.7.1)': dependencies: - '@inquirer/core': 10.1.15(@types/node@24.3.0) - '@inquirer/type': 3.0.8(@types/node@24.3.0) + '@inquirer/core': 10.1.15(@types/node@24.7.1) + '@inquirer/type': 3.0.8(@types/node@24.7.1) external-editor: 3.1.0 optionalDependencies: - '@types/node': 24.3.0 + '@types/node': 24.7.1 - '@inquirer/expand@4.0.17(@types/node@24.3.0)': + '@inquirer/expand@4.0.17(@types/node@24.7.1)': dependencies: - '@inquirer/core': 10.1.15(@types/node@24.3.0) - '@inquirer/type': 3.0.8(@types/node@24.3.0) + '@inquirer/core': 10.1.15(@types/node@24.7.1) + '@inquirer/type': 3.0.8(@types/node@24.7.1) yoctocolors-cjs: 2.1.2 optionalDependencies: - '@types/node': 24.3.0 + '@types/node': 24.7.1 '@inquirer/figures@1.0.13': {} - '@inquirer/input@4.2.1(@types/node@24.3.0)': + '@inquirer/input@4.2.1(@types/node@24.7.1)': dependencies: - '@inquirer/core': 10.1.15(@types/node@24.3.0) - '@inquirer/type': 3.0.8(@types/node@24.3.0) + '@inquirer/core': 10.1.15(@types/node@24.7.1) + '@inquirer/type': 3.0.8(@types/node@24.7.1) optionalDependencies: - '@types/node': 24.3.0 + '@types/node': 24.7.1 - '@inquirer/number@3.0.17(@types/node@24.3.0)': + '@inquirer/number@3.0.17(@types/node@24.7.1)': dependencies: - '@inquirer/core': 10.1.15(@types/node@24.3.0) - '@inquirer/type': 3.0.8(@types/node@24.3.0) + '@inquirer/core': 10.1.15(@types/node@24.7.1) + '@inquirer/type': 3.0.8(@types/node@24.7.1) optionalDependencies: - '@types/node': 24.3.0 + '@types/node': 24.7.1 - '@inquirer/password@4.0.17(@types/node@24.3.0)': + '@inquirer/password@4.0.17(@types/node@24.7.1)': dependencies: - '@inquirer/core': 10.1.15(@types/node@24.3.0) - '@inquirer/type': 3.0.8(@types/node@24.3.0) + '@inquirer/core': 10.1.15(@types/node@24.7.1) + '@inquirer/type': 3.0.8(@types/node@24.7.1) ansi-escapes: 4.3.2 optionalDependencies: - '@types/node': 24.3.0 - - '@inquirer/prompts@7.8.0(@types/node@24.3.0)': - dependencies: - '@inquirer/checkbox': 4.2.0(@types/node@24.3.0) - '@inquirer/confirm': 5.1.14(@types/node@24.3.0) - '@inquirer/editor': 4.2.15(@types/node@24.3.0) - '@inquirer/expand': 4.0.17(@types/node@24.3.0) - '@inquirer/input': 4.2.1(@types/node@24.3.0) - '@inquirer/number': 3.0.17(@types/node@24.3.0) - '@inquirer/password': 4.0.17(@types/node@24.3.0) - '@inquirer/rawlist': 4.1.5(@types/node@24.3.0) - '@inquirer/search': 3.1.0(@types/node@24.3.0) - '@inquirer/select': 4.3.1(@types/node@24.3.0) + '@types/node': 24.7.1 + + '@inquirer/prompts@7.8.0(@types/node@24.7.1)': + dependencies: + '@inquirer/checkbox': 4.2.0(@types/node@24.7.1) + '@inquirer/confirm': 5.1.14(@types/node@24.7.1) + '@inquirer/editor': 4.2.15(@types/node@24.7.1) + '@inquirer/expand': 4.0.17(@types/node@24.7.1) + '@inquirer/input': 4.2.1(@types/node@24.7.1) + '@inquirer/number': 3.0.17(@types/node@24.7.1) + '@inquirer/password': 4.0.17(@types/node@24.7.1) + '@inquirer/rawlist': 4.1.5(@types/node@24.7.1) + '@inquirer/search': 3.1.0(@types/node@24.7.1) + '@inquirer/select': 4.3.1(@types/node@24.7.1) optionalDependencies: - '@types/node': 24.3.0 + '@types/node': 24.7.1 - '@inquirer/rawlist@4.1.5(@types/node@24.3.0)': + '@inquirer/rawlist@4.1.5(@types/node@24.7.1)': dependencies: - '@inquirer/core': 10.1.15(@types/node@24.3.0) - '@inquirer/type': 3.0.8(@types/node@24.3.0) + '@inquirer/core': 10.1.15(@types/node@24.7.1) + '@inquirer/type': 3.0.8(@types/node@24.7.1) yoctocolors-cjs: 2.1.2 optionalDependencies: - '@types/node': 24.3.0 + '@types/node': 24.7.1 - '@inquirer/search@3.1.0(@types/node@24.3.0)': + '@inquirer/search@3.1.0(@types/node@24.7.1)': dependencies: - '@inquirer/core': 10.1.15(@types/node@24.3.0) + '@inquirer/core': 10.1.15(@types/node@24.7.1) '@inquirer/figures': 1.0.13 - '@inquirer/type': 3.0.8(@types/node@24.3.0) + '@inquirer/type': 3.0.8(@types/node@24.7.1) yoctocolors-cjs: 2.1.2 optionalDependencies: - '@types/node': 24.3.0 + '@types/node': 24.7.1 - '@inquirer/select@4.3.1(@types/node@24.3.0)': + '@inquirer/select@4.3.1(@types/node@24.7.1)': dependencies: - '@inquirer/core': 10.1.15(@types/node@24.3.0) + '@inquirer/core': 10.1.15(@types/node@24.7.1) '@inquirer/figures': 1.0.13 - '@inquirer/type': 3.0.8(@types/node@24.3.0) + '@inquirer/type': 3.0.8(@types/node@24.7.1) ansi-escapes: 4.3.2 yoctocolors-cjs: 2.1.2 optionalDependencies: - '@types/node': 24.3.0 + '@types/node': 24.7.1 - '@inquirer/type@3.0.8(@types/node@24.3.0)': + '@inquirer/type@3.0.8(@types/node@24.7.1)': optionalDependencies: - '@types/node': 24.3.0 + '@types/node': 24.7.1 '@isaacs/cliui@8.0.2': dependencies: @@ -4204,7 +4204,7 @@ snapshots: '@protobufjs/utf8@1.1.0': {} - '@release-it/bumper@7.0.5(release-it@19.0.4(@types/node@24.3.0)(magicast@0.3.5))': + '@release-it/bumper@7.0.5(release-it@19.0.4(@types/node@24.7.1)(magicast@0.3.5))': dependencies: '@iarna/toml': 3.0.0 cheerio: 1.1.2 @@ -4213,7 +4213,7 @@ snapshots: ini: 5.0.0 js-yaml: 4.1.0 lodash-es: 4.17.21 - release-it: 19.0.4(@types/node@24.3.0)(magicast@0.3.5) + release-it: 19.0.4(@types/node@24.7.1)(magicast@0.3.5) semver: 7.7.2 '@rollup/rollup-android-arm-eabi@4.44.2': @@ -4322,14 +4322,14 @@ snapshots: '@types/node-fetch@2.6.13': dependencies: - '@types/node': 24.3.0 + '@types/node': 24.7.1 form-data: 4.0.4 - '@types/node@18.19.124': + '@types/node@18.19.130': dependencies: undici-types: 5.26.5 - '@types/node@20.19.11': + '@types/node@20.19.20': dependencies: undici-types: 6.21.0 @@ -4337,9 +4337,9 @@ snapshots: dependencies: undici-types: 7.8.0 - '@types/node@24.3.0': + '@types/node@24.7.1': dependencies: - undici-types: 7.10.0 + undici-types: 7.14.0 '@types/parse-path@7.1.0': dependencies: @@ -4494,13 +4494,13 @@ snapshots: chai: 5.2.1 tinyrainbow: 2.0.0 - '@vitest/mocker@3.2.4(vite@7.1.1(@types/node@24.3.0)(jiti@2.5.1)(tsx@4.20.3)(yaml@2.8.0))': + '@vitest/mocker@3.2.4(vite@7.1.1(@types/node@24.7.1)(jiti@2.5.1)(tsx@4.20.3)(yaml@2.8.0))': dependencies: '@vitest/spy': 3.2.4 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - vite: 7.1.1(@types/node@24.3.0)(jiti@2.5.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.1.1(@types/node@24.7.1)(jiti@2.5.1)(tsx@4.20.3)(yaml@2.8.0) '@vitest/pretty-format@3.2.4': dependencies: @@ -5469,9 +5469,9 @@ snapshots: graphemer@1.4.0: {} - happy-dom@18.0.1: + happy-dom@20.0.0: dependencies: - '@types/node': 20.19.11 + '@types/node': 20.19.20 '@types/whatwg-mimetype': 3.0.2 whatwg-mimetype: 3.0.0 @@ -5554,17 +5554,17 @@ snapshots: ini@5.0.0: {} - inquirer@12.7.0(@types/node@24.3.0): + inquirer@12.7.0(@types/node@24.7.1): dependencies: - '@inquirer/core': 10.1.15(@types/node@24.3.0) - '@inquirer/prompts': 7.8.0(@types/node@24.3.0) - '@inquirer/type': 3.0.8(@types/node@24.3.0) + '@inquirer/core': 10.1.15(@types/node@24.7.1) + '@inquirer/prompts': 7.8.0(@types/node@24.7.1) + '@inquirer/type': 3.0.8(@types/node@24.7.1) ansi-escapes: 4.3.2 mute-stream: 2.0.0 run-async: 4.0.5 rxjs: 7.8.2 optionalDependencies: - '@types/node': 24.3.0 + '@types/node': 24.7.1 install@0.13.0: {} @@ -6046,7 +6046,7 @@ snapshots: openai@4.104.0(zod@3.25.76): dependencies: - '@types/node': 18.19.124 + '@types/node': 18.19.130 '@types/node-fetch': 2.6.13 abort-controller: 3.0.0 agentkeepalive: 4.6.0 @@ -6244,7 +6244,7 @@ snapshots: '@protobufjs/path': 1.1.2 '@protobufjs/pool': 1.1.0 '@protobufjs/utf8': 1.1.0 - '@types/node': 24.3.0 + '@types/node': 24.7.1 long: 5.3.2 protocols@2.0.2: {} @@ -6300,7 +6300,7 @@ snapshots: gopd: 1.2.0 set-function-name: 2.0.2 - release-it@19.0.4(@types/node@24.3.0)(magicast@0.3.5): + release-it@19.0.4(@types/node@24.7.1)(magicast@0.3.5): dependencies: '@nodeutils/defaults-deep': 1.1.0 '@octokit/rest': 21.1.1 @@ -6310,7 +6310,7 @@ snapshots: ci-info: 4.3.0 eta: 3.5.0 git-url-parse: 16.1.0 - inquirer: 12.7.0(@types/node@24.3.0) + inquirer: 12.7.0(@types/node@24.7.1) issue-parser: 7.0.1 lodash.merge: 4.6.2 mime-types: 3.0.1 @@ -6762,7 +6762,7 @@ snapshots: undici-types@6.21.0: {} - undici-types@7.10.0: {} + undici-types@7.14.0: {} undici-types@7.8.0: {} @@ -6786,13 +6786,13 @@ snapshots: validate.io-function@1.0.2: {} - vite-node@3.2.4(@types/node@24.3.0)(jiti@2.5.1)(tsx@4.20.3)(yaml@2.8.0): + vite-node@3.2.4(@types/node@24.7.1)(jiti@2.5.1)(tsx@4.20.3)(yaml@2.8.0): dependencies: cac: 6.7.14 debug: 4.4.1 es-module-lexer: 1.7.0 pathe: 2.0.3 - vite: 7.1.1(@types/node@24.3.0)(jiti@2.5.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.1.1(@types/node@24.7.1)(jiti@2.5.1)(tsx@4.20.3)(yaml@2.8.0) transitivePeerDependencies: - '@types/node' - jiti @@ -6807,7 +6807,7 @@ snapshots: - tsx - yaml - vite@7.1.1(@types/node@24.3.0)(jiti@2.5.1)(tsx@4.20.3)(yaml@2.8.0): + vite@7.1.1(@types/node@24.7.1)(jiti@2.5.1)(tsx@4.20.3)(yaml@2.8.0): dependencies: esbuild: 0.25.5 fdir: 6.4.6(picomatch@4.0.3) @@ -6816,17 +6816,17 @@ snapshots: rollup: 4.44.2 tinyglobby: 0.2.14 optionalDependencies: - '@types/node': 24.3.0 + '@types/node': 24.7.1 fsevents: 2.3.3 jiti: 2.5.1 tsx: 4.20.3 yaml: 2.8.0 - vitest@3.2.4(@types/node@24.3.0)(happy-dom@18.0.1)(jiti@2.5.1)(tsx@4.20.3)(yaml@2.8.0): + vitest@3.2.4(@types/node@24.7.1)(happy-dom@20.0.0)(jiti@2.5.1)(tsx@4.20.3)(yaml@2.8.0): dependencies: '@types/chai': 5.2.2 '@vitest/expect': 3.2.4 - '@vitest/mocker': 3.2.4(vite@7.1.1(@types/node@24.3.0)(jiti@2.5.1)(tsx@4.20.3)(yaml@2.8.0)) + '@vitest/mocker': 3.2.4(vite@7.1.1(@types/node@24.7.1)(jiti@2.5.1)(tsx@4.20.3)(yaml@2.8.0)) '@vitest/pretty-format': 3.2.4 '@vitest/runner': 3.2.4 '@vitest/snapshot': 3.2.4 @@ -6844,12 +6844,12 @@ snapshots: tinyglobby: 0.2.14 tinypool: 1.1.1 tinyrainbow: 2.0.0 - vite: 7.1.1(@types/node@24.3.0)(jiti@2.5.1)(tsx@4.20.3)(yaml@2.8.0) - vite-node: 3.2.4(@types/node@24.3.0)(jiti@2.5.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.1.1(@types/node@24.7.1)(jiti@2.5.1)(tsx@4.20.3)(yaml@2.8.0) + vite-node: 3.2.4(@types/node@24.7.1)(jiti@2.5.1)(tsx@4.20.3)(yaml@2.8.0) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 24.3.0 - happy-dom: 18.0.1 + '@types/node': 24.7.1 + happy-dom: 20.0.0 transitivePeerDependencies: - jiti - less From 191bd2d199499596c65c45ff16f210dc876fa18d Mon Sep 17 00:00:00 2001 From: langfuse-bot Date: Mon, 13 Oct 2025 11:30:37 +0200 Subject: [PATCH 07/15] feat(api): update API spec from langfuse/langfuse fa2979b (#665) Co-authored-by: langfuse-bot --- packages/core/src/api/api/resources/commons/types/BaseScore.ts | 2 +- .../core/src/api/api/resources/commons/types/BaseScoreV1.ts | 2 +- .../core/src/api/api/resources/ingestion/types/ScoreBody.ts | 2 ++ packages/core/src/api/api/resources/score/client/Client.ts | 1 + .../src/api/api/resources/score/types/CreateScoreRequest.ts | 2 ++ 5 files changed, 7 insertions(+), 2 deletions(-) diff --git a/packages/core/src/api/api/resources/commons/types/BaseScore.ts b/packages/core/src/api/api/resources/commons/types/BaseScore.ts index 2d487054..d560c1c7 100644 --- a/packages/core/src/api/api/resources/commons/types/BaseScore.ts +++ b/packages/core/src/api/api/resources/commons/types/BaseScore.ts @@ -20,7 +20,7 @@ export interface BaseScore { metadata?: unknown; /** Reference a score config on a score. When set, config and score name must be equal and value must comply to optionally defined numerical range */ configId?: string; - /** Reference an annotation queue on a score. Populated if the score was initially created in an annotation queue. */ + /** The annotation queue referenced by the score. Indicates if score was initially created while processing annotation queue. */ queueId?: string; /** The environment from which this score originated. Can be any lowercase alphanumeric string with hyphens and underscores that does not start with 'langfuse'. */ environment?: string; diff --git a/packages/core/src/api/api/resources/commons/types/BaseScoreV1.ts b/packages/core/src/api/api/resources/commons/types/BaseScoreV1.ts index a1622797..296be6eb 100644 --- a/packages/core/src/api/api/resources/commons/types/BaseScoreV1.ts +++ b/packages/core/src/api/api/resources/commons/types/BaseScoreV1.ts @@ -18,7 +18,7 @@ export interface BaseScoreV1 { metadata?: unknown; /** Reference a score config on a score. When set, config and score name must be equal and value must comply to optionally defined numerical range */ configId?: string; - /** Reference an annotation queue on a score. Populated if the score was initially created in an annotation queue. */ + /** The annotation queue referenced by the score. Indicates if score was initially created while processing annotation queue. */ queueId?: string; /** The environment from which this score originated. Can be any lowercase alphanumeric string with hyphens and underscores that does not start with 'langfuse'. */ environment?: string; diff --git a/packages/core/src/api/api/resources/ingestion/types/ScoreBody.ts b/packages/core/src/api/api/resources/ingestion/types/ScoreBody.ts index 46c99576..d16007b3 100644 --- a/packages/core/src/api/api/resources/ingestion/types/ScoreBody.ts +++ b/packages/core/src/api/api/resources/ingestion/types/ScoreBody.ts @@ -84,6 +84,8 @@ export interface ScoreBody { datasetRunId?: string; name: string; environment?: string; + /** The annotation queue referenced by the score. Indicates if score was initially created while processing annotation queue. */ + queueId?: string; /** The value of the score. Must be passed as string for categorical scores, and numeric for boolean and numeric scores. Boolean score values must equal either 1 or 0 (true or false) */ value: LangfuseAPI.CreateScoreValue; comment?: string; diff --git a/packages/core/src/api/api/resources/score/client/Client.ts b/packages/core/src/api/api/resources/score/client/Client.ts index 69fa81c5..e7cce3d8 100644 --- a/packages/core/src/api/api/resources/score/client/Client.ts +++ b/packages/core/src/api/api/resources/score/client/Client.ts @@ -84,6 +84,7 @@ export class Score { * comment: undefined, * metadata: undefined, * environment: undefined, + * queueId: undefined, * dataType: undefined, * configId: undefined * }) diff --git a/packages/core/src/api/api/resources/score/types/CreateScoreRequest.ts b/packages/core/src/api/api/resources/score/types/CreateScoreRequest.ts index bac5cc1e..ca758e2c 100644 --- a/packages/core/src/api/api/resources/score/types/CreateScoreRequest.ts +++ b/packages/core/src/api/api/resources/score/types/CreateScoreRequest.ts @@ -77,6 +77,8 @@ export interface CreateScoreRequest { metadata?: unknown; /** The environment of the score. Can be any lowercase alphanumeric string with hyphens and underscores that does not start with 'langfuse'. */ environment?: string; + /** The annotation queue referenced by the score. Indicates if score was initially created while processing annotation queue. */ + queueId?: string; /** The data type of the score. When passing a configId this field is inferred. Otherwise, this field must be passed or will default to numeric. */ dataType?: LangfuseAPI.ScoreDataType; /** Reference a score config on a score. The unique langfuse identifier of a score config. When passing this field, the dataType and stringValue fields are automatically populated. */ From bf87d7361b52240b7db0b238949902e863da8d2c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 16 Oct 2025 10:31:20 +0200 Subject: [PATCH 08/15] chore(deps-dev): bump happy-dom from 20.0.0 to 20.0.2 (#667) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 194 ++++++++++++++++++++++++------------------------- 2 files changed, 98 insertions(+), 98 deletions(-) diff --git a/package.json b/package.json index d54b8161..6310f1fc 100644 --- a/package.json +++ b/package.json @@ -51,7 +51,7 @@ "eslint-config-prettier": "^10.1.8", "eslint-plugin-import": "^2.32.0", "eslint-plugin-prettier": "^5.5.4", - "happy-dom": "^20.0.0", + "happy-dom": "^20.0.2", "husky": "^9.1.7", "mustache": "^4.2.0", "nanoid": "^5.1.5", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 64dc649f..9dfda4fe 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -49,7 +49,7 @@ importers: version: 1.34.0 '@release-it/bumper': specifier: ^7.0.5 - version: 7.0.5(release-it@19.0.4(@types/node@24.7.1)(magicast@0.3.5)) + version: 7.0.5(release-it@19.0.4(@types/node@24.7.2)(magicast@0.3.5)) '@types/mustache': specifier: ^4.2.6 version: 4.2.6 @@ -81,8 +81,8 @@ importers: specifier: ^5.5.4 version: 5.5.4(eslint-config-prettier@10.1.8(eslint@9.32.0(jiti@2.5.1)))(eslint@9.32.0(jiti@2.5.1))(prettier@3.6.2) happy-dom: - specifier: ^20.0.0 - version: 20.0.0 + specifier: ^20.0.2 + version: 20.0.2 husky: specifier: ^9.1.7 version: 9.1.7 @@ -100,7 +100,7 @@ importers: version: 3.6.2 release-it: specifier: ^19.0.4 - version: 19.0.4(@types/node@24.7.1)(magicast@0.3.5) + version: 19.0.4(@types/node@24.7.2)(magicast@0.3.5) tsup: specifier: ^8.5.0 version: 8.5.0(jiti@2.5.1)(postcss@8.5.6)(tsx@4.20.3)(typescript@5.8.3)(yaml@2.8.0) @@ -115,7 +115,7 @@ importers: version: 5.8.3 vitest: specifier: ^3.2.4 - version: 3.2.4(@types/node@24.7.1)(happy-dom@20.0.0)(jiti@2.5.1)(tsx@4.20.3)(yaml@2.8.0) + version: 3.2.4(@types/node@24.7.2)(happy-dom@20.0.2)(jiti@2.5.1)(tsx@4.20.3)(yaml@2.8.0) zod: specifier: ^3.25.76 version: 3.25.76 @@ -1092,14 +1092,14 @@ packages: '@types/node@18.19.130': resolution: {integrity: sha512-GRaXQx6jGfL8sKfaIDD6OupbIHBr9jv7Jnaml9tB7l4v068PAOXqfcujMMo5PhbIs6ggR1XODELqahT2R8v0fg==} - '@types/node@20.19.20': - resolution: {integrity: sha512-2Q7WS25j4pS1cS8yw3d6buNCVJukOTeQ39bAnwR6sOJbaxvyCGebzTMypDFN82CxBLnl+lSWVdCCWbRY6y9yZQ==} + '@types/node@20.19.21': + resolution: {integrity: sha512-CsGG2P3I5y48RPMfprQGfy4JPRZ6csfC3ltBZSRItG3ngggmNY/qs2uZKp4p9VbrpqNNSMzUZNFZKzgOGnd/VA==} '@types/node@24.1.0': resolution: {integrity: sha512-ut5FthK5moxFKH2T1CUOC6ctR67rQRvvHdFLCD2Ql6KXmMuCrjsSsRI9UsLCm9M18BMwClv4pn327UvB7eeO1w==} - '@types/node@24.7.1': - resolution: {integrity: sha512-CmyhGZanP88uuC5GpWU9q+fI61j2SkhO3UGMUdfYRE6Bcy0ccyzn1Rqj9YAB/ZY4kOXmNf0ocah5GtphmLMP6Q==} + '@types/node@24.7.2': + resolution: {integrity: sha512-/NbVmcGTP+lj5oa4yiYxxeBjRivKQ5Ns1eSZeB99ExsEQ6rX5XYU1Zy/gGxY/ilqtD4Etx9mKyrPxZRetiahhA==} '@types/parse-path@7.1.0': resolution: {integrity: sha512-EULJ8LApcVEPbrfND0cRQqutIOdiIgJ1Mgrhpy755r14xMohPTEpkV/k28SJvuOs9bHRFW8x+KeDAEPiGQPB9Q==} @@ -2011,8 +2011,8 @@ packages: graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - happy-dom@20.0.0: - resolution: {integrity: sha512-GkWnwIFxVGCf2raNrxImLo397RdGhLapj5cT3R2PT7FwL62Ze1DROhzmYW7+J3p9105DYMVenEejEbnq5wA37w==} + happy-dom@20.0.2: + resolution: {integrity: sha512-pYOyu624+6HDbY+qkjILpQGnpvZOusItCk+rvF5/V+6NkcgTKnbOldpIy22tBnxoaLtlM9nXgoqAcW29/B7CIw==} engines: {node: '>=20.0.0'} has-bigints@1.1.0: @@ -3665,27 +3665,27 @@ snapshots: '@iarna/toml@3.0.0': {} - '@inquirer/checkbox@4.2.0(@types/node@24.7.1)': + '@inquirer/checkbox@4.2.0(@types/node@24.7.2)': dependencies: - '@inquirer/core': 10.1.15(@types/node@24.7.1) + '@inquirer/core': 10.1.15(@types/node@24.7.2) '@inquirer/figures': 1.0.13 - '@inquirer/type': 3.0.8(@types/node@24.7.1) + '@inquirer/type': 3.0.8(@types/node@24.7.2) ansi-escapes: 4.3.2 yoctocolors-cjs: 2.1.2 optionalDependencies: - '@types/node': 24.7.1 + '@types/node': 24.7.2 - '@inquirer/confirm@5.1.14(@types/node@24.7.1)': + '@inquirer/confirm@5.1.14(@types/node@24.7.2)': dependencies: - '@inquirer/core': 10.1.15(@types/node@24.7.1) - '@inquirer/type': 3.0.8(@types/node@24.7.1) + '@inquirer/core': 10.1.15(@types/node@24.7.2) + '@inquirer/type': 3.0.8(@types/node@24.7.2) optionalDependencies: - '@types/node': 24.7.1 + '@types/node': 24.7.2 - '@inquirer/core@10.1.15(@types/node@24.7.1)': + '@inquirer/core@10.1.15(@types/node@24.7.2)': dependencies: '@inquirer/figures': 1.0.13 - '@inquirer/type': 3.0.8(@types/node@24.7.1) + '@inquirer/type': 3.0.8(@types/node@24.7.2) ansi-escapes: 4.3.2 cli-width: 4.1.0 mute-stream: 2.0.0 @@ -3693,93 +3693,93 @@ snapshots: wrap-ansi: 6.2.0 yoctocolors-cjs: 2.1.2 optionalDependencies: - '@types/node': 24.7.1 + '@types/node': 24.7.2 - '@inquirer/editor@4.2.15(@types/node@24.7.1)': + '@inquirer/editor@4.2.15(@types/node@24.7.2)': dependencies: - '@inquirer/core': 10.1.15(@types/node@24.7.1) - '@inquirer/type': 3.0.8(@types/node@24.7.1) + '@inquirer/core': 10.1.15(@types/node@24.7.2) + '@inquirer/type': 3.0.8(@types/node@24.7.2) external-editor: 3.1.0 optionalDependencies: - '@types/node': 24.7.1 + '@types/node': 24.7.2 - '@inquirer/expand@4.0.17(@types/node@24.7.1)': + '@inquirer/expand@4.0.17(@types/node@24.7.2)': dependencies: - '@inquirer/core': 10.1.15(@types/node@24.7.1) - '@inquirer/type': 3.0.8(@types/node@24.7.1) + '@inquirer/core': 10.1.15(@types/node@24.7.2) + '@inquirer/type': 3.0.8(@types/node@24.7.2) yoctocolors-cjs: 2.1.2 optionalDependencies: - '@types/node': 24.7.1 + '@types/node': 24.7.2 '@inquirer/figures@1.0.13': {} - '@inquirer/input@4.2.1(@types/node@24.7.1)': + '@inquirer/input@4.2.1(@types/node@24.7.2)': dependencies: - '@inquirer/core': 10.1.15(@types/node@24.7.1) - '@inquirer/type': 3.0.8(@types/node@24.7.1) + '@inquirer/core': 10.1.15(@types/node@24.7.2) + '@inquirer/type': 3.0.8(@types/node@24.7.2) optionalDependencies: - '@types/node': 24.7.1 + '@types/node': 24.7.2 - '@inquirer/number@3.0.17(@types/node@24.7.1)': + '@inquirer/number@3.0.17(@types/node@24.7.2)': dependencies: - '@inquirer/core': 10.1.15(@types/node@24.7.1) - '@inquirer/type': 3.0.8(@types/node@24.7.1) + '@inquirer/core': 10.1.15(@types/node@24.7.2) + '@inquirer/type': 3.0.8(@types/node@24.7.2) optionalDependencies: - '@types/node': 24.7.1 + '@types/node': 24.7.2 - '@inquirer/password@4.0.17(@types/node@24.7.1)': + '@inquirer/password@4.0.17(@types/node@24.7.2)': dependencies: - '@inquirer/core': 10.1.15(@types/node@24.7.1) - '@inquirer/type': 3.0.8(@types/node@24.7.1) + '@inquirer/core': 10.1.15(@types/node@24.7.2) + '@inquirer/type': 3.0.8(@types/node@24.7.2) ansi-escapes: 4.3.2 optionalDependencies: - '@types/node': 24.7.1 - - '@inquirer/prompts@7.8.0(@types/node@24.7.1)': - dependencies: - '@inquirer/checkbox': 4.2.0(@types/node@24.7.1) - '@inquirer/confirm': 5.1.14(@types/node@24.7.1) - '@inquirer/editor': 4.2.15(@types/node@24.7.1) - '@inquirer/expand': 4.0.17(@types/node@24.7.1) - '@inquirer/input': 4.2.1(@types/node@24.7.1) - '@inquirer/number': 3.0.17(@types/node@24.7.1) - '@inquirer/password': 4.0.17(@types/node@24.7.1) - '@inquirer/rawlist': 4.1.5(@types/node@24.7.1) - '@inquirer/search': 3.1.0(@types/node@24.7.1) - '@inquirer/select': 4.3.1(@types/node@24.7.1) + '@types/node': 24.7.2 + + '@inquirer/prompts@7.8.0(@types/node@24.7.2)': + dependencies: + '@inquirer/checkbox': 4.2.0(@types/node@24.7.2) + '@inquirer/confirm': 5.1.14(@types/node@24.7.2) + '@inquirer/editor': 4.2.15(@types/node@24.7.2) + '@inquirer/expand': 4.0.17(@types/node@24.7.2) + '@inquirer/input': 4.2.1(@types/node@24.7.2) + '@inquirer/number': 3.0.17(@types/node@24.7.2) + '@inquirer/password': 4.0.17(@types/node@24.7.2) + '@inquirer/rawlist': 4.1.5(@types/node@24.7.2) + '@inquirer/search': 3.1.0(@types/node@24.7.2) + '@inquirer/select': 4.3.1(@types/node@24.7.2) optionalDependencies: - '@types/node': 24.7.1 + '@types/node': 24.7.2 - '@inquirer/rawlist@4.1.5(@types/node@24.7.1)': + '@inquirer/rawlist@4.1.5(@types/node@24.7.2)': dependencies: - '@inquirer/core': 10.1.15(@types/node@24.7.1) - '@inquirer/type': 3.0.8(@types/node@24.7.1) + '@inquirer/core': 10.1.15(@types/node@24.7.2) + '@inquirer/type': 3.0.8(@types/node@24.7.2) yoctocolors-cjs: 2.1.2 optionalDependencies: - '@types/node': 24.7.1 + '@types/node': 24.7.2 - '@inquirer/search@3.1.0(@types/node@24.7.1)': + '@inquirer/search@3.1.0(@types/node@24.7.2)': dependencies: - '@inquirer/core': 10.1.15(@types/node@24.7.1) + '@inquirer/core': 10.1.15(@types/node@24.7.2) '@inquirer/figures': 1.0.13 - '@inquirer/type': 3.0.8(@types/node@24.7.1) + '@inquirer/type': 3.0.8(@types/node@24.7.2) yoctocolors-cjs: 2.1.2 optionalDependencies: - '@types/node': 24.7.1 + '@types/node': 24.7.2 - '@inquirer/select@4.3.1(@types/node@24.7.1)': + '@inquirer/select@4.3.1(@types/node@24.7.2)': dependencies: - '@inquirer/core': 10.1.15(@types/node@24.7.1) + '@inquirer/core': 10.1.15(@types/node@24.7.2) '@inquirer/figures': 1.0.13 - '@inquirer/type': 3.0.8(@types/node@24.7.1) + '@inquirer/type': 3.0.8(@types/node@24.7.2) ansi-escapes: 4.3.2 yoctocolors-cjs: 2.1.2 optionalDependencies: - '@types/node': 24.7.1 + '@types/node': 24.7.2 - '@inquirer/type@3.0.8(@types/node@24.7.1)': + '@inquirer/type@3.0.8(@types/node@24.7.2)': optionalDependencies: - '@types/node': 24.7.1 + '@types/node': 24.7.2 '@isaacs/cliui@8.0.2': dependencies: @@ -4204,7 +4204,7 @@ snapshots: '@protobufjs/utf8@1.1.0': {} - '@release-it/bumper@7.0.5(release-it@19.0.4(@types/node@24.7.1)(magicast@0.3.5))': + '@release-it/bumper@7.0.5(release-it@19.0.4(@types/node@24.7.2)(magicast@0.3.5))': dependencies: '@iarna/toml': 3.0.0 cheerio: 1.1.2 @@ -4213,7 +4213,7 @@ snapshots: ini: 5.0.0 js-yaml: 4.1.0 lodash-es: 4.17.21 - release-it: 19.0.4(@types/node@24.7.1)(magicast@0.3.5) + release-it: 19.0.4(@types/node@24.7.2)(magicast@0.3.5) semver: 7.7.2 '@rollup/rollup-android-arm-eabi@4.44.2': @@ -4322,14 +4322,14 @@ snapshots: '@types/node-fetch@2.6.13': dependencies: - '@types/node': 24.7.1 + '@types/node': 24.7.2 form-data: 4.0.4 '@types/node@18.19.130': dependencies: undici-types: 5.26.5 - '@types/node@20.19.20': + '@types/node@20.19.21': dependencies: undici-types: 6.21.0 @@ -4337,7 +4337,7 @@ snapshots: dependencies: undici-types: 7.8.0 - '@types/node@24.7.1': + '@types/node@24.7.2': dependencies: undici-types: 7.14.0 @@ -4494,13 +4494,13 @@ snapshots: chai: 5.2.1 tinyrainbow: 2.0.0 - '@vitest/mocker@3.2.4(vite@7.1.1(@types/node@24.7.1)(jiti@2.5.1)(tsx@4.20.3)(yaml@2.8.0))': + '@vitest/mocker@3.2.4(vite@7.1.1(@types/node@24.7.2)(jiti@2.5.1)(tsx@4.20.3)(yaml@2.8.0))': dependencies: '@vitest/spy': 3.2.4 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - vite: 7.1.1(@types/node@24.7.1)(jiti@2.5.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.1.1(@types/node@24.7.2)(jiti@2.5.1)(tsx@4.20.3)(yaml@2.8.0) '@vitest/pretty-format@3.2.4': dependencies: @@ -5469,9 +5469,9 @@ snapshots: graphemer@1.4.0: {} - happy-dom@20.0.0: + happy-dom@20.0.2: dependencies: - '@types/node': 20.19.20 + '@types/node': 20.19.21 '@types/whatwg-mimetype': 3.0.2 whatwg-mimetype: 3.0.0 @@ -5554,17 +5554,17 @@ snapshots: ini@5.0.0: {} - inquirer@12.7.0(@types/node@24.7.1): + inquirer@12.7.0(@types/node@24.7.2): dependencies: - '@inquirer/core': 10.1.15(@types/node@24.7.1) - '@inquirer/prompts': 7.8.0(@types/node@24.7.1) - '@inquirer/type': 3.0.8(@types/node@24.7.1) + '@inquirer/core': 10.1.15(@types/node@24.7.2) + '@inquirer/prompts': 7.8.0(@types/node@24.7.2) + '@inquirer/type': 3.0.8(@types/node@24.7.2) ansi-escapes: 4.3.2 mute-stream: 2.0.0 run-async: 4.0.5 rxjs: 7.8.2 optionalDependencies: - '@types/node': 24.7.1 + '@types/node': 24.7.2 install@0.13.0: {} @@ -6244,7 +6244,7 @@ snapshots: '@protobufjs/path': 1.1.2 '@protobufjs/pool': 1.1.0 '@protobufjs/utf8': 1.1.0 - '@types/node': 24.7.1 + '@types/node': 24.7.2 long: 5.3.2 protocols@2.0.2: {} @@ -6300,7 +6300,7 @@ snapshots: gopd: 1.2.0 set-function-name: 2.0.2 - release-it@19.0.4(@types/node@24.7.1)(magicast@0.3.5): + release-it@19.0.4(@types/node@24.7.2)(magicast@0.3.5): dependencies: '@nodeutils/defaults-deep': 1.1.0 '@octokit/rest': 21.1.1 @@ -6310,7 +6310,7 @@ snapshots: ci-info: 4.3.0 eta: 3.5.0 git-url-parse: 16.1.0 - inquirer: 12.7.0(@types/node@24.7.1) + inquirer: 12.7.0(@types/node@24.7.2) issue-parser: 7.0.1 lodash.merge: 4.6.2 mime-types: 3.0.1 @@ -6786,13 +6786,13 @@ snapshots: validate.io-function@1.0.2: {} - vite-node@3.2.4(@types/node@24.7.1)(jiti@2.5.1)(tsx@4.20.3)(yaml@2.8.0): + vite-node@3.2.4(@types/node@24.7.2)(jiti@2.5.1)(tsx@4.20.3)(yaml@2.8.0): dependencies: cac: 6.7.14 debug: 4.4.1 es-module-lexer: 1.7.0 pathe: 2.0.3 - vite: 7.1.1(@types/node@24.7.1)(jiti@2.5.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.1.1(@types/node@24.7.2)(jiti@2.5.1)(tsx@4.20.3)(yaml@2.8.0) transitivePeerDependencies: - '@types/node' - jiti @@ -6807,7 +6807,7 @@ snapshots: - tsx - yaml - vite@7.1.1(@types/node@24.7.1)(jiti@2.5.1)(tsx@4.20.3)(yaml@2.8.0): + vite@7.1.1(@types/node@24.7.2)(jiti@2.5.1)(tsx@4.20.3)(yaml@2.8.0): dependencies: esbuild: 0.25.5 fdir: 6.4.6(picomatch@4.0.3) @@ -6816,17 +6816,17 @@ snapshots: rollup: 4.44.2 tinyglobby: 0.2.14 optionalDependencies: - '@types/node': 24.7.1 + '@types/node': 24.7.2 fsevents: 2.3.3 jiti: 2.5.1 tsx: 4.20.3 yaml: 2.8.0 - vitest@3.2.4(@types/node@24.7.1)(happy-dom@20.0.0)(jiti@2.5.1)(tsx@4.20.3)(yaml@2.8.0): + vitest@3.2.4(@types/node@24.7.2)(happy-dom@20.0.2)(jiti@2.5.1)(tsx@4.20.3)(yaml@2.8.0): dependencies: '@types/chai': 5.2.2 '@vitest/expect': 3.2.4 - '@vitest/mocker': 3.2.4(vite@7.1.1(@types/node@24.7.1)(jiti@2.5.1)(tsx@4.20.3)(yaml@2.8.0)) + '@vitest/mocker': 3.2.4(vite@7.1.1(@types/node@24.7.2)(jiti@2.5.1)(tsx@4.20.3)(yaml@2.8.0)) '@vitest/pretty-format': 3.2.4 '@vitest/runner': 3.2.4 '@vitest/snapshot': 3.2.4 @@ -6844,12 +6844,12 @@ snapshots: tinyglobby: 0.2.14 tinypool: 1.1.1 tinyrainbow: 2.0.0 - vite: 7.1.1(@types/node@24.7.1)(jiti@2.5.1)(tsx@4.20.3)(yaml@2.8.0) - vite-node: 3.2.4(@types/node@24.7.1)(jiti@2.5.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.1.1(@types/node@24.7.2)(jiti@2.5.1)(tsx@4.20.3)(yaml@2.8.0) + vite-node: 3.2.4(@types/node@24.7.2)(jiti@2.5.1)(tsx@4.20.3)(yaml@2.8.0) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 24.7.1 - happy-dom: 20.0.0 + '@types/node': 24.7.2 + happy-dom: 20.0.2 transitivePeerDependencies: - jiti - less From 0a82d3e4a9bd527367d899fab9fae66aece2abbb Mon Sep 17 00:00:00 2001 From: langfuse-bot Date: Mon, 20 Oct 2025 15:50:03 +0200 Subject: [PATCH 09/15] feat(api): update API spec from langfuse/langfuse f5e96a9 (#671) Co-authored-by: langfuse-bot --- packages/core/src/api/Client.ts | 6 + packages/core/src/api/api/resources/index.ts | 3 + .../api/resources/ingestion/client/Client.ts | 2 +- .../resources/observations/client/Client.ts | 5 + .../client/requests/GetObservationsRequest.ts | 26 ++ .../resources/opentelemetry/client/Client.ts | 251 ++++++++++++++++++ .../resources/opentelemetry/client/index.ts | 2 + .../client/requests/OtelTraceRequest.ts | 51 ++++ .../opentelemetry/client/requests/index.ts | 1 + .../api/api/resources/opentelemetry/index.ts | 2 + .../opentelemetry/types/OtelAttribute.ts | 15 ++ .../opentelemetry/types/OtelAttributeValue.ts | 17 ++ .../opentelemetry/types/OtelResource.ts | 13 + .../opentelemetry/types/OtelResourceSpan.ts | 15 ++ .../opentelemetry/types/OtelScope.ts | 17 ++ .../opentelemetry/types/OtelScopeSpan.ts | 15 ++ .../resources/opentelemetry/types/OtelSpan.ts | 29 ++ .../opentelemetry/types/OtelTraceResponse.ts | 8 + .../resources/opentelemetry/types/index.ts | 8 + .../api/resources/prompts/types/PromptMeta.ts | 4 + .../api/resources/prompts/types/PromptType.ts | 9 + .../api/api/resources/prompts/types/index.ts | 1 + 22 files changed, 499 insertions(+), 1 deletion(-) create mode 100644 packages/core/src/api/api/resources/opentelemetry/client/Client.ts create mode 100644 packages/core/src/api/api/resources/opentelemetry/client/index.ts create mode 100644 packages/core/src/api/api/resources/opentelemetry/client/requests/OtelTraceRequest.ts create mode 100644 packages/core/src/api/api/resources/opentelemetry/client/requests/index.ts create mode 100644 packages/core/src/api/api/resources/opentelemetry/index.ts create mode 100644 packages/core/src/api/api/resources/opentelemetry/types/OtelAttribute.ts create mode 100644 packages/core/src/api/api/resources/opentelemetry/types/OtelAttributeValue.ts create mode 100644 packages/core/src/api/api/resources/opentelemetry/types/OtelResource.ts create mode 100644 packages/core/src/api/api/resources/opentelemetry/types/OtelResourceSpan.ts create mode 100644 packages/core/src/api/api/resources/opentelemetry/types/OtelScope.ts create mode 100644 packages/core/src/api/api/resources/opentelemetry/types/OtelScopeSpan.ts create mode 100644 packages/core/src/api/api/resources/opentelemetry/types/OtelSpan.ts create mode 100644 packages/core/src/api/api/resources/opentelemetry/types/OtelTraceResponse.ts create mode 100644 packages/core/src/api/api/resources/opentelemetry/types/index.ts create mode 100644 packages/core/src/api/api/resources/prompts/types/PromptType.ts diff --git a/packages/core/src/api/Client.ts b/packages/core/src/api/Client.ts index 8d94e158..beab5fb3 100644 --- a/packages/core/src/api/Client.ts +++ b/packages/core/src/api/Client.ts @@ -17,6 +17,7 @@ import { Media } from "./api/resources/media/client/Client.js"; import { Metrics } from "./api/resources/metrics/client/Client.js"; import { Models } from "./api/resources/models/client/Client.js"; import { Observations } from "./api/resources/observations/client/Client.js"; +import { Opentelemetry } from "./api/resources/opentelemetry/client/Client.js"; import { Organizations } from "./api/resources/organizations/client/Client.js"; import { Projects } from "./api/resources/projects/client/Client.js"; import { PromptVersion } from "./api/resources/promptVersion/client/Client.js"; @@ -86,6 +87,7 @@ export class LangfuseAPIClient { protected _metrics: Metrics | undefined; protected _models: Models | undefined; protected _observations: Observations | undefined; + protected _opentelemetry: Opentelemetry | undefined; protected _organizations: Organizations | undefined; protected _projects: Projects | undefined; protected _promptVersion: PromptVersion | undefined; @@ -165,6 +167,10 @@ export class LangfuseAPIClient { return (this._observations ??= new Observations(this._options)); } + public get opentelemetry(): Opentelemetry { + return (this._opentelemetry ??= new Opentelemetry(this._options)); + } + public get organizations(): Organizations { return (this._organizations ??= new Organizations(this._options)); } diff --git a/packages/core/src/api/api/resources/index.ts b/packages/core/src/api/api/resources/index.ts index 5db0a2dc..194373d6 100644 --- a/packages/core/src/api/api/resources/index.ts +++ b/packages/core/src/api/api/resources/index.ts @@ -26,6 +26,8 @@ export * as models from "./models/index.js"; export * from "./models/types/index.js"; export * as observations from "./observations/index.js"; export * from "./observations/types/index.js"; +export * as opentelemetry from "./opentelemetry/index.js"; +export * from "./opentelemetry/types/index.js"; export * as organizations from "./organizations/index.js"; export * from "./organizations/types/index.js"; export * as projects from "./projects/index.js"; @@ -58,6 +60,7 @@ export * from "./llmConnections/client/requests/index.js"; export * from "./metrics/client/requests/index.js"; export * from "./models/client/requests/index.js"; export * from "./observations/client/requests/index.js"; +export * from "./opentelemetry/client/requests/index.js"; export * from "./projects/client/requests/index.js"; export * from "./promptVersion/client/requests/index.js"; export * from "./prompts/client/requests/index.js"; diff --git a/packages/core/src/api/api/resources/ingestion/client/Client.ts b/packages/core/src/api/api/resources/ingestion/client/Client.ts index 23345c16..60e3dcc1 100644 --- a/packages/core/src/api/api/resources/ingestion/client/Client.ts +++ b/packages/core/src/api/api/resources/ingestion/client/Client.ts @@ -63,7 +63,7 @@ export class Ingestion { /** * **Legacy endpoint for batch ingestion for Langfuse Observability.** * - * -> Please use the OpenTelemetry endpoint (`/api/public/otel`). Learn more: https://langfuse.com/integrations/native/opentelemetry + * -> Please use the OpenTelemetry endpoint (`/api/public/otel/v1/traces`). Learn more: https://langfuse.com/integrations/native/opentelemetry * * Within each batch, there can be multiple events. * Each event has a type, an id, a timestamp, metadata and a body. diff --git a/packages/core/src/api/api/resources/observations/client/Client.ts b/packages/core/src/api/api/resources/observations/client/Client.ts index db66a965..00b894d0 100644 --- a/packages/core/src/api/api/resources/observations/client/Client.ts +++ b/packages/core/src/api/api/resources/observations/client/Client.ts @@ -222,6 +222,7 @@ export class Observations { fromStartTime, toStartTime, version, + filter, } = request; const _queryParams: Record< string, @@ -279,6 +280,10 @@ export class Observations { _queryParams["version"] = version; } + if (filter != null) { + _queryParams["filter"] = filter; + } + let _headers: core.Fetcher.Args["headers"] = mergeHeaders( this._options?.headers, mergeOnlyDefinedHeaders({ diff --git a/packages/core/src/api/api/resources/observations/client/requests/GetObservationsRequest.ts b/packages/core/src/api/api/resources/observations/client/requests/GetObservationsRequest.ts index 53b5c415..dac4f3f9 100644 --- a/packages/core/src/api/api/resources/observations/client/requests/GetObservationsRequest.ts +++ b/packages/core/src/api/api/resources/observations/client/requests/GetObservationsRequest.ts @@ -28,4 +28,30 @@ export interface GetObservationsRequest { toStartTime?: string; /** Optional filter to only include observations with a certain version. */ version?: string; + /** + * JSON string containing an array of filter conditions. When provided, this takes precedence over legacy filter parameters (userId, name, sessionId, tags, version, release, environment, fromTimestamp, toTimestamp). + * Each filter condition has the following structure: + * ```json + * [ + * { + * "type": string, // Required. One of: "datetime", "string", "number", "stringOptions", "categoryOptions", "arrayOptions", "stringObject", "numberObject", "boolean", "null" + * "column": string, // Required. Column to filter on + * "operator": string, // Required. Operator based on type: + * // - datetime: ">", "<", ">=", "<=" + * // - string: "=", "contains", "does not contain", "starts with", "ends with" + * // - stringOptions: "any of", "none of" + * // - categoryOptions: "any of", "none of" + * // - arrayOptions: "any of", "none of", "all of" + * // - number: "=", ">", "<", ">=", "<=" + * // - stringObject: "=", "contains", "does not contain", "starts with", "ends with" + * // - numberObject: "=", ">", "<", ">=", "<=" + * // - boolean: "=", "<>" + * // - null: "is null", "is not null" + * "value": any, // Required (except for null type). Value to compare against. Type depends on filter type + * "key": string // Required only for stringObject, numberObject, and categoryOptions types when filtering on nested fields like metadata + * } + * ] + * ``` + */ + filter?: string; } diff --git a/packages/core/src/api/api/resources/opentelemetry/client/Client.ts b/packages/core/src/api/api/resources/opentelemetry/client/Client.ts new file mode 100644 index 00000000..7bcacead --- /dev/null +++ b/packages/core/src/api/api/resources/opentelemetry/client/Client.ts @@ -0,0 +1,251 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as core from "../../../../core/index.js"; +import * as LangfuseAPI from "../../../index.js"; +import { + mergeHeaders, + mergeOnlyDefinedHeaders, +} from "../../../../core/headers.js"; +import * as errors from "../../../../errors/index.js"; + +export declare namespace Opentelemetry { + export interface Options { + environment: core.Supplier; + /** Specify a custom URL to connect the client to. */ + baseUrl?: core.Supplier; + username?: core.Supplier; + password?: core.Supplier; + /** Override the X-Langfuse-Sdk-Name header */ + xLangfuseSdkName?: core.Supplier; + /** Override the X-Langfuse-Sdk-Version header */ + xLangfuseSdkVersion?: core.Supplier; + /** Override the X-Langfuse-Public-Key header */ + xLangfusePublicKey?: core.Supplier; + /** Additional headers to include in requests. */ + headers?: Record< + string, + string | core.Supplier | null | undefined + >; + } + + export interface RequestOptions { + /** The maximum time to wait for a response in seconds. */ + timeoutInSeconds?: number; + /** The number of times to retry the request. Defaults to 2. */ + maxRetries?: number; + /** A hook to abort the request. */ + abortSignal?: AbortSignal; + /** Override the X-Langfuse-Sdk-Name header */ + xLangfuseSdkName?: string | undefined; + /** Override the X-Langfuse-Sdk-Version header */ + xLangfuseSdkVersion?: string | undefined; + /** Override the X-Langfuse-Public-Key header */ + xLangfusePublicKey?: string | undefined; + /** Additional query string parameters to include in the request. */ + queryParams?: Record; + /** Additional headers to include in the request. */ + headers?: Record< + string, + string | core.Supplier | null | undefined + >; + } +} + +export class Opentelemetry { + protected readonly _options: Opentelemetry.Options; + + constructor(_options: Opentelemetry.Options) { + this._options = _options; + } + + /** + * **OpenTelemetry Traces Ingestion Endpoint** + * + * This endpoint implements the OTLP/HTTP specification for trace ingestion, providing native OpenTelemetry integration for Langfuse Observability. + * + * **Supported Formats:** + * - Binary Protobuf: `Content-Type: application/x-protobuf` + * - JSON Protobuf: `Content-Type: application/json` + * - Supports gzip compression via `Content-Encoding: gzip` header + * + * **Specification Compliance:** + * - Conforms to [OTLP/HTTP Trace Export](https://opentelemetry.io/docs/specs/otlp/#otlphttp) + * - Implements `ExportTraceServiceRequest` message format + * + * **Documentation:** + * - Integration guide: https://langfuse.com/integrations/native/opentelemetry + * - Data model: https://langfuse.com/docs/observability/data-model + * + * @param {LangfuseAPI.OtelTraceRequest} request + * @param {Opentelemetry.RequestOptions} requestOptions - Request-specific configuration. + * + * @throws {@link LangfuseAPI.Error} + * @throws {@link LangfuseAPI.UnauthorizedError} + * @throws {@link LangfuseAPI.AccessDeniedError} + * @throws {@link LangfuseAPI.MethodNotAllowedError} + * @throws {@link LangfuseAPI.NotFoundError} + * + * @example + * await client.opentelemetry.exportTraces({ + * resourceSpans: [{ + * resource: { + * attributes: [{ + * key: "service.name", + * value: { + * stringValue: "my-service" + * } + * }, { + * key: "service.version", + * value: { + * stringValue: "1.0.0" + * } + * }] + * }, + * scopeSpans: [{ + * scope: { + * name: "langfuse-sdk", + * version: "2.60.3" + * }, + * spans: [{ + * traceId: "0123456789abcdef0123456789abcdef", + * spanId: "0123456789abcdef", + * name: "my-operation", + * kind: 1, + * startTimeUnixNano: "1747872000000000000", + * endTimeUnixNano: "1747872001000000000", + * attributes: [{ + * key: "langfuse.observation.type", + * value: { + * stringValue: "generation" + * } + * }], + * status: {} + * }] + * }] + * }] + * }) + */ + public exportTraces( + request: LangfuseAPI.OtelTraceRequest, + requestOptions?: Opentelemetry.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise( + this.__exportTraces(request, requestOptions), + ); + } + + private async __exportTraces( + request: LangfuseAPI.OtelTraceRequest, + requestOptions?: Opentelemetry.RequestOptions, + ): Promise> { + let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + this._options?.headers, + mergeOnlyDefinedHeaders({ + Authorization: await this._getAuthorizationHeader(), + "X-Langfuse-Sdk-Name": + requestOptions?.xLangfuseSdkName ?? this._options?.xLangfuseSdkName, + "X-Langfuse-Sdk-Version": + requestOptions?.xLangfuseSdkVersion ?? + this._options?.xLangfuseSdkVersion, + "X-Langfuse-Public-Key": + requestOptions?.xLangfusePublicKey ?? + this._options?.xLangfusePublicKey, + }), + requestOptions?.headers, + ); + const _response = await core.fetcher({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)), + "/api/public/otel/v1/traces", + ), + method: "POST", + headers: _headers, + contentType: "application/json", + queryParameters: requestOptions?.queryParams, + requestType: "json", + body: request, + timeoutMs: + requestOptions?.timeoutInSeconds != null + ? requestOptions.timeoutInSeconds * 1000 + : 60000, + maxRetries: requestOptions?.maxRetries, + abortSignal: requestOptions?.abortSignal, + }); + if (_response.ok) { + return { + data: _response.body as LangfuseAPI.OtelTraceResponse, + rawResponse: _response.rawResponse, + }; + } + + if (_response.error.reason === "status-code") { + switch (_response.error.statusCode) { + case 400: + throw new LangfuseAPI.Error( + _response.error.body as unknown, + _response.rawResponse, + ); + case 401: + throw new LangfuseAPI.UnauthorizedError( + _response.error.body as unknown, + _response.rawResponse, + ); + case 403: + throw new LangfuseAPI.AccessDeniedError( + _response.error.body as unknown, + _response.rawResponse, + ); + case 405: + throw new LangfuseAPI.MethodNotAllowedError( + _response.error.body as unknown, + _response.rawResponse, + ); + case 404: + throw new LangfuseAPI.NotFoundError( + _response.error.body as unknown, + _response.rawResponse, + ); + default: + throw new errors.LangfuseAPIError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + } + + switch (_response.error.reason) { + case "non-json": + throw new errors.LangfuseAPIError({ + statusCode: _response.error.statusCode, + body: _response.error.rawBody, + rawResponse: _response.rawResponse, + }); + case "timeout": + throw new errors.LangfuseAPITimeoutError( + "Timeout exceeded when calling POST /api/public/otel/v1/traces.", + ); + case "unknown": + throw new errors.LangfuseAPIError({ + message: _response.error.errorMessage, + rawResponse: _response.rawResponse, + }); + } + } + + protected async _getAuthorizationHeader(): Promise { + const username = await core.Supplier.get(this._options.username); + const password = await core.Supplier.get(this._options.password); + if (username != null && password != null) { + return core.BasicAuth.toAuthorizationHeader({ + username: username, + password: password, + }); + } + + return undefined; + } +} diff --git a/packages/core/src/api/api/resources/opentelemetry/client/index.ts b/packages/core/src/api/api/resources/opentelemetry/client/index.ts new file mode 100644 index 00000000..82648c6f --- /dev/null +++ b/packages/core/src/api/api/resources/opentelemetry/client/index.ts @@ -0,0 +1,2 @@ +export {}; +export * from "./requests/index.js"; diff --git a/packages/core/src/api/api/resources/opentelemetry/client/requests/OtelTraceRequest.ts b/packages/core/src/api/api/resources/opentelemetry/client/requests/OtelTraceRequest.ts new file mode 100644 index 00000000..435d8892 --- /dev/null +++ b/packages/core/src/api/api/resources/opentelemetry/client/requests/OtelTraceRequest.ts @@ -0,0 +1,51 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as LangfuseAPI from "../../../../index.js"; + +/** + * @example + * { + * resourceSpans: [{ + * resource: { + * attributes: [{ + * key: "service.name", + * value: { + * stringValue: "my-service" + * } + * }, { + * key: "service.version", + * value: { + * stringValue: "1.0.0" + * } + * }] + * }, + * scopeSpans: [{ + * scope: { + * name: "langfuse-sdk", + * version: "2.60.3" + * }, + * spans: [{ + * traceId: "0123456789abcdef0123456789abcdef", + * spanId: "0123456789abcdef", + * name: "my-operation", + * kind: 1, + * startTimeUnixNano: "1747872000000000000", + * endTimeUnixNano: "1747872001000000000", + * attributes: [{ + * key: "langfuse.observation.type", + * value: { + * stringValue: "generation" + * } + * }], + * status: {} + * }] + * }] + * }] + * } + */ +export interface OtelTraceRequest { + /** Array of resource spans containing trace data as defined in the OTLP specification */ + resourceSpans: LangfuseAPI.OtelResourceSpan[]; +} diff --git a/packages/core/src/api/api/resources/opentelemetry/client/requests/index.ts b/packages/core/src/api/api/resources/opentelemetry/client/requests/index.ts new file mode 100644 index 00000000..6270b851 --- /dev/null +++ b/packages/core/src/api/api/resources/opentelemetry/client/requests/index.ts @@ -0,0 +1 @@ +export { type OtelTraceRequest } from "./OtelTraceRequest.js"; diff --git a/packages/core/src/api/api/resources/opentelemetry/index.ts b/packages/core/src/api/api/resources/opentelemetry/index.ts new file mode 100644 index 00000000..f095e147 --- /dev/null +++ b/packages/core/src/api/api/resources/opentelemetry/index.ts @@ -0,0 +1,2 @@ +export * from "./types/index.js"; +export * from "./client/index.js"; diff --git a/packages/core/src/api/api/resources/opentelemetry/types/OtelAttribute.ts b/packages/core/src/api/api/resources/opentelemetry/types/OtelAttribute.ts new file mode 100644 index 00000000..f66e426d --- /dev/null +++ b/packages/core/src/api/api/resources/opentelemetry/types/OtelAttribute.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as LangfuseAPI from "../../../index.js"; + +/** + * Key-value attribute pair for resources, scopes, or spans + */ +export interface OtelAttribute { + /** Attribute key (e.g., "service.name", "langfuse.observation.type") */ + key?: string; + /** Attribute value */ + value?: LangfuseAPI.OtelAttributeValue; +} diff --git a/packages/core/src/api/api/resources/opentelemetry/types/OtelAttributeValue.ts b/packages/core/src/api/api/resources/opentelemetry/types/OtelAttributeValue.ts new file mode 100644 index 00000000..7b50b488 --- /dev/null +++ b/packages/core/src/api/api/resources/opentelemetry/types/OtelAttributeValue.ts @@ -0,0 +1,17 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Attribute value wrapper supporting different value types + */ +export interface OtelAttributeValue { + /** String value */ + stringValue?: string; + /** Integer value */ + intValue?: number; + /** Double value */ + doubleValue?: number; + /** Boolean value */ + boolValue?: boolean; +} diff --git a/packages/core/src/api/api/resources/opentelemetry/types/OtelResource.ts b/packages/core/src/api/api/resources/opentelemetry/types/OtelResource.ts new file mode 100644 index 00000000..99eac371 --- /dev/null +++ b/packages/core/src/api/api/resources/opentelemetry/types/OtelResource.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as LangfuseAPI from "../../../index.js"; + +/** + * Resource attributes identifying the source of telemetry + */ +export interface OtelResource { + /** Resource attributes like service.name, service.version, etc. */ + attributes?: LangfuseAPI.OtelAttribute[]; +} diff --git a/packages/core/src/api/api/resources/opentelemetry/types/OtelResourceSpan.ts b/packages/core/src/api/api/resources/opentelemetry/types/OtelResourceSpan.ts new file mode 100644 index 00000000..2f1c20ac --- /dev/null +++ b/packages/core/src/api/api/resources/opentelemetry/types/OtelResourceSpan.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as LangfuseAPI from "../../../index.js"; + +/** + * Represents a collection of spans from a single resource as per OTLP specification + */ +export interface OtelResourceSpan { + /** Resource information */ + resource?: LangfuseAPI.OtelResource; + /** Array of scope spans */ + scopeSpans?: LangfuseAPI.OtelScopeSpan[]; +} diff --git a/packages/core/src/api/api/resources/opentelemetry/types/OtelScope.ts b/packages/core/src/api/api/resources/opentelemetry/types/OtelScope.ts new file mode 100644 index 00000000..0b3e91fb --- /dev/null +++ b/packages/core/src/api/api/resources/opentelemetry/types/OtelScope.ts @@ -0,0 +1,17 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as LangfuseAPI from "../../../index.js"; + +/** + * Instrumentation scope information + */ +export interface OtelScope { + /** Instrumentation scope name */ + name?: string; + /** Instrumentation scope version */ + version?: string; + /** Additional scope attributes */ + attributes?: LangfuseAPI.OtelAttribute[]; +} diff --git a/packages/core/src/api/api/resources/opentelemetry/types/OtelScopeSpan.ts b/packages/core/src/api/api/resources/opentelemetry/types/OtelScopeSpan.ts new file mode 100644 index 00000000..74661510 --- /dev/null +++ b/packages/core/src/api/api/resources/opentelemetry/types/OtelScopeSpan.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as LangfuseAPI from "../../../index.js"; + +/** + * Collection of spans from a single instrumentation scope + */ +export interface OtelScopeSpan { + /** Instrumentation scope information */ + scope?: LangfuseAPI.OtelScope; + /** Array of spans */ + spans?: LangfuseAPI.OtelSpan[]; +} diff --git a/packages/core/src/api/api/resources/opentelemetry/types/OtelSpan.ts b/packages/core/src/api/api/resources/opentelemetry/types/OtelSpan.ts new file mode 100644 index 00000000..890ecfe5 --- /dev/null +++ b/packages/core/src/api/api/resources/opentelemetry/types/OtelSpan.ts @@ -0,0 +1,29 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as LangfuseAPI from "../../../index.js"; + +/** + * Individual span representing a unit of work or operation + */ +export interface OtelSpan { + /** Trace ID (16 bytes, hex-encoded string in JSON or Buffer in binary) */ + traceId?: unknown; + /** Span ID (8 bytes, hex-encoded string in JSON or Buffer in binary) */ + spanId?: unknown; + /** Parent span ID if this is a child span */ + parentSpanId?: unknown; + /** Span name describing the operation */ + name?: string; + /** Span kind (1=INTERNAL, 2=SERVER, 3=CLIENT, 4=PRODUCER, 5=CONSUMER) */ + kind?: number; + /** Start time in nanoseconds since Unix epoch */ + startTimeUnixNano?: unknown; + /** End time in nanoseconds since Unix epoch */ + endTimeUnixNano?: unknown; + /** Span attributes including Langfuse-specific attributes (langfuse.observation.*) */ + attributes?: LangfuseAPI.OtelAttribute[]; + /** Span status object */ + status?: unknown; +} diff --git a/packages/core/src/api/api/resources/opentelemetry/types/OtelTraceResponse.ts b/packages/core/src/api/api/resources/opentelemetry/types/OtelTraceResponse.ts new file mode 100644 index 00000000..5f81f525 --- /dev/null +++ b/packages/core/src/api/api/resources/opentelemetry/types/OtelTraceResponse.ts @@ -0,0 +1,8 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Response from trace export request. Empty object indicates success. + */ +export interface OtelTraceResponse {} diff --git a/packages/core/src/api/api/resources/opentelemetry/types/index.ts b/packages/core/src/api/api/resources/opentelemetry/types/index.ts new file mode 100644 index 00000000..717942be --- /dev/null +++ b/packages/core/src/api/api/resources/opentelemetry/types/index.ts @@ -0,0 +1,8 @@ +export * from "./OtelResourceSpan.js"; +export * from "./OtelResource.js"; +export * from "./OtelScopeSpan.js"; +export * from "./OtelScope.js"; +export * from "./OtelSpan.js"; +export * from "./OtelAttribute.js"; +export * from "./OtelAttributeValue.js"; +export * from "./OtelTraceResponse.js"; diff --git a/packages/core/src/api/api/resources/prompts/types/PromptMeta.ts b/packages/core/src/api/api/resources/prompts/types/PromptMeta.ts index f8adacdd..a526da57 100644 --- a/packages/core/src/api/api/resources/prompts/types/PromptMeta.ts +++ b/packages/core/src/api/api/resources/prompts/types/PromptMeta.ts @@ -2,8 +2,12 @@ * This file was auto-generated by Fern from our API Definition. */ +import * as LangfuseAPI from "../../../index.js"; + export interface PromptMeta { name: string; + /** Indicates whether the prompt is a text or chat prompt. */ + type: LangfuseAPI.PromptType; versions: number[]; labels: string[]; tags: string[]; diff --git a/packages/core/src/api/api/resources/prompts/types/PromptType.ts b/packages/core/src/api/api/resources/prompts/types/PromptType.ts new file mode 100644 index 00000000..1b04f03c --- /dev/null +++ b/packages/core/src/api/api/resources/prompts/types/PromptType.ts @@ -0,0 +1,9 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export type PromptType = "chat" | "text"; +export const PromptType = { + Chat: "chat", + Text: "text", +} as const; diff --git a/packages/core/src/api/api/resources/prompts/types/index.ts b/packages/core/src/api/api/resources/prompts/types/index.ts index d3e83152..63b059c5 100644 --- a/packages/core/src/api/api/resources/prompts/types/index.ts +++ b/packages/core/src/api/api/resources/prompts/types/index.ts @@ -4,6 +4,7 @@ export * from "./CreatePromptRequest.js"; export * from "./CreateChatPromptRequest.js"; export * from "./CreateTextPromptRequest.js"; export * from "./Prompt.js"; +export * from "./PromptType.js"; export * from "./BasePrompt.js"; export * from "./ChatMessageWithPlaceholders.js"; export * from "./ChatMessage.js"; From ad0a4cd17776597938cbe0c01a4fe05f0bdfaac1 Mon Sep 17 00:00:00 2001 From: langfuse-bot Date: Tue, 21 Oct 2025 18:47:15 +0200 Subject: [PATCH 10/15] feat(api): update API spec from langfuse/langfuse 1ded68c (#674) Co-authored-by: langfuse-bot --- .../core/src/api/api/resources/metrics/client/Client.ts | 4 +++- .../core/src/api/api/resources/projects/client/Client.ts | 4 +++- .../projects/client/requests/CreateApiKeyRequest.ts | 8 +++++++- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/packages/core/src/api/api/resources/metrics/client/Client.ts b/packages/core/src/api/api/resources/metrics/client/Client.ts index fb8b8805..ee074ed4 100644 --- a/packages/core/src/api/api/resources/metrics/client/Client.ts +++ b/packages/core/src/api/api/resources/metrics/client/Client.ts @@ -61,7 +61,9 @@ export class Metrics { } /** - * Get metrics from the Langfuse project using a query object + * Get metrics from the Langfuse project using a query object. + * + * For more details, see the [Metrics API documentation](https://langfuse.com/docs/metrics/features/metrics-api). * * @param {LangfuseAPI.GetMetricsRequest} request * @param {Metrics.RequestOptions} requestOptions - Request-specific configuration. diff --git a/packages/core/src/api/api/resources/projects/client/Client.ts b/packages/core/src/api/api/resources/projects/client/Client.ts index f8396e72..912e9d8a 100644 --- a/packages/core/src/api/api/resources/projects/client/Client.ts +++ b/packages/core/src/api/api/resources/projects/client/Client.ts @@ -692,7 +692,9 @@ export class Projects { * * @example * await client.projects.createApiKey("projectId", { - * note: undefined + * note: undefined, + * publicKey: undefined, + * secretKey: undefined * }) */ public createApiKey( diff --git a/packages/core/src/api/api/resources/projects/client/requests/CreateApiKeyRequest.ts b/packages/core/src/api/api/resources/projects/client/requests/CreateApiKeyRequest.ts index 79cf50ab..b4e6ec46 100644 --- a/packages/core/src/api/api/resources/projects/client/requests/CreateApiKeyRequest.ts +++ b/packages/core/src/api/api/resources/projects/client/requests/CreateApiKeyRequest.ts @@ -5,10 +5,16 @@ /** * @example * { - * note: undefined + * note: undefined, + * publicKey: undefined, + * secretKey: undefined * } */ export interface CreateApiKeyRequest { /** Optional note for the API key */ note?: string; + /** Optional predefined public key. Must start with 'pk-lf-'. If provided, secretKey must also be provided. */ + publicKey?: string; + /** Optional predefined secret key. Must start with 'sk-lf-'. If provided, publicKey must also be provided. */ + secretKey?: string; } From a94c2e90899cb668f2c1ea49d304d3a3c03468f0 Mon Sep 17 00:00:00 2001 From: langfuse-bot Date: Wed, 22 Oct 2025 11:50:57 +0200 Subject: [PATCH 11/15] feat(api): update API spec from langfuse/langfuse 62d2959 (#675) Co-authored-by: langfuse-bot --- .../annotationQueues/types/AnnotationQueueObjectType.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/core/src/api/api/resources/annotationQueues/types/AnnotationQueueObjectType.ts b/packages/core/src/api/api/resources/annotationQueues/types/AnnotationQueueObjectType.ts index 50039abb..9503780e 100644 --- a/packages/core/src/api/api/resources/annotationQueues/types/AnnotationQueueObjectType.ts +++ b/packages/core/src/api/api/resources/annotationQueues/types/AnnotationQueueObjectType.ts @@ -2,8 +2,9 @@ * This file was auto-generated by Fern from our API Definition. */ -export type AnnotationQueueObjectType = "TRACE" | "OBSERVATION"; +export type AnnotationQueueObjectType = "TRACE" | "OBSERVATION" | "SESSION"; export const AnnotationQueueObjectType = { Trace: "TRACE", Observation: "OBSERVATION", + Session: "SESSION", } as const; From e5d1162916cf7535bcaaef7f8a69398cf5c2dc7d Mon Sep 17 00:00:00 2001 From: Hassieb Pakzad <68423100+hassiebp@users.noreply.github.com> Date: Wed, 22 Oct 2025 14:21:34 +0200 Subject: [PATCH 12/15] fix(experiments): set maxConcurrency default to 50 (#677) --- packages/client/src/experiment/ExperimentManager.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/client/src/experiment/ExperimentManager.ts b/packages/client/src/experiment/ExperimentManager.ts index 34feffc6..555ec365 100644 --- a/packages/client/src/experiment/ExperimentManager.ts +++ b/packages/client/src/experiment/ExperimentManager.ts @@ -107,7 +107,7 @@ export class ExperimentManager { * @param config.task - Function that processes each data item and returns output * @param config.evaluators - Optional array of functions to evaluate each item's output * @param config.runEvaluators - Optional array of functions to evaluate the entire run - * @param config.maxConcurrency - Maximum number of concurrent task executions (default: Infinity) + * @param config.maxConcurrency - Maximum number of concurrent task executions (default: 50) * * @returns Promise that resolves to experiment results including: * - runName: The experiment run name (either provided or generated) @@ -176,7 +176,7 @@ export class ExperimentManager { runName: providedRunName, description, metadata, - maxConcurrency: batchSize = Infinity, + maxConcurrency: batchSize = 50, runEvaluators, } = config; From bd6ce64807593bbe6d177c987f0a69c28bcab135 Mon Sep 17 00:00:00 2001 From: Hassieb Pakzad <68423100+hassiebp@users.noreply.github.com> Date: Wed, 22 Oct 2025 19:06:38 +0200 Subject: [PATCH 13/15] fix(ai-sdk): skip image processing for URLs (#678) --- packages/otel/src/MediaService.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/otel/src/MediaService.ts b/packages/otel/src/MediaService.ts index ca21c0e3..4e0a9971 100644 --- a/packages/otel/src/MediaService.ts +++ b/packages/otel/src/MediaService.ts @@ -126,7 +126,11 @@ export class MediaService { } //ImagePart - if (part["image"] != null && part["mediaType"] != null) { + if ( + part["image"] != null && + part["mediaType"] != null && + !part["image"].startsWith("http") // skip URLs + ) { base64Content = part["image"]; } From 174719ad42d4e617de70bb9a28adb098f5f85586 Mon Sep 17 00:00:00 2001 From: langfuse-bot Date: Thu, 23 Oct 2025 17:47:53 +0200 Subject: [PATCH 14/15] feat(api): update API spec from langfuse/langfuse 258cc51 (#679) Co-authored-by: langfuse-bot --- .../api/api/resources/comments/types/CreateCommentRequest.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core/src/api/api/resources/comments/types/CreateCommentRequest.ts b/packages/core/src/api/api/resources/comments/types/CreateCommentRequest.ts index a1e8e400..01b162d1 100644 --- a/packages/core/src/api/api/resources/comments/types/CreateCommentRequest.ts +++ b/packages/core/src/api/api/resources/comments/types/CreateCommentRequest.ts @@ -9,7 +9,7 @@ export interface CreateCommentRequest { objectType: string; /** The id of the object to attach the comment to. If this does not reference a valid existing object, an error will be thrown. */ objectId: string; - /** The content of the comment. May include markdown. Currently limited to 3000 characters. */ + /** The content of the comment. May include markdown. Currently limited to 5000 characters. */ content: string; /** The id of the user who created the comment. */ authorUserId?: string; From 3ee489d6d7afcab290dab45c3d1d33aa985a7281 Mon Sep 17 00:00:00 2001 From: Hassieb Pakzad <68423100+hassiebp@users.noreply.github.com> Date: Thu, 23 Oct 2025 17:52:35 +0200 Subject: [PATCH 15/15] chore: release v4.2.1 --- package.json | 2 +- packages/client/package.json | 2 +- packages/core/package.json | 2 +- packages/langchain/package.json | 2 +- packages/openai/package.json | 2 +- packages/otel/package.json | 2 +- packages/tracing/package.json | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index 6310f1fc..6f301081 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "langfuse-js", - "version": "4.2.0", + "version": "4.2.1", "description": "Langfuse JavaScript / TypeScript SDK", "author": "Langfuse", "license": "MIT", diff --git a/packages/client/package.json b/packages/client/package.json index 64f72437..488a35bd 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@langfuse/client", - "version": "4.2.0", + "version": "4.2.1", "description": "Langfuse API client for universal JavaScript environments", "type": "module", "sideEffects": false, diff --git a/packages/core/package.json b/packages/core/package.json index beb16b1c..67d1d878 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@langfuse/core", - "version": "4.2.0", + "version": "4.2.1", "description": "Core functions and utilities for Langfuse packages", "type": "module", "sideEffects": false, diff --git a/packages/langchain/package.json b/packages/langchain/package.json index d6f6e174..1134f44c 100644 --- a/packages/langchain/package.json +++ b/packages/langchain/package.json @@ -1,6 +1,6 @@ { "name": "@langfuse/langchain", - "version": "4.2.0", + "version": "4.2.1", "description": "Langfuse integration for LangChain", "type": "module", "sideEffects": false, diff --git a/packages/openai/package.json b/packages/openai/package.json index 5c035feb..a5b1f9b0 100644 --- a/packages/openai/package.json +++ b/packages/openai/package.json @@ -1,6 +1,6 @@ { "name": "@langfuse/openai", - "version": "4.2.0", + "version": "4.2.1", "description": "Langfuse integration for OpenAI SDK", "type": "module", "sideEffects": false, diff --git a/packages/otel/package.json b/packages/otel/package.json index 4279f5ea..99f7eb8e 100644 --- a/packages/otel/package.json +++ b/packages/otel/package.json @@ -1,6 +1,6 @@ { "name": "@langfuse/otel", - "version": "4.2.0", + "version": "4.2.1", "author": "Langfuse", "license": "MIT", "engines": { diff --git a/packages/tracing/package.json b/packages/tracing/package.json index 97c994c0..a790921a 100644 --- a/packages/tracing/package.json +++ b/packages/tracing/package.json @@ -1,6 +1,6 @@ { "name": "@langfuse/tracing", - "version": "4.2.0", + "version": "4.2.1", "author": "Langfuse", "license": "MIT", "engines": {