( ctx context.Context, scope toolspkg.Scope, req toolspkg.CallRequest, )
| 3415 | } |
| 3416 | |
| 3417 | func (n *daemonNativeTools) autonomyComplete( |
| 3418 | ctx context.Context, |
| 3419 | scope toolspkg.Scope, |
| 3420 | req toolspkg.CallRequest, |
| 3421 | ) (toolspkg.ToolResult, error) { |
| 3422 | var input autonomyCompleteInput |
| 3423 | if err := decodeNativeInput(req, &input); err != nil { |
| 3424 | return toolspkg.ToolResult{}, err |
| 3425 | } |
| 3426 | actor, sessionID, err := autonomyActorContext(req.ToolID, scope) |
| 3427 | if err != nil { |
| 3428 | return toolspkg.ToolResult{}, err |
| 3429 | } |
| 3430 | runID, err := requiredNativeString(req.ToolID, "run_id", input.RunID) |
| 3431 | if err != nil { |
| 3432 | return toolspkg.ToolResult{}, err |
| 3433 | } |
| 3434 | result := taskpkg.RunResult{Value: cloneJSON(input.Result)} |
| 3435 | if err := result.Validate("run_result"); err != nil { |
| 3436 | return toolspkg.ToolResult{}, nativeAutonomyToolError(req.ToolID, err) |
| 3437 | } |
| 3438 | handle, err := n.lookupAutonomyLease(ctx, req.ToolID, sessionID, runID) |
| 3439 | if err != nil { |
| 3440 | return toolspkg.ToolResult{}, err |
| 3441 | } |
| 3442 | run, err := n.deps.Tasks.CompleteRunLease(ctx, taskpkg.LeaseCompletion{ |
| 3443 | RunID: runID, |
| 3444 | ClaimToken: handle.ClaimToken, |
| 3445 | Result: result, |
| 3446 | CreatedTaskIDs: trimNativeStrings(input.CreatedTaskIDs), |
| 3447 | }, actor) |
| 3448 | if err != nil { |
| 3449 | return toolspkg.ToolResult{}, nativeAutonomyToolError(req.ToolID, err) |
| 3450 | } |
| 3451 | lease := core.AgentTaskLeasePayloadFromRun(run, nil) |
| 3452 | return structuredResult(map[string]any{nativeToolsLeaseKey: lease}, fmt.Sprintf("completed %s", lease.RunID)) |
| 3453 | } |
| 3454 | |
| 3455 | func (n *daemonNativeTools) autonomyFail( |
| 3456 | ctx context.Context, |
nothing calls this directly
no test coverage detected