( ctx context.Context, scope toolspkg.Scope, req toolspkg.CallRequest, )
| 1328 | } |
| 1329 | |
| 1330 | func (n *daemonNativeTools) networkChannels( |
| 1331 | ctx context.Context, |
| 1332 | scope toolspkg.Scope, |
| 1333 | req toolspkg.CallRequest, |
| 1334 | ) (toolspkg.ToolResult, error) { |
| 1335 | var input networkChannelsInput |
| 1336 | if err := decodeNativeInput(req, &input); err != nil { |
| 1337 | return toolspkg.ToolResult{}, err |
| 1338 | } |
| 1339 | bound, err := n.nativeBoundSession(ctx, scope) |
| 1340 | if err != nil { |
| 1341 | return toolspkg.ToolResult{}, err |
| 1342 | } |
| 1343 | workspaceID, err := n.nativeNetworkWorkspaceID( |
| 1344 | ctx, |
| 1345 | req.ToolID, |
| 1346 | nativeBoundWorkspaceRef(bound, input.WorkspaceID), |
| 1347 | scope, |
| 1348 | ) |
| 1349 | if err != nil { |
| 1350 | return toolspkg.ToolResult{}, err |
| 1351 | } |
| 1352 | var channels any |
| 1353 | var count int |
| 1354 | if n.deps.Sessions != nil && n.deps.NetworkStore != nil { |
| 1355 | payload, err := core.NetworkChannelPayloads( |
| 1356 | ctx, |
| 1357 | n.deps.Network, |
| 1358 | n.deps.Sessions, |
| 1359 | n.deps.NetworkStore, |
| 1360 | workspaceID, |
| 1361 | ) |
| 1362 | if err != nil { |
| 1363 | return toolspkg.ToolResult{}, err |
| 1364 | } |
| 1365 | payload = nativeFilterNetworkChannelPayloads(bound, payload) |
| 1366 | channels = payload |
| 1367 | count = len(payload) |
| 1368 | } else { |
| 1369 | infos, err := n.deps.Network.ListChannels(ctx, workspaceID) |
| 1370 | if err != nil { |
| 1371 | return toolspkg.ToolResult{}, err |
| 1372 | } |
| 1373 | payload := core.NetworkChannelPayloadsFromInfos(infos) |
| 1374 | payload = nativeFilterNetworkChannelPayloads(bound, payload) |
| 1375 | channels = payload |
| 1376 | count = len(payload) |
| 1377 | } |
| 1378 | return structuredNetworkResult(map[string]any{"channels": channels}, fmt.Sprintf("%d channels", count)) |
| 1379 | } |
| 1380 | |
| 1381 | func (n *daemonNativeTools) networkInbox( |
| 1382 | ctx context.Context, |
nothing calls this directly
no test coverage detected