Download packages/core/src/session/info.ts from SaylorTwift/opencode: direct link, hf CLI and curl.
- Browser
- Download file 1.93 kB
-
https://huggingface.co/SaylorTwift/opencode/resolve/main/packages/core/src/session/info.ts
- Command line
-
hf download hf://SaylorTwift/opencode/packages/core/src/session/info.ts
-
curl -L -o info.ts https://huggingface.co/SaylorTwift/opencode/resolve/main/packages/core/src/session/info.ts
1.93 kB
| import { DateTime } from "effect" | |
| import { AgentV2 } from "../agent" | |
| import { Location } from "../location" | |
| import { ModelV2 } from "../model" | |
| import { ProjectV2 } from "../project" | |
| import { ProviderV2 } from "../provider" | |
| import { AbsolutePath, RelativePath } from "../schema" | |
| import { WorkspaceV2 } from "../workspace" | |
| import { SessionSchema } from "./schema" | |
| import { SessionTable } from "./sql" | |
| import { SessionMessage } from "./message" | |
| import { Snapshot } from "../snapshot" | |
| export function fromRow(row: typeof SessionTable.$inferSelect): SessionSchema.Info { | |
| return SessionSchema.Info.make({ | |
| id: SessionSchema.ID.make(row.id), | |
| projectID: ProjectV2.ID.make(row.project_id), | |
| title: row.title, | |
| parentID: row.parent_id ? SessionSchema.ID.make(row.parent_id) : undefined, | |
| agent: row.agent ? AgentV2.ID.make(row.agent) : undefined, | |
| model: row.model | |
| ? { | |
| id: ModelV2.ID.make(row.model.id), | |
| providerID: ProviderV2.ID.make(row.model.providerID), | |
| variant: ModelV2.VariantID.make(row.model.variant ?? "default"), | |
| } | |
| : undefined, | |
| cost: row.cost, | |
| tokens: { | |
| input: row.tokens_input, | |
| output: row.tokens_output, | |
| reasoning: row.tokens_reasoning, | |
| cache: { | |
| read: row.tokens_cache_read, | |
| write: row.tokens_cache_write, | |
| }, | |
| }, | |
| location: Location.Ref.make({ | |
| directory: AbsolutePath.make(row.directory), | |
| workspaceID: row.workspace_id ? WorkspaceV2.ID.make(row.workspace_id) : undefined, | |
| }), | |
| subpath: row.path ? RelativePath.make(row.path) : undefined, | |
| revert: row.revert ? { ...row.revert, messageID: SessionMessage.ID.make(row.revert.messageID) } : undefined, | |
| time: { | |
| created: DateTime.makeUnsafe(row.time_created), | |
| updated: DateTime.makeUnsafe(row.time_updated), | |
| archived: row.time_archived ? DateTime.makeUnsafe(row.time_archived) : undefined, | |
| }, | |
| }) | |
| } | |