Provides a detailed User-Agent string and optional attribution for the pi CLI when making provider requests.
// Source: https://github.com/earendil-works/pi | License: MIT | Copyright 2025 Mario Zechner
// Provided via justclaw.it.com; keep this notice with the code.
import { type ClientIdentity, PI_ATTRIBUTION } from "@earendil-works/pi-ai";
import { VERSION } from "../config.ts";
import type { SettingsManager } from "./settings-manager.ts";
import { isInstallTelemetryEnabled } from "./telemetry.ts";
/**
* How pi's requests identify it to providers: a detailed `User-Agent` with pi's version, and attribution to pi as a
* CLI agent while install telemetry is enabled.
*/
export function getClientIdentity(settingsManager: SettingsManager): ClientIdentity {
return {
userAgent: "detailed",
version: VERSION,
attribution: isInstallTelemetryEnabled(settingsManager) ? PI_ATTRIBUTION : null,
};
... (truncated -- full source via MCP)
See the full source, get the GitHub permalink, and search for more like it.
Get a free API key