Rename all workspace packages from @paperclip/* to @paperclipai/* and the CLI binary from `paperclip` to `paperclipai` in preparation for npm publishing. Bump CLI version to 0.1.0 and add package metadata (description, keywords, license, repository, files). Update all imports, documentation, user-facing messages, and tests accordingly. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
28 lines
993 B
TypeScript
28 lines
993 B
TypeScript
import type { CostSummary, CostByAgent } from "@paperclipai/shared";
|
|
import { api } from "./client";
|
|
|
|
export interface CostByProject {
|
|
projectId: string | null;
|
|
projectName: string | null;
|
|
costCents: number;
|
|
inputTokens: number;
|
|
outputTokens: number;
|
|
}
|
|
|
|
function dateParams(from?: string, to?: string): string {
|
|
const params = new URLSearchParams();
|
|
if (from) params.set("from", from);
|
|
if (to) params.set("to", to);
|
|
const qs = params.toString();
|
|
return qs ? `?${qs}` : "";
|
|
}
|
|
|
|
export const costsApi = {
|
|
summary: (companyId: string, from?: string, to?: string) =>
|
|
api.get<CostSummary>(`/companies/${companyId}/costs/summary${dateParams(from, to)}`),
|
|
byAgent: (companyId: string, from?: string, to?: string) =>
|
|
api.get<CostByAgent[]>(`/companies/${companyId}/costs/by-agent${dateParams(from, to)}`),
|
|
byProject: (companyId: string, from?: string, to?: string) =>
|
|
api.get<CostByProject[]>(`/companies/${companyId}/costs/by-project${dateParams(from, to)}`),
|
|
};
|