refactor(core): move database schema ownership (#29068)

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
This commit is contained in:
Dax
2026-05-30 21:08:38 -04:00
committed by GitHub
parent 6bcb9cb9bb
commit 7f571d36ea
390 changed files with 11127 additions and 9164 deletions

View File

@@ -1,9 +1,10 @@
import { describe, expect } from "bun:test"
import { SessionLegacy } from "@opencode-ai/core/session/legacy"
import fs from "fs/promises"
import path from "path"
import { Effect, Layer } from "effect"
import { Session } from "@/session/session"
import { ModelID, ProviderID } from "../../src/provider/schema"
import { SessionRevert } from "../../src/session/revert"
import { MessageV2 } from "../../src/session/message-v2"
import { Snapshot } from "../../src/snapshot"
@@ -12,6 +13,7 @@ import { MessageID, PartID, SessionID } from "../../src/session/schema"
import { CrossSpawnSpawner } from "@opencode-ai/core/cross-spawn-spawner"
import { provideTmpdirInstance } from "../fixture/fixture"
import { testEffect } from "../lib/effect"
import { ProviderV2 } from "@opencode-ai/core/provider"
void Log.init({ print: false })
@@ -31,7 +33,7 @@ const user = Effect.fn("test.user")(function* (sessionID: SessionID, agent = "de
role: "user" as const,
sessionID,
agent,
model: { providerID: ProviderID.make("openai"), modelID: ModelID.make("gpt-4") },
model: { providerID: ProviderV2.ID.make("openai"), modelID: ProviderV2.ModelID.make("gpt-4") },
time: { created: Date.now() },
})
})
@@ -47,8 +49,8 @@ const assistant = Effect.fn("test.assistant")(function* (sessionID: SessionID, p
path: { cwd: dir, root: dir },
cost: 0,
tokens: { output: 0, input: 0, reasoning: 0, cache: { read: 0, write: 0 } },
modelID: ModelID.make("gpt-4"),
providerID: ProviderID.make("openai"),
modelID: ProviderV2.ModelID.make("gpt-4"),
providerID: ProviderV2.ID.make("openai"),
parentID,
time: { created: Date.now() },
finish: "end_turn",
@@ -114,8 +116,8 @@ describe("revert + compact workflow", () => {
sessionID,
agent: "default",
model: {
providerID: ProviderID.make("openai"),
modelID: ModelID.make("gpt-4"),
providerID: ProviderV2.ID.make("openai"),
modelID: ProviderV2.ModelID.make("gpt-4"),
},
time: {
created: Date.now(),
@@ -130,7 +132,7 @@ describe("revert + compact workflow", () => {
text: "Hello, please help me",
})
const assistantMsg1: MessageV2.Assistant = {
const assistantMsg1: SessionLegacy.Assistant = {
id: MessageID.ascending(),
role: "assistant",
sessionID,
@@ -147,8 +149,8 @@ describe("revert + compact workflow", () => {
reasoning: 0,
cache: { read: 0, write: 0 },
},
modelID: ModelID.make("gpt-4"),
providerID: ProviderID.make("openai"),
modelID: ProviderV2.ModelID.make("gpt-4"),
providerID: ProviderV2.ID.make("openai"),
parentID: userMsg1.id,
time: {
created: Date.now(),
@@ -171,8 +173,8 @@ describe("revert + compact workflow", () => {
sessionID,
agent: "default",
model: {
providerID: ProviderID.make("openai"),
modelID: ModelID.make("gpt-4"),
providerID: ProviderV2.ID.make("openai"),
modelID: ProviderV2.ModelID.make("gpt-4"),
},
time: {
created: Date.now(),
@@ -187,7 +189,7 @@ describe("revert + compact workflow", () => {
text: "What's the capital of France?",
})
const assistantMsg2: MessageV2.Assistant = {
const assistantMsg2: SessionLegacy.Assistant = {
id: MessageID.ascending(),
role: "assistant",
sessionID,
@@ -204,8 +206,8 @@ describe("revert + compact workflow", () => {
reasoning: 0,
cache: { read: 0, write: 0 },
},
modelID: ModelID.make("gpt-4"),
providerID: ProviderID.make("openai"),
modelID: ProviderV2.ModelID.make("gpt-4"),
providerID: ProviderV2.ID.make("openai"),
parentID: userMsg2.id,
time: {
created: Date.now(),
@@ -276,8 +278,8 @@ describe("revert + compact workflow", () => {
sessionID,
agent: "default",
model: {
providerID: ProviderID.make("openai"),
modelID: ModelID.make("gpt-4"),
providerID: ProviderV2.ID.make("openai"),
modelID: ProviderV2.ModelID.make("gpt-4"),
},
time: {
created: Date.now(),
@@ -292,7 +294,7 @@ describe("revert + compact workflow", () => {
text: "Hello",
})
const assistantMsg: MessageV2.Assistant = {
const assistantMsg: SessionLegacy.Assistant = {
id: MessageID.ascending(),
role: "assistant",
sessionID,
@@ -309,8 +311,8 @@ describe("revert + compact workflow", () => {
reasoning: 0,
cache: { read: 0, write: 0 },
},
modelID: ModelID.make("gpt-4"),
providerID: ProviderID.make("openai"),
modelID: ProviderV2.ModelID.make("gpt-4"),
providerID: ProviderV2.ID.make("openai"),
parentID: userMsg.id,
time: {
created: Date.now(),