Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( // PostHogAPIKey is set at build time for production PostHogAPIKey = "phc_development_key" // PostHogEndpoint is set at build time for production PostHogEndpoint = "https://eu.i.posthog.com" )
Functions ¶
func SendEvent ¶
func SendEvent(payloadJSON string)
SendEvent processes an event payload in the detached subprocess. This is called by the hidden __send_analytics command.
func TrackCommandDetached ¶
TrackCommandDetached tracks a command execution by spawning a detached subprocess. This returns immediately without blocking the CLI.
func TrackPluginDetached ¶ added in v0.6.1
TrackPluginDetached records a plugin invocation. Call sites must gate on the plugin allowlist — this function does no name filtering itself.
Types ¶
type EventPayload ¶
type EventPayload struct {
Event string `json:"event"`
DistinctID string `json:"distinct_id"`
Properties map[string]any `json:"properties"`
Timestamp time.Time `json:"timestamp"`
}
EventPayload represents the data passed to the detached subprocess. Note: APIKey and Endpoint are intentionally excluded to avoid exposing them in process listings (ps/top). SendEvent reads them from package-level vars.
func BuildEventPayload ¶
func BuildEventPayload(cmd *cobra.Command, agent string, isEntireEnabled bool, version string) *EventPayload
BuildEventPayload constructs the event payload for tracking. Exported for testing. Returns nil if the payload cannot be built.
func BuildPluginEventPayload ¶ added in v0.6.1
func BuildPluginEventPayload(pluginName string, isEntireEnabled bool, version string) *EventPayload
BuildPluginEventPayload deliberately omits plugin args/flags — only the allowlisted plugin name is recorded. Returns nil on failure.