( ctx context.Context, scope toolspkg.Scope, req toolspkg.CallRequest, )
| 1379 | } |
| 1380 | |
| 1381 | func (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 | |
| 1426 | func (n *daemonNativeTools) networkSend( |
| 1427 | ctx context.Context, |
nothing calls this directly
no test coverage detected