cerebras-cli 1.0.143 → 1.0.145

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 (323) hide show
  1. package/README.md +4 -33
  2. package/bin/opencode.cjs +84 -0
  3. package/package.json +28 -86
  4. package/AGENTS.md +0 -27
  5. package/Dockerfile +0 -10
  6. package/bin/opencode +0 -87
  7. package/bunfig.toml +0 -4
  8. package/google-clone/.next/dev/logs/next-development.log +0 -1
  9. package/parsers-config.ts +0 -239
  10. package/script/build.ts +0 -151
  11. package/script/postinstall.mjs +0 -122
  12. package/script/publish.ts +0 -256
  13. package/script/schema.ts +0 -47
  14. package/snake_game.py +0 -111
  15. package/src/acp/README.md +0 -164
  16. package/src/acp/agent.ts +0 -812
  17. package/src/acp/session.ts +0 -70
  18. package/src/acp/types.ts +0 -22
  19. package/src/agent/agent.ts +0 -310
  20. package/src/agent/generate.txt +0 -75
  21. package/src/auth/index.ts +0 -70
  22. package/src/bun/index.ts +0 -152
  23. package/src/bus/global.ts +0 -10
  24. package/src/bus/index.ts +0 -142
  25. package/src/cli/bootstrap.ts +0 -17
  26. package/src/cli/cmd/acp.ts +0 -88
  27. package/src/cli/cmd/agent.ts +0 -165
  28. package/src/cli/cmd/auth.ts +0 -369
  29. package/src/cli/cmd/cmd.ts +0 -7
  30. package/src/cli/cmd/debug/config.ts +0 -15
  31. package/src/cli/cmd/debug/file.ts +0 -91
  32. package/src/cli/cmd/debug/index.ts +0 -43
  33. package/src/cli/cmd/debug/lsp.ts +0 -47
  34. package/src/cli/cmd/debug/ripgrep.ts +0 -83
  35. package/src/cli/cmd/debug/scrap.ts +0 -15
  36. package/src/cli/cmd/debug/skill.ts +0 -36
  37. package/src/cli/cmd/debug/snapshot.ts +0 -48
  38. package/src/cli/cmd/export.ts +0 -88
  39. package/src/cli/cmd/generate.ts +0 -38
  40. package/src/cli/cmd/github.ts +0 -1200
  41. package/src/cli/cmd/import.ts +0 -98
  42. package/src/cli/cmd/mcp.ts +0 -400
  43. package/src/cli/cmd/models.ts +0 -77
  44. package/src/cli/cmd/pr.ts +0 -112
  45. package/src/cli/cmd/run.ts +0 -342
  46. package/src/cli/cmd/serve.ts +0 -31
  47. package/src/cli/cmd/session.ts +0 -106
  48. package/src/cli/cmd/stats.ts +0 -298
  49. package/src/cli/cmd/tui/app.tsx +0 -833
  50. package/src/cli/cmd/tui/attach.ts +0 -25
  51. package/src/cli/cmd/tui/component/border.tsx +0 -21
  52. package/src/cli/cmd/tui/component/cerebras-onboarding.tsx +0 -225
  53. package/src/cli/cmd/tui/component/dialog-agent.tsx +0 -31
  54. package/src/cli/cmd/tui/component/dialog-command.tsx +0 -124
  55. package/src/cli/cmd/tui/component/dialog-feedback.tsx +0 -160
  56. package/src/cli/cmd/tui/component/dialog-mcp.tsx +0 -86
  57. package/src/cli/cmd/tui/component/dialog-model.tsx +0 -223
  58. package/src/cli/cmd/tui/component/dialog-notification.tsx +0 -78
  59. package/src/cli/cmd/tui/component/dialog-provider.tsx +0 -222
  60. package/src/cli/cmd/tui/component/dialog-session-list.tsx +0 -97
  61. package/src/cli/cmd/tui/component/dialog-session-rename.tsx +0 -31
  62. package/src/cli/cmd/tui/component/dialog-status.tsx +0 -114
  63. package/src/cli/cmd/tui/component/dialog-tag.tsx +0 -44
  64. package/src/cli/cmd/tui/component/dialog-theme-list.tsx +0 -50
  65. package/src/cli/cmd/tui/component/logo.tsx +0 -43
  66. package/src/cli/cmd/tui/component/notification-banner.tsx +0 -58
  67. package/src/cli/cmd/tui/component/prompt/autocomplete.tsx +0 -530
  68. package/src/cli/cmd/tui/component/prompt/history.tsx +0 -107
  69. package/src/cli/cmd/tui/component/prompt/index.tsx +0 -931
  70. package/src/cli/cmd/tui/component/quickstart-onboarding.tsx +0 -116
  71. package/src/cli/cmd/tui/context/args.tsx +0 -14
  72. package/src/cli/cmd/tui/context/directory.ts +0 -12
  73. package/src/cli/cmd/tui/context/exit.tsx +0 -23
  74. package/src/cli/cmd/tui/context/helper.tsx +0 -25
  75. package/src/cli/cmd/tui/context/keybind.tsx +0 -111
  76. package/src/cli/cmd/tui/context/kv.tsx +0 -49
  77. package/src/cli/cmd/tui/context/local.tsx +0 -338
  78. package/src/cli/cmd/tui/context/prompt.tsx +0 -18
  79. package/src/cli/cmd/tui/context/route.tsx +0 -45
  80. package/src/cli/cmd/tui/context/sdk.tsx +0 -75
  81. package/src/cli/cmd/tui/context/sync.tsx +0 -374
  82. package/src/cli/cmd/tui/context/theme/aura.json +0 -69
  83. package/src/cli/cmd/tui/context/theme/ayu.json +0 -80
  84. package/src/cli/cmd/tui/context/theme/catppuccin-macchiato.json +0 -233
  85. package/src/cli/cmd/tui/context/theme/catppuccin.json +0 -112
  86. package/src/cli/cmd/tui/context/theme/cobalt2.json +0 -228
  87. package/src/cli/cmd/tui/context/theme/dracula.json +0 -219
  88. package/src/cli/cmd/tui/context/theme/everforest.json +0 -241
  89. package/src/cli/cmd/tui/context/theme/flexoki.json +0 -237
  90. package/src/cli/cmd/tui/context/theme/github.json +0 -233
  91. package/src/cli/cmd/tui/context/theme/gruvbox.json +0 -95
  92. package/src/cli/cmd/tui/context/theme/kanagawa.json +0 -77
  93. package/src/cli/cmd/tui/context/theme/material.json +0 -235
  94. package/src/cli/cmd/tui/context/theme/matrix.json +0 -77
  95. package/src/cli/cmd/tui/context/theme/mercury.json +0 -252
  96. package/src/cli/cmd/tui/context/theme/monokai.json +0 -221
  97. package/src/cli/cmd/tui/context/theme/nightowl.json +0 -221
  98. package/src/cli/cmd/tui/context/theme/nord.json +0 -223
  99. package/src/cli/cmd/tui/context/theme/one-dark.json +0 -84
  100. package/src/cli/cmd/tui/context/theme/orng.json +0 -245
  101. package/src/cli/cmd/tui/context/theme/palenight.json +0 -222
  102. package/src/cli/cmd/tui/context/theme/rosepine.json +0 -234
  103. package/src/cli/cmd/tui/context/theme/solarized.json +0 -223
  104. package/src/cli/cmd/tui/context/theme/synthwave84.json +0 -226
  105. package/src/cli/cmd/tui/context/theme/tokyonight.json +0 -243
  106. package/src/cli/cmd/tui/context/theme/vercel.json +0 -245
  107. package/src/cli/cmd/tui/context/theme/vesper.json +0 -218
  108. package/src/cli/cmd/tui/context/theme/zenburn.json +0 -223
  109. package/src/cli/cmd/tui/context/theme.tsx +0 -1077
  110. package/src/cli/cmd/tui/event.ts +0 -39
  111. package/src/cli/cmd/tui/routes/home.tsx +0 -150
  112. package/src/cli/cmd/tui/routes/session/dialog-message.tsx +0 -93
  113. package/src/cli/cmd/tui/routes/session/dialog-timeline.tsx +0 -37
  114. package/src/cli/cmd/tui/routes/session/footer.tsx +0 -76
  115. package/src/cli/cmd/tui/routes/session/header.tsx +0 -181
  116. package/src/cli/cmd/tui/routes/session/index.tsx +0 -1695
  117. package/src/cli/cmd/tui/routes/session/sidebar.tsx +0 -686
  118. package/src/cli/cmd/tui/spawn.ts +0 -60
  119. package/src/cli/cmd/tui/thread.ts +0 -120
  120. package/src/cli/cmd/tui/ui/dialog-alert.tsx +0 -55
  121. package/src/cli/cmd/tui/ui/dialog-confirm.tsx +0 -81
  122. package/src/cli/cmd/tui/ui/dialog-help.tsx +0 -36
  123. package/src/cli/cmd/tui/ui/dialog-prompt.tsx +0 -75
  124. package/src/cli/cmd/tui/ui/dialog-select.tsx +0 -317
  125. package/src/cli/cmd/tui/ui/dialog.tsx +0 -170
  126. package/src/cli/cmd/tui/ui/spinner.ts +0 -368
  127. package/src/cli/cmd/tui/ui/toast.tsx +0 -100
  128. package/src/cli/cmd/tui/util/clipboard.ts +0 -127
  129. package/src/cli/cmd/tui/util/editor.ts +0 -32
  130. package/src/cli/cmd/tui/util/terminal.ts +0 -114
  131. package/src/cli/cmd/tui/worker.ts +0 -63
  132. package/src/cli/cmd/uninstall.ts +0 -344
  133. package/src/cli/cmd/upgrade.ts +0 -67
  134. package/src/cli/cmd/web.ts +0 -84
  135. package/src/cli/error.ts +0 -55
  136. package/src/cli/ui.ts +0 -84
  137. package/src/cli/upgrade.ts +0 -25
  138. package/src/command/index.ts +0 -79
  139. package/src/command/template/initialize.txt +0 -10
  140. package/src/command/template/review.txt +0 -73
  141. package/src/config/config.ts +0 -886
  142. package/src/config/markdown.ts +0 -41
  143. package/src/env/index.ts +0 -26
  144. package/src/file/fzf.ts +0 -124
  145. package/src/file/ignore.ts +0 -83
  146. package/src/file/index.ts +0 -326
  147. package/src/file/ripgrep.ts +0 -391
  148. package/src/file/time.ts +0 -38
  149. package/src/file/watcher.ts +0 -89
  150. package/src/flag/flag.ts +0 -29
  151. package/src/format/formatter.ts +0 -277
  152. package/src/format/index.ts +0 -137
  153. package/src/global/index.ts +0 -52
  154. package/src/id/id.ts +0 -73
  155. package/src/ide/index.ts +0 -75
  156. package/src/index.ts +0 -158
  157. package/src/installation/index.ts +0 -194
  158. package/src/lsp/client.ts +0 -215
  159. package/src/lsp/index.ts +0 -370
  160. package/src/lsp/language.ts +0 -111
  161. package/src/lsp/server.ts +0 -1327
  162. package/src/mcp/auth.ts +0 -82
  163. package/src/mcp/index.ts +0 -576
  164. package/src/mcp/oauth-callback.ts +0 -203
  165. package/src/mcp/oauth-provider.ts +0 -132
  166. package/src/notification/index.ts +0 -101
  167. package/src/patch/index.ts +0 -622
  168. package/src/permission/index.ts +0 -198
  169. package/src/plugin/index.ts +0 -95
  170. package/src/project/bootstrap.ts +0 -31
  171. package/src/project/instance.ts +0 -68
  172. package/src/project/project.ts +0 -133
  173. package/src/project/state.ts +0 -65
  174. package/src/project/vcs.ts +0 -77
  175. package/src/provider/auth.ts +0 -143
  176. package/src/provider/models-macro.ts +0 -11
  177. package/src/provider/models.ts +0 -93
  178. package/src/provider/provider.ts +0 -1005
  179. package/src/provider/sdk/openai-compatible/src/README.md +0 -5
  180. package/src/provider/sdk/openai-compatible/src/index.ts +0 -2
  181. package/src/provider/sdk/openai-compatible/src/openai-compatible-provider.ts +0 -100
  182. package/src/provider/sdk/openai-compatible/src/responses/convert-to-openai-responses-input.ts +0 -303
  183. package/src/provider/sdk/openai-compatible/src/responses/map-openai-responses-finish-reason.ts +0 -27
  184. package/src/provider/sdk/openai-compatible/src/responses/openai-config.ts +0 -18
  185. package/src/provider/sdk/openai-compatible/src/responses/openai-error.ts +0 -22
  186. package/src/provider/sdk/openai-compatible/src/responses/openai-responses-api-types.ts +0 -207
  187. package/src/provider/sdk/openai-compatible/src/responses/openai-responses-language-model.ts +0 -1713
  188. package/src/provider/sdk/openai-compatible/src/responses/openai-responses-prepare-tools.ts +0 -177
  189. package/src/provider/sdk/openai-compatible/src/responses/openai-responses-settings.ts +0 -1
  190. package/src/provider/sdk/openai-compatible/src/responses/tool/code-interpreter.ts +0 -88
  191. package/src/provider/sdk/openai-compatible/src/responses/tool/file-search.ts +0 -128
  192. package/src/provider/sdk/openai-compatible/src/responses/tool/image-generation.ts +0 -115
  193. package/src/provider/sdk/openai-compatible/src/responses/tool/local-shell.ts +0 -65
  194. package/src/provider/sdk/openai-compatible/src/responses/tool/web-search-preview.ts +0 -104
  195. package/src/provider/sdk/openai-compatible/src/responses/tool/web-search.ts +0 -103
  196. package/src/provider/transform.ts +0 -406
  197. package/src/pty/index.ts +0 -226
  198. package/src/ratelimit/index.ts +0 -185
  199. package/src/server/error.ts +0 -36
  200. package/src/server/project.ts +0 -50
  201. package/src/server/server.ts +0 -2463
  202. package/src/server/tui.ts +0 -71
  203. package/src/session/compaction.ts +0 -257
  204. package/src/session/index.ts +0 -470
  205. package/src/session/message-v2.ts +0 -641
  206. package/src/session/message.ts +0 -189
  207. package/src/session/processor.ts +0 -448
  208. package/src/session/prompt/anthropic-20250930.txt +0 -166
  209. package/src/session/prompt/anthropic.txt +0 -105
  210. package/src/session/prompt/anthropic_spoof.txt +0 -1
  211. package/src/session/prompt/beast.txt +0 -147
  212. package/src/session/prompt/build-switch.txt +0 -5
  213. package/src/session/prompt/codex.txt +0 -318
  214. package/src/session/prompt/compaction.txt +0 -12
  215. package/src/session/prompt/copilot-gpt-5.txt +0 -143
  216. package/src/session/prompt/gemini.txt +0 -155
  217. package/src/session/prompt/max-steps.txt +0 -16
  218. package/src/session/prompt/plan-reminder-anthropic.txt +0 -67
  219. package/src/session/prompt/plan.txt +0 -26
  220. package/src/session/prompt/polaris.txt +0 -107
  221. package/src/session/prompt/qwen.txt +0 -109
  222. package/src/session/prompt/summarize.txt +0 -4
  223. package/src/session/prompt/title.txt +0 -36
  224. package/src/session/prompt.ts +0 -1541
  225. package/src/session/retry.ts +0 -82
  226. package/src/session/revert.ts +0 -108
  227. package/src/session/status.ts +0 -75
  228. package/src/session/summary.ts +0 -203
  229. package/src/session/system.ts +0 -148
  230. package/src/session/todo.ts +0 -36
  231. package/src/share/share-next.ts +0 -195
  232. package/src/share/share.ts +0 -87
  233. package/src/skill/index.ts +0 -2
  234. package/src/skill/skill.ts +0 -138
  235. package/src/snapshot/index.ts +0 -197
  236. package/src/storage/storage.ts +0 -226
  237. package/src/telemetry/index.ts +0 -247
  238. package/src/tool/bash.ts +0 -365
  239. package/src/tool/bash.txt +0 -128
  240. package/src/tool/batch.ts +0 -173
  241. package/src/tool/batch.txt +0 -28
  242. package/src/tool/codesearch.ts +0 -138
  243. package/src/tool/codesearch.txt +0 -12
  244. package/src/tool/edit.ts +0 -674
  245. package/src/tool/edit.txt +0 -10
  246. package/src/tool/glob.ts +0 -65
  247. package/src/tool/glob.txt +0 -6
  248. package/src/tool/grep.ts +0 -120
  249. package/src/tool/grep.txt +0 -8
  250. package/src/tool/invalid.ts +0 -17
  251. package/src/tool/ls.ts +0 -110
  252. package/src/tool/ls.txt +0 -1
  253. package/src/tool/lsp-diagnostics.ts +0 -26
  254. package/src/tool/lsp-diagnostics.txt +0 -1
  255. package/src/tool/lsp-hover.ts +0 -31
  256. package/src/tool/lsp-hover.txt +0 -1
  257. package/src/tool/multiedit.ts +0 -46
  258. package/src/tool/multiedit.txt +0 -41
  259. package/src/tool/patch.ts +0 -233
  260. package/src/tool/patch.txt +0 -1
  261. package/src/tool/read.ts +0 -217
  262. package/src/tool/read.txt +0 -12
  263. package/src/tool/registry.ts +0 -150
  264. package/src/tool/skill.ts +0 -85
  265. package/src/tool/task.ts +0 -135
  266. package/src/tool/task.txt +0 -60
  267. package/src/tool/todo.ts +0 -39
  268. package/src/tool/todoread.txt +0 -14
  269. package/src/tool/todowrite.txt +0 -167
  270. package/src/tool/tool.ts +0 -66
  271. package/src/tool/webfetch.ts +0 -187
  272. package/src/tool/webfetch.txt +0 -14
  273. package/src/tool/websearch.ts +0 -150
  274. package/src/tool/websearch.txt +0 -11
  275. package/src/tool/write.ts +0 -99
  276. package/src/tool/write.txt +0 -8
  277. package/src/types/shims.d.ts +0 -3
  278. package/src/util/color.ts +0 -19
  279. package/src/util/context.ts +0 -25
  280. package/src/util/defer.ts +0 -12
  281. package/src/util/eventloop.ts +0 -20
  282. package/src/util/filesystem.ts +0 -69
  283. package/src/util/fn.ts +0 -11
  284. package/src/util/iife.ts +0 -3
  285. package/src/util/keybind.ts +0 -79
  286. package/src/util/lazy.ts +0 -11
  287. package/src/util/locale.ts +0 -81
  288. package/src/util/lock.ts +0 -98
  289. package/src/util/log.ts +0 -177
  290. package/src/util/queue.ts +0 -32
  291. package/src/util/rpc.ts +0 -42
  292. package/src/util/scrap.ts +0 -10
  293. package/src/util/signal.ts +0 -12
  294. package/src/util/timeout.ts +0 -14
  295. package/src/util/token.ts +0 -7
  296. package/src/util/wildcard.ts +0 -54
  297. package/sst-env.d.ts +0 -9
  298. package/test/bun.test.ts +0 -53
  299. package/test/config/agent-color.test.ts +0 -66
  300. package/test/config/config.test.ts +0 -503
  301. package/test/config/markdown.test.ts +0 -89
  302. package/test/file/ignore.test.ts +0 -10
  303. package/test/fixture/fixture.ts +0 -28
  304. package/test/fixture/lsp/fake-lsp-server.js +0 -77
  305. package/test/ide/ide.test.ts +0 -82
  306. package/test/keybind.test.ts +0 -317
  307. package/test/lsp/client.test.ts +0 -95
  308. package/test/patch/patch.test.ts +0 -348
  309. package/test/preload.ts +0 -38
  310. package/test/project/project.test.ts +0 -42
  311. package/test/provider/provider.test.ts +0 -1809
  312. package/test/provider/transform.test.ts +0 -305
  313. package/test/session/retry.test.ts +0 -61
  314. package/test/session/session.test.ts +0 -71
  315. package/test/snapshot/snapshot.test.ts +0 -939
  316. package/test/tool/__snapshots__/tool.test.ts.snap +0 -9
  317. package/test/tool/bash.test.ts +0 -55
  318. package/test/tool/patch.test.ts +0 -259
  319. package/test/util/iife.test.ts +0 -36
  320. package/test/util/lazy.test.ts +0 -50
  321. package/test/util/timeout.test.ts +0 -21
  322. package/test/util/wildcard.test.ts +0 -55
  323. package/tsconfig.json +0 -17
