cost

package
v1.0.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 7, 2026 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
const (
	BillableStageSubmit    = "submit"
	BillableStageCompleted = "completed"
)

Variables

This section is empty.

Functions

func ValidateUsageFacts

func ValidateUsageFacts(rawFacts []map[string]any, schema tool.DataSchema) error

Types

type DefaultRecorder

type DefaultRecorder struct{}

func NewDefaultRecorder

func NewDefaultRecorder() *DefaultRecorder

func (*DefaultRecorder) RecordNodeSuccess

func (r *DefaultRecorder) RecordNodeSuccess(ctx context.Context, recordCtx RecordContext) ([]UsageFact, error)

type RecordContext

type RecordContext struct {
	NodeRuntimeID int64
	TaskID        int64
	RootTaskID    int64
	WorkflowName  string
	NodeName      string
	NodeType      string
	StepName      string
	Input         map[string]any
	OutputHash    string
	Output        map[string]any
	UsageFacts    []map[string]any
}

type Recorder

type Recorder interface {
	RecordNodeSuccess(ctx context.Context, recordCtx RecordContext) ([]UsageFact, error)
}

type ResourceType

type ResourceType string
const (
	ResourceTypeTTS             ResourceType = "tts"
	ResourceTypeLLM             ResourceType = "llm"
	ResourceTypeVLM             ResourceType = "vlm"
	ResourceTypeImageGeneration ResourceType = "image_generation"
	ResourceTypeVideoGeneration ResourceType = "video_generation"
)

type TaskCostTraceRecorder

type TaskCostTraceRecorder struct {
	// contains filtered or unexported fields
}

func NewTaskCostTraceRecorder

func NewTaskCostTraceRecorder(
	taskRepo taskSummaryStore,
	traceRepo taskCostTraceStore,
) *TaskCostTraceRecorder

func (*TaskCostTraceRecorder) RecordNodeSuccess

func (r *TaskCostTraceRecorder) RecordNodeSuccess(ctx context.Context, recordCtx RecordContext) ([]UsageFact, error)

type UsageFact

type UsageFact struct {
	ResourceType      ResourceType
	Provider          string
	Model             string
	ProviderRequestID string
	UsageQuantity     float64
	UsageUnit         string
	UsageBreakdown    map[string]any
	EstimatedCost     float64
	Billable          bool
}

func ParseUsageFact

func ParseUsageFact(raw map[string]any) (*UsageFact, bool, error)

func ParseUsageFacts

func ParseUsageFacts(rawFacts []map[string]any) ([]UsageFact, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL