added proper logging to the mcp agent mode
This commit is contained in:
@@ -25,6 +25,8 @@ func main() {
|
||||
log.SetOutput(os.Stderr)
|
||||
}
|
||||
|
||||
sidekick.GlobalLogger = log.Printf
|
||||
|
||||
tmpl, _ := sidekick.LoadPrompts("prompts.toml")
|
||||
|
||||
sidekick.InitMCPServers(cfg.MCPServers)
|
||||
@@ -38,7 +40,14 @@ func main() {
|
||||
}
|
||||
}
|
||||
mCfg := cfg.Models[aCfg.ModelID]
|
||||
pool[id] = sidekick.NewSidekick(aCfg, mCfg, nil)
|
||||
agent := sidekick.NewSidekick(aCfg, mCfg, nil)
|
||||
if aCfg.LogIntermediate {
|
||||
agentID := id
|
||||
agent.IntermediateHandler = func(msg string) {
|
||||
log.Printf("[Agent %s] %s\n", agentID, msg)
|
||||
}
|
||||
}
|
||||
pool[id] = agent
|
||||
}
|
||||
|
||||
entryAgent := "coordinator"
|
||||
@@ -79,9 +88,12 @@ func main() {
|
||||
func(ctx context.Context, request mcp.CallToolRequest) (*mcp.CallToolResult, error) {
|
||||
msg, err := request.RequireString("message")
|
||||
if err != nil {
|
||||
log.Printf("Received invalid 'query' request: missing message argument")
|
||||
return nil, fmt.Errorf("message argument is required and must be a string: %v", err)
|
||||
}
|
||||
|
||||
log.Printf("Received 'query' request (message length: %d)", len(msg))
|
||||
|
||||
var inCtx []sidekick.Message
|
||||
|
||||
args := request.GetArguments()
|
||||
@@ -113,9 +125,12 @@ func main() {
|
||||
|
||||
responseStr, err := agent.Run(ctx, inCtx, pool)
|
||||
if err != nil {
|
||||
log.Printf("Agent run failed: %v", err)
|
||||
return nil, fmt.Errorf("agent run failed: %w", err)
|
||||
}
|
||||
|
||||
log.Printf("Sending response (length: %d)", len(responseStr))
|
||||
|
||||
// Add the final response to the history structure to be returned
|
||||
outHistory := append(inCtx, sidekick.Message{
|
||||
Role: sidekick.MessageRole("assistant"),
|
||||
|
||||
Reference in New Issue
Block a user