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

Function SkillPayloadFromSkill

internal/api/core/conversions.go:1383–1415  ·  view source on GitHub ↗

SkillPayloadFromSkill converts a skills.Skill into the shared HTTP payload.

(skill *skills.Skill)

Source from the content-addressed store, hash-verified

1381
1382// SkillPayloadFromSkill converts a skills.Skill into the shared HTTP payload.
1383func SkillPayloadFromSkill(skill *skills.Skill) contract.SkillPayload {
1384 if skill == nil {
1385 return contract.SkillPayload{}
1386 }
1387
1388 payload := contract.SkillPayload{
1389 Name: skill.Meta.Name,
1390 Description: skill.Meta.Description,
1391 Version: skill.Meta.Version,
1392 Source: skills.SkillSourceName(skill.Source),
1393 Enabled: skill.Enabled,
1394 Dir: skill.Dir,
1395 Metadata: skill.Meta.Metadata,
1396 Diagnostics: SkillDiagnosticPayloadsFromDiagnostics(skills.DiagnosticsForSkill(skill)),
1397 }
1398 payload.Provenance = &contract.ProvenancePayload{
1399 InstalledFromBundle: strings.TrimSpace(skill.InstalledFromBundle),
1400 InstalledFromExtension: strings.TrimSpace(skill.InstalledFromExtension),
1401 PrecedenceTier: skills.SkillPrecedenceTierName(skill.Source),
1402 ShadowedBy: SkillShadowEntryPayloadsFromRefs(skill.Diagnostics.ShadowedDefinitions),
1403 }
1404 if skill.Provenance != nil {
1405 payload.Provenance.Slug = skill.Provenance.Slug
1406 payload.Provenance.Registry = skill.Provenance.Registry
1407 payload.Provenance.Version = skill.Provenance.Version
1408 if !skill.Provenance.InstalledAt.IsZero() {
1409 installedAt := skill.Provenance.InstalledAt.UTC()
1410 payload.Provenance.InstalledAt = &installedAt
1411 }
1412 }
1413
1414 return payload
1415}
1416
1417// SkillShadowsResponseFromDomain converts one resolver shadow snapshot into the shared API payload.
1418func SkillShadowsResponseFromDomain(snapshot skills.SkillShadows) contract.SkillShadowsResponse {

Callers 4

skillViewMethod · 0.92
SkillPayloadsFromSkillsFunction · 0.85
GetSkillMethod · 0.85

Calls 6

SkillSourceNameFunction · 0.92
DiagnosticsForSkillFunction · 0.92
SkillPrecedenceTierNameFunction · 0.92
IsZeroMethod · 0.45

Tested by 1