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

Function resolveMemoryWriteScope

internal/api/core/memory.go:2485–2515  ·  view source on GitHub ↗
(req contract.MemoryWriteRequest)

Source from the content-addressed store, hash-verified

2483}
2484
2485func resolveMemoryWriteScope(req contract.MemoryWriteRequest) (memcontract.Scope, string, error) {
2486 content := strings.TrimSpace(req.Content)
2487 if content == "" {
2488 return "", "", NewMemoryValidationError(errors.New("content is required"))
2489 }
2490
2491 scope, err := parseOptionalMemoryScope(req.Scope)
2492 if err != nil {
2493 return "", "", err
2494 }
2495 if scope == "" {
2496 header, err := memory.ParseHeader([]byte(content))
2497 if err != nil {
2498 return "", "", err
2499 }
2500 scope, err = memcontract.DefaultScopeForType(header.Type)
2501 if err != nil {
2502 return "", "", NewMemoryValidationError(err)
2503 }
2504 }
2505
2506 if scope == memcontract.ScopeWorkspace {
2507 workspace, err := resolveMemoryWorkspace(req.Workspace)
2508 if err != nil {
2509 return "", "", err
2510 }
2511 return scope, workspace, nil
2512 }
2513
2514 return scope, "", nil
2515}
2516
2517// ParseOptionalMemoryScope validates an optional memory scope value.
2518func ParseOptionalMemoryScope(raw string) (memcontract.Scope, error) {

Callers 1

ResolveMemoryWriteScopeFunction · 0.70

Calls 4

ParseHeaderFunction · 0.92
NewMemoryValidationErrorFunction · 0.85
parseOptionalMemoryScopeFunction · 0.70
resolveMemoryWorkspaceFunction · 0.70

Tested by

no test coverage detected