feat: complete v0.3.1 agent workflow
This commit is contained in:
@@ -23,6 +23,17 @@ func NewShellRunTool(workingDir string) *ShellRunTool {
|
||||
}
|
||||
func (*ShellRunTool) Mutates() bool { return true }
|
||||
|
||||
func (t *ShellRunTool) Preview(ctx context.Context, raw json.RawMessage) (string, error) {
|
||||
var args shellRunArgs
|
||||
if err := json.Unmarshal(raw, &args); err != nil {
|
||||
return "", fmt.Errorf("parse arguments: %w", err)
|
||||
}
|
||||
if strings.TrimSpace(args.Command) == "" {
|
||||
return "", errors.New("command is required")
|
||||
}
|
||||
return "$ " + strings.TrimSpace(args.Command), ctx.Err()
|
||||
}
|
||||
|
||||
func (t *ShellRunTool) Definition() llm.Tool {
|
||||
return llm.Tool{
|
||||
Type: "function",
|
||||
|
||||
Reference in New Issue
Block a user