@stonerzju/opencode 1.2.17 → 1.2.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (261) hide show
  1. package/bin/opencode +29 -157
  2. package/package.json +29 -29
  3. package/src/acp/agent.ts +4 -4
  4. package/src/acp/session.ts +1 -1
  5. package/src/agent/agent.ts +3 -3
  6. package/src/bun/index.ts +2 -2
  7. package/src/cli/cmd/acp.ts +3 -3
  8. package/src/cli/cmd/debug/file.ts +1 -1
  9. package/src/cli/cmd/github.ts +2 -2
  10. package/src/cli/cmd/pr.ts +1 -1
  11. package/src/cli/cmd/tui/app.tsx +24 -24
  12. package/src/cli/cmd/tui/attach.ts +3 -3
  13. package/src/cli/cmd/tui/component/dialog-agent.tsx +3 -3
  14. package/src/cli/cmd/tui/component/dialog-command.tsx +3 -3
  15. package/src/cli/cmd/tui/component/dialog-mcp.tsx +5 -5
  16. package/src/cli/cmd/tui/component/dialog-model.tsx +4 -4
  17. package/src/cli/cmd/tui/component/dialog-provider.tsx +4 -4
  18. package/src/cli/cmd/tui/component/dialog-session-list.tsx +5 -5
  19. package/src/cli/cmd/tui/component/dialog-session-rename.tsx +3 -3
  20. package/src/cli/cmd/tui/component/dialog-skill.tsx +3 -3
  21. package/src/cli/cmd/tui/component/dialog-stash.tsx +3 -3
  22. package/src/cli/cmd/tui/component/dialog-status.tsx +2 -2
  23. package/src/cli/cmd/tui/component/dialog-tag.tsx +3 -3
  24. package/src/cli/cmd/tui/component/logo.tsx +2 -2
  25. package/src/cli/cmd/tui/component/prompt/autocomplete.tsx +6 -6
  26. package/src/cli/cmd/tui/component/prompt/frecency.tsx +2 -2
  27. package/src/cli/cmd/tui/component/prompt/history.tsx +2 -2
  28. package/src/cli/cmd/tui/component/prompt/index.tsx +14 -14
  29. package/src/cli/cmd/tui/component/prompt/stash.tsx +2 -2
  30. package/src/cli/cmd/tui/component/textarea-keybindings.ts +1 -1
  31. package/src/cli/cmd/tui/component/tips.tsx +1 -1
  32. package/src/cli/cmd/tui/context/directory.ts +1 -1
  33. package/src/cli/cmd/tui/context/exit.tsx +1 -1
  34. package/src/cli/cmd/tui/context/keybind.tsx +2 -2
  35. package/src/cli/cmd/tui/context/kv.tsx +2 -2
  36. package/src/cli/cmd/tui/context/local.tsx +6 -6
  37. package/src/cli/cmd/tui/context/sync.tsx +4 -4
  38. package/src/cli/cmd/tui/context/theme/opencode.json +245 -0
  39. package/src/cli/cmd/tui/context/theme.tsx +2 -2
  40. package/src/cli/cmd/tui/context/tui-config.tsx +1 -1
  41. package/src/cli/cmd/tui/event.ts +2 -2
  42. package/src/cli/cmd/tui/routes/home.tsx +6 -6
  43. package/src/cli/cmd/tui/routes/session/dialog-fork-from-timeline.tsx +6 -6
  44. package/src/cli/cmd/tui/routes/session/dialog-message.tsx +6 -6
  45. package/src/cli/cmd/tui/routes/session/dialog-subagent.tsx +2 -2
  46. package/src/cli/cmd/tui/routes/session/dialog-timeline.tsx +3 -3
  47. package/src/cli/cmd/tui/routes/session/header.tsx +5 -5
  48. package/src/cli/cmd/tui/routes/session/index.tsx +32 -32
  49. package/src/cli/cmd/tui/routes/session/permission.tsx +4 -4
  50. package/src/cli/cmd/tui/routes/session/sidebar.tsx +4 -4
  51. package/src/cli/cmd/tui/thread.ts +9 -9
  52. package/src/cli/cmd/tui/ui/dialog-confirm.tsx +1 -1
  53. package/src/cli/cmd/tui/ui/dialog-help.tsx +2 -2
  54. package/src/cli/cmd/tui/ui/dialog-select.tsx +5 -5
  55. package/src/cli/cmd/tui/ui/dialog.tsx +3 -3
  56. package/src/cli/cmd/tui/ui/toast.tsx +1 -1
  57. package/src/cli/cmd/tui/util/editor.ts +3 -3
  58. package/src/cli/cmd/tui/util/transcript.ts +1 -1
  59. package/src/cli/cmd/tui/worker.ts +10 -10
  60. package/src/cli/error.ts +1 -1
  61. package/src/cli/ui.ts +1 -1
  62. package/src/cli/upgrade.ts +4 -4
  63. package/src/command/index.ts +1 -1
  64. package/src/config/config.ts +10 -10
  65. package/src/config/markdown.ts +1 -1
  66. package/src/config/migrate-tui-config.ts +5 -5
  67. package/src/config/paths.ts +4 -4
  68. package/src/config/tui.ts +4 -4
  69. package/src/control/control.sql.ts +1 -1
  70. package/src/control/index.ts +1 -1
  71. package/src/control-plane/adaptors/worktree.ts +1 -1
  72. package/src/control-plane/session-proxy-middleware.ts +1 -1
  73. package/src/control-plane/workspace.sql.ts +1 -1
  74. package/src/control-plane/workspace.ts +7 -7
  75. package/src/file/index.ts +1 -1
  76. package/src/file/ripgrep.ts +2 -2
  77. package/src/file/watcher.ts +5 -5
  78. package/src/format/formatter.ts +1 -1
  79. package/src/ide/index.ts +3 -3
  80. package/src/index.ts +1 -1
  81. package/src/installation/index.ts +3 -3
  82. package/src/lsp/client.ts +3 -3
  83. package/src/lsp/index.ts +3 -3
  84. package/src/mcp/index.ts +4 -4
  85. package/src/permission/index.ts +2 -2
  86. package/src/permission/next.ts +10 -10
  87. package/src/plugin/codex.ts +1 -1
  88. package/src/plugin/copilot.ts +2 -2
  89. package/src/plugin/index.ts +1 -1
  90. package/src/project/bootstrap.ts +2 -2
  91. package/src/project/instance.ts +4 -4
  92. package/src/project/project.sql.ts +1 -1
  93. package/src/project/project.ts +5 -5
  94. package/src/project/state.ts +1 -1
  95. package/src/project/vcs.ts +4 -4
  96. package/src/provider/auth.ts +4 -4
  97. package/src/provider/error.ts +1 -1
  98. package/src/provider/models-snapshot.ts +2 -0
  99. package/src/provider/models.ts +1 -1
  100. package/src/provider/provider.ts +2 -2
  101. package/src/provider/transform.ts +2 -2
  102. package/src/pty/index.ts +5 -5
  103. package/src/question/index.ts +5 -5
  104. package/src/server/event.ts +1 -1
  105. package/src/server/mdns.ts +1 -1
  106. package/src/server/routes/global.ts +3 -3
  107. package/src/server/routes/permission.ts +1 -1
  108. package/src/server/routes/pty.ts +1 -1
  109. package/src/server/routes/session.ts +4 -4
  110. package/src/server/routes/tui.ts +1 -1
  111. package/src/server/server.ts +3 -3
  112. package/src/session/compaction.ts +7 -7
  113. package/src/session/index.ts +10 -10
  114. package/src/session/instruction.ts +1 -1
  115. package/src/session/llm.ts +11 -11
  116. package/src/session/message-v2.ts +10 -10
  117. package/src/session/message.ts +1 -1
  118. package/src/session/processor.ts +10 -10
  119. package/src/session/prompt.ts +8 -8
  120. package/src/session/retry.ts +2 -2
  121. package/src/session/revert.ts +1 -1
  122. package/src/session/session.sql.ts +3 -3
  123. package/src/session/status.ts +3 -3
  124. package/src/session/summary.ts +5 -5
  125. package/src/session/system.ts +1 -1
  126. package/src/session/todo.ts +2 -2
  127. package/src/share/share-next.ts +7 -7
  128. package/src/share/share.sql.ts +1 -1
  129. package/src/shell/shell.ts +3 -3
  130. package/src/skill/skill.ts +6 -6
  131. package/src/storage/db.ts +1 -1
  132. package/src/storage/storage.ts +1 -1
  133. package/src/tool/bash.ts +6 -6
  134. package/src/tool/edit.ts +1 -1
  135. package/src/tool/registry.ts +2 -2
  136. package/src/tool/skill.ts +1 -1
  137. package/src/tool/task.ts +3 -3
  138. package/src/util/array.ts +10 -0
  139. package/src/util/binary.ts +41 -0
  140. package/src/util/encode.ts +51 -0
  141. package/src/util/error.ts +54 -0
  142. package/src/util/identifier.ts +48 -0
  143. package/src/util/lazy.ts +4 -16
  144. package/src/util/path.ts +37 -0
  145. package/src/util/retry.ts +41 -0
  146. package/src/util/slug.ts +74 -0
  147. package/src/worktree/index.ts +3 -3
  148. package/AGENTS.md +0 -10
  149. package/BUN_SHELL_MIGRATION_PLAN.md +0 -136
  150. package/Dockerfile +0 -18
  151. package/README.md +0 -15
  152. package/bunfig.toml +0 -7
  153. package/drizzle.config.ts +0 -10
  154. package/script/build.ts +0 -224
  155. package/script/check-migrations.ts +0 -16
  156. package/script/postinstall.mjs +0 -131
  157. package/script/publish.ts +0 -181
  158. package/script/schema.ts +0 -63
  159. package/script/seed-e2e.ts +0 -50
  160. package/sst-env.d.ts +0 -10
  161. package/test/AGENTS.md +0 -81
  162. package/test/acp/agent-interface.test.ts +0 -51
  163. package/test/acp/event-subscription.test.ts +0 -683
  164. package/test/agent/agent.test.ts +0 -689
  165. package/test/bun.test.ts +0 -53
  166. package/test/cli/github-action.test.ts +0 -197
  167. package/test/cli/github-remote.test.ts +0 -80
  168. package/test/cli/import.test.ts +0 -38
  169. package/test/cli/plugin-auth-picker.test.ts +0 -120
  170. package/test/cli/tui/transcript.test.ts +0 -322
  171. package/test/config/agent-color.test.ts +0 -71
  172. package/test/config/config.test.ts +0 -1886
  173. package/test/config/fixtures/empty-frontmatter.md +0 -4
  174. package/test/config/fixtures/frontmatter.md +0 -28
  175. package/test/config/fixtures/markdown-header.md +0 -11
  176. package/test/config/fixtures/no-frontmatter.md +0 -1
  177. package/test/config/fixtures/weird-model-id.md +0 -13
  178. package/test/config/markdown.test.ts +0 -228
  179. package/test/config/tui.test.ts +0 -510
  180. package/test/control-plane/session-proxy-middleware.test.ts +0 -147
  181. package/test/control-plane/sse.test.ts +0 -56
  182. package/test/control-plane/workspace-server-sse.test.ts +0 -65
  183. package/test/control-plane/workspace-sync.test.ts +0 -97
  184. package/test/file/ignore.test.ts +0 -10
  185. package/test/file/index.test.ts +0 -394
  186. package/test/file/path-traversal.test.ts +0 -198
  187. package/test/file/ripgrep.test.ts +0 -39
  188. package/test/file/time.test.ts +0 -361
  189. package/test/fixture/db.ts +0 -11
  190. package/test/fixture/fixture.ts +0 -45
  191. package/test/fixture/lsp/fake-lsp-server.js +0 -77
  192. package/test/fixture/skills/agents-sdk/SKILL.md +0 -152
  193. package/test/fixture/skills/agents-sdk/references/callable.md +0 -92
  194. package/test/fixture/skills/cloudflare/SKILL.md +0 -211
  195. package/test/fixture/skills/index.json +0 -6
  196. package/test/ide/ide.test.ts +0 -82
  197. package/test/keybind.test.ts +0 -421
  198. package/test/lsp/client.test.ts +0 -95
  199. package/test/mcp/headers.test.ts +0 -153
  200. package/test/mcp/oauth-browser.test.ts +0 -249
  201. package/test/memory/abort-leak.test.ts +0 -136
  202. package/test/patch/patch.test.ts +0 -348
  203. package/test/permission/arity.test.ts +0 -33
  204. package/test/permission/next.test.ts +0 -689
  205. package/test/permission-task.test.ts +0 -319
  206. package/test/plugin/auth-override.test.ts +0 -44
  207. package/test/plugin/codex.test.ts +0 -123
  208. package/test/preload.ts +0 -80
  209. package/test/project/project.test.ts +0 -348
  210. package/test/project/worktree-remove.test.ts +0 -65
  211. package/test/provider/amazon-bedrock.test.ts +0 -446
  212. package/test/provider/copilot/convert-to-copilot-messages.test.ts +0 -523
  213. package/test/provider/copilot/copilot-chat-model.test.ts +0 -592
  214. package/test/provider/gitlab-duo.test.ts +0 -262
  215. package/test/provider/provider.test.ts +0 -2220
  216. package/test/provider/transform.test.ts +0 -2353
  217. package/test/pty/pty-output-isolation.test.ts +0 -140
  218. package/test/question/question.test.ts +0 -300
  219. package/test/scheduler.test.ts +0 -73
  220. package/test/server/global-session-list.test.ts +0 -89
  221. package/test/server/session-list.test.ts +0 -90
  222. package/test/server/session-select.test.ts +0 -78
  223. package/test/session/compaction.test.ts +0 -423
  224. package/test/session/instruction.test.ts +0 -170
  225. package/test/session/llm.test.ts +0 -667
  226. package/test/session/message-v2.test.ts +0 -924
  227. package/test/session/prompt.test.ts +0 -211
  228. package/test/session/retry.test.ts +0 -188
  229. package/test/session/revert-compact.test.ts +0 -285
  230. package/test/session/session.test.ts +0 -71
  231. package/test/session/structured-output-integration.test.ts +0 -233
  232. package/test/session/structured-output.test.ts +0 -385
  233. package/test/skill/discovery.test.ts +0 -110
  234. package/test/skill/skill.test.ts +0 -388
  235. package/test/snapshot/snapshot.test.ts +0 -1180
  236. package/test/storage/json-migration.test.ts +0 -846
  237. package/test/tool/__snapshots__/tool.test.ts.snap +0 -9
  238. package/test/tool/apply_patch.test.ts +0 -566
  239. package/test/tool/bash.test.ts +0 -402
  240. package/test/tool/edit.test.ts +0 -496
  241. package/test/tool/external-directory.test.ts +0 -127
  242. package/test/tool/fixtures/large-image.png +0 -0
  243. package/test/tool/fixtures/models-api.json +0 -38413
  244. package/test/tool/grep.test.ts +0 -110
  245. package/test/tool/question.test.ts +0 -107
  246. package/test/tool/read.test.ts +0 -504
  247. package/test/tool/registry.test.ts +0 -122
  248. package/test/tool/skill.test.ts +0 -112
  249. package/test/tool/truncation.test.ts +0 -160
  250. package/test/tool/webfetch.test.ts +0 -100
  251. package/test/tool/write.test.ts +0 -348
  252. package/test/util/filesystem.test.ts +0 -443
  253. package/test/util/format.test.ts +0 -59
  254. package/test/util/glob.test.ts +0 -164
  255. package/test/util/iife.test.ts +0 -36
  256. package/test/util/lazy.test.ts +0 -50
  257. package/test/util/lock.test.ts +0 -72
  258. package/test/util/process.test.ts +0 -59
  259. package/test/util/timeout.test.ts +0 -21
  260. package/test/util/wildcard.test.ts +0 -90
  261. package/tsconfig.json +0 -16
