Skip to content

ccusage / data-loader / usageDataSchema

Variable: usageDataSchema

ts
const usageDataSchema: ZodObject<{
  timestamp: ZodBranded<ZodString, "ISOTimestamp">;
  version: ZodOptional<ZodBranded<ZodString, "Version">>;
  message: ZodObject<{
     usage: ZodObject<{
        input_tokens: ZodNumber;
        output_tokens: ZodNumber;
        cache_creation_input_tokens: ZodOptional<ZodNumber>;
        cache_read_input_tokens: ZodOptional<ZodNumber>;
      }, "strip", ZodTypeAny, {
        input_tokens: number;
        output_tokens: number;
        cache_creation_input_tokens?: number;
        cache_read_input_tokens?: number;
      }, {
        input_tokens: number;
        output_tokens: number;
        cache_creation_input_tokens?: number;
        cache_read_input_tokens?: number;
     }>;
     model: ZodOptional<ZodBranded<ZodString, "ModelName">>;
     id: ZodOptional<ZodBranded<ZodString, "MessageId">>;
     content: ZodOptional<ZodArray<ZodObject<{
        text: ZodOptional<ZodString>;
      }, "strip", ZodTypeAny, {
        text?: string;
      }, {
        text?: string;
     }>, "many">>;
   }, "strip", ZodTypeAny, {
     usage: {
        input_tokens: number;
        output_tokens: number;
        cache_creation_input_tokens?: number;
        cache_read_input_tokens?: number;
     };
     model?: string & BRAND<"ModelName">;
     id?: string & BRAND<"MessageId">;
     content?: object[];
   }, {
     usage: {
        input_tokens: number;
        output_tokens: number;
        cache_creation_input_tokens?: number;
        cache_read_input_tokens?: number;
     };
     model?: string;
     id?: string;
     content?: object[];
  }>;
  costUSD: ZodOptional<ZodNumber>;
  requestId: ZodOptional<ZodBranded<ZodString, "RequestId">>;
  isApiErrorMessage: ZodOptional<ZodBoolean>;
}, "strip", ZodTypeAny, {
  timestamp: string & BRAND<"ISOTimestamp">;
  version?: string & BRAND<"Version">;
  message: {
     usage: {
        input_tokens: number;
        output_tokens: number;
        cache_creation_input_tokens?: number;
        cache_read_input_tokens?: number;
     };
     model?: string & BRAND<"ModelName">;
     id?: string & BRAND<"MessageId">;
     content?: object[];
  };
  costUSD?: number;
  requestId?: string & BRAND<"RequestId">;
  isApiErrorMessage?: boolean;
}, {
  timestamp: string;
  version?: string;
  message: {
     usage: {
        input_tokens: number;
        output_tokens: number;
        cache_creation_input_tokens?: number;
        cache_read_input_tokens?: number;
     };
     model?: string;
     id?: string;
     content?: object[];
  };
  costUSD?: number;
  requestId?: string;
  isApiErrorMessage?: boolean;
}>;

Zod schema for validating Claude usage data from JSONL files

Released under the MIT License.