Tool tree
gradeNot graded
page: Every page
list_projectsAnswer
List all EO2Weave projects with their folder counts and last access time.
View tool JSON
{
"name": "list_projects",
"kind": "answer",
"impl": "imperative",
"description": "List all EO2Weave projects with their folder counts and last access time.",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/projects/proj_mveupkxioay7ojw"
}create_projectAction
Create a new EO2Weave project. Folders (local directories) are attached separately by the user in the UI — a new project starts empty.
View tool JSON
{
"name": "create_project",
"kind": "act",
"impl": "imperative",
"description": "Create a new EO2Weave project. Folders (local directories) are attached separately by the user in the UI — a new project starts empty.",
"inputSchema": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Project name"
}
},
"required": [
"name"
]
},
"page": "/projects/proj_mveupkxioay7ojw"
}list_mounted_foldersAnswer
List the local folders the user has granted EO2Weave access to (path, owning project, read-only flag). Conversations are bound to one of these folders — use this to find which folder a task should target, then list_conversations to find conversations working on it.
View tool JSON
{
"name": "list_mounted_folders",
"kind": "answer",
"impl": "imperative",
"description": "List the local folders the user has granted EO2Weave access to (path, owning project, read-only flag). Conversations are bound to one of these folders — use this to find which folder a task should target, then list_conversations to find conversations working on it.",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/projects/proj_mveupkxioay7ojw"
}list_conversationsAnswer
List conversations (metadata only, no message bodies), newest first. Filter by mounted folder to find conversations that operate on it.
View tool JSON
{
"name": "list_conversations",
"kind": "answer",
"impl": "imperative",
"description": "List conversations (metadata only, no message bodies), newest first. Filter by mounted folder to find conversations that operate on it.",
"inputSchema": {
"type": "object",
"properties": {
"folderId": {
"type": "string",
"description": "Only conversations bound to this mounted folder id (from list_mounted_folders)"
},
"limit": {
"type": "number",
"description": "Max entries to return (default 20, max 100)"
},
"offset": {
"type": "number",
"description": "Offset for paging"
}
}
},
"page": "/projects/proj_mveupkxioay7ojw"
}search_conversationsAnswer
Full-text search across all conversations (titles + message bodies). Supports optional project and time-window filters (Unix epoch ms). Returns conversation ids, titles and matched excerpts — the semantic way to locate "the conversation where we discussed X".
View tool JSON
{
"name": "search_conversations",
"kind": "answer",
"impl": "imperative",
"description": "Full-text search across all conversations (titles + message bodies). Supports optional project and time-window filters (Unix epoch ms). Returns conversation ids, titles and matched excerpts — the semantic way to locate \"the conversation where we discussed X\".",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Keyword or phrase to search for"
},
"updatedAfter": {
"type": "number",
"description": "Unix epoch ms lower bound on conversation updatedAt"
},
"updatedBefore": {
"type": "number",
"description": "Unix epoch ms upper bound"
},
"limit": {
"type": "number",
"description": "Max results (default 10, max 50)"
}
},
"required": [
"query"
]
},
"page": "/projects/proj_mveupkxioay7ojw"
}create_conversationAction
Create a new conversation. NOTE: a new conversation has NO mounted folder — it cannot operate on files until the user mounts a folder in the UI. For file tasks prefer an existing conversation bound to the target folder (list_mounted_folders + list_conversations).
View tool JSON
{
"name": "create_conversation",
"kind": "act",
"impl": "imperative",
"description": "Create a new conversation. NOTE: a new conversation has NO mounted folder — it cannot operate on files until the user mounts a folder in the UI. For file tasks prefer an existing conversation bound to the target folder (list_mounted_folders + list_conversations).",
"inputSchema": {
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "Conversation title (auto-generated later if omitted)"
}
}
},
"page": "/projects/proj_mveupkxioay7ojw"
}rename_conversationAction
Rename a conversation. Marks the title as manual (auto-title generation will not overwrite it). Operates on THIS EO2Weave instance only — when multiple instances are open, use the variant matching the conversation’s origin.
View tool JSON
{
"name": "rename_conversation",
"kind": "act",
"impl": "imperative",
"description": "Rename a conversation. Marks the title as manual (auto-title generation will not overwrite it). Operates on THIS EO2Weave instance only — when multiple instances are open, use the variant matching the conversation’s origin.",
"inputSchema": {
"type": "object",
"properties": {
"conversationId": {
"type": "string",
"description": "Target conversation id"
},
"title": {
"type": "string",
"description": "New title (trimmed, 1-200 chars)"
}
},
"required": [
"conversationId",
"title"
]
},
"page": "/projects/proj_mveupkxioay7ojw"
}get_messagesAnswer
Read the message history of a conversation, newest page first. Content is the final text per message; tool-call details are omitted. Single messages over 32KB are truncated with truncated:true.
View tool JSON
{
"name": "get_messages",
"kind": "answer",
"impl": "imperative",
"description": "Read the message history of a conversation, newest page first. Content is the final text per message; tool-call details are omitted. Single messages over 32KB are truncated with truncated:true.",
"inputSchema": {
"type": "object",
"properties": {
"conversationId": {
"type": "string",
"description": "Conversation id"
},
"page": {
"type": "number",
"description": "1 = newest page (default)"
},
"pageSize": {
"type": "number",
"description": "Messages per page (default 50, max 200)"
}
},
"required": [
"conversationId"
]
},
"page": "/projects/proj_mveupkxioay7ojw"
}send_messageSensitive Action
Send a user message into a conversation and start the EO2Weave agent on it. Runs with the app’s currently configured provider/model (see list_providers / set_default_model). By default returns immediately with status "started" — poll get_run_status / get_run_progress for progress. wait=true blocks (max timeoutMs, hard cap 300s) and returns the final result with the agent’s summary and changed files. If the conversation already has a run in progress the message is queued (status "queued"). The conversation must have a mounted folder for file-manipulation tasks.
View tool JSON
{
"name": "send_message",
"kind": "transact",
"impl": "imperative",
"description": "Send a user message into a conversation and start the EO2Weave agent on it. Runs with the app’s currently configured provider/model (see list_providers / set_default_model). By default returns immediately with status \"started\" — poll get_run_status / get_run_progress for progress. wait=true blocks (max timeoutMs, hard cap 300s) and returns the final result with the agent’s summary and changed files. If the conversation already has a run in progress the message is queued (status \"queued\"). The conversation must have a mounted folder for file-manipulation tasks.",
"inputSchema": {
"type": "object",
"properties": {
"conversationId": {
"type": "string",
"description": "Conversation to send into"
},
"content": {
"type": "string",
"description": "Message text (the task for the agent)"
},
"wait": {
"type": "boolean",
"description": "Block until the run finishes (default false). Caps at 55s — for longer tasks use wait=false and poll get_run_status."
},
"timeoutMs": {
"type": "number",
"description": "Max wait when wait=true (default 50000, hard cap 55000 — the extension relay times out at 60s)"
}
},
"required": [
"conversationId",
"content"
]
},
"page": "/projects/proj_mveupkxioay7ojw"
}get_run_statusAnswer
Get the status and (when finished) the result of a run started with send_message. Result includes the agent’s final summary, the list of changed files, and token usage.
View tool JSON
{
"name": "get_run_status",
"kind": "answer",
"impl": "imperative",
"description": "Get the status and (when finished) the result of a run started with send_message. Result includes the agent’s final summary, the list of changed files, and token usage.",
"inputSchema": {
"type": "object",
"properties": {
"runId": {
"type": "string",
"description": "Run id from send_message"
}
},
"required": [
"runId"
]
},
"page": "/projects/proj_mveupkxioay7ojw"
}get_run_progressAnswer
Live progress of a running run: elapsed time, completed tool-call count, the tool currently executing (name + argument preview) and a preview of the streaming output. Use to report progress or detect liveness. For finished runs returns only the terminal status.
View tool JSON
{
"name": "get_run_progress",
"kind": "answer",
"impl": "imperative",
"description": "Live progress of a running run: elapsed time, completed tool-call count, the tool currently executing (name + argument preview) and a preview of the streaming output. Use to report progress or detect liveness. For finished runs returns only the terminal status.",
"inputSchema": {
"type": "object",
"properties": {
"runId": {
"type": "string",
"description": "Run id from send_message"
}
},
"required": [
"runId"
]
},
"page": "/projects/proj_mveupkxioay7ojw"
}cancel_runSensitive Action
Cancel a running or queued run.
View tool JSON
{
"name": "cancel_run",
"kind": "transact",
"impl": "imperative",
"description": "Cancel a running or queued run.",
"inputSchema": {
"type": "object",
"properties": {
"runId": {
"type": "string",
"description": "Run id from send_message"
}
},
"required": [
"runId"
]
},
"page": "/projects/proj_mveupkxioay7ojw"
}read_folder_fileAnswer
Read a file from the workspace of the given conversation (path relative to the folder root). NOTE: this is the workspace copy — changes reach the real local disk when the user syncs to disk.
View tool JSON
{
"name": "read_folder_file",
"kind": "answer",
"impl": "imperative",
"description": "Read a file from the workspace of the given conversation (path relative to the folder root). NOTE: this is the workspace copy — changes reach the real local disk when the user syncs to disk.",
"inputSchema": {
"type": "object",
"properties": {
"conversationId": {
"type": "string",
"description": "Conversation whose workspace to read from"
},
"path": {
"type": "string",
"description": "Relative path, e.g. \"src/App.tsx\""
}
},
"required": [
"conversationId",
"path"
]
},
"page": "/projects/proj_mveupkxioay7ojw"
}write_folder_fileAction
Write a file into the workspace of the given conversation (creates parent folders, overwrites existing). Goes to the workspace copy — the user syncs to the real disk from the UI. Useful to hand documents/specs to the agent before send_message.
View tool JSON
{
"name": "write_folder_file",
"kind": "act",
"impl": "imperative",
"description": "Write a file into the workspace of the given conversation (creates parent folders, overwrites existing). Goes to the workspace copy — the user syncs to the real disk from the UI. Useful to hand documents/specs to the agent before send_message.",
"inputSchema": {
"type": "object",
"properties": {
"conversationId": {
"type": "string",
"description": "Conversation whose workspace to write into"
},
"path": {
"type": "string",
"description": "Relative path, e.g. \"specs/fix-login.md\""
},
"content": {
"type": "string",
"description": "Full file content (text)"
}
},
"required": [
"conversationId",
"path",
"content"
]
},
"page": "/projects/proj_mveupkxioay7ojw"
}list_folder_filesAnswer
List files under a path in the conversation’s workspace. Paths are relative to the folder root. depth 0 = direct children only.
View tool JSON
{
"name": "list_folder_files",
"kind": "answer",
"impl": "imperative",
"description": "List files under a path in the conversation’s workspace. Paths are relative to the folder root. depth 0 = direct children only.",
"inputSchema": {
"type": "object",
"properties": {
"conversationId": {
"type": "string",
"description": "Conversation whose workspace to list"
},
"path": {
"type": "string",
"description": "Relative directory path (default \"\" = folder root)"
},
"depth": {
"type": "number",
"description": "Recursion depth (default 2)"
}
},
"required": [
"conversationId"
]
},
"page": "/projects/proj_mveupkxioay7ojw"
}list_providersAnswer
List every LLM provider configured in the app: whether an API key / OAuth is set up, its pinned (frequently used) models, and which provider+model is currently the global default used by all new runs.
View tool JSON
{
"name": "list_providers",
"kind": "answer",
"impl": "imperative",
"description": "List every LLM provider configured in the app: whether an API key / OAuth is set up, its pinned (frequently used) models, and which provider+model is currently the global default used by all new runs.",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/projects/proj_mveupkxioay7ojw"
}list_modelsAnswer
List all models available for a provider (live catalog when the provider supports fetching, cached otherwise). Pinned models are flagged.
View tool JSON
{
"name": "list_models",
"kind": "answer",
"impl": "imperative",
"description": "List all models available for a provider (live catalog when the provider supports fetching, cached otherwise). Pinned models are flagged.",
"inputSchema": {
"type": "object",
"properties": {
"providerId": {
"type": "string",
"description": "Provider id from list_providers"
}
},
"required": [
"providerId"
]
},
"page": "/projects/proj_mveupkxioay7ojw"
}add_pinned_modelAction
Add a model to a provider’s pinned (frequently used) list.
View tool JSON
{
"name": "add_pinned_model",
"kind": "act",
"impl": "imperative",
"description": "Add a model to a provider’s pinned (frequently used) list.",
"inputSchema": {
"type": "object",
"properties": {
"providerId": {
"type": "string",
"description": "Provider id"
},
"modelId": {
"type": "string",
"description": "Model id (from list_models)"
}
},
"required": [
"providerId",
"modelId"
]
},
"page": "/projects/proj_mveupkxioay7ojw"
}remove_pinned_modelAction
Remove a model from a provider’s pinned list.
View tool JSON
{
"name": "remove_pinned_model",
"kind": "act",
"impl": "imperative",
"description": "Remove a model from a provider’s pinned list.",
"inputSchema": {
"type": "object",
"properties": {
"providerId": {
"type": "string",
"description": "Provider id"
},
"modelId": {
"type": "string",
"description": "Model id"
}
},
"required": [
"providerId",
"modelId"
]
},
"page": "/projects/proj_mveupkxioay7ojw"
}set_default_modelAction
Set the global default provider+model used by new runs (including manual sends from the UI). The provider must already have an API key or OAuth configured.
View tool JSON
{
"name": "set_default_model",
"kind": "act",
"impl": "imperative",
"description": "Set the global default provider+model used by new runs (including manual sends from the UI). The provider must already have an API key or OAuth configured.",
"inputSchema": {
"type": "object",
"properties": {
"providerId": {
"type": "string",
"description": "Provider id"
},
"modelId": {
"type": "string",
"description": "Model id"
}
},
"required": [
"providerId",
"modelId"
]
},
"page": "/projects/proj_mveupkxioay7ojw"
}