( ctx context.Context, scope toolspkg.Scope, req toolspkg.CallRequest, )
| 2226 | } |
| 2227 | |
| 2228 | func (n *daemonNativeTools) sessionDescribe( |
| 2229 | ctx context.Context, |
| 2230 | scope toolspkg.Scope, |
| 2231 | req toolspkg.CallRequest, |
| 2232 | ) (toolspkg.ToolResult, error) { |
| 2233 | input, query, err := decodeSessionEventQueryInput(req) |
| 2234 | if err != nil { |
| 2235 | return toolspkg.ToolResult{}, err |
| 2236 | } |
| 2237 | bound, err := n.nativeBoundSession(ctx, scope) |
| 2238 | if err != nil { |
| 2239 | return toolspkg.ToolResult{}, err |
| 2240 | } |
| 2241 | input.SessionID = nativeBoundSessionID(bound, input.SessionID) |
| 2242 | resolved, err := n.nativeResolvedWorkspace( |
| 2243 | ctx, |
| 2244 | req.ToolID, |
| 2245 | nativeBoundWorkspaceRef(bound, input.WorkspaceID), |
| 2246 | scope, |
| 2247 | ) |
| 2248 | if err != nil { |
| 2249 | return toolspkg.ToolResult{}, err |
| 2250 | } |
| 2251 | sessionWorkspaceID, err := nativeResolvedRegistryWorkspaceID(&resolved) |
| 2252 | if err != nil { |
| 2253 | return toolspkg.ToolResult{}, nativeNetworkInputError(req.ToolID, err) |
| 2254 | } |
| 2255 | info, err := n.nativeSessionInWorkspace(ctx, req.ToolID, sessionWorkspaceID, input.SessionID) |
| 2256 | if err != nil { |
| 2257 | return toolspkg.ToolResult{}, err |
| 2258 | } |
| 2259 | events, err := n.deps.Sessions.Events(ctx, input.SessionID, query) |
| 2260 | if err != nil { |
| 2261 | return toolspkg.ToolResult{}, err |
| 2262 | } |
| 2263 | history, err := n.deps.Sessions.History(ctx, input.SessionID, query) |
| 2264 | if err != nil { |
| 2265 | return toolspkg.ToolResult{}, err |
| 2266 | } |
| 2267 | eventPayload := make([]any, 0, len(events)) |
| 2268 | for _, event := range events { |
| 2269 | eventPayload = append(eventPayload, core.SessionEventPayloadFromEvent(event, info)) |
| 2270 | } |
| 2271 | return structuredResult(map[string]any{ |
| 2272 | nativeToolsSessionKey: core.SessionPayloadFromInfo(info), |
| 2273 | nativeToolsEventsKey: eventPayload, |
| 2274 | nativeToolsHistoryKey: sessionHistoryPayload(history, info), |
| 2275 | }, info.ID) |
| 2276 | } |
| 2277 | |
| 2278 | func (n *daemonNativeTools) workspaceList( |
| 2279 | ctx context.Context, |
nothing calls this directly
no test coverage detected