diff --git a/bun.lock b/bun.lock index 6b08db9e5c..5198b269a6 100644 --- a/bun.lock +++ b/bun.lock @@ -499,6 +499,7 @@ "version": "1.18.4", "dependencies": { "@hono/standard-validator": "catalog:", + "@opencode-ai/client": "workspace:*", "@opencode-ai/core": "workspace:*", "@opencode-ai/session-ui": "workspace:*", "@opencode-ai/ui": "workspace:*", diff --git a/packages/app/src/context/global-sync/event-reducer.ts b/packages/app/src/context/global-sync/event-reducer.ts index 935fc14e33..b3a90a3fd9 100644 --- a/packages/app/src/context/global-sync/event-reducer.ts +++ b/packages/app/src/context/global-sync/event-reducer.ts @@ -8,8 +8,8 @@ import type { QuestionRequest, Session, SessionStatus, - FileDiffInfo, } from "@opencode-ai/sdk/v2/client" +import type { FileDiffInfo } from "@opencode-ai/client" import type { State, VcsCache } from "./types" import { trimSessions } from "./session-trim" import { dropSessionCaches } from "./session-cache" diff --git a/packages/app/src/context/global-sync/session-cache.test.ts b/packages/app/src/context/global-sync/session-cache.test.ts index 41034186e6..497409a21c 100644 --- a/packages/app/src/context/global-sync/session-cache.test.ts +++ b/packages/app/src/context/global-sync/session-cache.test.ts @@ -5,8 +5,8 @@ import type { PermissionRequest, QuestionRequest, SessionStatus, - FileDiffInfo, } from "@opencode-ai/sdk/v2/client" +import type { FileDiffInfo } from "@opencode-ai/client" import { dropSessionCaches, pickSessionCacheEvictions } from "./session-cache" const msg = (id: string, sessionID: string) => diff --git a/packages/app/src/context/global-sync/session-cache.ts b/packages/app/src/context/global-sync/session-cache.ts index 6f2c3dc540..c7a86e05d2 100644 --- a/packages/app/src/context/global-sync/session-cache.ts +++ b/packages/app/src/context/global-sync/session-cache.ts @@ -4,8 +4,8 @@ import type { PermissionRequest, QuestionRequest, SessionStatus, - FileDiffInfo, } from "@opencode-ai/sdk/v2/client" +import type { FileDiffInfo } from "@opencode-ai/client" export const SESSION_CACHE_LIMIT = 40 diff --git a/packages/app/src/context/global-sync/types.ts b/packages/app/src/context/global-sync/types.ts index 53191b756d..29776757fb 100644 --- a/packages/app/src/context/global-sync/types.ts +++ b/packages/app/src/context/global-sync/types.ts @@ -13,9 +13,9 @@ import type { ReferenceInfo, Session, SessionStatus, - FileDiffInfo, VcsInfo, } from "@opencode-ai/sdk/v2/client" +import type { FileDiffInfo } from "@opencode-ai/client" import { NormalizedProviderListResponse } from "@opencode-ai/session-ui/context" import type { Accessor } from "solid-js" import type { SetStoreFunction, Store } from "solid-js/store" diff --git a/packages/app/src/context/server-session.ts b/packages/app/src/context/server-session.ts index 623c95eb4d..a32df21f70 100644 --- a/packages/app/src/context/server-session.ts +++ b/packages/app/src/context/server-session.ts @@ -8,8 +8,8 @@ import type { QuestionRequest, Session, SessionStatus, - FileDiffInfo, } from "@opencode-ai/sdk/v2/client" +import type { FileDiffInfo } from "@opencode-ai/client" import { batch } from "solid-js" import { createStore, produce, reconcile } from "solid-js/store" import { diffs as cleanDiffs, message as cleanMessage } from "@/utils/diffs" diff --git a/packages/app/src/pages/session/review-tab.tsx b/packages/app/src/pages/session/review-tab.tsx index 586942399d..9c281480db 100644 --- a/packages/app/src/pages/session/review-tab.tsx +++ b/packages/app/src/pages/session/review-tab.tsx @@ -1,6 +1,7 @@ import { createEffect, onCleanup, type JSX } from "solid-js" import { makeEventListener } from "@solid-primitives/event-listener" -import type { FileDiffInfo, VcsFileDiff } from "@opencode-ai/sdk/v2" +import type { FileDiffInfo } from "@opencode-ai/client" +import type { VcsFileDiff } from "@opencode-ai/sdk/v2" import { SessionReview } from "@opencode-ai/session-ui/session-review" import type { SessionReviewCommentActions, diff --git a/packages/app/src/pages/session/session-side-panel.tsx b/packages/app/src/pages/session/session-side-panel.tsx index 7bba5c803a..a0c7066190 100644 --- a/packages/app/src/pages/session/session-side-panel.tsx +++ b/packages/app/src/pages/session/session-side-panel.tsx @@ -23,7 +23,8 @@ import { Mark } from "@opencode-ai/ui/logo" import { IconButtonV2 } from "@opencode-ai/ui/v2/icon-button-v2" import { KeybindV2 } from "@opencode-ai/ui/v2/keybind-v2" import { TooltipV2 } from "@opencode-ai/ui/v2/tooltip-v2" -import type { FileDiffInfo, VcsFileDiff } from "@opencode-ai/sdk/v2" +import type { FileDiffInfo } from "@opencode-ai/client" +import type { VcsFileDiff } from "@opencode-ai/sdk/v2" import { ConstrainDragYAxis, getDraggableId } from "@/utils/solid-dnd" import { useDialog } from "@opencode-ai/ui/context/dialog" diff --git a/packages/app/src/pages/session/v2/review-diff-kinds.ts b/packages/app/src/pages/session/v2/review-diff-kinds.ts index 8b252b0258..23fa84aa7b 100644 --- a/packages/app/src/pages/session/v2/review-diff-kinds.ts +++ b/packages/app/src/pages/session/v2/review-diff-kinds.ts @@ -1,4 +1,5 @@ -import type { FileDiffInfo, VcsFileDiff } from "@opencode-ai/sdk/v2" +import type { FileDiffInfo } from "@opencode-ai/client" +import type { VcsFileDiff } from "@opencode-ai/sdk/v2" import type { Kind } from "@/components/file-tree-v2" import { normalizeFileTreeV2Path } from "@/components/file-tree-v2-model" diff --git a/packages/app/src/pages/session/v2/review-panel-v2.tsx b/packages/app/src/pages/session/v2/review-panel-v2.tsx index bcf53c1d70..cd9a991229 100644 --- a/packages/app/src/pages/session/v2/review-panel-v2.tsx +++ b/packages/app/src/pages/session/v2/review-panel-v2.tsx @@ -1,5 +1,6 @@ import { createMemo, createResource, createSignal, Show, type JSX } from "solid-js" -import type { FileDiffInfo, VcsFileDiff } from "@opencode-ai/sdk/v2" +import type { FileDiffInfo } from "@opencode-ai/client" +import type { VcsFileDiff } from "@opencode-ai/sdk/v2" import { SESSION_REVIEW_V2_SIDEBAR_WIDTH_MAX, SESSION_REVIEW_V2_SIDEBAR_WIDTH_MIN, diff --git a/packages/app/src/utils/diffs.test.ts b/packages/app/src/utils/diffs.test.ts index f6d768e1de..aac7936550 100644 --- a/packages/app/src/utils/diffs.test.ts +++ b/packages/app/src/utils/diffs.test.ts @@ -1,5 +1,5 @@ import { describe, expect, test } from "bun:test" -import type { FileDiffInfo } from "@opencode-ai/sdk/v2" +import type { FileDiffInfo } from "@opencode-ai/client" import type { Message } from "@opencode-ai/sdk/v2/client" import { diffs, message } from "./diffs" diff --git a/packages/app/src/utils/diffs.ts b/packages/app/src/utils/diffs.ts index 60df039410..978a9deb5b 100644 --- a/packages/app/src/utils/diffs.ts +++ b/packages/app/src/utils/diffs.ts @@ -1,4 +1,4 @@ -import type { FileDiffInfo } from "@opencode-ai/sdk/v2" +import type { FileDiffInfo } from "@opencode-ai/client" import type { Message } from "@opencode-ai/sdk/v2/client" type Diff = FileDiffInfo diff --git a/packages/core/src/plugin/host.ts b/packages/core/src/plugin/host.ts index 730ddafecc..b2f3a6ffd9 100644 --- a/packages/core/src/plugin/host.ts +++ b/packages/core/src/plugin/host.ts @@ -2,7 +2,7 @@ export * as PluginHost from "./host" import { Plugin } from "@opencode-ai/plugin/v2/effect" import type { IntegrationMethodRegistration } from "@opencode-ai/plugin/v2/effect/integration" -import type { CredentialOAuth } from "@opencode-ai/sdk/v2/types" +import type { Credential } from "@opencode-ai/schema/credential" import { EventManifest } from "@opencode-ai/schema/event-manifest" import { App } from "../app" import { Effect, Schema, Stream } from "effect" @@ -451,6 +451,6 @@ function methodImplementation(input: IntegrationMethodRegistration): Integration } } -function credential(value: CredentialOAuth) { +function credential(value: Credential.OAuth) { return Credential.OAuth.make({ ...value, methodID: Integration.MethodID.make(value.methodID) }) } diff --git a/packages/core/src/plugin/provider/opencode.ts b/packages/core/src/plugin/provider/opencode.ts index e70be42814..b6f0d62900 100644 --- a/packages/core/src/plugin/provider/opencode.ts +++ b/packages/core/src/plugin/provider/opencode.ts @@ -2,7 +2,7 @@ import { Duration, Effect, Schema, Semaphore, Stream } from "effect" import type { Scope } from "effect" import type { IntegrationOAuthMethodRegistration } from "@opencode-ai/plugin/v2/effect/integration" import { define } from "@opencode-ai/plugin/v2/effect/plugin" -import type { CredentialValue } from "@opencode-ai/sdk/v2/types" +import type { Credential } from "@opencode-ai/schema/credential" import { HttpClient, HttpClientRequest, HttpClientResponse } from "effect/unstable/http" import { EventV2 } from "../../event" import { Credential } from "../../credential" @@ -198,7 +198,7 @@ export const OpencodePlugin = define> & { @@ -370,7 +370,7 @@ export function webSearchHost(websearch: WebSearch.Interface): Plugin.Context["w } } -function oauthCredential(value: CredentialOAuth) { +function oauthCredential(value: OAuth) { return Credential.OAuth.make({ ...value, methodID: Integration.MethodID.make(value.methodID) }) } @@ -390,7 +390,7 @@ function method(value: Integration.Method) { } function internalMethod( - value: IntegrationOAuthMethod | IntegrationCommandMethod | IntegrationKeyMethod | IntegrationEnvMethod, + value: OAuthMethod | CommandMethod | KeyMethod | EnvMethod, ): Integration.Method { if (value.type === "env") return value if (value.type === "key") return value diff --git a/packages/enterprise/package.json b/packages/enterprise/package.json index 1e0c5e6e0c..b653c8f7bb 100644 --- a/packages/enterprise/package.json +++ b/packages/enterprise/package.json @@ -13,6 +13,7 @@ "shell-prod": "sst shell --target Teams --stage production" }, "dependencies": { + "@opencode-ai/client": "workspace:*", "@opencode-ai/core": "workspace:*", "@opencode-ai/session-ui": "workspace:*", "@opencode-ai/ui": "workspace:*", diff --git a/packages/enterprise/src/core/share.ts b/packages/enterprise/src/core/share.ts index ce429323d8..f63f36c0ed 100644 --- a/packages/enterprise/src/core/share.ts +++ b/packages/enterprise/src/core/share.ts @@ -1,4 +1,5 @@ -import { FileDiffInfo, Message, Model, Part, Session } from "@opencode-ai/sdk/v2" +import type { FileDiffInfo } from "@opencode-ai/client" +import { Message, Model, Part, Session } from "@opencode-ai/sdk/v2" import { iife } from "@opencode-ai/core/util/iife" import z from "zod" import { Storage } from "./storage" diff --git a/packages/enterprise/src/routes/share/[shareID].tsx b/packages/enterprise/src/routes/share/[shareID].tsx index 91cb50891d..2cca11885e 100644 --- a/packages/enterprise/src/routes/share/[shareID].tsx +++ b/packages/enterprise/src/routes/share/[shareID].tsx @@ -1,4 +1,5 @@ -import { FileDiffInfo, Message, Model, Part, Session, SessionStatus, UserMessage } from "@opencode-ai/sdk/v2" +import type { FileDiffInfo } from "@opencode-ai/client" +import { Message, Model, Part, Session, SessionStatus, UserMessage } from "@opencode-ai/sdk/v2" import { SessionTurn } from "@opencode-ai/session-ui/session-turn" import { SessionReview } from "@opencode-ai/session-ui/session-review" import { DataProvider } from "@opencode-ai/session-ui/context" diff --git a/packages/plugin/src/v2/effect/agent.ts b/packages/plugin/src/v2/effect/agent.ts index e14777af77..8cfa6972f9 100644 --- a/packages/plugin/src/v2/effect/agent.ts +++ b/packages/plugin/src/v2/effect/agent.ts @@ -1,5 +1,5 @@ import type { AgentApi } from "@opencode-ai/client/effect/api" -import type { AgentInfo } from "@opencode-ai/sdk/v2/types" +import type { AgentInfo } from "@opencode-ai/client/effect" import type { Effect } from "effect" import type { Transform } from "./registration.js" diff --git a/packages/plugin/src/v2/effect/catalog.ts b/packages/plugin/src/v2/effect/catalog.ts index 2d2f6777c6..524b491c15 100644 --- a/packages/plugin/src/v2/effect/catalog.ts +++ b/packages/plugin/src/v2/effect/catalog.ts @@ -1,4 +1,4 @@ -import type { ModelInfo, ProviderV2Info } from "@opencode-ai/sdk/v2/types" +import type { ModelInfo, ProviderV2Info } from "@opencode-ai/client/effect" import type { CatalogApi } from "@opencode-ai/client/effect/api" import type { Model } from "@opencode-ai/schema/model" import type { Effect } from "effect" diff --git a/packages/plugin/src/v2/effect/command.ts b/packages/plugin/src/v2/effect/command.ts index 6e4764a485..c4037b5083 100644 --- a/packages/plugin/src/v2/effect/command.ts +++ b/packages/plugin/src/v2/effect/command.ts @@ -1,4 +1,4 @@ -import type { CommandInfo } from "@opencode-ai/sdk/v2/types" +import type { CommandInfo } from "@opencode-ai/client/effect" import type { CommandApi } from "@opencode-ai/client/effect/api" import type { Effect } from "effect" import type { Transform } from "./registration.js" diff --git a/packages/plugin/src/v2/effect/filesystem.ts b/packages/plugin/src/v2/effect/filesystem.ts index d242b2a692..38a03ac607 100644 --- a/packages/plugin/src/v2/effect/filesystem.ts +++ b/packages/plugin/src/v2/effect/filesystem.ts @@ -1,4 +1,4 @@ -import type { FileSystemEntry } from "@opencode-ai/sdk/v2/types" +import type { FileSystemEntry } from "@opencode-ai/client/effect" import type { Effect } from "effect" export interface FileSystem { diff --git a/packages/plugin/src/v2/effect/integration.ts b/packages/plugin/src/v2/effect/integration.ts index 2cbfe24612..12a7e4ca3d 100644 --- a/packages/plugin/src/v2/effect/integration.ts +++ b/packages/plugin/src/v2/effect/integration.ts @@ -1,15 +1,6 @@ -import type { - ConnectionInfo, - CredentialOAuth, - CredentialValue, - IntegrationCommandMethod, - IntegrationEnvMethod, - IntegrationInputs, - IntegrationKeyMethod, - IntegrationMethod, - IntegrationOAuthMethod, - IntegrationRef, -} from "@opencode-ai/sdk/v2/types" +import type { Connection } from "@opencode-ai/schema/connection" +import type { Credential } from "@opencode-ai/schema/credential" +import type { Integration } from "@opencode-ai/schema/integration" import type { IntegrationApi } from "@opencode-ai/client/effect/api" import type { Effect, Scope } from "effect" import type { Transform } from "./registration.js" @@ -21,44 +12,44 @@ export type IntegrationOAuthAuthorization = { } & ( | { readonly mode: "auto" - readonly callback: Effect.Effect + readonly callback: Effect.Effect } | { readonly mode: "code" - readonly callback: (code: string) => Effect.Effect + readonly callback: (code: string) => Effect.Effect } ) export type IntegrationOAuthMethodRegistration = { readonly integrationID: string - readonly method: IntegrationOAuthMethod - readonly authorize: (inputs: IntegrationInputs) => Effect.Effect - readonly refresh?: (credential: CredentialOAuth) => Effect.Effect - readonly label?: (credential: CredentialOAuth) => string | undefined + readonly method: Integration.OAuthMethod + readonly authorize: (inputs: Integration.Inputs) => Effect.Effect + readonly refresh?: (credential: Credential.OAuth) => Effect.Effect + readonly label?: (credential: Credential.OAuth) => string | undefined } export type IntegrationMethodRegistration = | IntegrationOAuthMethodRegistration | { readonly integrationID: string - readonly method: IntegrationCommandMethod + readonly method: Integration.CommandMethod } | { readonly integrationID: string - readonly method: IntegrationKeyMethod + readonly method: Integration.KeyMethod } | { readonly integrationID: string - readonly method: IntegrationEnvMethod + readonly method: Integration.EnvMethod } export interface IntegrationDraft { - list(): readonly IntegrationRef[] - get(id: string): IntegrationRef | undefined - update(id: string, update: (integration: IntegrationRef) => void): void + list(): readonly Integration.Ref[] + get(id: string): Integration.Ref | undefined + update(id: string, update: (integration: Integration.Ref) => void): void remove(id: string): void readonly method: { - list(integrationID: string): readonly IntegrationMethod[] + list(integrationID: string): readonly Integration.Method[] update(input: IntegrationMethodRegistration): void - remove(integrationID: string, method: IntegrationMethod): void + remove(integrationID: string, method: Integration.Method): void } } @@ -66,7 +57,7 @@ export interface IntegrationDomain extends Omit, "wellkn readonly transform: Transform readonly reload: () => Effect.Effect readonly connection: { - readonly active: (integrationID: string) => Effect.Effect - readonly resolve: (connection: ConnectionInfo) => Effect.Effect + readonly active: (integrationID: string) => Effect.Effect + readonly resolve: (connection: Connection.Info) => Effect.Effect } } diff --git a/packages/plugin/src/v2/effect/reference.ts b/packages/plugin/src/v2/effect/reference.ts index 085ae0de5e..df0738538b 100644 --- a/packages/plugin/src/v2/effect/reference.ts +++ b/packages/plugin/src/v2/effect/reference.ts @@ -1,12 +1,12 @@ -import type { ReferenceGitSource, ReferenceLocalSource } from "@opencode-ai/sdk/v2/types" +import type { Reference } from "@opencode-ai/schema/reference" import type { ReferenceApi } from "@opencode-ai/client/effect/api" import type { Effect } from "effect" import type { Transform } from "./registration.js" export interface ReferenceDraft { - add(name: string, source: ReferenceLocalSource | ReferenceGitSource): void + add(name: string, source: Reference.LocalSource | Reference.GitSource): void remove(name: string): void - list(): readonly (readonly [string, ReferenceLocalSource | ReferenceGitSource])[] + list(): readonly (readonly [string, Reference.LocalSource | Reference.GitSource])[] } export interface ReferenceDomain extends ReferenceApi { diff --git a/packages/plugin/src/v2/effect/skill.ts b/packages/plugin/src/v2/effect/skill.ts index 32daf0fb0a..ae2db56d41 100644 --- a/packages/plugin/src/v2/effect/skill.ts +++ b/packages/plugin/src/v2/effect/skill.ts @@ -1,11 +1,11 @@ -import type { SkillSource } from "@opencode-ai/sdk/v2/types" +import type { Skill } from "@opencode-ai/schema/skill" import type { SkillApi } from "@opencode-ai/client/effect/api" import type { Effect } from "effect" import type { Transform } from "./registration.js" export interface SkillDraft { - source(source: SkillSource): void - list(): readonly SkillSource[] + source(source: Skill.Source): void + list(): readonly Skill.Source[] } export interface SkillDomain extends SkillApi { diff --git a/packages/plugin/src/v2/promise/integration.ts b/packages/plugin/src/v2/promise/integration.ts index 6b121afc8b..181ca6303e 100644 --- a/packages/plugin/src/v2/promise/integration.ts +++ b/packages/plugin/src/v2/promise/integration.ts @@ -1,13 +1,7 @@ import type { IntegrationApi } from "@opencode-ai/client/promise/api" import type { IntegrationDraft, IntegrationMethodRegistration } from "../effect/integration.js" -import type { - CredentialOAuth, - CredentialValue, - IntegrationEnvMethod, - IntegrationInputs, - IntegrationKeyMethod, - IntegrationOAuthMethod, -} from "@opencode-ai/sdk/v2/types" +import type { Connection } from "@opencode-ai/schema/connection" +import type { Credential } from "@opencode-ai/schema/credential" import type { Transform } from "./registration.js" export type { IntegrationDraft, IntegrationMethodRegistration } @@ -19,11 +13,11 @@ export type IntegrationOAuthAuthorization = { } & ( | { readonly mode: "auto" - readonly callback: Promise + readonly callback: Promise } | { readonly mode: "code" - readonly callback: (code: string) => Promise + readonly callback: (code: string) => Promise } ) @@ -31,9 +25,7 @@ export interface IntegrationDomain extends Omit { readonly transform: Transform readonly reload: () => Promise readonly connection: { - readonly active: (integrationID: string) => Promise - readonly resolve: ( - connection: import("@opencode-ai/sdk/v2/types").ConnectionInfo, - ) => Promise + readonly active: (integrationID: string) => Promise + readonly resolve: (connection: Connection.Info) => Promise } } diff --git a/packages/session-ui/src/components/session-diff.ts b/packages/session-ui/src/components/session-diff.ts index 6fccfc305d..d37fe8c8b4 100644 --- a/packages/session-ui/src/components/session-diff.ts +++ b/packages/session-ui/src/components/session-diff.ts @@ -1,6 +1,7 @@ import { parseDiffFromFile, parsePatchFiles, type FileDiffMetadata } from "@pierre/diffs" import { parsePatch } from "diff" -import type { FileDiffInfo, VcsFileDiff } from "@opencode-ai/sdk/v2" +import type { FileDiffInfo } from "@opencode-ai/client" +import type { VcsFileDiff } from "@opencode-ai/sdk/v2" type LegacyDiff = { file: string diff --git a/packages/session-ui/src/components/session-review.tsx b/packages/session-ui/src/components/session-review.tsx index ec94af2f2d..7e3d822a2d 100644 --- a/packages/session-ui/src/components/session-review.tsx +++ b/packages/session-ui/src/components/session-review.tsx @@ -15,7 +15,8 @@ import { getDirectory, getFilename } from "@opencode-ai/core/util/path" import { checksum } from "@opencode-ai/core/util/encode" import { createEffect, createMemo, For, Match, onCleanup, Show, Switch, untrack, type JSX } from "solid-js" import { createStore } from "solid-js/store" -import { type FileContent, type FileDiffInfo, type VcsFileDiff } from "@opencode-ai/sdk/v2" +import type { FileDiffInfo } from "@opencode-ai/client" +import { type FileContent, type VcsFileDiff } from "@opencode-ai/sdk/v2" import { PreloadMultiFileDiffResult } from "@pierre/diffs/ssr" import { type SelectedLineRange } from "@pierre/diffs" import { Dynamic } from "solid-js/web" diff --git a/packages/session-ui/src/components/session-turn.tsx b/packages/session-ui/src/components/session-turn.tsx index a6d0f11efb..ebdb9bed6b 100644 --- a/packages/session-ui/src/components/session-turn.tsx +++ b/packages/session-ui/src/components/session-turn.tsx @@ -1,10 +1,10 @@ import { AssistantMessage, - type FileDiffInfo, Message as MessageType, Part as PartType, type UserMessage, } from "@opencode-ai/sdk/v2/client" +import type { FileDiffInfo } from "@opencode-ai/client" import type { SessionStatus } from "@opencode-ai/sdk/v2" import { useData } from "../context" import { useFileComponent } from "@opencode-ai/ui/context/file" diff --git a/packages/session-ui/src/context/data.tsx b/packages/session-ui/src/context/data.tsx index d505249931..8e905819d0 100644 --- a/packages/session-ui/src/context/data.tsx +++ b/packages/session-ui/src/context/data.tsx @@ -1,4 +1,5 @@ -import type { FileDiffInfo, Message, Part, Provider, Session, SessionStatus } from "@opencode-ai/sdk/v2" +import type { FileDiffInfo } from "@opencode-ai/client" +import type { Message, Part, Provider, Session, SessionStatus } from "@opencode-ai/sdk/v2" import { createSimpleContext } from "@opencode-ai/ui/context" import { PreloadMultiFileDiffResult } from "@pierre/diffs/ssr" diff --git a/packages/session-ui/src/v2/components/session-review-file-preview-v2.tsx b/packages/session-ui/src/v2/components/session-review-file-preview-v2.tsx index deb1cabf21..1f124d292d 100644 --- a/packages/session-ui/src/v2/components/session-review-file-preview-v2.tsx +++ b/packages/session-ui/src/v2/components/session-review-file-preview-v2.tsx @@ -6,7 +6,8 @@ import { useFileComponent } from "@opencode-ai/ui/context/file" import { useI18n } from "@opencode-ai/ui/context/i18n" import { mediaKindFromPath } from "../../pierre/media" import { cloneSelectedLineRange, previewSelectedLines } from "../../pierre/selection-bridge" -import type { FileContent, FileDiffInfo, VcsFileDiff } from "@opencode-ai/sdk/v2" +import type { FileDiffInfo } from "@opencode-ai/client" +import type { FileContent, VcsFileDiff } from "@opencode-ai/sdk/v2" import { createEffect, createMemo, onCleanup, Show, untrack } from "solid-js" import { createStore } from "solid-js/store" import { Dynamic } from "solid-js/web"