refactor(shared): centralize assistant identity and usage timeseries types

This commit is contained in:
Peter Steinberger
2026-03-02 14:35:34 +00:00
parent 3efd224ec6
commit 693f61404d
6 changed files with 47 additions and 58 deletions

View File

@@ -1,3 +1,5 @@
import { coerceIdentityValue } from "../../../src/shared/assistant-identity-values.js";
const MAX_ASSISTANT_NAME = 50;
const MAX_ASSISTANT_AVATAR = 200;
@@ -10,20 +12,6 @@ export type AssistantIdentity = {
avatar: string | null;
};
function coerceIdentityValue(value: string | undefined, maxLength: number): string | undefined {
if (typeof value !== "string") {
return undefined;
}
const trimmed = value.trim();
if (!trimmed) {
return undefined;
}
if (trimmed.length <= maxLength) {
return trimmed;
}
return trimmed.slice(0, maxLength);
}
export function normalizeAssistantIdentity(
input?: Partial<AssistantIdentity> | null,
): AssistantIdentity {

View File

@@ -1,3 +1,7 @@
import type {
SessionUsageTimePoint as SharedSessionUsageTimePoint,
SessionUsageTimeSeries as SharedSessionUsageTimeSeries,
} from "../../../src/shared/session-usage-timeseries-types.js";
import type { SessionsUsageResult as SharedSessionsUsageResult } from "../../../src/shared/usage-types.js";
export type SessionsUsageEntry = SharedSessionsUsageResult["sessions"][number];
@@ -13,19 +17,6 @@ export type CostUsageSummary = {
totals: SessionsUsageTotals;
};
export type SessionUsageTimePoint = {
timestamp: number;
input: number;
output: number;
cacheRead: number;
cacheWrite: number;
totalTokens: number;
cost: number;
cumulativeTokens: number;
cumulativeCost: number;
};
export type SessionUsageTimePoint = SharedSessionUsageTimePoint;
export type SessionUsageTimeSeries = {
sessionId?: string;
points: SessionUsageTimePoint[];
};
export type SessionUsageTimeSeries = SharedSessionUsageTimeSeries;