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

Function fanOutDesignationMetadata

internal/api/core/tasks.go:2270–2291  ·  view source on GitHub ↗
(
	index int,
	designation contract.TaskFanOutRunDesignationRequest,
)

Source from the content-addressed store, hash-verified

2268}
2269
2270func fanOutDesignationMetadata(
2271 index int,
2272 designation contract.TaskFanOutRunDesignationRequest,
2273) (json.RawMessage, error) {
2274 brief := strings.TrimSpace(designation.Brief)
2275 if brief == "" {
2276 return nil, NewTaskValidationError(fmt.Errorf("designations[%d].brief is required", index))
2277 }
2278 metadata := cloneRawMessage(designation.Metadata)
2279 if len(metadata) > 0 && !json.Valid(metadata) {
2280 return nil, NewTaskValidationError(fmt.Errorf("designations[%d].metadata must be valid JSON", index))
2281 }
2282 payload := fanOutDesignationMetadataPayload{
2283 Designation: fanOutDesignationMetadataDetail{Index: index, Brief: brief},
2284 Metadata: metadata,
2285 }
2286 encoded, err := json.Marshal(payload)
2287 if err != nil {
2288 return nil, fmt.Errorf("task fan-out metadata: %w", err)
2289 }
2290 return encoded, nil
2291}
2292
2293func fanOutDesignationIdempotencyKey(
2294 requestKey string,

Callers 1

Calls 3

NewTaskValidationErrorFunction · 0.85
cloneRawMessageFunction · 0.70
ValidMethod · 0.45

Tested by

no test coverage detected