فهرست منبع

refactor: rename shared package to core (#24309)

Dax 5 ساعت پیش
والد
کامیت
62ef2a2207
100فایلهای تغییر یافته به همراه131 افزوده شده و 131 حذف شده
  1. 30 30
      bun.lock
  2. 1 1
      packages/app/package.json
  3. 1 1
      packages/app/src/components/dialog-edit-project.tsx
  4. 1 1
      packages/app/src/components/dialog-fork.tsx
  5. 1 1
      packages/app/src/components/dialog-select-directory.tsx
  6. 2 2
      packages/app/src/components/dialog-select-file.tsx
  7. 1 1
      packages/app/src/components/prompt-input/build-request-parts.ts
  8. 1 1
      packages/app/src/components/prompt-input/context-items.tsx
  9. 1 1
      packages/app/src/components/prompt-input/slash-popover.tsx
  10. 1 1
      packages/app/src/components/prompt-input/submit.test.ts
  11. 2 2
      packages/app/src/components/prompt-input/submit.ts
  12. 2 2
      packages/app/src/components/session/session-context-tab.tsx
  13. 1 1
      packages/app/src/components/session/session-header.tsx
  14. 1 1
      packages/app/src/components/session/session-new-view.tsx
  15. 1 1
      packages/app/src/components/session/session-sortable-tab.tsx
  16. 1 1
      packages/app/src/context/file.tsx
  17. 1 1
      packages/app/src/context/global-sync.tsx
  18. 2 2
      packages/app/src/context/global-sync/bootstrap.ts
  19. 1 1
      packages/app/src/context/global-sync/event-reducer.ts
  20. 1 1
      packages/app/src/context/local.tsx
  21. 2 2
      packages/app/src/context/notification.tsx
  22. 1 1
      packages/app/src/context/permission-auto-respond.test.ts
  23. 1 1
      packages/app/src/context/permission-auto-respond.ts
  24. 1 1
      packages/app/src/context/prompt.tsx
  25. 2 2
      packages/app/src/context/sync.tsx
  26. 1 1
      packages/app/src/pages/directory-layout.tsx
  27. 1 1
      packages/app/src/pages/home.tsx
  28. 4 4
      packages/app/src/pages/layout.tsx
  29. 1 1
      packages/app/src/pages/layout/helpers.ts
  30. 1 1
      packages/app/src/pages/layout/sidebar-items.tsx
  31. 1 1
      packages/app/src/pages/layout/sidebar-project.tsx
  32. 2 2
      packages/app/src/pages/layout/sidebar-workspace.tsx
  33. 1 1
      packages/app/src/pages/session.tsx
  34. 1 1
      packages/app/src/pages/session/file-tabs.tsx
  35. 2 2
      packages/app/src/pages/session/message-timeline.tsx
  36. 1 1
      packages/app/src/pages/session/use-session-commands.tsx
  37. 1 1
      packages/app/src/utils/base64.ts
  38. 1 1
      packages/app/src/utils/persist.ts
  39. 1 1
      packages/core/package.json
  40. 0 0
      packages/core/src/filesystem.ts
  41. 0 0
      packages/core/src/global.ts
  42. 0 0
      packages/core/src/types.d.ts
  43. 0 0
      packages/core/src/util/array.ts
  44. 0 0
      packages/core/src/util/binary.ts
  45. 0 0
      packages/core/src/util/effect-flock.ts
  46. 0 0
      packages/core/src/util/encode.ts
  47. 0 0
      packages/core/src/util/error.ts
  48. 0 0
      packages/core/src/util/flock.ts
  49. 0 0
      packages/core/src/util/fn.ts
  50. 0 0
      packages/core/src/util/glob.ts
  51. 0 0
      packages/core/src/util/hash.ts
  52. 0 0
      packages/core/src/util/identifier.ts
  53. 0 0
      packages/core/src/util/iife.ts
  54. 0 0
      packages/core/src/util/lazy.ts
  55. 0 0
      packages/core/src/util/module.ts
  56. 0 0
      packages/core/src/util/path.ts
  57. 0 0
      packages/core/src/util/retry.ts
  58. 0 0
      packages/core/src/util/slug.ts
  59. 0 0
      packages/core/sst-env.d.ts
  60. 1 1
      packages/core/test/filesystem/filesystem.test.ts
  61. 3 3
      packages/core/test/fixture/effect-flock-worker.ts
  62. 1 1
      packages/core/test/fixture/flock-worker.ts
  63. 0 0
      packages/core/test/lib/effect.ts
  64. 4 4
      packages/core/test/util/effect-flock.test.ts
  65. 2 2
      packages/core/test/util/flock.test.ts
  66. 0 0
      packages/core/tsconfig.json
  67. 1 1
      packages/enterprise/package.json
  68. 2 2
      packages/enterprise/src/core/share.ts
  69. 1 1
      packages/enterprise/src/core/storage.ts
  70. 3 3
      packages/enterprise/src/routes/share/[shareID].tsx
  71. 1 1
      packages/enterprise/test/core/share.test.ts
  72. 1 1
      packages/opencode/package.json
  73. 1 1
      packages/opencode/src/acp/agent.ts
  74. 1 1
      packages/opencode/src/auth/index.ts
  75. 1 1
      packages/opencode/src/cli/cmd/tui/config/tui.ts
  76. 1 1
      packages/opencode/src/cli/cmd/tui/context/kv.tsx
  77. 1 1
      packages/opencode/src/cli/cmd/tui/context/sync.tsx
  78. 1 1
      packages/opencode/src/cli/cmd/tui/context/theme.tsx
  79. 1 1
      packages/opencode/src/cli/cmd/tui/plugin/runtime.ts
  80. 1 1
      packages/opencode/src/cli/error.ts
  81. 1 1
      packages/opencode/src/cli/ui.ts
  82. 2 2
      packages/opencode/src/config/agent.ts
  83. 2 2
      packages/opencode/src/config/command.ts
  84. 3 3
      packages/opencode/src/config/config.ts
  85. 1 1
      packages/opencode/src/config/error.ts
  86. 1 1
      packages/opencode/src/config/markdown.ts
  87. 1 1
      packages/opencode/src/config/paths.ts
  88. 1 1
      packages/opencode/src/config/plugin.ts
  89. 1 1
      packages/opencode/src/control-plane/workspace.ts
  90. 1 1
      packages/opencode/src/effect/app-runtime.ts
  91. 1 1
      packages/opencode/src/file/ignore.ts
  92. 1 1
      packages/opencode/src/file/index.ts
  93. 1 1
      packages/opencode/src/file/ripgrep.ts
  94. 1 1
      packages/opencode/src/global/index.ts
  95. 1 1
      packages/opencode/src/ide/index.ts
  96. 1 1
      packages/opencode/src/index.ts
  97. 1 1
      packages/opencode/src/lsp/client.ts
  98. 1 1
      packages/opencode/src/lsp/lsp.ts
  99. 1 1
      packages/opencode/src/lsp/server.ts
  100. 1 1
      packages/opencode/src/mcp/auth.ts

+ 30 - 30
bun.lock

@@ -32,8 +32,8 @@
       "version": "1.14.25",
       "dependencies": {
         "@kobalte/core": "catalog:",
+        "@opencode-ai/core": "workspace:*",
         "@opencode-ai/sdk": "workspace:*",
-        "@opencode-ai/shared": "workspace:*",
         "@opencode-ai/ui": "workspace:*",
         "@shikijs/transformers": "3.9.2",
         "@solid-primitives/active-element": "2.1.3",
@@ -190,6 +190,30 @@
         "cloudflare": "5.2.0",
       },
     },
