refactor(schema): normalize module patterns (#33770)

This commit is contained in:
Kit Langton
2026-06-25 17:42:22 +02:00
committed by GitHub
parent 5565a8ee10
commit 7854f5b9f7
50 changed files with 204 additions and 202 deletions
+3 -3
View File
@@ -2,14 +2,14 @@ import { Schema } from "effect"
import { Identifier } from "@/id/id"
import { SessionV2 } from "@opencode-ai/core/session"
import { withStatics } from "@opencode-ai/core/schema"
import { statics } from "@opencode-ai/core/schema"
export const SessionID = SessionV2.ID
export type SessionID = Schema.Schema.Type<typeof SessionID>
export const MessageID = Schema.String.check(Schema.isStartsWith("msg")).pipe(
Schema.brand("MessageID"),
withStatics((s) => ({
statics((s) => ({
ascending: (id?: string) => s.make(Identifier.ascending("message", id)),
})),
)
@@ -18,7 +18,7 @@ export type MessageID = Schema.Schema.Type<typeof MessageID>
export const PartID = Schema.String.check(Schema.isStartsWith("prt")).pipe(
Schema.brand("PartID"),
withStatics((s) => ({
statics((s) => ({
ascending: (id?: string) => s.make(Identifier.ascending("part", id)),
})),
)
+23 -23
View File
@@ -39,11 +39,11 @@ import { SessionID, MessageID, PartID } from "./schema"
import type { Provider } from "@/provider/provider"
import { Global } from "@opencode-ai/core/global"
import { Effect, Layer, Option, Context, Schema, Types } from "effect"
import { NonNegativeInt, optionalOmitUndefined } from "@opencode-ai/core/schema"
import { NonNegativeInt, optional } from "@opencode-ai/core/schema"
import { RuntimeFlags } from "@/effect/runtime-flags"
import { ProviderV2 } from "@opencode-ai/core/provider"
import { ModelV2 } from "@opencode-ai/core/model"
import { SessionMessageID } from "@opencode-ai/schema/session-message-id"
import { SessionMessage } from "@opencode-ai/schema/session-message"
const runtime = makeRuntime(Database.Service, Database.defaultLayer)
@@ -146,7 +146,7 @@ export function toRow(info: Info) {
tokens_cache_write: (info.tokens ?? EmptyTokens).cache.write,
revert: info.revert
? {
messageID: SessionMessageID.ID.make(info.revert.messageID),
messageID: SessionMessage.ID.make(info.revert.messageID),
partID: info.revert.partID,
snapshot: info.revert.snapshot,
diff: info.revert.diff,
@@ -178,7 +178,7 @@ const Summary = Schema.Struct({
additions: Schema.Finite,
deletions: Schema.Finite,
files: Schema.Finite,
diffs: optionalOmitUndefined(Schema.Array(Snapshot.FileDiff)),
diffs: optional(Schema.Array(Snapshot.FileDiff)),
})
const Tokens = Schema.Struct({
@@ -204,21 +204,21 @@ export const ArchivedTimestamp = Schema.Finite
const Time = Schema.Struct({
created: NonNegativeInt,
updated: NonNegativeInt,
compacting: optionalOmitUndefined(NonNegativeInt),
archived: optionalOmitUndefined(ArchivedTimestamp),
compacting: optional(NonNegativeInt),
archived: optional(ArchivedTimestamp),
})
const Revert = Schema.Struct({
messageID: MessageID,
partID: optionalOmitUndefined(PartID),
snapshot: optionalOmitUndefined(Schema.String),
diff: optionalOmitUndefined(Schema.String),
partID: optional(PartID),
snapshot: optional(Schema.String),
diff: optional(Schema.String),
})
const Model = Schema.Struct({
id: ModelV2.ID,
providerID: ProviderV2.ID,
variant: optionalOmitUndefined(Schema.String),
variant: optional(Schema.String),
})
export const Metadata = Schema.Record(Schema.String, Schema.Any)
@@ -227,28 +227,28 @@ export const Info = Schema.Struct({
id: SessionID,
slug: Schema.String,
projectID: ProjectV2.ID,
workspaceID: optionalOmitUndefined(WorkspaceV2.ID),
workspaceID: optional(WorkspaceV2.ID),
directory: Schema.String,
path: optionalOmitUndefined(Schema.String),
parentID: optionalOmitUndefined(SessionID),
summary: optionalOmitUndefined(Summary),
cost: optionalOmitUndefined(Schema.Finite),
tokens: optionalOmitUndefined(Tokens),
share: optionalOmitUndefined(Share),
path: optional(Schema.String),
parentID: optional(SessionID),
summary: optional(Summary),
cost: optional(Schema.Finite),
tokens: optional(Tokens),
share: optional(Share),
title: Schema.String,
agent: optionalOmitUndefined(Schema.String),
model: optionalOmitUndefined(Model),
agent: optional(Schema.String),
model: optional(Model),
version: Schema.String,
metadata: optionalOmitUndefined(Metadata),
metadata: optional(Metadata),
time: Time,
permission: optionalOmitUndefined(PermissionV1.Ruleset),
revert: optionalOmitUndefined(Revert),
permission: optional(PermissionV1.Ruleset),
revert: optional(Revert),
}).annotate({ identifier: "Session" })
export type Info = Types.DeepMutable<Schema.Schema.Type<typeof Info>>
export const ProjectInfo = Schema.Struct({
id: ProjectV2.ID,
name: optionalOmitUndefined(Schema.String),
name: optional(Schema.String),
worktree: Schema.String,
}).annotate({ identifier: "ProjectSummary" })
export type ProjectInfo = Types.DeepMutable<Schema.Schema.Type<typeof ProjectInfo>>