1+ import {
2+ GoogleCalendarCreateTool ,
3+ GoogleCalendarViewTool ,
4+ } from "@langchain/community/tools/google_calendar" ;
15import { SearchApi } from "@langchain/community/tools/searchapi" ;
6+ import { ChatOpenAI , DallEAPIWrapper , OpenAI , OpenAIEmbeddings } from "@langchain/openai" ;
7+ import { Calculator } from "langchain/tools/calculator" ;
8+ import { WebBrowser } from "langchain/tools/webbrowser" ;
29import {
10+ DALLE_MODEL ,
11+ ENABLE_DALLE_TOOL ,
312 ENABLE_GOOGLE_CALENDAR ,
413 ENABLE_WEB_BROWSER_TOOL ,
514 GOOGLE_CALENDAR_CALENDAR_ID ,
@@ -9,19 +18,22 @@ import {
918 OPENROUTER_API_KEY ,
1019 SEARCH_API
1120} from "../constants" ;
12- import { WebBrowser } from "langchain/tools/webbrowser" ;
13- import { ChatOpenAI , OpenAI , OpenAIEmbeddings } from "@langchain/openai" ;
14- import {
15- GoogleCalendarCreateTool ,
16- GoogleCalendarViewTool ,
17- } from "@langchain/community/tools/google_calendar" ;
1821
1922const OPENROUTER_BASE_URL = "https://openrouter.ai" ;
2023
2124let googleCalendarCreateTool = null ;
2225let googleCalendarViewTool = null ;
2326let searchTool = null ;
2427let webBrowserTool = null ;
28+ let dalleTool = null ;
29+
30+ if ( ENABLE_DALLE_TOOL === "true" ) {
31+ dalleTool = new DallEAPIWrapper ( {
32+ n : 1 , // Default
33+ modelName : DALLE_MODEL , // Default
34+ openAIApiKey : OPENAI_API_KEY , // Default
35+ } ) ;
36+ }
2537
2638if ( ENABLE_WEB_BROWSER_TOOL === "true" ) {
2739 const model = new ChatOpenAI (
@@ -67,10 +79,14 @@ if (SEARCH_API !== '') {
6779 } ) ;
6880}
6981
82+ const calculatorTool = new Calculator ( )
83+
7084export const tools = [
7185 ...( searchTool ? [ searchTool ] : [ ] ) ,
7286 ...( webBrowserTool ? [ webBrowserTool ] : [ ] ) ,
7387 ...( googleCalendarCreateTool ? [ googleCalendarCreateTool ] : [ ] ) ,
7488 ...( googleCalendarViewTool ? [ googleCalendarViewTool ] : [ ] ) ,
89+ ...( dalleTool ? [ dalleTool ] : [ ] ) ,
90+ calculatorTool
7591] ;
7692export const toolNames = tools . map ( ( tool ) => tool . name ) ;
0 commit comments