From 105f2ee45a81fa556326a715245c98eefa245b10 Mon Sep 17 00:00:00 2001 From: Corina <14900841+corinagum@users.noreply.github.com> Date: Mon, 6 Jan 2025 13:28:51 -0800 Subject: [PATCH] [JS] fix: Assistants Planner API version (#2256) ## Linked issues closes: #2233 ## Details - Fix error where api version was set to api_version instead of apiVersion - Update openai package version in all JS samples ## Attestation Checklist - [x] My code follows the style guidelines of this project - I have checked for/fixed spelling, linting, and other errors - I have commented my code for clarity - I have made corresponding changes to the documentation (updating the doc strings in the code is sufficient) - My changes generate no new warnings - I have added tests that validates my changes, and provides sufficient test coverage. I have tested with: - Local testing - E2E testing in Teams - New and existing unit tests pass locally with my changes --------- Co-authored-by: Corina Gum <> --- js/package.json | 2 +- js/packages/teams-ai/package.json | 2 +- .../teams-ai/src/planners/AssistantsPlanner.spec.ts | 2 +- js/packages/teams-ai/src/planners/AssistantsPlanner.ts | 4 ++-- js/samples/01.getting-started/a.echoBot/package.json | 2 +- .../a.messageExtensions.searchCommand/package.json | 2 +- .../b.adaptiveCards.typeAheadBot/package.json | 2 +- .../03.ai-concepts/a.twentyQuestions/package.json | 2 +- .../03.ai-concepts/b.AI-messageExtensions/package.json | 2 +- .../c.actionMapping-lightBot/package.json | 2 +- .../d.chainedActions-listBot/package.json | 2 +- .../03.ai-concepts/e.customModel-LLAMA/package.json | 2 +- .../03.ai-concepts/f.chatModeration/package.json | 2 +- js/samples/04.ai-apps/a.teamsChefBot/package.json | 2 +- js/samples/04.ai-apps/b.devOpsBot/package.json | 2 +- js/samples/04.ai-apps/c.vision-cardGazer/package.json | 2 +- .../04.ai-apps/d.assistants-mathBot/package.json | 2 +- js/samples/04.ai-apps/d.assistants-mathBot/src/bot.ts | 10 +++------- .../04.ai-apps/e.assistants-orderBot/package.json | 2 +- js/samples/04.ai-apps/e.assistants-orderBot/src/bot.ts | 7 +------ js/samples/04.ai-apps/f.whoBot/package.json | 2 +- .../04.ai-apps/g.datasource-azureAISearch/package.json | 2 +- .../04.ai-apps/h.datasource-azureOpenAI/package.json | 2 +- .../a.oauth-adaptiveCard/package.json | 2 +- js/samples/05.authentication/b.oauth-bot/package.json | 2 +- .../c.oauth-messageExtension/package.json | 2 +- .../05.authentication/d.teamsSSO-bot/package.json | 2 +- .../e.teamsSSO-messageExtension/package.json | 2 +- js/yarn.lock | 8 ++++---- 29 files changed, 35 insertions(+), 44 deletions(-) diff --git a/js/package.json b/js/package.json index 0b5300b1a..ce7c5efbd 100644 --- a/js/package.json +++ b/js/package.json @@ -21,7 +21,7 @@ }, "dependencies": { "botbuilder": "^4.23.1", - "openai": "4.68.2" + "openai": "4.77.3" }, "devDependencies": { "@azure/logger": "^1.1.4", diff --git a/js/packages/teams-ai/package.json b/js/packages/teams-ai/package.json index fb705f1bb..e27507327 100644 --- a/js/packages/teams-ai/package.json +++ b/js/packages/teams-ai/package.json @@ -26,7 +26,7 @@ "types": "./lib/index.d.ts", "peerDependencies": { "botbuilder": "^4.23.1", - "openai": "^4.68.2" + "openai": "4.77.3" }, "dependencies": { "@azure/msal-node": "^2.16.1", diff --git a/js/packages/teams-ai/src/planners/AssistantsPlanner.spec.ts b/js/packages/teams-ai/src/planners/AssistantsPlanner.spec.ts index 10b47ed1a..2f9da4e98 100644 --- a/js/packages/teams-ai/src/planners/AssistantsPlanner.spec.ts +++ b/js/packages/teams-ai/src/planners/AssistantsPlanner.spec.ts @@ -54,7 +54,7 @@ describe('AssistantsPlanner', () => { const options: AssistantsPlannerOptions = { apiKey: 'test-key', assistant_id: 'test-assistant-id', - api_version: '2024-02-15' + apiVersion: '2024-02-15' }; planner = new AssistantsPlanner(options); diff --git a/js/packages/teams-ai/src/planners/AssistantsPlanner.ts b/js/packages/teams-ai/src/planners/AssistantsPlanner.ts index 4ca211e87..1e6b4fb1a 100644 --- a/js/packages/teams-ai/src/planners/AssistantsPlanner.ts +++ b/js/packages/teams-ai/src/planners/AssistantsPlanner.ts @@ -72,7 +72,7 @@ export interface AssistantsPlannerOptions { /** * Optional. Version of the API being called. Default is '2024-02-15-preview'. */ - api_version?: string; + apiVersion?: string; } /** @@ -97,7 +97,7 @@ export class AssistantsPlanner implements this._options = { polling_interval: DEFAULT_POLLING_INTERVAL, assistants_state_variable: DEFAULT_ASSISTANTS_STATE_VARIABLE, - api_version: '2024-02-15-preview', + apiVersion: '2024-02-15-preview', ...options }; diff --git a/js/samples/01.getting-started/a.echoBot/package.json b/js/samples/01.getting-started/a.echoBot/package.json index a2dccddda..c5bd6667f 100644 --- a/js/samples/01.getting-started/a.echoBot/package.json +++ b/js/samples/01.getting-started/a.echoBot/package.json @@ -25,7 +25,7 @@ "@microsoft/teams-ai": "~1.7.1", "botbuilder": "^4.23.1", "dotenv": "^16.4.5", - "openai": "4.68.2", + "openai": "4.77.3", "replace": "~1.2.0", "restify": "~11.1.0" }, diff --git a/js/samples/02.teams-features/a.messageExtensions.searchCommand/package.json b/js/samples/02.teams-features/a.messageExtensions.searchCommand/package.json index 54524083e..5ea1cb451 100644 --- a/js/samples/02.teams-features/a.messageExtensions.searchCommand/package.json +++ b/js/samples/02.teams-features/a.messageExtensions.searchCommand/package.json @@ -23,7 +23,7 @@ "axios": "^1.7.5", "botbuilder": "^4.23.1", "dotenv": "^16.4.5", - "openai": "4.68.2", + "openai": "4.77.3", "replace": "~1.2.0", "restify": "~11.1.0" }, diff --git a/js/samples/02.teams-features/b.adaptiveCards.typeAheadBot/package.json b/js/samples/02.teams-features/b.adaptiveCards.typeAheadBot/package.json index 2c974e22d..f7ed791cd 100644 --- a/js/samples/02.teams-features/b.adaptiveCards.typeAheadBot/package.json +++ b/js/samples/02.teams-features/b.adaptiveCards.typeAheadBot/package.json @@ -26,7 +26,7 @@ "axios": "^1.7.5", "botbuilder": "^4.23.1", "dotenv": "^16.4.5", - "openai": "4.68.2", + "openai": "4.77.3", "replace": "~1.2.0", "restify": "~11.1.0" }, diff --git a/js/samples/03.ai-concepts/a.twentyQuestions/package.json b/js/samples/03.ai-concepts/a.twentyQuestions/package.json index 8da4cecab..22c95227c 100644 --- a/js/samples/03.ai-concepts/a.twentyQuestions/package.json +++ b/js/samples/03.ai-concepts/a.twentyQuestions/package.json @@ -24,7 +24,7 @@ "@microsoft/teams-ai": "~1.7.1", "botbuilder": "^4.23.1", "dotenv": "^16.4.5", - "openai": "4.68.2", + "openai": "4.77.3", "replace": "~1.2.0", "restify": "~11.1.0" }, diff --git a/js/samples/03.ai-concepts/b.AI-messageExtensions/package.json b/js/samples/03.ai-concepts/b.AI-messageExtensions/package.json index 3e16a9e21..b0d7a48a6 100644 --- a/js/samples/03.ai-concepts/b.AI-messageExtensions/package.json +++ b/js/samples/03.ai-concepts/b.AI-messageExtensions/package.json @@ -22,7 +22,7 @@ "botbuilder": "^4.23.1", "@microsoft/teams-ai": "~1.7.1", "dotenv": "^16.4.5", - "openai": "4.68.2", + "openai": "4.77.3", "replace": "~1.2.0", "restify": "~11.1.0" }, diff --git a/js/samples/03.ai-concepts/c.actionMapping-lightBot/package.json b/js/samples/03.ai-concepts/c.actionMapping-lightBot/package.json index 3e4f2dec9..a800f24de 100644 --- a/js/samples/03.ai-concepts/c.actionMapping-lightBot/package.json +++ b/js/samples/03.ai-concepts/c.actionMapping-lightBot/package.json @@ -24,7 +24,7 @@ "@microsoft/teams-ai": "~1.7.1", "botbuilder": "^4.23.1", "dotenv": "^16.4.5", - "openai": "4.68.2", + "openai": "4.77.3", "replace": "~1.2.0", "restify": "~11.1.0" }, diff --git a/js/samples/03.ai-concepts/d.chainedActions-listBot/package.json b/js/samples/03.ai-concepts/d.chainedActions-listBot/package.json index e15b02a7b..9dad98418 100644 --- a/js/samples/03.ai-concepts/d.chainedActions-listBot/package.json +++ b/js/samples/03.ai-concepts/d.chainedActions-listBot/package.json @@ -24,7 +24,7 @@ "@microsoft/teams-ai": "~1.7.1", "botbuilder": "^4.23.1", "dotenv": "^16.4.5", - "openai": "4.68.2", + "openai": "4.77.3", "replace": "~1.2.0", "restify": "~11.1.0" }, diff --git a/js/samples/03.ai-concepts/e.customModel-LLAMA/package.json b/js/samples/03.ai-concepts/e.customModel-LLAMA/package.json index 62744906c..33fe03a4e 100644 --- a/js/samples/03.ai-concepts/e.customModel-LLAMA/package.json +++ b/js/samples/03.ai-concepts/e.customModel-LLAMA/package.json @@ -24,7 +24,7 @@ "dependencies": { "botbuilder": "^4.23.1", "@microsoft/teams-ai": "~1.7.1", - "openai": "4.68.2", + "openai": "4.77.3", "dotenv": "^16.4.1", "replace": "~1.2.0", "restify": "~11.1.0" diff --git a/js/samples/03.ai-concepts/f.chatModeration/package.json b/js/samples/03.ai-concepts/f.chatModeration/package.json index 81f215745..d38ccb439 100644 --- a/js/samples/03.ai-concepts/f.chatModeration/package.json +++ b/js/samples/03.ai-concepts/f.chatModeration/package.json @@ -24,7 +24,7 @@ "botbuilder": "^4.23.1", "dotenv": "^16.4.5", "jsonwebtoken": "^9.0.2", - "openai": "4.68.2", + "openai": "4.77.3", "replace": "~1.2.0", "restify": "~11.1.0" }, diff --git a/js/samples/04.ai-apps/a.teamsChefBot/package.json b/js/samples/04.ai-apps/a.teamsChefBot/package.json index 432623e90..5a70b8cd0 100644 --- a/js/samples/04.ai-apps/a.teamsChefBot/package.json +++ b/js/samples/04.ai-apps/a.teamsChefBot/package.json @@ -26,7 +26,7 @@ "@microsoft/teams-js": "^2.31.0", "botbuilder": "^4.23.1", "dotenv": "^16.4.5", - "openai": "4.68.2", + "openai": "4.77.3", "replace": "~1.2.0", "restify": "~11.1.0", "vectra": "^0.9.0" diff --git a/js/samples/04.ai-apps/b.devOpsBot/package.json b/js/samples/04.ai-apps/b.devOpsBot/package.json index e974b2dd7..74a4df055 100644 --- a/js/samples/04.ai-apps/b.devOpsBot/package.json +++ b/js/samples/04.ai-apps/b.devOpsBot/package.json @@ -24,7 +24,7 @@ "dotenv": "^16.4.5", "replace": "~1.2.0", "restify": "~11.1.0", - "openai": "4.68.2" + "openai": "4.77.3" }, "devDependencies": { "@types/jsonwebtoken": "^9.0.6", diff --git a/js/samples/04.ai-apps/c.vision-cardGazer/package.json b/js/samples/04.ai-apps/c.vision-cardGazer/package.json index 7647f7669..be3d0e127 100644 --- a/js/samples/04.ai-apps/c.vision-cardGazer/package.json +++ b/js/samples/04.ai-apps/c.vision-cardGazer/package.json @@ -23,7 +23,7 @@ "@microsoft/teams-ai": "~1.7.1", "botbuilder": "^4.23.1", "dotenv": "^16.4.5", - "openai": "4.68.2", + "openai": "4.77.3", "replace": "~1.2.0", "restify": "~11.1.0" }, diff --git a/js/samples/04.ai-apps/d.assistants-mathBot/package.json b/js/samples/04.ai-apps/d.assistants-mathBot/package.json index 69280a74e..a50b600e3 100644 --- a/js/samples/04.ai-apps/d.assistants-mathBot/package.json +++ b/js/samples/04.ai-apps/d.assistants-mathBot/package.json @@ -24,7 +24,7 @@ "botbuilder": "^4.23.1", "dotenv": "^16.4.5", "jsonwebtoken": "^9.0.2", - "openai": "4.68.2", + "openai": "4.77.3", "replace": "~1.2.0", "restify": "~11.1.0" }, diff --git a/js/samples/04.ai-apps/d.assistants-mathBot/src/bot.ts b/js/samples/04.ai-apps/d.assistants-mathBot/src/bot.ts index 71bd1bf42..e404f77a6 100644 --- a/js/samples/04.ai-apps/d.assistants-mathBot/src/bot.ts +++ b/js/samples/04.ai-apps/d.assistants-mathBot/src/bot.ts @@ -28,7 +28,8 @@ if (!process.env.ASSISTANT_ID) { tools: [{ type: 'code_interpreter' }], model: 'gpt-4' }, - endpoint + endpoint ?? undefined, + endpoint ? { apiVersion: process.env.OPENAI_API_VERSION } : undefined ); console.log(`Created a new assistant with an ID of: ${assistant.id}`); @@ -41,7 +42,7 @@ const planner = new AssistantsPlanner({ apiKey: apiKey, endpoint: endpoint, assistant_id: process.env.ASSISTANT_ID!, - api_version: '2024-02-15-preview' + apiVersion: process.env.OPENAI_API_VERSION }); // Define storage and application @@ -60,8 +61,3 @@ app.message('/reset', async (context, state) => { state.deleteConversationState(); await context.sendActivity(`Ok lets start this over.`); }); - -app.ai.action(AI.HttpErrorActionName, async (context, state, data) => { - await context.sendActivity('An AI request failed. Please try again later.'); - return AI.StopCommandName; -}); diff --git a/js/samples/04.ai-apps/e.assistants-orderBot/package.json b/js/samples/04.ai-apps/e.assistants-orderBot/package.json index 454522b12..9b743545d 100644 --- a/js/samples/04.ai-apps/e.assistants-orderBot/package.json +++ b/js/samples/04.ai-apps/e.assistants-orderBot/package.json @@ -26,7 +26,7 @@ "botbuilder": "^4.23.1", "dotenv": "^16.4.5", "jsonwebtoken": "^9.0.2", - "openai": "4.68.2", + "openai": "4.77.3", "replace": "~1.2.0", "restify": "~11.1.0" }, diff --git a/js/samples/04.ai-apps/e.assistants-orderBot/src/bot.ts b/js/samples/04.ai-apps/e.assistants-orderBot/src/bot.ts index 0e818c22d..e7c306a12 100644 --- a/js/samples/04.ai-apps/e.assistants-orderBot/src/bot.ts +++ b/js/samples/04.ai-apps/e.assistants-orderBot/src/bot.ts @@ -62,7 +62,7 @@ const planner = new AssistantsPlanner({ apiKey: apiKey, endpoint: endpoint, assistant_id: process.env.ASSISTANT_ID ?? assistantId, - api_version: '2024-02-15-preview' + apiVersion: process.env.OPENAI_API_VERSION }); // Define storage and application @@ -87,8 +87,3 @@ app.ai.action('place_order', async (context: TurnContext, state: TurnStat await context.sendActivity(MessageFactory.attachment(CardFactory.adaptiveCard(card))); return `order placed`; }); - -app.ai.action(AI.HttpErrorActionName, async (context: TurnContext, state: TurnState, _data: unknown) => { - await context.sendActivity('An AI request failed. Please try again later.'); - return AI.StopCommandName; -}); diff --git a/js/samples/04.ai-apps/f.whoBot/package.json b/js/samples/04.ai-apps/f.whoBot/package.json index 45b334321..3beb07211 100644 --- a/js/samples/04.ai-apps/f.whoBot/package.json +++ b/js/samples/04.ai-apps/f.whoBot/package.json @@ -23,7 +23,7 @@ "botbuilder": "^4.23.1", "botbuilder-dialogs": "^4.23.1", "dotenv": "^16.4.5", - "openai": "4.68.2", + "openai": "4.77.3", "replace": "~1.2.0", "restify": "~11.1.0" }, diff --git a/js/samples/04.ai-apps/g.datasource-azureAISearch/package.json b/js/samples/04.ai-apps/g.datasource-azureAISearch/package.json index 0a3bb436d..9f546d509 100644 --- a/js/samples/04.ai-apps/g.datasource-azureAISearch/package.json +++ b/js/samples/04.ai-apps/g.datasource-azureAISearch/package.json @@ -32,7 +32,7 @@ "botbuilder": "^4.23.1", "debug": "^4.3.7", "dotenv": "^16.4.1", - "openai": "4.68.2", + "openai": "4.77.3", "replace": "~1.2.0", "restify": "~11.1.0", "vectra": "^0.9.0" diff --git a/js/samples/04.ai-apps/h.datasource-azureOpenAI/package.json b/js/samples/04.ai-apps/h.datasource-azureOpenAI/package.json index b8116aa88..c9a238b41 100644 --- a/js/samples/04.ai-apps/h.datasource-azureOpenAI/package.json +++ b/js/samples/04.ai-apps/h.datasource-azureOpenAI/package.json @@ -30,7 +30,7 @@ "@microsoft/teams-ai": "~1.7.1", "botbuilder": "^4.23.1", "dotenv": "^16.4.1", - "openai": "4.68.2", + "openai": "4.77.3", "replace": "~1.2.0", "restify": "~11.1.0", "vectra": "^0.9.0" diff --git a/js/samples/05.authentication/a.oauth-adaptiveCard/package.json b/js/samples/05.authentication/a.oauth-adaptiveCard/package.json index f20adac42..83140c8cb 100644 --- a/js/samples/05.authentication/a.oauth-adaptiveCard/package.json +++ b/js/samples/05.authentication/a.oauth-adaptiveCard/package.json @@ -23,7 +23,7 @@ "@microsoft/teams-ai": "~1.7.1", "botbuilder": "^4.23.1", "dotenv": "^16.4.5", - "openai": "4.68.2", + "openai": "4.77.3", "isomorphic-fetch": "^3.0.0", "replace": "~1.2.0", "restify": "~11.1.0" diff --git a/js/samples/05.authentication/b.oauth-bot/package.json b/js/samples/05.authentication/b.oauth-bot/package.json index c097fa744..20379586d 100644 --- a/js/samples/05.authentication/b.oauth-bot/package.json +++ b/js/samples/05.authentication/b.oauth-bot/package.json @@ -23,7 +23,7 @@ "botbuilder": "^4.23.1", "botbuilder-dialogs": "^4.23.1", "dotenv": "^16.4.5", - "openai": "4.68.2", + "openai": "4.77.3", "replace": "~1.2.0", "restify": "~11.1.0" }, diff --git a/js/samples/05.authentication/c.oauth-messageExtension/package.json b/js/samples/05.authentication/c.oauth-messageExtension/package.json index 67525e557..dbe21b5b4 100644 --- a/js/samples/05.authentication/c.oauth-messageExtension/package.json +++ b/js/samples/05.authentication/c.oauth-messageExtension/package.json @@ -24,7 +24,7 @@ "botbuilder": "^4.23.1", "dotenv": "^16.4.5", "isomorphic-fetch": "^3.0.0", - "openai": "4.68.2", + "openai": "4.77.3", "replace": "~1.2.0", "restify": "~11.1.0" }, diff --git a/js/samples/05.authentication/d.teamsSSO-bot/package.json b/js/samples/05.authentication/d.teamsSSO-bot/package.json index 429a4e126..7a8c6e796 100644 --- a/js/samples/05.authentication/d.teamsSSO-bot/package.json +++ b/js/samples/05.authentication/d.teamsSSO-bot/package.json @@ -23,7 +23,7 @@ "botbuilder": "^4.23.1", "botbuilder-dialogs": "^4.23.1", "dotenv": "^16.4.5", - "openai": "4.68.2", + "openai": "4.77.3", "replace": "~1.2.0", "restify": "~11.1.0", "shx": "^0.3.4" diff --git a/js/samples/05.authentication/e.teamsSSO-messageExtension/package.json b/js/samples/05.authentication/e.teamsSSO-messageExtension/package.json index 6a5e1a8b7..cc95686cf 100644 --- a/js/samples/05.authentication/e.teamsSSO-messageExtension/package.json +++ b/js/samples/05.authentication/e.teamsSSO-messageExtension/package.json @@ -25,7 +25,7 @@ "botbuilder-azure-blobs": "^4.23.1", "dotenv": "^16.4.5", "isomorphic-fetch": "^3.0.0", - "openai": "4.68.2", + "openai": "4.77.3", "replace": "~1.2.0", "restify": "~11.1.0", "shx": "^0.3.4" diff --git a/js/yarn.lock b/js/yarn.lock index ec404a125..5b0b96e03 100644 --- a/js/yarn.lock +++ b/js/yarn.lock @@ -6818,10 +6818,10 @@ openai@4.41.1: node-fetch "^2.6.7" web-streams-polyfill "^3.2.1" -openai@4.68.2: - version "4.68.2" - resolved "https://registry.yarnpkg.com/openai/-/openai-4.68.2.tgz#2443d23127c61dcc9a9356ff8ea5b21acf0ba60d" - integrity sha512-Ys3Jl9vkBUFtrFj4pgrF7rMte4JNekZoMgI6dWkkpOIwNUKGkc4I8jTqv86LB+TcoqkTPzV6DS269dPR9ILWsQ== +openai@4.77.3: + version "4.77.3" + resolved "https://registry.yarnpkg.com/openai/-/openai-4.77.3.tgz#10f6906f2f737a98b656b745a6b710e595ba2e4d" + integrity sha512-wLDy4+KWHz31HRFMW2+9KQuVuT2QWhs0z94w1Gm1h2Ut9vIHr9/rHZggbykZEfyiaJRVgw8ZS9K6AylDWzvPYw== dependencies: "@types/node" "^18.11.18" "@types/node-fetch" "^2.6.4"