/
Alex_Ural
/
opencode
Обзор
Документация
Войти
/
Alex_Ural
/
opencode
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
dev
packages/schema/src/session.ts
51 строка
2 KB
Kit Langton
refactor(schema): tighten public contracts (#33771)
25 июн 2026, 20:10
Не верифицирован
25 июн 2026, 20:10
9e9d405
Код
Авторство
О чём код?
export * as Session from "./session" import { Schema } from "effect" import { Agent } from "./agent" import { Location } from "./location" import { Model } from "./model" import { Project } from "./project" import { DateTimeUtcFromMillis, optional, RelativePath } from "./schema" import { SessionEvent } from "./session-event" import { SessionID } from "./session-id" import { Revert } from "./revert" export const ID = SessionID export type ID = SessionID export const Event = SessionEvent export interface Info extends Schema.Schema.Type<typeof Info> {} export const Info = Schema.Struct({ id: ID, parentID: ID.pipe(optional), projectID: Project.ID, agent: Agent.ID.pipe(optional), model: Model.Ref.pipe(optional), cost: Schema.Finite, tokens: Schema.Struct({ input: Schema.Finite, output: Schema.Finite, reasoning: Schema.Finite, cache: Schema.Struct({ read: Schema.Finite, write: Schema.Finite, }), }), time: Schema.Struct({ created: DateTimeUtcFromMillis, updated: DateTimeUtcFromMillis, archived: DateTimeUtcFromMillis.pipe(optional), }), title: Schema.String, location: Location.Ref, subpath: RelativePath.pipe(optional), revert: Revert.State.pipe(optional), }).annotate({ identifier: "SessionV2.Info" }) export const ListAnchor = Schema.Struct({ id: ID, time: Schema.Finite, direction: Schema.Literals(["previous", "next"]), }).annotate({ identifier: "Session.ListAnchor" }) export interface ListAnchor extends Schema.Schema.Type<typeof ListAnchor> {}