(cmd *cobra.Command, deps commandDeps, raw string)
| 1344 | } |
| 1345 | |
| 1346 | func resolveMemoryContent(cmd *cobra.Command, deps commandDeps, raw string) (string, error) { |
| 1347 | flag := cmd.Flags().Lookup(memoryContentKey) |
| 1348 | flagChanged := flag != nil && flag.Changed |
| 1349 | stdinContent, err := readOptionalCommandInput(cmd.InOrStdin()) |
| 1350 | if err != nil { |
| 1351 | return "", err |
| 1352 | } |
| 1353 | if flagChanged && strings.TrimSpace(stdinContent) != "" && strings.TrimSpace(raw) != "-" { |
| 1354 | return "", errors.New("memory.content_conflict: provide memory content via --content or stdin, not both") |
| 1355 | } |
| 1356 | if flagChanged { |
| 1357 | if strings.TrimSpace(raw) == "-" { |
| 1358 | if strings.TrimSpace(stdinContent) == "" { |
| 1359 | return "", errors.New("memory.content_required: stdin content is required") |
| 1360 | } |
| 1361 | return stdinContent, nil |
| 1362 | } |
| 1363 | return resolveMemoryContentValue(deps, raw, cmd.InOrStdin()) |
| 1364 | } |
| 1365 | if strings.TrimSpace(stdinContent) != "" { |
| 1366 | return stdinContent, nil |
| 1367 | } |
| 1368 | return "", errors.New("memory.content_required: content is required via --content or stdin") |
| 1369 | } |
| 1370 | |
| 1371 | func resolveMemoryContentValue(deps commandDeps, raw string, stdin io.Reader) (string, error) { |
| 1372 | trimmed := strings.TrimSpace(raw) |
no test coverage detected