Zen
- Curated list of models provided by opencode. Learn more.
+ Curated list of models provided by opencode.{" "}
+
+ Learn more
+
+ .
diff --git a/cloud/app/src/style/token/font.css b/cloud/app/src/style/token/font.css
index 4d20e324..67143e66 100644
--- a/cloud/app/src/style/token/font.css
+++ b/cloud/app/src/style/token/font.css
@@ -14,6 +14,7 @@ body {
--font-size-8xl: 6rem;
--font-size-9xl: 8rem;
- --font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
+ --font-mono:
+ "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
--font-sans: var(--font-mono);
}
diff --git a/cloud/app/sst-env.d.ts b/cloud/app/sst-env.d.ts
index b6a7e906..0397645b 100644
--- a/cloud/app/sst-env.d.ts
+++ b/cloud/app/sst-env.d.ts
@@ -6,4 +6,4 @@
///
import "sst"
-export {}
\ No newline at end of file
+export {}
diff --git a/cloud/app/tsconfig.json b/cloud/app/tsconfig.json
index 4110b02e..07148a45 100644
--- a/cloud/app/tsconfig.json
+++ b/cloud/app/tsconfig.json
@@ -12,14 +12,10 @@
"allowJs": true,
"strict": true,
"noEmit": true,
- "types": [
- "vinxi/types/client"
- ],
+ "types": ["vinxi/types/client"],
"isolatedModules": true,
"paths": {
- "~/*": [
- "./src/*"
- ]
+ "~/*": ["./src/*"]
}
}
}
diff --git a/cloud/core/migrations/meta/0000_snapshot.json b/cloud/core/migrations/meta/0000_snapshot.json
index 623ec493..17d3bd7f 100644
--- a/cloud/core/migrations/meta/0000_snapshot.json
+++ b/cloud/core/migrations/meta/0000_snapshot.json
@@ -48,9 +48,7 @@
"indexes": {
"email": {
"name": "email",
- "columns": [
- "email"
- ],
+ "columns": ["email"],
"isUnique": true
}
},
@@ -140,10 +138,7 @@
"compositePrimaryKeys": {
"billing_workspace_id_id_pk": {
"name": "billing_workspace_id_id_pk",
- "columns": [
- "workspace_id",
- "id"
- ]
+ "columns": ["workspace_id", "id"]
}
},
"uniqueConstraints": {},
@@ -216,10 +211,7 @@
"compositePrimaryKeys": {
"payment_workspace_id_id_pk": {
"name": "payment_workspace_id_id_pk",
- "columns": [
- "workspace_id",
- "id"
- ]
+ "columns": ["workspace_id", "id"]
}
},
"uniqueConstraints": {},
@@ -320,10 +312,7 @@
"compositePrimaryKeys": {
"usage_workspace_id_id_pk": {
"name": "usage_workspace_id_id_pk",
- "columns": [
- "workspace_id",
- "id"
- ]
+ "columns": ["workspace_id", "id"]
}
},
"uniqueConstraints": {},
@@ -401,9 +390,7 @@
"indexes": {
"global_key": {
"name": "global_key",
- "columns": [
- "key"
- ],
+ "columns": ["key"],
"isUnique": true
}
},
@@ -411,10 +398,7 @@
"compositePrimaryKeys": {
"key_workspace_id_id_pk": {
"name": "key_workspace_id_id_pk",
- "columns": [
- "workspace_id",
- "id"
- ]
+ "columns": ["workspace_id", "id"]
}
},
"uniqueConstraints": {},
@@ -492,10 +476,7 @@
"indexes": {
"user_email": {
"name": "user_email",
- "columns": [
- "workspace_id",
- "email"
- ],
+ "columns": ["workspace_id", "email"],
"isUnique": true
}
},
@@ -503,10 +484,7 @@
"compositePrimaryKeys": {
"user_workspace_id_id_pk": {
"name": "user_workspace_id_id_pk",
- "columns": [
- "workspace_id",
- "id"
- ]
+ "columns": ["workspace_id", "id"]
}
},
"uniqueConstraints": {},
@@ -563,9 +541,7 @@
"indexes": {
"slug": {
"name": "slug",
- "columns": [
- "slug"
- ],
+ "columns": ["slug"],
"isUnique": true
}
},
@@ -573,9 +549,7 @@
"compositePrimaryKeys": {
"workspace_id": {
"name": "workspace_id",
- "columns": [
- "id"
- ]
+ "columns": ["id"]
}
},
"uniqueConstraints": {},
@@ -592,4 +566,4 @@
"tables": {},
"indexes": {}
}
-}
\ No newline at end of file
+}
diff --git a/cloud/core/migrations/meta/0001_snapshot.json b/cloud/core/migrations/meta/0001_snapshot.json
index d06e8070..d23d1601 100644
--- a/cloud/core/migrations/meta/0001_snapshot.json
+++ b/cloud/core/migrations/meta/0001_snapshot.json
@@ -48,9 +48,7 @@
"indexes": {
"email": {
"name": "email",
- "columns": [
- "email"
- ],
+ "columns": ["email"],
"isUnique": true
}
},
@@ -140,10 +138,7 @@
"compositePrimaryKeys": {
"billing_workspace_id_id_pk": {
"name": "billing_workspace_id_id_pk",
- "columns": [
- "workspace_id",
- "id"
- ]
+ "columns": ["workspace_id", "id"]
}
},
"uniqueConstraints": {},
@@ -216,10 +211,7 @@
"compositePrimaryKeys": {
"payment_workspace_id_id_pk": {
"name": "payment_workspace_id_id_pk",
- "columns": [
- "workspace_id",
- "id"
- ]
+ "columns": ["workspace_id", "id"]
}
},
"uniqueConstraints": {},
@@ -320,10 +312,7 @@
"compositePrimaryKeys": {
"usage_workspace_id_id_pk": {
"name": "usage_workspace_id_id_pk",
- "columns": [
- "workspace_id",
- "id"
- ]
+ "columns": ["workspace_id", "id"]
}
},
"uniqueConstraints": {},
@@ -401,9 +390,7 @@
"indexes": {
"global_key": {
"name": "global_key",
- "columns": [
- "key"
- ],
+ "columns": ["key"],
"isUnique": true
}
},
@@ -411,10 +398,7 @@
"compositePrimaryKeys": {
"key_workspace_id_id_pk": {
"name": "key_workspace_id_id_pk",
- "columns": [
- "workspace_id",
- "id"
- ]
+ "columns": ["workspace_id", "id"]
}
},
"uniqueConstraints": {},
@@ -492,10 +476,7 @@
"indexes": {
"user_email": {
"name": "user_email",
- "columns": [
- "workspace_id",
- "email"
- ],
+ "columns": ["workspace_id", "email"],
"isUnique": true
}
},
@@ -503,10 +484,7 @@
"compositePrimaryKeys": {
"user_workspace_id_id_pk": {
"name": "user_workspace_id_id_pk",
- "columns": [
- "workspace_id",
- "id"
- ]
+ "columns": ["workspace_id", "id"]
}
},
"uniqueConstraints": {},
@@ -563,9 +541,7 @@
"indexes": {
"slug": {
"name": "slug",
- "columns": [
- "slug"
- ],
+ "columns": ["slug"],
"isUnique": true
}
},
@@ -573,9 +549,7 @@
"compositePrimaryKeys": {
"workspace_id": {
"name": "workspace_id",
- "columns": [
- "id"
- ]
+ "columns": ["id"]
}
},
"uniqueConstraints": {},
@@ -592,4 +566,4 @@
"tables": {},
"indexes": {}
}
-}
\ No newline at end of file
+}
diff --git a/cloud/core/migrations/meta/_journal.json b/cloud/core/migrations/meta/_journal.json
index d383b96a..131e8561 100644
--- a/cloud/core/migrations/meta/_journal.json
+++ b/cloud/core/migrations/meta/_journal.json
@@ -17,4 +17,4 @@
"breakpoints": true
}
]
-}
\ No newline at end of file
+}
diff --git a/cloud/core/src/util/fn.ts b/cloud/core/src/util/fn.ts
index 038a5071..52df65e2 100644
--- a/cloud/core/src/util/fn.ts
+++ b/cloud/core/src/util/fn.ts
@@ -1,9 +1,6 @@
import { z } from "zod"
-export function fn
(
- schema: T,
- cb: (input: z.output) => Result,
-) {
+export function fn(schema: T, cb: (input: z.output) => Result) {
const result = (input: z.input) => {
const parsed = schema.parse(input)
return cb(parsed)
diff --git a/cloud/core/sst-env.d.ts b/cloud/core/sst-env.d.ts
index b6a7e906..0397645b 100644
--- a/cloud/core/sst-env.d.ts
+++ b/cloud/core/sst-env.d.ts
@@ -6,4 +6,4 @@
///
import "sst"
-export {}
\ No newline at end of file
+export {}
diff --git a/cloud/function/sst-env.d.ts b/cloud/function/sst-env.d.ts
index fd96591b..11bc7ade 100644
--- a/cloud/function/sst-env.d.ts
+++ b/cloud/function/sst-env.d.ts
@@ -6,87 +6,87 @@
import "sst"
declare module "sst" {
export interface Resource {
- "ANTHROPIC_API_KEY": {
- "type": "sst.sst.Secret"
- "value": string
+ ANTHROPIC_API_KEY: {
+ type: "sst.sst.Secret"
+ value: string
}
- "AUTH_API_URL": {
- "type": "sst.sst.Linkable"
- "value": string
+ AUTH_API_URL: {
+ type: "sst.sst.Linkable"
+ value: string
}
- "BASETEN_API_KEY": {
- "type": "sst.sst.Secret"
- "value": string
+ BASETEN_API_KEY: {
+ type: "sst.sst.Secret"
+ value: string
}
- "Console": {
- "type": "sst.cloudflare.SolidStart"
- "url": string
+ Console: {
+ type: "sst.cloudflare.SolidStart"
+ url: string
}
- "Database": {
- "database": string
- "host": string
- "password": string
- "port": number
- "type": "sst.sst.Linkable"
- "username": string
+ Database: {
+ database: string
+ host: string
+ password: string
+ port: number
+ type: "sst.sst.Linkable"
+ username: string
}
- "GITHUB_APP_ID": {
- "type": "sst.sst.Secret"
- "value": string
+ GITHUB_APP_ID: {
+ type: "sst.sst.Secret"
+ value: string
}
- "GITHUB_APP_PRIVATE_KEY": {
- "type": "sst.sst.Secret"
- "value": string
+ GITHUB_APP_PRIVATE_KEY: {
+ type: "sst.sst.Secret"
+ value: string
}
- "GITHUB_CLIENT_ID_CONSOLE": {
- "type": "sst.sst.Secret"
- "value": string
+ GITHUB_CLIENT_ID_CONSOLE: {
+ type: "sst.sst.Secret"
+ value: string
}
- "GITHUB_CLIENT_SECRET_CONSOLE": {
- "type": "sst.sst.Secret"
- "value": string
+ GITHUB_CLIENT_SECRET_CONSOLE: {
+ type: "sst.sst.Secret"
+ value: string
}
- "GOOGLE_CLIENT_ID": {
- "type": "sst.sst.Secret"
- "value": string
+ GOOGLE_CLIENT_ID: {
+ type: "sst.sst.Secret"
+ value: string
}
- "HONEYCOMB_API_KEY": {
- "type": "sst.sst.Secret"
- "value": string
+ HONEYCOMB_API_KEY: {
+ type: "sst.sst.Secret"
+ value: string
}
- "OPENAI_API_KEY": {
- "type": "sst.sst.Secret"
- "value": string
+ OPENAI_API_KEY: {
+ type: "sst.sst.Secret"
+ value: string
}
- "STRIPE_SECRET_KEY": {
- "type": "sst.sst.Secret"
- "value": string
+ STRIPE_SECRET_KEY: {
+ type: "sst.sst.Secret"
+ value: string
}
- "STRIPE_WEBHOOK_SECRET": {
- "type": "sst.sst.Linkable"
- "value": string
+ STRIPE_WEBHOOK_SECRET: {
+ type: "sst.sst.Linkable"
+ value: string
}
- "Web": {
- "type": "sst.cloudflare.Astro"
- "url": string
+ Web: {
+ type: "sst.cloudflare.Astro"
+ url: string
}
- "XAI_API_KEY": {
- "type": "sst.sst.Secret"
- "value": string
+ XAI_API_KEY: {
+ type: "sst.sst.Secret"
+ value: string
}
}
}
-// cloudflare
-import * as cloudflare from "@cloudflare/workers-types";
+// cloudflare
+import * as cloudflare from "@cloudflare/workers-types"
declare module "sst" {
export interface Resource {
- "Api": cloudflare.Service
- "AuthApi": cloudflare.Service
- "AuthStorage": cloudflare.KVNamespace
- "Bucket": cloudflare.R2Bucket
- "LogProcessor": cloudflare.Service
+ Api: cloudflare.Service
+ AuthApi: cloudflare.Service
+ AuthStorage: cloudflare.KVNamespace
+ Bucket: cloudflare.R2Bucket
+ LogProcessor: cloudflare.Service
}
}
import "sst"
-export {}
\ No newline at end of file
+export {}
diff --git a/cloud/resource/sst-env.d.ts b/cloud/resource/sst-env.d.ts
index fd96591b..11bc7ade 100644
--- a/cloud/resource/sst-env.d.ts
+++ b/cloud/resource/sst-env.d.ts
@@ -6,87 +6,87 @@
import "sst"
declare module "sst" {
export interface Resource {
- "ANTHROPIC_API_KEY": {
- "type": "sst.sst.Secret"
- "value": string
+ ANTHROPIC_API_KEY: {
+ type: "sst.sst.Secret"
+ value: string
}
- "AUTH_API_URL": {
- "type": "sst.sst.Linkable"
- "value": string
+ AUTH_API_URL: {
+ type: "sst.sst.Linkable"
+ value: string
}
- "BASETEN_API_KEY": {
- "type": "sst.sst.Secret"
- "value": string
+ BASETEN_API_KEY: {
+ type: "sst.sst.Secret"
+ value: string
}
- "Console": {
- "type": "sst.cloudflare.SolidStart"
- "url": string
+ Console: {
+ type: "sst.cloudflare.SolidStart"
+ url: string
}
- "Database": {
- "database": string
- "host": string
- "password": string
- "port": number
- "type": "sst.sst.Linkable"
- "username": string
+ Database: {
+ database: string
+ host: string
+ password: string
+ port: number
+ type: "sst.sst.Linkable"
+ username: string
}
- "GITHUB_APP_ID": {
- "type": "sst.sst.Secret"
- "value": string
+ GITHUB_APP_ID: {
+ type: "sst.sst.Secret"
+ value: string
}
- "GITHUB_APP_PRIVATE_KEY": {
- "type": "sst.sst.Secret"
- "value": string
+ GITHUB_APP_PRIVATE_KEY: {
+ type: "sst.sst.Secret"
+ value: string
}
- "GITHUB_CLIENT_ID_CONSOLE": {
- "type": "sst.sst.Secret"
- "value": string
+ GITHUB_CLIENT_ID_CONSOLE: {
+ type: "sst.sst.Secret"
+ value: string
}
- "GITHUB_CLIENT_SECRET_CONSOLE": {
- "type": "sst.sst.Secret"
- "value": string
+ GITHUB_CLIENT_SECRET_CONSOLE: {
+ type: "sst.sst.Secret"
+ value: string
}
- "GOOGLE_CLIENT_ID": {
- "type": "sst.sst.Secret"
- "value": string
+ GOOGLE_CLIENT_ID: {
+ type: "sst.sst.Secret"
+ value: string
}
- "HONEYCOMB_API_KEY": {
- "type": "sst.sst.Secret"
- "value": string
+ HONEYCOMB_API_KEY: {
+ type: "sst.sst.Secret"
+ value: string
}
- "OPENAI_API_KEY": {
- "type": "sst.sst.Secret"
- "value": string
+ OPENAI_API_KEY: {
+ type: "sst.sst.Secret"
+ value: string
}
- "STRIPE_SECRET_KEY": {
- "type": "sst.sst.Secret"
- "value": string
+ STRIPE_SECRET_KEY: {
+ type: "sst.sst.Secret"
+ value: string
}
- "STRIPE_WEBHOOK_SECRET": {
- "type": "sst.sst.Linkable"
- "value": string
+ STRIPE_WEBHOOK_SECRET: {
+ type: "sst.sst.Linkable"
+ value: string
}
- "Web": {
- "type": "sst.cloudflare.Astro"
- "url": string
+ Web: {
+ type: "sst.cloudflare.Astro"
+ url: string
}
- "XAI_API_KEY": {
- "type": "sst.sst.Secret"
- "value": string
+ XAI_API_KEY: {
+ type: "sst.sst.Secret"
+ value: string
}
}
}
-// cloudflare
-import * as cloudflare from "@cloudflare/workers-types";
+// cloudflare
+import * as cloudflare from "@cloudflare/workers-types"
declare module "sst" {
export interface Resource {
- "Api": cloudflare.Service
- "AuthApi": cloudflare.Service
- "AuthStorage": cloudflare.KVNamespace
- "Bucket": cloudflare.R2Bucket
- "LogProcessor": cloudflare.Service
+ Api: cloudflare.Service
+ AuthApi: cloudflare.Service
+ AuthStorage: cloudflare.KVNamespace
+ Bucket: cloudflare.R2Bucket
+ LogProcessor: cloudflare.Service
}
}
import "sst"
-export {}
\ No newline at end of file
+export {}
diff --git a/cloud/resource/tsconfig.json b/cloud/resource/tsconfig.json
index 829dbad0..0faf16aa 100644
--- a/cloud/resource/tsconfig.json
+++ b/cloud/resource/tsconfig.json
@@ -4,9 +4,6 @@
"compilerOptions": {
"module": "ESNext",
"moduleResolution": "bundler",
- "types": [
- "@cloudflare/workers-types",
- "node"
- ]
+ "types": ["@cloudflare/workers-types", "node"]
}
}
diff --git a/cloud/scripts/sst-env.d.ts b/cloud/scripts/sst-env.d.ts
index b6a7e906..0397645b 100644
--- a/cloud/scripts/sst-env.d.ts
+++ b/cloud/scripts/sst-env.d.ts
@@ -6,4 +6,4 @@
///
import "sst"
-export {}
\ No newline at end of file
+export {}
diff --git a/github/sst-env.d.ts b/github/sst-env.d.ts
index f742a120..6b69016e 100644
--- a/github/sst-env.d.ts
+++ b/github/sst-env.d.ts
@@ -6,4 +6,4 @@
///
import "sst"
-export {}
\ No newline at end of file
+export {}
diff --git a/package.json b/package.json
index 78a0e543..601df599 100644
--- a/package.json
+++ b/package.json
@@ -6,6 +6,7 @@
"packageManager": "bun@1.2.19",
"scripts": {
"dev": "bun run --conditions=development packages/opencode/src/index.ts",
+ "format": "bun run prettier --ignore-unknown --write $(git ls-files)",
"typecheck": "bun run --filter='*' typecheck",
"generate": "(cd packages/sdk && ./js/script/generate.ts) && (cd packages/sdk/stainless && ./generate.ts)",
"postinstall": "./script/hooks"
diff --git a/packages/function/sst-env.d.ts b/packages/function/sst-env.d.ts
index fd96591b..11bc7ade 100644
--- a/packages/function/sst-env.d.ts
+++ b/packages/function/sst-env.d.ts
@@ -6,87 +6,87 @@
import "sst"
declare module "sst" {
export interface Resource {
- "ANTHROPIC_API_KEY": {
- "type": "sst.sst.Secret"
- "value": string
+ ANTHROPIC_API_KEY: {
+ type: "sst.sst.Secret"
+ value: string
}
- "AUTH_API_URL": {
- "type": "sst.sst.Linkable"
- "value": string
+ AUTH_API_URL: {
+ type: "sst.sst.Linkable"
+ value: string
}
- "BASETEN_API_KEY": {
- "type": "sst.sst.Secret"
- "value": string
+ BASETEN_API_KEY: {
+ type: "sst.sst.Secret"
+ value: string
}
- "Console": {
- "type": "sst.cloudflare.SolidStart"
- "url": string
+ Console: {
+ type: "sst.cloudflare.SolidStart"
+ url: string
}
- "Database": {
- "database": string
- "host": string
- "password": string
- "port": number
- "type": "sst.sst.Linkable"
- "username": string
+ Database: {
+ database: string
+ host: string
+ password: string
+ port: number
+ type: "sst.sst.Linkable"
+ username: string
}
- "GITHUB_APP_ID": {
- "type": "sst.sst.Secret"
- "value": string
+ GITHUB_APP_ID: {
+ type: "sst.sst.Secret"
+ value: string
}
- "GITHUB_APP_PRIVATE_KEY": {
- "type": "sst.sst.Secret"
- "value": string
+ GITHUB_APP_PRIVATE_KEY: {
+ type: "sst.sst.Secret"
+ value: string
}
- "GITHUB_CLIENT_ID_CONSOLE": {
- "type": "sst.sst.Secret"
- "value": string
+ GITHUB_CLIENT_ID_CONSOLE: {
+ type: "sst.sst.Secret"
+ value: string
}
- "GITHUB_CLIENT_SECRET_CONSOLE": {
- "type": "sst.sst.Secret"
- "value": string
+ GITHUB_CLIENT_SECRET_CONSOLE: {
+ type: "sst.sst.Secret"
+ value: string
}
- "GOOGLE_CLIENT_ID": {
- "type": "sst.sst.Secret"
- "value": string
+ GOOGLE_CLIENT_ID: {
+ type: "sst.sst.Secret"
+ value: string
}
- "HONEYCOMB_API_KEY": {
- "type": "sst.sst.Secret"
- "value": string
+ HONEYCOMB_API_KEY: {
+ type: "sst.sst.Secret"
+ value: string
}
- "OPENAI_API_KEY": {
- "type": "sst.sst.Secret"
- "value": string
+ OPENAI_API_KEY: {
+ type: "sst.sst.Secret"
+ value: string
}
- "STRIPE_SECRET_KEY": {
- "type": "sst.sst.Secret"
- "value": string
+ STRIPE_SECRET_KEY: {
+ type: "sst.sst.Secret"
+ value: string
}
- "STRIPE_WEBHOOK_SECRET": {
- "type": "sst.sst.Linkable"
- "value": string
+ STRIPE_WEBHOOK_SECRET: {
+ type: "sst.sst.Linkable"
+ value: string
}
- "Web": {
- "type": "sst.cloudflare.Astro"
- "url": string
+ Web: {
+ type: "sst.cloudflare.Astro"
+ url: string
}
- "XAI_API_KEY": {
- "type": "sst.sst.Secret"
- "value": string
+ XAI_API_KEY: {
+ type: "sst.sst.Secret"
+ value: string
}
}
}
-// cloudflare
-import * as cloudflare from "@cloudflare/workers-types";
+// cloudflare
+import * as cloudflare from "@cloudflare/workers-types"
declare module "sst" {
export interface Resource {
- "Api": cloudflare.Service
- "AuthApi": cloudflare.Service
- "AuthStorage": cloudflare.KVNamespace
- "Bucket": cloudflare.R2Bucket
- "LogProcessor": cloudflare.Service
+ Api: cloudflare.Service
+ AuthApi: cloudflare.Service
+ AuthStorage: cloudflare.KVNamespace
+ Bucket: cloudflare.R2Bucket
+ LogProcessor: cloudflare.Service
}
}
import "sst"
-export {}
\ No newline at end of file
+export {}
diff --git a/packages/opencode/src/file/fzf.ts b/packages/opencode/src/file/fzf.ts
index 7a481b0f..3b732027 100644
--- a/packages/opencode/src/file/fzf.ts
+++ b/packages/opencode/src/file/fzf.ts
@@ -46,10 +46,7 @@ export namespace Fzf {
log.info("found", { filepath })
return { filepath }
}
- filepath = path.join(
- Global.Path.bin,
- "fzf" + (process.platform === "win32" ? ".exe" : ""),
- )
+ filepath = path.join(Global.Path.bin, "fzf" + (process.platform === "win32" ? ".exe" : ""))
const file = Bun.file(filepath)
if (!(await file.exists())) {
@@ -57,18 +54,15 @@ export namespace Fzf {
const arch = archMap[process.arch as keyof typeof archMap] ?? "amd64"
const config = PLATFORM[process.platform as keyof typeof PLATFORM]
- if (!config)
- throw new UnsupportedPlatformError({ platform: process.platform })
+ if (!config) throw new UnsupportedPlatformError({ platform: process.platform })
const version = VERSION
- const platformName =
- process.platform === "win32" ? "windows" : process.platform
+ const platformName = process.platform === "win32" ? "windows" : process.platform
const filename = `fzf-${version}-${platformName}_${arch}.${config.extension}`
const url = `https://github.com/junegunn/fzf/releases/download/v${version}/${filename}`
const response = await fetch(url)
- if (!response.ok)
- throw new DownloadFailedError({ url, status: response.status })
+ if (!response.ok) throw new DownloadFailedError({ url, status: response.status })
const buffer = await response.arrayBuffer()
const archivePath = path.join(Global.Path.bin, filename)
@@ -87,13 +81,13 @@ export namespace Fzf {
})
}
if (config.extension === "zip") {
- const zipFileReader = new ZipReader(new BlobReader(new Blob([await Bun.file(archivePath).arrayBuffer()])));
- const entries = await zipFileReader.getEntries();
- let fzfEntry: any;
+ const zipFileReader = new ZipReader(new BlobReader(new Blob([await Bun.file(archivePath).arrayBuffer()])))
+ const entries = await zipFileReader.getEntries()
+ let fzfEntry: any
for (const entry of entries) {
if (entry.filename === "fzf.exe") {
- fzfEntry = entry;
- break;
+ fzfEntry = entry
+ break
}
}
@@ -101,18 +95,18 @@ export namespace Fzf {
throw new ExtractionFailedError({
filepath: archivePath,
stderr: "fzf.exe not found in zip archive",
- });
+ })
}
- const fzfBlob = await fzfEntry.getData(new BlobWriter());
+ const fzfBlob = await fzfEntry.getData(new BlobWriter())
if (!fzfBlob) {
throw new ExtractionFailedError({
filepath: archivePath,
stderr: "Failed to extract fzf.exe from zip archive",
- });
+ })
}
- await Bun.write(filepath, await fzfBlob.arrayBuffer());
- await zipFileReader.close();
+ await Bun.write(filepath, await fzfBlob.arrayBuffer())
+ await zipFileReader.close()
}
await fs.unlink(archivePath)
if (process.platform !== "win32") await fs.chmod(filepath, 0o755)
@@ -127,4 +121,4 @@ export namespace Fzf {
const { filepath } = await state()
return filepath
}
-}
\ No newline at end of file
+}
diff --git a/packages/opencode/src/file/time.ts b/packages/opencode/src/file/time.ts
index ab973bd3..5cba5e82 100644
--- a/packages/opencode/src/file/time.ts
+++ b/packages/opencode/src/file/time.ts
@@ -3,18 +3,16 @@ import { Log } from "../util/log"
export namespace FileTime {
const log = Log.create({ service: "file.time" })
- export const state = Instance.state(
- () => {
- const read: {
- [sessionID: string]: {
- [path: string]: Date | undefined
- }
- } = {}
- return {
- read,
+ export const state = Instance.state(() => {
+ const read: {
+ [sessionID: string]: {
+ [path: string]: Date | undefined
}
- },
- )
+ } = {}
+ return {
+ read,
+ }
+ })
export function read(sessionID: string, file: string) {
log.info("read", { sessionID, file })
diff --git a/packages/opencode/src/plugin/index.ts b/packages/opencode/src/plugin/index.ts
index 0f0689b5..71be1cd4 100644
--- a/packages/opencode/src/plugin/index.ts
+++ b/packages/opencode/src/plugin/index.ts
@@ -25,8 +25,8 @@ export namespace Plugin {
worktree: Instance.worktree,
directory: Instance.directory,
$: Bun.$,
- Tool: await import("../tool/tool").then(m => m.Tool),
- z: await import("zod").then(m => m.z),
+ Tool: await import("../tool/tool").then((m) => m.Tool),
+ z: await import("zod").then((m) => m.z),
}
const plugins = [...(config.plugin ?? [])]
if (!Flag.OPENCODE_DISABLE_DEFAULT_PLUGINS) {
@@ -79,10 +79,13 @@ export namespace Plugin {
for (const hook of hooks) {
await hook.config?.(config)
// Let plugins register tools at startup
- await hook["tool.register"]?.({}, {
- registerHTTP: ToolRegistry.registerHTTP,
- register: ToolRegistry.register
- })
+ await hook["tool.register"]?.(
+ {},
+ {
+ registerHTTP: ToolRegistry.registerHTTP,
+ register: ToolRegistry.register,
+ },
+ )
}
Bus.subscribeAll(async (input) => {
const hooks = await state().then((x) => x.hooks)
diff --git a/packages/opencode/src/tool/edit.ts b/packages/opencode/src/tool/edit.ts
index f4fd87fe..64a0ea16 100644
--- a/packages/opencode/src/tool/edit.ts
+++ b/packages/opencode/src/tool/edit.ts
@@ -623,5 +623,7 @@ export function replace(content: string, oldString: string, newString: string, r
if (notFound) {
throw new Error("oldString not found in content")
}
- throw new Error("oldString found multiple times and requires more code context to uniquely identify the intended match")
+ throw new Error(
+ "oldString found multiple times and requires more code context to uniquely identify the intended match",
+ )
}
diff --git a/packages/opencode/src/tool/registry.ts b/packages/opencode/src/tool/registry.ts
index f1211bf9..f4ca584c 100644
--- a/packages/opencode/src/tool/registry.ts
+++ b/packages/opencode/src/tool/registry.ts
@@ -71,9 +71,7 @@ export namespace ToolRegistry {
break
case "array":
if (!val.items) throw new Error(`array spec for ${key} requires 'items'`)
- base = z.array(
- val.items === "string" ? z.string() : val.items === "number" ? z.number() : z.boolean(),
- )
+ base = z.array(val.items === "string" ? z.string() : val.items === "number" ? z.number() : z.boolean())
break
default:
base = z.any()
diff --git a/packages/opencode/src/tool/todo.ts b/packages/opencode/src/tool/todo.ts
index abc720f0..96404458 100644
--- a/packages/opencode/src/tool/todo.ts
+++ b/packages/opencode/src/tool/todo.ts
@@ -11,14 +11,12 @@ const TodoInfo = z.object({
})
type TodoInfo = z.infer
-const state = Instance.state(
- () => {
- const todos: {
- [sessionId: string]: TodoInfo[]
- } = {}
- return todos
- },
-)
+const state = Instance.state(() => {
+ const todos: {
+ [sessionId: string]: TodoInfo[]
+ } = {}
+ return todos
+})
export const TodoWriteTool = Tool.define("todowrite", {
description: DESCRIPTION_WRITE,
diff --git a/packages/opencode/sst-env.d.ts b/packages/opencode/sst-env.d.ts
index b6a7e906..0397645b 100644
--- a/packages/opencode/sst-env.d.ts
+++ b/packages/opencode/sst-env.d.ts
@@ -6,4 +6,4 @@
///
import "sst"
-export {}
\ No newline at end of file
+export {}
diff --git a/packages/opencode/test/bun.test.ts b/packages/opencode/test/bun.test.ts
index 18f0db6b..d607ae47 100644
--- a/packages/opencode/test/bun.test.ts
+++ b/packages/opencode/test/bun.test.ts
@@ -7,7 +7,7 @@ describe("BunProc registry configuration", () => {
// Read the bun/index.ts file
const bunIndexPath = path.join(__dirname, "../src/bun/index.ts")
const content = await fs.readFile(bunIndexPath, "utf-8")
-
+
// Verify that no hardcoded registry is present
expect(content).not.toContain("--registry=")
expect(content).not.toContain("hasNpmRcConfig")
@@ -18,7 +18,7 @@ describe("BunProc registry configuration", () => {
// Read the bun/index.ts file
const bunIndexPath = path.join(__dirname, "../src/bun/index.ts")
const content = await fs.readFile(bunIndexPath, "utf-8")
-
+
// Verify that it uses Bun's default resolution
expect(content).toContain("Bun's default registry resolution")
expect(content).toContain("Bun will use them automatically")
@@ -29,22 +29,22 @@ describe("BunProc registry configuration", () => {
// Read the bun/index.ts file
const bunIndexPath = path.join(__dirname, "../src/bun/index.ts")
const content = await fs.readFile(bunIndexPath, "utf-8")
-
+
// Extract the install function
const installFunctionMatch = content.match(/export async function install[\s\S]*?^ }/m)
expect(installFunctionMatch).toBeTruthy()
-
+
if (installFunctionMatch) {
const installFunction = installFunctionMatch[0]
-
+
// Verify expected arguments are present
expect(installFunction).toContain('"add"')
expect(installFunction).toContain('"--force"')
expect(installFunction).toContain('"--exact"')
expect(installFunction).toContain('"--cwd"')
- expect(installFunction).toContain('Global.Path.cache')
+ expect(installFunction).toContain("Global.Path.cache")
expect(installFunction).toContain('pkg + "@" + version')
-
+
// Verify no registry argument is added
expect(installFunction).not.toContain('"--registry"')
expect(installFunction).not.toContain('args.push("--registry')
diff --git a/packages/opencode/tsconfig.json b/packages/opencode/tsconfig.json
index 605c8566..a6d7592d 100644
--- a/packages/opencode/tsconfig.json
+++ b/packages/opencode/tsconfig.json
@@ -2,13 +2,7 @@
"$schema": "https://json.schemastore.org/tsconfig",
"extends": "@tsconfig/bun/tsconfig.json",
"compilerOptions": {
- "lib": [
- "ESNext",
- "DOM",
- "DOM.Iterable"
- ],
- "customConditions": [
- "development"
- ]
+ "lib": ["ESNext", "DOM", "DOM.Iterable"],
+ "customConditions": ["development"]
}
}
diff --git a/packages/plugin/src/index.ts b/packages/plugin/src/index.ts
index fca176f5..f8b6d46f 100644
--- a/packages/plugin/src/index.ts
+++ b/packages/plugin/src/index.ts
@@ -19,10 +19,7 @@ export type PluginInput = {
worktree: string
$: BunShell
Tool: {
- define(
- id: string,
- init: any | (() => Promise)
- ): any
+ define(id: string, init: any | (() => Promise)): any
}
z: any // Zod instance for creating schemas
}
@@ -133,7 +130,7 @@ export interface Hooks {
input: {},
output: {
registerHTTP: (tool: HttpToolRegistration) => void | Promise
- register: (tool: any) => void | Promise // Tool.Info type from opencode
+ register: (tool: any) => void | Promise // Tool.Info type from opencode
},
) => Promise
}
diff --git a/packages/plugin/sst-env.d.ts b/packages/plugin/sst-env.d.ts
index b6a7e906..0397645b 100644
--- a/packages/plugin/sst-env.d.ts
+++ b/packages/plugin/sst-env.d.ts
@@ -6,4 +6,4 @@
///
import "sst"
-export {}
\ No newline at end of file
+export {}
diff --git a/packages/plugin/tsconfig.json b/packages/plugin/tsconfig.json
index 51951940..e86e08fd 100644
--- a/packages/plugin/tsconfig.json
+++ b/packages/plugin/tsconfig.json
@@ -6,16 +6,8 @@
"module": "preserve",
"declaration": true,
"moduleResolution": "bundler",
- "lib": [
- "es2022",
- "dom",
- "dom.iterable"
- ],
- "customConditions": [
- "development"
- ]
+ "lib": ["es2022", "dom", "dom.iterable"],
+ "customConditions": ["development"]
},
- "include": [
- "src"
- ]
+ "include": ["src"]
}
diff --git a/packages/sdk/go/.github/workflows/ci.yml b/packages/sdk/go/.github/workflows/ci.yml
index 4bf1e907..0f5d45dc 100644
--- a/packages/sdk/go/.github/workflows/ci.yml
+++ b/packages/sdk/go/.github/workflows/ci.yml
@@ -2,15 +2,15 @@ name: CI
on:
push:
branches-ignore:
- - 'generated'
- - 'codegen/**'
- - 'integrated/**'
- - 'stl-preview-head/**'
- - 'stl-preview-base/**'
+ - "generated"
+ - "codegen/**"
+ - "integrated/**"
+ - "stl-preview-head/**"
+ - "stl-preview-base/**"
pull_request:
branches-ignore:
- - 'stl-preview-head/**'
- - 'stl-preview-base/**'
+ - "stl-preview-head/**"
+ - "stl-preview-base/**"
jobs:
lint:
diff --git a/packages/sdk/go/.release-please-manifest.json b/packages/sdk/go/.release-please-manifest.json
index 6538ca91..64f3cdd6 100644
--- a/packages/sdk/go/.release-please-manifest.json
+++ b/packages/sdk/go/.release-please-manifest.json
@@ -1,3 +1,3 @@
{
".": "0.8.0"
-}
\ No newline at end of file
+}
diff --git a/packages/sdk/go/CHANGELOG.md b/packages/sdk/go/CHANGELOG.md
index 014933da..c0ea4a07 100644
--- a/packages/sdk/go/CHANGELOG.md
+++ b/packages/sdk/go/CHANGELOG.md
@@ -6,7 +6,7 @@ Full Changelog: [v0.7.0...v0.8.0](https://github.com/sst/opencode-sdk-go/compare
### Features
-* **api:** api update ([ae87a71](https://github.com/sst/opencode-sdk-go/commit/ae87a71949994590ace8285a39f0991ef34b664d))
+- **api:** api update ([ae87a71](https://github.com/sst/opencode-sdk-go/commit/ae87a71949994590ace8285a39f0991ef34b664d))
## 0.7.0 (2025-09-01)
@@ -14,7 +14,7 @@ Full Changelog: [v0.6.0...v0.7.0](https://github.com/sst/opencode-sdk-go/compare
### Features
-* **api:** api update ([64bb1b1](https://github.com/sst/opencode-sdk-go/commit/64bb1b1ee0cbe153abc6fb7bd9703b47911724d4))
+- **api:** api update ([64bb1b1](https://github.com/sst/opencode-sdk-go/commit/64bb1b1ee0cbe153abc6fb7bd9703b47911724d4))
## 0.6.0 (2025-09-01)
@@ -22,7 +22,7 @@ Full Changelog: [v0.5.0...v0.6.0](https://github.com/sst/opencode-sdk-go/compare
### Features
-* **api:** api update ([928e384](https://github.com/sst/opencode-sdk-go/commit/928e3843355f96899f046f002b84372281dad0c8))
+- **api:** api update ([928e384](https://github.com/sst/opencode-sdk-go/commit/928e3843355f96899f046f002b84372281dad0c8))
## 0.5.0 (2025-08-31)
@@ -30,7 +30,7 @@ Full Changelog: [v0.4.0...v0.5.0](https://github.com/sst/opencode-sdk-go/compare
### Features
-* **api:** api update ([44b281d](https://github.com/sst/opencode-sdk-go/commit/44b281d0bb39c5022a984ac9d0fca1529ccc0604))
+- **api:** api update ([44b281d](https://github.com/sst/opencode-sdk-go/commit/44b281d0bb39c5022a984ac9d0fca1529ccc0604))
## 0.4.0 (2025-08-31)
@@ -38,7 +38,7 @@ Full Changelog: [v0.3.0...v0.4.0](https://github.com/sst/opencode-sdk-go/compare
### Features
-* **api:** api update ([fa9d6ec](https://github.com/sst/opencode-sdk-go/commit/fa9d6ec6472e62f4f6605d0a71a7aa8bf8a24559))
+- **api:** api update ([fa9d6ec](https://github.com/sst/opencode-sdk-go/commit/fa9d6ec6472e62f4f6605d0a71a7aa8bf8a24559))
## 0.3.0 (2025-08-31)
@@ -46,7 +46,7 @@ Full Changelog: [v0.2.0...v0.3.0](https://github.com/sst/opencode-sdk-go/compare
### Features
-* **api:** api update ([aae1c06](https://github.com/sst/opencode-sdk-go/commit/aae1c06bb5a93a1cd9c589846a84b3f16246f5da))
+- **api:** api update ([aae1c06](https://github.com/sst/opencode-sdk-go/commit/aae1c06bb5a93a1cd9c589846a84b3f16246f5da))
## 0.2.0 (2025-08-31)
@@ -54,7 +54,7 @@ Full Changelog: [v0.1.0...v0.2.0](https://github.com/sst/opencode-sdk-go/compare
### Features
-* **api:** api update ([1472790](https://github.com/sst/opencode-sdk-go/commit/1472790542515f47bd46e2a9e28d8afea024cf9c))
+- **api:** api update ([1472790](https://github.com/sst/opencode-sdk-go/commit/1472790542515f47bd46e2a9e28d8afea024cf9c))
## 0.1.0 (2025-08-31)
@@ -62,61 +62,59 @@ Full Changelog: [v0.0.1...v0.1.0](https://github.com/sst/opencode-sdk-go/compare
### Features
-* **api:** api update ([3f03ddd](https://github.com/sst/opencode-sdk-go/commit/3f03dddd5ec0de98f99ce48679077dcae9ceffd6))
-* **api:** api update ([e9f79c4](https://github.com/sst/opencode-sdk-go/commit/e9f79c4792b21ef64ab0431ffd76f5a71e04d182))
-* **api:** api update ([139a686](https://github.com/sst/opencode-sdk-go/commit/139a6862d2f0ab0c8ea791663d736868be3e96e6))
-* **api:** api update ([2ed0800](https://github.com/sst/opencode-sdk-go/commit/2ed0800b2c5b99877e9f7fde669a6c005fad6b77))
-* **api:** api update ([88a87a4](https://github.com/sst/opencode-sdk-go/commit/88a87a458f56ce0c18b502c73da933f614f56e8b))
-* **api:** api update ([0e5d65b](https://github.com/sst/opencode-sdk-go/commit/0e5d65b571e7b30dc6347e6730098878ebba3a42))
-* **api:** api update ([ba381f1](https://github.com/sst/opencode-sdk-go/commit/ba381f1e07aad24e9824df7d53befae2a644f69f))
-* **api:** api update ([3f429f5](https://github.com/sst/opencode-sdk-go/commit/3f429f5b4be5607433ef5fdc0d5bf67fe590d039))
-* **api:** api update ([9f34787](https://github.com/sst/opencode-sdk-go/commit/9f347876b35b7f898060c1a5f71c322e95978e3e))
-* **api:** api update ([379c8e0](https://github.com/sst/opencode-sdk-go/commit/379c8e00197e13aebaf2f2d61277b125f1f90011))
-* **api:** api update ([550511c](https://github.com/sst/opencode-sdk-go/commit/550511c4c5b5055ac8ff22b7b11731331bd9d088))
-* **api:** api update ([547f0c2](https://github.com/sst/opencode-sdk-go/commit/547f0c262f2df1ce83eaa7267d68be64bb29b841))
-* **api:** api update ([b7b0720](https://github.com/sst/opencode-sdk-go/commit/b7b07204bff314da24b1819c128835a43ef64065))
-* **api:** api update ([7250ffc](https://github.com/sst/opencode-sdk-go/commit/7250ffcba262b916c958ddecc2a42927982db39f))
-* **api:** api update ([17fbab7](https://github.com/sst/opencode-sdk-go/commit/17fbab73111a3eae488737c69b12370bc69c65f7))
-* **api:** api update ([1270b5c](https://github.com/sst/opencode-sdk-go/commit/1270b5cd81e6ac769dcd92ade6d877891bf51bd5))
-* **api:** api update ([a238d4a](https://github.com/sst/opencode-sdk-go/commit/a238d4abd6ed7d15f3547d27a4b6ecf4aec8431e))
-* **api:** api update ([7475655](https://github.com/sst/opencode-sdk-go/commit/7475655aca577fe4f807c2f02f92171f6a358e9c))
-* **api:** api update ([429d258](https://github.com/sst/opencode-sdk-go/commit/429d258bb56e9cdeb1528be3944bf5537ac26a96))
-* **api:** api update ([f250915](https://github.com/sst/opencode-sdk-go/commit/f2509157eaf1b453e741ee9482127cad2e3ace25))
-* **api:** api update ([5efc987](https://github.com/sst/opencode-sdk-go/commit/5efc987353801d1e772c20edf162b1c75da32743))
-* **api:** api update ([98a8350](https://github.com/sst/opencode-sdk-go/commit/98a83504f7cfc361e83314c3e79a4e9ff53f0560))
-* **api:** api update ([6da8bf8](https://github.com/sst/opencode-sdk-go/commit/6da8bf8bfe91d45991fb580753d77c5534fc0b1b))
-* **api:** api update ([f8c7148](https://github.com/sst/opencode-sdk-go/commit/f8c7148ae56143823186e2675a78e82676154956))
-* **api:** manual updates ([7cf038f](https://github.com/sst/opencode-sdk-go/commit/7cf038ffae5da1b77e1cef11b5fa166a53b467f2))
-* **api:** update via SDK Studio ([068a0eb](https://github.com/sst/opencode-sdk-go/commit/068a0eb025010da0c8d86fa1bb496a39dbedcef9))
-* **api:** update via SDK Studio ([ca651ed](https://github.com/sst/opencode-sdk-go/commit/ca651edaf71d1f3678f929287474f5bc4f1aad10))
-* **api:** update via SDK Studio ([13550a5](https://github.com/sst/opencode-sdk-go/commit/13550a5c65d77325e945ed99fe0799cd1107b775))
-* **api:** update via SDK Studio ([7b73730](https://github.com/sst/opencode-sdk-go/commit/7b73730c7fa62ba966dda3541c3e97b49be8d2bf))
-* **api:** update via SDK Studio ([9e39a59](https://github.com/sst/opencode-sdk-go/commit/9e39a59b3d5d1bd5e64633732521fb28362cc70e))
-* **api:** update via SDK Studio ([9609d1b](https://github.com/sst/opencode-sdk-go/commit/9609d1b1db7806d00cb846c9914cb4935cdedf52))
-* **api:** update via SDK Studio ([51315fa](https://github.com/sst/opencode-sdk-go/commit/51315fa2eae424743ea79701e67d44447c44144d))
-* **api:** update via SDK Studio ([af07955](https://github.com/sst/opencode-sdk-go/commit/af0795543240aefaf04fc7663a348825541c79ed))
-* **api:** update via SDK Studio ([5e3468a](https://github.com/sst/opencode-sdk-go/commit/5e3468a0aaa5ed3b13e019c3a24e0ba9147d1675))
-* **api:** update via SDK Studio ([0a73e04](https://github.com/sst/opencode-sdk-go/commit/0a73e04c23c90b2061611edaa8fd6282dc0ce397))
-* **api:** update via SDK Studio ([9b7883a](https://github.com/sst/opencode-sdk-go/commit/9b7883a144eeac526d9d04538e0876a9d18bb844))
-* **client:** expand max streaming buffer size ([76303e5](https://github.com/sst/opencode-sdk-go/commit/76303e51067e78e732af26ced9d83b8bad7655c3))
-* **client:** support optional json html escaping ([449748f](https://github.com/sst/opencode-sdk-go/commit/449748f35a1d8cb6f91dc36d25bf9489f4f371bd))
-
+- **api:** api update ([3f03ddd](https://github.com/sst/opencode-sdk-go/commit/3f03dddd5ec0de98f99ce48679077dcae9ceffd6))
+- **api:** api update ([e9f79c4](https://github.com/sst/opencode-sdk-go/commit/e9f79c4792b21ef64ab0431ffd76f5a71e04d182))
+- **api:** api update ([139a686](https://github.com/sst/opencode-sdk-go/commit/139a6862d2f0ab0c8ea791663d736868be3e96e6))
+- **api:** api update ([2ed0800](https://github.com/sst/opencode-sdk-go/commit/2ed0800b2c5b99877e9f7fde669a6c005fad6b77))
+- **api:** api update ([88a87a4](https://github.com/sst/opencode-sdk-go/commit/88a87a458f56ce0c18b502c73da933f614f56e8b))
+- **api:** api update ([0e5d65b](https://github.com/sst/opencode-sdk-go/commit/0e5d65b571e7b30dc6347e6730098878ebba3a42))
+- **api:** api update ([ba381f1](https://github.com/sst/opencode-sdk-go/commit/ba381f1e07aad24e9824df7d53befae2a644f69f))
+- **api:** api update ([3f429f5](https://github.com/sst/opencode-sdk-go/commit/3f429f5b4be5607433ef5fdc0d5bf67fe590d039))
+- **api:** api update ([9f34787](https://github.com/sst/opencode-sdk-go/commit/9f347876b35b7f898060c1a5f71c322e95978e3e))
+- **api:** api update ([379c8e0](https://github.com/sst/opencode-sdk-go/commit/379c8e00197e13aebaf2f2d61277b125f1f90011))
+- **api:** api update ([550511c](https://github.com/sst/opencode-sdk-go/commit/550511c4c5b5055ac8ff22b7b11731331bd9d088))
+- **api:** api update ([547f0c2](https://github.com/sst/opencode-sdk-go/commit/547f0c262f2df1ce83eaa7267d68be64bb29b841))
+- **api:** api update ([b7b0720](https://github.com/sst/opencode-sdk-go/commit/b7b07204bff314da24b1819c128835a43ef64065))
+- **api:** api update ([7250ffc](https://github.com/sst/opencode-sdk-go/commit/7250ffcba262b916c958ddecc2a42927982db39f))
+- **api:** api update ([17fbab7](https://github.com/sst/opencode-sdk-go/commit/17fbab73111a3eae488737c69b12370bc69c65f7))
+- **api:** api update ([1270b5c](https://github.com/sst/opencode-sdk-go/commit/1270b5cd81e6ac769dcd92ade6d877891bf51bd5))
+- **api:** api update ([a238d4a](https://github.com/sst/opencode-sdk-go/commit/a238d4abd6ed7d15f3547d27a4b6ecf4aec8431e))
+- **api:** api update ([7475655](https://github.com/sst/opencode-sdk-go/commit/7475655aca577fe4f807c2f02f92171f6a358e9c))
+- **api:** api update ([429d258](https://github.com/sst/opencode-sdk-go/commit/429d258bb56e9cdeb1528be3944bf5537ac26a96))
+- **api:** api update ([f250915](https://github.com/sst/opencode-sdk-go/commit/f2509157eaf1b453e741ee9482127cad2e3ace25))
+- **api:** api update ([5efc987](https://github.com/sst/opencode-sdk-go/commit/5efc987353801d1e772c20edf162b1c75da32743))
+- **api:** api update ([98a8350](https://github.com/sst/opencode-sdk-go/commit/98a83504f7cfc361e83314c3e79a4e9ff53f0560))
+- **api:** api update ([6da8bf8](https://github.com/sst/opencode-sdk-go/commit/6da8bf8bfe91d45991fb580753d77c5534fc0b1b))
+- **api:** api update ([f8c7148](https://github.com/sst/opencode-sdk-go/commit/f8c7148ae56143823186e2675a78e82676154956))
+- **api:** manual updates ([7cf038f](https://github.com/sst/opencode-sdk-go/commit/7cf038ffae5da1b77e1cef11b5fa166a53b467f2))
+- **api:** update via SDK Studio ([068a0eb](https://github.com/sst/opencode-sdk-go/commit/068a0eb025010da0c8d86fa1bb496a39dbedcef9))
+- **api:** update via SDK Studio ([ca651ed](https://github.com/sst/opencode-sdk-go/commit/ca651edaf71d1f3678f929287474f5bc4f1aad10))
+- **api:** update via SDK Studio ([13550a5](https://github.com/sst/opencode-sdk-go/commit/13550a5c65d77325e945ed99fe0799cd1107b775))
+- **api:** update via SDK Studio ([7b73730](https://github.com/sst/opencode-sdk-go/commit/7b73730c7fa62ba966dda3541c3e97b49be8d2bf))
+- **api:** update via SDK Studio ([9e39a59](https://github.com/sst/opencode-sdk-go/commit/9e39a59b3d5d1bd5e64633732521fb28362cc70e))
+- **api:** update via SDK Studio ([9609d1b](https://github.com/sst/opencode-sdk-go/commit/9609d1b1db7806d00cb846c9914cb4935cdedf52))
+- **api:** update via SDK Studio ([51315fa](https://github.com/sst/opencode-sdk-go/commit/51315fa2eae424743ea79701e67d44447c44144d))
+- **api:** update via SDK Studio ([af07955](https://github.com/sst/opencode-sdk-go/commit/af0795543240aefaf04fc7663a348825541c79ed))
+- **api:** update via SDK Studio ([5e3468a](https://github.com/sst/opencode-sdk-go/commit/5e3468a0aaa5ed3b13e019c3a24e0ba9147d1675))
+- **api:** update via SDK Studio ([0a73e04](https://github.com/sst/opencode-sdk-go/commit/0a73e04c23c90b2061611edaa8fd6282dc0ce397))
+- **api:** update via SDK Studio ([9b7883a](https://github.com/sst/opencode-sdk-go/commit/9b7883a144eeac526d9d04538e0876a9d18bb844))
+- **client:** expand max streaming buffer size ([76303e5](https://github.com/sst/opencode-sdk-go/commit/76303e51067e78e732af26ced9d83b8bad7655c3))
+- **client:** support optional json html escaping ([449748f](https://github.com/sst/opencode-sdk-go/commit/449748f35a1d8cb6f91dc36d25bf9489f4f371bd))
### Bug Fixes
-* **client:** process custom base url ahead of time ([9b360d6](https://github.com/sst/opencode-sdk-go/commit/9b360d642cf6f302104308af5622e17099899e5f))
-* **client:** resolve lint errors in streaming tests ([4d36cb0](https://github.com/sst/opencode-sdk-go/commit/4d36cb09fc9d436734d5dab1c499acaa88568ff7))
-* close body before retrying ([4da3f7f](https://github.com/sst/opencode-sdk-go/commit/4da3f7f372bad222a189ba3eabcfde3373166ae5))
-* don't try to deserialize as json when ResponseBodyInto is []byte ([595291f](https://github.com/sst/opencode-sdk-go/commit/595291f6dba6af472f160b9f8e3d145002f43a4a))
-
+- **client:** process custom base url ahead of time ([9b360d6](https://github.com/sst/opencode-sdk-go/commit/9b360d642cf6f302104308af5622e17099899e5f))
+- **client:** resolve lint errors in streaming tests ([4d36cb0](https://github.com/sst/opencode-sdk-go/commit/4d36cb09fc9d436734d5dab1c499acaa88568ff7))
+- close body before retrying ([4da3f7f](https://github.com/sst/opencode-sdk-go/commit/4da3f7f372bad222a189ba3eabcfde3373166ae5))
+- don't try to deserialize as json when ResponseBodyInto is []byte ([595291f](https://github.com/sst/opencode-sdk-go/commit/595291f6dba6af472f160b9f8e3d145002f43a4a))
### Chores
-* **ci:** only run for pushes and fork pull requests ([bea59b8](https://github.com/sst/opencode-sdk-go/commit/bea59b886800ef555f89c47a9256d6392ed2e53d))
-* **internal:** codegen related update ([6a22ce6](https://github.com/sst/opencode-sdk-go/commit/6a22ce6df155f5003e80b8a75686a9e513a5568a))
-* **internal:** fix lint script for tests ([391c482](https://github.com/sst/opencode-sdk-go/commit/391c482148ed0a77c4ad52807abeb2d540b56797))
-* **internal:** update comment in script ([b7f1c3e](https://github.com/sst/opencode-sdk-go/commit/b7f1c3e16935c71e243004b8f321d661cd8e9474))
-* lint tests ([616796b](https://github.com/sst/opencode-sdk-go/commit/616796b761704bde6be5c6c2428f28c79c7f05ff))
-* lint tests in subpackages ([50c82ff](https://github.com/sst/opencode-sdk-go/commit/50c82ff0757c973834b68adc22566b70f767b611))
-* sync repo ([2f34d5d](https://github.com/sst/opencode-sdk-go/commit/2f34d5d53e56e9cdc3df99be7ee7efc83dd977a3))
-* update @stainless-api/prism-cli to v5.15.0 ([2f24852](https://github.com/sst/opencode-sdk-go/commit/2f2485216d4f4891d1fbfbc23ff8410c2f35152a))
+- **ci:** only run for pushes and fork pull requests ([bea59b8](https://github.com/sst/opencode-sdk-go/commit/bea59b886800ef555f89c47a9256d6392ed2e53d))
+- **internal:** codegen related update ([6a22ce6](https://github.com/sst/opencode-sdk-go/commit/6a22ce6df155f5003e80b8a75686a9e513a5568a))
+- **internal:** fix lint script for tests ([391c482](https://github.com/sst/opencode-sdk-go/commit/391c482148ed0a77c4ad52807abeb2d540b56797))
+- **internal:** update comment in script ([b7f1c3e](https://github.com/sst/opencode-sdk-go/commit/b7f1c3e16935c71e243004b8f321d661cd8e9474))
+- lint tests ([616796b](https://github.com/sst/opencode-sdk-go/commit/616796b761704bde6be5c6c2428f28c79c7f05ff))
+- lint tests in subpackages ([50c82ff](https://github.com/sst/opencode-sdk-go/commit/50c82ff0757c973834b68adc22566b70f767b611))
+- sync repo ([2f34d5d](https://github.com/sst/opencode-sdk-go/commit/2f34d5d53e56e9cdc3df99be7ee7efc83dd977a3))
+- update @stainless-api/prism-cli to v5.15.0 ([2f24852](https://github.com/sst/opencode-sdk-go/commit/2f2485216d4f4891d1fbfbc23ff8410c2f35152a))
diff --git a/packages/sdk/go/release-please-config.json b/packages/sdk/go/release-please-config.json
index a38198ec..32960ce2 100644
--- a/packages/sdk/go/release-please-config.json
+++ b/packages/sdk/go/release-please-config.json
@@ -60,8 +60,5 @@
}
],
"release-type": "go",
- "extra-files": [
- "internal/version.go",
- "README.md"
- ]
-}
\ No newline at end of file
+ "extra-files": ["internal/version.go", "README.md"]
+}
diff --git a/packages/sdk/js/script/generate.ts b/packages/sdk/js/script/generate.ts
index ffe0779c..b0310482 100755
--- a/packages/sdk/js/script/generate.ts
+++ b/packages/sdk/js/script/generate.ts
@@ -14,7 +14,7 @@ await createClient({
input: "./openapi.json",
output: {
path: "./src/gen",
- tsConfigPath: path.join(dir, 'tsconfig.json')
+ tsConfigPath: path.join(dir, "tsconfig.json"),
},
plugins: [
{
diff --git a/packages/sdk/js/src/server.ts b/packages/sdk/js/src/server.ts
index 24f716a2..2b1dfd36 100644
--- a/packages/sdk/js/src/server.ts
+++ b/packages/sdk/js/src/server.ts
@@ -105,7 +105,7 @@ export function createOpencodeTui(options?: TuiOptions) {
const proc = spawn(`opencode`, args, {
signal: options?.signal,
- stdio: 'inherit',
+ stdio: "inherit",
env: {
...process.env,
OPENCODE_CONFIG_CONTENT: JSON.stringify(options?.config ?? {}),
diff --git a/packages/sdk/js/sst-env.d.ts b/packages/sdk/js/sst-env.d.ts
index 9b9de732..bd558821 100644
--- a/packages/sdk/js/sst-env.d.ts
+++ b/packages/sdk/js/sst-env.d.ts
@@ -6,4 +6,4 @@
///
import "sst"
-export {}
\ No newline at end of file
+export {}
diff --git a/packages/sdk/js/tsconfig.json b/packages/sdk/js/tsconfig.json
index 6c5919a9..6c531894 100644
--- a/packages/sdk/js/tsconfig.json
+++ b/packages/sdk/js/tsconfig.json
@@ -6,16 +6,8 @@
"module": "nodenext",
"declaration": true,
"moduleResolution": "nodenext",
- "lib": [
- "es2022",
- "dom",
- "dom.iterable"
- ],
- "customConditions": [
- "development"
- ]
+ "lib": ["es2022", "dom", "dom.iterable"],
+ "customConditions": ["development"]
},
- "include": [
- "src"
- ]
+ "include": ["src"]
}
diff --git a/packages/tui/internal/theme/themes/vesper.json b/packages/tui/internal/theme/themes/vesper.json
index b8406f93..cb19ff17 100644
--- a/packages/tui/internal/theme/themes/vesper.json
+++ b/packages/tui/internal/theme/themes/vesper.json
@@ -1,219 +1,218 @@
{
- "$schema": "https://opencode.ai/theme.json",
- "defs": {
- "vesperBg": "#101010",
- "vesperFg": "#FFF",
- "vesperComment": "#8b8b8b94",
- "vesperKeyword": "#A0A0A0",
- "vesperFunction": "#FFC799",
- "vesperString": "#99FFE4",
- "vesperNumber": "#FFC799",
- "vesperError": "#FF8080",
- "vesperWarning": "#FFC799",
- "vesperSuccess": "#99FFE4",
- "vesperMuted": "#A0A0A0"
+ "$schema": "https://opencode.ai/theme.json",
+ "defs": {
+ "vesperBg": "#101010",
+ "vesperFg": "#FFF",
+ "vesperComment": "#8b8b8b94",
+ "vesperKeyword": "#A0A0A0",
+ "vesperFunction": "#FFC799",
+ "vesperString": "#99FFE4",
+ "vesperNumber": "#FFC799",
+ "vesperError": "#FF8080",
+ "vesperWarning": "#FFC799",
+ "vesperSuccess": "#99FFE4",
+ "vesperMuted": "#A0A0A0"
+ },
+ "theme": {
+ "primary": {
+ "dark": "#FFC799",
+ "light": "#FFC799"
},
- "theme": {
- "primary": {
- "dark": "#FFC799",
- "light": "#FFC799"
- },
- "secondary": {
- "dark": "#99FFE4",
- "light": "#99FFE4"
- },
- "accent": {
- "dark": "#FFC799",
- "light": "#FFC799"
- },
- "error": {
- "dark": "vesperError",
- "light": "vesperError"
- },
- "warning": {
- "dark": "vesperWarning",
- "light": "vesperWarning"
- },
- "success": {
- "dark": "vesperSuccess",
- "light": "vesperSuccess"
- },
- "info": {
- "dark": "#FFC799",
- "light": "#FFC799"
- },
- "text": {
- "dark": "vesperFg",
- "light": "vesperBg"
- },
- "textMuted": {
- "dark": "vesperMuted",
- "light": "vesperMuted"
- },
- "background": {
- "dark": "vesperBg",
- "light": "#FFF"
- },
- "backgroundPanel": {
- "dark": "vesperBg",
- "light": "#F0F0F0"
- },
- "backgroundElement": {
- "dark": "vesperBg",
- "light": "#E0E0E0"
- },
- "border": {
- "dark": "#282828",
- "light": "#D0D0D0"
- },
- "borderActive": {
- "dark": "#FFC799",
- "light": "#FFC799"
- },
- "borderSubtle": {
- "dark": "#1C1C1C",
- "light": "#E8E8E8"
- },
- "diffAdded": {
- "dark": "vesperSuccess",
- "light": "vesperSuccess"
- },
- "diffRemoved": {
- "dark": "vesperError",
- "light": "vesperError"
- },
- "diffContext": {
- "dark": "vesperMuted",
- "light": "vesperMuted"
- },
- "diffHunkHeader": {
- "dark": "vesperMuted",
- "light": "vesperMuted"
- },
- "diffHighlightAdded": {
- "dark": "vesperSuccess",
- "light": "vesperSuccess"
- },
- "diffHighlightRemoved": {
- "dark": "vesperError",
- "light": "vesperError"
- },
- "diffAddedBg": {
- "dark": "#0d2818",
- "light": "#e8f5e8"
- },
- "diffRemovedBg": {
- "dark": "#281a1a",
- "light": "#f5e8e8"
- },
- "diffContextBg": {
- "dark": "vesperBg",
- "light": "#F8F8F8"
- },
- "diffLineNumber": {
- "dark": "#505050",
- "light": "#808080"
- },
- "diffAddedLineNumberBg": {
- "dark": "#0d2818",
- "light": "#e8f5e8"
- },
- "diffRemovedLineNumberBg": {
- "dark": "#281a1a",
- "light": "#f5e8e8"
- },
- "markdownText": {
- "dark": "vesperFg",
- "light": "vesperBg"
- },
- "markdownHeading": {
- "dark": "#FFC799",
- "light": "#FFC799"
- },
- "markdownLink": {
- "dark": "#FFC799",
- "light": "#FFC799"
- },
- "markdownLinkText": {
- "dark": "vesperMuted",
- "light": "vesperMuted"
- },
- "markdownCode": {
- "dark": "vesperMuted",
- "light": "vesperMuted"
- },
- "markdownBlockQuote": {
- "dark": "vesperFg",
- "light": "vesperBg"
- },
- "markdownEmph": {
- "dark": "vesperFg",
- "light": "vesperBg"
- },
- "markdownStrong": {
- "dark": "vesperFg",
- "light": "vesperBg"
- },
- "markdownHorizontalRule": {
- "dark": "#65737E",
- "light": "#65737E"
- },
- "markdownListItem": {
- "dark": "vesperFg",
- "light": "vesperBg"
- },
- "markdownListEnumeration": {
- "dark": "vesperFg",
- "light": "vesperBg"
- },
- "markdownImage": {
- "dark": "#FFC799",
- "light": "#FFC799"
- },
- "markdownImageText": {
- "dark": "vesperMuted",
- "light": "vesperMuted"
- },
- "markdownCodeBlock": {
- "dark": "vesperFg",
- "light": "vesperBg"
- },
- "syntaxComment": {
- "dark": "vesperComment",
- "light": "vesperComment"
- },
- "syntaxKeyword": {
- "dark": "vesperKeyword",
- "light": "vesperKeyword"
- },
- "syntaxFunction": {
- "dark": "vesperFunction",
- "light": "vesperFunction"
- },
- "syntaxVariable": {
- "dark": "vesperFg",
- "light": "vesperBg"
- },
- "syntaxString": {
- "dark": "vesperString",
- "light": "vesperString"
- },
- "syntaxNumber": {
- "dark": "vesperNumber",
- "light": "vesperNumber"
- },
- "syntaxType": {
- "dark": "vesperFunction",
- "light": "vesperFunction"
- },
- "syntaxOperator": {
- "dark": "vesperKeyword",
- "light": "vesperKeyword"
- },
- "syntaxPunctuation": {
- "dark": "vesperFg",
- "light": "vesperBg"
- }
+ "secondary": {
+ "dark": "#99FFE4",
+ "light": "#99FFE4"
+ },
+ "accent": {
+ "dark": "#FFC799",
+ "light": "#FFC799"
+ },
+ "error": {
+ "dark": "vesperError",
+ "light": "vesperError"
+ },
+ "warning": {
+ "dark": "vesperWarning",
+ "light": "vesperWarning"
+ },
+ "success": {
+ "dark": "vesperSuccess",
+ "light": "vesperSuccess"
+ },
+ "info": {
+ "dark": "#FFC799",
+ "light": "#FFC799"
+ },
+ "text": {
+ "dark": "vesperFg",
+ "light": "vesperBg"
+ },
+ "textMuted": {
+ "dark": "vesperMuted",
+ "light": "vesperMuted"
+ },
+ "background": {
+ "dark": "vesperBg",
+ "light": "#FFF"
+ },
+ "backgroundPanel": {
+ "dark": "vesperBg",
+ "light": "#F0F0F0"
+ },
+ "backgroundElement": {
+ "dark": "vesperBg",
+ "light": "#E0E0E0"
+ },
+ "border": {
+ "dark": "#282828",
+ "light": "#D0D0D0"
+ },
+ "borderActive": {
+ "dark": "#FFC799",
+ "light": "#FFC799"
+ },
+ "borderSubtle": {
+ "dark": "#1C1C1C",
+ "light": "#E8E8E8"
+ },
+ "diffAdded": {
+ "dark": "vesperSuccess",
+ "light": "vesperSuccess"
+ },
+ "diffRemoved": {
+ "dark": "vesperError",
+ "light": "vesperError"
+ },
+ "diffContext": {
+ "dark": "vesperMuted",
+ "light": "vesperMuted"
+ },
+ "diffHunkHeader": {
+ "dark": "vesperMuted",
+ "light": "vesperMuted"
+ },
+ "diffHighlightAdded": {
+ "dark": "vesperSuccess",
+ "light": "vesperSuccess"
+ },
+ "diffHighlightRemoved": {
+ "dark": "vesperError",
+ "light": "vesperError"
+ },
+ "diffAddedBg": {
+ "dark": "#0d2818",
+ "light": "#e8f5e8"
+ },
+ "diffRemovedBg": {
+ "dark": "#281a1a",
+ "light": "#f5e8e8"
+ },
+ "diffContextBg": {
+ "dark": "vesperBg",
+ "light": "#F8F8F8"
+ },
+ "diffLineNumber": {
+ "dark": "#505050",
+ "light": "#808080"
+ },
+ "diffAddedLineNumberBg": {
+ "dark": "#0d2818",
+ "light": "#e8f5e8"
+ },
+ "diffRemovedLineNumberBg": {
+ "dark": "#281a1a",
+ "light": "#f5e8e8"
+ },
+ "markdownText": {
+ "dark": "vesperFg",
+ "light": "vesperBg"
+ },
+ "markdownHeading": {
+ "dark": "#FFC799",
+ "light": "#FFC799"
+ },
+ "markdownLink": {
+ "dark": "#FFC799",
+ "light": "#FFC799"
+ },
+ "markdownLinkText": {
+ "dark": "vesperMuted",
+ "light": "vesperMuted"
+ },
+ "markdownCode": {
+ "dark": "vesperMuted",
+ "light": "vesperMuted"
+ },
+ "markdownBlockQuote": {
+ "dark": "vesperFg",
+ "light": "vesperBg"
+ },
+ "markdownEmph": {
+ "dark": "vesperFg",
+ "light": "vesperBg"
+ },
+ "markdownStrong": {
+ "dark": "vesperFg",
+ "light": "vesperBg"
+ },
+ "markdownHorizontalRule": {
+ "dark": "#65737E",
+ "light": "#65737E"
+ },
+ "markdownListItem": {
+ "dark": "vesperFg",
+ "light": "vesperBg"
+ },
+ "markdownListEnumeration": {
+ "dark": "vesperFg",
+ "light": "vesperBg"
+ },
+ "markdownImage": {
+ "dark": "#FFC799",
+ "light": "#FFC799"
+ },
+ "markdownImageText": {
+ "dark": "vesperMuted",
+ "light": "vesperMuted"
+ },
+ "markdownCodeBlock": {
+ "dark": "vesperFg",
+ "light": "vesperBg"
+ },
+ "syntaxComment": {
+ "dark": "vesperComment",
+ "light": "vesperComment"
+ },
+ "syntaxKeyword": {
+ "dark": "vesperKeyword",
+ "light": "vesperKeyword"
+ },
+ "syntaxFunction": {
+ "dark": "vesperFunction",
+ "light": "vesperFunction"
+ },
+ "syntaxVariable": {
+ "dark": "vesperFg",
+ "light": "vesperBg"
+ },
+ "syntaxString": {
+ "dark": "vesperString",
+ "light": "vesperString"
+ },
+ "syntaxNumber": {
+ "dark": "vesperNumber",
+ "light": "vesperNumber"
+ },
+ "syntaxType": {
+ "dark": "vesperFunction",
+ "light": "vesperFunction"
+ },
+ "syntaxOperator": {
+ "dark": "vesperKeyword",
+ "light": "vesperKeyword"
+ },
+ "syntaxPunctuation": {
+ "dark": "vesperFg",
+ "light": "vesperBg"
}
}
-
\ No newline at end of file
+}
diff --git a/packages/web/config.mjs b/packages/web/config.mjs
index 69b6b4f5..5e2c8d3e 100644
--- a/packages/web/config.mjs
+++ b/packages/web/config.mjs
@@ -1,12 +1,8 @@
const stage = process.env.SST_STAGE || "dev"
export default {
- url: stage === "production"
- ? "https://opencode.ai"
- : `https://${stage}.opencode.ai`,
- console: stage === "production"
- ? "https://opencode.ai/auth"
- : `https://${stage}.opencode.ai/auth`,
+ url: stage === "production" ? "https://opencode.ai" : `https://${stage}.opencode.ai`,
+ console: stage === "production" ? "https://opencode.ai/auth" : `https://${stage}.opencode.ai/auth`,
email: "contact@anoma.ly",
socialCard: "https://social-cards.sst.dev",
github: "https://github.com/sst/opencode",
diff --git a/packages/web/src/components/Share.tsx b/packages/web/src/components/Share.tsx
index 2b0e52c1..06244971 100644
--- a/packages/web/src/components/Share.tsx
+++ b/packages/web/src/components/Share.tsx
@@ -37,11 +37,7 @@ function getStatusText(status: [Status, string?]): string {
}
}
-export default function Share(props: {
- id: string
- api: string
- info: Session.Info
-}) {
+export default function Share(props: { id: string; api: string; info: Session.Info }) {
let lastScrollY = 0
let hasScrolledToAnchor = false
let scrollTimeout: number | undefined
@@ -67,7 +63,8 @@ export default function Share(props: {
created: props.info.time.created,
updated: props.info.time.updated,
},
- }, messages: {}
+ },
+ messages: {},
})
const messages = createMemo(() => Object.values(store.messages).toSorted((a, b) => a.id?.localeCompare(b.id)))
const [connectionStatus, setConnectionStatus] = createSignal<[Status, string?]>(["disconnected", "Disconnected"])
@@ -413,7 +410,11 @@ export default function Share(props: {
Output Tokens
- {data().tokens.output ? {data().tokens.output} : —}
+ {data().tokens.output ? (
+ {data().tokens.output}
+ ) : (
+ —
+ )}
Reasoning Tokens
diff --git a/packages/web/src/components/share/content-diff.module.css b/packages/web/src/components/share/content-diff.module.css
index 5bf6e224..1dfb0777 100644
--- a/packages/web/src/components/share/content-diff.module.css
+++ b/packages/web/src/components/share/content-diff.module.css
@@ -90,7 +90,6 @@
}
[data-component="mobile"] {
-
& > [data-component="diff-block"]:first-child > div {
padding-top: 0.25rem;
}
diff --git a/packages/web/src/components/share/content-error.module.css b/packages/web/src/components/share/content-error.module.css
index 6303be63..9ed051a8 100644
--- a/packages/web/src/components/share/content-error.module.css
+++ b/packages/web/src/components/share/content-error.module.css
@@ -61,5 +61,4 @@
padding: 2px 0;
font-size: 0.75rem;
}
-
}
diff --git a/packages/web/src/components/share/content-error.tsx b/packages/web/src/components/share/content-error.tsx
index b6d7023b..1e8cbeaa 100644
--- a/packages/web/src/components/share/content-error.tsx
+++ b/packages/web/src/components/share/content-error.tsx
@@ -10,19 +10,12 @@ export function ContentError(props: Props) {
const overflow = createOverflow()
return (
-
+
{props.children}
{((!props.expand && overflow.status) || expanded()) && (
-
)}
- {
- props.message.role === "user" && props.part.type === "file" && (
-
-
Attachment
-
{props.part.filename}
-
- )
- }
- {
- props.part.type === "step-start" && props.message.role === "assistant" && (
-
-
{props.message.providerID}
-
{props.message.modelID}
-
- )
- }
- {
- props.part.type === "tool" && props.part.state.status === "error" && (
-
- {formatErrorString(props.part.state.error)}
-
-
- )
- }
- {
- props.part.type === "tool" &&
+ {props.message.role === "user" && props.part.type === "file" && (
+
+
Attachment
+
{props.part.filename}
+
+ )}
+ {props.part.type === "step-start" && props.message.role === "assistant" && (
+
+
{props.message.providerID}
+
{props.message.modelID}
+
+ )}
+ {props.part.type === "tool" && props.part.state.status === "error" && (
+
+ {formatErrorString(props.part.state.error)}
+
+
+ )}
+ {props.part.type === "tool" &&
props.part.state.status === "completed" &&
props.message.role === "assistant" && (
<>
@@ -295,10 +288,9 @@ export function Part(props: PartProps) {
.toMillis()}
/>
>
- )
- }
-
-
+ )}
+