Files
agent-radar 2ed3415fb7
Publish Claude Code Binaries / Stage and publish binaries (push) Canceled after 0s
Publish Tutti App Runtime / Build darwin-arm64 (push) Canceled after 0s
Publish Tutti App Runtime / Build darwin-amd64 (push) Canceled after 0s
Publish Tutti App Runtime / Build linux-amd64 (push) Canceled after 0s
Publish Tutti App Runtime / Build windows-amd64 (push) Canceled after 0s
Sync Tutti Agent Skills / sync (push) Canceled after 0s
Windows Agent Adapters / Test Windows agent adapters (push) Canceled after 0s
Windows Daemon Adapters / Test Windows daemon adapters (push) Canceled after 0s
Publish Tutti App Runtime / Publish runtime catalog (push) Canceled after 0s
源码快照 @ 2026-09-01 (source-only, 剔除非源码素材)
2026-09-01 20:17:27 +08:00
..

Analytics Reporter for Go

reporter-go is the product-neutral daemon analytics transport shared by Tutti applications. It owns the DataFinder SDK adapter, stable device/session identity, common parameter precedence, debug reporting, and disabled fallback.

Product repositories own event names, schemas, HTTP contracts, and typed event helpers. Renderer code must report through its daemon rather than importing this Go module directly.

Hosts that attach dynamic account context must use Config.DynamicContextProvider. It returns the event common parameters and the matching DataFinder user identity together so one event cannot mix account states across a concurrent login or logout.

Production DataFinder reporting requires either Config.StateDir or an explicit Config.SDKLogDir for bounded SDK log files. SDKLogDir is useful when a host must preserve an existing log path; otherwise logs default to <StateDir>/analytics/sdk-logs. Debug-only reporting may omit both when a stable device ID is supplied.

The DataFinder SDK is process-global. A process may construct multiple production reporters only when their App ID, key, endpoint, and SDK log directory are identical; a conflicting second configuration returns an error.