(deps commandDeps)
| 143 | } |
| 144 | |
| 145 | func newMemoryListCommand(deps commandDeps) *cobra.Command { |
| 146 | var flags memorySelectorFlags |
| 147 | var typeRaw string |
| 148 | var includeShadowed bool |
| 149 | var includeSystem bool |
| 150 | |
| 151 | cmd := &cobra.Command{ |
| 152 | Use: memoryListKey, |
| 153 | Short: "List Memory v2 entries", |
| 154 | Example: ` # List global and current-workspace memories |
| 155 | agh memory list |
| 156 | |
| 157 | # List agent-workspace memories |
| 158 | agh memory list --scope agent --agent reviewer --agent-tier workspace`, |
| 159 | Args: cobra.NoArgs, |
| 160 | RunE: func(cmd *cobra.Command, _ []string) error { |
| 161 | client, err := clientFromDeps(deps) |
| 162 | if err != nil { |
| 163 | return err |
| 164 | } |
| 165 | selector, err := resolveMemorySelectorFlags(deps, flags, memorySelectorOptions{DefaultWorkspace: true}) |
| 166 | if err != nil { |
| 167 | return err |
| 168 | } |
| 169 | typ, err := parseOptionalMemoryType(typeRaw) |
| 170 | if err != nil { |
| 171 | return err |
| 172 | } |
| 173 | selector.IncludeSystem = includeSystem |
| 174 | response, err := client.ListMemory(cmd.Context(), MemoryListQuery{ |
| 175 | MemorySelectorQuery: selector, |
| 176 | Type: typ, |
| 177 | IncludeShadowed: includeShadowed, |
| 178 | }) |
| 179 | if err != nil { |
| 180 | return err |
| 181 | } |
| 182 | return writeCommandOutput(cmd, memoryListBundle(response, deps.now)) |
| 183 | }, |
| 184 | } |
| 185 | addMemorySelectorFlags(cmd, &flags) |
| 186 | cmd.Flags().StringVar(&typeRaw, memoryTypeKey, "", "Memory type: user, feedback, project, or reference") |
| 187 | cmd.Flags().BoolVar(&includeShadowed, "include-shadowed", false, "Include shadowed entries") |
| 188 | cmd.Flags().BoolVar(&includeSystem, "include-system", false, "Include _system memory entries") |
| 189 | return cmd |
| 190 | } |
| 191 | |
| 192 | func newMemoryShowCommand(deps commandDeps) *cobra.Command { |
| 193 | var flags memorySelectorFlags |
no test coverage detected