@@ -4,7 +4,7 @@ import path from "path"
4
4
  import z from "zod"
5
5
  import { Installation } from "../installation"
6
6
  import { Flag } from "../flag/flag"
7
- import { lazy } from "@/util/lazy"
7
+ import { lazy } from "../util/lazy"
8
8
  import { Filesystem } from "../util/filesystem"
9
9
 
10
10
  // Try to import bundled snapshot (generated at build time)
@@ -8,12 +8,12 @@ import { Log } from "../util/log"
8
8
  import { BunProc } from "../bun"
9
9
  import { Plugin } from "../plugin"
10
10
  import { ModelsDev } from "./models"
11
- import { NamedError } from "@opencode-ai/util/error"
11
+ import { NamedError } from "../util/error"
12
12
  import { Auth } from "../auth"
13
13
  import { Env } from "../env"
14
14
  import { Instance } from "../project/instance"
15
15
  import { Flag } from "../flag/flag"
16
- import { iife } from "@/util/iife"
16
+ import { iife } from "../util/iife"
17
17
  import { Global } from "../global"
18
18
  import path from "path"
19
19
  import { Filesystem } from "../util/filesystem"
@@ -4,8 +4,8 @@ import type { JSONSchema7 } from "@ai-sdk/provider"
4
4
  import type { JSONSchema } from "zod/v4/core"
