MCPcopy Create free account
hub / github.com/compozy/agh / newMemoryWriteCommand

Function newMemoryWriteCommand

internal/cli/memory.go:227–298  ·  view source on GitHub ↗
(deps commandDeps)

Source from the content-addressed store, hash-verified

225}
226
227func newMemoryWriteCommand(deps commandDeps) *cobra.Command {
228 var flags memorySelectorFlags
229 var typeRaw string
230 var name string
231 var description string
232 var contentFlag string
233 var dryRun bool
234
235 cmd := &cobra.Command{
236 Use: "write --type <type> --name <name> --content <@file|text>",
237 Short: "Create a Memory v2 entry through the controller",
238 Example: ` # Write workspace-scoped project memory from a file
239 agh memory write --scope workspace --type project --name "Runtime docs" --content @runtime.md
240
241 # Write agent-global feedback
242 agh memory write --scope agent --agent reviewer --agent-tier global \
243 --type feedback --name "Review tone" --content @feedback.md`,
244 Args: cobra.NoArgs,
245 RunE: func(cmd *cobra.Command, _ []string) error {
246 client, err := clientFromDeps(deps)
247 if err != nil {
248 return err
249 }
250 typ, err := parseRequiredMemoryType(typeRaw)
251 if err != nil {
252 return err
253 }
254 defaultScope, err := memcontract.DefaultScopeForType(typ)
255 if err != nil {
256 return err
257 }
258 selector, err := resolveMemorySelectorFlags(deps, flags, memorySelectorOptions{DefaultScope: defaultScope})
259 if err != nil {
260 return err
261 }
262 content, err := resolveMemoryContent(cmd, deps, contentFlag)
263 if err != nil {
264 return err
265 }
266 if strings.TrimSpace(name) == "" {
267 return errors.New("memory.name_required: --name is required")
268 }
269 response, err := client.CreateMemory(cmd.Context(), MemoryCreateRequest{
270 Scope: selector.Scope,
271 WorkspaceID: selector.WorkspaceID,
272 AgentName: selector.AgentName,
273 AgentTier: selector.AgentTier,
274 Origin: memcontract.OriginCLI,
275 Type: typ,
276 Name: strings.TrimSpace(name),
277 Description: strings.TrimSpace(description),
278 Content: content,
279 DryRun: dryRun,
280 })
281 if err != nil {
282 return err
283 }
284 return writeCommandOutput(cmd, memoryMutationBundle("Memory Write", response))

Callers 1

newMemoryCommandFunction · 0.85

Calls 9

clientFromDepsFunction · 0.85
parseRequiredMemoryTypeFunction · 0.85
resolveMemoryContentFunction · 0.85
writeCommandOutputFunction · 0.85
memoryMutationBundleFunction · 0.85
addMemorySelectorFlagsFunction · 0.85
mustMarkFlagRequiredFunction · 0.85
CreateMemoryMethod · 0.65

Tested by

no test coverage detected