From 00000655d26876a15f398a12fa964ed4a1cf4475 Mon Sep 17 00:00:00 2001 From: MBanucu Date: Tue, 20 Jan 2026 11:49:03 +0100 Subject: [PATCH 1/5] fix(opencode): Allow compatible Bun versions in packageManager field --- package.json | 3 ++- packages/script/src/index.ts | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index ca9602174a24..7f06491183b4 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "description": "AI-powered development tool", "private": true, "type": "module", - "packageManager": "bun@1.3.5", + "packageManager": "bun@^1.3.5", "scripts": { "dev": "bun run --cwd packages/opencode --conditions=browser src/index.ts", "typecheck": "bun turbo typecheck", @@ -66,6 +66,7 @@ "@tsconfig/bun": "catalog:", "husky": "9.1.7", "prettier": "3.6.2", + "semver": "^7.6.0", "sst": "3.17.23", "turbo": "2.5.6" }, diff --git a/packages/script/src/index.ts b/packages/script/src/index.ts index 09ebb4463560..9d3c6821cea8 100644 --- a/packages/script/src/index.ts +++ b/packages/script/src/index.ts @@ -1,5 +1,6 @@ import { $ } from "bun" import path from "path" +import { satisfies } from "semver" const rootPkgPath = path.resolve(import.meta.dir, "../../../package.json") const rootPkg = await Bun.file(rootPkgPath).json() @@ -9,7 +10,7 @@ if (!expectedBunVersion) { throw new Error("packageManager field not found in root package.json") } -if (process.versions.bun !== expectedBunVersion) { +if (!satisfies(process.versions.bun, expectedBunVersion)) { throw new Error(`This script requires bun@${expectedBunVersion}, but you are using bun@${process.versions.bun}`) } From a6bface4b0c6dc8ce7d615e3374a35e9b9565890 Mon Sep 17 00:00:00 2001 From: MBanucu Date: Tue, 20 Jan 2026 12:48:56 +0100 Subject: [PATCH 2/5] fix(opencode): Update node_modules hash for semver addition --- nix/hashes.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nix/hashes.json b/nix/hashes.json index fa91b3b3102a..658128a33706 100644 --- a/nix/hashes.json +++ b/nix/hashes.json @@ -1,6 +1,6 @@ { "nodeModules": { - "x86_64-linux": "sha256-80+b7FwUy4mRWTzEjPrBWuR5Um67I1Rn4U/n/s/lBjs=", + "x86_64-linux": "sha256-AbPldHboLnT/sRYYEBKBx0EsQtA3uIOn85sl3rsg56s=", "aarch64-linux": "sha256-xH/Grwh3b+HWsUkKN8LMcyMaMcmnIJYlgp38WJCat5E=", "aarch64-darwin": "sha256-Izv6PE9gNaeYYfcqDwjTU/WYtD1y+j65annwvLzkMD8=", "x86_64-darwin": "sha256-EG1Z0uAeyFiOeVsv0Sz1sa8/mdXuw/uvbYYrkFR3EAg=" From 15c4af6228eeaabf528ef3673a7a6f7319c0d26b Mon Sep 17 00:00:00 2001 From: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Date: Tue, 20 Jan 2026 11:16:20 -0600 Subject: [PATCH 3/5] Fix packageManager version format in package.json --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 7f06491183b4..d576190a1223 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "description": "AI-powered development tool", "private": true, "type": "module", - "packageManager": "bun@^1.3.5", + "packageManager": "bun@1.3.5", "scripts": { "dev": "bun run --cwd packages/opencode --conditions=browser src/index.ts", "typecheck": "bun turbo typecheck", From 11a0aa8dc3264d4814b960f025e24c19ed6e3cfc Mon Sep 17 00:00:00 2001 From: Aiden Cline Date: Tue, 20 Jan 2026 11:24:47 -0600 Subject: [PATCH 4/5] bun install --- bun.lock | 1 + 1 file changed, 1 insertion(+) diff --git a/bun.lock b/bun.lock index 53d80630b840..6827efdb9bda 100644 --- a/bun.lock +++ b/bun.lock @@ -16,6 +16,7 @@ "@tsconfig/bun": "catalog:", "husky": "9.1.7", "prettier": "3.6.2", + "semver": "^7.6.0", "sst": "3.17.23", "turbo": "2.5.6", }, From 71753f74f5841ed56962a7e4601dcc502774898c Mon Sep 17 00:00:00 2001 From: Aiden Cline Date: Tue, 20 Jan 2026 11:26:25 -0600 Subject: [PATCH 5/5] fix --- bun.lock | 4 ++++ package.json | 1 + packages/script/package.json | 3 ++- 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/bun.lock b/bun.lock index 6827efdb9bda..6fec6cbb1136 100644 --- a/bun.lock +++ b/bun.lock @@ -375,6 +375,7 @@ "name": "@opencode-ai/script", "devDependencies": { "@types/bun": "catalog:", + "@types/semver": "catalog:", }, }, "packages/sdk/js": { @@ -515,6 +516,7 @@ "@types/bun": "1.3.5", "@types/luxon": "3.7.1", "@types/node": "22.13.9", + "@types/semver": "7.7.1", "@typescript/native-preview": "7.0.0-dev.20251207.1", "ai": "5.0.119", "diff": "8.0.2", @@ -1850,6 +1852,8 @@ "@types/scheduler": ["@types/scheduler@0.26.0", "", {}, "sha512-WFHp9YUJQ6CKshqoC37iOlHnQSmxNc795UhB26CyBBttrN9svdIrUjl/NjnNmfcwtncN0h/0PPAFWv9ovP8mLA=="], + "@types/semver": ["@types/semver@7.7.1", "", {}, "sha512-FmgJfu+MOcQ370SD0ev7EI8TlCAfKYU+B4m5T3yXc1CiRN94g/SZPtsCkk506aUDtlMnFZvasDwHHUcZUEaYuA=="], + "@types/send": ["@types/send@0.17.6", "", { "dependencies": { "@types/mime": "^1", "@types/node": "*" } }, "sha512-Uqt8rPBE8SY0RK8JB1EzVOIZ32uqy8HwdxCnoCOsYrvnswqmFZ/k+9Ikidlk/ImhsdvBsloHbAlewb2IEBV/Og=="], "@types/serve-static": ["@types/serve-static@1.15.10", "", { "dependencies": { "@types/http-errors": "*", "@types/node": "*", "@types/send": "<1" } }, "sha512-tRs1dB+g8Itk72rlSI2ZrW6vZg0YrLI81iQSTkMmOqnqCaNr/8Ek4VwWcN5vZgCYWbg/JJSGBlUaYGAOP73qBw=="], diff --git a/package.json b/package.json index d576190a1223..4267ef645661 100644 --- a/package.json +++ b/package.json @@ -28,6 +28,7 @@ "@kobalte/core": "0.13.11", "@types/luxon": "3.7.1", "@types/node": "22.13.9", + "@types/semver": "7.7.1", "@tsconfig/node22": "22.0.2", "@tsconfig/bun": "1.0.9", "@cloudflare/workers-types": "4.20251008.0", diff --git a/packages/script/package.json b/packages/script/package.json index 45de3bcb99fb..08a8170269f0 100644 --- a/packages/script/package.json +++ b/packages/script/package.json @@ -3,7 +3,8 @@ "name": "@opencode-ai/script", "license": "MIT", "devDependencies": { - "@types/bun": "catalog:" + "@types/bun": "catalog:", + "@types/semver": "catalog:" }, "exports": { ".": "./src/index.ts"