5
5
  import type { Provider } from "./provider"
6
6
  import type { ModelsDev } from "./models"
7
- import { iife } from "@/util/iife"
8
- import { Flag } from "@/flag/flag"
7
+ import { iife } from "../util/iife"
8
+ import { Flag } from "../flag/flag"
9
9
 
10
10
  type Modality = NonNullable<ModelsDev.Model["modalities"]>["input"][number]
11
11
 
package/src/pty/index.ts CHANGED
@@ -1,13 +1,13 @@
1
- import { BusEvent } from "@/bus/bus-event"
2
- import { Bus } from "@/bus"
1
+ import { BusEvent } from "../bus/bus-event"
2
+ import { Bus } from "../bus"
3
3
  import { type IPty } from "bun-pty"
4
4
  import z from "zod"
5
5
  import { Identifier } from "../id/id"
6
6
  import { Log } from "../util/log"
7
7
  import { Instance } from "../project/instance"
8
- import { lazy } from "@opencode-ai/util/lazy"
9
- import { Shell } from "@/shell/shell"
10
- import { Plugin } from "@/plugin"
8
+ import { lazy } from "../util/lazy"
9
+ import { Shell } from "../shell/shell"
10
+ import { Plugin } from "../plugin"
11
11
 
12
12
  export namespace Pty {
13
13
  const log = Log.create({ service: "pty" })
@@ -1,8 +1,8 @@
1
- import { Bus } from "@/bus"
2
- import { BusEvent } from "@/bus/bus-event"
3
- import { Identifier } from "@/id/id"
4
- import { Instance } from "@/project/instance"
5
- import { Log } from "@/util/log"
1
+ import { Bus } from "../bus"
2
+ import { BusEvent } from "../bus/bus-event"
3
+ import { Identifier } from "../id/id"
4
+ import { Instance } from "../project/instance"
5
+ import { Log } from "../util/log"
6
6
  import z from "zod"
7
7
 
8
8
  export namespace Question {
@@ -1,4 +1,4 @@
1
- import { BusEvent } from "@/bus/bus-event"
1
+ import { BusEvent } from "../bus/bus-event"
2
2
  import z from "zod"
3
3
 
4
4
  export const Event = {
@@ -1,4 +1,4 @@
1
- import { Log } from "@/util/log"
1
+ import { Log } from "../util/log"
2
2
  import { Bonjour } from "bonjour-service"
3
3
 
4
4
  const log = Log.create({ service: "mdns" })
@@ -2,10 +2,10 @@ import { Hono } from "hono"
2
2
  import { describeRoute, resolver, validator } from "hono-openapi"
3
3
  import { streamSSE } from "hono/streaming"
4
4
  import z from "zod"
5
- import { BusEvent } from "@/bus/bus-event"
6
- import { GlobalBus } from "@/bus/global"
5
+ import { BusEvent } from "../../bus/bus-event"
6
+ import { GlobalBus } from "../../bus/global"
7
7
  import { Instance } from "../../project/instance"
8
- import { Installation } from "@/installation"
8
+ import { Installation } from "../../installation"
9
9
  import { Log } from "../../util/log"
10
10
  import { lazy } from "../../util/lazy"
11
11
  import { Config } from "../../config/config"
@@ -1,7 +1,7 @@
1
1
  import { Hono } from "hono"
2
2
  import { describeRoute, validator, resolver } from "hono-openapi"
3
3
  import z from "zod"
4
- import { PermissionNext } from "@/permission/next"
4
+ import { PermissionNext } from "../../permission/next"
5
5
  import { errors } from "../error"
6
6
  import { lazy } from "../../util/lazy"
7
7
 
@@ -2,7 +2,7 @@ import { Hono } from "hono"
2
2
  import { describeRoute, validator, resolver } from "hono-openapi"
3
3
  import { upgradeWebSocket } from "hono/bun"
4
4
  import z from "zod"
5
- import { Pty } from "@/pty"
5
+ import { Pty } from "../../pty"
6
6
  import { NotFoundError } from "../../storage/db"
7
7
  import { errors } from "../error"
8
8
  import { lazy } from "../../util/lazy"
@@ -7,13 +7,13 @@ import { MessageV2 } from "../../session/message-v2"
7
7
  import { SessionPrompt } from "../../session/prompt"
8
8
  import { SessionCompaction } from "../../session/compaction"
9
9
  import { SessionRevert } from "../../session/revert"
10
- import { SessionStatus } from "@/session/status"
11
- import { SessionSummary } from "@/session/summary"
10
+ import { SessionStatus } from "../../session/status"
11
+ import { SessionSummary } from "../../session/summary"
12
12
  import { Todo } from "../../session/todo"
13
13
  import { Agent } from "../../agent/agent"
14
- import { Snapshot } from "@/snapshot"
14
+ import { Snapshot } from "../../snapshot"
15
15
  import { Log } from "../../util/log"
16
- import { PermissionNext } from "@/permission/next"
16
+ import { PermissionNext } from "../../permission/next"
17
17
  import { errors } from "../error"
18
18
  import { lazy } from "../../util/lazy"
19
19
  import { SessionProxyMiddleware } from "../../control-plane/session-proxy-middleware"
@@ -3,7 +3,7 @@ import { describeRoute, validator, resolver } from "hono-openapi"
3
3
  import z from "zod"
4
4
  import { Bus } from "../../bus"
5
5
  import { Session } from "../../session"
6
- import { TuiEvent } from "@/cli/cmd/tui/event"
6
+ import { TuiEvent } from "../../cli/cmd/tui/event"
7
7
  import { AsyncQueue } from "../../util/queue"
8
8
  import { errors } from "../error"
9
9
  import { lazy } from "../../util/lazy"
@@ -1,5 +1,5 @@
1
- import { BusEvent } from "@/bus/bus-event"
2
- import { Bus } from "@/bus"
1
+ import { BusEvent } from "../bus/bus-event"
2
+ import { Bus } from "../bus"
3
3
  import { Log } from "../util/log"
4
4
  import { describeRoute, generateSpecs, validator, resolver, openAPIRouteHandler } from "hono-openapi"
5
5
  import { Hono } from "hono"
@@ -9,7 +9,7 @@ import { proxy } from "hono/proxy"
9
9
  import { basicAuth } from "hono/basic-auth"
10
10
  import z from "zod"
11
11
  import { Provider } from "../provider/provider"
12
- import { NamedError } from "@opencode-ai/util/error"
12
+ import { NamedError } from "../util/error"
13
13
  import { LSP } from "../lsp"
14
14
  import { Format } from "../format"
15
15
  import { TuiRoutes } from "./routes/tui"
@@ -1,5 +1,5 @@
1
- import { BusEvent } from "@/bus/bus-event"
2
- import { Bus } from "@/bus"
1
+ import { BusEvent } from "../bus/bus-event"
2
+ import { Bus } from "../bus"
3
3
  import { Session } from "."
4
4
  import { Identifier } from "../id/id"
5
5
  import { Instance } from "../project/instance"
@@ -9,11 +9,11 @@ import z from "zod"
9
9
  import { Token } from "../util/token"
10
10
  import { Log } from "../util/log"
11
11
  import { SessionProcessor } from "./processor"
12
- import { fn } from "@/util/fn"
13
- import { Agent } from "@/agent/agent"
14
- import { Plugin } from "@/plugin"
15
- import { Config } from "@/config/config"
16
- import { ProviderTransform } from "@/provider/transform"
12
+ import { fn } from "../util/fn"
13
+ import { Agent } from "../agent/agent"
14
+ import { Plugin } from "../plugin"
15
+ import { Config } from "../config/config"
16
+ import { ProviderTransform } from "../provider/transform"
17
17
 
18
18
  export namespace SessionCompaction {
19
19
  const log = Log.create({ service: "session.compaction" })
@@ -1,7 +1,7 @@
1
- import { Slug } from "@opencode-ai/util/slug"
1
+ import { Slug } from "../util/slug"
2
2
  import path from "path"
3
- import { BusEvent } from "@/bus/bus-event"
4
- import { Bus } from "@/bus"
3
+ import { BusEvent } from "../bus/bus-event"
4
+ import { Bus } from "../bus"
5
5
  import { Decimal } from "decimal.js"
6
6
  import z from "zod"
7
7
  import { type ProviderMetadata } from "ai"
@@ -14,20 +14,20 @@ import { Database, NotFoundError, eq, and, or, gte, isNull, desc, like, inArray,
14
14
  import type { SQL } from "../storage/db"
15
15
  import { SessionTable, MessageTable, PartTable } from "./session.sql"
16
16
  import { ProjectTable } from "../project/project.sql"
17
- import { Storage } from "@/storage/storage"
17
+ import { Storage } from "../storage/storage"
18
18
  import { Log } from "../util/log"
19
19
  import { MessageV2 } from "./message-v2"
20
20
  import { Instance } from "../project/instance"
21
21
  import { SessionPrompt } from "./prompt"
22
- import { fn } from "@/util/fn"
22
+ import { fn } from "../util/fn"
23
23
  import { Command } from "../command"
24
- import { Snapshot } from "@/snapshot"
24
+ import { Snapshot } from "../snapshot"
25
25
 
26
- import type { Provider } from "@/provider/provider"
27
- import { PermissionNext } from "@/permission/next"
28
- import { Global } from "@/global"
26
+ import type { Provider } from "../provider/provider"
27
+ import { PermissionNext } from "../permission/next"
28
+ import { Global } from "../global"
29
29
  import type { LanguageModelV2Usage } from "@ai-sdk/provider"
30
- import { iife } from "@/util/iife"
30
+ import { iife } from "../util/iife"
31
31
 
32
32
  export namespace Session {
33
33
  const log = Log.create({ service: "session" })
@@ -4,7 +4,7 @@ import { Global } from "../global"
4
4
  import { Filesystem } from "../util/filesystem"
5
5
  import { Config } from "../config/config"
6
6
  import { Instance } from "../project/instance"
7
- import { Flag } from "@/flag/flag"
7
+ import { Flag } from "../flag/flag"
8
8
  import { Log } from "../util/log"
9
9
  import { Glob } from "../util/glob"
10
10
  import type { MessageV2 } from "./message-v2"
@@ -1,6 +1,6 @@
1
- import { Installation } from "@/installation"
2
- import { Provider } from "@/provider/provider"
3
- import { Log } from "@/util/log"
1
+ import { Installation } from "../installation"
2
+ import { Provider } from "../provider/provider"
3
+ import { Log } from "../util/log"
4
4
  import {
5
5
  streamText,
6
6
  wrapLanguageModel,
@@ -12,16 +12,16 @@ import {
12
12
  jsonSchema,
13
13
  } from "ai"
14
14
  import { mergeDeep, pipe } from "remeda"
15
- import { ProviderTransform } from "@/provider/transform"
16
- import { Config } from "@/config/config"
17
- import { Instance } from "@/project/instance"
18
- import type { Agent } from "@/agent/agent"
15
+ import { ProviderTransform } from "../provider/transform"
16
+ import { Config } from "../config/config"
17
+ import { Instance } from "../project/instance"
18
+ import type { Agent } from "../agent/agent"
19
19
  import type { MessageV2 } from "./message-v2"
20
- import { Plugin } from "@/plugin"
20
+ import { Plugin } from "../plugin"
21
21
  import { SystemPrompt } from "./system"
22
- import { Flag } from "@/flag/flag"
23
- import { PermissionNext } from "@/permission/next"
24
- import { Auth } from "@/auth"
22
+ import { Flag } from "../flag/flag"
23
+ import { PermissionNext } from "../permission/next"
24
+ import { Auth } from "../auth"
25
25
 
26
26
  export namespace LLM {
27
27
  const log = Log.create({ service: "llm" })
@@ -1,20 +1,20 @@
1
- import { BusEvent } from "@/bus/bus-event"
1
+ import { BusEvent } from "../bus/bus-event"
2
2
  import z from "zod"
3
- import { NamedError } from "@opencode-ai/util/error"
3
+ import { NamedError } from "../util/error"
4
4
  import { APICallError, convertToModelMessages, LoadAPIKeyError, type ModelMessage, type UIMessage } from "ai"
5
5
  import { Identifier } from "../id/id"
6
6
  import { LSP } from "../lsp"
7
- import { Snapshot } from "@/snapshot"
8
- import { fn } from "@/util/fn"
9
- import { Database, eq, desc, inArray } from "@/storage/db"
7
+ import { Snapshot } from "../snapshot"
8
+ import { fn } from "../util/fn"
9
+ import { Database, eq, desc, inArray } from "../storage/db"
10
10
  import { MessageTable, PartTable } from "./session.sql"
11
- import { ProviderTransform } from "@/provider/transform"
11
+ import { ProviderTransform } from "../provider/transform"
12
12
  import { STATUS_CODES } from "http"
13
- import { Storage } from "@/storage/storage"
14
- import { ProviderError } from "@/provider/error"
15
- import { iife } from "@/util/iife"
13
+ import { Storage } from "../storage/storage"
14
+ import { ProviderError } from "../provider/error"
15
+ import { iife } from "../util/iife"
16
16
  import { type SystemError } from "bun"
17
- import type { Provider } from "@/provider/provider"
17
+ import type { Provider } from "../provider/provider"
18
18
 
19
19
  export namespace MessageV2 {
20
20
  export const OutputLengthError = NamedError.create("MessageOutputLengthError", z.object({}))
@@ -1,5 +1,5 @@
1
1
  import z from "zod"
2
- import { NamedError } from "@opencode-ai/util/error"
2
+ import { NamedError } from "../util/error"
3
3
 
4
4
  export namespace Message {
5
5
  export const OutputLengthError = NamedError.create("MessageOutputLengthError", z.object({}))
@@ -1,20 +1,20 @@
1
1
  import { MessageV2 } from "./message-v2"
2
- import { Log } from "@/util/log"
3
- import { Identifier } from "@/id/id"
2
+ import { Log } from "../util/log"
3
+ import { Identifier } from "../id/id"
4
4
  import { Session } from "."
5
- import { Agent } from "@/agent/agent"
6
- import { Snapshot } from "@/snapshot"
5
+ import { Agent } from "../agent/agent"
6
+ import { Snapshot } from "../snapshot"
7
7
  import { SessionSummary } from "./summary"
8
- import { Bus } from "@/bus"
8
+ import { Bus } from "../bus"
9
9
  import { SessionRetry } from "./retry"
10
10
  import { SessionStatus } from "./status"
11
- import { Plugin } from "@/plugin"
12
- import type { Provider } from "@/provider/provider"
11
+ import { Plugin } from "../plugin"
12
+ import type { Provider } from "../provider/provider"
13
13
  import { LLM } from "./llm"
14
- import { Config } from "@/config/config"
14
+ import { Config } from "../config/config"
15
15
  import { SessionCompaction } from "./compaction"
16
- import { PermissionNext } from "@/permission/next"
17
- import { Question } from "@/question"
16
+ import { PermissionNext } from "../permission/next"
17
+ import { Question } from "../question"
18
18
 
19
19
  export namespace SessionProcessor {
20
20
  const DOOM_LOOP_THRESHOLD = 3
@@ -34,17 +34,17 @@ import { Command } from "../command"
34
34
  import { $, fileURLToPath, pathToFileURL } from "bun"
35
35
  import { ConfigMarkdown } from "../config/markdown"
36
36
  import { SessionSummary } from "./summary"
37
- import { NamedError } from "@opencode-ai/util/error"
38
- import { fn } from "@/util/fn"
37
+ import { NamedError } from "../util/error"
38
+ import { fn } from "../util/fn"
39
39
  import { SessionProcessor } from "./processor"
40
- import { TaskTool } from "@/tool/task"
41
- import { Tool } from "@/tool/tool"
42
- import { PermissionNext } from "@/permission/next"
40
+ import { TaskTool } from "../tool/task"
41
+ import { Tool } from "../tool/tool"
42
+ import { PermissionNext } from "../permission/next"
43
43
  import { SessionStatus } from "./status"
44
44
  import { LLM } from "./llm"
45
- import { iife } from "@/util/iife"
46
- import { Shell } from "@/shell/shell"
47
- import { Truncate } from "@/tool/truncation"
45
+ import { iife } from "../util/iife"
46
+ import { Shell } from "../shell/shell"
47
+ import { Truncate } from "../tool/truncation"
48
48
 
49
49
  // @ts-ignore
50
50
  globalThis.AI_SDK_LOG_WARNINGS = false
@@ -1,6 +1,6 @@
1
- import type { NamedError } from "@opencode-ai/util/error"
1
+ import type { NamedError } from "../util/error"
2
2
  import { MessageV2 } from "./message-v2"
3
- import { iife } from "@/util/iife"
3
+ import { iife } from "../util/iife"
4
4
 
5
5
  export namespace SessionRetry {
6
6
  export const RETRY_INITIAL_DELAY = 2000
@@ -6,7 +6,7 @@ import { Session } from "."
6
6
  import { Log } from "../util/log"
7
7
  import { Database, eq } from "../storage/db"
8
8
  import { MessageTable, PartTable } from "./session.sql"
9
- import { Storage } from "@/storage/storage"
9
+ import { Storage } from "../storage/storage"
10
10
  import { Bus } from "../bus"
11
11
  import { SessionPrompt } from "./prompt"
12
12
  import { SessionSummary } from "./summary"
@@ -1,9 +1,9 @@
1
1
  import { sqliteTable, text, integer, index, primaryKey } from "drizzle-orm/sqlite-core"
2
2
  import { ProjectTable } from "../project/project.sql"
3
3
  import type { MessageV2 } from "./message-v2"
4
- import type { Snapshot } from "@/snapshot"
5
- import type { PermissionNext } from "@/permission/next"
6
- import { Timestamps } from "@/storage/schema.sql"
4
+ import type { Snapshot } from "../snapshot"
5
+ import type { PermissionNext } from "../permission/next"
6
+ import { Timestamps } from "../storage/schema.sql"
7
7
 
8
8
  type PartData = Omit<MessageV2.Part, "id" | "sessionID" | "messageID">
9
9
  type InfoData = Omit<MessageV2.Info, "id" | "sessionID">
@@ -1,6 +1,6 @@
1
- import { BusEvent } from "@/bus/bus-event"
2
- import { Bus } from "@/bus"
3
- import { Instance } from "@/project/instance"
1
+ import { BusEvent } from "../bus/bus-event"
2
+ import { Bus } from "../bus"
3
+ import { Instance } from "../project/instance"
4
4
  import z from "zod"
5
5
 
6
6
  export namespace SessionStatus {
@@ -1,13 +1,13 @@
1
- import { fn } from "@/util/fn"
1
+ import { fn } from "../util/fn"
2
2
  import z from "zod"
3
3
  import { Session } from "."
4
4
 
5
5
  import { MessageV2 } from "./message-v2"
6
- import { Identifier } from "@/id/id"
7
- import { Snapshot } from "@/snapshot"
6
+ import { Identifier } from "../id/id"
7
+ import { Snapshot } from "../snapshot"
8
8
 
9
- import { Storage } from "@/storage/storage"
10
- import { Bus } from "@/bus"
9
+ import { Storage } from "../storage/storage"
10
+ import { Bus } from "../bus"
11
11
 
12
12
  export namespace SessionSummary {
13
13
  function unquoteGitPath(input: string) {
@@ -9,7 +9,7 @@ import PROMPT_GEMINI from "./prompt/gemini.txt"
9
9
 
10
10
  import PROMPT_CODEX from "./prompt/codex_header.txt"
11
11
  import PROMPT_TRINITY from "./prompt/trinity.txt"
12
- import type { Provider } from "@/provider/provider"
12
+ import type { Provider } from "../provider/provider"
13
13
 
14
14
  export namespace SystemPrompt {
15
15
  export function instructions() {
@@ -1,5 +1,5 @@
1
- import { BusEvent } from "@/bus/bus-event"
2
- import { Bus } from "@/bus"
1
+ import { BusEvent } from "../bus/bus-event"
2
+ import { Bus } from "../bus"
3
3
  import z from "zod"
4
4
  import { Database, eq, asc } from "../storage/db"
5
5
  import { TodoTable } from "./session.sql"
@@ -1,12 +1,12 @@
1
- import { Bus } from "@/bus"
2
- import { Config } from "@/config/config"
1
+ import { Bus } from "../bus"
2
+ import { Config } from "../config/config"
3
3
  import { ulid } from "ulid"
4
- import { Provider } from "@/provider/provider"
5
- import { Session } from "@/session"
6
- import { MessageV2 } from "@/session/message-v2"
7
- import { Database, eq } from "@/storage/db"
4
+ import { Provider } from "../provider/provider"
5
+ import { Session } from "../session"
6
+ import { MessageV2 } from "../session/message-v2"
7
+ import { Database, eq } from "../storage/db"
8
8
  import { SessionShareTable } from "./share.sql"
9
- import { Log } from "@/util/log"
9
+ import { Log } from "../util/log"
10
10
  import type * as SDK from "@opencode-ai/sdk/v2"
11
11
 
12
12
  export namespace ShareNext {
@@ -1,6 +1,6 @@
1
1
  import { sqliteTable, text } from "drizzle-orm/sqlite-core"
2
2
  import { SessionTable } from "../session/session.sql"
3
- import { Timestamps } from "@/storage/schema.sql"
3
+ import { Timestamps } from "../storage/schema.sql"
4
4
 
5
5
  export const SessionShareTable = sqliteTable("session_share", {
6
6
  session_id: text()
@@ -1,6 +1,6 @@
1
- import { Flag } from "@/flag/flag"
2
- import { lazy } from "@/util/lazy"
3
- import { Filesystem } from "@/util/filesystem"
1
+ import { Flag } from "../flag/flag"
2
+ import { lazy } from "../util/lazy"
3
+ import { Filesystem } from "../util/filesystem"
4
4
  import path from "path"
5
5
  import { spawn, type ChildProcess } from "child_process"
6
6
 
@@ -3,14 +3,14 @@ import path from "path"
3
3
  import os from "os"
4
4
  import { Config } from "../config/config"
5
5
  import { Instance } from "../project/instance"
6
- import { NamedError } from "@opencode-ai/util/error"
6
+ import { NamedError } from "../util/error"
7
7
  import { ConfigMarkdown } from "../config/markdown"
8
8
  import { Log } from "../util/log"
9
- import { Global } from "@/global"
10
- import { Filesystem } from "@/util/filesystem"
11
- import { Flag } from "@/flag/flag"
12
- import { Bus } from "@/bus"
13
- import { Session } from "@/session"
9
+ import { Global } from "../global"
10
+ import { Filesystem } from "../util/filesystem"
11
+ import { Flag } from "../flag/flag"
12
+ import { Bus } from "../bus"
13
+ import { Session } from "../session"
14
14
  import { Discovery } from "./discovery"
15
15
  import { Glob } from "../util/glob"
16
16
 
package/src/storage/db.ts CHANGED
@@ -7,7 +7,7 @@ import { Context } from "../util/context"
7
7
  import { lazy } from "../util/lazy"
8
8
  import { Global } from "../global"
9
9
  import { Log } from "../util/log"
10
- import { NamedError } from "@opencode-ai/util/error"
10
+ import { NamedError } from "../util/error"
11
11
  import z from "zod"
12
12
  import path from "path"
13
13
  import { readFileSync, readdirSync, existsSync } from "fs"
@@ -6,7 +6,7 @@ import { Filesystem } from "../util/filesystem"
6
6
  import { lazy } from "../util/lazy"
7
7
  import { Lock } from "../util/lock"
8
8
  import { $ } from "bun"
9
- import { NamedError } from "@opencode-ai/util/error"
9
+ import { NamedError } from "../util/error"
10
10
  import z from "zod"
11
11
  import { Glob } from "../util/glob"
12
12
 
package/src/tool/bash.ts CHANGED
@@ -5,18 +5,18 @@ import path from "path"
5
5
  import DESCRIPTION from "./bash.txt"
6
6
  import { Log } from "../util/log"
7
7
  import { Instance } from "../project/instance"
8
- import { lazy } from "@/util/lazy"
8
+ import { lazy } from "../util/lazy"
9
9
  import { Language } from "web-tree-sitter"
10
10
 
11
11
  import { $ } from "bun"
12
- import { Filesystem } from "@/util/filesystem"
12
+ import { Filesystem } from "../util/filesystem"
13
13
  import { fileURLToPath } from "url"
14
- import { Flag } from "@/flag/flag.ts"
15
- import { Shell } from "@/shell/shell"
14
+ import { Flag } from "../flag/flag.ts"
15
+ import { Shell } from "../shell/shell"
16
16
 
17
- import { BashArity } from "@/permission/arity"
17
+ import { BashArity } from "../permission/arity"
18
18
  import { Truncate } from "./truncation"
19
- import { Plugin } from "@/plugin"
19
+ import { Plugin } from "../plugin"
20
20
 
21
21
  const MAX_METADATA_LENGTH = 30_000
22
22
  const DEFAULT_TIMEOUT = Flag.OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS || 2 * 60 * 1000
package/src/tool/edit.ts CHANGED
@@ -15,7 +15,7 @@ import { Bus } from "../bus"
15
15
  import { FileTime } from "../file/time"
16
16
  import { Filesystem } from "../util/filesystem"
17
17
  import { Instance } from "../project/instance"
18
- import { Snapshot } from "@/snapshot"
18
+ import { Snapshot } from "../snapshot"
19
19
  import { assertExternalDirectory } from "./external-directory"
20
20
 
21
21
  const MAX_DIAGNOSTICS_PER_FILE = 20
@@ -22,8 +22,8 @@ import z from "zod"
22
22
  import { Plugin } from "../plugin"
23
23
  import { WebSearchTool } from "./websearch"
24
24
  import { CodeSearchTool } from "./codesearch"
25
- import { Flag } from "@/flag/flag"
26
- import { Log } from "@/util/log"
25
+ import { Flag } from "../flag/flag"
26
+ import { Log } from "../util/log"
27
27
  import { LspTool } from "./lsp"
28
28
  import { Truncate } from "./truncation"
29
29
 
package/src/tool/skill.ts CHANGED
@@ -5,7 +5,7 @@ import { Tool } from "./tool"
5
5
  import { Skill } from "../skill"
6
6
  import { PermissionNext } from "../permission/next"
7
7
  import { Ripgrep } from "../file/ripgrep"
8
- import { iife } from "@/util/iife"
8
+ import { iife } from "../util/iife"
9
9
 
10
10
  export const SkillTool = Tool.define("skill", async (ctx) => {
11
11
  const skills = await Skill.all()