Tools For SWE Kit
File Tool
Open file
Opens a file in the editor based on the provided file path, If line_number is provided, the window will be move to include that line
1 from langchain.agents import create_openai_functions_agent, AgentExecutor 2 from langchain import hub 3 from langchain_openai import ChatOpenAI 4 from composio_langchain import ComposioToolSet, Action, App 5 6 llm = ChatOpenAI() 7 prompt = hub.pull("hwchase17/openai-functions-agent") 8 9 composio_toolset = ComposioToolSet() 10 tools = composio_toolset.get_tools(actions=['FILETOOL_OPEN_FILE']) 11 12 agent = create_openai_functions_agent(llm, tools, prompt) 13 agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True) 14 15 task = "your task description here" 16 result = agent_executor.invoke({"input": task}) 17 print(result)
Rename a file
Renames a file based on the provided file path
1 from langchain.agents import create_openai_functions_agent, AgentExecutor 2 from langchain import hub 3 from langchain_openai import ChatOpenAI 4 from composio_langchain import ComposioToolSet, Action, App 5 6 llm = ChatOpenAI() 7 prompt = hub.pull("hwchase17/openai-functions-agent") 8 9 composio_toolset = ComposioToolSet(api_key="") 10 tools = composio_toolset.get_tools(actions=['FILETOOL_RENAME_FILE']) 11 12 agent = create_openai_functions_agent(llm, tools, prompt) 13 agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True) 14 15 task = "your task description here" 16 result = agent_executor.invoke({"input": task}) 17 print(result)
Edit a file
Use this tools to edit a file on specific line numbers
1 from langchain.agents import create_openai_functions_agent, AgentExecutor 2 from langchain import hub 3 from langchain_openai import ChatOpenAI 4 from composio_langchain import ComposioToolSet, Action, App 5 6 llm = ChatOpenAI() 7 prompt = hub.pull("hwchase17/openai-functions-agent") 8 9 composio_toolset = ComposioToolSet(api_key="") 10 tools = composio_toolset.get_tools(actions=['FILETOOL_EDIT_FILE']) 11 12 agent = create_openai_functions_agent(llm, tools, prompt) 13 agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True) 14 15 task = "your task description here" 16 result = agent_executor.invoke({"input": task}) 17 print(result)
Create file
Creates a new file or directory within a shell session
1 from langchain.agents import create_openai_functions_agent, AgentExecutor 2 from langchain import hub 3 from langchain_openai import ChatOpenAI 4 from composio_langchain import ComposioToolSet, Action, App 5 6 llm = ChatOpenAI() 7 prompt = hub.pull("hwchase17/openai-functions-agent") 8 9 composio_toolset = ComposioToolSet(api_key="") 10 tools = composio_toolset.get_tools(actions=['FILETOOL_CREATE_FILE']) 11 12 agent = create_openai_functions_agent(llm, tools, prompt) 13 agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True) 14 15 task = "your task description here" 16 result = agent_executor.invoke({"input": task}) 17 print(result)
Scroll
Scrolls the view of the opened file up or down by 100 lines
1 from langchain.agents import create_openai_functions_agent, AgentExecutor 2 from langchain import hub 3 from langchain_openai import ChatOpenAI 4 from composio_langchain import ComposioToolSet, Action, App 5 6 llm = ChatOpenAI() 7 prompt = hub.pull("hwchase17/openai-functions-agent") 8 9 composio_toolset = ComposioToolSet(api_key="") 10 tools = composio_toolset.get_tools(actions=['FILETOOL_SCROLL']) 11 12 agent = create_openai_functions_agent(llm, tools, prompt) 13 agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True) 14 15 task = "your task description here" 16 result = agent_executor.invoke({"input": task}) 17 print(result)
Scroll
Scrolls the view of the opened file up or down by 100 lines
1 from langchain.agents import create_openai_functions_agent, AgentExecutor 2 from langchain import hub 3 from langchain_openai import ChatOpenAI 4 from composio_langchain import ComposioToolSet, Action, App 5 6 llm = ChatOpenAI() 7 prompt = hub.pull("hwchase17/openai-functions-agent") 8 9 composio_toolset = ComposioToolSet(api_key="") 10 tools = composio_toolset.get_tools(actions=['FILETOOL_SCROLL']) 11 12 agent = create_openai_functions_agent(llm, tools, prompt) 13 agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True) 14 15 task = "your task description here" 16 result = agent_executor.invoke({"input": task}) 17 print(result)
List files
Lists files and directories in the current working directory
1 from langchain.agents import create_openai_functions_agent, AgentExecutor 2 from langchain import hub 3 from langchain_openai import ChatOpenAI 4 from composio_langchain import ComposioToolSet, Action, App 5 6 llm = ChatOpenAI() 7 prompt = hub.pull("hwchase17/openai-functions-agent") 8 9 composio_toolset = ComposioToolSet(api_key="") 10 tools = composio_toolset.get_tools(actions=['FILETOOL_LIST_FILES']) 11 12 agent = create_openai_functions_agent(llm, tools, prompt) 13 agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True) 14 15 task = "your task description here" 16 result = agent_executor.invoke({"input": task}) 17 print(result)
Search word
Search for a specific word or phrase across multiple files in your workspace by specifying a pattern
1 from langchain.agents import create_openai_functions_agent, AgentExecutor 2 from langchain import hub 3 from langchain_openai import ChatOpenAI 4 from composio_langchain import ComposioToolSet, Action, App 5 6 llm = ChatOpenAI() 7 prompt = hub.pull("hwchase17/openai-functions-agent") 8 9 composio_toolset = ComposioToolSet(api_key="") 10 tools = composio_toolset.get_tools(actions=['FILETOOL_SEARCH_WORD']) 11 12 agent = create_openai_functions_agent(llm, tools, prompt) 13 agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True) 14 15 task = "your task description here" 16 result = agent_executor.invoke({"input": task}) 17 print(result)
Find file
Finds files or directories matching the given pattern in the workspace
1 from langchain.agents import create_openai_functions_agent, AgentExecutor 2 from langchain import hub 3 from langchain_openai import ChatOpenAI 4 from composio_langchain import ComposioToolSet, Action, App 5 6 llm = ChatOpenAI() 7 prompt = hub.pull("hwchase17/openai-functions-agent") 8 9 composio_toolset = ComposioToolSet(api_key="") 10 tools = composio_toolset.get_tools(actions=['FILETOOL_FIND_FILE']) 11 12 agent = create_openai_functions_agent(llm, tools, prompt) 13 agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True) 14 15 task = "your task description here" 16 result = agent_executor.invoke({"input": task}) 17 print(result)
Write
Write the given content to a file
1 from langchain.agents import create_openai_functions_agent, AgentExecutor 2 from langchain import hub 3 from langchain_openai import ChatOpenAI 4 from composio_langchain import ComposioToolSet, Action, App 5 6 llm = ChatOpenAI() 7 prompt = hub.pull("hwchase17/openai-functions-agent") 8 9 composio_toolset = ComposioToolSet(api_key="") 10 tools = composio_toolset.get_tools(actions=['FILETOOL_WRITE']) 11 12 agent = create_openai_functions_agent(llm, tools, prompt) 13 agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True) 14 15 task = "your task description here" 16 result = agent_executor.invoke({"input": task}) 17 print(result)
Change working directory
Changes the current working directory of the file manager to the specified path
1 from langchain.agents import create_openai_functions_agent, AgentExecutor 2 from langchain import hub 3 from langchain_openai import ChatOpenAI 4 from composio_langchain import ComposioToolSet, Action, App 5 6 llm = ChatOpenAI() 7 prompt = hub.pull("hwchase17/openai-functions-agent") 8 9 composio_toolset = ComposioToolSet(api_key="") 10 tools = composio_toolset.get_tools(actions=['FILETOOL_CHANGE_WORKING_DIRECTORY']) 11 12 agent = create_openai_functions_agent(llm, tools, prompt) 13 agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True) 14 15 task = "your task description here" 16 result = agent_executor.invoke({"input": task}) 17 print(result)
Git clone
This action allows you to clone a Git repository to your local directory
1 from langchain.agents import create_openai_functions_agent, AgentExecutor 2 from langchain import hub 3 from langchain_openai import ChatOpenAI 4 from composio_langchain import ComposioToolSet, Action, App 5 6 llm = ChatOpenAI() 7 prompt = hub.pull("hwchase17/openai-functions-agent") 8 9 composio_toolset = ComposioToolSet(api_key="") 10 tools = composio_toolset.get_tools(actions=['FILETOOL_GIT_CLONE']) 11 12 agent = create_openai_functions_agent(llm, tools, prompt) 13 agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True) 14 15 task = "your task description here" 16 result = agent_executor.invoke({"input": task}) 17 print(result)
Git repo tree
Creates a tree representation of the Git repository
1 from langchain.agents import create_openai_functions_agent, AgentExecutor 2 from langchain import hub 3 from langchain_openai import ChatOpenAI 4 from composio_langchain import ComposioToolSet, Action, App 5 6 llm = ChatOpenAI() 7 prompt = hub.pull("hwchase17/openai-functions-agent") 8 9 composio_toolset = ComposioToolSet(api_key="") 10 tools = composio_toolset.get_tools(actions=['FILETOOL_GIT_REPO_TREE']) 11 12 agent = create_openai_functions_agent(llm, tools, prompt) 13 agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True) 14 15 task = "your task description here" 16 result = agent_executor.invoke({"input": task}) 17 print(result)
Get Git Patch
Get the patch from the current working directory
1 from langchain.agents import create_openai_functions_agent, AgentExecutor 2 from langchain import hub 3 from langchain_openai import ChatOpenAI 4 from composio_langchain import ComposioToolSet, Action, App 5 6 llm = ChatOpenAI() 7 prompt = hub.pull("hwchase17/openai-functions-agent") 8 9 composio_toolset = ComposioToolSet(api_key="") 10 tools = composio_toolset.get_tools(actions=['FILETOOL_GIT_PATCH']) 11 12 agent = create_openai_functions_agent(llm, tools, prompt) 13 agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True) 14 15 task = "your task description here" 16 result = agent_executor.invoke({"input": task}) 17 print(result)
Code Analysis Tool
Create index
Use this to create a code map for a repository by indexing and analyzing its contents
1 from langchain.agents import create_openai_functions_agent, AgentExecutor 2 from langchain import hub 3 from langchain_openai import ChatOpenAI 4 from composio_langchain import ComposioToolSet, Action, App 5 llm = ChatOpenAI() 6 prompt = hub.pull("hwchase17/openai-functions-agent") 7 8 composio_toolset = ComposioToolSet(api_key="") 9 tools = composio_toolset.get_tools(actions=['CODE_ANALYSIS_TOOL_CREATE_CODE_MAP']) 10 11 agent = create_openai_functions_agent(llm, tools, prompt) 12 agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True) 13 task = "your task description here" 14 result = agent_executor.invoke({"input": task}) 15 print(result)
Get Class Info
This tool retrieves and formats detailed information about a specified class in a given repository
1 from langchain.agents import create_openai_functions_agent, AgentExecutor 2 from langchain import hub 3 from langchain_openai import ChatOpenAI 4 from composio_langchain import ComposioToolSet, Action, App 5 llm = ChatOpenAI() 6 prompt = hub.pull("hwchase17/openai-functions-agent") 7 8 composio_toolset = ComposioToolSet(api_key="") 9 tools = composio_toolset.get_tools(actions=['CODE_ANALYSIS_TOOL_GET_CLASS_INFO']) 10 11 agent = create_openai_functions_agent(llm, tools, prompt) 12 agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True) 13 task = "your task description here" 14 result = agent_executor.invoke({"input": task}) 15 print(result)
Get Method Body
This tool retrieves the body of a specified method from a given repository
1 from langchain.agents import create_openai_functions_agent, AgentExecutor 2 from langchain import hub 3 from langchain_openai import ChatOpenAI 4 from composio_langchain import ComposioToolSet, Action, App 5 6 llm = ChatOpenAI() 7 prompt = hub.pull("hwchase17/openai-functions-agent") 8 9 composio_toolset = ComposioToolSet(api_key="") 10 tools = composio_toolset.get_tools(actions=['CODE_ANALYSIS_TOOL_GET_METHOD_BODY']) 11 12 agent = create_openai_functions_agent(llm, tools, prompt) 13 agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True) 14 15 task = "your task description here" 16 result = agent_executor.invoke({"input": task}) 17 print(result)
Get Method Signature
This tool retrieves the signature of a specified method from a given repository.
1 from langchain.agents import create_openai_functions_agent, AgentExecutor 2 from langchain import hub 3 from langchain_openai import ChatOpenAI 4 from composio_langchain import ComposioToolSet, Action, App 5 6 llm = ChatOpenAI() 7 prompt = hub.pull("hwchase17/openai-functions-agent") 8 9 composio_toolset = ComposioToolSet(api_key="") 10 tools = composio_toolset.get_tools(actions=['CODE_ANALYSIS_TOOL_GET_METHOD_SIGNATURE']) 11 12 agent = create_openai_functions_agent(llm, tools, prompt) 13 agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True) 14 15 task = "your task description here" 16 result = agent_executor.invoke({"input": task}) 17 print(result)
Get Relevant Code
Retrieves relevant code snippets from a repository based on a given query
1 from langchain.agents import create_openai_functions_agent, AgentExecutor 2 from langchain import hub 3 from langchain_openai import ChatOpenAI 4 from composio_langchain import ComposioToolSet, Action, App 5 6 llm = ChatOpenAI() 7 prompt = hub.pull("hwchase17/openai-functions-agent") 8 9 composio_toolset = ComposioToolSet(api_key="") 10 tools = composio_toolset.get_tools(actions=['CODE_ANALYSIS_TOOL_GET_RELEVANT_CODE']) 11 12 agent = create_openai_functions_agent(llm, tools, prompt) 13 agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True) 14 15 task = "your task description here" 16 result = agent_executor.invoke({"input": task}) 17 print(result)
Shell Tool
Exec command
Run any command directly on shell
1 from langchain.agents import create_openai_functions_agent, AgentExecutor 2 from langchain import hub 3 from langchain_openai import ChatOpenAI 4 from composio_langchain import ComposioToolSet, Action, App 5 6 llm = ChatOpenAI() 7 prompt = hub.pull("hwchase17/openai-functions-agent") 8 9 composio_toolset = ComposioToolSet(api_key="") 10 tools = composio_toolset.get_tools(actions=['SHELLTOOL_EXEC_COMMAND']) 11 12 agent = create_openai_functions_agent(llm, tools, prompt) 13 agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True) 14 15 task = "your task description here" 16 result = agent_executor.invoke({"input": task}) 17 print(result)
Create shell
Use this tool to create a new shell session
1 from langchain.agents import create_openai_functions_agent, AgentExecutor 2 from langchain import hub 3 from langchain_openai import ChatOpenAI 4 from composio_langchain import ComposioToolSet, Action, App 5 6 llm = ChatOpenAI() 7 prompt = hub.pull("hwchase17/openai-functions-agent") 8 9 composio_toolset = ComposioToolSet(api_key="") 10 tools = composio_toolset.get_tools(actions=['SHELLTOOL_CREATE_SHELL']) 11 12 agent = create_openai_functions_agent(llm, tools, prompt) 13 agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True) 14 15 task = "your task description here" 16 result = agent_executor.invoke({"input": task}) 17 print(result)
Spawn process
Spawn a process
1 from langchain.agents import create_openai_functions_agent, AgentExecutor 2 from langchain import hub 3 from langchain_openai import ChatOpenAI 4 from composio_langchain import ComposioToolSet, Action, App 5 6 llm = ChatOpenAI() 7 prompt = hub.pull("hwchase17/openai-functions-agent") 8 9 composio_toolset = ComposioToolSet(api_key="") 10 tools = composio_toolset.get_tools(actions=['SHELLTOOL_SPAWN_PROCESS']) 11 12 agent = create_openai_functions_agent(llm, tools, prompt) 13 agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True) 14 15 task = "your task description here" 16 result = agent_executor.invoke({"input": task}) 17 print(result)
Test command
Run the command for testing the patch
1 from langchain.agents import create_openai_functions_agent, AgentExecutor 2 from langchain import hub 3 from langchain_openai import ChatOpenAI 4 from composio_langchain import ComposioToolSet, Action, App 5 6 llm = ChatOpenAI() 7 prompt = hub.pull("hwchase17/openai-functions-agent") 8 9 composio_toolset = ComposioToolSet(api_key="") 10 tools = composio_toolset.get_tools(actions=['SHELLTOOL_TEST_COMMAND']) 11 12 agent = create_openai_functions_agent(llm, tools, prompt) 13 agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True) 14 15 task = "your task description here" 16 result = agent_executor.invoke({"input": task}) 17 print(result)
RAG Tool
Add content to RAG
Tool for adding content to the knowledge base
1 from langchain.agents import create_openai_functions_agent, AgentExecutor 2 from langchain import hub 3 from langchain_openai import ChatOpenAI 4 from composio_langchain import ComposioToolSet, Action, App 5 6 llm = ChatOpenAI() 7 prompt = hub.pull("hwchase17/openai-functions-agent") 8 9 composio_toolset = ComposioToolSet(api_key="") 10 tools = composio_toolset.get_tools(actions=['RAGTOOL_ADD_CONTENT_TO_RAG_TOOL']) 11 12 agent = create_openai_functions_agent(llm, tools, prompt) 13 agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True) 14 15 task = "your task description here" 16 result = agent_executor.invoke({"input": task}) 17 print(result)
Query Knowledge Base
Tool for querying a knowledge base
1 from langchain.agents import create_openai_functions_agent, AgentExecutor 2 from langchain import hub 3 from langchain_openai import ChatOpenAI 4 from composio_langchain import ComposioToolSet, Action, App 5 6 llm = ChatOpenAI() 7 prompt = hub.pull("hwchase17/openai-functions-agent") 8 9 composio_toolset = ComposioToolSet(api_key="") 10 tools = composio_toolset.get_tools(actions=['RAGTOOL_ADD_CONTENT_TO_RAG_TOOL']) 11 12 agent = create_openai_functions_agent(llm, tools, prompt) 13 agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True) 14 15 task = "your task description here" 16 result = agent_executor.invoke({"input": task}) 17 print(result)
Embed Tool
Create Image Vector Store
Creates Vector Store for all image files in the specified folder
1 from langchain.agents import create_openai_functions_agent, AgentExecutor 2 from langchain import hub 3 from langchain_openai import ChatOpenAI 4 from composio_langchain import ComposioToolSet, Action, App 5 6 llm = ChatOpenAI() 7 prompt = hub.pull("hwchase17/openai-functions-agent") 8 9 composio_toolset = ComposioToolSet(api_key="") 10 tools = composio_toolset.get_tools(actions=['EMBED_TOOL_CREATE_IMAGE_VECTOR_STORE']) 11 12 agent = create_openai_functions_agent(llm, tools, prompt) 13 agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True) 14 15 task = "your task description here" 16 result = agent_executor.invoke({"input": task}) 17 print(result)
Query Image Vector Store
Query Vector Store for images
1 from langchain.agents import create_openai_functions_agent, AgentExecutor 2 from langchain import hub 3 from langchain_openai import ChatOpenAI 4 from composio_langchain import ComposioToolSet, Action, App 5 6 llm = ChatOpenAI() 7 prompt = hub.pull("hwchase17/openai-functions-agent") 8 9 composio_toolset = ComposioToolSet(api_key="") 10 tools = composio_toolset.get_tools(actions=['EMBED_TOOL_QUERY_IMAGE_VECTOR_STORE']) 11 12 agent = create_openai_functions_agent(llm, tools, prompt) 13 agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True) 14 15 task = "your task description here" 16 result = agent_executor.invoke({"input": task}) 17 print(result)
Other Useful Tools
SQL query
Executes a SQL Query and returns the results
1 from langchain.agents import create_openai_functions_agent, AgentExecutor 2 from langchain import hub 3 from langchain_openai import ChatOpenAI 4 from composio_langchain import ComposioToolSet, Action, App 5 6 llm = ChatOpenAI() 7 prompt = hub.pull("hwchase17/openai-functions-agent") 8 9 composio_toolset = ComposioToolSet(api_key="") 10 tools = composio_toolset.get_tools(actions=['SQLTOOL_SQL_QUERY']) 11 12 agent = create_openai_functions_agent(llm, tools, prompt) 13 agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True) 14 15 task = "your task description here" 16 result = agent_executor.invoke({"input": task}) 17 print(result)
Advanced Codebase Search
Performs an advanced search across a codebase using regex patterns & optimized for large-scale software projects
1 from langchain.agents import create_openai_functions_agent, AgentExecutor 2 from langchain import hub 3 from langchain_openai import ChatOpenAI 4 from composio_langchain import ComposioToolSet, Action, App 5 6 llm = ChatOpenAI() 7 prompt = hub.pull("hwchase17/openai-functions-agent") 8 9 composio_toolset = ComposioToolSet(api_key="") 10 tools = composio_toolset.get_tools(actions=['CODE_GREP_TOOL_SEARCH_CODEBASE']) 11 12 agent = create_openai_functions_agent(llm, tools, prompt) 13 agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True) 14 15 task = "your task description here" 16 result = agent_executor.invoke({"input": task}) 17 print(result)
Format and Lint Codebase
Performs code formatting and linting using ruff, addressing style issues and checking for errors
1 from langchain.agents import create_openai_functions_agent, AgentExecutor 2 from langchain import hub 3 from langchain_openai import ChatOpenAI 4 from composio_langchain import ComposioToolSet, Action, App 5 llm = ChatOpenAI() 6 prompt = hub.pull("hwchase17/openai-functions-agent") 7 8 composio_toolset = ComposioToolSet(api_key="") 9 tools = composio_toolset.get_tools(actions=['CODE_FORMAT_TOOL_FORMAT_AND_LINT_CODEBASE']) 10 11 agent = create_openai_functions_agent(llm, tools, prompt) 12 agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True) 13 task = "your task description here" 14 result = agent_executor.invoke({"input": task}) 15 print(result)
Get workspace history
Returns history for workspace which includes state of the environment, last executed n commands & output from last n commands
1 from langchain.agents import create_openai_functions_agent, AgentExecutor 2 from langchain import hub 3 from langchain_openai import ChatOpenAI 4 from composio_langchain import ComposioToolSet, Action, App 5 6 llm = ChatOpenAI() 7 prompt = hub.pull("hwchase17/openai-functions-agent") 8 9 composio_toolset = ComposioToolSet(api_key="") 10 tools = composio_toolset.get_tools(actions=['HISTORY_FETCHER_GET_WORKSPACE_HISTORY']) 11 12 agent = create_openai_functions_agent(llm, tools, prompt) 13 agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True) 14 15 task = "your task description here" 16 result = agent_executor.invoke({"input": task}) 17 print(result)