( ctx context.Context, scope toolspkg.Scope, req toolspkg.CallRequest, )
| 396 | } |
| 397 | |
| 398 | func (n *daemonNativeTools) hooksRuns( |
| 399 | ctx context.Context, |
| 400 | scope toolspkg.Scope, |
| 401 | req toolspkg.CallRequest, |
| 402 | ) (toolspkg.ToolResult, error) { |
| 403 | var input hooksRunsInput |
| 404 | if err := decodeNativeInput(req, &input); err != nil { |
| 405 | return toolspkg.ToolResult{}, err |
| 406 | } |
| 407 | query, err := input.query() |
| 408 | if err != nil { |
| 409 | return toolspkg.ToolResult{}, nativeHookValidationError(req.ToolID, err) |
| 410 | } |
| 411 | resolved, err := n.nativeResolvedWorkspace(ctx, req.ToolID, input.WorkspaceID, scope) |
| 412 | if err != nil { |
| 413 | return toolspkg.ToolResult{}, err |
| 414 | } |
| 415 | sessionWorkspaceID, err := nativeResolvedRegistryWorkspaceID(&resolved) |
| 416 | if err != nil { |
| 417 | return toolspkg.ToolResult{}, nativeNetworkInputError(req.ToolID, err) |
| 418 | } |
| 419 | if _, err := n.nativeSessionInWorkspace(ctx, req.ToolID, sessionWorkspaceID, query.SessionID); err != nil { |
| 420 | return toolspkg.ToolResult{}, err |
| 421 | } |
| 422 | runs, err := n.deps.Observer.QueryHookRuns(ctx, query) |
| 423 | if err != nil { |
| 424 | return toolspkg.ToolResult{}, err |
| 425 | } |
| 426 | payload := core.HookRunPayloadsFromRecords(runs) |
| 427 | return structuredResult( |
| 428 | map[string]any{nativeConfigHookToolsRunsKey: payload}, |
| 429 | fmt.Sprintf("%d hook runs", len(payload)), |
| 430 | ) |
| 431 | } |
| 432 | |
| 433 | func (n *daemonNativeTools) hooksCreate( |
| 434 | ctx context.Context, |
nothing calls this directly
no test coverage detected