Ctrl K
ComunidadGuías…

internal/approvalgate/executed_call.go

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
package approvalgate

import (
	"encoding/json"

	"github.com/yeomyeonggeori/blueprotocol/holdrecord"
	"github.com/yeomyeonggeori/blueprotocol/taskstate"
)

func RecordApprovalSpent(taskRunStore taskstate.TaskRunStore, taskRunID string, toolName string, toolInput json.RawMessage) string {
	approvedHold, _ := holdrecord.ApprovedHoldForCall(holdrecord.Holds(taskRunStore.ListTaskEvent(taskRunID)), toolName, toolInput)
	holdrecord.Spend(taskRunStore, taskRunID, approvedHold.ID, toolName, approvedInputOf(approvedHold, toolInput))
	return approvedHold.ID
}

func approvedInputOf(approvedHold holdrecord.Hold, requestedInput json.RawMessage) json.RawMessage {
	if approvedHold.ID == "" {
		return requestedInput
	}
	return approvedHold.Call.ApprovedInput()
}