WrapToolCall 包装工具调用
(ctx context.Context, req *ToolCallRequest, handler ToolCallHandler)
| 131 | |
| 132 | // WrapToolCall 包装工具调用 |
| 133 | func (m *FilesystemMiddleware) WrapToolCall(ctx context.Context, req *ToolCallRequest, handler ToolCallHandler) (*ToolCallResponse, error) { |
| 134 | // 执行工具调用 |
| 135 | resp, err := handler(ctx, req) |
| 136 | if err != nil { |
| 137 | return resp, err |
| 138 | } |
| 139 | |
| 140 | // 检查是否需要驱逐大结果 |
| 141 | if m.enableEviction && m.backend != nil { |
| 142 | resp = m.evictLargeResults(ctx, req, resp) |
| 143 | } |
| 144 | |
| 145 | return resp, nil |
| 146 | } |
| 147 | |
| 148 | // evictLargeResults 驱逐大结果到文件 |
| 149 | func (m *FilesystemMiddleware) evictLargeResults(ctx context.Context, req *ToolCallRequest, resp *ToolCallResponse) *ToolCallResponse { |
nothing calls this directly
no test coverage detected