Something went wrong. Try again.
opencode v2 mirror
Something went wrong. Try again.
TypeScript
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869export * as SessionStats from "./session-stats.js"
import { Schema } from "effect"import { Model } from "./model.js"import { Money } from "./money.js"import { DateTimeUtcFromMillis, NonNegativeInt, optional } from "./schema.js"import { TokenUsage } from "./token-usage.js"
export const Activity = Schema.Struct({ date: Schema.String, steps: NonNegativeInt,}).annotate({ identifier: "SessionStats.Activity" })export type Activity = typeof Activity.Type
export const ModelUsage = Schema.Struct({ model: Model.Ref, steps: NonNegativeInt, tokens: TokenUsage.Info, cost: Money.USD,}).annotate({ identifier: "SessionStats.ModelUsage" })export type ModelUsage = typeof ModelUsage.Type
export const ToolUsage = Schema.Struct({ name: Schema.String, calls: NonNegativeInt, succeeded: NonNegativeInt, failed: NonNegativeInt, unfinished: NonNegativeInt, durationP50: Schema.Finite.pipe(optional),}).annotate({ identifier: "SessionStats.ToolUsage" })export type ToolUsage = typeof ToolUsage.Type
export const ToolMode = Schema.Literals(["none", "summary", "detail"])export type ToolMode = typeof ToolMode.Type
export const ToolTotals = Schema.Struct({ calls: NonNegativeInt, succeeded: NonNegativeInt, failed: NonNegativeInt, unfinished: NonNegativeInt,}).annotate({ identifier: "SessionStats.ToolTotals" })export type ToolTotals = typeof ToolTotals.Type
export const Tools = Schema.Union([ Schema.Struct({ mode: Schema.Literal("none") }), Schema.Struct({ mode: Schema.Literal("summary"), totals: ToolTotals }), Schema.Struct({ mode: Schema.Literal("detail"), totals: ToolTotals, usage: Schema.Array(ToolUsage) }),]).annotate({ identifier: "SessionStats.Tools" })export type Tools = typeof Tools.Type
export const Info = Schema.Struct({ range: Schema.Struct({ from: DateTimeUtcFromMillis, to: DateTimeUtcFromMillis, }), sessions: NonNegativeInt, subagents: NonNegativeInt, prompts: NonNegativeInt, steps: NonNegativeInt, tokens: TokenUsage.Info, cost: Money.USD, tools: Tools, activeDays: NonNegativeInt, streak: NonNegativeInt, activity: Schema.Array(Activity), models: Schema.Array(ModelUsage),}).annotate({ identifier: "SessionStats.Info" })export type Info = typeof Info.Type