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

Method networkInbox

internal/daemon/native_tools.go:1381–1424  ·  view source on GitHub ↗
(
	ctx context.Context,
	scope toolspkg.Scope,
	req toolspkg.CallRequest,
)

Source from the content-addressed store, hash-verified

1379}
1380
1381func (n *daemonNativeTools) networkInbox(
1382 ctx context.Context,
1383 scope toolspkg.Scope,
1384 req toolspkg.CallRequest,
1385) (toolspkg.ToolResult, error) {
1386 var input networkInboxInput
1387 if err := decodeNativeInput(req, &input); err != nil {
1388 return toolspkg.ToolResult{}, err
1389 }
1390 bound, err := n.nativeBoundSession(ctx, scope)
1391 if err != nil {
1392 return toolspkg.ToolResult{}, err
1393 }
1394 sessionID := nativeBoundSessionID(bound, input.SessionID, req.SessionID, scope.SessionID)
1395 if sessionID == "" {
1396 return toolspkg.ToolResult{}, nativeRequiredInputError(req.ToolID, "session_id")
1397 }
1398 resolved, err := n.nativeResolvedWorkspace(
1399 ctx,
1400 req.ToolID,
1401 nativeBoundWorkspaceRef(bound, input.WorkspaceID),
1402 scope,
1403 )
1404 if err != nil {
1405 return toolspkg.ToolResult{}, err
1406 }
1407 sessionWorkspaceID, err := nativeResolvedRegistryWorkspaceID(&resolved)
1408 if err != nil {
1409 return toolspkg.ToolResult{}, nativeNetworkInputError(req.ToolID, err)
1410 }
1411 if err := n.requireNativeSessionWorkspace(ctx, req.ToolID, sessionWorkspaceID, sessionID); err != nil {
1412 return toolspkg.ToolResult{}, err
1413 }
1414 messages, err := n.deps.Network.Inbox(ctx, sessionID)
1415 if err != nil {
1416 return toolspkg.ToolResult{}, err
1417 }
1418 messages = nativeFilterNetworkEnvelopes(bound, messages)
1419 payload := core.NetworkEnvelopePayloadsFromEnvelopes(messages)
1420 return structuredNetworkResult(
1421 map[string]any{nativeToolsMessagesKey: payload},
1422 fmt.Sprintf("%d messages", len(payload)),
1423 )
1424}
1425
1426func (n *daemonNativeTools) networkSend(
1427 ctx context.Context,

Callers

nothing calls this directly

Tested by

no test coverage detected