mirror of
https://github.com/alkimake/paperclip.git
synced 2026-06-16 19:00:38 +09:00
74 lines
2 KiB
TypeScript
74 lines
2 KiB
TypeScript
|
|
import { describe, expect, it, vi } from "vitest";
|
||
|
|
import {
|
||
|
|
trackAgentCreated,
|
||
|
|
trackAgentFirstHeartbeat,
|
||
|
|
trackAgentTaskCompleted,
|
||
|
|
trackInstallCompleted,
|
||
|
|
} from "@paperclipai/shared/telemetry";
|
||
|
|
import type { TelemetryClient } from "@paperclipai/shared/telemetry";
|
||
|
|
|
||
|
|
function createClient(): TelemetryClient {
|
||
|
|
return {
|
||
|
|
track: vi.fn(),
|
||
|
|
hashPrivateRef: vi.fn((value: string) => `hashed:${value}`),
|
||
|
|
} as unknown as TelemetryClient;
|
||
|
|
}
|
||
|
|
|
||
|
|
describe("shared telemetry agent events", () => {
|
||
|
|
it("includes agent_id for agent.created", () => {
|
||
|
|
const client = createClient();
|
||
|
|
|
||
|
|
trackAgentCreated(client, {
|
||
|
|
agentRole: "engineer",
|
||
|
|
agentId: "11111111-1111-4111-8111-111111111111",
|
||
|
|
});
|
||
|
|
|
||
|
|
expect(client.track).toHaveBeenCalledWith("agent.created", {
|
||
|
|
agent_role: "engineer",
|
||
|
|
agent_id: "11111111-1111-4111-8111-111111111111",
|
||
|
|
});
|
||
|
|
});
|
||
|
|
|
||
|
|
it("includes agent_id for agent.first_heartbeat", () => {
|
||
|
|
const client = createClient();
|
||
|
|
|
||
|
|
trackAgentFirstHeartbeat(client, {
|
||
|
|
agentRole: "coder",
|
||
|
|
agentId: "22222222-2222-4222-8222-222222222222",
|
||
|
|
});
|
||
|
|
|
||
|
|
expect(client.track).toHaveBeenCalledWith("agent.first_heartbeat", {
|
||
|
|
agent_role: "coder",
|
||
|
|
agent_id: "22222222-2222-4222-8222-222222222222",
|
||
|
|
});
|
||
|
|
});
|
||
|
|
|
||
|
|
it("includes agent_id for agent.task_completed", () => {
|
||
|
|
const client = createClient();
|
||
|
|
|
||
|
|
trackAgentTaskCompleted(client, {
|
||
|
|
agentRole: "qa",
|
||
|
|
agentId: "33333333-3333-4333-8333-333333333333",
|
||
|
|
});
|
||
|
|
|
||
|
|
expect(client.track).toHaveBeenCalledWith("agent.task_completed", {
|
||
|
|
agent_role: "qa",
|
||
|
|
agent_id: "33333333-3333-4333-8333-333333333333",
|
||
|
|
});
|
||
|
|
});
|
||
|
|
|
||
|
|
it("keeps non-agent event dimensions unchanged", () => {
|
||
|
|
const client = createClient();
|
||
|
|
|
||
|
|
trackInstallCompleted(client, { adapterType: "codex_local" });
|
||
|
|
|
||
|
|
expect(client.track).toHaveBeenCalledWith("install.completed", {
|
||
|
|
adapter_type: "codex_local",
|
||
|
|
});
|
||
|
|
expect(client.track).not.toHaveBeenCalledWith(
|
||
|
|
"install.completed",
|
||
|
|
expect.objectContaining({ agent_id: expect.any(String) }),
|
||
|
|
);
|
||
|
|
});
|
||
|
|
});
|