feat: support acp slash commands (#2775)

This commit is contained in:
yetone
2025-10-16 19:05:57 +08:00
committed by GitHub
parent 216ba4a8b2
commit 487972386e
8 changed files with 107 additions and 33 deletions

View File

@@ -124,8 +124,13 @@ local Utils = require("avante.utils")
---@class avante.acp.Plan
---@field entries avante.acp.PlanEntry[]
---@class avante.acp.AvailableCommand
---@field name string
---@field description string
---@field input? table<string, any>
---@class avante.acp.BaseSessionUpdate
---@field sessionUpdate "user_message_chunk" | "agent_message_chunk" | "agent_thought_chunk" | "tool_call" | "tool_call_update" | "plan"
---@field sessionUpdate "user_message_chunk" | "agent_message_chunk" | "agent_thought_chunk" | "tool_call" | "tool_call_update" | "plan" | "available_commands_update"
---@class avante.acp.UserMessageChunk : avante.acp.BaseSessionUpdate
---@field sessionUpdate "user_message_chunk"
@@ -154,6 +159,10 @@ local Utils = require("avante.utils")
---@field sessionUpdate "plan"
---@field entries avante.acp.PlanEntry[]
---@class avante.acp.AvailableCommandsUpdate : avante.acp.BaseSessionUpdate
---@field sessionUpdate "available_commands_update"
---@field availableCommands avante.acp.AvailableCommand[]
---@class avante.acp.PermissionOption
---@field optionId string
---@field name string
@@ -196,7 +205,7 @@ ACPClient.ERROR_CODES = {
}
---@class ACPHandlers
---@field on_session_update? fun(update: avante.acp.UserMessageChunk | avante.acp.AgentMessageChunk | avante.acp.AgentThoughtChunk | avante.acp.ToolCallUpdate | avante.acp.PlanUpdate)
---@field on_session_update? fun(update: avante.acp.UserMessageChunk | avante.acp.AgentMessageChunk | avante.acp.AgentThoughtChunk | avante.acp.ToolCallUpdate | avante.acp.PlanUpdate | avante.acp.AvailableCommandsUpdate)
---@field on_request_permission? fun(tool_call: table, options: table[], callback: fun(option_id: string | nil)): nil
---@field on_read_file? fun(path: string, line: integer | nil, limit: integer | nil, callback: fun(content: string)): nil
---@field on_write_file? fun(path: string, content: string, callback: fun(error: string|nil)): nil