refactor(coding-agent): remove the NODE_ENV=test telemetry branch (#1848)
10 unmodified lines11121314151617181931 unmodified lines10 unmodified lines test: { globals: true, environment: "node", testTimeout: 30000, env: { DO_NOT_TRACK: "1" }, tags: [ { name: "process-stress", description: "Slow real-process stress and wall-clock scheduling coverage",31 unmodified lines1- Stopped treating `NODE_ENV=test` as an implicit telemetry opt-out.27 unmodified lines28293031323334353613 unmodified lines50515253545556575823 unmodified lines828384858687888990321 unmodified linesExpand all27 unmodified lines } });
it("shows the telemetry disclosure independently of the Herdr reporter", async () => { vi.stubEnv("DO_NOT_TRACK", "0"); vi.stubEnv("PRIME_AGENT_TELEMETRY", "1"); const tempDir = join(tmpdir(), `pi-session-telemetry-notice-${Date.now()}`); mkdirSync(tempDir, { recursive: true }); cleanupPaths.push(tempDir);13 unmodified lines expect(settingsManager.getTelemetryNoticeShown()).toBe(true); });
it("honors an explicit daemon-carried telemetry opt-out", async () => { vi.stubEnv("DO_NOT_TRACK", "0"); vi.stubEnv("PRIME_AGENT_TELEMETRY", "1"); const tempDir = join(tmpdir(), `pi-session-daemon-telemetry-opt-out-${Date.now()}`); mkdirSync(tempDir, { recursive: true }); cleanupPaths.push(tempDir);23 unmodified lines } });
it("does not install top-level telemetry for a resumed child session", async () => { vi.stubEnv("DO_NOT_TRACK", "0"); vi.stubEnv("PRIME_AGENT_TELEMETRY", "1"); const tempDir = join(tmpdir(), `pi-session-child-telemetry-${Date.now()}`); mkdirSync(tempDir, { recursive: true }); cleanupPaths.push(tempDir);321 unmodified linesExpand all1234556789225 unmodified linesExpand all2352362372382392392402412422436 unmodified lines2502512522532542552562572582592602612542552562579 unmodified lines267268269270271272273274275276277278246 unmodified linesExpand allimport { lstatSync, mkdtempSync, readFileSync, statSync, symlinkSync, writeFileSync } from "node:fs";import { tmpdir } from "node:os";import { join } from "node:path";import type { AssistantMessage } from "@earendil-works/pi-ai";import { afterEach, describe, expect, it, vi } from "vitest";import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";import type { AgentSession, AgentSessionEvent } from "../src/core/agent-session.js";import { SettingsManager } from "../src/core/settings-manager.js";import { captureAgentCommandUsed,225 unmodified linesExpand alldescribe("telemetry controls", () => { it("honors settings and environment opt-outs", () => { const settings = SettingsManager.inMemory({ telemetry: { enabled: true } });
vi.stubEnv("NODE_ENV", "production"); vi.stubEnv("DO_NOT_TRACK", "0"); expect(isTelemetryEnabled(settings)).toBe(true);
vi.stubEnv("DO_NOT_TRACK", "1"); expect(isTelemetryEnabled(settings)).toBe(false);6 unmodified lines vi.stubEnv("PI_OFFLINE", "true"); expect(isTelemetryEnabled(settings)).toBe(false); });
it("is disabled by default in tests unless explicitly enabled", () => { const settings = SettingsManager.inMemory({ telemetry: { enabled: true } }); vi.stubEnv("NODE_ENV", "test"); expect(isTelemetryEnabled(settings)).toBe(false); vi.stubEnv("PRIME_AGENT_TELEMETRY", "1"); expect(isTelemetryEnabled(settings)).toBe(true); });
it("normalizes malformed telemetry settings before updating them", async () => { const settings = SettingsManager.inMemory({ telemetry: true as never }); const disabledSettings = SettingsManager.inMemory({ telemetry: false as never });
9 unmodified lines });});
describe("agent telemetry aggregation", () => { beforeEach(() => { vi.stubEnv("DO_NOT_TRACK", "0"); });
it("captures only allowlisted built-in command names", async () => { vi.stubEnv("PRIME_AGENT_TELEMETRY", "1"); const sink = new FakeTelemetrySink();
246 unmodified linesExpand all210 unmodified linesExpand all211212213214215216217215216217218576 unmodified linesExpand all210 unmodified linesExpand all const override = parseBooleanOverride(process.env.PRIME_AGENT_TELEMETRY); if (override !== undefined) { return override; } if (process.env.NODE_ENV === "test") { return false; } return settingsManager.getTelemetryEnabled();}
function isInstallationId(value: unknown): value is string {576 unmodified linesExpand all