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

Method metadata

internal/cli/agent_kernel.go:346–383  ·  view source on GitHub ↗
(
	channel string,
	defaultKind contract.CoordinationMessageKind,
	required bool,
)

Source from the content-addressed store, hash-verified

344}
345
346func (f coordinationMetadataFlags) metadata(
347 channel string,
348 defaultKind contract.CoordinationMessageKind,
349 required bool,
350) (contract.CoordinationMessageMetadataPayload, error) {
351 metadataExt, err := parseNetworkJSONObjectMap("--metadata-ext", f.extRaw)
352 if err != nil {
353 return contract.CoordinationMessageMetadataPayload{}, err
354 }
355
356 kindOverride := f.kindExplicit &&
357 contract.CoordinationMessageKind(strings.TrimSpace(f.kind)) != defaultKind
358 if !required &&
359 strings.TrimSpace(f.taskID) == "" &&
360 strings.TrimSpace(f.runID) == "" &&
361 strings.TrimSpace(f.workflowID) == "" &&
362 strings.TrimSpace(f.coordinationChannelID) == "" &&
363 strings.TrimSpace(f.correlationID) == "" &&
364 len(metadataExt) == 0 &&
365 !kindOverride {
366 return contract.CoordinationMessageMetadataPayload{}, nil
367 }
368
369 kind := contract.CoordinationMessageKind(firstCLIValue(f.kind, string(defaultKind)))
370 metadata := contract.CoordinationMessageMetadataPayload{
371 TaskID: strings.TrimSpace(f.taskID),
372 RunID: strings.TrimSpace(f.runID),
373 WorkflowID: strings.TrimSpace(f.workflowID),
374 CoordinationChannelID: firstCLIValue(f.coordinationChannelID, channel),
375 MessageKind: kind,
376 CorrelationID: firstCLIValue(f.correlationID, f.runID),
377 Ext: metadataExt,
378 }
379 if err := metadata.Validate(); err != nil {
380 return contract.CoordinationMessageMetadataPayload{}, err
381 }
382 return metadata, nil
383}
384
385func requireAgentCommandIdentity(
386 ctx context.Context,

Callers 3

newChannelSendCommandFunction · 0.95
newChannelReplyCommandFunction · 0.95
velite.config.tsFile · 0.80

Calls 4

ValidateMethod · 0.95
CoordinationMessageKindTypeAlias · 0.92
firstCLIValueFunction · 0.85

Tested by

no test coverage detected