+    "packages/core": {
+      "name": "@opencode-ai/core",
+      "version": "1.14.25",
+      "bin": {
+        "opencode": "./bin/opencode",
+      },
+      "dependencies": {
+        "@effect/platform-node": "catalog:",
+        "@npmcli/arborist": "catalog:",
+        "effect": "catalog:",
+        "glob": "13.0.5",
+        "mime-types": "3.0.2",
+        "minimatch": "10.2.5",
+        "semver": "catalog:",
+        "xdg-basedir": "5.1.0",
+        "zod": "catalog:",
+      },
+      "devDependencies": {
+        "@tsconfig/bun": "catalog:",
+        "@types/bun": "catalog:",
+        "@types/npmcli__arborist": "6.3.3",
+        "@types/semver": "catalog:",
+      },
+    },
     "packages/desktop": {
       "name": "@opencode-ai/desktop",
       "version": "1.14.25",
@@ -271,7 +295,7 @@
       "name": "@opencode-ai/enterprise",
       "version": "1.14.25",
       "dependencies": {
-        "@opencode-ai/shared": "workspace:*",
+        "@opencode-ai/core": "workspace:*",
         "@opencode-ai/ui": "workspace:*",
         "@pierre/diffs": "catalog:",
         "@solidjs/meta": "catalog:",
@@ -426,8 +450,8 @@
         "@babel/core": "7.28.4",
         "@effect/language-service": "0.84.2",
         "@octokit/webhooks-types": "7.6.1",
+        "@opencode-ai/core": "workspace:*",
         "@opencode-ai/script": "workspace:*",
-        "@opencode-ai/shared": "workspace:*",
         "@parcel/watcher-darwin-arm64": "2.5.1",
         "@parcel/watcher-darwin-x64": "2.5.1",
         "@parcel/watcher-linux-arm64-glibc": "2.5.1",
@@ -508,30 +532,6 @@
         "typescript": "catalog:",
       },
     },
