From f7e3d9ab10e088133004fab8c519451ba706fba3 Mon Sep 17 00:00:00 2001 From: Brendan D Date: Mon, 10 Jun 2024 18:09:57 +0200 Subject: [PATCH] feat: upgrade dependencies --- package-lock.json | 320 +++++++++++++++++---------- package.json | 11 +- src/instrumentation/vercel-sdk.ts | 4 +- src/openai.ts | 13 +- tests/integration/vercel-sdk.test.ts | 3 +- 5 files changed, 221 insertions(+), 130 deletions(-) diff --git a/package-lock.json b/package-lock.json index 662305f..b980d03 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,7 +15,7 @@ "uuid": "^9.0.1" }, "devDependencies": { - "@ai-sdk/openai": "^0.0.9", + "@ai-sdk/openai": "^0.0.24", "@jest/types": "^29.6.3", "@trivago/prettier-plugin-sort-imports": "^4.2.0", "@types/jest": "^29.5.11", @@ -24,13 +24,14 @@ "@types/uuid": "^9.0.7", "@typescript-eslint/eslint-plugin": "^6.0.0", "@typescript-eslint/parser": "^6.0.0", - "ai": "^3.1.0", + "ai": "^3.1.31", "dotenv": "^16.3.1", "eslint": "^8.48.0", "husky": "^8.0.3", "jest": "^29.7.0", "lint-staged": "^13.3.0", "llamaindex": "^0.3.15", + "openai": "^4.42.0", "prettier": "^2.8.8", "ts-jest": "^29.1.1", "ts-node": "^10.9.2", @@ -42,11 +43,11 @@ "zod-to-json-schema": "^3.23.0" }, "peerDependencies": { - "@ai-sdk/openai": "^0.0.9", - "ai": "^3.1.0", + "@ai-sdk/openai": "^0.0.24", + "ai": "^3.1.31", "langchain": "^0.1.14", "llamaindex": "^0.3.15", - "openai": "~4.33.0", + "openai": "^4.42.0", "zod-to-json-schema": "^3.23.0" } }, @@ -60,30 +61,25 @@ } }, "node_modules/@ai-sdk/openai": { - "version": "0.0.9", - "resolved": "https://registry.npmjs.org/@ai-sdk/openai/-/openai-0.0.9.tgz", - "integrity": "sha512-SSZGtX4KFDXWYmQ9JuhVumo1XOx1JAdHybYy08iwVXuCud9xdjZjjxgZkNPytQK9gRxFsYDOw1h0V/WXO7XgfQ==", + "version": "0.0.24", + "resolved": "https://registry.npmjs.org/@ai-sdk/openai/-/openai-0.0.24.tgz", + "integrity": "sha512-uLqisEHe6Xp45KXnxdTnwdq8UBJwU345GUdoR4QD/yhLWnoJZf9YSltIyWxaHIcrm4acLCxD5xoy+4L9jwXbBQ==", "dev": true, "dependencies": { - "@ai-sdk/provider": "0.0.3", - "@ai-sdk/provider-utils": "0.0.5" + "@ai-sdk/provider": "0.0.10", + "@ai-sdk/provider-utils": "0.0.13" }, "engines": { "node": ">=18" }, "peerDependencies": { "zod": "^3.0.0" - }, - "peerDependenciesMeta": { - "zod": { - "optional": true - } } }, "node_modules/@ai-sdk/provider": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-0.0.3.tgz", - "integrity": "sha512-0B8P6VZpJ6F9yS9BpmJBYSqIaIfeRtL5tD5SP+qgR8y0pPwalIbRMUFiLz9YUT6g70MJsCLpm/2/fX3cfAYCJw==", + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-0.0.10.tgz", + "integrity": "sha512-NzkrtREQpHID1cTqY/C4CI30PVOaXWKYytDR2EcytmFgnP7Z6+CrGIA/YCnNhYAuUm6Nx+nGpRL/Hmyrv7NYzg==", "dev": true, "dependencies": { "json-schema": "0.4.0" @@ -93,12 +89,12 @@ } }, "node_modules/@ai-sdk/provider-utils": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-0.0.5.tgz", - "integrity": "sha512-VVy9eQS+vS2j6cqTEQ9htMHz2nW/HFAkDXLvNFPoi1pZkviknJZEzb+DZUna6Od+jBf/TVA0HZwYnyGDaeI9cQ==", + "version": "0.0.13", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-0.0.13.tgz", + "integrity": "sha512-cB2dPm9flj+yin5sjBLFcXdW8sZtAXLE/OLKgz9uHpHM55s7mnwZrDGfO6ot/ukHTxDDJunZLW7qSjgK/u0F1g==", "dev": true, "dependencies": { - "@ai-sdk/provider": "0.0.3", + "@ai-sdk/provider": "0.0.10", "eventsource-parser": "1.1.2", "nanoid": "3.3.6", "secure-json-parse": "2.7.0" @@ -115,6 +111,105 @@ } } }, + "node_modules/@ai-sdk/react": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@ai-sdk/react/-/react-0.0.1.tgz", + "integrity": "sha512-y6KXzxRR7vmAgDVnS/hnLPt3RztvWOisANBw47O1o1D2nDeUqTo8E/SNw2J8mzzlRInGaw40EREY8jEf9AcwWQ==", + "dev": true, + "dependencies": { + "@ai-sdk/provider-utils": "0.0.13", + "@ai-sdk/ui-utils": "0.0.1", + "swr": "2.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "react": "^18 || ^19" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + } + } + }, + "node_modules/@ai-sdk/solid": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@ai-sdk/solid/-/solid-0.0.1.tgz", + "integrity": "sha512-5WWdoqpemYW66rMZUYF4sbDtZfF96Vt8RtrzpLv+95ZUM1nY1elxAWpHCeOyYEjWJE5+eiKpUs6Jr5mP2/gz8Q==", + "dev": true, + "dependencies": { + "@ai-sdk/ui-utils": "0.0.1", + "solid-swr-store": "0.10.7", + "swr-store": "0.10.6" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "solid-js": "^1.7.7" + }, + "peerDependenciesMeta": { + "solid-js": { + "optional": true + } + } + }, + "node_modules/@ai-sdk/svelte": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@ai-sdk/svelte/-/svelte-0.0.1.tgz", + "integrity": "sha512-bpjTLKOwdcXjJzboq15etT1hdnRI1ErPZweWSsu1/LJlEFzD1M0qpZQwWHwPquYkzeppXOgsLrUZ+9D2RoC47Q==", + "dev": true, + "dependencies": { + "@ai-sdk/provider-utils": "0.0.13", + "@ai-sdk/ui-utils": "0.0.1", + "sswr": "2.1.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "svelte": "^3.0.0 || ^4.0.0" + }, + "peerDependenciesMeta": { + "svelte": { + "optional": true + } + } + }, + "node_modules/@ai-sdk/ui-utils": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@ai-sdk/ui-utils/-/ui-utils-0.0.1.tgz", + "integrity": "sha512-zOr1zIw/EH4fEQvDKsqYG3wY7GW32h8Wrx0lQpSAP59UCA4zgHBH6ogF5oj7+LUuWjT6be9S0G3l/tEPyRyxEw==", + "dev": true, + "dependencies": { + "@ai-sdk/provider-utils": "0.0.13" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@ai-sdk/vue": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@ai-sdk/vue/-/vue-0.0.1.tgz", + "integrity": "sha512-B3qAW22FYGy1ltobnF7LiPAmARTrCkH15qjw4WAXCnvRohsYOFTDACOBEsXRfa1OHmqWsUOYeNtE/oPhK3ybqw==", + "dev": true, + "dependencies": { + "@ai-sdk/ui-utils": "0.0.1", + "swrv": "1.0.4" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "vue": "^3.3.4" + }, + "peerDependenciesMeta": { + "vue": { + "optional": true + } + } + }, "node_modules/@ampproject/remapping": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", @@ -5972,14 +6067,14 @@ "dev": true }, "node_modules/@vue/compiler-core": { - "version": "3.4.26", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.26.tgz", - "integrity": "sha512-N9Vil6Hvw7NaiyFUFBPXrAyETIGlQ8KcFMkyk6hW1Cl6NvoqvP+Y8p1Eqvx+UdqsnrnI9+HMUEJegzia3mhXmQ==", + "version": "3.4.27", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.27.tgz", + "integrity": "sha512-E+RyqY24KnyDXsCuQrI+mlcdW3ALND6U7Gqa/+bVwbcpcR3BRRIckFoz7Qyd4TTlnugtwuI7YgjbvsLmxb+yvg==", "dev": true, "peer": true, "dependencies": { "@babel/parser": "^7.24.4", - "@vue/shared": "3.4.26", + "@vue/shared": "3.4.27", "entities": "^4.5.0", "estree-walker": "^2.0.2", "source-map-js": "^1.2.0" @@ -5993,28 +6088,28 @@ "peer": true }, "node_modules/@vue/compiler-dom": { - "version": "3.4.26", - "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.26.tgz", - "integrity": "sha512-4CWbR5vR9fMg23YqFOhr6t6WB1Fjt62d6xdFPyj8pxrYub7d+OgZaObMsoxaF9yBUHPMiPFK303v61PwAuGvZA==", + "version": "3.4.27", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.27.tgz", + "integrity": "sha512-kUTvochG/oVgE1w5ViSr3KUBh9X7CWirebA3bezTbB5ZKBQZwR2Mwj9uoSKRMFcz4gSMzzLXBPD6KpCLb9nvWw==", "dev": true, "peer": true, "dependencies": { - "@vue/compiler-core": "3.4.26", - "@vue/shared": "3.4.26" + "@vue/compiler-core": "3.4.27", + "@vue/shared": "3.4.27" } }, "node_modules/@vue/compiler-sfc": { - "version": "3.4.26", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.26.tgz", - "integrity": "sha512-It1dp+FAOCgluYSVYlDn5DtZBxk1NCiJJfu2mlQqa/b+k8GL6NG/3/zRbJnHdhV2VhxFghaDq5L4K+1dakW6cw==", + "version": "3.4.27", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.27.tgz", + "integrity": "sha512-nDwntUEADssW8e0rrmE0+OrONwmRlegDA1pD6QhVeXxjIytV03yDqTey9SBDiALsvAd5U4ZrEKbMyVXhX6mCGA==", "dev": true, "peer": true, "dependencies": { "@babel/parser": "^7.24.4", - "@vue/compiler-core": "3.4.26", - "@vue/compiler-dom": "3.4.26", - "@vue/compiler-ssr": "3.4.26", - "@vue/shared": "3.4.26", + "@vue/compiler-core": "3.4.27", + "@vue/compiler-dom": "3.4.27", + "@vue/compiler-ssr": "3.4.27", + "@vue/shared": "3.4.27", "estree-walker": "^2.0.2", "magic-string": "^0.30.10", "postcss": "^8.4.38", @@ -6029,67 +6124,67 @@ "peer": true }, "node_modules/@vue/compiler-ssr": { - "version": "3.4.26", - "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.26.tgz", - "integrity": "sha512-FNwLfk7LlEPRY/g+nw2VqiDKcnDTVdCfBREekF8X74cPLiWHUX6oldktf/Vx28yh4STNy7t+/yuLoMBBF7YDiQ==", + "version": "3.4.27", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.27.tgz", + "integrity": "sha512-CVRzSJIltzMG5FcidsW0jKNQnNRYC8bT21VegyMMtHmhW3UOI7knmUehzswXLrExDLE6lQCZdrhD4ogI7c+vuw==", "dev": true, "peer": true, "dependencies": { - "@vue/compiler-dom": "3.4.26", - "@vue/shared": "3.4.26" + "@vue/compiler-dom": "3.4.27", + "@vue/shared": "3.4.27" } }, "node_modules/@vue/reactivity": { - "version": "3.4.26", - "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.4.26.tgz", - "integrity": "sha512-E/ynEAu/pw0yotJeLdvZEsp5Olmxt+9/WqzvKff0gE67tw73gmbx6tRkiagE/eH0UCubzSlGRebCbidB1CpqZQ==", + "version": "3.4.27", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.4.27.tgz", + "integrity": "sha512-kK0g4NknW6JX2yySLpsm2jlunZJl2/RJGZ0H9ddHdfBVHcNzxmQ0sS0b09ipmBoQpY8JM2KmUw+a6sO8Zo+zIA==", "dev": true, "peer": true, "dependencies": { - "@vue/shared": "3.4.26" + "@vue/shared": "3.4.27" } }, "node_modules/@vue/runtime-core": { - "version": "3.4.26", - "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.4.26.tgz", - "integrity": "sha512-AFJDLpZvhT4ujUgZSIL9pdNcO23qVFh7zWCsNdGQBw8ecLNxOOnPcK9wTTIYCmBJnuPHpukOwo62a2PPivihqw==", + "version": "3.4.27", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.4.27.tgz", + "integrity": "sha512-7aYA9GEbOOdviqVvcuweTLe5Za4qBZkUY7SvET6vE8kyypxVgaT1ixHLg4urtOlrApdgcdgHoTZCUuTGap/5WA==", "dev": true, "peer": true, "dependencies": { - "@vue/reactivity": "3.4.26", - "@vue/shared": "3.4.26" + "@vue/reactivity": "3.4.27", + "@vue/shared": "3.4.27" } }, "node_modules/@vue/runtime-dom": { - "version": "3.4.26", - "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.4.26.tgz", - "integrity": "sha512-UftYA2hUXR2UOZD/Fc3IndZuCOOJgFxJsWOxDkhfVcwLbsfh2CdXE2tG4jWxBZuDAs9J9PzRTUFt1PgydEtItw==", + "version": "3.4.27", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.4.27.tgz", + "integrity": "sha512-ScOmP70/3NPM+TW9hvVAz6VWWtZJqkbdf7w6ySsws+EsqtHvkhxaWLecrTorFxsawelM5Ys9FnDEMt6BPBDS0Q==", "dev": true, "peer": true, "dependencies": { - "@vue/runtime-core": "3.4.26", - "@vue/shared": "3.4.26", + "@vue/runtime-core": "3.4.27", + "@vue/shared": "3.4.27", "csstype": "^3.1.3" } }, "node_modules/@vue/server-renderer": { - "version": "3.4.26", - "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.4.26.tgz", - "integrity": "sha512-xoGAqSjYDPGAeRWxeoYwqJFD/gw7mpgzOvSxEmjWaFO2rE6qpbD1PC172YRpvKhrihkyHJkNDADFXTfCyVGhKw==", + "version": "3.4.27", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.4.27.tgz", + "integrity": "sha512-dlAMEuvmeA3rJsOMJ2J1kXU7o7pOxgsNHVr9K8hB3ImIkSuBrIdy0vF66h8gf8Tuinf1TK3mPAz2+2sqyf3KzA==", "dev": true, "peer": true, "dependencies": { - "@vue/compiler-ssr": "3.4.26", - "@vue/shared": "3.4.26" + "@vue/compiler-ssr": "3.4.27", + "@vue/shared": "3.4.27" }, "peerDependencies": { - "vue": "3.4.26" + "vue": "3.4.27" } }, "node_modules/@vue/shared": { - "version": "3.4.26", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.26.tgz", - "integrity": "sha512-Fg4zwR0GNnjzodMt3KRy2AWGMKQXByl56+4HjN87soxLNU9P5xcJkstAlIeEF3cU6UYOzmJl1tV0dVPGIljCnQ==", + "version": "3.4.27", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.27.tgz", + "integrity": "sha512-DL3NmY2OFlqmYYrzp39yi3LDkKxa5vZVwxWdQ3rG0ekuWscHraeIbnI8t+aZK7qhYqEqWKTUdijadunb9pnrgA==", "dev": true, "peer": true }, @@ -6207,48 +6302,45 @@ } }, "node_modules/ai": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/ai/-/ai-3.1.1.tgz", - "integrity": "sha512-pJZc6q7SLd2/NenxN62iagMw9HHQ4Q8FyKqkrZUJntupRTHHgN3fL7exzJU/ICHDAbtn/EcJXOau6P61QgUtKQ==", - "dev": true, - "dependencies": { - "@ai-sdk/provider": "0.0.3", - "@ai-sdk/provider-utils": "0.0.5", + "version": "3.1.31", + "resolved": "https://registry.npmjs.org/ai/-/ai-3.1.31.tgz", + "integrity": "sha512-fnQz8qlBuJuImUZCydbn0bTFCZFRwHeVQI+wBbBkR5S/FrF09snt0YrgiWzDc0il4u1rerzVPEUiasOdoGaoWA==", + "dev": true, + "dependencies": { + "@ai-sdk/provider": "0.0.10", + "@ai-sdk/provider-utils": "0.0.13", + "@ai-sdk/react": "0.0.1", + "@ai-sdk/solid": "0.0.1", + "@ai-sdk/svelte": "0.0.1", + "@ai-sdk/ui-utils": "0.0.1", + "@ai-sdk/vue": "0.0.1", "eventsource-parser": "1.1.2", "json-schema": "0.4.0", "jsondiffpatch": "0.6.0", "nanoid": "3.3.6", "secure-json-parse": "2.7.0", - "solid-swr-store": "0.10.7", - "sswr": "2.0.0", - "swr": "2.2.0", - "swr-store": "0.10.6", - "swrv": "1.0.4", + "sswr": "2.1.0", "zod-to-json-schema": "3.22.5" }, "engines": { "node": ">=18" }, "peerDependencies": { - "react": "^18.2.0", - "solid-js": "^1.7.7", + "openai": "^4.42.0", + "react": "^18 || ^19", "svelte": "^3.0.0 || ^4.0.0", - "vue": "^3.3.4", "zod": "^3.0.0" }, "peerDependenciesMeta": { - "react": { + "openai": { "optional": true }, - "solid-js": { + "react": { "optional": true }, "svelte": { "optional": true }, - "vue": { - "optional": true - }, "zod": { "optional": true } @@ -10753,9 +10845,9 @@ } }, "node_modules/llamaindex/node_modules/openai": { - "version": "4.48.2", - "resolved": "https://registry.npmjs.org/openai/-/openai-4.48.2.tgz", - "integrity": "sha512-3z4JEipIzwFtLvDC3KigZEWH4ALWDHPr6XCq/xYi8O1AQ5lAtu6Ib6FO8KeQ8RdjwfIqHWOWk/zopW5g780s/w==", + "version": "4.49.1", + "resolved": "https://registry.npmjs.org/openai/-/openai-4.49.1.tgz", + "integrity": "sha512-bsFSNhhTNon+g6r4UYPKGLi+PlfP1G9TJGSkZS5nZx+PTwW2YUTlfxXxpOKrPab5auIXJdlYpC/g/wkHGR1xug==", "dev": true, "dependencies": { "@types/node": "^18.11.18", @@ -11701,10 +11793,9 @@ "devOptional": true }, "node_modules/openai": { - "version": "4.33.1", - "resolved": "https://registry.npmjs.org/openai/-/openai-4.33.1.tgz", - "integrity": "sha512-0DH572aSxGTT1JPOXgJQ9mjiuSPg/7scPot8hLc5I1mfQxPxLXTZWJpWerKaIWOuPkR2nrB0SamGDEehH8RuWA==", - "peer": true, + "version": "4.42.0", + "resolved": "https://registry.npmjs.org/openai/-/openai-4.42.0.tgz", + "integrity": "sha512-xbiQQ2YNqdkE6cHqeWKa7lsAvdYfgp84XiNFOVkAMa6+9KpmOL4hCWCRR6e6I/clpaens/T9XeLVtyC5StXoRw==", "dependencies": { "@types/node": "^18.11.18", "@types/node-fetch": "^2.6.4", @@ -11723,7 +11814,6 @@ "version": "18.19.31", "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.31.tgz", "integrity": "sha512-ArgCD39YpyyrtFKIqMDvjz79jto5fcI/SVUs2HwB+f0dAzq68yqOdyaSivLiLugSziTpNXLQrVb7RZFmdZzbhA==", - "peer": true, "dependencies": { "undici-types": "~5.26.4" } @@ -13098,9 +13188,9 @@ "devOptional": true }, "node_modules/seroval": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/seroval/-/seroval-1.0.5.tgz", - "integrity": "sha512-TM+Z11tHHvQVQKeNlOUonOWnsNM+2IBwZ4vwoi4j3zKzIpc5IDw8WPwCfcc8F17wy6cBcJGbZbFOR0UCuTZHQA==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/seroval/-/seroval-1.0.7.tgz", + "integrity": "sha512-n6ZMQX5q0Vn19Zq7CIKNIo7E75gPkGCFUEqDpa8jgwpYr/vScjqnQ6H09t1uIiZ0ZSK0ypEGvrYK2bhBGWsGdw==", "dev": true, "peer": true, "engines": { @@ -13108,9 +13198,9 @@ } }, "node_modules/seroval-plugins": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/seroval-plugins/-/seroval-plugins-1.0.5.tgz", - "integrity": "sha512-8+pDC1vOedPXjKG7oz8o+iiHrtF2WswaMQJ7CKFpccvSYfrzmvKY9zOJWCg+881722wIHfwkdnRmiiDm9ym+zQ==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/seroval-plugins/-/seroval-plugins-1.0.7.tgz", + "integrity": "sha512-GO7TkWvodGp6buMEX9p7tNyIkbwlyuAWbI6G9Ec5bhcm7mQdu3JOK1IXbEUwb3FVzSc363GraG/wLW23NSavIw==", "dev": true, "peer": true, "engines": { @@ -13414,15 +13504,15 @@ "devOptional": true }, "node_modules/sswr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/sswr/-/sswr-2.0.0.tgz", - "integrity": "sha512-mV0kkeBHcjcb0M5NqKtKVg/uTIYNlIIniyDfSGrSfxpEdM9C365jK0z55pl9K0xAkNTJi2OAOVFQpgMPUk+V0w==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/sswr/-/sswr-2.1.0.tgz", + "integrity": "sha512-Cqc355SYlTAaUt8iDPaC/4DPPXK925PePLMxyBKuWd5kKc5mwsG3nT9+Mq2tyguL5s7b4Jg+IRMpTRsNTAfpSQ==", "dev": true, "dependencies": { "swrev": "^4.0.0" }, "peerDependencies": { - "svelte": "^4.0.0" + "svelte": "^4.0.0 || ^5.0.0-next.0" } }, "node_modules/stack-trace": { @@ -13768,9 +13858,9 @@ } }, "node_modules/svelte": { - "version": "4.2.15", - "resolved": "https://registry.npmjs.org/svelte/-/svelte-4.2.15.tgz", - "integrity": "sha512-j9KJSccHgLeRERPlhMKrCXpk2TqL2m5Z+k+OBTQhZOhIdCCd3WfqV+ylPWeipEwq17P/ekiSFWwrVQv93i3bsg==", + "version": "4.2.18", + "resolved": "https://registry.npmjs.org/svelte/-/svelte-4.2.18.tgz", + "integrity": "sha512-d0FdzYIiAePqRJEb90WlJDkjUEx42xhivxN8muUBmfZnP+tzUgz12DJ2hRJi8sIHCME7jeK1PTMgKPSfTd8JrA==", "dev": true, "peer": true, "dependencies": { @@ -14531,17 +14621,17 @@ "dev": true }, "node_modules/vue": { - "version": "3.4.26", - "resolved": "https://registry.npmjs.org/vue/-/vue-3.4.26.tgz", - "integrity": "sha512-bUIq/p+VB+0xrJubaemrfhk1/FiW9iX+pDV+62I/XJ6EkspAO9/DXEjbDFoe8pIfOZBqfk45i9BMc41ptP/uRg==", + "version": "3.4.27", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.4.27.tgz", + "integrity": "sha512-8s/56uK6r01r1icG/aEOHqyMVxd1bkYcSe9j8HcKtr/xTOFWvnzIVTehNW+5Yt89f+DLBe4A569pnZLS5HzAMA==", "dev": true, "peer": true, "dependencies": { - "@vue/compiler-dom": "3.4.26", - "@vue/compiler-sfc": "3.4.26", - "@vue/runtime-dom": "3.4.26", - "@vue/server-renderer": "3.4.26", - "@vue/shared": "3.4.26" + "@vue/compiler-dom": "3.4.27", + "@vue/compiler-sfc": "3.4.27", + "@vue/runtime-dom": "3.4.27", + "@vue/server-renderer": "3.4.27", + "@vue/shared": "3.4.27" }, "peerDependencies": { "typescript": "*" diff --git a/package.json b/package.json index 44b0985..865b7d2 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,7 @@ "package.json" ], "devDependencies": { - "@ai-sdk/openai": "^0.0.9", + "@ai-sdk/openai": "^0.0.24", "@jest/types": "^29.6.3", "@trivago/prettier-plugin-sort-imports": "^4.2.0", "@types/jest": "^29.5.11", @@ -33,13 +33,14 @@ "@types/uuid": "^9.0.7", "@typescript-eslint/eslint-plugin": "^6.0.0", "@typescript-eslint/parser": "^6.0.0", - "ai": "^3.1.0", + "ai": "^3.1.31", "dotenv": "^16.3.1", "eslint": "^8.48.0", "husky": "^8.0.3", "jest": "^29.7.0", "lint-staged": "^13.3.0", "llamaindex": "^0.3.15", + "openai": "^4.42.0", "prettier": "^2.8.8", "ts-jest": "^29.1.1", "ts-node": "^10.9.2", @@ -57,11 +58,11 @@ "uuid": "^9.0.1" }, "peerDependencies": { - "@ai-sdk/openai": "^0.0.9", - "ai": "^3.1.0", + "@ai-sdk/openai": "^0.0.24", + "ai": "^3.1.31", "langchain": "^0.1.14", "llamaindex": "^0.3.15", - "openai": "~4.33.0", + "openai": "^4.42.0", "zod-to-json-schema": "^3.23.0" } } diff --git a/src/instrumentation/vercel-sdk.ts b/src/instrumentation/vercel-sdk.ts index c4dbcfb..58d53bb 100644 --- a/src/instrumentation/vercel-sdk.ts +++ b/src/instrumentation/vercel-sdk.ts @@ -1,7 +1,7 @@ import type { CoreTool, LanguageModel, - ObjectStreamPartInput, + ObjectStreamPart, TextStreamPart, generateObject, generateText, @@ -30,7 +30,7 @@ type GenerateFn = typeof generateObject | typeof generateText; type StreamFn = typeof streamObject | typeof streamText; type AllVercelFn = GenerateFn | StreamFn; -type OriginalStreamPart = string | ObjectStreamPartInput | TextStreamPart; +type OriginalStreamPart = string | ObjectStreamPart | TextStreamPart; const extractMessages = ( options: Options diff --git a/src/openai.ts b/src/openai.ts index 493af51..5f2ca19 100644 --- a/src/openai.ts +++ b/src/openai.ts @@ -1,8 +1,8 @@ -import OpenAI from 'openai'; -import { Assistant } from 'openai/resources/beta/assistants/assistants'; -import { Message } from 'openai/resources/beta/threads/messages/messages'; -import { Run } from 'openai/resources/beta/threads/runs/runs'; -import { +import type OpenAI from 'openai'; +import type { Assistant } from 'openai/resources/beta/assistants'; +import type { Message } from 'openai/resources/beta/threads/messages'; +import type { Run } from 'openai/resources/beta/threads/runs/runs'; +import type { RunStep, ToolCallsStepDetails } from 'openai/resources/beta/threads/runs/steps'; @@ -108,6 +108,7 @@ class OpenAIAssistantSyncer { : null; const toolCall = (runStep.step_details as ToolCallsStepDetails) .tool_calls[0]; + // @ts-expect-error "retrieval" is not in the type const type = toolCall.type === 'retrieval' ? 'retrieval' : 'tool'; let input = {}; let output = {}; @@ -128,7 +129,7 @@ class OpenAIAssistantSyncer { } else if ('retrieval' in toolCall) { name = 'Retrieval'; input = toolCall.retrieval || {}; - } else if ('arguments' in toolCall) { + } else if ('function' in toolCall) { name = toolCall.function.name; input = JSON.parse(toolCall.function.arguments); output = { content: toolCall.function.output }; diff --git a/tests/integration/vercel-sdk.test.ts b/tests/integration/vercel-sdk.test.ts index 16d6375..bc604b3 100644 --- a/tests/integration/vercel-sdk.test.ts +++ b/tests/integration/vercel-sdk.test.ts @@ -1,5 +1,6 @@ import { openai } from '@ai-sdk/openai'; import { generateObject, generateText, streamObject, streamText } from 'ai'; +import 'dotenv/config'; import { z } from 'zod'; import { LiteralClient } from '../../src'; @@ -119,8 +120,6 @@ describe('Vercel SDK Instrumentation', () => { prompt: 'Generate a carrot cake recipe.' }); - console.log({ result }); - expect(result.object).toBeTruthy(); expect(spy).toHaveBeenCalledWith(