package/README.md CHANGED
@@ -1,42 +1,13 @@
1
- # Cerebras CLI
1
+ # js
2
2
 
3
- An AI-powered coding assistant for your terminal, optimized for Cerebras inference.
4
-
5
- ## Install
3
+ To install:
6
4
 
7
5
  ```bash
8
- npm install -g cerebras-cli
6
+ npm install cerebras-cli
9
7
  ```
10
8
 
11
- ## Run
9
+ To run:
12
10
 
13
11
  ```bash
14
12
  cerebras-cli
15
13
  ```
16
-
17
- ## Get Your API Key
18
-
19
- 1. Go to [cloud.cerebras.ai](https://cloud.cerebras.ai)
20
- 2. Create an account and get your API key
21
- 3. Run `cerebras-cli` and follow the onboarding to connect
22
-
23
- ## Features
24
-
25
- - ⚡ **Fastest inference** - Powered by Cerebras
26
- - 🛠️ **Full coding agent** - Read, write, edit files, run commands
27
- - 🎨 **Beautiful TUI** - Modern terminal interface with themes
28
- - 🔌 **MCP Support** - Extend with Model Context Protocol servers
29
- - 📚 **Skills** - On-demand loaded specialized knowledge
30
-
31
- ## Keyboard Shortcuts
32
-
33
- | Key | Action |
34
- |-----|--------|
35
- | `Enter` | Send message |
36
- | `Ctrl+C` | Cancel/Exit |
37
- | `Ctrl+L` | Clear screen |
38
- | `/` | Commands menu |
39
-
40
- ## License
41
-
42
- MIT
@@ -0,0 +1,84 @@
1
+ #!/usr/bin/env node
2
+
3
+ const childProcess = require("child_process")
4
+ const fs = require("fs")
5
+ const path = require("path")
6
+ const os = require("os")
7
+
8
+ function run(target) {
9
+ const result = childProcess.spawnSync(target, process.argv.slice(2), {
10
+ stdio: "inherit",
11
+ })
12
+ if (result.error) {
13
+ console.error(result.error.message)
14
+ process.exit(1)
15
+ }
16
+ const code = typeof result.status === "number" ? result.status : 0
17
+ process.exit(code)
18
+ }
19
+
20
+ const envPath = process.env.CEREBRAS_CLI_BIN_PATH || process.env.OPENCODE_BIN_PATH
21
+ if (envPath) {
22
+ run(envPath)
23
+ }
24
+
25
+ const scriptPath = fs.realpathSync(__filename)
26
+ const scriptDir = path.dirname(scriptPath)
27
+
28
+ const platformMap = {
29
+ darwin: "darwin",
30
+ linux: "linux",
31
+ win32: "windows",
32
+ }
33
+ const archMap = {
34
+ x64: "x64",
35
+ arm64: "arm64",
36
+ arm: "arm",
37
+ }
38
+
39
+ let platform = platformMap[os.platform()]
40
+ if (!platform) {
41
+ platform = os.platform()
42
+ }
43
+ let arch = archMap[os.arch()]
44
+ if (!arch) {
45
+ arch = os.arch()
46
+ }
47
+ const base = "cerebras-cli-" + platform + "-" + arch
48
+ const binary = platform === "windows" ? "cerebras-cli.exe" : "cerebras-cli"
49
+
50
+ function findBinary(startDir) {
51
+ let current = startDir
52
+ for (;;) {
53
+ const modules = path.join(current, "node_modules")
54
+ if (fs.existsSync(modules)) {
55
+ const entries = fs.readdirSync(modules)
56
+ for (const entry of entries) {
57
+ if (!entry.startsWith(base)) {
58
+ continue
59
+ }
60
+ const candidate = path.join(modules, entry, "bin", binary)
61
+ if (fs.existsSync(candidate)) {
62
+ return candidate
63
+ }
64
+ }
65
+ }
66
+ const parent = path.dirname(current)
67
+ if (parent === current) {
68
+ return
69
+ }
70
+ current = parent
71
+ }
72
+ }
73
+
74
+ const resolved = findBinary(scriptDir)
75
+ if (!resolved) {
76
+ console.error(
77
+ 'It seems that your package manager failed to install the right version of the cerebras-cli for your platform. You can try manually installing the "' +
78
+ base +
79
+ '" package',
80
+ )
81
+ process.exit(1)
82
+ }
83
+
84
+ run(resolved)
package/package.json CHANGED
@@ -1,101 +1,43 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package.json",
3
- "version": "1.0.143",
4
3
  "name": "cerebras-cli",
4
+ "version": "1.0.145",
5
+ "description": "AI-powered coding assistant CLI with Cerebras fast inference",
6
+ "author": "Kevin Taylor",
7
+ "license": "MIT",
5
8
  "type": "module",
6
9
  "scripts": {
7
10
  "typecheck": "tsgo --noEmit",
8
11
  "test": "bun test",
9
12
  "build": "./script/build.ts",
10
- "dev": "bun run --conditions=browser ./src/index.ts",
11
- "random": "echo 'Random script updated at $(date)'"
13
+ "dev": "bun run --conditions=browser ./src/index.ts"
12
14
  },
13
15
  "bin": {
14
- "cerebras-cli": "./bin/opencode"
16
+ "cerebras-cli": "./bin/opencode.cjs"
15
17
  },
16
- "exports": {
17
- "./*": "./src/*.ts"
18
+ "keywords": [
19
+ "cli",
20
+ "ai",
21
+ "coding",
22
+ "assistant",
23
+ "llm",
24
+ "cerebras",
25
+ "code-generation",
26
+ "developer-tools",
27
+ "terminal",
28
+ "tui",
29
+ "agentic"
30
+ ],
31
+ "repository": {
32
+ "type": "git",
33
+ "url": "git+https://github.com/kevint-cerebras/cerebras-code-cli.git",
34
+ "directory": "packages/opencode"
18
35
  },
19
- "devDependencies": {
20
- "@babel/core": "7.28.4",
21
- "@octokit/webhooks-types": "7.6.1",
22
- "@parcel/watcher-darwin-arm64": "2.5.1",
23
- "@parcel/watcher-darwin-x64": "2.5.1",
24
- "@parcel/watcher-linux-arm64-glibc": "2.5.1",
25
- "@parcel/watcher-linux-arm64-musl": "2.5.1",
26
- "@parcel/watcher-linux-x64-glibc": "2.5.1",
27
- "@parcel/watcher-linux-x64-musl": "2.5.1",
28
- "@parcel/watcher-win32-x64": "2.5.1",
29
- "@standard-schema/spec": "1.0.0",
30
- "@tsconfig/bun": "1.0.9",
31
- "@types/babel__core": "7.20.5",
32
- "@types/bun": "1.3.3",
33
- "@types/turndown": "5.0.5",
34
- "@types/yargs": "17.0.33",
35
- "typescript": "5.8.2",
36
- "@typescript/native-preview": "7.0.0-dev.20251207.1",
37
- "vscode-languageserver-types": "3.17.5",
38
- "why-is-node-running": "3.2.2",
39
- "zod-to-json-schema": "3.24.5"
36
+ "bugs": {
37
+ "url": "https://github.com/kevint-cerebras/cerebras-code-cli/issues"
40
38
  },
41
- "dependencies": {
42
- "@actions/core": "1.11.1",
43
- "@actions/github": "6.0.1",
44
- "@agentclientprotocol/sdk": "0.5.1",
45
- "@ai-sdk/amazon-bedrock": "3.0.57",
46
- "@ai-sdk/anthropic": "2.0.50",
47
- "@ai-sdk/azure": "2.0.73",
48
- "@ai-sdk/google": "2.0.44",
49
- "@ai-sdk/google-vertex": "3.0.81",
50
- "@ai-sdk/mcp": "0.0.8",
51
- "@ai-sdk/openai": "2.0.71",
52
- "@ai-sdk/openai-compatible": "1.0.27",
53
- "@ai-sdk/provider": "2.0.0",
54
- "@ai-sdk/provider-utils": "3.0.18",
55
- "@clack/prompts": "1.0.0-alpha.1",
56
- "@hono/standard-validator": "0.1.5",
57
- "@hono/zod-validator": "0.4.2",
58
- "@modelcontextprotocol/sdk": "1.15.1",
59
- "@octokit/graphql": "9.0.2",
60
- "@octokit/rest": "22.0.0",
61
- "@openauthjs/openauth": "0.0.0-20250322224806",
62
- "@opencode-ai/plugin": "1.1.33",
63
- "@opencode-ai/sdk": "1.1.33",
64
- "@openrouter/ai-sdk-provider": "1.2.8",
65
- "@opentui/core": "0.1.59",
66
- "@opentui/solid": "0.1.59",
67
- "@parcel/watcher": "2.5.1",
68
- "@pierre/precision-diffs": "0.6.0-beta.10",
69
- "@solid-primitives/event-bus": "1.1.2",
70
- "@standard-schema/spec": "1.0.0",
71
- "@zip.js/zip.js": "2.7.62",
72
- "ai": "5.0.97",
73
- "bun-pty": "0.4.2",
74
- "chokidar": "4.0.3",
75
- "clipboardy": "4.0.0",
76
- "decimal.js": "10.5.0",
77
- "diff": "8.0.2",
78
- "fuzzysort": "3.1.0",
79
- "gray-matter": "4.0.3",
80
- "hono": "4.10.7",
81
- "hono-openapi": "1.1.2",
82
- "ignore": "7.0.5",
83
- "jsonc-parser": "3.3.1",
84
- "minimatch": "10.0.3",
85
- "open": "10.1.2",
86
- "opentui-spinner": "0.0.6",
87
- "partial-json": "0.1.7",
88
- "remeda": "2.26.0",
89
- "solid-js": "1.9.10",
90
- "strip-ansi": "7.1.2",
91
- "tree-sitter-bash": "0.25.0",
92
- "turndown": "7.2.0",
93
- "ulid": "3.0.1",
94
- "vscode-jsonrpc": "8.2.1",
95
- "web-tree-sitter": "0.25.10",
96
- "xdg-basedir": "5.1.0",
97
- "yargs": "18.0.0",
98
- "zod": "4.1.8",
99
- "zod-to-json-schema": "3.24.5"
39
+ "homepage": "https://github.com/kevint-cerebras/cerebras-code-cli#readme",
40
+ "optionalDependencies": {
41
+ "cerebras-cli-darwin-arm64": "1.0.5"
100
42
  }
101
43
  }
package/AGENTS.md DELETED
@@ -1,27 +0,0 @@
1
- # opencode agent guidelines
2
-
3
- ## Build/Test Commands
4
-
5
- - **Install**: `bun install`
6
- - **Run**: `bun run index.ts`
7
- - **Typecheck**: `bun run typecheck` (npm run typecheck)
8
- - **Test**: `bun test` (runs all tests)
9
- - **Single test**: `bun test test/tool/tool.test.ts` (specific test file)
10
-
11
- ## Code Style
12
-
13
- - **Runtime**: Bun with TypeScript ESM modules
14
- - **Imports**: Use relative imports for local modules, named imports preferred
15
- - **Types**: Zod schemas for validation, TypeScript interfaces for structure
16
- - **Naming**: camelCase for variables/functions, PascalCase for classes/namespaces
17
- - **Error handling**: Use Result patterns, avoid throwing exceptions in tools
18
- - **File structure**: Namespace-based organization (e.g., `Tool.define()`, `Session.create()`)
19
-
20
- ## Architecture
21
-
22
- - **Tools**: Implement `Tool.Info` interface with `execute()` method
23
- - **Context**: Pass `sessionID` in tool context, use `App.provide()` for DI
24
- - **Validation**: All inputs validated with Zod schemas
25
- - **Logging**: Use `Log.create({ service: "name" })` pattern
26
- - **Storage**: Use `Storage` namespace for persistence
27
- - **API Client**: Go TUI communicates with TypeScript server via stainless SDK. When adding/modifying server endpoints in `packages/opencode/src/server/server.ts`, ask the user to generate a new client SDK to proceed with client-side changes.
package/Dockerfile DELETED
@@ -1,10 +0,0 @@
1
- FROM alpine
2
-
3
- # Disable the runtime transpiler cache by default inside Docker containers.
4
- # On ephemeral containers, the cache is not useful
5
- ARG BUN_RUNTIME_TRANSPILER_CACHE_PATH=0
6
- ENV BUN_RUNTIME_TRANSPILER_CACHE_PATH=${BUN_RUNTIME_TRANSPILER_CACHE_PATH}
7
- RUN apk add libgcc libstdc++
8
- ADD ./dist/opencode-linux-x64-baseline-musl/bin/opencode /usr/local/bin/opencode
9
- RUN opencode --version
10
- ENTRYPOINT ["opencode"]
package/bin/opencode DELETED
@@ -1,87 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- import { spawnSync } from "child_process"
4
- import { existsSync, readdirSync, realpathSync } from "fs"
5
- import { dirname, join } from "path"
6
- import { platform as osPlatform, arch as osArch } from "os"
7
- import { fileURLToPath } from "url"
8
-
9
- const __filename = fileURLToPath(import.meta.url)
10
-
11
- function run(target) {
12
- const result = spawnSync(target, process.argv.slice(2), {
13
- stdio: "inherit",
14
- })
15
- if (result.error) {
16
- console.error(result.error.message)
17
- process.exit(1)
18
- }
19
- const code = typeof result.status === "number" ? result.status : 0
20
- process.exit(code)
21
- }
22
-
23
- const envPath = process.env.OPENCODE_BIN_PATH
24
- if (envPath) {
25
- run(envPath)
26
- }
27
-
28
- const scriptPath = realpathSync(__filename)
29
- const scriptDir = dirname(scriptPath)
30
-
31
- const platformMap = {
32
- darwin: "darwin",
33
- linux: "linux",
34
- win32: "windows",
35
- }
36
- const archMap = {
37
- x64: "x64",
38
- arm64: "arm64",
39
- arm: "arm",
40
- }
41
-
42
- let platform = platformMap[osPlatform()]
43
- if (!platform) {
44
- platform = osPlatform()
45
- }
46
- let arch = archMap[osArch()]
47
- if (!arch) {
48
- arch = osArch()
49
- }
50
- const base = "opencode-" + platform + "-" + arch
51
- const binary = platform === "windows" ? "opencode.exe" : "opencode"
52
-
53
- function findBinary(startDir) {
54
- let current = startDir
55
- for (;;) {
56
- const modules = join(current, "node_modules")
57
- if (existsSync(modules)) {
58
- const entries = readdirSync(modules)
59
- for (const entry of entries) {
60
- if (!entry.startsWith(base)) {
61
- continue
62
- }
63
- const candidate = join(modules, entry, "bin", binary)
64
- if (existsSync(candidate)) {
65
- return candidate
66
- }
67
- }
68
- }
69
- const parent = dirname(current)
70
- if (parent === current) {
71
- return
72
- }
73
- current = parent
74
- }
75
- }
76
-
77
- const resolved = findBinary(scriptDir)
78
- if (!resolved) {
79
- console.error(
80
- 'It seems that your package manager failed to install the right version of the opencode CLI for your platform. You can try manually installing the "' +
81
- base +
82
- '" package',
83
- )
84
- process.exit(1)
85
- }
86
-
87
- run(resolved)
package/bunfig.toml DELETED
@@ -1,4 +0,0 @@
1
- preload = ["@opentui/solid/preload"]
2
-
3
- [test]
4
- preload = ["./test/preload.ts"]
@@ -1 +0,0 @@
1
- [01:46:25.994] Server LOG ✓ Compiled in 8ms
package/parsers-config.ts DELETED
@@ -1,239 +0,0 @@
1
- export default {
2
- // NOTE: FOR markdown, javascript and typescript, we use the opentui built-in parsers
3
- // Warn: when taking queries from the nvim-treesitter repo, make sure to include the query dependencies as well
4
- // marked with for example `; inherits: ecma` at the top of the file. Just put the dependencies before the actual query.
5
- // ALSO: Some queries use breaking changes in the nvim-treesitter repo, that are not compatible with the (web-)tree-sitter parser.
6
- parsers: [
7
- {
8
- filetype: "python",
9
- wasm: "https://github.com/tree-sitter/tree-sitter-python/releases/download/v0.23.6/tree-sitter-python.wasm",
10
- queries: {
11
- highlights: [
12
- // NOTE: This nvim-treesitter query is currently broken, because the parser is not compatible with the query apparently.
13
- // it is using "except" nodes that the parser is complaining about, but it has been in the query for 3+ years.
14
- // Unclear.
15
- // "https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/python/highlights.scm",
16
- "https://github.com/tree-sitter/tree-sitter-python/raw/refs/heads/master/queries/highlights.scm",
17
- ],
18
- locals: [
19
- "https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/python/locals.scm",
20
- ],
21
- },
22
- },
23
- {
24
- filetype: "rust",
25
- wasm: "https://github.com/tree-sitter/tree-sitter-rust/releases/download/v0.24.0/tree-sitter-rust.wasm",
26
- queries: {
27
- highlights: [
28
- "https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/rust/highlights.scm",
29
- ],
30
- locals: [
31
- "https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/rust/locals.scm",
32
- ],
33
- },
34
- },
35
- {
36
- filetype: "go",
37
- wasm: "https://github.com/tree-sitter/tree-sitter-go/releases/download/v0.25.0/tree-sitter-go.wasm",
38
- queries: {
39
- highlights: [
40
- "https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/go/highlights.scm",
41
- ],
42
- locals: [
43
- "https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/go/locals.scm",
44
- ],
45
- },
46
- },
47
- {
48
- filetype: "cpp",
49
- wasm: "https://github.com/tree-sitter/tree-sitter-cpp/releases/download/v0.23.4/tree-sitter-cpp.wasm",
50
- queries: {
51
- highlights: [
52
- "https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/cpp/highlights.scm",
53
- ],
54
- locals: [
55
- "https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/cpp/locals.scm",
56
- ],
57
- },
58
- },
59
- {
60
- filetype: "csharp",
61
- wasm: "https://github.com/tree-sitter/tree-sitter-c-sharp/releases/download/v0.23.1/tree-sitter-c_sharp.wasm",
62
- queries: {
63
- highlights: [
64
- "https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/c_sharp/highlights.scm",
65
- ],
66
- locals: [
67
- "https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/c_sharp/locals.scm",
68
- ],
69
- },
70
- },
71
- {
72
- filetype: "bash",
73
- wasm: "https://github.com/tree-sitter/tree-sitter-bash/releases/download/v0.25.0/tree-sitter-bash.wasm",
74
- queries: {
75
- highlights: [
76
- "https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/bash/highlights.scm",
77
- ],
78
- },
79
- },
80
- {
81
- filetype: "c",
82
- wasm: "https://github.com/tree-sitter/tree-sitter-c/releases/download/v0.24.1/tree-sitter-c.wasm",
83
- queries: {
84
- highlights: [
85
- "https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/c/highlights.scm",
86
- ],
87
- locals: [
88
- "https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/c/locals.scm",
89
- ],
90
- },
91
- },
92
- {
93
- filetype: "java",
94
- wasm: "https://github.com/tree-sitter/tree-sitter-java/releases/download/v0.23.5/tree-sitter-java.wasm",
95
- queries: {
96
- highlights: [
97
- "https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/java/highlights.scm",
98
- ],
99
- locals: [
100
- "https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/java/locals.scm",
101
- ],
102
- },
103
- },
104
- {
105
- filetype: "ruby",
106
- wasm: "https://github.com/tree-sitter/tree-sitter-ruby/releases/download/v0.23.1/tree-sitter-ruby.wasm",
107
- queries: {
108
- highlights: [
109
- "https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/ruby/highlights.scm",
110
- ],
111
- locals: [
112
- "https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/ruby/locals.scm",
113
- ],
114
- },
115
- },
116
- {
117
- filetype: "php",
118
- wasm: "https://github.com/tree-sitter/tree-sitter-php/releases/download/v0.24.2/tree-sitter-php.wasm",
119
- queries: {
120
- highlights: [
121
- // NOTE: This nvim-treesitter query is currently broken, because the parser is not compatible with the query apparently.
122
- // "https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/php/highlights.scm",
123
- "https://github.com/tree-sitter/tree-sitter-php/raw/refs/heads/master/queries/highlights.scm",
124
- ],
125
- },
126
- },
127
- {
128
- filetype: "scala",
129
- wasm: "https://github.com/tree-sitter/tree-sitter-scala/releases/download/v0.24.0/tree-sitter-scala.wasm",
130
- queries: {
131
- highlights: [
132
- "https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/scala/highlights.scm",
133
- ],
134
- },
135
- },
136
- {
137
- filetype: "html",
138
- wasm: "https://github.com/tree-sitter/tree-sitter-html/releases/download/v0.23.2/tree-sitter-html.wasm",
139
- queries: {
140
- highlights: [
141
- // NOTE: This nvim-treesitter query is currently broken, because the parser is not compatible with the query apparently.
142
- // "https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/html/highlights.scm",
143
- "https://github.com/tree-sitter/tree-sitter-html/raw/refs/heads/master/queries/highlights.scm",
144
- ],
145
- // TODO: Injections not working for some reason
146
- // injections: [
147
- // "https://github.com/tree-sitter/tree-sitter-html/raw/refs/heads/master/queries/injections.scm",
148
- // ],
149
- },
150
- // injectionMapping: {
151
- // nodeTypes: {
152
- // script_element: "javascript",
153
- // style_element: "css",
154
- // },
155
- // infoStringMap: {
156
- // javascript: "javascript",
157
- // css: "css",
158
- // },
159
- // },
160
- },
161
- {
162
- filetype: "json",
163
- wasm: "https://github.com/tree-sitter/tree-sitter-json/releases/download/v0.24.8/tree-sitter-json.wasm",
164
- queries: {
165
- highlights: [
166
- "https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/json/highlights.scm",
167
- ],
168
- },
169
- },
170
- {
171
- filetype: "yaml",
172
- wasm: "https://github.com/tree-sitter-grammars/tree-sitter-yaml/releases/download/v0.7.2/tree-sitter-yaml.wasm",
173
- queries: {
174
- highlights: [
175
- "https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/yaml/highlights.scm",
176
- ],
177
- },
178
- },
179
- {
180
- filetype: "haskell",
181
- wasm: "https://github.com/tree-sitter/tree-sitter-haskell/releases/download/v0.23.1/tree-sitter-haskell.wasm",
182
- queries: {
183
- highlights: [
184
- "https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/haskell/highlights.scm",
185
- ],
186
- },
187
- },
188
- {
189
- filetype: "css",
190
- wasm: "https://github.com/tree-sitter/tree-sitter-css/releases/download/v0.25.0/tree-sitter-css.wasm",
191
- queries: {
192
- highlights: [
193
- "https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/css/highlights.scm",
194
- ],
195
- },
196
- },
197
- {
198
- filetype: "julia",
199
- wasm: "https://github.com/tree-sitter/tree-sitter-julia/releases/download/v0.23.1/tree-sitter-julia.wasm",
200
- queries: {
201
- highlights: [
202
- "https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/julia/highlights.scm",
203
- ],
204
- },
205
- },
206
- {
207
- filetype: "ocaml",
208
- wasm: "https://github.com/tree-sitter/tree-sitter-ocaml/releases/download/v0.24.2/tree-sitter-ocaml.wasm",
209
- queries: {
210
- highlights: [
211
- "https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/ocaml/highlights.scm",
212
- ],
213
- },
214
- },
215
- {
216
- filetype: "clojure",
217
- wasm: "https://github.com/sogaiu/tree-sitter-clojure/releases/download/v0.0.13/tree-sitter-clojure.wasm",
218
- queries: {
219
- highlights: [
220
- "https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/clojure/highlights.scm",
221
- ],
222
- },
223
- },
224
- {
225
- filetype: "swift",
226
- wasm: "https://github.com/alex-pinkus/tree-sitter-swift/releases/download/0.7.1/tree-sitter-swift.wasm",
227
- queries: {
228
- highlights: [
229
- // NOTE: Using parser repo queries instead of nvim-treesitter due to incompatible #lua-match? predicates
230
- // "https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/highlights.scm
231
- "https://raw.githubusercontent.com/alex-pinkus/tree-sitter-swift/main/queries/highlights.scm",
232
- ],
233
- locals: [
234
- "https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/swift/locals.scm",
235
- ],
236
- },
237
- },
238
- ],
239
- }