From b8249cde4b1c5ed73daf31c002f9f5e2b2e3c89b Mon Sep 17 00:00:00 2001 From: Dax Raad Date: Tue, 14 Oct 2025 01:33:25 -0400 Subject: [PATCH] core: improve dependency management and error handling for more reliable builds --- bun.lock | 13 ++++++------- package.json | 3 ++- packages/opencode/src/provider/provider.ts | 8 ++++---- packages/opencode/src/util/context.ts | 2 +- packages/opencode/src/util/error.ts | 2 +- packages/opencode/tsconfig.json | 1 + 6 files changed, 15 insertions(+), 14 deletions(-) diff --git a/bun.lock b/bun.lock index 6f279928..482c0d6b 100644 --- a/bun.lock +++ b/bun.lock @@ -131,11 +131,11 @@ "shiki": "3.9.2", "solid-js": "catalog:", "solid-list": "0.3.0", - "tailwindcss": "4.1.11", + "tailwindcss": "catalog:", "virtua": "0.42.3", }, "devDependencies": { - "@tailwindcss/vite": "4.1.11", + "@tailwindcss/vite": "catalog:", "@tsconfig/bun": "1.0.9", "@types/luxon": "3.7.1", "@types/node": "catalog:", @@ -206,7 +206,7 @@ "@octokit/webhooks-types": "7.6.1", "@parcel/watcher-win32-x64": "2.5.1", "@standard-schema/spec": "1.0.0", - "@tsconfig/bun": "1.0.7", + "@tsconfig/bun": "catalog:", "@types/bun": "catalog:", "@types/turndown": "5.0.5", "@types/yargs": "17.0.33", @@ -280,12 +280,14 @@ ], "overrides": { "@types/bun": "catalog:", + "@types/node": "catalog:", }, "catalog": { "@cloudflare/workers-types": "4.20251008.0", "@hono/zod-validator": "0.4.2", "@kobalte/core": "0.13.11", "@openauthjs/openauth": "0.0.0-20250322224806", + "@tailwindcss/vite": "4.1.11", "@tsconfig/bun": "1.0.9", "@tsconfig/node22": "22.0.2", "@types/bun": "1.3.0", @@ -297,6 +299,7 @@ "luxon": "3.6.1", "remeda": "2.26.0", "solid-js": "1.9.9", + "tailwindcss": "4.1.11", "typescript": "5.8.2", "zod": "4.1.8", }, @@ -3331,8 +3334,6 @@ "nypm/pkg-types": ["pkg-types@1.3.1", "", { "dependencies": { "confbox": "^0.1.8", "mlly": "^1.7.4", "pathe": "^2.0.1" } }, "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ=="], - "opencode/@tsconfig/bun": ["@tsconfig/bun@1.0.7", "", {}, "sha512-udGrGJBNQdXGVulehc1aWT73wkR9wdaGBtB6yL70RJsqwW/yJhIg6ZbRlPOfIUiFNrnBuYLBi9CSmMKfDC7dvA=="], - "opencode/ulid": ["ulid@3.0.1", "", { "bin": { "ulid": "dist/cli.js" } }, "sha512-dPJyqPzx8preQhqq24bBG1YNkvigm87K8kVEHCD+ruZg24t6IFEFv00xMWfxcC4djmFtiTLdFuADn4+DOz6R7Q=="], "opencontrol/@modelcontextprotocol/sdk": ["@modelcontextprotocol/sdk@1.6.1", "", { "dependencies": { "content-type": "^1.0.5", "cors": "^2.8.5", "eventsource": "^3.0.2", "express": "^5.0.1", "express-rate-limit": "^7.5.0", "pkce-challenge": "^4.1.0", "raw-body": "^3.0.0", "zod": "^3.23.8", "zod-to-json-schema": "^3.24.1" } }, "sha512-oxzMzYCkZHMntzuyerehK3fV6A2Kwh5BD6CGEJSVDU2QNEhfLOptf2X7esQgaHZXHZY0oHmMsOtIDLP71UJXgA=="], @@ -3391,8 +3392,6 @@ "send/statuses": ["statuses@2.0.1", "", {}, "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ=="], - "sitemap/@types/node": ["@types/node@17.0.45", "", {}, "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw=="], - "sitemap/sax": ["sax@1.4.1", "", {}, "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg=="], "source-map-support/source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="], diff --git a/package.json b/package.json index 5c3adea7..2d3c14db 100644 --- a/package.json +++ b/package.json @@ -68,6 +68,7 @@ "@solidjs/start@1.1.7": "patches/@solidjs%2Fstart@1.1.7.patch" }, "overrides": { - "@types/bun": "catalog:" + "@types/bun": "catalog:", + "@types/node": "catalog:" } } diff --git a/packages/opencode/src/provider/provider.ts b/packages/opencode/src/provider/provider.ts index e8231466..77440413 100644 --- a/packages/opencode/src/provider/provider.ts +++ b/packages/opencode/src/provider/provider.ts @@ -526,11 +526,11 @@ export namespace Provider { model_id: string }[] } - const models = state?.recently_used_models ?? [] - if (models.length > 0) { + const [model] = state?.recently_used_models ?? [] + if (model) { return { - providerID: models[0].provider_id, - modelID: models[0].model_id, + providerID: model.provider_id, + modelID: model.model_id, } } }) diff --git a/packages/opencode/src/util/context.ts b/packages/opencode/src/util/context.ts index b56329d8..46bbf460 100644 --- a/packages/opencode/src/util/context.ts +++ b/packages/opencode/src/util/context.ts @@ -2,7 +2,7 @@ import { AsyncLocalStorage } from "async_hooks" export namespace Context { export class NotFound extends Error { - constructor(public readonly name: string) { + constructor(public override readonly name: string) { super(`No context found for ${name}`) } } diff --git a/packages/opencode/src/util/error.ts b/packages/opencode/src/util/error.ts index f74947b1..f93c4d71 100644 --- a/packages/opencode/src/util/error.ts +++ b/packages/opencode/src/util/error.ts @@ -19,7 +19,7 @@ export abstract class NamedError extends Error { const result = class extends NamedError { public static readonly Schema = schema - public readonly name = name as Name + public override readonly name = name as Name constructor( public readonly data: z.input, diff --git a/packages/opencode/tsconfig.json b/packages/opencode/tsconfig.json index 478672ce..63709af0 100644 --- a/packages/opencode/tsconfig.json +++ b/packages/opencode/tsconfig.json @@ -6,6 +6,7 @@ "jsxImportSource": "@opentui/solid", "lib": ["ESNext", "DOM", "DOM.Iterable"], "types": [], + "noUncheckedIndexedAccess": false, "customConditions": ["browser"], "baseUrl": ".", "paths": {