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

Function toolDescriptorPayload

internal/api/core/tools.go:313–336  ·  view source on GitHub ↗

toolDescriptorPayload detaches registry-owned descriptor data from transport DTOs.

(d toolspkg.Descriptor)

Source from the content-addressed store, hash-verified

311
312// toolDescriptorPayload detaches registry-owned descriptor data from transport DTOs.
313func toolDescriptorPayload(d toolspkg.Descriptor) contract.ToolDescriptorPayload {
314 return contract.ToolDescriptorPayload{
315 ToolID: d.ID,
316 Backend: toolBackendPayload(d.Backend),
317 DisplayTitle: d.DisplayTitle,
318 Description: d.Description,
319 InputSchema: cloneRawMessage(d.InputSchema),
320 OutputSchema: cloneRawMessage(d.OutputSchema),
321 InputSchemaDigest: d.InputSchemaDigest,
322 OutputSchemaDigest: d.OutputSchemaDigest,
323 Source: toolSourcePayload(d.Source),
324 Visibility: d.Visibility,
325 Risk: d.Risk,
326 ReadOnly: d.ReadOnly,
327 Destructive: d.Destructive,
328 OpenWorld: d.OpenWorld,
329 RequiresInteraction: d.RequiresInteraction,
330 ConcurrencySafe: d.ConcurrencySafe,
331 MaxResultBytes: d.MaxResultBytes,
332 Toolsets: append([]toolspkg.ToolsetID(nil), d.Toolsets...),
333 Tags: append([]string(nil), d.Tags...),
334 SearchHints: append([]string(nil), d.SearchHints...),
335 }
336}
337
338// toolBackendPayload preserves backend routing metadata without exposing registry internals.
339func toolBackendPayload(backend toolspkg.BackendRef) contract.ToolBackendRefPayload {

Callers 1

ToolPayloadFromViewFunction · 0.85

Calls 4

toolBackendPayloadFunction · 0.85
toolSourcePayloadFunction · 0.85
appendFunction · 0.85
cloneRawMessageFunction · 0.70

Tested by

no test coverage detected