summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authoropencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>2026-04-17 20:47:05 +0000
committeropencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>2026-04-17 20:47:05 +0000
commitdc16013b4f0aa5e4d3eb433046965e1274da3990 (patch)
tree94359b47727aeb0fd4221a36e51c3c670151461c
parente7686dbd643241f7e4ebf4a5e37e5ef33ad7797f (diff)
downloadopencode-dc16013b4f0aa5e4d3eb433046965e1274da3990.tar.gz
opencode-dc16013b4f0aa5e4d3eb433046965e1274da3990.zip
chore: generate
-rw-r--r--packages/opencode/src/config/lsp.ts24
-rw-r--r--packages/opencode/test/util/effect-zod.test.ts18
2 files changed, 17 insertions, 25 deletions
diff --git a/packages/opencode/src/config/lsp.ts b/packages/opencode/src/config/lsp.ts
index 6d61c6b8e..1cf93177e 100644
--- a/packages/opencode/src/config/lsp.ts
+++ b/packages/opencode/src/config/lsp.ts
@@ -25,18 +25,18 @@ export const Entry = Schema.Union([
* client knows which files the server should attach to. Builtin server IDs and
* explicitly disabled entries are exempt.
*/
-export const requiresExtensionsForCustomServers = Schema.makeFilter<boolean | Record<string, Schema.Schema.Type<typeof Entry>>>(
- (data) => {
- if (typeof data === "boolean") return undefined
- const serverIds = new Set(Object.values(LSPServer).map((server) => server.id))
- const ok = Object.entries(data).every(([id, config]) => {
- if ("disabled" in config && config.disabled) return true
- if (serverIds.has(id)) return true
- return "extensions" in config && Boolean(config.extensions)
- })
- return ok ? undefined : "For custom LSP servers, 'extensions' array is required."
- },
-)
+export const requiresExtensionsForCustomServers = Schema.makeFilter<
+ boolean | Record<string, Schema.Schema.Type<typeof Entry>>
+>((data) => {
+ if (typeof data === "boolean") return undefined
+ const serverIds = new Set(Object.values(LSPServer).map((server) => server.id))
+ const ok = Object.entries(data).every(([id, config]) => {
+ if ("disabled" in config && config.disabled) return true
+ if (serverIds.has(id)) return true
+ return "extensions" in config && Boolean(config.extensions)
+ })
+ return ok ? undefined : "For custom LSP servers, 'extensions' array is required."
+})
export const Info = Schema.Union([Schema.Boolean, Schema.Record(Schema.String, Entry)])
.check(requiresExtensionsForCustomServers)
diff --git a/packages/opencode/test/util/effect-zod.test.ts b/packages/opencode/test/util/effect-zod.test.ts
index 2a5cc45f8..1c84c96f3 100644
--- a/packages/opencode/test/util/effect-zod.test.ts
+++ b/packages/opencode/test/util/effect-zod.test.ts
@@ -189,9 +189,7 @@ describe("util.effect-zod", () => {
describe("Schema.check translation", () => {
test("filter returning string triggers refinement with that message", () => {
- const isEven = Schema.makeFilter((n: number) =>
- n % 2 === 0 ? undefined : "expected an even number",
- )
+ const isEven = Schema.makeFilter((n: number) => (n % 2 === 0 ? undefined : "expected an even number"))
const schema = zod(Schema.Number.check(isEven))
expect(schema.parse(4)).toBe(4)
@@ -218,10 +216,7 @@ describe("util.effect-zod", () => {
})
test("annotations.message on the filter is used when filter returns false", () => {
- const positive = Schema.makeFilter(
- (n: number) => n > 0,
- { message: "must be positive" },
- )
+ const positive = Schema.makeFilter((n: number) => n > 0, { message: "must be positive" })
const schema = zod(Schema.Number.check(positive))
const result = schema.safeParse(-1)
@@ -230,13 +225,10 @@ describe("util.effect-zod", () => {
})
test("cross-field check on a record flags missing key", () => {
- const hasKey = Schema.makeFilter(
- (data: Record<string, { enabled: boolean }>) =>
- "required" in data ? undefined : "missing 'required' key",
- )
- const schema = zod(
- Schema.Record(Schema.String, Schema.Struct({ enabled: Schema.Boolean })).check(hasKey),
+ const hasKey = Schema.makeFilter((data: Record<string, { enabled: boolean }>) =>
+ "required" in data ? undefined : "missing 'required' key",
)
+ const schema = zod(Schema.Record(Schema.String, Schema.Struct({ enabled: Schema.Boolean })).check(hasKey))
expect(schema.parse({ required: { enabled: true } })).toEqual({
required: { enabled: true },