Documentation
¶
Index ¶
- Variables
- func ApplyStandardRateLimits(resp *http.Response, snap *core.UsageSnapshot)
- func CodingToolHidePrefixes() []string
- func CodingToolSectionOrder() []core.DashboardStandardSection
- func CollectFilesByExt(roots []string, exts map[string]bool) []string
- func CreateStandardRequest(ctx context.Context, baseURL, endpoint, apiKey string, ...) (*http.Request, error)
- func DefaultCodeStatsConfig() core.CodeStatsConfig
- func ExpandHome(path string) string
- func ExtractFilePathsFromPayload(input any) []string
- func FinalizeStatus(snap *core.UsageSnapshot)
- func FirstNonEmpty(values ...string) string
- func FlexParseTime(value string) time.Time
- func Float64Ptr(v float64) *float64
- func FormatTokenCount(value int) string
- func FormatTokenCountF(value float64) string
- func Int64Ptr(v int64) *int64
- func ParseFlexibleTimestamp(value string) (int64, bool)
- func ParseTimestampString(value string) (time.Time, error)
- func ProcessStandardResponse(resp *http.Response, acct core.AccountConfig, providerID string) (core.UsageSnapshot, error)
- func RequireAPIKey(acct core.AccountConfig, providerID string) (string, *core.UsageSnapshot)
- func ResolveBaseURL(acct core.AccountConfig, defaultURL string) string
- func SanitizeWorkspace(cwd string) string
- func Truncate(s string, maxLen int) string
- func UnixAuto(ts int64) time.Time
- type TelemetryChannel
- type TelemetryCollectOptions
- type TelemetryEvent
- type TelemetryEventType
- type TelemetrySource
- type TelemetryStatus
Constants ¶
This section is empty.
Variables ¶
var CodeStatsCompactLabels = map[string]string{
"composer_lines_added": "added",
"composer_lines_removed": "removed",
"composer_files_changed": "files",
"scored_commits": "commits",
"total_prompts": "prompts",
"ai_code_percentage": "ai %",
}
CodeStatsCompactLabels are compact (tile pill) labels for code stats metrics.
var CodeStatsMetricLabels = map[string]string{
"composer_lines_added": "Lines Added",
"composer_lines_removed": "Lines Removed",
"composer_files_changed": "Files Changed",
"scored_commits": "Commits",
"total_prompts": "Prompts",
"ai_code_percentage": "AI Code",
}
CodeStatsMetricLabels are display labels shared across coding-tool providers.
var ErrHookUnsupported = errors.New("hook parsing not supported")
Functions ¶
func ApplyStandardRateLimits ¶
func ApplyStandardRateLimits(resp *http.Response, snap *core.UsageSnapshot)
func CodingToolHidePrefixes ¶ added in v0.5.8
func CodingToolHidePrefixes() []string
CodingToolHidePrefixes returns the set of metric prefixes hidden by most coding-tool providers.
func CodingToolSectionOrder ¶ added in v0.5.8
func CodingToolSectionOrder() []core.DashboardStandardSection
CodingToolSectionOrder returns the standard section order used by coding-tool providers.
func CreateStandardRequest ¶
func DefaultCodeStatsConfig ¶ added in v0.5.8
func DefaultCodeStatsConfig() core.CodeStatsConfig
DefaultCodeStatsConfig returns the standard CodeStatsConfig used by coding-tool providers.
func ExpandHome ¶
func ExtractFilePathsFromPayload ¶ added in v0.6.3
ExtractFilePathsFromPayload walks a JSON-like structure and extracts file path candidates from values stored under path-related keys. This is used by telemetry adapters to extract tool target file paths for language inference.
func FinalizeStatus ¶
func FinalizeStatus(snap *core.UsageSnapshot)
func FirstNonEmpty ¶
func FlexParseTime ¶
func Float64Ptr ¶
func FormatTokenCount ¶ added in v0.6.3
FormatTokenCount returns a human-readable string for a token count (e.g. "1.5K", "2.3M", "1.0B").
func FormatTokenCountF ¶ added in v0.6.3
FormatTokenCountF is like FormatTokenCount but takes a float64.
func ParseFlexibleTimestamp ¶
func ProcessStandardResponse ¶
func ProcessStandardResponse(resp *http.Response, acct core.AccountConfig, providerID string) (core.UsageSnapshot, error)
func RequireAPIKey ¶
func RequireAPIKey(acct core.AccountConfig, providerID string) (string, *core.UsageSnapshot)
func ResolveBaseURL ¶
func ResolveBaseURL(acct core.AccountConfig, defaultURL string) string
func SanitizeWorkspace ¶
Types ¶
type TelemetryChannel ¶
type TelemetryChannel string
const ( TelemetryChannelHook TelemetryChannel = "hook" TelemetryChannelSSE TelemetryChannel = "sse" TelemetryChannelJSONL TelemetryChannel = "jsonl" TelemetryChannelAPI TelemetryChannel = "api" TelemetryChannelSQLite TelemetryChannel = "sqlite" )
type TelemetryCollectOptions ¶
type TelemetryEvent ¶
type TelemetryEvent struct {
SchemaVersion string
Channel TelemetryChannel
OccurredAt time.Time
AccountID string
WorkspaceID string
SessionID string
TurnID string
MessageID string
ToolCallID string
ProviderID string
AgentName string
EventType TelemetryEventType
ModelRaw string
InputTokens *int64
OutputTokens *int64
ReasoningTokens *int64
CacheReadTokens *int64
CacheWriteTokens *int64
TotalTokens *int64
CostUSD *float64
Requests *int64
ToolName string
Status TelemetryStatus
Payload map[string]any
}
type TelemetryEventType ¶
type TelemetryEventType string
const ( TelemetryEventTypeTurnCompleted TelemetryEventType = "turn_completed" TelemetryEventTypeMessageUsage TelemetryEventType = "message_usage" TelemetryEventTypeToolUsage TelemetryEventType = "tool_usage" TelemetryEventTypeRawEnvelope TelemetryEventType = "raw_envelope" )
type TelemetrySource ¶
type TelemetrySource interface {
System() string
Collect(ctx context.Context, opts TelemetryCollectOptions) ([]TelemetryEvent, error)
ParseHookPayload(raw []byte, opts TelemetryCollectOptions) ([]TelemetryEvent, error)
}
type TelemetryStatus ¶
type TelemetryStatus string
const ( TelemetryStatusOK TelemetryStatus = "ok" TelemetryStatusError TelemetryStatus = "error" TelemetryStatusAborted TelemetryStatus = "aborted" TelemetryStatusUnknown TelemetryStatus = "unknown" )