MCPcopy Create free account
hub / github.com/astercloud/aster / parseYAML

Method parseYAML

pkg/commands/loader.go:72–100  ·  view source on GitHub ↗

parseYAML 解析 YAML 配置

(yamlContent string, cmd *CommandDefinition)

Source from the content-addressed store, hash-verified

70
71// parseYAML 解析 YAML 配置
72func (cl *CommandLoader) parseYAML(yamlContent string, cmd *CommandDefinition) error {
73 var config struct {
74 Description string `yaml:"description"`
75 ArgumentHint string `yaml:"argument-hint"`
76 AllowedTools []string `yaml:"allowed-tools"`
77 Models struct {
78 Preferred []string `yaml:"preferred"`
79 MinimumCapabilities []string `yaml:"minimum-capabilities"`
80 } `yaml:"models"`
81 Scripts struct {
82 Sh string `yaml:"sh"`
83 Ps string `yaml:"ps"`
84 } `yaml:"scripts"`
85 }
86
87 if err := yaml.Unmarshal([]byte(yamlContent), &config); err != nil {
88 return err
89 }
90
91 cmd.Description = config.Description
92 cmd.ArgumentHint = config.ArgumentHint
93 cmd.AllowedTools = config.AllowedTools
94 cmd.Models.Preferred = config.Models.Preferred
95 cmd.Models.MinimumCapabilities = config.Models.MinimumCapabilities
96 cmd.Scripts.Sh = config.Scripts.Sh
97 cmd.Scripts.Ps = config.Scripts.Ps
98
99 return nil
100}
101
102// List 列出所有可用命令
103func (cl *CommandLoader) List(ctx context.Context) ([]string, error) {

Callers 1

parseMethod · 0.95

Calls

no outgoing calls

Tested by

no test coverage detected