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

Method List

pkg/tools/builtin/plan_file.go:113–148  ·  view source on GitHub ↗

List 列出所有计划文件

()

Source from the content-addressed store, hash-verified

111
112// List 列出所有计划文件
113func (m *PlanFileManager) List() ([]PlanFileMetadata, error) {
114 m.mu.RLock()
115 defer m.mu.RUnlock()
116
117 entries, err := os.ReadDir(m.basePath)
118 if err != nil {
119 if os.IsNotExist(err) {
120 return []PlanFileMetadata{}, nil
121 }
122 return nil, fmt.Errorf("failed to read plans directory: %w", err)
123 }
124
125 var plans []PlanFileMetadata
126 for _, entry := range entries {
127 if entry.IsDir() || !strings.HasSuffix(entry.Name(), ".md") {
128 continue
129 }
130
131 info, err := entry.Info()
132 if err != nil {
133 continue
134 }
135
136 name := strings.TrimSuffix(entry.Name(), ".md")
137 plans = append(plans, PlanFileMetadata{
138 ID: name,
139 Name: name,
140 Path: filepath.Join(m.basePath, entry.Name()),
141 CreatedAt: info.ModTime(), // 使用修改时间作为近似值
142 UpdatedAt: info.ModTime(),
143 Status: "active",
144 })
145 }
146
147 return plans, nil
148}
149
150// Delete 删除计划文件
151func (m *PlanFileManager) Delete(path string) error {

Callers

nothing calls this directly

Calls 3

NameMethod · 0.65
InfoMethod · 0.65
JoinMethod · 0.45

Tested by

no test coverage detected