feat(commands): add Deps struct and secondToken helper, remove dead contains()

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
mingmxren 2026-03-03 22:46:55 +08:00
parent 9f61d50470
commit c940133d0f
2 changed files with 22 additions and 9 deletions

14
pkg/commands/deps.go Normal file
View file

@ -0,0 +1,14 @@
package commands
import "github.com/sipeed/picoclaw/pkg/config"
// Deps provides runtime data to command handlers without importing
// agent or channel packages. Function fields are called at handler
// invocation time, not at construction time, so late-bound values
// (e.g. channelManager set after NewAgentLoop) are visible.
type Deps struct {
Config *config.Config
GetModelInfo func() (name, provider string)
ListAgentIDs func() []string
GetEnabledChannels func() []string
}

View file

@ -57,15 +57,14 @@ func trimCommandPrefix(token string) (string, bool) {
return "", false return "", false
} }
func secondToken(input string) string {
parts := strings.Fields(strings.TrimSpace(input))
if len(parts) < 2 {
return ""
}
return parts[1]
}
func normalizeCommandName(name string) string { func normalizeCommandName(name string) string {
return strings.ToLower(strings.TrimSpace(name)) return strings.ToLower(strings.TrimSpace(name))
} }
func contains(items []string, target string) bool {
for _, item := range items {
if item == target {
return true
}
}
return false
}