(deps commandDeps)
| 298 | } |
| 299 | |
| 300 | func newMemoryEditCommand(deps commandDeps) *cobra.Command { |
| 301 | var flags memorySelectorFlags |
| 302 | var typeRaw string |
| 303 | var name string |
| 304 | var description string |
| 305 | var contentFlag string |
| 306 | var dryRun bool |
| 307 | |
| 308 | cmd := &cobra.Command{ |
| 309 | Use: "edit <filename> --content <@file|text>", |
| 310 | Short: "Edit a Memory v2 entry through the controller", |
| 311 | Args: exactOneNonBlankArg(), |
| 312 | RunE: func(cmd *cobra.Command, args []string) error { |
| 313 | client, err := clientFromDeps(deps) |
| 314 | if err != nil { |
| 315 | return err |
| 316 | } |
| 317 | selector, err := resolveMemorySelectorFlags(deps, flags, memorySelectorOptions{DefaultWorkspace: true}) |
| 318 | if err != nil { |
| 319 | return err |
| 320 | } |
| 321 | typ, err := parseOptionalMemoryType(typeRaw) |
| 322 | if err != nil { |
| 323 | return err |
| 324 | } |
| 325 | content, err := resolveMemoryContent(cmd, deps, contentFlag) |
| 326 | if err != nil { |
| 327 | return err |
| 328 | } |
| 329 | response, err := client.EditMemory(cmd.Context(), strings.TrimSpace(args[0]), MemoryEditRequest{ |
| 330 | Scope: selector.Scope, |
| 331 | WorkspaceID: selector.WorkspaceID, |
| 332 | AgentName: selector.AgentName, |
| 333 | AgentTier: selector.AgentTier, |
| 334 | Type: typ, |
| 335 | Name: strings.TrimSpace(name), |
| 336 | Description: strings.TrimSpace(description), |
| 337 | Content: content, |
| 338 | DryRun: dryRun, |
| 339 | }) |
| 340 | if err != nil { |
| 341 | return err |
| 342 | } |
| 343 | return writeCommandOutput(cmd, memoryMutationBundle("Memory Edit", response)) |
| 344 | }, |
| 345 | } |
| 346 | addMemorySelectorFlags(cmd, &flags) |
| 347 | cmd.Flags().StringVar(&typeRaw, memoryTypeKey, "", "Memory type override") |
| 348 | cmd.Flags().StringVar(&name, automationNameKey, "", "Memory display name override") |
| 349 | cmd.Flags().StringVar(&description, memoryDescriptionKey, "", "Memory description override") |
| 350 | cmd.Flags(). |
| 351 | StringVar(&contentFlag, memoryContentKey, "", "Memory content; use @file to read from disk or - for stdin") |
| 352 | cmd.Flags().BoolVar(&dryRun, "dry-run", false, "Ask the controller for a decision without applying it") |
| 353 | mustMarkFlagRequired(cmd, memoryContentKey) |
| 354 | return cmd |
| 355 | } |
| 356 | |
| 357 | func newMemoryDeleteCommand(deps commandDeps) *cobra.Command { |
no test coverage detected