diff --git a/packages/core/src/config/plugin/command.ts b/packages/core/src/config/plugin/command.ts index f9b31f8e45a1..d7ce692e14b3 100644 --- a/packages/core/src/config/plugin/command.ts +++ b/packages/core/src/config/plugin/command.ts @@ -3,7 +3,6 @@ export * as ConfigCommandPlugin from "./command" import { define } from "../../plugin/internal" import path from "path" import { Effect, Option, Schema } from "effect" -import { CommandV2 } from "../../command" import { Config } from "../../config" import { FSUtil } from "../../fs-util" import { ModelV2 } from "../../model" diff --git a/packages/core/src/config/plugin/provider.ts b/packages/core/src/config/plugin/provider.ts index 6f6e0528da73..dc55feee31d4 100644 --- a/packages/core/src/config/plugin/provider.ts +++ b/packages/core/src/config/plugin/provider.ts @@ -4,7 +4,6 @@ import { define } from "../../plugin/internal" import { Effect } from "effect" import { Config } from "../../config" import { ModelV2 } from "../../model" -import { ProviderV2 } from "../../provider" export const Plugin = define({ id: "config-provider", diff --git a/packages/core/src/cross-spawn-spawner.ts b/packages/core/src/cross-spawn-spawner.ts index 6ea9022acf1d..1b0466dd28c1 100644 --- a/packages/core/src/cross-spawn-spawner.ts +++ b/packages/core/src/cross-spawn-spawner.ts @@ -1,6 +1,5 @@ import type * as Arr from "effect/Array" -import { NodeFileSystem, NodeSink, NodeStream } from "@effect/platform-node" -import * as NodePath from "@effect/platform-node/NodePath" +import { NodeSink, NodeStream } from "@effect/platform-node" import * as Deferred from "effect/Deferred" import * as Effect from "effect/Effect" import * as Exit from "effect/Exit" diff --git a/packages/core/src/effect/dfdf b/packages/core/src/effect/dfdf deleted file mode 100644 index 77f2d5796890..000000000000 --- a/packages/core/src/effect/dfdf +++ /dev/null @@ -1 +0,0 @@ -File to save in: ~/.local/share/opencode/worktree/012780/location-layer-tiers/packages/core/src/effect/ \ No newline at end of file diff --git a/packages/core/src/fs-util.ts b/packages/core/src/fs-util.ts index 93a551c9b0a2..d9cf7abdc97a 100644 --- a/packages/core/src/fs-util.ts +++ b/packages/core/src/fs-util.ts @@ -1,4 +1,3 @@ -import { NodeFileSystem } from "@effect/platform-node" import { dirname, isAbsolute, join, relative, resolve as pathResolve, sep } from "path" import { realpathSync } from "fs" import * as NFS from "fs/promises" diff --git a/packages/core/src/models-dev.ts b/packages/core/src/models-dev.ts index e577935f067a..e5f67bb7fdc2 100644 --- a/packages/core/src/models-dev.ts +++ b/packages/core/src/models-dev.ts @@ -1,6 +1,6 @@ import path from "path" import { Context, Duration, Effect, Layer, Option, Schedule, Schema } from "effect" -import { FetchHttpClient, HttpClient, HttpClientRequest } from "effect/unstable/http" +import { HttpClient, HttpClientRequest } from "effect/unstable/http" import { ModelsDev } from "@opencode-ai/schema/models-dev" import { Global } from "./global" import { Flag } from "./flag/flag" diff --git a/packages/core/src/npm.ts b/packages/core/src/npm.ts index 94e573d12da9..7e9f06a21886 100644 --- a/packages/core/src/npm.ts +++ b/packages/core/src/npm.ts @@ -5,7 +5,6 @@ import { createRequire } from "module" import { pathToFileURL } from "url" import npa from "npm-package-arg" import { Effect, Schema, Context, Layer, Option, FileSystem } from "effect" -import { NodeFileSystem } from "@effect/platform-node" import { FSUtil } from "./fs-util" import { Global } from "./global" import { EffectFlock } from "./util/effect-flock" diff --git a/packages/core/src/public-event-manifest.ts b/packages/core/src/public-event-manifest.ts deleted file mode 100644 index 11b84f790546..000000000000 --- a/packages/core/src/public-event-manifest.ts +++ /dev/null @@ -1,7 +0,0 @@ -export * as PublicEventManifest from "./public-event-manifest" - -import { Event } from "@opencode-ai/schema/event" -import { EventManifest } from "@opencode-ai/schema/event-manifest" - -export const Definitions = EventManifest.ServerDefinitions -export const Latest = Event.latest(Definitions) diff --git a/packages/core/src/ripgrep/binary.ts b/packages/core/src/ripgrep/binary.ts index 762a8e613ef0..099480641f43 100644 --- a/packages/core/src/ripgrep/binary.ts +++ b/packages/core/src/ripgrep/binary.ts @@ -1,6 +1,6 @@ import path from "path" import { Context, Effect, Layer, Stream } from "effect" -import { FetchHttpClient, HttpClient, HttpClientRequest } from "effect/unstable/http" +import { HttpClient, HttpClientRequest } from "effect/unstable/http" import { ChildProcess } from "effect/unstable/process" import { ChildProcessSpawner } from "effect/unstable/process/ChildProcessSpawner" import { CrossSpawnSpawner } from "../cross-spawn-spawner" diff --git a/packages/core/src/session/context-epoch.ts b/packages/core/src/session/context-epoch.ts index 65b17a86a4fb..5f23197138ed 100644 --- a/packages/core/src/session/context-epoch.ts +++ b/packages/core/src/session/context-epoch.ts @@ -8,7 +8,6 @@ import { SystemContext } from "../system-context/index" import { ContextSnapshotDecodeError } from "./error" import { SessionEvent } from "./event" import { SessionHistory } from "./history" -import { SessionInput } from "./input" import { SessionMessage } from "./message" import { SessionSchema } from "./schema" import { SessionContextEpochTable } from "./sql" diff --git a/packages/core/src/session/info.ts b/packages/core/src/session/info.ts index 66832750fd65..75a0482c21ea 100644 --- a/packages/core/src/session/info.ts +++ b/packages/core/src/session/info.ts @@ -9,7 +9,6 @@ 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({ diff --git a/packages/core/src/session/sql.ts b/packages/core/src/session/sql.ts index 264a1d2cca0a..0310674655ae 100644 --- a/packages/core/src/session/sql.ts +++ b/packages/core/src/session/sql.ts @@ -12,7 +12,6 @@ import type { MessageID, PartID, SessionV1 } from "../v1/session" import { WorkspaceV2 } from "../workspace" import { Timestamps } from "../database/schema.sql" import type { SystemContext } from "../system-context/index" -import { AgentV2 } from "../agent" import type { Revert } from "@opencode-ai/schema/revert" type SessionMessageData = Omit<(typeof SessionMessage.Message)["Encoded"], "type" | "id"> diff --git a/packages/core/src/shell.ts b/packages/core/src/shell.ts index 29089106d904..aff2c68ab1bd 100644 --- a/packages/core/src/shell.ts +++ b/packages/core/src/shell.ts @@ -1,15 +1,12 @@ export * as Shell from "./shell" import path from "path" -import { spawn, type ChildProcess } from "child_process" import { readFile } from "fs/promises" import { statSync } from "fs" -import { setTimeout as sleep } from "node:timers/promises" import { Flag } from "./flag/flag" import { FSUtil } from "./fs-util" import { which } from "./util/which" -const SIGKILL_TIMEOUT_MS = 200 const META: Record = { bash: { login: true, posix: true }, dash: { login: true, posix: true }, @@ -28,37 +25,6 @@ export type Item = { acceptable: boolean } -export async function killTree(proc: ChildProcess, opts?: { exited?: () => boolean }): Promise { - const pid = proc.pid - if (!pid || opts?.exited?.()) return - - if (process.platform === "win32") { - await new Promise((resolve) => { - const killer = spawn("taskkill", ["/pid", String(pid), "/f", "/t"], { - stdio: "ignore", - windowsHide: true, - }) - killer.once("exit", () => resolve()) - killer.once("error", () => resolve()) - }) - return - } - - try { - process.kill(-pid, "SIGTERM") - await sleep(SIGKILL_TIMEOUT_MS) - if (!opts?.exited?.()) { - process.kill(-pid, "SIGKILL") - } - } catch { - proc.kill("SIGTERM") - await sleep(SIGKILL_TIMEOUT_MS) - if (!opts?.exited?.()) { - proc.kill("SIGKILL") - } - } -} - function stat(file: string) { return statSync(file, { throwIfNoEntry: false }) ?? undefined } diff --git a/packages/core/src/skill/discovery.ts b/packages/core/src/skill/discovery.ts index a192ba1023b1..3fdf32c8563f 100644 --- a/packages/core/src/skill/discovery.ts +++ b/packages/core/src/skill/discovery.ts @@ -2,7 +2,7 @@ export * as SkillDiscovery from "./discovery" import path from "path" import { Context, Effect, Layer, Schedule, Schema } from "effect" -import { FetchHttpClient, HttpClient, HttpClientRequest, HttpClientResponse } from "effect/unstable/http" +import { HttpClient, HttpClientRequest, HttpClientResponse } from "effect/unstable/http" import { FSUtil } from "../fs-util" import { Global } from "../global" import { makeGlobalNode } from "../effect/app-node" diff --git a/packages/core/src/util/binary.ts b/packages/core/src/util/binary.ts index 3d8f61851aef..9444f46e2952 100644 --- a/packages/core/src/util/binary.ts +++ b/packages/core/src/util/binary.ts @@ -18,24 +18,4 @@ export namespace Binary { return { found: false, index: left } } - - export function insert(array: T[], item: T, compare: (item: T) => string): T[] { - const id = compare(item) - let left = 0 - let right = array.length - - while (left < right) { - const mid = Math.floor((left + right) / 2) - const midId = compare(array[mid]) - - if (midId < id) { - left = mid + 1 - } else { - right = mid - } - } - - array.splice(left, 0, item) - return array - } } diff --git a/packages/core/src/util/hash.ts b/packages/core/src/util/hash.ts index e8bf1beff9f4..680e0f40bc81 100644 --- a/packages/core/src/util/hash.ts +++ b/packages/core/src/util/hash.ts @@ -4,8 +4,4 @@ export namespace Hash { export function fast(input: string | Buffer): string { return createHash("sha1").update(input).digest("hex") } - - export function sha256(input: string | Buffer): string { - return createHash("sha256").update(input).digest("hex") - } } diff --git a/packages/core/src/util/path.ts b/packages/core/src/util/path.ts index b87316358f93..a3f2b550b593 100644 --- a/packages/core/src/util/path.ts +++ b/packages/core/src/util/path.ts @@ -12,12 +12,6 @@ export function getDirectory(path: string | undefined) { return parts.slice(0, parts.length - 1).join("/") + "/" } -export function getFileExtension(path: string | undefined) { - if (!path) return "" - const parts = path.split(".") - return parts[parts.length - 1] -} - export function getFilenameTruncated(path: string | undefined, maxLength: number = 20) { const filename = getFilename(path) if (filename.length <= maxLength) return filename diff --git a/packages/core/test/config/config.test.ts b/packages/core/test/config/config.test.ts index c3c42cab3022..84c09536388c 100644 --- a/packages/core/test/config/config.test.ts +++ b/packages/core/test/config/config.test.ts @@ -9,7 +9,6 @@ import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" import { LayerNode } from "@opencode-ai/core/effect/layer-node" import { ConfigMigrateV1 } from "@opencode-ai/core/v1/config/migrate" import { ConfigV1 } from "@opencode-ai/core/v1/config/config" -import { FSUtil } from "@opencode-ai/core/fs-util" import { Global } from "@opencode-ai/core/global" import { Location } from "@opencode-ai/core/location" import { Policy } from "@opencode-ai/core/policy" diff --git a/packages/core/test/location-layer.test.ts b/packages/core/test/location-layer.test.ts index e28e758c87b8..8a6c09942536 100644 --- a/packages/core/test/location-layer.test.ts +++ b/packages/core/test/location-layer.test.ts @@ -20,14 +20,8 @@ import { SessionRunnerModel } from "@opencode-ai/core/session/runner/model" import { tmpdir } from "./fixture/tmpdir" import { testEffect } from "./lib/effect" import { toolDefinitions } from "./lib/tool" -import { FSUtil } from "../src/fs-util" -import { Credential } from "../src/credential" import { Database } from "../src/database/database" import { EventV2 } from "../src/event" -import { Global } from "../src/global" -import { ModelsDev } from "../src/models-dev" -import { Npm } from "../src/npm" -import { Project } from "../src/project" import { Reference } from "../src/reference" import { ToolRegistry } from "../src/tool/registry" import { ApplicationTools } from "../src/tool/application-tools" diff --git a/packages/core/test/models.test.ts b/packages/core/test/models.test.ts index a3ed86dc8cda..1b27060f748a 100644 --- a/packages/core/test/models.test.ts +++ b/packages/core/test/models.test.ts @@ -3,7 +3,6 @@ import { Effect, Layer, Ref } from "effect" import { HttpClient, HttpClientResponse } from "effect/unstable/http" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" import { LayerNodePlatform } from "@opencode-ai/core/effect/app-node-platform" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" import { Flag } from "@opencode-ai/core/flag/flag" import { Global } from "@opencode-ai/core/global" import { ModelsDev } from "@opencode-ai/core/models-dev" diff --git a/packages/core/test/npm.test.ts b/packages/core/test/npm.test.ts index dfca7a49ff52..9aa60fa45122 100644 --- a/packages/core/test/npm.test.ts +++ b/packages/core/test/npm.test.ts @@ -2,7 +2,7 @@ import fs from "fs/promises" import path from "path" import { pathToFileURL } from "url" import { describe, expect, test } from "bun:test" -import { Effect, Option } from "effect" +import { Effect } from "effect" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" import { Global } from "@opencode-ai/core/global" import { Npm } from "@opencode-ai/core/npm" diff --git a/packages/core/test/plugin/provider-gitlab.test.ts b/packages/core/test/plugin/provider-gitlab.test.ts index f9880844d3d9..de0d7de48a3d 100644 --- a/packages/core/test/plugin/provider-gitlab.test.ts +++ b/packages/core/test/plugin/provider-gitlab.test.ts @@ -1,7 +1,6 @@ import { AISDK } from "@opencode-ai/core/aisdk" import { describe, expect, mock } from "bun:test" import { Effect } from "effect" -import { Catalog } from "@opencode-ai/core/catalog" import { ModelV2 } from "@opencode-ai/core/model" import { PluginV2 } from "@opencode-ai/core/plugin" import { PluginHost } from "@opencode-ai/core/plugin/host" diff --git a/packages/core/test/plugin/variant.test.ts b/packages/core/test/plugin/variant.test.ts index 84af04a4df98..c61f204202cd 100644 --- a/packages/core/test/plugin/variant.test.ts +++ b/packages/core/test/plugin/variant.test.ts @@ -1,7 +1,6 @@ import { describe, expect } from "bun:test" import { Catalog } from "@opencode-ai/core/catalog" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" import { Location } from "@opencode-ai/core/location" import { ModelV2 } from "@opencode-ai/core/model" import { VariantPlugin } from "@opencode-ai/core/plugin/variant" diff --git a/packages/core/test/project.test.ts b/packages/core/test/project.test.ts index fa709a8b2bf5..43e6d837ebf6 100644 --- a/packages/core/test/project.test.ts +++ b/packages/core/test/project.test.ts @@ -2,7 +2,7 @@ import { describe, expect } from "bun:test" import { $ } from "bun" import fs from "fs/promises" import path from "path" -import { Effect, Schema } from "effect" +import { Effect } from "effect" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" import { ProjectV2 } from "@opencode-ai/core/project" import { AbsolutePath } from "@opencode-ai/core/schema" diff --git a/packages/core/test/reference.test.ts b/packages/core/test/reference.test.ts index 5ab215230acf..99d29d26700c 100644 --- a/packages/core/test/reference.test.ts +++ b/packages/core/test/reference.test.ts @@ -1,7 +1,6 @@ import { describe, expect } from "bun:test" import { Effect, Exit, Layer, Scope } from "effect" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" import { AbsolutePath } from "@opencode-ai/core/schema" import { Global } from "@opencode-ai/core/global" import { Reference } from "@opencode-ai/core/reference" diff --git a/packages/core/test/repository-cache.test.ts b/packages/core/test/repository-cache.test.ts index 4433583bf787..be774b74bc78 100644 --- a/packages/core/test/repository-cache.test.ts +++ b/packages/core/test/repository-cache.test.ts @@ -4,7 +4,6 @@ import path from "path" import { pathToFileURL } from "url" import { Effect, Layer } from "effect" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" import { Global } from "@opencode-ai/core/global" import { Repository } from "@opencode-ai/core/repository" import { RepositoryCache } from "@opencode-ai/core/repository-cache" diff --git a/packages/core/test/skill-discovery.test.ts b/packages/core/test/skill-discovery.test.ts index e875beb931b2..cb63c8723c94 100644 --- a/packages/core/test/skill-discovery.test.ts +++ b/packages/core/test/skill-discovery.test.ts @@ -5,7 +5,6 @@ import { Effect, Layer } from "effect" import { HttpClient, HttpClientResponse } from "effect/unstable/http" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" import { LayerNodePlatform } from "@opencode-ai/core/effect/app-node-platform" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" import { Global } from "@opencode-ai/core/global" import { SkillDiscovery } from "@opencode-ai/core/skill/discovery" import { tmpdir } from "./fixture/tmpdir" diff --git a/packages/core/test/skill.test.ts b/packages/core/test/skill.test.ts index 0f8e1b3cb3d8..57dfd762a5c0 100644 --- a/packages/core/test/skill.test.ts +++ b/packages/core/test/skill.test.ts @@ -5,7 +5,6 @@ import { Effect, Layer } from "effect" import { AgentV2 } from "@opencode-ai/core/agent" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" import { LayerNode } from "@opencode-ai/core/effect/layer-node" -import { FSUtil } from "@opencode-ai/core/fs-util" import { AbsolutePath } from "@opencode-ai/core/schema" import { SkillV2 } from "@opencode-ai/core/skill" import { SkillDiscovery } from "@opencode-ai/core/skill/discovery" diff --git a/packages/core/test/tool-bash.test.ts b/packages/core/test/tool-bash.test.ts index 1e67abe2bad9..3a36717ac01b 100644 --- a/packages/core/test/tool-bash.test.ts +++ b/packages/core/test/tool-bash.test.ts @@ -4,7 +4,6 @@ import path from "path" import { describe, expect, test } from "bun:test" import { Effect, Layer } from "effect" import { ChildProcess } from "effect/unstable/process" -import { FSUtil } from "@opencode-ai/core/fs-util" import { Config } from "@opencode-ai/core/config" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" import { LayerNode } from "@opencode-ai/core/effect/layer-node" diff --git a/packages/core/test/util/effect-flock.test.ts b/packages/core/test/util/effect-flock.test.ts index a0f737a998d5..9f6de159608e 100644 --- a/packages/core/test/util/effect-flock.test.ts +++ b/packages/core/test/util/effect-flock.test.ts @@ -6,7 +6,6 @@ import os from "os" import { Cause, Effect, Exit } from "effect" import { testEffect } from "../lib/effect" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" import { EffectFlock } from "@opencode-ai/core/util/effect-flock" import { Global } from "@opencode-ai/core/global" import { Hash } from "@opencode-ai/core/util/hash"