diff --git a/STATS.md b/STATS.md index aedfa87cee..d2b518c995 100644 --- a/STATS.md +++ b/STATS.md @@ -125,3 +125,4 @@ | 2025-10-29 | 606,259 (+10,483) | 542,064 (+9,626) | 1,148,323 (+20,109) | | 2025-10-30 | 613,746 (+7,487) | 542,064 (+0) | 1,155,810 (+7,487) | | 2025-10-30 | 617,846 (+4,100) | 555,026 (+12,962) | 1,172,872 (+17,062) | +| 2025-10-31 | 626,612 (+8,766) | 564,579 (+9,553) | 1,191,191 (+18,319) | diff --git a/bun.lock b/bun.lock index d1f6cfd214..02968de7ff 100644 --- a/bun.lock +++ b/bun.lock @@ -37,7 +37,7 @@ }, "packages/console/core": { "name": "@opencode-ai/console-core", - "version": "0.15.29", + "version": "0.15.30", "dependencies": { "@aws-sdk/client-sts": "3.782.0", "@jsx-email/render": "1.1.1", @@ -64,7 +64,7 @@ }, "packages/console/function": { "name": "@opencode-ai/console-function", - "version": "0.15.29", + "version": "0.15.30", "dependencies": { "@ai-sdk/anthropic": "2.0.0", "@ai-sdk/openai": "2.0.2", @@ -88,7 +88,7 @@ }, "packages/console/mail": { "name": "@opencode-ai/console-mail", - "version": "0.15.29", + "version": "0.15.30", "dependencies": { "@jsx-email/all": "2.2.3", "@jsx-email/cli": "1.4.3", @@ -109,7 +109,7 @@ }, "packages/desktop": { "name": "@opencode-ai/desktop", - "version": "0.15.29", + "version": "0.15.30", "dependencies": { "@kobalte/core": "catalog:", "@opencode-ai/sdk": "workspace:*", @@ -148,7 +148,7 @@ }, "packages/function": { "name": "@opencode-ai/function", - "version": "0.15.29", + "version": "0.15.30", "dependencies": { "@octokit/auth-app": "8.0.1", "@octokit/rest": "22.0.0", @@ -164,7 +164,7 @@ }, "packages/opencode": { "name": "opencode", - "version": "0.15.29", + "version": "0.15.30", "bin": { "opencode": "./bin/opencode", }, @@ -232,7 +232,7 @@ }, "packages/plugin": { "name": "@opencode-ai/plugin", - "version": "0.15.29", + "version": "0.15.30", "dependencies": { "@opencode-ai/sdk": "workspace:*", "zod": "catalog:", @@ -252,7 +252,7 @@ }, "packages/sdk/js": { "name": "@opencode-ai/sdk", - "version": "0.15.29", + "version": "0.15.30", "devDependencies": { "@hey-api/openapi-ts": "0.81.0", "@tsconfig/node22": "catalog:", @@ -263,7 +263,7 @@ }, "packages/slack": { "name": "@opencode-ai/slack", - "version": "0.15.29", + "version": "0.15.30", "dependencies": { "@opencode-ai/sdk": "workspace:*", "@slack/bolt": "^3.17.1", @@ -276,7 +276,7 @@ }, "packages/ui": { "name": "@opencode-ai/ui", - "version": "0.15.29", + "version": "0.15.30", "dependencies": { "@kobalte/core": "catalog:", "@opencode-ai/sdk": "workspace:*", @@ -306,7 +306,7 @@ }, "packages/web": { "name": "@opencode-ai/web", - "version": "0.15.29", + "version": "0.15.30", "dependencies": { "@astrojs/cloudflare": "12.6.3", "@astrojs/markdown-remark": "6.3.1", diff --git a/packages/console/app/package.json b/packages/console/app/package.json index ec70d7c4d6..ad0b2f4db1 100644 --- a/packages/console/app/package.json +++ b/packages/console/app/package.json @@ -7,7 +7,7 @@ "dev:remote": "VITE_AUTH_URL=https://auth.dev.opencode.ai bun sst shell --stage=dev bun dev", "build": "vinxi build && ../../opencode/script/schema.ts ./.output/public/config.json", "start": "vinxi start", - "version": "0.15.29" + "version": "0.15.30" }, "dependencies": { "@ibm/plex": "6.4.1", diff --git a/packages/console/core/package.json b/packages/console/core/package.json index 36e37c3bf1..21a82227b3 100644 --- a/packages/console/core/package.json +++ b/packages/console/core/package.json @@ -1,7 +1,7 @@ { "$schema": "https://json.schemastore.org/package.json", "name": "@opencode-ai/console-core", - "version": "0.15.29", + "version": "0.15.30", "private": true, "type": "module", "dependencies": { diff --git a/packages/console/function/package.json b/packages/console/function/package.json index 6f13c94816..a7b3a9bd78 100644 --- a/packages/console/function/package.json +++ b/packages/console/function/package.json @@ -1,6 +1,6 @@ { "name": "@opencode-ai/console-function", - "version": "0.15.29", + "version": "0.15.30", "$schema": "https://json.schemastore.org/package.json", "private": true, "type": "module", diff --git a/packages/console/mail/package.json b/packages/console/mail/package.json index b01703b4d6..5f7b345783 100644 --- a/packages/console/mail/package.json +++ b/packages/console/mail/package.json @@ -1,6 +1,6 @@ { "name": "@opencode-ai/console-mail", - "version": "0.15.29", + "version": "0.15.30", "dependencies": { "@jsx-email/all": "2.2.3", "@jsx-email/cli": "1.4.3", diff --git a/packages/desktop/index.html b/packages/desktop/index.html index 9209acfc7e..e88b49ac8b 100644 --- a/packages/desktop/index.html +++ b/packages/desktop/index.html @@ -4,7 +4,7 @@ - + OpenCode diff --git a/packages/desktop/package.json b/packages/desktop/package.json index 32fe27b833..e34910bba2 100644 --- a/packages/desktop/package.json +++ b/packages/desktop/package.json @@ -1,6 +1,6 @@ { "name": "@opencode-ai/desktop", - "version": "0.15.29", + "version": "0.15.30", "description": "", "type": "module", "scripts": { diff --git a/packages/desktop/public/favicon.svg b/packages/desktop/public/favicon.svg new file mode 120000 index 0000000000..80804d2579 --- /dev/null +++ b/packages/desktop/public/favicon.svg @@ -0,0 +1 @@ +../../ui/src/assets/favicon/favicon.svg \ No newline at end of file diff --git a/packages/desktop/src/assets/favicon.svg b/packages/desktop/src/assets/favicon.svg deleted file mode 100644 index 3c81bbdb4c..0000000000 --- a/packages/desktop/src/assets/favicon.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/packages/function/package.json b/packages/function/package.json index eb18580923..e42ba6b712 100644 --- a/packages/function/package.json +++ b/packages/function/package.json @@ -1,6 +1,6 @@ { "name": "@opencode-ai/function", - "version": "0.15.29", + "version": "0.15.30", "$schema": "https://json.schemastore.org/package.json", "private": true, "type": "module", diff --git a/packages/opencode/package.json b/packages/opencode/package.json index d8ffc7510d..ac903ef0b6 100644 --- a/packages/opencode/package.json +++ b/packages/opencode/package.json @@ -1,6 +1,6 @@ { "$schema": "https://json.schemastore.org/package.json", - "version": "0.15.29", + "version": "0.15.30", "name": "opencode", "type": "module", "private": true, diff --git a/packages/plugin/package.json b/packages/plugin/package.json index 53b90e0c43..41707d924f 100644 --- a/packages/plugin/package.json +++ b/packages/plugin/package.json @@ -1,7 +1,7 @@ { "$schema": "https://json.schemastore.org/package.json", "name": "@opencode-ai/plugin", - "version": "0.15.29", + "version": "0.15.30", "type": "module", "scripts": { "typecheck": "tsgo --noEmit", diff --git a/packages/sdk/js/package.json b/packages/sdk/js/package.json index 3c00bafcb4..29ace13ac0 100644 --- a/packages/sdk/js/package.json +++ b/packages/sdk/js/package.json @@ -1,7 +1,7 @@ { "$schema": "https://json.schemastore.org/package.json", "name": "@opencode-ai/sdk", - "version": "0.15.29", + "version": "0.15.30", "type": "module", "scripts": { "typecheck": "tsgo --noEmit", diff --git a/packages/sdk/js/src/gen/types.gen.ts b/packages/sdk/js/src/gen/types.gen.ts index 0ff1f032f6..df110326bc 100644 --- a/packages/sdk/js/src/gen/types.gen.ts +++ b/packages/sdk/js/src/gen/types.gen.ts @@ -430,6 +430,9 @@ export type Config = { options?: { [key: string]: unknown } + headers?: { + [key: string]: string + } provider?: { npm: string } @@ -991,6 +994,9 @@ export type Model = { options: { [key: string]: unknown } + headers?: { + [key: string]: string + } provider?: { npm: string } diff --git a/packages/slack/package.json b/packages/slack/package.json index 28df57736d..e9e3a638bc 100644 --- a/packages/slack/package.json +++ b/packages/slack/package.json @@ -1,6 +1,6 @@ { "name": "@opencode-ai/slack", - "version": "0.15.29", + "version": "0.15.30", "type": "module", "scripts": { "dev": "bun run src/index.ts", diff --git a/packages/ui/package.json b/packages/ui/package.json index 91ab3867e0..7fcb26fb41 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -1,6 +1,6 @@ { "name": "@opencode-ai/ui", - "version": "0.15.29", + "version": "0.15.30", "type": "module", "exports": { ".": "./src/components/index.ts", diff --git a/packages/ui/src/assets/favicon/apple-touch-icon.png b/packages/ui/src/assets/favicon/apple-touch-icon.png new file mode 100644 index 0000000000..13d79dbec4 Binary files /dev/null and b/packages/ui/src/assets/favicon/apple-touch-icon.png differ diff --git a/packages/ui/src/assets/favicon/favicon-96x96.png b/packages/ui/src/assets/favicon/favicon-96x96.png new file mode 100644 index 0000000000..c9d3cbf0ee Binary files /dev/null and b/packages/ui/src/assets/favicon/favicon-96x96.png differ diff --git a/packages/ui/src/assets/favicon/favicon.ico b/packages/ui/src/assets/favicon/favicon.ico new file mode 100644 index 0000000000..a7b497fb92 Binary files /dev/null and b/packages/ui/src/assets/favicon/favicon.ico differ diff --git a/packages/ui/src/assets/favicon/favicon.svg b/packages/ui/src/assets/favicon/favicon.svg new file mode 100644 index 0000000000..ffb5f72981 --- /dev/null +++ b/packages/ui/src/assets/favicon/favicon.svg @@ -0,0 +1,18 @@ + + + + + + + + diff --git a/packages/ui/src/assets/favicon/site.webmanifest b/packages/ui/src/assets/favicon/site.webmanifest new file mode 100644 index 0000000000..f7522f8f3a --- /dev/null +++ b/packages/ui/src/assets/favicon/site.webmanifest @@ -0,0 +1,21 @@ +{ + "name": "OpenCode", + "short_name": "OpenCode", + "icons": [ + { + "src": "/web-app-manifest-192x192.png", + "sizes": "192x192", + "type": "image/png", + "purpose": "maskable" + }, + { + "src": "/web-app-manifest-512x512.png", + "sizes": "512x512", + "type": "image/png", + "purpose": "maskable" + } + ], + "theme_color": "#ffffff", + "background_color": "#ffffff", + "display": "standalone" +} \ No newline at end of file diff --git a/packages/ui/src/assets/favicon/web-app-manifest-192x192.png b/packages/ui/src/assets/favicon/web-app-manifest-192x192.png new file mode 100644 index 0000000000..ca53fa8daa Binary files /dev/null and b/packages/ui/src/assets/favicon/web-app-manifest-192x192.png differ diff --git a/packages/ui/src/assets/favicon/web-app-manifest-512x512.png b/packages/ui/src/assets/favicon/web-app-manifest-512x512.png new file mode 100644 index 0000000000..91b4eb33f5 Binary files /dev/null and b/packages/ui/src/assets/favicon/web-app-manifest-512x512.png differ diff --git a/packages/ui/src/components/favicon.tsx b/packages/ui/src/components/favicon.tsx new file mode 100644 index 0000000000..de32ed2afb --- /dev/null +++ b/packages/ui/src/components/favicon.tsx @@ -0,0 +1,19 @@ +import { Link, Meta } from "@solidjs/meta" +import favicon96 from "../assets/favicon/favicon-96x96.png" +import faviconSvg from "../assets/favicon/favicon.svg" +import faviconIco from "../assets/favicon/favicon.ico" +import appleTouchIcon from "../assets/favicon/apple-touch-icon.png" +import siteWebmanifest from "../assets/favicon/site.webmanifest" + +export const Favicon = () => { + return ( + <> + + + + + + + + ) +} diff --git a/packages/ui/src/components/index.ts b/packages/ui/src/components/index.ts index 8d6ddc89cf..115e5f14fb 100644 --- a/packages/ui/src/components/index.ts +++ b/packages/ui/src/components/index.ts @@ -9,6 +9,7 @@ export * from "./diff-changes" export * from "./icon" export * from "./icon-button" export * from "./input" +export * from "./favicon" export * from "./fonts" export * from "./list" export * from "./markdown" diff --git a/packages/ui/src/components/message-part.css b/packages/ui/src/components/message-part.css index fa251a2b3b..dcfadeff67 100644 --- a/packages/ui/src/components/message-part.css +++ b/packages/ui/src/components/message-part.css @@ -29,20 +29,21 @@ [data-component="tool-error"] { display: flex; - align-items: center; + align-items: start; gap: 8px; - [data-slot="icon"] { + [data-slot="tool-error-icon"] { color: var(--icon-critical-active); + margin-top: 4px; } - [data-slot="content"] { + [data-slot="tool-error-content"] { display: flex; - align-items: center; + align-items: start; gap: 8px; } - [data-slot="title"] { + [data-slot="tool-error-title"] { font-family: var(--font-family-sans); font-size: var(--font-size-small); font-style: normal; @@ -51,7 +52,11 @@ letter-spacing: var(--letter-spacing-normal); color: var(--ember-light-11); text-transform: capitalize; + white-space: nowrap; } + + /* [data-slot="tool-error-message"] { */ + /* } */ } [data-component="tool-output"] { diff --git a/packages/ui/src/components/message-part.tsx b/packages/ui/src/components/message-part.tsx index 1aaab751a0..272a716a4e 100644 --- a/packages/ui/src/components/message-part.tsx +++ b/packages/ui/src/components/message-part.tsx @@ -151,15 +151,17 @@ PART_MAPPING["tool"] = function ToolPartDisplay(props) { return (
- + -
-
{title}
- {rest.join(": ")} +
+
{title}
+ {rest.join(": ")}
- {cleaned} + + {cleaned} +
diff --git a/packages/web/package.json b/packages/web/package.json index 797bf3a626..59bad65b72 100644 --- a/packages/web/package.json +++ b/packages/web/package.json @@ -1,7 +1,7 @@ { "name": "@opencode-ai/web", "type": "module", - "version": "0.15.29", + "version": "0.15.30", "scripts": { "dev": "astro dev", "dev:remote": "VITE_API_URL=https://api.opencode.ai astro dev", diff --git a/sdks/vscode/package.json b/sdks/vscode/package.json index c65cb039ba..9f845c2bcc 100644 --- a/sdks/vscode/package.json +++ b/sdks/vscode/package.json @@ -2,7 +2,7 @@ "name": "opencode", "displayName": "opencode", "description": "opencode for VS Code", - "version": "0.15.29", + "version": "0.15.30", "publisher": "sst-dev", "repository": { "type": "git",