-    "packages/shared": {
-      "name": "@opencode-ai/shared",
-      "version": "1.14.25",
-      "bin": {
-        "opencode": "./bin/opencode",
-      },
-      "dependencies": {
-        "@effect/platform-node": "catalog:",
-        "@npmcli/arborist": "catalog:",
-        "effect": "catalog:",
-        "glob": "13.0.5",
-        "mime-types": "3.0.2",
-        "minimatch": "10.2.5",
-        "semver": "catalog:",
-        "xdg-basedir": "5.1.0",
-        "zod": "catalog:",
-      },
-      "devDependencies": {
-        "@tsconfig/bun": "catalog:",
-        "@types/bun": "catalog:",
-        "@types/npmcli__arborist": "6.3.3",
-        "@types/semver": "catalog:",
-      },
-    },
     "packages/slack": {
       "name": "@opencode-ai/slack",
       "version": "1.14.25",
@@ -572,8 +572,8 @@
       "version": "1.14.25",
       "dependencies": {
         "@kobalte/core": "catalog:",
+        "@opencode-ai/core": "workspace:*",
         "@opencode-ai/sdk": "workspace:*",
-        "@opencode-ai/shared": "workspace:*",
         "@pierre/diffs": "catalog:",
         "@shikijs/transformers": "3.9.2",
         "@solid-primitives/bounds": "0.1.3",
@@ -1554,6 +1554,8 @@
 
     "@opencode-ai/console-resource": ["@opencode-ai/console-resource@workspace:packages/console/resource"],
 
+    "@opencode-ai/core": ["@opencode-ai/core@workspace:packages/core"],
+
     "@opencode-ai/desktop": ["@opencode-ai/desktop@workspace:packages/desktop"],
 
     "@opencode-ai/desktop-electron": ["@opencode-ai/desktop-electron@workspace:packages/desktop-electron"],
@@ -1568,8 +1570,6 @@
 
     "@opencode-ai/sdk": ["@opencode-ai/sdk@workspace:packages/sdk/js"],
 
-    "@opencode-ai/shared": ["@opencode-ai/shared@workspace:packages/shared"],
-
     "@opencode-ai/slack": ["@opencode-ai/slack@workspace:packages/slack"],
 
     "@opencode-ai/storybook": ["@opencode-ai/storybook@workspace:packages/storybook"],

+ 1 - 1
packages/app/package.json

@@ -42,7 +42,7 @@
     "@kobalte/core": "catalog:",
     "@opencode-ai/sdk": "workspace:*",
     "@opencode-ai/ui": "workspace:*",
-    "@opencode-ai/shared": "workspace:*",
+    "@opencode-ai/core": "workspace:*",
     "@shikijs/transformers": "3.9.2",
     "@solid-primitives/active-element": "2.1.3",
     "@solid-primitives/audio": "1.4.2",

+ 1 - 1
packages/app/src/components/dialog-edit-project.tsx

@@ -9,7 +9,7 @@ import { createStore } from "solid-js/store"
 import { useGlobalSDK } from "@/context/global-sdk"
 import { useGlobalSync } from "@/context/global-sync"
 import { type LocalProject, getAvatarColors } from "@/context/layout"
-import { getFilename } from "@opencode-ai/shared/util/path"
+import { getFilename } from "@opencode-ai/core/util/path"
 import { Avatar } from "@opencode-ai/ui/avatar"
 import { useLanguage } from "@/context/language"
 import { getProjectAvatarSource } from "@/pages/layout/sidebar-items"

+ 1 - 1
packages/app/src/components/dialog-fork.tsx

@@ -9,7 +9,7 @@ import { List } from "@opencode-ai/ui/list"
 import { showToast } from "@opencode-ai/ui/toast"
 import { extractPromptFromParts } from "@/utils/prompt"
 import type { TextPart as SDKTextPart } from "@opencode-ai/sdk/v2/client"
-import { base64Encode } from "@opencode-ai/shared/util/encode"
+import { base64Encode } from "@opencode-ai/core/util/encode"
 import { useLanguage } from "@/context/language"
 
 interface ForkableMessage {

+ 1 - 1
packages/app/src/components/dialog-select-directory.tsx

@@ -3,7 +3,7 @@ import { Dialog } from "@opencode-ai/ui/dialog"
 import { FileIcon } from "@opencode-ai/ui/file-icon"
 import { List } from "@opencode-ai/ui/list"
 import type { ListRef } from "@opencode-ai/ui/list"
-import { getDirectory, getFilename } from "@opencode-ai/shared/util/path"
+import { getDirectory, getFilename } from "@opencode-ai/core/util/path"
 import fuzzysort from "fuzzysort"
 import { createMemo, createResource, createSignal } from "solid-js"
 import { useGlobalSDK } from "@/context/global-sdk"

+ 2 - 2
packages/app/src/components/dialog-select-file.tsx

@@ -4,8 +4,8 @@ import { FileIcon } from "@opencode-ai/ui/file-icon"
 import { Icon } from "@opencode-ai/ui/icon"
 import { Keybind } from "@opencode-ai/ui/keybind"
 import { List } from "@opencode-ai/ui/list"
-import { base64Encode } from "@opencode-ai/shared/util/encode"
-import { getDirectory, getFilename } from "@opencode-ai/shared/util/path"
+import { base64Encode } from "@opencode-ai/core/util/encode"
+import { getDirectory, getFilename } from "@opencode-ai/core/util/path"
 import { useNavigate } from "@solidjs/router"
 import { createMemo, createSignal, Match, onCleanup, Show, Switch } from "solid-js"
 import { formatKeybind, useCommand, type CommandOption } from "@/context/command"

+ 1 - 1
packages/app/src/components/prompt-input/build-request-parts.ts

@@ -1,4 +1,4 @@
-import { getFilename } from "@opencode-ai/shared/util/path"
+import { getFilename } from "@opencode-ai/core/util/path"
 import { type AgentPartInput, type FilePartInput, type Part, type TextPartInput } from "@opencode-ai/sdk/v2/client"
 import type { FileSelection } from "@/context/file"
 import { encodeFilePath } from "@/context/file/path"

+ 1 - 1
packages/app/src/components/prompt-input/context-items.tsx

@@ -2,7 +2,7 @@ import { Component, For, Show } from "solid-js"
 import { FileIcon } from "@opencode-ai/ui/file-icon"
 import { IconButton } from "@opencode-ai/ui/icon-button"
 import { Tooltip } from "@opencode-ai/ui/tooltip"
-import { getDirectory, getFilename, getFilenameTruncated } from "@opencode-ai/shared/util/path"
+import { getDirectory, getFilename, getFilenameTruncated } from "@opencode-ai/core/util/path"
 import type { ContextItem } from "@/context/prompt"
 
 type PromptContextItem = ContextItem & { key: string }

+ 1 - 1
packages/app/src/components/prompt-input/slash-popover.tsx

@@ -1,7 +1,7 @@
 import { Component, For, Match, Show, Switch } from "solid-js"
 import { FileIcon } from "@opencode-ai/ui/file-icon"
 import { Icon } from "@opencode-ai/ui/icon"
-import { getDirectory, getFilename } from "@opencode-ai/shared/util/path"
+import { getDirectory, getFilename } from "@opencode-ai/core/util/path"
 
 export type AtOption =
   | { type: "agent"; name: string; display: string }

+ 1 - 1
packages/app/src/components/prompt-input/submit.test.ts

@@ -74,7 +74,7 @@ beforeAll(async () => {
     showToast: () => 0,
   }))
 
-  mock.module("@opencode-ai/shared/util/encode", () => ({
+  mock.module("@opencode-ai/core/util/encode", () => ({
     base64Encode: (value: string) => value,
   }))
 

+ 2 - 2
packages/app/src/components/prompt-input/submit.ts

@@ -1,7 +1,7 @@
 import type { Message, Session } from "@opencode-ai/sdk/v2/client"
 import { showToast } from "@opencode-ai/ui/toast"
-import { base64Encode } from "@opencode-ai/shared/util/encode"
-import { Binary } from "@opencode-ai/shared/util/binary"
+import { base64Encode } from "@opencode-ai/core/util/encode"
+import { Binary } from "@opencode-ai/core/util/binary"
 import { useNavigate, useParams } from "@solidjs/router"
 import { batch, type Accessor } from "solid-js"
 import type { FileSelection } from "@/context/file"

+ 2 - 2
packages/app/src/components/session/session-context-tab.tsx

@@ -1,8 +1,8 @@
 import { createMemo, createEffect, on, onCleanup, For, Show } from "solid-js"
 import type { JSX } from "solid-js"
 import { useSync } from "@/context/sync"
-import { checksum } from "@opencode-ai/shared/util/encode"
-import { findLast } from "@opencode-ai/shared/util/array"
+import { checksum } from "@opencode-ai/core/util/encode"
+import { findLast } from "@opencode-ai/core/util/array"
 import { same } from "@/utils/same"
 import { Icon } from "@opencode-ai/ui/icon"
 import { Accordion } from "@opencode-ai/ui/accordion"

+ 1 - 1
packages/app/src/components/session/session-header.tsx

@@ -7,7 +7,7 @@ import { Keybind } from "@opencode-ai/ui/keybind"
 import { Spinner } from "@opencode-ai/ui/spinner"
 import { showToast } from "@opencode-ai/ui/toast"
 import { Tooltip, TooltipKeybind } from "@opencode-ai/ui/tooltip"
-import { getFilename } from "@opencode-ai/shared/util/path"
+import { getFilename } from "@opencode-ai/core/util/path"
 import { createEffect, createMemo, createSignal, For, onMount, Show } from "solid-js"
 import { createStore } from "solid-js/store"
 import { Portal } from "solid-js/web"

+ 1 - 1
packages/app/src/components/session/session-new-view.tsx

@@ -5,7 +5,7 @@ import { useSDK } from "@/context/sdk"
 import { useLanguage } from "@/context/language"
 import { Icon } from "@opencode-ai/ui/icon"
 import { Mark } from "@opencode-ai/ui/logo"
-import { getDirectory, getFilename } from "@opencode-ai/shared/util/path"
+import { getDirectory, getFilename } from "@opencode-ai/core/util/path"
 
 const MAIN_WORKTREE = "main"
 const CREATE_WORKTREE = "create"

+ 1 - 1
packages/app/src/components/session/session-sortable-tab.tsx

@@ -5,7 +5,7 @@ import { FileIcon } from "@opencode-ai/ui/file-icon"
 import { IconButton } from "@opencode-ai/ui/icon-button"
 import { TooltipKeybind } from "@opencode-ai/ui/tooltip"
 import { Tabs } from "@opencode-ai/ui/tabs"
-import { getFilename } from "@opencode-ai/shared/util/path"
+import { getFilename } from "@opencode-ai/core/util/path"
 import { useFile } from "@/context/file"
 import { useLanguage } from "@/context/language"
 import { useCommand } from "@/context/command"

+ 1 - 1
packages/app/src/context/file.tsx

@@ -3,7 +3,7 @@ import { createStore, produce, reconcile } from "solid-js/store"
 import { createSimpleContext } from "@opencode-ai/ui/context"
 import { showToast } from "@opencode-ai/ui/toast"
 import { useParams } from "@solidjs/router"
-import { getFilename } from "@opencode-ai/shared/util/path"
+import { getFilename } from "@opencode-ai/core/util/path"
 import { useSDK } from "./sdk"
 import { useSync } from "./sync"
 import { useLanguage } from "@/context/language"

+ 1 - 1
packages/app/src/context/global-sync.tsx

@@ -8,7 +8,7 @@ import type {
   Todo,
 } from "@opencode-ai/sdk/v2/client"
 import { showToast } from "@opencode-ai/ui/toast"
-import { getFilename } from "@opencode-ai/shared/util/path"
+import { getFilename } from "@opencode-ai/core/util/path"
 import { batch, createContext, getOwner, onCleanup, onMount, type ParentProps, untrack, useContext } from "solid-js"
 import { createStore, produce, reconcile } from "solid-js/store"
 import { useLanguage } from "@/context/language"

+ 2 - 2
packages/app/src/context/global-sync/bootstrap.ts

@@ -11,8 +11,8 @@ import type {
   Todo,
 } from "@opencode-ai/sdk/v2/client"
 import { showToast } from "@opencode-ai/ui/toast"
-import { getFilename } from "@opencode-ai/shared/util/path"
-import { retry } from "@opencode-ai/shared/util/retry"
+import { getFilename } from "@opencode-ai/core/util/path"
+import { retry } from "@opencode-ai/core/util/retry"
 import { batch } from "solid-js"
 import { reconcile, type SetStoreFunction, type Store } from "solid-js/store"
 import type { State, VcsCache } from "./types"

+ 1 - 1
packages/app/src/context/global-sync/event-reducer.ts

@@ -1,4 +1,4 @@
-import { Binary } from "@opencode-ai/shared/util/binary"
+import { Binary } from "@opencode-ai/core/util/binary"
 import { produce, reconcile, type SetStoreFunction, type Store } from "solid-js/store"
 import type {
   Message,

+ 1 - 1
packages/app/src/context/local.tsx

@@ -1,5 +1,5 @@
 import { createSimpleContext } from "@opencode-ai/ui/context"
-import { base64Encode } from "@opencode-ai/shared/util/encode"
+import { base64Encode } from "@opencode-ai/core/util/encode"
 import { useParams } from "@solidjs/router"
 import { batch, createEffect, createMemo } from "solid-js"
 import { createStore } from "solid-js/store"

+ 2 - 2
packages/app/src/context/notification.tsx

@@ -7,8 +7,8 @@ import { useGlobalSync } from "./global-sync"
 import { usePlatform } from "@/context/platform"
 import { useLanguage } from "@/context/language"
 import { useSettings } from "@/context/settings"
-import { Binary } from "@opencode-ai/shared/util/binary"
-import { base64Encode } from "@opencode-ai/shared/util/encode"
+import { Binary } from "@opencode-ai/core/util/binary"
+import { base64Encode } from "@opencode-ai/core/util/encode"
 import { decode64 } from "@/utils/base64"
 import { EventSessionError } from "@opencode-ai/sdk/v2"
 import { Persist, persisted } from "@/utils/persist"

+ 1 - 1
packages/app/src/context/permission-auto-respond.test.ts

@@ -1,6 +1,6 @@
 import { describe, expect, test } from "bun:test"
 import type { PermissionRequest, Session } from "@opencode-ai/sdk/v2/client"
-import { base64Encode } from "@opencode-ai/shared/util/encode"
+import { base64Encode } from "@opencode-ai/core/util/encode"
 import { autoRespondsPermission, isDirectoryAutoAccepting } from "./permission-auto-respond"
 
 const session = (input: { id: string; parentID?: string }) =>

+ 1 - 1
packages/app/src/context/permission-auto-respond.ts

@@ -1,4 +1,4 @@
-import { base64Encode } from "@opencode-ai/shared/util/encode"
+import { base64Encode } from "@opencode-ai/core/util/encode"
 
 export function acceptKey(sessionID: string, directory?: string) {
   if (!directory) return sessionID

+ 1 - 1
packages/app/src/context/prompt.tsx

@@ -1,5 +1,5 @@
 import { createSimpleContext } from "@opencode-ai/ui/context"
-import { checksum } from "@opencode-ai/shared/util/encode"
+import { checksum } from "@opencode-ai/core/util/encode"
 import { useParams } from "@solidjs/router"
 import { batch, createMemo, createRoot, getOwner, onCleanup } from "solid-js"
 import { createStore, type SetStoreFunction } from "solid-js/store"

+ 2 - 2
packages/app/src/context/sync.tsx

@@ -1,7 +1,7 @@
 import { batch, createMemo } from "solid-js"
 import { createStore, produce, reconcile } from "solid-js/store"
-import { Binary } from "@opencode-ai/shared/util/binary"
-import { retry } from "@opencode-ai/shared/util/retry"
+import { Binary } from "@opencode-ai/core/util/binary"
+import { retry } from "@opencode-ai/core/util/retry"
 import { createSimpleContext } from "@opencode-ai/ui/context"
 import {
   clearSessionPrefetch,

+ 1 - 1
packages/app/src/pages/directory-layout.tsx

@@ -1,6 +1,6 @@
 import { DataProvider } from "@opencode-ai/ui/context"
 import { showToast } from "@opencode-ai/ui/toast"
-import { base64Encode } from "@opencode-ai/shared/util/encode"
+import { base64Encode } from "@opencode-ai/core/util/encode"
 import { useLocation, useNavigate, useParams } from "@solidjs/router"
 import { createEffect, createMemo, createResource, type ParentProps, Show } from "solid-js"
 import { useLanguage } from "@/context/language"

+ 1 - 1
packages/app/src/pages/home.tsx

@@ -3,7 +3,7 @@ import { Button } from "@opencode-ai/ui/button"
 import { Logo } from "@opencode-ai/ui/logo"
 import { useLayout } from "@/context/layout"
 import { useNavigate } from "@solidjs/router"
-import { base64Encode } from "@opencode-ai/shared/util/encode"
+import { base64Encode } from "@opencode-ai/core/util/encode"
 import { Icon } from "@opencode-ai/ui/icon"
 import { usePlatform } from "@/context/platform"
 import { DateTime } from "luxon"

+ 4 - 4
packages/app/src/pages/layout.tsx

@@ -17,7 +17,7 @@ import { useLocation, useNavigate, useParams } from "@solidjs/router"
 import { useLayout, LocalProject } from "@/context/layout"
 import { useGlobalSync } from "@/context/global-sync"
 import { Persist, persisted } from "@/utils/persist"
-import { base64Encode } from "@opencode-ai/shared/util/encode"
+import { base64Encode } from "@opencode-ai/core/util/encode"
 import { decode64 } from "@/utils/base64"
 import { ResizeHandle } from "@opencode-ai/ui/resize-handle"
 import { Button } from "@opencode-ai/ui/button"
@@ -25,7 +25,7 @@ import { IconButton } from "@opencode-ai/ui/icon-button"
 import { Tooltip } from "@opencode-ai/ui/tooltip"
 import { DropdownMenu } from "@opencode-ai/ui/dropdown-menu"
 import { Dialog } from "@opencode-ai/ui/dialog"
-import { getFilename } from "@opencode-ai/shared/util/path"
+import { getFilename } from "@opencode-ai/core/util/path"
 import { Session, type Message } from "@opencode-ai/sdk/v2/client"
 import { usePlatform } from "@/context/platform"
 import { useSettings } from "@/context/settings"
@@ -48,8 +48,8 @@ import {
 } from "@/context/global-sync/session-prefetch"
 import { useNotification } from "@/context/notification"
 import { usePermission } from "@/context/permission"
-import { Binary } from "@opencode-ai/shared/util/binary"
-import { retry } from "@opencode-ai/shared/util/retry"
+import { Binary } from "@opencode-ai/core/util/binary"
+import { retry } from "@opencode-ai/core/util/retry"
 import { playSoundById } from "@/utils/sound"
 import { createAim } from "@/utils/aim"
 import { setNavigate } from "@/utils/notification-click"

+ 1 - 1
packages/app/src/pages/layout/helpers.ts

@@ -1,4 +1,4 @@
-import { getFilename } from "@opencode-ai/shared/util/path"
+import { getFilename } from "@opencode-ai/core/util/path"
 import { type Session } from "@opencode-ai/sdk/v2/client"
 
 type SessionStore = {

+ 1 - 1
packages/app/src/pages/layout/sidebar-items.tsx

@@ -4,7 +4,7 @@ import { Icon } from "@opencode-ai/ui/icon"
 import { IconButton } from "@opencode-ai/ui/icon-button"
 import { Spinner } from "@opencode-ai/ui/spinner"
 import { Tooltip } from "@opencode-ai/ui/tooltip"
-import { getFilename } from "@opencode-ai/shared/util/path"
+import { getFilename } from "@opencode-ai/core/util/path"
 import { A, useParams } from "@solidjs/router"
 import { type Accessor, createMemo, For, type JSX, Match, Show, Switch } from "solid-js"
 import { useGlobalSync } from "@/context/global-sync"

+ 1 - 1
packages/app/src/pages/layout/sidebar-project.tsx

@@ -1,6 +1,6 @@
 import { createMemo, For, Show, type Accessor, type JSX } from "solid-js"
 import { createStore } from "solid-js/store"
-import { base64Encode } from "@opencode-ai/shared/util/encode"
+import { base64Encode } from "@opencode-ai/core/util/encode"
 import { Button } from "@opencode-ai/ui/button"
 import { ContextMenu } from "@opencode-ai/ui/context-menu"
 import { HoverCard } from "@opencode-ai/ui/hover-card"

+ 2 - 2
packages/app/src/pages/layout/sidebar-workspace.tsx

@@ -3,8 +3,8 @@ import { createEffect, createMemo, For, Show, type Accessor, type JSX } from "so
 import { createStore } from "solid-js/store"
 import { createSortable } from "@thisbeyond/solid-dnd"
 import { createMediaQuery } from "@solid-primitives/media"
-import { base64Encode } from "@opencode-ai/shared/util/encode"
-import { getFilename } from "@opencode-ai/shared/util/path"
+import { base64Encode } from "@opencode-ai/core/util/encode"
+import { getFilename } from "@opencode-ai/core/util/path"
 import { Button } from "@opencode-ai/ui/button"
 import { Collapsible } from "@opencode-ai/ui/collapsible"
 import { DropdownMenu } from "@opencode-ai/ui/dropdown-menu"

+ 1 - 1
packages/app/src/pages/session.tsx

@@ -28,7 +28,7 @@ import { createAutoScroll } from "@opencode-ai/ui/hooks"
 import { previewSelectedLines } from "@opencode-ai/ui/pierre/selection-bridge"
 import { Button } from "@opencode-ai/ui/button"
 import { showToast } from "@opencode-ai/ui/toast"
-import { checksum } from "@opencode-ai/shared/util/encode"
+import { checksum } from "@opencode-ai/core/util/encode"
 import { useSearchParams } from "@solidjs/router"
 import { NewSessionView, SessionHeader } from "@/components/session"
 import { useComments } from "@/context/comments"

+ 1 - 1
packages/app/src/pages/session/file-tabs.tsx

@@ -6,7 +6,7 @@ import type { FileSearchHandle } from "@opencode-ai/ui/file"
 import { useFileComponent } from "@opencode-ai/ui/context/file"
 import { cloneSelectedLineRange, previewSelectedLines } from "@opencode-ai/ui/pierre/selection-bridge"
 import { createLineCommentController } from "@opencode-ai/ui/line-comment-annotations"
-import { sampledChecksum } from "@opencode-ai/shared/util/encode"
+import { sampledChecksum } from "@opencode-ai/core/util/encode"
 import { DropdownMenu } from "@opencode-ai/ui/dropdown-menu"
 import { IconButton } from "@opencode-ai/ui/icon-button"
 import { Tabs } from "@opencode-ai/ui/tabs"

+ 2 - 2
packages/app/src/pages/session/message-timeline.tsx

@@ -15,8 +15,8 @@ import { ScrollView } from "@opencode-ai/ui/scroll-view"
 import { TextField } from "@opencode-ai/ui/text-field"
 import type { AssistantMessage, Message as MessageType, Part, TextPart, UserMessage } from "@opencode-ai/sdk/v2"
 import { showToast } from "@opencode-ai/ui/toast"
-import { Binary } from "@opencode-ai/shared/util/binary"
-import { getFilename } from "@opencode-ai/shared/util/path"
+import { Binary } from "@opencode-ai/core/util/binary"
+import { getFilename } from "@opencode-ai/core/util/path"
 import { Popover as KobaltePopover } from "@kobalte/core/popover"
 import { shouldMarkBoundaryGesture, normalizeWheelDelta } from "@/pages/session/message-gesture"
 import { SessionContextUsage } from "@/components/session-context-usage"

+ 1 - 1
packages/app/src/pages/session/use-session-commands.tsx

@@ -14,7 +14,7 @@ import { useSettings } from "@/context/settings"
 import { useSync } from "@/context/sync"
 import { useTerminal } from "@/context/terminal"
 import { showToast } from "@opencode-ai/ui/toast"
-import { findLast } from "@opencode-ai/shared/util/array"
+import { findLast } from "@opencode-ai/core/util/array"
 import { createSessionTabs } from "@/pages/session/helpers"
 import { extractPromptFromParts } from "@/utils/prompt"
 import { UserMessage } from "@opencode-ai/sdk/v2"

+ 1 - 1
packages/app/src/utils/base64.ts

@@ -1,4 +1,4 @@
-import { base64Decode } from "@opencode-ai/shared/util/encode"
+import { base64Decode } from "@opencode-ai/core/util/encode"
 
 export function decode64(value: string | undefined) {
   if (value === undefined) return

+ 1 - 1
packages/app/src/utils/persist.ts

@@ -1,6 +1,6 @@
 import { Platform, usePlatform } from "@/context/platform"
 import { makePersisted, type AsyncStorage, type SyncStorage } from "@solid-primitives/storage"
-import { checksum } from "@opencode-ai/shared/util/encode"
+import { checksum } from "@opencode-ai/core/util/encode"
 import { createResource, type Accessor } from "solid-js"
 import type { SetStoreFunction, Store } from "solid-js/store"
 

+ 1 - 1
packages/shared/package.json → packages/core/package.json

@@ -1,7 +1,7 @@
 {
   "$schema": "https://json.schemastore.org/package.json",
   "version": "1.14.25",
-  "name": "@opencode-ai/shared",
+  "name": "@opencode-ai/core",
   "type": "module",
   "license": "MIT",
   "private": true,

+ 0 - 0
packages/shared/src/filesystem.ts → packages/core/src/filesystem.ts


+ 0 - 0
packages/shared/src/global.ts → packages/core/src/global.ts


+ 0 - 0
packages/shared/src/types.d.ts → packages/core/src/types.d.ts


+ 0 - 0
packages/shared/src/util/array.ts → packages/core/src/util/array.ts


+ 0 - 0
packages/shared/src/util/binary.ts → packages/core/src/util/binary.ts


+ 0 - 0
packages/shared/src/util/effect-flock.ts → packages/core/src/util/effect-flock.ts


+ 0 - 0
packages/shared/src/util/encode.ts → packages/core/src/util/encode.ts


+ 0 - 0
packages/shared/src/util/error.ts → packages/core/src/util/error.ts


+ 0 - 0
packages/shared/src/util/flock.ts → packages/core/src/util/flock.ts


+ 0 - 0
packages/shared/src/util/fn.ts → packages/core/src/util/fn.ts


+ 0 - 0
packages/shared/src/util/glob.ts → packages/core/src/util/glob.ts


+ 0 - 0
packages/shared/src/util/hash.ts → packages/core/src/util/hash.ts


+ 0 - 0
packages/shared/src/util/identifier.ts → packages/core/src/util/identifier.ts


+ 0 - 0
packages/shared/src/util/iife.ts → packages/core/src/util/iife.ts


+ 0 - 0
packages/shared/src/util/lazy.ts → packages/core/src/util/lazy.ts


+ 0 - 0
packages/shared/src/util/module.ts → packages/core/src/util/module.ts


+ 0 - 0
packages/shared/src/util/path.ts → packages/core/src/util/path.ts


+ 0 - 0
packages/shared/src/util/retry.ts → packages/core/src/util/retry.ts


+ 0 - 0
packages/shared/src/util/slug.ts → packages/core/src/util/slug.ts


+ 0 - 0
packages/shared/sst-env.d.ts → packages/core/sst-env.d.ts


+ 1 - 1
packages/shared/test/filesystem/filesystem.test.ts → packages/core/test/filesystem/filesystem.test.ts

@@ -1,7 +1,7 @@
 import { describe, test, expect } from "bun:test"
 import { Effect, Layer, FileSystem } from "effect"
 import { NodeFileSystem } from "@effect/platform-node"
-import { AppFileSystem } from "@opencode-ai/shared/filesystem"
+import { AppFileSystem } from "@opencode-ai/core/filesystem"
 import { testEffect } from "../lib/effect"
 import path from "path"
 

+ 3 - 3
packages/shared/test/fixture/effect-flock-worker.ts → packages/core/test/fixture/effect-flock-worker.ts

@@ -1,9 +1,9 @@
 import fs from "fs/promises"
 import os from "os"
 import { Effect, Layer } from "effect"
-import { AppFileSystem } from "@opencode-ai/shared/filesystem"
-import { EffectFlock } from "@opencode-ai/shared/util/effect-flock"
-import { Global } from "@opencode-ai/shared/global"
+import { AppFileSystem } from "@opencode-ai/core/filesystem"
+import { EffectFlock } from "@opencode-ai/core/util/effect-flock"
+import { Global } from "@opencode-ai/core/global"
 
 type Msg = {
   key: string

+ 1 - 1
packages/shared/test/fixture/flock-worker.ts → packages/core/test/fixture/flock-worker.ts

@@ -1,5 +1,5 @@
 import fs from "fs/promises"
-import { Flock } from "@opencode-ai/shared/util/flock"
+import { Flock } from "@opencode-ai/core/util/flock"
 
 type Msg = {
   key: string

+ 0 - 0
packages/shared/test/lib/effect.ts → packages/core/test/lib/effect.ts


+ 4 - 4
packages/shared/test/util/effect-flock.test.ts → packages/core/test/util/effect-flock.test.ts

@@ -5,10 +5,10 @@ import path from "path"
 import os from "os"
 import { Cause, Effect, Exit, Layer } from "effect"
 import { testEffect } from "../lib/effect"
-import { AppFileSystem } from "@opencode-ai/shared/filesystem"
-import { EffectFlock } from "@opencode-ai/shared/util/effect-flock"
-import { Global } from "@opencode-ai/shared/global"
-import { Hash } from "@opencode-ai/shared/util/hash"
+import { AppFileSystem } from "@opencode-ai/core/filesystem"
+import { EffectFlock } from "@opencode-ai/core/util/effect-flock"
+import { Global } from "@opencode-ai/core/global"
+import { Hash } from "@opencode-ai/core/util/hash"
 
 function lock(dir: string, key: string) {
   return path.join(dir, Hash.fast(key) + ".lock")

+ 2 - 2
packages/shared/test/util/flock.test.ts → packages/core/test/util/flock.test.ts

@@ -3,8 +3,8 @@ import fs from "fs/promises"
 import { spawn } from "child_process"
 import path from "path"
 import os from "os"
-import { Flock } from "@opencode-ai/shared/util/flock"
-import { Hash } from "@opencode-ai/shared/util/hash"
+import { Flock } from "@opencode-ai/core/util/flock"
+import { Hash } from "@opencode-ai/core/util/hash"
 
 type Msg = {
   key: string

+ 0 - 0
packages/shared/tsconfig.json → packages/core/tsconfig.json


+ 1 - 1
packages/enterprise/package.json

@@ -13,7 +13,7 @@
     "shell-prod": "sst shell --target Teams --stage production"
   },
   "dependencies": {
-    "@opencode-ai/shared": "workspace:*",
+    "@opencode-ai/core": "workspace:*",
     "@opencode-ai/ui": "workspace:*",
     "aws4fetch": "^1.0.20",
     "@pierre/diffs": "catalog:",

+ 2 - 2
packages/enterprise/src/core/share.ts

@@ -1,6 +1,6 @@
 import { Message, Model, Part, Session, SnapshotFileDiff } from "@opencode-ai/sdk/v2"
-import { fn } from "@opencode-ai/shared/util/fn"
-import { iife } from "@opencode-ai/shared/util/iife"
+import { fn } from "@opencode-ai/core/util/fn"
+import { iife } from "@opencode-ai/core/util/iife"
 import z from "zod"
 import { Storage } from "./storage"
 

+ 1 - 1
packages/enterprise/src/core/storage.ts

@@ -1,5 +1,5 @@
 import { AwsClient } from "aws4fetch"
-import { lazy } from "@opencode-ai/shared/util/lazy"
+import { lazy } from "@opencode-ai/core/util/lazy"
 
 export namespace Storage {
   export interface Adapter {

+ 3 - 3
packages/enterprise/src/routes/share/[shareID].tsx

@@ -10,9 +10,9 @@ import { Share } from "~/core/share"
 import { Logo, Mark } from "@opencode-ai/ui/logo"
 import { IconButton } from "@opencode-ai/ui/icon-button"
 import { ProviderIcon } from "@opencode-ai/ui/provider-icon"
-import { iife } from "@opencode-ai/shared/util/iife"
-import { Binary } from "@opencode-ai/shared/util/binary"
-import { NamedError } from "@opencode-ai/shared/util/error"
+import { iife } from "@opencode-ai/core/util/iife"
+import { Binary } from "@opencode-ai/core/util/binary"
+import { NamedError } from "@opencode-ai/core/util/error"
 import { DateTime } from "luxon"
 import { createStore } from "solid-js/store"
 import z from "zod"

+ 1 - 1
packages/enterprise/test/core/share.test.ts

@@ -1,7 +1,7 @@
 import { describe, expect, test } from "bun:test"
 import { Share } from "../../src/core/share"
 import { Storage } from "../../src/core/storage"
-import { Identifier } from "@opencode-ai/shared/util/identifier"
+import { Identifier } from "@opencode-ai/core/util/identifier"
 
 describe.concurrent("core.share", () => {
   test("should create a share", async () => {

+ 1 - 1
packages/opencode/package.json

@@ -45,7 +45,7 @@
     "@effect/language-service": "0.84.2",
     "@octokit/webhooks-types": "7.6.1",
     "@opencode-ai/script": "workspace:*",
-    "@opencode-ai/shared": "workspace:*",
+    "@opencode-ai/core": "workspace:*",
     "@parcel/watcher-darwin-arm64": "2.5.1",
     "@parcel/watcher-darwin-x64": "2.5.1",
     "@parcel/watcher-linux-arm64-glibc": "2.5.1",

+ 1 - 1
packages/opencode/src/acp/agent.ts

@@ -34,7 +34,7 @@ import {
 import { Log } from "../util"
 import { pathToFileURL } from "url"
 import { Filesystem } from "../util"
-import { Hash } from "@opencode-ai/shared/util/hash"
+import { Hash } from "@opencode-ai/core/util/hash"
 import { ACPSessionManager } from "./session"
 import type { ACPConfig } from "./types"
 import { Provider } from "../provider"

+ 1 - 1
packages/opencode/src/auth/index.ts

@@ -2,7 +2,7 @@ import path from "path"
 import { Effect, Layer, Record, Result, Schema, Context } from "effect"
 import { zod } from "@/util/effect-zod"
 import { Global } from "../global"
-import { AppFileSystem } from "@opencode-ai/shared/filesystem"
+import { AppFileSystem } from "@opencode-ai/core/filesystem"
 
 export const OAUTH_DUMMY_KEY = "opencode-oauth-dummy-key"
 

+ 1 - 1
packages/opencode/src/cli/cmd/tui/config/tui.ts

@@ -10,7 +10,7 @@ import { TuiInfo } from "./tui-schema"
 import { Flag } from "@/flag/flag"
 import { isRecord } from "@/util/record"
 import { Global } from "@/global"
-import { AppFileSystem } from "@opencode-ai/shared/filesystem"
+import { AppFileSystem } from "@opencode-ai/core/filesystem"
 import { CurrentWorkingDirectory } from "./cwd"
 import { ConfigPlugin } from "@/config/plugin"
 import { ConfigKeybinds } from "@/config/keybinds"

+ 1 - 1
packages/opencode/src/cli/cmd/tui/context/kv.tsx

@@ -1,6 +1,6 @@
 import { Global } from "@/global"
 import { Filesystem } from "@/util"
-import { Flock } from "@opencode-ai/shared/util/flock"
+import { Flock } from "@opencode-ai/core/util/flock"
 import { rename, rm } from "fs/promises"
 import { createSignal, type Setter } from "solid-js"
 import { createStore, unwrap } from "solid-js/store"

+ 1 - 1
packages/opencode/src/cli/cmd/tui/context/sync.tsx

@@ -22,7 +22,7 @@ import { createStore, produce, reconcile } from "solid-js/store"
 import { useProject } from "@tui/context/project"
 import { useEvent } from "@tui/context/event"
 import { useSDK } from "@tui/context/sdk"
-import { Binary } from "@opencode-ai/shared/util/binary"
+import { Binary } from "@opencode-ai/core/util/binary"
 import { createSimpleContext } from "./helper"
 import type { Snapshot } from "@/snapshot"
 import { useExit } from "./exit"

+ 1 - 1
packages/opencode/src/cli/cmd/tui/context/theme.tsx

@@ -2,7 +2,7 @@ import { CliRenderEvents, SyntaxStyle, RGBA, type TerminalColors } from "@opentu
 import path from "path"
 import { createEffect, createMemo, onCleanup, onMount } from "solid-js"
 import { createSimpleContext } from "./helper"
-import { Glob } from "@opencode-ai/shared/util/glob"
+import { Glob } from "@opencode-ai/core/util/glob"
 import aura from "./theme/aura.json" with { type: "json" }
 import ayu from "./theme/ayu.json" with { type: "json" }
 import catppuccin from "./theme/catppuccin.json" with { type: "json" }

+ 1 - 1
packages/opencode/src/cli/cmd/tui/plugin/runtime.ts

@@ -32,7 +32,7 @@ import { hasTheme, upsertTheme } from "../context/theme"
 import { Global } from "@/global"
 import { Filesystem } from "@/util"
 import { Process } from "@/util"
-import { Flock } from "@opencode-ai/shared/util/flock"
+import { Flock } from "@opencode-ai/core/util/flock"
 import { Flag } from "@/flag/flag"
 import { INTERNAL_TUI_PLUGINS, type InternalTuiPlugin } from "./internal"
 import { setupSlots, Slot as View } from "./slots"

+ 1 - 1
packages/opencode/src/cli/error.ts

@@ -1,4 +1,4 @@
-import { NamedError } from "@opencode-ai/shared/util/error"
+import { NamedError } from "@opencode-ai/core/util/error"
 import { errorFormat } from "@/util/error"
 
 interface ErrorLike {

+ 1 - 1
packages/opencode/src/cli/ui.ts

@@ -1,6 +1,6 @@
 import z from "zod"
 import { EOL } from "os"
-import { NamedError } from "@opencode-ai/shared/util/error"
+import { NamedError } from "@opencode-ai/core/util/error"
 import { logo as glyphs } from "./logo"
 
 const wordmark = [

+ 2 - 2
packages/opencode/src/config/agent.ts

@@ -6,8 +6,8 @@ import { Bus } from "@/bus"
 import { zod } from "@/util/effect-zod"
 import { PositiveInt } from "@/util/schema"
 import { Log } from "../util"
-import { NamedError } from "@opencode-ai/shared/util/error"
-import { Glob } from "@opencode-ai/shared/util/glob"
+import { NamedError } from "@opencode-ai/core/util/error"
+import { Glob } from "@opencode-ai/core/util/glob"
 import { configEntryNameFromPath } from "./entry-name"
 import { InvalidError } from "./error"
 import * as ConfigMarkdown from "./markdown"

+ 2 - 2
packages/opencode/src/config/command.ts

@@ -2,8 +2,8 @@ export * as ConfigCommand from "./command"
 
 import { Log } from "../util"
 import { Schema } from "effect"
-import { NamedError } from "@opencode-ai/shared/util/error"
-import { Glob } from "@opencode-ai/shared/util/glob"
+import { NamedError } from "@opencode-ai/core/util/error"
+import { Glob } from "@opencode-ai/core/util/glob"
 import { Bus } from "@/bus"
 import { zod } from "@/util/effect-zod"
 import { withStatics } from "@/util/schema"

+ 3 - 3
packages/opencode/src/config/config.ts

@@ -6,7 +6,7 @@ import z from "zod"
 import { mergeDeep, pipe } from "remeda"
 import { Global } from "../global"
 import fsNode from "fs/promises"
-import { NamedError } from "@opencode-ai/shared/util/error"
+import { NamedError } from "@opencode-ai/core/util/error"
 import { Flag } from "../flag/flag"
 import { Auth } from "../auth"
 import { Env } from "../env"
@@ -19,10 +19,10 @@ import { Event } from "../server/event"
 import { Account } from "@/account/account"
 import { isRecord } from "@/util/record"
 import type { ConsoleState } from "./console-state"
-import { AppFileSystem } from "@opencode-ai/shared/filesystem"
+import { AppFileSystem } from "@opencode-ai/core/filesystem"
 import { InstanceState } from "@/effect"
 import { Context, Duration, Effect, Exit, Fiber, Layer, Option, Schema } from "effect"
-import { EffectFlock } from "@opencode-ai/shared/util/effect-flock"
+import { EffectFlock } from "@opencode-ai/core/util/effect-flock"
 import { InstanceRef } from "@/effect/instance-ref"
 import { zod, ZodOverride } from "@/util/effect-zod"
 import { NonNegativeInt, PositiveInt, withStatics, type DeepMutable } from "@/util/schema"

+ 1 - 1
packages/opencode/src/config/error.ts

@@ -1,7 +1,7 @@
 export * as ConfigError from "./error"
 
 import z from "zod"
-import { NamedError } from "@opencode-ai/shared/util/error"
+import { NamedError } from "@opencode-ai/core/util/error"
 
 export const JsonError = NamedError.create(
   "ConfigJsonError",

+ 1 - 1
packages/opencode/src/config/markdown.ts

@@ -1,4 +1,4 @@
-import { NamedError } from "@opencode-ai/shared/util/error"
+import { NamedError } from "@opencode-ai/core/util/error"
 import matter from "gray-matter"
 import { z } from "zod"
 import { Filesystem } from "../util"

+ 1 - 1
packages/opencode/src/config/paths.ts

@@ -7,7 +7,7 @@ import { Global } from "@/global"
 import { unique } from "remeda"
 import { JsonError } from "./error"
 import * as Effect from "effect/Effect"
-import { AppFileSystem } from "@opencode-ai/shared/filesystem"
+import { AppFileSystem } from "@opencode-ai/core/filesystem"
 
 export const files = Effect.fn("ConfigPaths.projectFiles")(function* (
   name: string,

+ 1 - 1
packages/opencode/src/config/plugin.ts

@@ -1,4 +1,4 @@
-import { Glob } from "@opencode-ai/shared/util/glob"
+import { Glob } from "@opencode-ai/core/util/glob"
 import { Schema } from "effect"
 import { pathToFileURL } from "url"
 import { isPathPluginSpec, parsePluginSpecifier, resolvePathPluginTarget } from "@/plugin/shared"

+ 1 - 1
packages/opencode/src/control-plane/workspace.ts

@@ -12,7 +12,7 @@ import { Flag } from "@/flag/flag"
 import { Log } from "@/util"
 import { Filesystem } from "@/util"
 import { ProjectID } from "@/project/schema"
-import { Slug } from "@opencode-ai/shared/util/slug"
+import { Slug } from "@opencode-ai/core/util/slug"
 import { WorkspaceTable } from "./workspace.sql"
 import { getAdaptor } from "./adaptors"
 import { type WorkspaceInfo, WorkspaceInfo as WorkspaceInfoSchema } from "./types"

+ 1 - 1
packages/opencode/src/effect/app-runtime.ts

@@ -2,7 +2,7 @@ import { Layer, ManagedRuntime } from "effect"
 import { attach } from "./run-service"
 import * as Observability from "./observability"
 
-import { AppFileSystem } from "@opencode-ai/shared/filesystem"
+import { AppFileSystem } from "@opencode-ai/core/filesystem"
 import { Bus } from "@/bus"
 import { Auth } from "@/auth"
 import { Account } from "@/account/account"

+ 1 - 1
packages/opencode/src/file/ignore.ts

@@ -1,4 +1,4 @@
-import { Glob } from "@opencode-ai/shared/util/glob"
+import { Glob } from "@opencode-ai/core/util/glob"
 
 const FOLDERS = new Set([
   "node_modules",

+ 1 - 1
packages/opencode/src/file/index.ts

@@ -1,7 +1,7 @@
 import { BusEvent } from "@/bus/bus-event"
 import { InstanceState } from "@/effect"
 
-import { AppFileSystem } from "@opencode-ai/shared/filesystem"
+import { AppFileSystem } from "@opencode-ai/core/filesystem"
 import { Git } from "@/git"
 import { Effect, Layer, Context, Schema, Scope } from "effect"
 import * as Stream from "effect/Stream"

+ 1 - 1
packages/opencode/src/file/ripgrep.ts

@@ -1,5 +1,5 @@
 import path from "path"
-import { AppFileSystem } from "@opencode-ai/shared/filesystem"
+import { AppFileSystem } from "@opencode-ai/core/filesystem"
 import { Cause, Context, Effect, Fiber, Layer, Queue, Schema, Stream } from "effect"
 import type { PlatformError } from "effect/PlatformError"
 import { FetchHttpClient, HttpClient, HttpClientRequest } from "effect/unstable/http"

+ 1 - 1
packages/opencode/src/global/index.ts

@@ -3,7 +3,7 @@ import { xdgData, xdgCache, xdgConfig, xdgState } from "xdg-basedir"
 import path from "path"
 import os from "os"
 import { Filesystem } from "../util"
-import { Flock } from "@opencode-ai/shared/util/flock"
+import { Flock } from "@opencode-ai/core/util/flock"
 
 const app = "opencode"
 

+ 1 - 1
packages/opencode/src/ide/index.ts

@@ -1,7 +1,7 @@
 import { BusEvent } from "@/bus/bus-event"
 import z from "zod"
 import { Schema } from "effect"
-import { NamedError } from "@opencode-ai/shared/util/error"
+import { NamedError } from "@opencode-ai/core/util/error"
 import { Log } from "../util"
 import { Process } from "@/util"
 

+ 1 - 1
packages/opencode/src/index.ts

@@ -12,7 +12,7 @@ import { ModelsCommand } from "./cli/cmd/models"
 import { UI } from "./cli/ui"
 import { Installation } from "./installation"
 import { InstallationVersion } from "./installation/version"
-import { NamedError } from "@opencode-ai/shared/util/error"
+import { NamedError } from "@opencode-ai/core/util/error"
 import { FormatError } from "./cli/error"
 import { ServeCommand } from "./cli/cmd/serve"
 import { Filesystem } from "./util"

+ 1 - 1
packages/opencode/src/lsp/client.ts

@@ -10,7 +10,7 @@ import { LANGUAGE_EXTENSIONS } from "./language"
 import z from "zod"
 import { Schema } from "effect"
 import type * as LSPServer from "./server"
-import { NamedError } from "@opencode-ai/shared/util/error"
+import { NamedError } from "@opencode-ai/core/util/error"
 import { withTimeout } from "../util/timeout"
 import { Filesystem } from "../util"
 

+ 1 - 1
packages/opencode/src/lsp/lsp.ts

@@ -12,7 +12,7 @@ import { Process } from "../util"
 import { spawn as lspspawn } from "./launch"
 import { Effect, Layer, Context, Schema } from "effect"
 import { InstanceState } from "@/effect"
-import { AppFileSystem } from "@opencode-ai/shared/filesystem"
+import { AppFileSystem } from "@opencode-ai/core/filesystem"
 import { withStatics } from "@/util/schema"
 import { zod, ZodOverride } from "@/util/effect-zod"
 

+ 1 - 1
packages/opencode/src/lsp/server.ts

@@ -11,7 +11,7 @@ import { Flag } from "../flag/flag"
 import { Archive } from "../util"
 import { Process } from "../util"
 import { which } from "../util/which"
-import { Module } from "@opencode-ai/shared/util/module"
+import { Module } from "@opencode-ai/core/util/module"
 import { spawn } from "./launch"
 import { Npm } from "../npm"
 

+ 1 - 1
packages/opencode/src/mcp/auth.ts

@@ -2,7 +2,7 @@ import path from "path"
 import z from "zod"
 import { Global } from "../global"
 import { Effect, Layer, Context } from "effect"
-import { AppFileSystem } from "@opencode-ai/shared/filesystem"
+import { AppFileSystem } from "@opencode-ai/core/filesystem"
 
 export const Tokens = z.object({
   accessToken: z.string(),

برخی فایل ها در این مقایسه diff نمایش داده نمی شوند زیرا تعداد فایل ها بسیار زیاد است