From c2e39bb5565f9a76f4c9a2eed171f088f949310a Mon Sep 17 00:00:00 2001 From: "opencode-agent[bot]" <219766164+opencode-agent[bot]@users.noreply.github.com> Date: Fri, 28 Aug 2026 05:52:06 +0000 Subject: [PATCH 01/39] test(opencode): use native config path in permission assertion (#45849) Co-authored-by: Hona <10430890+Hona@users.noreply.github.com> --- packages/opencode/test/config/config.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/opencode/test/config/config.test.ts b/packages/opencode/test/config/config.test.ts index 4eb46ae1e900..8d5baede50fd 100644 --- a/packages/opencode/test/config/config.test.ts +++ b/packages/opencode/test/config/config.test.ts @@ -573,7 +573,7 @@ it.effect("rejects native project permissions even with inherited V1 rules", () if (Exit.isFailure(exit)) expect(Cause.squash(exit.cause)).toMatchObject({ data: { - path: expect.stringContaining("project/opencode.json"), + path: expect.stringContaining(path.join("project", "opencode.json")), issues: [ { path: ["permissions"], message: expect.stringContaining('Use V1 "permission" rules or run opencode2') }, { path: ["agents", "reviewer", "permissions"], message: expect.stringContaining("not supported") }, From 755ebdb94ee755a9d5691e47af2c16f56696996e Mon Sep 17 00:00:00 2001 From: opencode Date: Fri, 28 Aug 2026 05:58:17 +0000 Subject: [PATCH 02/39] sync release versions for v1.18.25 --- bun.lock | 56 ++++++++++----------- packages/app/package.json | 2 +- packages/cli/package.json | 2 +- packages/codemode/package.json | 2 +- packages/console/app/package.json | 2 +- packages/console/core/package.json | 2 +- packages/console/function/package.json | 2 +- packages/console/mail/package.json | 2 +- packages/console/support/package.json | 2 +- packages/core/package.json | 2 +- packages/desktop/package.json | 2 +- packages/effect-drizzle-sqlite/package.json | 2 +- packages/effect-sqlite-node/package.json | 2 +- packages/enterprise/package.json | 2 +- packages/function/package.json | 2 +- packages/http-recorder/package.json | 2 +- packages/llm/package.json | 2 +- packages/opencode/package.json | 2 +- packages/plugin/package.json | 2 +- packages/sdk/js/package.json | 2 +- packages/server/package.json | 2 +- packages/session-ui/package.json | 2 +- packages/slack/package.json | 2 +- packages/stats/app/package.json | 2 +- packages/stats/core/package.json | 2 +- packages/stats/server/package.json | 2 +- packages/tui/package.json | 2 +- packages/ui/package.json | 2 +- packages/web/package.json | 2 +- sdks/vscode/package.json | 2 +- 30 files changed, 57 insertions(+), 57 deletions(-) diff --git a/bun.lock b/bun.lock index ec7c2c1ebf52..c8cb37f4e50c 100644 --- a/bun.lock +++ b/bun.lock @@ -29,7 +29,7 @@ }, "packages/app": { "name": "@opencode-ai/app", - "version": "1.18.24", + "version": "1.18.25", "dependencies": { "@corvu/drawer": "catalog:", "@dnd-kit/abstract": "0.5.0", @@ -96,7 +96,7 @@ }, "packages/cli": { "name": "@opencode-ai/cli", - "version": "1.18.24", + "version": "1.18.25", "bin": { "lildax": "./bin/lildax.cjs", }, @@ -144,7 +144,7 @@ }, "packages/codemode": { "name": "@opencode-ai/codemode", - "version": "1.18.24", + "version": "1.18.25", "dependencies": { "acorn": "8.15.0", "effect": "catalog:", @@ -158,7 +158,7 @@ }, "packages/console/app": { "name": "@opencode-ai/console-app", - "version": "1.18.24", + "version": "1.18.25", "dependencies": { "@cloudflare/vite-plugin": "1.15.2", "@ibm/plex": "6.4.1", @@ -194,7 +194,7 @@ }, "packages/console/core": { "name": "@opencode-ai/console-core", - "version": "1.18.24", + "version": "1.18.25", "dependencies": { "@aws-sdk/client-sts": "3.782.0", "@jsx-email/render": "1.1.1", @@ -221,7 +221,7 @@ }, "packages/console/function": { "name": "@opencode-ai/console-function", - "version": "1.18.24", + "version": "1.18.25", "dependencies": { "@ai-sdk/anthropic": "3.0.82", "@ai-sdk/openai": "3.0.48", @@ -244,7 +244,7 @@ }, "packages/console/mail": { "name": "@opencode-ai/console-mail", - "version": "1.18.24", + "version": "1.18.25", "dependencies": { "@jsx-email/all": "2.2.3", "@jsx-email/cli": "1.4.3", @@ -268,7 +268,7 @@ }, "packages/console/support": { "name": "@opencode-ai/console-support", - "version": "1.18.24", + "version": "1.18.25", "dependencies": { "@cloudflare/vite-plugin": "1.15.2", "@opencode-ai/console-core": "workspace:*", @@ -288,7 +288,7 @@ }, "packages/core": { "name": "@opencode-ai/core", - "version": "1.18.24", + "version": "1.18.25", "bin": { "opencode": "./bin/opencode", }, @@ -382,7 +382,7 @@ }, "packages/desktop": { "name": "@opencode-ai/desktop", - "version": "1.18.24", + "version": "1.18.25", "dependencies": { "@zip.js/zip.js": "2.7.62", "drizzle-orm": "catalog:", @@ -436,7 +436,7 @@ }, "packages/effect-drizzle-sqlite": { "name": "@opencode-ai/effect-drizzle-sqlite", - "version": "1.18.24", + "version": "1.18.25", "dependencies": { "drizzle-orm": "catalog:", "effect": "catalog:", @@ -450,7 +450,7 @@ }, "packages/effect-sqlite-node": { "name": "@opencode-ai/effect-sqlite-node", - "version": "1.18.24", + "version": "1.18.25", "dependencies": { "effect": "catalog:", }, @@ -462,7 +462,7 @@ }, "packages/enterprise": { "name": "@opencode-ai/enterprise", - "version": "1.18.24", + "version": "1.18.25", "dependencies": { "@hono/standard-validator": "catalog:", "@opencode-ai/core": "workspace:*", @@ -494,7 +494,7 @@ }, "packages/function": { "name": "@opencode-ai/function", - "version": "1.18.24", + "version": "1.18.25", "dependencies": { "@octokit/auth-app": "8.0.1", "@octokit/rest": "catalog:", @@ -510,7 +510,7 @@ }, "packages/http-recorder": { "name": "@opencode-ai/http-recorder", - "version": "1.18.24", + "version": "1.18.25", "dependencies": { "@effect/platform-node": "4.0.0-beta.83", "@effect/platform-node-shared": "4.0.0-beta.83", @@ -541,7 +541,7 @@ }, "packages/llm": { "name": "@opencode-ai/llm", - "version": "1.18.24", + "version": "1.18.25", "dependencies": { "@opencode-ai/schema": "workspace:*", "@smithy/eventstream-codec": "4.2.14", @@ -560,7 +560,7 @@ }, "packages/opencode": { "name": "opencode", - "version": "1.18.24", + "version": "1.18.25", "bin": { "opencode": "./bin/opencode", }, @@ -691,7 +691,7 @@ }, "packages/plugin": { "name": "@opencode-ai/plugin", - "version": "1.18.24", + "version": "1.18.25", "dependencies": { "@ai-sdk/provider": "3.0.8", "@opencode-ai/sdk": "workspace:*", @@ -767,7 +767,7 @@ }, "packages/sdk/js": { "name": "@opencode-ai/sdk", - "version": "1.18.24", + "version": "1.18.25", "dependencies": { "cross-spawn": "catalog:", }, @@ -782,7 +782,7 @@ }, "packages/server": { "name": "@opencode-ai/server", - "version": "1.18.24", + "version": "1.18.25", "dependencies": { "@opencode-ai/core": "workspace:*", "@opencode-ai/protocol": "workspace:*", @@ -797,7 +797,7 @@ }, "packages/session-ui": { "name": "@opencode-ai/session-ui", - "version": "1.18.24", + "version": "1.18.25", "dependencies": { "@kobalte/core": "catalog:", "@opencode-ai/client": "file:../app/vendor/opencode-ai-client-1.17.13-v2.tgz", @@ -837,7 +837,7 @@ }, "packages/slack": { "name": "@opencode-ai/slack", - "version": "1.18.24", + "version": "1.18.25", "dependencies": { "@opencode-ai/sdk": "workspace:*", "@slack/bolt": "^3.17.1", @@ -850,7 +850,7 @@ }, "packages/stats/app": { "name": "@opencode-ai/stats-app", - "version": "1.18.24", + "version": "1.18.25", "dependencies": { "@ibm/plex": "6.4.1", "@kobalte/core": "catalog:", @@ -877,7 +877,7 @@ }, "packages/stats/core": { "name": "@opencode-ai/stats-core", - "version": "1.18.24", + "version": "1.18.25", "dependencies": { "@aws-sdk/client-athena": "3.933.0", "@planetscale/database": "1.19.0", @@ -896,7 +896,7 @@ }, "packages/stats/server": { "name": "@opencode-ai/stats-server", - "version": "1.18.24", + "version": "1.18.25", "dependencies": { "@aws-sdk/client-firehose": "3.933.0", "@effect/platform-node": "catalog:", @@ -938,7 +938,7 @@ }, "packages/tui": { "name": "@opencode-ai/tui", - "version": "1.18.24", + "version": "1.18.25", "dependencies": { "@opencode-ai/core": "workspace:*", "@opencode-ai/plugin": "workspace:*", @@ -965,7 +965,7 @@ }, "packages/ui": { "name": "@opencode-ai/ui", - "version": "1.18.24", + "version": "1.18.25", "dependencies": { "@kobalte/core": "catalog:", "@pierre/diffs": "catalog:", @@ -1016,7 +1016,7 @@ }, "packages/web": { "name": "@opencode-ai/web", - "version": "1.18.24", + "version": "1.18.25", "dependencies": { "@astrojs/cloudflare": "12.6.3", "@astrojs/markdown-remark": "6.3.1", diff --git a/packages/app/package.json b/packages/app/package.json index fa7e969d067f..e0a1d076e73d 100644 --- a/packages/app/package.json +++ b/packages/app/package.json @@ -1,6 +1,6 @@ { "name": "@opencode-ai/app", - "version": "1.18.24", + "version": "1.18.25", "description": "", "type": "module", "exports": { diff --git a/packages/cli/package.json b/packages/cli/package.json index cdd74c067ca4..207967c19c01 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,7 +1,7 @@ { "$schema": "https://json.schemastore.org/package.json", "name": "@opencode-ai/cli", - "version": "1.18.24", + "version": "1.18.25", "type": "module", "license": "MIT", "bin": { diff --git a/packages/codemode/package.json b/packages/codemode/package.json index 9772aeee2311..400451efca64 100644 --- a/packages/codemode/package.json +++ b/packages/codemode/package.json @@ -1,7 +1,7 @@ { "$schema": "https://json.schemastore.org/package.json", "name": "@opencode-ai/codemode", - "version": "1.18.24", + "version": "1.18.25", "description": "Effect-native confined code execution over schema-described tools", "private": true, "type": "module", diff --git a/packages/console/app/package.json b/packages/console/app/package.json index 908421539385..e83f568c3be2 100644 --- a/packages/console/app/package.json +++ b/packages/console/app/package.json @@ -1,6 +1,6 @@ { "name": "@opencode-ai/console-app", - "version": "1.18.24", + "version": "1.18.25", "type": "module", "license": "MIT", "scripts": { diff --git a/packages/console/core/package.json b/packages/console/core/package.json index 729ce531ff50..0ce0fa748339 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": "1.18.24", + "version": "1.18.25", "private": true, "type": "module", "license": "MIT", diff --git a/packages/console/function/package.json b/packages/console/function/package.json index 9afac31c073f..734a3efe345e 100644 --- a/packages/console/function/package.json +++ b/packages/console/function/package.json @@ -1,6 +1,6 @@ { "name": "@opencode-ai/console-function", - "version": "1.18.24", + "version": "1.18.25", "$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 09e59abd7229..a859c292f0f4 100644 --- a/packages/console/mail/package.json +++ b/packages/console/mail/package.json @@ -1,6 +1,6 @@ { "name": "@opencode-ai/console-mail", - "version": "1.18.24", + "version": "1.18.25", "dependencies": { "@jsx-email/all": "2.2.3", "@jsx-email/cli": "1.4.3", diff --git a/packages/console/support/package.json b/packages/console/support/package.json index f1a837f147a5..c68e83fcdf37 100644 --- a/packages/console/support/package.json +++ b/packages/console/support/package.json @@ -1,6 +1,6 @@ { "name": "@opencode-ai/console-support", - "version": "1.18.24", + "version": "1.18.25", "type": "module", "license": "MIT", "scripts": { diff --git a/packages/core/package.json b/packages/core/package.json index c185ce9233cf..37afa0b65b2c 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "$schema": "https://json.schemastore.org/package.json", - "version": "1.18.24", + "version": "1.18.25", "name": "@opencode-ai/core", "type": "module", "license": "MIT", diff --git a/packages/desktop/package.json b/packages/desktop/package.json index 91cbafd1e4ab..d4d2532c522f 100644 --- a/packages/desktop/package.json +++ b/packages/desktop/package.json @@ -1,7 +1,7 @@ { "name": "@opencode-ai/desktop", "private": true, - "version": "1.18.24", + "version": "1.18.25", "type": "module", "license": "MIT", "homepage": "https://opencode.ai", diff --git a/packages/effect-drizzle-sqlite/package.json b/packages/effect-drizzle-sqlite/package.json index ed29249c656e..eb8103695c4e 100644 --- a/packages/effect-drizzle-sqlite/package.json +++ b/packages/effect-drizzle-sqlite/package.json @@ -1,6 +1,6 @@ { "$schema": "https://json.schemastore.org/package.json", - "version": "1.18.24", + "version": "1.18.25", "name": "@opencode-ai/effect-drizzle-sqlite", "type": "module", "license": "MIT", diff --git a/packages/effect-sqlite-node/package.json b/packages/effect-sqlite-node/package.json index 0de3380caab1..829aab45fab8 100644 --- a/packages/effect-sqlite-node/package.json +++ b/packages/effect-sqlite-node/package.json @@ -1,6 +1,6 @@ { "$schema": "https://json.schemastore.org/package.json", - "version": "1.18.24", + "version": "1.18.25", "name": "@opencode-ai/effect-sqlite-node", "type": "module", "license": "MIT", diff --git a/packages/enterprise/package.json b/packages/enterprise/package.json index 6f38a4ce224d..6e70986db787 100644 --- a/packages/enterprise/package.json +++ b/packages/enterprise/package.json @@ -1,6 +1,6 @@ { "name": "@opencode-ai/enterprise", - "version": "1.18.24", + "version": "1.18.25", "private": true, "type": "module", "license": "MIT", diff --git a/packages/function/package.json b/packages/function/package.json index c5da6ac18ef0..1c0931b39538 100644 --- a/packages/function/package.json +++ b/packages/function/package.json @@ -1,6 +1,6 @@ { "name": "@opencode-ai/function", - "version": "1.18.24", + "version": "1.18.25", "$schema": "https://json.schemastore.org/package.json", "private": true, "type": "module", diff --git a/packages/http-recorder/package.json b/packages/http-recorder/package.json index 6a4f06694730..b7041f7225d7 100644 --- a/packages/http-recorder/package.json +++ b/packages/http-recorder/package.json @@ -1,6 +1,6 @@ { "$schema": "https://json.schemastore.org/package.json", - "version": "1.18.24", + "version": "1.18.25", "name": "@opencode-ai/http-recorder", "description": "Record and replay Effect HTTP client traffic with deterministic cassettes", "type": "module", diff --git a/packages/llm/package.json b/packages/llm/package.json index bbd432a22210..e7b93f1fda7a 100644 --- a/packages/llm/package.json +++ b/packages/llm/package.json @@ -1,6 +1,6 @@ { "$schema": "https://json.schemastore.org/package.json", - "version": "1.18.24", + "version": "1.18.25", "name": "@opencode-ai/llm", "type": "module", "license": "MIT", diff --git a/packages/opencode/package.json b/packages/opencode/package.json index 007c0bcaddd7..45c6110363ec 100644 --- a/packages/opencode/package.json +++ b/packages/opencode/package.json @@ -1,6 +1,6 @@ { "$schema": "https://json.schemastore.org/package.json", - "version": "1.18.24", + "version": "1.18.25", "name": "opencode", "type": "module", "license": "MIT", diff --git a/packages/plugin/package.json b/packages/plugin/package.json index 9f3de7c8ca88..60c3cad95fb3 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": "1.18.24", + "version": "1.18.25", "type": "module", "license": "MIT", "scripts": { diff --git a/packages/sdk/js/package.json b/packages/sdk/js/package.json index ae7135ac96e7..66b07a349f6a 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": "1.18.24", + "version": "1.18.25", "type": "module", "license": "MIT", "scripts": { diff --git a/packages/server/package.json b/packages/server/package.json index d33ddbe09489..7c65eedadade 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,7 +1,7 @@ { "$schema": "https://json.schemastore.org/package.json", "name": "@opencode-ai/server", - "version": "1.18.24", + "version": "1.18.25", "private": true, "type": "module", "license": "MIT", diff --git a/packages/session-ui/package.json b/packages/session-ui/package.json index a373c2ab0eb7..16a2d88151e0 100644 --- a/packages/session-ui/package.json +++ b/packages/session-ui/package.json @@ -1,6 +1,6 @@ { "name": "@opencode-ai/session-ui", - "version": "1.18.24", + "version": "1.18.25", "private": true, "type": "module", "license": "MIT", diff --git a/packages/slack/package.json b/packages/slack/package.json index a2d71e2b5f61..ecaa750fd542 100644 --- a/packages/slack/package.json +++ b/packages/slack/package.json @@ -1,6 +1,6 @@ { "name": "@opencode-ai/slack", - "version": "1.18.24", + "version": "1.18.25", "type": "module", "license": "MIT", "scripts": { diff --git a/packages/stats/app/package.json b/packages/stats/app/package.json index f35c12961913..a53fca609a3e 100644 --- a/packages/stats/app/package.json +++ b/packages/stats/app/package.json @@ -1,7 +1,7 @@ { "$schema": "https://json.schemastore.org/package.json", "name": "@opencode-ai/stats-app", - "version": "1.18.24", + "version": "1.18.25", "private": true, "type": "module", "license": "MIT", diff --git a/packages/stats/core/package.json b/packages/stats/core/package.json index 882f51f403ad..5d333cfce322 100644 --- a/packages/stats/core/package.json +++ b/packages/stats/core/package.json @@ -1,7 +1,7 @@ { "$schema": "https://json.schemastore.org/package.json", "name": "@opencode-ai/stats-core", - "version": "1.18.24", + "version": "1.18.25", "private": true, "type": "module", "license": "MIT", diff --git a/packages/stats/server/package.json b/packages/stats/server/package.json index 135e884b3ba9..0681be86c3e7 100644 --- a/packages/stats/server/package.json +++ b/packages/stats/server/package.json @@ -1,7 +1,7 @@ { "$schema": "https://json.schemastore.org/package.json", "name": "@opencode-ai/stats-server", - "version": "1.18.24", + "version": "1.18.25", "private": true, "type": "module", "license": "MIT", diff --git a/packages/tui/package.json b/packages/tui/package.json index cc211c1d61e0..d208dfa62655 100644 --- a/packages/tui/package.json +++ b/packages/tui/package.json @@ -1,7 +1,7 @@ { "$schema": "https://json.schemastore.org/package.json", "name": "@opencode-ai/tui", - "version": "1.18.24", + "version": "1.18.25", "private": true, "type": "module", "license": "MIT", diff --git a/packages/ui/package.json b/packages/ui/package.json index a62dc8dbfceb..dc3052a6cd0d 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -1,6 +1,6 @@ { "name": "@opencode-ai/ui", - "version": "1.18.24", + "version": "1.18.25", "type": "module", "license": "MIT", "repository": { diff --git a/packages/web/package.json b/packages/web/package.json index de7043fc9f6d..5552d1fffeb1 100644 --- a/packages/web/package.json +++ b/packages/web/package.json @@ -2,7 +2,7 @@ "name": "@opencode-ai/web", "type": "module", "license": "MIT", - "version": "1.18.24", + "version": "1.18.25", "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 f7526a3689b3..de3b012f3ec9 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": "1.18.24", + "version": "1.18.25", "publisher": "sst-dev", "repository": { "type": "git", From 1be9fd55a9326d5e7b09786195e5669e311e61b4 Mon Sep 17 00:00:00 2001 From: Jack Date: Fri, 28 Aug 2026 18:21:28 +0800 Subject: [PATCH 03/39] docs(go): add Hy4 preview (#45904) --- packages/console/app/src/routes/go/index.tsx | 2 ++ .../app/src/routes/workspace/[id]/go/lite-section.tsx | 1 + packages/web/src/content/docs/ar/go.mdx | 6 ++++++ packages/web/src/content/docs/bs/go.mdx | 6 ++++++ packages/web/src/content/docs/da/go.mdx | 6 ++++++ packages/web/src/content/docs/de/go.mdx | 6 ++++++ packages/web/src/content/docs/es/go.mdx | 6 ++++++ packages/web/src/content/docs/fr/go.mdx | 6 ++++++ packages/web/src/content/docs/go.mdx | 6 ++++++ packages/web/src/content/docs/it/go.mdx | 6 ++++++ packages/web/src/content/docs/ja/go.mdx | 6 ++++++ packages/web/src/content/docs/ko/go.mdx | 6 ++++++ packages/web/src/content/docs/nb/go.mdx | 6 ++++++ packages/web/src/content/docs/pl/go.mdx | 6 ++++++ packages/web/src/content/docs/pt-br/go.mdx | 6 ++++++ packages/web/src/content/docs/ru/go.mdx | 6 ++++++ packages/web/src/content/docs/th/go.mdx | 6 ++++++ packages/web/src/content/docs/tr/go.mdx | 6 ++++++ packages/web/src/content/docs/zh-cn/go.mdx | 6 ++++++ packages/web/src/content/docs/zh-tw/go.mdx | 6 ++++++ 20 files changed, 111 insertions(+) diff --git a/packages/console/app/src/routes/go/index.tsx b/packages/console/app/src/routes/go/index.tsx index 423f98b955e0..b2e67ecc6e49 100644 --- a/packages/console/app/src/routes/go/index.tsx +++ b/packages/console/app/src/routes/go/index.tsx @@ -45,6 +45,7 @@ const models = [ { name: "Muse Spark 1.2 Contributor", training: "go.faq.a5.used", retention: "go.faq.a5.notZdr" }, { name: "DeepSeek V4 Pro", training: "go.faq.a5.notUsed", retention: "go.faq.a5.retention0" }, { name: "DeepSeek V4 Flash", training: "go.faq.a5.notUsed", retention: "go.faq.a5.retention0" }, + { name: "Hy4 preview", training: "go.faq.a5.notUsed", retention: "go.faq.a5.retention0" }, { name: "Hy3", training: "go.faq.a5.notUsed", retention: "go.faq.a5.retention0" }, ] as const @@ -73,6 +74,7 @@ function LimitsGraph(props: { href: string }) { const graph = [ { id: "kimi-k3", name: "Kimi K3", req: 110, d: "50ms" }, { id: "grok-4.6", name: "Grok 4.6", req: 169, d: "75ms" }, + { id: "hy4-preview", name: "Hy4 preview", req: 1350, d: "90ms" }, { id: "gpt-5.6-luna", name: "GPT 5.6 Luna", req: 2050, d: "290ms" }, { id: "glm-5.3-flash", name: "GLM-5.3-Flash", req: 3160, baseReq: 1580, bonus: "2x usage", d: "100ms" }, { id: "minimax-m3", name: "MiniMax M3", req: 3200, d: "210ms" }, diff --git a/packages/console/app/src/routes/workspace/[id]/go/lite-section.tsx b/packages/console/app/src/routes/workspace/[id]/go/lite-section.tsx index 2c762920d5f1..3a0ebe361aec 100644 --- a/packages/console/app/src/routes/workspace/[id]/go/lite-section.tsx +++ b/packages/console/app/src/routes/workspace/[id]/go/lite-section.tsx @@ -663,6 +663,7 @@ export function LiteSection(props: { lite: LiteSubscription | undefined }) {
  • DeepSeek V4 Flash Vision Exp
  • MiMo-V2.5
  • MiMo-V2.5-Pro
  • +
  • Hy4 preview
  • Hy3
  • {i18n.t("workspace.lite.promo.footer")}

    diff --git a/packages/web/src/content/docs/ar/go.mdx b/packages/web/src/content/docs/ar/go.mdx index b2094f5c1f83..23e95b346026 100644 --- a/packages/web/src/content/docs/ar/go.mdx +++ b/packages/web/src/content/docs/ar/go.mdx @@ -72,6 +72,7 @@ OpenCode Go هو اشتراك منخفض التكلفة بقيمة **$10/شهر - **DeepSeek V4 Pro** - **DeepSeek V4 Flash** - **DeepSeek V4 Flash Vision Exp** +- **Hy4 preview** - **Hy3** قد تتغير قائمة النماذج مع استمرارنا في اختبار نماذج جديدة وإضافتها. @@ -115,6 +116,7 @@ OpenCode Go هو اشتراك منخفض التكلفة بقيمة **$10/شهر | DeepSeek V4 Pro | 1,050 | 2,600 | 5,200 | | DeepSeek V4 Flash | 7,600 | 18,900 | 37,800 | | DeepSeek V4 Flash Vision Exp | 3,800 | 9,450 | 18,900 | +| Hy4 preview | 1,350 | 3,380 | 6,770 | | Hy3 | 4,300 | 10,750 | 21,500 | تستند التقديرات إلى أنماط الطلبات المرصودة: @@ -137,6 +139,7 @@ OpenCode Go هو اشتراك منخفض التكلفة بقيمة **$10/شهر - Qwen3.7 Max — ‏420 input، و66,000 cached، و200 output tokens لكل طلب - Qwen3.7 Plus — ‏500 input، و57,000 cached، و190 output tokens لكل طلب - Qwen3.6 Plus — ‏500 input، و57,000 cached، و190 output tokens لكل طلب +- Hy4 preview — ‏830 input، و71,500 cached، و295 output tokens لكل طلب - Hy3 — ‏830 input، و71,500 cached، و295 output tokens لكل طلب - MiMo-V2.5 — ‏830 input، و71,500 cached، و295 output tokens لكل طلب - MiMo-V2.5-Pro — ‏790 input، و86,000 cached، و305 output tokens لكل طلب @@ -176,6 +179,7 @@ OpenCode Go هو اشتراك منخفض التكلفة بقيمة **$10/شهر | DeepSeek V4 Flash (Peak) | $0.44 | $1.32 | $0.014 | - | $30 | | DeepSeek V4 Flash Vision Exp (Off-Peak) | $0.22 | $0.66 | $0.007 | - | $15 | | DeepSeek V4 Flash Vision Exp (Peak) | $0.44 | $1.32 | $0.014 | - | $15 | +| Hy4 preview | $0.834 | $2.501 | $0.042 | - | $30 | | Hy3 | $0.14 | $0.58 | $0.035 | - | $60 | **DeepSeek V4 Flash / V4 Flash Vision Exp / V4 Pro:** ساعات Peak هي 01:00-04:00 و06:00-10:00 UTC من الاثنين إلى الجمعة؛ وجميع الساعات الأخرى، بما في ذلك عطلات نهاية الأسبوع، Off-Peak. [اعرف المزيد](https://api-docs.deepseek.com/quick_start/pricing/). @@ -240,6 +244,7 @@ OpenCode Go هو اشتراك منخفض التكلفة بقيمة **$10/شهر | Qwen3.7 Max | qwen3.7-max | `https://opencode.ai/zen/go/v1/messages` | `@ai-sdk/anthropic` | | Qwen3.7 Plus | qwen3.7-plus | `https://opencode.ai/zen/go/v1/messages` | `@ai-sdk/anthropic` | | Qwen3.6 Plus | qwen3.6-plus | `https://opencode.ai/zen/go/v1/messages` | `@ai-sdk/anthropic` | +| Hy4 preview | hy4-preview | `https://opencode.ai/zen/go/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Hy3 | hy3 | `https://opencode.ai/zen/go/v1/chat/completions` | `@ai-sdk/openai-compatible` | يستخدم [model id](/docs/config/#models) في إعدادات OpenCode لديك التنسيق `opencode-go/`. على سبيل المثال، بالنسبة إلى Kimi K3، ستستخدم `opencode-go/kimi-k3` في إعداداتك. @@ -283,6 +288,7 @@ https://opencode.ai/zen/go/v1/models | DeepSeek V4 Pro | غير مستخدَمة | 0 أيام | | DeepSeek V4 Flash | غير مستخدَمة | 0 أيام | | DeepSeek V4 Flash Vision Exp | غير مستخدَمة | 0 أيام | +| Hy4 preview | غير مستخدَمة | 0 أيام | | Hy3 | غير مستخدَمة | 0 أيام | - **Grok 4.6:** تعطّل ZDR ميزات API مهمة تعتمد على البيانات المخزنة، بما في ذلك Responses API ذات الحالة، وFiles and Collections، وBatch API. [اعرف المزيد](https://docs.x.ai/developers/faq/security#what-is-zero-data-retention-zdr). diff --git a/packages/web/src/content/docs/bs/go.mdx b/packages/web/src/content/docs/bs/go.mdx index cf7dbfad6eca..1200b785a33c 100644 --- a/packages/web/src/content/docs/bs/go.mdx +++ b/packages/web/src/content/docs/bs/go.mdx @@ -82,6 +82,7 @@ Trenutna lista modela uključuje: - **DeepSeek V4 Pro** - **DeepSeek V4 Flash** - **DeepSeek V4 Flash Vision Exp** +- **Hy4 preview** - **Hy3** Lista modela se može mijenjati dok testiramo i dodajemo nove. @@ -125,6 +126,7 @@ Tabela ispod pruža procijenjeni broj zahtjeva na osnovu tipičnih obrazaca kori | DeepSeek V4 Pro | 1,050 | 2,600 | 5,200 | | DeepSeek V4 Flash | 7,600 | 18,900 | 37,800 | | DeepSeek V4 Flash Vision Exp | 3,800 | 9,450 | 18,900 | +| Hy4 preview | 1,350 | 3,380 | 6,770 | | Hy3 | 4,300 | 10,750 | 21,500 | Procjene se zasnivaju na zapaženim obrascima zahtjeva: @@ -147,6 +149,7 @@ Procjene se zasnivaju na zapaženim obrascima zahtjeva: - Qwen3.7 Max — 420 ulaznih, 66,000 keširanih, 200 izlaznih tokena po zahtjevu - Qwen3.7 Plus — 500 ulaznih, 57,000 keširanih, 190 izlaznih tokena po zahtjevu - Qwen3.6 Plus — 500 ulaznih, 57,000 keširanih, 190 izlaznih tokena po zahtjevu +- Hy4 preview — 830 ulaznih, 71,500 keširanih, 295 izlaznih tokena po zahtjevu - Hy3 — 830 ulaznih, 71,500 keširanih, 295 izlaznih tokena po zahtjevu - MiMo-V2.5 — 830 ulaznih, 71,500 keširanih, 295 izlaznih tokena po zahtjevu - MiMo-V2.5-Pro — 790 ulaznih, 86,000 keširanih, 305 izlaznih tokena po zahtjevu @@ -186,6 +189,7 @@ Procjene se također zasnivaju na sljedećim cijenama po 1M tokena i mjesečnoj | DeepSeek V4 Flash (Peak) | $0.44 | $1.32 | $0.014 | - | $30 | | DeepSeek V4 Flash Vision Exp (Off-Peak) | $0.22 | $0.66 | $0.007 | - | $15 | | DeepSeek V4 Flash Vision Exp (Peak) | $0.44 | $1.32 | $0.014 | - | $15 | +| Hy4 preview | $0.834 | $2.501 | $0.042 | - | $30 | | Hy3 | $0.14 | $0.58 | $0.035 | - | $60 | **DeepSeek V4 Flash / V4 Flash Vision Exp / V4 Pro:** Peak sati su 01:00-04:00 i 06:00-10:00 UTC od ponedjeljka do petka; svi ostali sati, uključujući vikende, su Off-Peak. [Saznajte više](https://api-docs.deepseek.com/quick_start/pricing/). @@ -252,6 +256,7 @@ Također možete pristupiti Go modelima putem sljedećih API endpointa. | Qwen3.7 Max | qwen3.7-max | `https://opencode.ai/zen/go/v1/messages` | `@ai-sdk/anthropic` | | Qwen3.7 Plus | qwen3.7-plus | `https://opencode.ai/zen/go/v1/messages` | `@ai-sdk/anthropic` | | Qwen3.6 Plus | qwen3.6-plus | `https://opencode.ai/zen/go/v1/messages` | `@ai-sdk/anthropic` | +| Hy4 preview | hy4-preview | `https://opencode.ai/zen/go/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Hy3 | hy3 | `https://opencode.ai/zen/go/v1/chat/completions` | `@ai-sdk/openai-compatible` | [Model id](/docs/config/#models) u vašoj OpenCode konfiguraciji @@ -297,6 +302,7 @@ https://opencode.ai/zen/go/v1/models | DeepSeek V4 Pro | Ne koristi se | 0 dana | | DeepSeek V4 Flash | Ne koristi se | 0 dana | | DeepSeek V4 Flash Vision Exp | Ne koristi se | 0 dana | +| Hy4 preview | Ne koristi se | 0 dana | | Hy3 | Ne koristi se | 0 dana | - **Grok 4.6:** ZDR onemogućava važne API funkcije koje zavise od pohranjenih podataka, uključujući Responses API s očuvanjem stanja, Files and Collections i Batch API. [Saznajte više](https://docs.x.ai/developers/faq/security#what-is-zero-data-retention-zdr). diff --git a/packages/web/src/content/docs/da/go.mdx b/packages/web/src/content/docs/da/go.mdx index e962d4e4acf1..925e8c51761e 100644 --- a/packages/web/src/content/docs/da/go.mdx +++ b/packages/web/src/content/docs/da/go.mdx @@ -82,6 +82,7 @@ Den nuværende liste over modeller inkluderer: - **DeepSeek V4 Pro** - **DeepSeek V4 Flash** - **DeepSeek V4 Flash Vision Exp** +- **Hy4 preview** - **Hy3** Listen over modeller kan ændre sig, efterhånden som vi tester og tilføjer nye. @@ -125,6 +126,7 @@ Tabellen nedenfor giver et estimeret antal anmodninger baseret på typiske Go-fo | DeepSeek V4 Pro | 1,050 | 2,600 | 5,200 | | DeepSeek V4 Flash | 7,600 | 18,900 | 37,800 | | DeepSeek V4 Flash Vision Exp | 3,800 | 9,450 | 18,900 | +| Hy4 preview | 1,350 | 3,380 | 6,770 | | Hy3 | 4,300 | 10,750 | 21,500 | Estimaterne er baseret på observerede anmodningsmønstre: @@ -147,6 +149,7 @@ Estimaterne er baseret på observerede anmodningsmønstre: - Qwen3.7 Max — 420 input, 66.000 cachelagrede, 200 output-tokens pr. anmodning - Qwen3.7 Plus — 500 input, 57.000 cachelagrede, 190 output-tokens pr. anmodning - Qwen3.6 Plus — 500 input, 57.000 cachelagrede, 190 output-tokens pr. anmodning +- Hy4 preview — 830 input, 71.500 cachelagrede, 295 output-tokens pr. anmodning - Hy3 — 830 input, 71.500 cachelagrede, 295 output-tokens pr. anmodning - MiMo-V2.5 — 830 input, 71.500 cachelagrede, 295 output-tokens pr. anmodning - MiMo-V2.5-Pro — 790 input, 86.000 cachelagrede, 305 output-tokens pr. anmodning @@ -186,6 +189,7 @@ Estimaterne er også baseret på følgende priser pr. 1M tokens og det månedlig | DeepSeek V4 Flash (Peak) | $0.44 | $1.32 | $0.014 | - | $30 | | DeepSeek V4 Flash Vision Exp (Off-Peak) | $0.22 | $0.66 | $0.007 | - | $15 | | DeepSeek V4 Flash Vision Exp (Peak) | $0.44 | $1.32 | $0.014 | - | $15 | +| Hy4 preview | $0.834 | $2.501 | $0.042 | - | $30 | | Hy3 | $0.14 | $0.58 | $0.035 | - | $60 | **DeepSeek V4 Flash / V4 Flash Vision Exp / V4 Pro:** Peak-tiderne er 01:00-04:00 og 06:00-10:00 UTC fra mandag til fredag; alle andre tider, herunder weekender, er Off-Peak. [Læs mere](https://api-docs.deepseek.com/quick_start/pricing/). @@ -252,6 +256,7 @@ Du kan også få adgang til Go-modeller gennem følgende API-endpoints. | Qwen3.7 Max | qwen3.7-max | `https://opencode.ai/zen/go/v1/messages` | `@ai-sdk/anthropic` | | Qwen3.7 Plus | qwen3.7-plus | `https://opencode.ai/zen/go/v1/messages` | `@ai-sdk/anthropic` | | Qwen3.6 Plus | qwen3.6-plus | `https://opencode.ai/zen/go/v1/messages` | `@ai-sdk/anthropic` | +| Hy4 preview | hy4-preview | `https://opencode.ai/zen/go/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Hy3 | hy3 | `https://opencode.ai/zen/go/v1/chat/completions` | `@ai-sdk/openai-compatible` | Dit [model id](/docs/config/#models) i din OpenCode config @@ -297,6 +302,7 @@ https://opencode.ai/zen/go/v1/models | DeepSeek V4 Pro | Ikke brugt | 0 dage | | DeepSeek V4 Flash | Ikke brugt | 0 dage | | DeepSeek V4 Flash Vision Exp | Ikke brugt | 0 dage | +| Hy4 preview | Ikke brugt | 0 dage | | Hy3 | Ikke brugt | 0 dage | - **Grok 4.6:** ZDR deaktiverer vigtige API-funktioner, der afhænger af lagrede data, herunder den tilstandsbevarende Responses API, Files and Collections og Batch API. [Læs mere](https://docs.x.ai/developers/faq/security#what-is-zero-data-retention-zdr). diff --git a/packages/web/src/content/docs/de/go.mdx b/packages/web/src/content/docs/de/go.mdx index 31c5233ddeb2..941c439d75a9 100644 --- a/packages/web/src/content/docs/de/go.mdx +++ b/packages/web/src/content/docs/de/go.mdx @@ -74,6 +74,7 @@ Die aktuelle Liste der Modelle umfasst: - **DeepSeek V4 Pro** - **DeepSeek V4 Flash** - **DeepSeek V4 Flash Vision Exp** +- **Hy4 preview** - **Hy3** Die Liste der Modelle kann sich ändern, während wir neue testen und hinzufügen. @@ -117,6 +118,7 @@ Die folgende Tabelle zeigt eine geschätzte Anzahl von Anfragen basierend auf ty | DeepSeek V4 Pro | 1,050 | 2,600 | 5,200 | | DeepSeek V4 Flash | 7,600 | 18,900 | 37,800 | | DeepSeek V4 Flash Vision Exp | 3,800 | 9,450 | 18,900 | +| Hy4 preview | 1,350 | 3,380 | 6,770 | | Hy3 | 4,300 | 10,750 | 21,500 | Die Schätzungen basieren auf beobachteten Anfragemustern: @@ -139,6 +141,7 @@ Die Schätzungen basieren auf beobachteten Anfragemustern: - Qwen3.7 Max — 420 Input-, 66.000 Cached-, 200 Output-Tokens pro Anfrage - Qwen3.7 Plus — 500 Input-, 57.000 Cached-, 190 Output-Tokens pro Anfrage - Qwen3.6 Plus — 500 Input-, 57.000 Cached-, 190 Output-Tokens pro Anfrage +- Hy4 preview — 830 Input-, 71.500 Cached-, 295 Output-Tokens pro Anfrage - Hy3 — 830 Input-, 71.500 Cached-, 295 Output-Tokens pro Anfrage - MiMo-V2.5 — 830 Input-, 71.500 Cached-, 295 Output-Tokens pro Anfrage - MiMo-V2.5-Pro — 790 Input-, 86.000 Cached-, 305 Output-Tokens pro Anfrage @@ -178,6 +181,7 @@ Die Schätzungen basieren außerdem auf den folgenden Preisen pro 1M Tokens und | DeepSeek V4 Flash (Peak) | $0.44 | $1.32 | $0.014 | - | $30 | | DeepSeek V4 Flash Vision Exp (Off-Peak) | $0.22 | $0.66 | $0.007 | - | $15 | | DeepSeek V4 Flash Vision Exp (Peak) | $0.44 | $1.32 | $0.014 | - | $15 | +| Hy4 preview | $0.834 | $2.501 | $0.042 | - | $30 | | Hy3 | $0.14 | $0.58 | $0.035 | - | $60 | **DeepSeek V4 Flash / V4 Flash Vision Exp / V4 Pro:** Die Peak-Zeiten sind montags bis freitags von 01:00-04:00 und 06:00-10:00 UTC; alle anderen Zeiten, einschließlich der Wochenenden, sind Off-Peak. [Mehr erfahren](https://api-docs.deepseek.com/quick_start/pricing/). @@ -242,6 +246,7 @@ Du kannst auf die Go-Modelle auch über die folgenden API-Endpunkte zugreifen. | Qwen3.7 Max | qwen3.7-max | `https://opencode.ai/zen/go/v1/messages` | `@ai-sdk/anthropic` | | Qwen3.7 Plus | qwen3.7-plus | `https://opencode.ai/zen/go/v1/messages` | `@ai-sdk/anthropic` | | Qwen3.6 Plus | qwen3.6-plus | `https://opencode.ai/zen/go/v1/messages` | `@ai-sdk/anthropic` | +| Hy4 preview | hy4-preview | `https://opencode.ai/zen/go/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Hy3 | hy3 | `https://opencode.ai/zen/go/v1/chat/completions` | `@ai-sdk/openai-compatible` | Die [Modell-ID](/docs/config/#models) in deiner OpenCode Config verwendet das Format `opencode-go/`. Für Kimi K3 würdest du beispielsweise `opencode-go/kimi-k3` in deiner Config verwenden. @@ -285,6 +290,7 @@ https://opencode.ai/zen/go/v1/models | DeepSeek V4 Pro | Nicht verwendet | 0 Tage | | DeepSeek V4 Flash | Nicht verwendet | 0 Tage | | DeepSeek V4 Flash Vision Exp | Nicht verwendet | 0 Tage | +| Hy4 preview | Nicht verwendet | 0 Tage | | Hy3 | Nicht verwendet | 0 Tage | - **Grok 4.6:** ZDR deaktiviert wichtige API-Funktionen, die von gespeicherten Daten abhängen, einschließlich der zustandsbehafteten Responses API, Files and Collections und der Batch API. [Mehr erfahren](https://docs.x.ai/developers/faq/security#what-is-zero-data-retention-zdr). diff --git a/packages/web/src/content/docs/es/go.mdx b/packages/web/src/content/docs/es/go.mdx index 1585fb230d60..c5b40f679ef4 100644 --- a/packages/web/src/content/docs/es/go.mdx +++ b/packages/web/src/content/docs/es/go.mdx @@ -82,6 +82,7 @@ La lista actual de modelos incluye: - **DeepSeek V4 Pro** - **DeepSeek V4 Flash** - **DeepSeek V4 Flash Vision Exp** +- **Hy4 preview** - **Hy3** La lista de modelos puede cambiar a medida que probamos y agregamos otros nuevos. @@ -125,6 +126,7 @@ La siguiente tabla proporciona una cantidad estimada de peticiones basada en los | DeepSeek V4 Pro | 1,050 | 2,600 | 5,200 | | DeepSeek V4 Flash | 7,600 | 18,900 | 37,800 | | DeepSeek V4 Flash Vision Exp | 3,800 | 9,450 | 18,900 | +| Hy4 preview | 1,350 | 3,380 | 6,770 | | Hy3 | 4,300 | 10,750 | 21,500 | Las estimaciones se basan en los patrones de peticiones observados: @@ -147,6 +149,7 @@ Las estimaciones se basan en los patrones de peticiones observados: - Qwen3.7 Max — 420 tokens de entrada, 66,000 en caché, 200 tokens de salida por petición - Qwen3.7 Plus — 500 tokens de entrada, 57,000 en caché, 190 tokens de salida por petición - Qwen3.6 Plus — 500 tokens de entrada, 57,000 en caché, 190 tokens de salida por petición +- Hy4 preview — 830 tokens de entrada, 71,500 en caché, 295 tokens de salida por petición - Hy3 — 830 tokens de entrada, 71,500 en caché, 295 tokens de salida por petición - MiMo-V2.5 — 830 tokens de entrada, 71,500 en caché, 295 tokens de salida por petición - MiMo-V2.5-Pro — 790 tokens de entrada, 86,000 en caché, 305 tokens de salida por petición @@ -186,6 +189,7 @@ Las estimaciones también se basan en los siguientes precios por 1M tokens y en | DeepSeek V4 Flash (Peak) | $0.44 | $1.32 | $0.014 | - | $30 | | DeepSeek V4 Flash Vision Exp (Off-Peak) | $0.22 | $0.66 | $0.007 | - | $15 | | DeepSeek V4 Flash Vision Exp (Peak) | $0.44 | $1.32 | $0.014 | - | $15 | +| Hy4 preview | $0.834 | $2.501 | $0.042 | - | $30 | | Hy3 | $0.14 | $0.58 | $0.035 | - | $60 | **DeepSeek V4 Flash / V4 Flash Vision Exp / V4 Pro:** Las horas Peak son 01:00-04:00 y 06:00-10:00 UTC, de lunes a viernes; todas las demás horas, incluidos los fines de semana, son Off-Peak. [Más información](https://api-docs.deepseek.com/quick_start/pricing/). @@ -252,6 +256,7 @@ También puedes acceder a los modelos de Go a través de los siguientes endpoint | Qwen3.7 Max | qwen3.7-max | `https://opencode.ai/zen/go/v1/messages` | `@ai-sdk/anthropic` | | Qwen3.7 Plus | qwen3.7-plus | `https://opencode.ai/zen/go/v1/messages` | `@ai-sdk/anthropic` | | Qwen3.6 Plus | qwen3.6-plus | `https://opencode.ai/zen/go/v1/messages` | `@ai-sdk/anthropic` | +| Hy4 preview | hy4-preview | `https://opencode.ai/zen/go/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Hy3 | hy3 | `https://opencode.ai/zen/go/v1/chat/completions` | `@ai-sdk/openai-compatible` | El [ID del modelo](/docs/config/#models) en tu configuración de OpenCode @@ -297,6 +302,7 @@ https://opencode.ai/zen/go/v1/models | DeepSeek V4 Pro | No utilizado | 0 días | | DeepSeek V4 Flash | No utilizado | 0 días | | DeepSeek V4 Flash Vision Exp | No utilizado | 0 días | +| Hy4 preview | No utilizado | 0 días | | Hy3 | No utilizado | 0 días | - **Grok 4.6:** ZDR deshabilita funciones importantes de la API que dependen de datos almacenados, incluidas la Responses API con estado, Files and Collections y la Batch API. [Más información](https://docs.x.ai/developers/faq/security#what-is-zero-data-retention-zdr). diff --git a/packages/web/src/content/docs/fr/go.mdx b/packages/web/src/content/docs/fr/go.mdx index a5b13e2fa73d..f47bf643b11c 100644 --- a/packages/web/src/content/docs/fr/go.mdx +++ b/packages/web/src/content/docs/fr/go.mdx @@ -72,6 +72,7 @@ La liste actuelle des modèles comprend : - **DeepSeek V4 Pro** - **DeepSeek V4 Flash** - **DeepSeek V4 Flash Vision Exp** +- **Hy4 preview** - **Hy3** La liste des modèles peut changer au fur et à mesure que nous en testons et en ajoutons de nouveaux. @@ -115,6 +116,7 @@ Le tableau ci-dessous fournit une estimation du nombre de requêtes basée sur d | DeepSeek V4 Pro | 1,050 | 2,600 | 5,200 | | DeepSeek V4 Flash | 7,600 | 18,900 | 37,800 | | DeepSeek V4 Flash Vision Exp | 3,800 | 9,450 | 18,900 | +| Hy4 preview | 1,350 | 3,380 | 6,770 | | Hy3 | 4,300 | 10,750 | 21,500 | Les estimations sont basées sur les schémas de requêtes observés : @@ -137,6 +139,7 @@ Les estimations sont basées sur les schémas de requêtes observés : - Qwen3.7 Max — 420 tokens en entrée, 66,000 en cache, 200 tokens en sortie par requête - Qwen3.7 Plus — 500 tokens en entrée, 57,000 en cache, 190 tokens en sortie par requête - Qwen3.6 Plus — 500 tokens en entrée, 57,000 en cache, 190 tokens en sortie par requête +- Hy4 preview — 830 tokens en entrée, 71,500 en cache, 295 tokens en sortie par requête - Hy3 — 830 tokens en entrée, 71,500 en cache, 295 tokens en sortie par requête - MiMo-V2.5 — 830 tokens en entrée, 71,500 en cache, 295 tokens en sortie par requête - MiMo-V2.5-Pro — 790 tokens en entrée, 86,000 en cache, 305 tokens en sortie par requête @@ -176,6 +179,7 @@ Les estimations sont également basées sur les prix suivants par 1M tokens et s | DeepSeek V4 Flash (Peak) | $0.44 | $1.32 | $0.014 | - | $30 | | DeepSeek V4 Flash Vision Exp (Off-Peak) | $0.22 | $0.66 | $0.007 | - | $15 | | DeepSeek V4 Flash Vision Exp (Peak) | $0.44 | $1.32 | $0.014 | - | $15 | +| Hy4 preview | $0.834 | $2.501 | $0.042 | - | $30 | | Hy3 | $0.14 | $0.58 | $0.035 | - | $60 | **DeepSeek V4 Flash / V4 Flash Vision Exp / V4 Pro:** Les heures Peak sont 01:00-04:00 et 06:00-10:00 UTC, du lundi au vendredi ; toutes les autres heures, y compris le week-end, sont Off-Peak. [En savoir plus](https://api-docs.deepseek.com/quick_start/pricing/). @@ -240,6 +244,7 @@ Vous pouvez également accéder aux modèles Go via les points de terminaison d' | Qwen3.7 Max | qwen3.7-max | `https://opencode.ai/zen/go/v1/messages` | `@ai-sdk/anthropic` | | Qwen3.7 Plus | qwen3.7-plus | `https://opencode.ai/zen/go/v1/messages` | `@ai-sdk/anthropic` | | Qwen3.6 Plus | qwen3.6-plus | `https://opencode.ai/zen/go/v1/messages` | `@ai-sdk/anthropic` | +| Hy4 preview | hy4-preview | `https://opencode.ai/zen/go/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Hy3 | hy3 | `https://opencode.ai/zen/go/v1/chat/completions` | `@ai-sdk/openai-compatible` | L'[ID de modèle](/docs/config/#models) dans votre configuration OpenCode utilise le format `opencode-go/`. Par exemple, pour Kimi K3, vous utiliseriez `opencode-go/kimi-k3` dans votre configuration. @@ -283,6 +288,7 @@ https://opencode.ai/zen/go/v1/models | DeepSeek V4 Pro | Non utilisé | 0 jour | | DeepSeek V4 Flash | Non utilisé | 0 jour | | DeepSeek V4 Flash Vision Exp | Non utilisé | 0 jour | +| Hy4 preview | Non utilisé | 0 jour | | Hy3 | Non utilisé | 0 jour | - **Grok 4.6:** Le ZDR désactive d’importantes fonctionnalités API qui dépendent des données stockées, notamment Responses API avec état, Files and Collections et Batch API. [En savoir plus](https://docs.x.ai/developers/faq/security#what-is-zero-data-retention-zdr). diff --git a/packages/web/src/content/docs/go.mdx b/packages/web/src/content/docs/go.mdx index 96a6b4cbcc39..4c5e925a9f7f 100644 --- a/packages/web/src/content/docs/go.mdx +++ b/packages/web/src/content/docs/go.mdx @@ -82,6 +82,7 @@ The current list of models includes: - **DeepSeek V4 Pro** - **DeepSeek V4 Flash** - **DeepSeek V4 Flash Vision Exp** +- **Hy4 preview** - **Hy3** The list of models may change as we test and add new ones. @@ -125,6 +126,7 @@ The table below provides an estimated request count based on typical Go usage pa | DeepSeek V4 Pro | 1,050 | 2,600 | 5,200 | | DeepSeek V4 Flash | 7,600 | 18,900 | 37,800 | | DeepSeek V4 Flash Vision Exp | 3,800 | 9,450 | 18,900 | +| Hy4 preview | 1,350 | 3,380 | 6,770 | | Hy3 | 4,300 | 10,750 | 21,500 | The estimates are based on observed request patterns: @@ -149,6 +151,7 @@ The estimates are based on observed request patterns: - Qwen3.7 Max — 420 input, 66,000 cached, 200 output tokens per request - Qwen3.7 Plus — 500 input, 57,000 cached, 190 output tokens per request - Qwen3.6 Plus — 500 input, 57,000 cached, 190 output tokens per request +- Hy4 preview — 830 input, 71,500 cached, 295 output tokens per request - Hy3 — 830 input, 71,500 cached, 295 output tokens per request The estimates are also based on the following prices per 1M tokens and the monthly usage included with each model: @@ -186,6 +189,7 @@ The estimates are also based on the following prices per 1M tokens and the month | DeepSeek V4 Flash (Peak) | $0.44 | $1.32 | $0.014 | - | $30 | | DeepSeek V4 Flash Vision Exp (Off-Peak) | $0.22 | $0.66 | $0.007 | - | $15 | | DeepSeek V4 Flash Vision Exp (Peak) | $0.44 | $1.32 | $0.014 | - | $15 | +| Hy4 preview | $0.834 | $2.501 | $0.042 | - | $30 | | Hy3 | $0.14 | $0.58 | $0.035 | - | $60 | **DeepSeek V4 Flash / V4 Flash Vision Exp / V4 Pro:** Peak hours are 01:00-04:00 and 06:00-10:00 UTC, Monday through Friday; all other hours, including weekends, are Off-Peak. [Learn more](https://api-docs.deepseek.com/quick_start/pricing/). @@ -252,6 +256,7 @@ You can also access Go models through the following API endpoints. | Qwen3.7 Max | qwen3.7-max | `https://opencode.ai/zen/go/v1/messages` | `@ai-sdk/anthropic` | | Qwen3.7 Plus | qwen3.7-plus | `https://opencode.ai/zen/go/v1/messages` | `@ai-sdk/anthropic` | | Qwen3.6 Plus | qwen3.6-plus | `https://opencode.ai/zen/go/v1/messages` | `@ai-sdk/anthropic` | +| Hy4 preview | hy4-preview | `https://opencode.ai/zen/go/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Hy3 | hy3 | `https://opencode.ai/zen/go/v1/chat/completions` | `@ai-sdk/openai-compatible` | The [model id](/docs/config/#models) in your OpenCode config @@ -297,6 +302,7 @@ https://opencode.ai/zen/go/v1/models | DeepSeek V4 Pro | Not used | 0 days\* | | DeepSeek V4 Flash | Not used | 0 days\* | | DeepSeek V4 Flash Vision Exp | Not used | 0 days\* | +| Hy4 preview | Not used | 0 days | | Hy3 | Not used | 0 days | - **Grok 4.6:** ZDR disables important API features that depend on stored data, including the stateful Responses API, Files and Collections, and the Batch API. [Learn more](https://docs.x.ai/developers/faq/security#what-is-zero-data-retention-zdr). diff --git a/packages/web/src/content/docs/it/go.mdx b/packages/web/src/content/docs/it/go.mdx index cd553896bde4..634a1d89850b 100644 --- a/packages/web/src/content/docs/it/go.mdx +++ b/packages/web/src/content/docs/it/go.mdx @@ -80,6 +80,7 @@ L'elenco attuale dei modelli include: - **DeepSeek V4 Pro** - **DeepSeek V4 Flash** - **DeepSeek V4 Flash Vision Exp** +- **Hy4 preview** - **Hy3** L'elenco dei modelli potrebbe cambiare man mano che ne testiamo e aggiungiamo di nuovi. @@ -123,6 +124,7 @@ La tabella seguente fornisce una stima del conteggio delle richieste in base a p | DeepSeek V4 Pro | 1,050 | 2,600 | 5,200 | | DeepSeek V4 Flash | 7,600 | 18,900 | 37,800 | | DeepSeek V4 Flash Vision Exp | 3,800 | 9,450 | 18,900 | +| Hy4 preview | 1,350 | 3,380 | 6,770 | | Hy3 | 4,300 | 10,750 | 21,500 | Le stime si basano sui pattern di richieste osservati: @@ -145,6 +147,7 @@ Le stime si basano sui pattern di richieste osservati: - Qwen3.7 Max — 420 di input, 66.000 in cache, 200 token di output per richiesta - Qwen3.7 Plus — 500 di input, 57.000 in cache, 190 token di output per richiesta - Qwen3.6 Plus — 500 di input, 57.000 in cache, 190 token di output per richiesta +- Hy4 preview — 830 di input, 71.500 in cache, 295 token di output per richiesta - Hy3 — 830 di input, 71.500 in cache, 295 token di output per richiesta - MiMo-V2.5 — 830 di input, 71.500 in cache, 295 token di output per richiesta - MiMo-V2.5-Pro — 790 di input, 86.000 in cache, 305 token di output per richiesta @@ -184,6 +187,7 @@ Le stime si basano anche sui seguenti prezzi per 1M token e sull'utilizzo mensil | DeepSeek V4 Flash (Peak) | $0.44 | $1.32 | $0.014 | - | $30 | | DeepSeek V4 Flash Vision Exp (Off-Peak) | $0.22 | $0.66 | $0.007 | - | $15 | | DeepSeek V4 Flash Vision Exp (Peak) | $0.44 | $1.32 | $0.014 | - | $15 | +| Hy4 preview | $0.834 | $2.501 | $0.042 | - | $30 | | Hy3 | $0.14 | $0.58 | $0.035 | - | $60 | **DeepSeek V4 Flash / V4 Flash Vision Exp / V4 Pro:** Gli orari Peak sono 01:00-04:00 e 06:00-10:00 UTC, dal lunedì al venerdì; tutti gli altri orari, inclusi i fine settimana, sono Off-Peak. [Scopri di più](https://api-docs.deepseek.com/quick_start/pricing/). @@ -250,6 +254,7 @@ Puoi anche accedere ai modelli Go tramite i seguenti endpoint API. | Qwen3.7 Max | qwen3.7-max | `https://opencode.ai/zen/go/v1/messages` | `@ai-sdk/anthropic` | | Qwen3.7 Plus | qwen3.7-plus | `https://opencode.ai/zen/go/v1/messages` | `@ai-sdk/anthropic` | | Qwen3.6 Plus | qwen3.6-plus | `https://opencode.ai/zen/go/v1/messages` | `@ai-sdk/anthropic` | +| Hy4 preview | hy4-preview | `https://opencode.ai/zen/go/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Hy3 | hy3 | `https://opencode.ai/zen/go/v1/chat/completions` | `@ai-sdk/openai-compatible` | Il [model id](/docs/config/#models) nella tua OpenCode config @@ -295,6 +300,7 @@ https://opencode.ai/zen/go/v1/models | DeepSeek V4 Pro | Non utilizzato | 0 giorni | | DeepSeek V4 Flash | Non utilizzato | 0 giorni | | DeepSeek V4 Flash Vision Exp | Non utilizzato | 0 giorni | +| Hy4 preview | Non utilizzato | 0 giorni | | Hy3 | Non utilizzato | 0 giorni | - **Grok 4.6:** ZDR disabilita importanti funzionalità API che dipendono dai dati archiviati, tra cui la Responses API con stato, Files and Collections e Batch API. [Scopri di più](https://docs.x.ai/developers/faq/security#what-is-zero-data-retention-zdr). diff --git a/packages/web/src/content/docs/ja/go.mdx b/packages/web/src/content/docs/ja/go.mdx index c277ee728dad..fdfbb5ab90c4 100644 --- a/packages/web/src/content/docs/ja/go.mdx +++ b/packages/web/src/content/docs/ja/go.mdx @@ -72,6 +72,7 @@ OpenCode Goをサブスクライブできるのは、1つのワークスペー - **DeepSeek V4 Pro** - **DeepSeek V4 Flash** - **DeepSeek V4 Flash Vision Exp** +- **Hy4 preview** - **Hy3** 新しいモデルをテストして追加するにつれて、モデルのリストは変更される場合があります。 @@ -115,6 +116,7 @@ OpenCode Goには以下の制限が含まれています: | DeepSeek V4 Pro | 1,050 | 2,600 | 5,200 | | DeepSeek V4 Flash | 7,600 | 18,900 | 37,800 | | DeepSeek V4 Flash Vision Exp | 3,800 | 9,450 | 18,900 | +| Hy4 preview | 1,350 | 3,380 | 6,770 | | Hy3 | 4,300 | 10,750 | 21,500 | 推定値は、観測されたリクエストパターンに基づいています: @@ -137,6 +139,7 @@ OpenCode Goには以下の制限が含まれています: - Qwen3.7 Max — リクエストあたり 入力 420トークン、キャッシュ 66,000トークン、出力 200トークン - Qwen3.7 Plus — リクエストあたり 入力 500トークン、キャッシュ 57,000トークン、出力 190トークン - Qwen3.6 Plus — リクエストあたり 入力 500トークン、キャッシュ 57,000トークン、出力 190トークン +- Hy4 preview — リクエストあたり 入力 830トークン、キャッシュ 71,500トークン、出力 295トークン - Hy3 — リクエストあたり 入力 830トークン、キャッシュ 71,500トークン、出力 295トークン - MiMo-V2.5 — リクエストあたり 入力 830トークン、キャッシュ 71,500トークン、出力 295トークン - MiMo-V2.5-Pro — リクエストあたり 入力 790トークン、キャッシュ 86,000トークン、出力 305トークン @@ -176,6 +179,7 @@ OpenCode Goには以下の制限が含まれています: | DeepSeek V4 Flash (Peak) | $0.44 | $1.32 | $0.014 | - | $30 | | DeepSeek V4 Flash Vision Exp (Off-Peak) | $0.22 | $0.66 | $0.007 | - | $15 | | DeepSeek V4 Flash Vision Exp (Peak) | $0.44 | $1.32 | $0.014 | - | $15 | +| Hy4 preview | $0.834 | $2.501 | $0.042 | - | $30 | | Hy3 | $0.14 | $0.58 | $0.035 | - | $60 | **DeepSeek V4 Flash / V4 Flash Vision Exp / V4 Pro:** Peak時間は月曜日から金曜日の01:00-04:00と06:00-10:00 UTCで、週末を含むそれ以外の時間はすべてOff-Peakです。[詳しく見る](https://api-docs.deepseek.com/quick_start/pricing/)。 @@ -240,6 +244,7 @@ Goでは月額$10を支払い、その6倍の利用枠を提供することを | Qwen3.7 Max | qwen3.7-max | `https://opencode.ai/zen/go/v1/messages` | `@ai-sdk/anthropic` | | Qwen3.7 Plus | qwen3.7-plus | `https://opencode.ai/zen/go/v1/messages` | `@ai-sdk/anthropic` | | Qwen3.6 Plus | qwen3.6-plus | `https://opencode.ai/zen/go/v1/messages` | `@ai-sdk/anthropic` | +| Hy4 preview | hy4-preview | `https://opencode.ai/zen/go/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Hy3 | hy3 | `https://opencode.ai/zen/go/v1/chat/completions` | `@ai-sdk/openai-compatible` | OpenCode設定の[model id](/docs/config/#models)は、`opencode-go/`という形式を使用します。たとえば、Kimi K3の場合は、設定で`opencode-go/kimi-k3`を使用します。 @@ -283,6 +288,7 @@ https://opencode.ai/zen/go/v1/models | DeepSeek V4 Pro | 使用なし | 0日 | | DeepSeek V4 Flash | 使用なし | 0日 | | DeepSeek V4 Flash Vision Exp | 使用なし | 0日 | +| Hy4 preview | 使用なし | 0日 | | Hy3 | 使用なし | 0日 | - **Grok 4.6:** ZDRでは、保存データに依存する重要なAPI機能(ステートフルなResponses API、Files and Collections、Batch APIなど)が無効になります。[詳しく見る](https://docs.x.ai/developers/faq/security#what-is-zero-data-retention-zdr)。 diff --git a/packages/web/src/content/docs/ko/go.mdx b/packages/web/src/content/docs/ko/go.mdx index d2e5bfc8bb98..41d6f227d372 100644 --- a/packages/web/src/content/docs/ko/go.mdx +++ b/packages/web/src/content/docs/ko/go.mdx @@ -72,6 +72,7 @@ workspace당 한 명의 멤버만 OpenCode Go를 구독할 수 있습니다. - **DeepSeek V4 Pro** - **DeepSeek V4 Flash** - **DeepSeek V4 Flash Vision Exp** +- **Hy4 preview** - **Hy3** 새로운 모델을 테스트하고 추가함에 따라 이 목록은 변경될 수 있습니다. @@ -115,6 +116,7 @@ OpenCode Go에는 다음과 같은 한도가 포함됩니다. | DeepSeek V4 Pro | 1,050 | 2,600 | 5,200 | | DeepSeek V4 Flash | 7,600 | 18,900 | 37,800 | | DeepSeek V4 Flash Vision Exp | 3,800 | 9,450 | 18,900 | +| Hy4 preview | 1,350 | 3,380 | 6,770 | | Hy3 | 4,300 | 10,750 | 21,500 | 이 예상치는 관찰된 요청 패턴을 기준으로 합니다. @@ -137,6 +139,7 @@ OpenCode Go에는 다음과 같은 한도가 포함됩니다. - Qwen3.7 Max — 요청당 입력 420, 캐시 66,000, 출력 토큰 200 - Qwen3.7 Plus — 요청당 입력 500, 캐시 57,000, 출력 토큰 190 - Qwen3.6 Plus — 요청당 입력 500, 캐시 57,000, 출력 토큰 190 +- Hy4 preview — 요청당 입력 830, 캐시 71,500, 출력 토큰 295 - Hy3 — 요청당 입력 830, 캐시 71,500, 출력 토큰 295 - MiMo-V2.5 — 요청당 입력 830, 캐시 71,500, 출력 토큰 295 - MiMo-V2.5-Pro — 요청당 입력 790, 캐시 86,000, 출력 토큰 305 @@ -176,6 +179,7 @@ OpenCode Go에는 다음과 같은 한도가 포함됩니다. | DeepSeek V4 Flash (Peak) | $0.44 | $1.32 | $0.014 | - | $30 | | DeepSeek V4 Flash Vision Exp (Off-Peak) | $0.22 | $0.66 | $0.007 | - | $15 | | DeepSeek V4 Flash Vision Exp (Peak) | $0.44 | $1.32 | $0.014 | - | $15 | +| Hy4 preview | $0.834 | $2.501 | $0.042 | - | $30 | | Hy3 | $0.14 | $0.58 | $0.035 | - | $60 | **DeepSeek V4 Flash / V4 Flash Vision Exp / V4 Pro:** Peak 시간은 월요일부터 금요일까지 01:00-04:00 및 06:00-10:00 UTC이며, 주말을 포함한 그 외 모든 시간은 Off-Peak입니다. [자세히 알아보기](https://api-docs.deepseek.com/quick_start/pricing/). @@ -240,6 +244,7 @@ Go에서는 월 $10를 지불하며, 저희는 그 6배의 사용량을 제공 | Qwen3.7 Max | qwen3.7-max | `https://opencode.ai/zen/go/v1/messages` | `@ai-sdk/anthropic` | | Qwen3.7 Plus | qwen3.7-plus | `https://opencode.ai/zen/go/v1/messages` | `@ai-sdk/anthropic` | | Qwen3.6 Plus | qwen3.6-plus | `https://opencode.ai/zen/go/v1/messages` | `@ai-sdk/anthropic` | +| Hy4 preview | hy4-preview | `https://opencode.ai/zen/go/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Hy3 | hy3 | `https://opencode.ai/zen/go/v1/chat/completions` | `@ai-sdk/openai-compatible` | OpenCode config의 [model id](/docs/config/#models)는 `opencode-go/` 형식을 사용합니다. 예를 들어 Kimi K3의 경우 config에서 `opencode-go/kimi-k3`를 사용하면 됩니다. @@ -283,6 +288,7 @@ https://opencode.ai/zen/go/v1/models | DeepSeek V4 Pro | 사용되지 않음 | 0일 | | DeepSeek V4 Flash | 사용되지 않음 | 0일 | | DeepSeek V4 Flash Vision Exp | 사용되지 않음 | 0일 | +| Hy4 preview | 사용되지 않음 | 0일 | | Hy3 | 사용되지 않음 | 0일 | - **Grok 4.6:** ZDR은 저장된 데이터에 의존하는 중요한 API 기능(상태 저장형 Responses API, Files and Collections, Batch API 포함)을 비활성화합니다. [자세히 알아보기](https://docs.x.ai/developers/faq/security#what-is-zero-data-retention-zdr). diff --git a/packages/web/src/content/docs/nb/go.mdx b/packages/web/src/content/docs/nb/go.mdx index 37393d9e45c9..cb802b371d78 100644 --- a/packages/web/src/content/docs/nb/go.mdx +++ b/packages/web/src/content/docs/nb/go.mdx @@ -82,6 +82,7 @@ Den nåværende listen over modeller inkluderer: - **DeepSeek V4 Pro** - **DeepSeek V4 Flash** - **DeepSeek V4 Flash Vision Exp** +- **Hy4 preview** - **Hy3** Listen over modeller kan endres etter hvert som vi tester og legger til nye. @@ -125,6 +126,7 @@ Tabellen nedenfor gir et estimert antall forespørsler basert på typiske bruksm | DeepSeek V4 Pro | 1,050 | 2,600 | 5,200 | | DeepSeek V4 Flash | 7,600 | 18,900 | 37,800 | | DeepSeek V4 Flash Vision Exp | 3,800 | 9,450 | 18,900 | +| Hy4 preview | 1,350 | 3,380 | 6,770 | | Hy3 | 4,300 | 10,750 | 21,500 | Estimatene er basert på observerte forespørselsmønstre: @@ -147,6 +149,7 @@ Estimatene er basert på observerte forespørselsmønstre: - Qwen3.7 Max — 420 input, 66 000 bufret, 200 output-tokens per forespørsel - Qwen3.7 Plus — 500 input, 57 000 bufret, 190 output-tokens per forespørsel - Qwen3.6 Plus — 500 input, 57 000 bufret, 190 output-tokens per forespørsel +- Hy4 preview — 830 input, 71 500 bufret, 295 output-tokens per forespørsel - Hy3 — 830 input, 71 500 bufret, 295 output-tokens per forespørsel - MiMo-V2.5 — 830 input, 71 500 bufret, 295 output-tokens per forespørsel - MiMo-V2.5-Pro — 790 input, 86 000 bufret, 305 output-tokens per forespørsel @@ -186,6 +189,7 @@ Estimatene er også basert på følgende priser per 1M tokens og den månedlige | DeepSeek V4 Flash (Peak) | $0.44 | $1.32 | $0.014 | - | $30 | | DeepSeek V4 Flash Vision Exp (Off-Peak) | $0.22 | $0.66 | $0.007 | - | $15 | | DeepSeek V4 Flash Vision Exp (Peak) | $0.44 | $1.32 | $0.014 | - | $15 | +| Hy4 preview | $0.834 | $2.501 | $0.042 | - | $30 | | Hy3 | $0.14 | $0.58 | $0.035 | - | $60 | **DeepSeek V4 Flash / V4 Flash Vision Exp / V4 Pro:** Peak-tidene er 01:00-04:00 og 06:00-10:00 UTC fra mandag til fredag; alle andre tider, inkludert helger, er Off-Peak. [Les mer](https://api-docs.deepseek.com/quick_start/pricing/). @@ -252,6 +256,7 @@ Du kan også få tilgang til Go-modeller gjennom følgende API-endepunkter. | Qwen3.7 Max | qwen3.7-max | `https://opencode.ai/zen/go/v1/messages` | `@ai-sdk/anthropic` | | Qwen3.7 Plus | qwen3.7-plus | `https://opencode.ai/zen/go/v1/messages` | `@ai-sdk/anthropic` | | Qwen3.6 Plus | qwen3.6-plus | `https://opencode.ai/zen/go/v1/messages` | `@ai-sdk/anthropic` | +| Hy4 preview | hy4-preview | `https://opencode.ai/zen/go/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Hy3 | hy3 | `https://opencode.ai/zen/go/v1/chat/completions` | `@ai-sdk/openai-compatible` | [Modell-ID-en](/docs/config/#models) i din OpenCode-konfigurasjon @@ -297,6 +302,7 @@ https://opencode.ai/zen/go/v1/models | DeepSeek V4 Pro | Brukes ikke | 0 dager | | DeepSeek V4 Flash | Brukes ikke | 0 dager | | DeepSeek V4 Flash Vision Exp | Brukes ikke | 0 dager | +| Hy4 preview | Brukes ikke | 0 dager | | Hy3 | Brukes ikke | 0 dager | - **Grok 4.6:** ZDR deaktiverer viktige API-funksjoner som er avhengige av lagrede data, inkludert den tilstandsbaserte Responses API, Files and Collections og Batch API. [Les mer](https://docs.x.ai/developers/faq/security#what-is-zero-data-retention-zdr). diff --git a/packages/web/src/content/docs/pl/go.mdx b/packages/web/src/content/docs/pl/go.mdx index a43f032f86bb..2acddfffb0b8 100644 --- a/packages/web/src/content/docs/pl/go.mdx +++ b/packages/web/src/content/docs/pl/go.mdx @@ -76,6 +76,7 @@ Obecna lista modeli obejmuje: - **DeepSeek V4 Pro** - **DeepSeek V4 Flash** - **DeepSeek V4 Flash Vision Exp** +- **Hy4 preview** - **Hy3** Lista modeli może ulec zmianie w miarę testowania i dodawania nowych. @@ -119,6 +120,7 @@ Poniższa tabela przedstawia szacunkową liczbę żądań na podstawie typowych | DeepSeek V4 Pro | 1,050 | 2,600 | 5,200 | | DeepSeek V4 Flash | 7,600 | 18,900 | 37,800 | | DeepSeek V4 Flash Vision Exp | 3,800 | 9,450 | 18,900 | +| Hy4 preview | 1,350 | 3,380 | 6,770 | | Hy3 | 4,300 | 10,750 | 21,500 | Szacunki te opierają się na zaobserwowanych wzorcach żądań: @@ -141,6 +143,7 @@ Szacunki te opierają się na zaobserwowanych wzorcach żądań: - Qwen3.7 Max — 420 tokenów wejściowych, 66 000 w pamięci podręcznej, 200 tokenów wyjściowych na żądanie - Qwen3.7 Plus — 500 tokenów wejściowych, 57 000 w pamięci podręcznej, 190 tokenów wyjściowych na żądanie - Qwen3.6 Plus — 500 tokenów wejściowych, 57 000 w pamięci podręcznej, 190 tokenów wyjściowych na żądanie +- Hy4 preview — 830 tokenów wejściowych, 71 500 w pamięci podręcznej, 295 tokenów wyjściowych na żądanie - Hy3 — 830 tokenów wejściowych, 71 500 w pamięci podręcznej, 295 tokenów wyjściowych na żądanie - MiMo-V2.5 — 830 tokenów wejściowych, 71 500 w pamięci podręcznej, 295 tokenów wyjściowych na żądanie - MiMo-V2.5-Pro — 790 tokenów wejściowych, 86 000 w pamięci podręcznej, 305 tokenów wyjściowych na żądanie @@ -180,6 +183,7 @@ Szacunki opierają się również na następujących cenach za 1M tokenów oraz | DeepSeek V4 Flash (Peak) | $0.44 | $1.32 | $0.014 | - | $30 | | DeepSeek V4 Flash Vision Exp (Off-Peak) | $0.22 | $0.66 | $0.007 | - | $15 | | DeepSeek V4 Flash Vision Exp (Peak) | $0.44 | $1.32 | $0.014 | - | $15 | +| Hy4 preview | $0.834 | $2.501 | $0.042 | - | $30 | | Hy3 | $0.14 | $0.58 | $0.035 | - | $60 | **DeepSeek V4 Flash / V4 Flash Vision Exp / V4 Pro:** Godziny Peak to 01:00-04:00 i 06:00-10:00 UTC od poniedziałku do piątku; wszystkie pozostałe godziny, w tym weekendy, to Off-Peak. [Dowiedz się więcej](https://api-docs.deepseek.com/quick_start/pricing/). @@ -244,6 +248,7 @@ Możesz również uzyskać dostęp do modeli Go za pośrednictwem następującyc | Qwen3.7 Max | qwen3.7-max | `https://opencode.ai/zen/go/v1/messages` | `@ai-sdk/anthropic` | | Qwen3.7 Plus | qwen3.7-plus | `https://opencode.ai/zen/go/v1/messages` | `@ai-sdk/anthropic` | | Qwen3.6 Plus | qwen3.6-plus | `https://opencode.ai/zen/go/v1/messages` | `@ai-sdk/anthropic` | +| Hy4 preview | hy4-preview | `https://opencode.ai/zen/go/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Hy3 | hy3 | `https://opencode.ai/zen/go/v1/chat/completions` | `@ai-sdk/openai-compatible` | [ID modelu](/docs/config/#models) w Twojej konfiguracji OpenCode @@ -289,6 +294,7 @@ https://opencode.ai/zen/go/v1/models | DeepSeek V4 Pro | Niewykorzystywane | 0 dni | | DeepSeek V4 Flash | Niewykorzystywane | 0 dni | | DeepSeek V4 Flash Vision Exp | Niewykorzystywane | 0 dni | +| Hy4 preview | Niewykorzystywane | 0 dni | | Hy3 | Niewykorzystywane | 0 dni | - **Grok 4.6:** ZDR wyłącza ważne funkcje API zależne od przechowywanych danych, w tym stanowy Responses API, Files and Collections oraz Batch API. [Dowiedz się więcej](https://docs.x.ai/developers/faq/security#what-is-zero-data-retention-zdr). diff --git a/packages/web/src/content/docs/pt-br/go.mdx b/packages/web/src/content/docs/pt-br/go.mdx index 5cc64321277c..291ce76e8f7d 100644 --- a/packages/web/src/content/docs/pt-br/go.mdx +++ b/packages/web/src/content/docs/pt-br/go.mdx @@ -82,6 +82,7 @@ A lista atual de modelos inclui: - **DeepSeek V4 Pro** - **DeepSeek V4 Flash** - **DeepSeek V4 Flash Vision Exp** +- **Hy4 preview** - **Hy3** A lista de modelos pode mudar conforme testamos e adicionamos novos. @@ -125,6 +126,7 @@ A tabela abaixo fornece uma contagem estimada de requisições com base nos padr | DeepSeek V4 Pro | 1,050 | 2,600 | 5,200 | | DeepSeek V4 Flash | 7,600 | 18,900 | 37,800 | | DeepSeek V4 Flash Vision Exp | 3,800 | 9,450 | 18,900 | +| Hy4 preview | 1,350 | 3,380 | 6,770 | | Hy3 | 4,300 | 10,750 | 21,500 | As estimativas se baseiam nos padrões de requisições observados: @@ -147,6 +149,7 @@ As estimativas se baseiam nos padrões de requisições observados: - Qwen3.7 Max — 420 tokens de entrada, 66.000 em cache, 200 tokens de saída por requisição - Qwen3.7 Plus — 500 tokens de entrada, 57.000 em cache, 190 tokens de saída por requisição - Qwen3.6 Plus — 500 tokens de entrada, 57.000 em cache, 190 tokens de saída por requisição +- Hy4 preview — 830 tokens de entrada, 71.500 em cache, 295 tokens de saída por requisição - Hy3 — 830 tokens de entrada, 71.500 em cache, 295 tokens de saída por requisição - MiMo-V2.5 — 830 tokens de entrada, 71.500 em cache, 295 tokens de saída por requisição - MiMo-V2.5-Pro — 790 tokens de entrada, 86.000 em cache, 305 tokens de saída por requisição @@ -186,6 +189,7 @@ As estimativas também se baseiam nos seguintes preços por 1M tokens e no uso m | DeepSeek V4 Flash (Peak) | $0.44 | $1.32 | $0.014 | - | $30 | | DeepSeek V4 Flash Vision Exp (Off-Peak) | $0.22 | $0.66 | $0.007 | - | $15 | | DeepSeek V4 Flash Vision Exp (Peak) | $0.44 | $1.32 | $0.014 | - | $15 | +| Hy4 preview | $0.834 | $2.501 | $0.042 | - | $30 | | Hy3 | $0.14 | $0.58 | $0.035 | - | $60 | **DeepSeek V4 Flash / V4 Flash Vision Exp / V4 Pro:** Os horários Peak são 01:00-04:00 e 06:00-10:00 UTC, de segunda a sexta-feira; todos os demais horários, incluindo os fins de semana, são Off-Peak. [Saiba mais](https://api-docs.deepseek.com/quick_start/pricing/). @@ -252,6 +256,7 @@ Você também pode acessar os modelos do Go através dos seguintes endpoints de | Qwen3.7 Max | qwen3.7-max | `https://opencode.ai/zen/go/v1/messages` | `@ai-sdk/anthropic` | | Qwen3.7 Plus | qwen3.7-plus | `https://opencode.ai/zen/go/v1/messages` | `@ai-sdk/anthropic` | | Qwen3.6 Plus | qwen3.6-plus | `https://opencode.ai/zen/go/v1/messages` | `@ai-sdk/anthropic` | +| Hy4 preview | hy4-preview | `https://opencode.ai/zen/go/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Hy3 | hy3 | `https://opencode.ai/zen/go/v1/chat/completions` | `@ai-sdk/openai-compatible` | O [ID do modelo](/docs/config/#models) na sua configuração do OpenCode @@ -297,6 +302,7 @@ https://opencode.ai/zen/go/v1/models | DeepSeek V4 Pro | Não usado | 0 dias | | DeepSeek V4 Flash | Não usado | 0 dias | | DeepSeek V4 Flash Vision Exp | Não usado | 0 dias | +| Hy4 preview | Não usado | 0 dias | | Hy3 | Não usado | 0 dias | - **Grok 4.6:** O ZDR desativa recursos importantes da API que dependem de dados armazenados, incluindo a Responses API com estado, Files and Collections e a Batch API. [Saiba mais](https://docs.x.ai/developers/faq/security#what-is-zero-data-retention-zdr). diff --git a/packages/web/src/content/docs/ru/go.mdx b/packages/web/src/content/docs/ru/go.mdx index 91c2936b3826..f6f04d416230 100644 --- a/packages/web/src/content/docs/ru/go.mdx +++ b/packages/web/src/content/docs/ru/go.mdx @@ -82,6 +82,7 @@ OpenCode Go работает так же, как и любой другой пр - **DeepSeek V4 Pro** - **DeepSeek V4 Flash** - **DeepSeek V4 Flash Vision Exp** +- **Hy4 preview** - **Hy3** Список моделей может меняться по мере того, как мы тестируем и добавляем новые. @@ -125,6 +126,7 @@ OpenCode Go включает следующие лимиты: | DeepSeek V4 Pro | 1,050 | 2,600 | 5,200 | | DeepSeek V4 Flash | 7,600 | 18,900 | 37,800 | | DeepSeek V4 Flash Vision Exp | 3,800 | 9,450 | 18,900 | +| Hy4 preview | 1,350 | 3,380 | 6,770 | | Hy3 | 4,300 | 10,750 | 21,500 | Эти оценки основаны на наблюдаемых показателях запросов: @@ -147,6 +149,7 @@ OpenCode Go включает следующие лимиты: - Qwen3.7 Max — 420 входных, 66,000 кешированных, 200 выходных токенов на запрос - Qwen3.7 Plus — 500 входных, 57,000 кешированных, 190 выходных токенов на запрос - Qwen3.6 Plus — 500 входных, 57,000 кешированных, 190 выходных токенов на запрос +- Hy4 preview — 830 входных, 71,500 кешированных, 295 выходных токенов на запрос - Hy3 — 830 входных, 71,500 кешированных, 295 выходных токенов на запрос - MiMo-V2.5 — 830 входных, 71,500 кешированных, 295 выходных токенов на запрос - MiMo-V2.5-Pro — 790 входных, 86,000 кешированных, 305 выходных токенов на запрос @@ -186,6 +189,7 @@ OpenCode Go включает следующие лимиты: | DeepSeek V4 Flash (Peak) | $0.44 | $1.32 | $0.014 | - | $30 | | DeepSeek V4 Flash Vision Exp (Off-Peak) | $0.22 | $0.66 | $0.007 | - | $15 | | DeepSeek V4 Flash Vision Exp (Peak) | $0.44 | $1.32 | $0.014 | - | $15 | +| Hy4 preview | $0.834 | $2.501 | $0.042 | - | $30 | | Hy3 | $0.14 | $0.58 | $0.035 | - | $60 | **DeepSeek V4 Flash / V4 Flash Vision Exp / V4 Pro:** Часы Peak с понедельника по пятницу: 01:00-04:00 и 06:00-10:00 UTC; все остальные часы, включая выходные, относятся к Off-Peak. [Подробнее](https://api-docs.deepseek.com/quick_start/pricing/). @@ -252,6 +256,7 @@ OpenCode Go включает следующие лимиты: | Qwen3.7 Max | qwen3.7-max | `https://opencode.ai/zen/go/v1/messages` | `@ai-sdk/anthropic` | | Qwen3.7 Plus | qwen3.7-plus | `https://opencode.ai/zen/go/v1/messages` | `@ai-sdk/anthropic` | | Qwen3.6 Plus | qwen3.6-plus | `https://opencode.ai/zen/go/v1/messages` | `@ai-sdk/anthropic` | +| Hy4 preview | hy4-preview | `https://opencode.ai/zen/go/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Hy3 | hy3 | `https://opencode.ai/zen/go/v1/chat/completions` | `@ai-sdk/openai-compatible` | [ID модели](/docs/config/#models) в вашем конфиге OpenCode @@ -297,6 +302,7 @@ https://opencode.ai/zen/go/v1/models | DeepSeek V4 Pro | Не используется | 0 дней | | DeepSeek V4 Flash | Не используется | 0 дней | | DeepSeek V4 Flash Vision Exp | Не используется | 0 дней | +| Hy4 preview | Не используется | 0 дней | | Hy3 | Не используется | 0 дней | - **Grok 4.6:** ZDR отключает важные функции API, зависящие от сохраненных данных, включая Responses API с сохранением состояния, Files and Collections и Batch API. [Подробнее](https://docs.x.ai/developers/faq/security#what-is-zero-data-retention-zdr). diff --git a/packages/web/src/content/docs/th/go.mdx b/packages/web/src/content/docs/th/go.mdx index 05c7facde5fd..eb98cda3e073 100644 --- a/packages/web/src/content/docs/th/go.mdx +++ b/packages/web/src/content/docs/th/go.mdx @@ -72,6 +72,7 @@ OpenCode Go ทำงานเหมือนกับผู้ให้บร - **DeepSeek V4 Pro** - **DeepSeek V4 Flash** - **DeepSeek V4 Flash Vision Exp** +- **Hy4 preview** - **Hy3** รายชื่อโมเดลอาจมีการเปลี่ยนแปลงเมื่อเราทำการทดสอบและเพิ่มโมเดลใหม่ๆ @@ -115,6 +116,7 @@ OpenCode Go มีขีดจำกัดดังต่อไปนี้: | DeepSeek V4 Pro | 1,050 | 2,600 | 5,200 | | DeepSeek V4 Flash | 7,600 | 18,900 | 37,800 | | DeepSeek V4 Flash Vision Exp | 3,800 | 9,450 | 18,900 | +| Hy4 preview | 1,350 | 3,380 | 6,770 | | Hy3 | 4,300 | 10,750 | 21,500 | การประมาณการนี้อ้างอิงจากรูปแบบการใช้งาน request ที่สังเกตพบ: @@ -137,6 +139,7 @@ OpenCode Go มีขีดจำกัดดังต่อไปนี้: - Qwen3.7 Max — 420 input, 66,000 cached, 200 output tokens ต่อ request - Qwen3.7 Plus — 500 input, 57,000 cached, 190 output tokens ต่อ request - Qwen3.6 Plus — 500 input, 57,000 cached, 190 output tokens ต่อ request +- Hy4 preview — 830 input, 71,500 cached, 295 output tokens ต่อ request - Hy3 — 830 input, 71,500 cached, 295 output tokens ต่อ request - MiMo-V2.5 — 830 input, 71,500 cached, 295 output tokens ต่อ request - MiMo-V2.5-Pro — 790 input, 86,000 cached, 305 output tokens ต่อ request @@ -176,6 +179,7 @@ OpenCode Go มีขีดจำกัดดังต่อไปนี้: | DeepSeek V4 Flash (Peak) | $0.44 | $1.32 | $0.014 | - | $30 | | DeepSeek V4 Flash Vision Exp (Off-Peak) | $0.22 | $0.66 | $0.007 | - | $15 | | DeepSeek V4 Flash Vision Exp (Peak) | $0.44 | $1.32 | $0.014 | - | $15 | +| Hy4 preview | $0.834 | $2.501 | $0.042 | - | $30 | | Hy3 | $0.14 | $0.58 | $0.035 | - | $60 | **DeepSeek V4 Flash / V4 Flash Vision Exp / V4 Pro:** ช่วงเวลา Peak คือ 01:00-04:00 และ 06:00-10:00 UTC ตั้งแต่วันจันทร์ถึงวันศุกร์ ส่วนเวลาอื่นทั้งหมด รวมถึงวันหยุดสุดสัปดาห์ เป็น Off-Peak [ดูข้อมูลเพิ่มเติม](https://api-docs.deepseek.com/quick_start/pricing/) @@ -240,6 +244,7 @@ OpenCode Go มีขีดจำกัดดังต่อไปนี้: | Qwen3.7 Max | qwen3.7-max | `https://opencode.ai/zen/go/v1/messages` | `@ai-sdk/anthropic` | | Qwen3.7 Plus | qwen3.7-plus | `https://opencode.ai/zen/go/v1/messages` | `@ai-sdk/anthropic` | | Qwen3.6 Plus | qwen3.6-plus | `https://opencode.ai/zen/go/v1/messages` | `@ai-sdk/anthropic` | +| Hy4 preview | hy4-preview | `https://opencode.ai/zen/go/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Hy3 | hy3 | `https://opencode.ai/zen/go/v1/chat/completions` | `@ai-sdk/openai-compatible` | [model id](/docs/config/#models) ใน OpenCode config ของคุณจะใช้รูปแบบ `opencode-go/` ตัวอย่างเช่น สำหรับ Kimi K3 คุณจะใช้ `opencode-go/kimi-k3` ใน config ของคุณ @@ -283,6 +288,7 @@ https://opencode.ai/zen/go/v1/models | DeepSeek V4 Pro | ไม่นำไปใช้ | 0 วัน | | DeepSeek V4 Flash | ไม่นำไปใช้ | 0 วัน | | DeepSeek V4 Flash Vision Exp | ไม่นำไปใช้ | 0 วัน | +| Hy4 preview | ไม่นำไปใช้ | 0 วัน | | Hy3 | ไม่นำไปใช้ | 0 วัน | - **Grok 4.6:** ZDR ปิดใช้งานฟีเจอร์ API สำคัญที่ต้องอาศัยข้อมูลที่จัดเก็บไว้ ซึ่งรวมถึง Responses API แบบมีสถานะ, Files and Collections และ Batch API [ดูข้อมูลเพิ่มเติม](https://docs.x.ai/developers/faq/security#what-is-zero-data-retention-zdr) diff --git a/packages/web/src/content/docs/tr/go.mdx b/packages/web/src/content/docs/tr/go.mdx index 5b2222eb4cb8..c54cd4d800be 100644 --- a/packages/web/src/content/docs/tr/go.mdx +++ b/packages/web/src/content/docs/tr/go.mdx @@ -72,6 +72,7 @@ Mevcut model listesi şunları içerir: - **DeepSeek V4 Pro** - **DeepSeek V4 Flash** - **DeepSeek V4 Flash Vision Exp** +- **Hy4 preview** - **Hy3** Test edip yenilerini ekledikçe model listesi değişebilir. @@ -115,6 +116,7 @@ Aşağıdaki tablo, tipik Go kullanım modellerine dayalı tahmini bir istek say | DeepSeek V4 Pro | 1,050 | 2,600 | 5,200 | | DeepSeek V4 Flash | 7,600 | 18,900 | 37,800 | | DeepSeek V4 Flash Vision Exp | 3,800 | 9,450 | 18,900 | +| Hy4 preview | 1,350 | 3,380 | 6,770 | | Hy3 | 4,300 | 10,750 | 21,500 | Tahminler, gözlemlenen istek modellerine dayanır: @@ -137,6 +139,7 @@ Tahminler, gözlemlenen istek modellerine dayanır: - Qwen3.7 Max — İstek başına 420 girdi, 66.000 önbelleğe alınmış, 200 çıktı token'ı - Qwen3.7 Plus — İstek başına 500 girdi, 57.000 önbelleğe alınmış, 190 çıktı token'ı - Qwen3.6 Plus — İstek başına 500 girdi, 57.000 önbelleğe alınmış, 190 çıktı token'ı +- Hy4 preview — İstek başına 830 girdi, 71.500 önbelleğe alınmış, 295 çıktı token'ı - Hy3 — İstek başına 830 girdi, 71.500 önbelleğe alınmış, 295 çıktı token'ı - MiMo-V2.5 — İstek başına 830 girdi, 71.500 önbelleğe alınmış, 295 çıktı token'ı - MiMo-V2.5-Pro — İstek başına 790 girdi, 86.000 önbelleğe alınmış, 305 çıktı token'ı @@ -176,6 +179,7 @@ Tahminler ayrıca 1M token başına aşağıdaki fiyatlara ve her modelle birlik | DeepSeek V4 Flash (Peak) | $0.44 | $1.32 | $0.014 | - | $30 | | DeepSeek V4 Flash Vision Exp (Off-Peak) | $0.22 | $0.66 | $0.007 | - | $15 | | DeepSeek V4 Flash Vision Exp (Peak) | $0.44 | $1.32 | $0.014 | - | $15 | +| Hy4 preview | $0.834 | $2.501 | $0.042 | - | $30 | | Hy3 | $0.14 | $0.58 | $0.035 | - | $60 | **DeepSeek V4 Flash / V4 Flash Vision Exp / V4 Pro:** Peak saatleri pazartesiden cumaya 01:00-04:00 ve 06:00-10:00 UTC'dir; hafta sonları dahil diğer tüm saatler Off-Peak'tir. [Daha fazla bilgi](https://api-docs.deepseek.com/quick_start/pricing/). @@ -240,6 +244,7 @@ Go modellerine aşağıdaki API uç noktaları aracılığıyla da erişebilirsi | Qwen3.7 Max | qwen3.7-max | `https://opencode.ai/zen/go/v1/messages` | `@ai-sdk/anthropic` | | Qwen3.7 Plus | qwen3.7-plus | `https://opencode.ai/zen/go/v1/messages` | `@ai-sdk/anthropic` | | Qwen3.6 Plus | qwen3.6-plus | `https://opencode.ai/zen/go/v1/messages` | `@ai-sdk/anthropic` | +| Hy4 preview | hy4-preview | `https://opencode.ai/zen/go/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Hy3 | hy3 | `https://opencode.ai/zen/go/v1/chat/completions` | `@ai-sdk/openai-compatible` | OpenCode yapılandırmanızdaki [model id](/docs/config/#models) formatı `opencode-go/` şeklindedir. Örneğin, Kimi K3 için yapılandırmanızda `opencode-go/kimi-k3` kullanmalısınız. @@ -283,6 +288,7 @@ https://opencode.ai/zen/go/v1/models | DeepSeek V4 Pro | Kullanılmaz | 0 gün | | DeepSeek V4 Flash | Kullanılmaz | 0 gün | | DeepSeek V4 Flash Vision Exp | Kullanılmaz | 0 gün | +| Hy4 preview | Kullanılmaz | 0 gün | | Hy3 | Kullanılmaz | 0 gün | - **Grok 4.6:** ZDR, durum bilgisi tutan Responses API, Files and Collections ve Batch API dahil olmak üzere saklanan verilere bağlı önemli API özelliklerini devre dışı bırakır. [Daha fazla bilgi](https://docs.x.ai/developers/faq/security#what-is-zero-data-retention-zdr). diff --git a/packages/web/src/content/docs/zh-cn/go.mdx b/packages/web/src/content/docs/zh-cn/go.mdx index 2a66074ad9c8..6cdada1776fb 100644 --- a/packages/web/src/content/docs/zh-cn/go.mdx +++ b/packages/web/src/content/docs/zh-cn/go.mdx @@ -72,6 +72,7 @@ OpenCode Go 的工作方式与 OpenCode 中的其他提供商一样。 - **DeepSeek V4 Pro** - **DeepSeek V4 Flash** - **DeepSeek V4 Flash Vision Exp** +- **Hy4 preview** - **Hy3** 随着我们进行测试和添加新模型,该列表可能会发生变化。 @@ -115,6 +116,7 @@ OpenCode Go 包含以下限制: | DeepSeek V4 Pro | 1,050 | 2,600 | 5,200 | | DeepSeek V4 Flash | 7,600 | 18,900 | 37,800 | | DeepSeek V4 Flash Vision Exp | 3,800 | 9,450 | 18,900 | +| Hy4 preview | 1,350 | 3,380 | 6,770 | | Hy3 | 4,300 | 10,750 | 21,500 | 预估值基于观察到的请求模式: @@ -139,6 +141,7 @@ OpenCode Go 包含以下限制: - Qwen3.7 Max — 每次请求 420 个输入 token,66,000 个缓存 token,200 个输出 token - Qwen3.7 Plus — 每次请求 500 个输入 token,57,000 个缓存 token,190 个输出 token - Qwen3.6 Plus — 每次请求 500 个输入 token,57,000 个缓存 token,190 个输出 token +- Hy4 preview — 每次请求 830 个输入 token,71,500 个缓存 token,295 个输出 token - Hy3 — 每次请求 830 个输入 token,71,500 个缓存 token,295 个输出 token 预估值还基于以下每 1M tokens 的价格以及每个模型包含的每月使用额度: @@ -176,6 +179,7 @@ OpenCode Go 包含以下限制: | DeepSeek V4 Flash (Peak) | $0.44 | $1.32 | $0.014 | - | $30 | | DeepSeek V4 Flash Vision Exp (Off-Peak) | $0.22 | $0.66 | $0.007 | - | $15 | | DeepSeek V4 Flash Vision Exp (Peak) | $0.44 | $1.32 | $0.014 | - | $15 | +| Hy4 preview | $0.834 | $2.501 | $0.042 | - | $30 | | Hy3 | $0.14 | $0.58 | $0.035 | - | $60 | **DeepSeek V4 Flash / V4 Flash Vision Exp / V4 Pro:** Peak 时段为周一至周五的 01:00-04:00 和 06:00-10:00 UTC;其他所有时段(包括周末)均为 Off-Peak。[了解更多](https://api-docs.deepseek.com/quick_start/pricing/)。 @@ -240,6 +244,7 @@ OpenCode Go 包含以下限制: | Qwen3.7 Max | qwen3.7-max | `https://opencode.ai/zen/go/v1/messages` | `@ai-sdk/anthropic` | | Qwen3.7 Plus | qwen3.7-plus | `https://opencode.ai/zen/go/v1/messages` | `@ai-sdk/anthropic` | | Qwen3.6 Plus | qwen3.6-plus | `https://opencode.ai/zen/go/v1/messages` | `@ai-sdk/anthropic` | +| Hy4 preview | hy4-preview | `https://opencode.ai/zen/go/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Hy3 | hy3 | `https://opencode.ai/zen/go/v1/chat/completions` | `@ai-sdk/openai-compatible` | 你的 OpenCode 配置中的 [模型 ID](/docs/config/#models) 使用 `opencode-go/` 格式。例如,对于 Kimi K3,你将在配置中使用 `opencode-go/kimi-k3`。 @@ -283,6 +288,7 @@ https://opencode.ai/zen/go/v1/models | DeepSeek V4 Pro | 不使用 | 0 天 | | DeepSeek V4 Flash | 不使用 | 0 天 | | DeepSeek V4 Flash Vision Exp | 不使用 | 0 天 | +| Hy4 preview | 不使用 | 0 天 | | Hy3 | 不使用 | 0 天 | - **Grok 4.6:** ZDR 会禁用依赖所存储数据的重要 API 功能,包括有状态的 Responses API、Files and Collections 和 Batch API。[了解更多](https://docs.x.ai/developers/faq/security#what-is-zero-data-retention-zdr)。 diff --git a/packages/web/src/content/docs/zh-tw/go.mdx b/packages/web/src/content/docs/zh-tw/go.mdx index e006253dfe0e..010715b8049b 100644 --- a/packages/web/src/content/docs/zh-tw/go.mdx +++ b/packages/web/src/content/docs/zh-tw/go.mdx @@ -72,6 +72,7 @@ OpenCode Go 的運作方式與 OpenCode 中的任何其他供應商相同。 - **DeepSeek V4 Pro** - **DeepSeek V4 Flash** - **DeepSeek V4 Flash Vision Exp** +- **Hy4 preview** - **Hy3** 隨著我們測試並加入新模型,模型清單可能會有所變動。 @@ -115,6 +116,7 @@ OpenCode Go 包含以下限制: | DeepSeek V4 Pro | 1,050 | 2,600 | 5,200 | | DeepSeek V4 Flash | 7,600 | 18,900 | 37,800 | | DeepSeek V4 Flash Vision Exp | 3,800 | 9,450 | 18,900 | +| Hy4 preview | 1,350 | 3,380 | 6,770 | | Hy3 | 4,300 | 10,750 | 21,500 | 這些預估值是基於觀察到的請求模式: @@ -137,6 +139,7 @@ OpenCode Go 包含以下限制: - Qwen3.7 Max — 每次請求 420 個輸入 token、66,000 個快取 token、200 個輸出 token - Qwen3.7 Plus — 每次請求 500 個輸入 token、57,000 個快取 token、190 個輸出 token - Qwen3.6 Plus — 每次請求 500 個輸入 token、57,000 個快取 token、190 個輸出 token +- Hy4 preview — 每次請求 830 個輸入 token、71,500 個快取 token、295 個輸出 token - Hy3 — 每次請求 830 個輸入 token、71,500 個快取 token、295 個輸出 token - MiMo-V2.5 — 每次請求 830 個輸入 token、71,500 個快取 token、295 個輸出 token - MiMo-V2.5-Pro — 每次請求 790 個輸入 token、86,000 個快取 token、305 個輸出 token @@ -176,6 +179,7 @@ OpenCode Go 包含以下限制: | DeepSeek V4 Flash (Peak) | $0.44 | $1.32 | $0.014 | - | $30 | | DeepSeek V4 Flash Vision Exp (Off-Peak) | $0.22 | $0.66 | $0.007 | - | $15 | | DeepSeek V4 Flash Vision Exp (Peak) | $0.44 | $1.32 | $0.014 | - | $15 | +| Hy4 preview | $0.834 | $2.501 | $0.042 | - | $30 | | Hy3 | $0.14 | $0.58 | $0.035 | - | $60 | **DeepSeek V4 Flash / V4 Flash Vision Exp / V4 Pro:** Peak 時段為週一至週五的 01:00-04:00 和 06:00-10:00 UTC;其他所有時段(包括週末)均為 Off-Peak。[了解更多](https://api-docs.deepseek.com/quick_start/pricing/)。 @@ -240,6 +244,7 @@ OpenCode Go 包含以下限制: | Qwen3.7 Max | qwen3.7-max | `https://opencode.ai/zen/go/v1/messages` | `@ai-sdk/anthropic` | | Qwen3.7 Plus | qwen3.7-plus | `https://opencode.ai/zen/go/v1/messages` | `@ai-sdk/anthropic` | | Qwen3.6 Plus | qwen3.6-plus | `https://opencode.ai/zen/go/v1/messages` | `@ai-sdk/anthropic` | +| Hy4 preview | hy4-preview | `https://opencode.ai/zen/go/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Hy3 | hy3 | `https://opencode.ai/zen/go/v1/chat/completions` | `@ai-sdk/openai-compatible` | 您的 OpenCode 設定中的 [model id](/docs/config/#models) 使用 `opencode-go/` 格式。例如,Kimi K3 在設定中應使用 `opencode-go/kimi-k3`。 @@ -283,6 +288,7 @@ https://opencode.ai/zen/go/v1/models | DeepSeek V4 Pro | 不使用 | 0 天 | | DeepSeek V4 Flash | 不使用 | 0 天 | | DeepSeek V4 Flash Vision Exp | 不使用 | 0 天 | +| Hy4 preview | 不使用 | 0 天 | | Hy3 | 不使用 | 0 天 | - **Grok 4.6:** ZDR 會停用依賴儲存資料的重要 API 功能,包括具狀態的 Responses API、Files and Collections 與 Batch API。[了解更多](https://docs.x.ai/developers/faq/security#what-is-zero-data-retention-zdr)。 From df35e842f59bc115bb7c0479a8e11f017d443f2c Mon Sep 17 00:00:00 2001 From: Jack Date: Fri, 28 Aug 2026 20:04:58 +0800 Subject: [PATCH 04/39] docs(zen): add Ling 3.0 Flash Fin Free (#45923) --- packages/web/src/content/docs/ar/zen.mdx | 4 ++++ packages/web/src/content/docs/bs/zen.mdx | 4 ++++ packages/web/src/content/docs/da/zen.mdx | 4 ++++ packages/web/src/content/docs/de/zen.mdx | 4 ++++ packages/web/src/content/docs/es/zen.mdx | 4 ++++ packages/web/src/content/docs/fr/zen.mdx | 4 ++++ packages/web/src/content/docs/it/zen.mdx | 4 ++++ packages/web/src/content/docs/ja/zen.mdx | 4 ++++ packages/web/src/content/docs/ko/zen.mdx | 4 ++++ packages/web/src/content/docs/nb/zen.mdx | 4 ++++ packages/web/src/content/docs/pl/zen.mdx | 4 ++++ packages/web/src/content/docs/pt-br/zen.mdx | 4 ++++ packages/web/src/content/docs/ru/zen.mdx | 4 ++++ packages/web/src/content/docs/th/zen.mdx | 4 ++++ packages/web/src/content/docs/tr/zen.mdx | 4 ++++ packages/web/src/content/docs/zen.mdx | 4 ++++ packages/web/src/content/docs/zh-cn/zen.mdx | 4 ++++ packages/web/src/content/docs/zh-tw/zen.mdx | 4 ++++ 18 files changed, 72 insertions(+) diff --git a/packages/web/src/content/docs/ar/zen.mdx b/packages/web/src/content/docs/ar/zen.mdx index 7609c0b6f8fb..e8e5494267da 100644 --- a/packages/web/src/content/docs/ar/zen.mdx +++ b/packages/web/src/content/docs/ar/zen.mdx @@ -114,6 +114,7 @@ OpenCode Zen هي بوابة AI تتيح لك الوصول إلى هذه الن | Big Pickle | big-pickle | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | MiMo-V2.5 Free | mimo-v2.5-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Hy3 Free | hy3-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | +| Ling 3.0 Flash Fin Free | ling-3.0-flash-fin-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3 Ultra Free | nemotron-3-ultra-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3.5 Lightning Free | nemotron-3.5-lightning-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Muse Spark 1.2 Contributor Free | muse-spark-1.2-contributor-free | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` | @@ -141,6 +142,7 @@ https://opencode.ai/zen/v1/models | Big Pickle | Free | Free | Free | - | | MiMo-V2.5 Free | Free | Free | Free | - | | Hy3 Free | Free | Free | Free | - | +| Ling 3.0 Flash Fin Free | Free | Free | Free | - | | Nemotron 3 Ultra Free | Free | Free | Free | - | | Nemotron 3.5 Lightning Free | Free | Free | Free | - | | Muse Spark 1.2 Contributor Free | Free | Free | Free | - | @@ -226,6 +228,7 @@ https://opencode.ai/zen/v1/models - MiMo-V2.5 Free متاح على OpenCode لفترة محدودة. يستخدم الفريق هذه الفترة لجمع الملاحظات وتحسين النموذج. - Hy3 Free متاح على OpenCode لفترة محدودة. يستخدم الفريق هذه الفترة لجمع الملاحظات وتحسين النموذج. +- Ling 3.0 Flash Fin Free متاح على OpenCode لفترة محدودة. يستخدم الفريق هذه الفترة لجمع الملاحظات وتحسين النموذج. - Nemotron 3 Ultra Free متاح على OpenCode لفترة محدودة. يستخدم الفريق هذه الفترة لجمع الملاحظات وتحسين النموذج. - Nemotron 3.5 Lightning Free متاح على OpenCode لفترة محدودة. يستخدم الفريق هذه الفترة لجمع الملاحظات وتحسين النموذج. - Big Pickle نموذج خفي ومتاح مجانا على OpenCode لفترة محدودة. يستخدم الفريق هذه الفترة لجمع الملاحظات وتحسين النموذج. @@ -283,6 +286,7 @@ https://opencode.ai/zen/v1/models - Big Pickle: خلال فترته المجانية، قد تُستخدم البيانات المجمعة لتحسين النموذج. - MiMo-V2.5 Free: خلال فترته المجانية، قد تُستخدم البيانات المجمعة لتحسين النموذج. - Hy3 Free: خلال فترته المجانية، قد تُستخدم البيانات المجمعة لتحسين النموذج. +- Ling 3.0 Flash Fin Free: خلال فترته المجانية، قد تُستخدم البيانات المجمعة لتحسين النموذج. - Nemotron 3 Ultra Free (نقاط نهاية NVIDIA المجانية): للاستخدام التجريبي فقط — لا ترسل بيانات شخصية أو سرية. يُسجَّل استخدامك لأغراض أمنية ولتحسين منتجات وخدمات NVIDIA. بيانات الجلسة المُسجَّلة لأغراض التحسين غير مرتبطة بهويتك أو بأي مُعرِّف دائم. لمزيد من المعلومات حول ممارسات معالجة البيانات لدينا، راجع [سياسة الخصوصية](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). بتفاعلك مع نقطة النهاية هذه، فإنك توافق على جمعنا لهذه المعلومات وتسجيلها واستخدامها وعلى [شروط خدمة النسخة التجريبية من واجهة NVIDIA API](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). - Nemotron 3.5 Lightning Free (نقاط نهاية NVIDIA المجانية): للاستخدام التجريبي فقط — لا ترسل بيانات شخصية أو سرية. يُسجَّل استخدامك لأغراض أمنية ولتحسين منتجات وخدمات NVIDIA. بيانات الجلسة المُسجَّلة لأغراض التحسين غير مرتبطة بهويتك أو بأي مُعرِّف دائم. لمزيد من المعلومات حول ممارسات معالجة البيانات لدينا، راجع [سياسة الخصوصية](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). بتفاعلك مع نقطة النهاية هذه، فإنك توافق على جمعنا لهذه المعلومات وتسجيلها واستخدامها وعلى [شروط خدمة النسخة التجريبية من واجهة NVIDIA API](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). - OpenAI APIs: يتم الاحتفاظ بالطلبات لمدة 30 يوما وفقا لـ [OpenAI's Data Policies](https://platform.openai.com/docs/guides/your-data). diff --git a/packages/web/src/content/docs/bs/zen.mdx b/packages/web/src/content/docs/bs/zen.mdx index 4cb932343d6f..a38341ae1793 100644 --- a/packages/web/src/content/docs/bs/zen.mdx +++ b/packages/web/src/content/docs/bs/zen.mdx @@ -119,6 +119,7 @@ Našim modelima možete pristupiti i preko sljedećih API endpointa. | Big Pickle | big-pickle | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | MiMo-V2.5 Free | mimo-v2.5-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Hy3 Free | hy3-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | +| Ling 3.0 Flash Fin Free | ling-3.0-flash-fin-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3 Ultra Free | nemotron-3-ultra-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3.5 Lightning Free | nemotron-3.5-lightning-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Muse Spark 1.2 Contributor Free | muse-spark-1.2-contributor-free | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` | @@ -148,6 +149,7 @@ Podržavamo pay-as-you-go model. Ispod su cijene **po 1M tokena**. | Big Pickle | Free | Free | Free | - | | MiMo-V2.5 Free | Free | Free | Free | - | | Hy3 Free | Free | Free | Free | - | +| Ling 3.0 Flash Fin Free | Free | Free | Free | - | | Nemotron 3 Ultra Free | Free | Free | Free | - | | Nemotron 3.5 Lightning Free | Free | Free | Free | - | | Muse Spark 1.2 Contributor Free | Free | Free | Free | - | @@ -233,6 +235,7 @@ Besplatni modeli: - MiMo-V2.5 Free je dostupan na OpenCode ograničeno vrijeme. Tim koristi ovo vrijeme da prikupi povratne informacije i poboljša model. - Hy3 Free je dostupan na OpenCode ograničeno vrijeme. Tim koristi ovo vrijeme da prikupi povratne informacije i poboljša model. +- Ling 3.0 Flash Fin Free je dostupan na OpenCode ograničeno vrijeme. Tim koristi ovo vrijeme da prikupi povratne informacije i poboljša model. - Nemotron 3 Ultra Free je dostupan na OpenCode ograničeno vrijeme. Tim koristi ovo vrijeme da prikupi povratne informacije i poboljša model. - Nemotron 3.5 Lightning Free je dostupan na OpenCode ograničeno vrijeme. Tim koristi ovo vrijeme da prikupi povratne informacije i poboljša model. - Big Pickle je stealth model koji je besplatan na OpenCode ograničeno vrijeme. Tim koristi ovo vrijeme da prikupi povratne informacije i poboljša model. @@ -295,6 +298,7 @@ i ne koriste vaše podatke za treniranje modela, uz sljedeće izuzetke: - Big Pickle: Tokom besplatnog perioda, prikupljeni podaci mogu se koristiti za poboljšanje modela. - MiMo-V2.5 Free: Tokom besplatnog perioda, prikupljeni podaci mogu se koristiti za poboljšanje modela. - Hy3 Free: Tokom besplatnog perioda, prikupljeni podaci mogu se koristiti za poboljšanje modela. +- Ling 3.0 Flash Fin Free: Tokom besplatnog perioda, prikupljeni podaci mogu se koristiti za poboljšanje modela. - Nemotron 3 Ultra Free (besplatni NVIDIA endpointi): Samo za probnu upotrebu — nemojte slati lične ili povjerljive podatke. Vaše korištenje se bilježi radi sigurnosti i poboljšanja NVIDIA proizvoda i usluga. Zabilježeni podaci sesije koji se koriste u svrhu poboljšanja nisu povezani s vašim identitetom niti bilo kojim trajnim identifikatorom. Za više informacija o našim praksama obrade podataka pogledajte našu [Politiku privatnosti](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). Interakcijom s ovim endpointom pristajete na naše prikupljanje, bilježenje i korištenje takvih informacija te na [NVIDIA API Trial Terms of Service](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). - Nemotron 3.5 Lightning Free (besplatni NVIDIA endpointi): Samo za probnu upotrebu — nemojte slati lične ili povjerljive podatke. Vaše korištenje se bilježi radi sigurnosti i poboljšanja NVIDIA proizvoda i usluga. Zabilježeni podaci sesije koji se koriste u svrhu poboljšanja nisu povezani s vašim identitetom niti bilo kojim trajnim identifikatorom. Za više informacija o našim praksama obrade podataka pogledajte našu [Politiku privatnosti](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). Interakcijom s ovim endpointom pristajete na naše prikupljanje, bilježenje i korištenje takvih informacija te na [NVIDIA API Trial Terms of Service](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). - OpenAI APIs: Requests are retained for 30 days in accordance with [OpenAI's Data Policies](https://platform.openai.com/docs/guides/your-data). diff --git a/packages/web/src/content/docs/da/zen.mdx b/packages/web/src/content/docs/da/zen.mdx index 5a8fee3ea87e..f6a1831eaf13 100644 --- a/packages/web/src/content/docs/da/zen.mdx +++ b/packages/web/src/content/docs/da/zen.mdx @@ -119,6 +119,7 @@ Du kan også få adgang til vores modeller gennem følgende API-endpoints. | Big Pickle | big-pickle | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | MiMo-V2.5 Free | mimo-v2.5-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Hy3 Free | hy3-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | +| Ling 3.0 Flash Fin Free | ling-3.0-flash-fin-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3 Ultra Free | nemotron-3-ultra-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3.5 Lightning Free | nemotron-3.5-lightning-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Muse Spark 1.2 Contributor Free | muse-spark-1.2-contributor-free | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` | @@ -148,6 +149,7 @@ Vi understøtter en pay-as-you-go-model. Nedenfor er priserne **pr. 1M tokens**. | Big Pickle | Free | Free | Free | - | | MiMo-V2.5 Free | Free | Free | Free | - | | Hy3 Free | Free | Free | Free | - | +| Ling 3.0 Flash Fin Free | Free | Free | Free | - | | Nemotron 3 Ultra Free | Free | Free | Free | - | | Nemotron 3.5 Lightning Free | Free | Free | Free | - | | Muse Spark 1.2 Contributor Free | Free | Free | Free | - | @@ -233,6 +235,7 @@ De gratis modeller: - MiMo-V2.5 Free er tilgængelig på OpenCode i en begrænset periode. Teamet bruger denne tid til at indsamle feedback og forbedre modellen. - Hy3 Free er tilgængelig på OpenCode i en begrænset periode. Teamet bruger denne tid til at indsamle feedback og forbedre modellen. +- Ling 3.0 Flash Fin Free er tilgængelig på OpenCode i en begrænset periode. Teamet bruger denne tid til at indsamle feedback og forbedre modellen. - Nemotron 3 Ultra Free er tilgængelig på OpenCode i en begrænset periode. Teamet bruger denne tid til at indsamle feedback og forbedre modellen. - Nemotron 3.5 Lightning Free er tilgængelig på OpenCode i en begrænset periode. Teamet bruger denne tid til at indsamle feedback og forbedre modellen. - Big Pickle er en stealth-model, som er gratis på OpenCode i en begrænset periode. Teamet bruger denne tid til at indsamle feedback og forbedre modellen. @@ -293,6 +296,7 @@ Alle vores modeller hostes i US. Vores udbydere følger en nul-opbevaringspoliti - Big Pickle: I den gratis periode kan indsamlede data blive brugt til at forbedre modellen. - MiMo-V2.5 Free: I den gratis periode kan indsamlede data blive brugt til at forbedre modellen. - Hy3 Free: I den gratis periode kan indsamlede data blive brugt til at forbedre modellen. +- Ling 3.0 Flash Fin Free: I den gratis periode kan indsamlede data blive brugt til at forbedre modellen. - Nemotron 3 Ultra Free (gratis NVIDIA-endpoints): Kun til prøvebrug — indsend ikke personlige eller fortrolige data. Din brug logges af sikkerhedshensyn og for at forbedre NVIDIAs produkter og tjenester. De loggede sessionsdata, der bruges til forbedringsformål, er ikke knyttet til din identitet eller nogen vedvarende identifikator. For mere information om vores databehandlingspraksis, se vores [privatlivspolitik](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). Ved at interagere med dette endpoint giver du samtykke til vores indsamling, registrering og brug af sådanne oplysninger samt [NVIDIA API Trial Terms of Service](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). - Nemotron 3.5 Lightning Free (gratis NVIDIA-endpoints): Kun til prøvebrug — indsend ikke personlige eller fortrolige data. Din brug logges af sikkerhedshensyn og for at forbedre NVIDIAs produkter og tjenester. De loggede sessionsdata, der bruges til forbedringsformål, er ikke knyttet til din identitet eller nogen vedvarende identifikator. For mere information om vores databehandlingspraksis, se vores [privatlivspolitik](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). Ved at interagere med dette endpoint giver du samtykke til vores indsamling, registrering og brug af sådanne oplysninger samt [NVIDIA API Trial Terms of Service](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). - OpenAI APIs: Anmodninger opbevares i 30 dage i overensstemmelse med [OpenAI's Data Policies](https://platform.openai.com/docs/guides/your-data). diff --git a/packages/web/src/content/docs/de/zen.mdx b/packages/web/src/content/docs/de/zen.mdx index c1061c2d7e1d..a39b0217f66e 100644 --- a/packages/web/src/content/docs/de/zen.mdx +++ b/packages/web/src/content/docs/de/zen.mdx @@ -110,6 +110,7 @@ Du kannst auch über die folgenden API-Endpunkte auf unsere Modelle zugreifen. | Big Pickle | big-pickle | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | MiMo-V2.5 Free | mimo-v2.5-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Hy3 Free | hy3-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | +| Ling 3.0 Flash Fin Free | ling-3.0-flash-fin-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3 Ultra Free | nemotron-3-ultra-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3.5 Lightning Free | nemotron-3.5-lightning-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Muse Spark 1.2 Contributor Free | muse-spark-1.2-contributor-free | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` | @@ -137,6 +138,7 @@ Wir unterstützen ein Pay-as-you-go-Modell. Unten findest du die Preise **pro 1M | Big Pickle | Free | Free | Free | - | | MiMo-V2.5 Free | Free | Free | Free | - | | Hy3 Free | Free | Free | Free | - | +| Ling 3.0 Flash Fin Free | Free | Free | Free | - | | Nemotron 3 Ultra Free | Free | Free | Free | - | | Nemotron 3.5 Lightning Free | Free | Free | Free | - | | Muse Spark 1.2 Contributor Free | Free | Free | Free | - | @@ -222,6 +224,7 @@ Die kostenlosen Modelle: - MiMo-V2.5 Free ist für begrenzte Zeit auf OpenCode verfügbar. Das Team nutzt diese Zeit, um Feedback zu sammeln und das Modell zu verbessern. - Hy3 Free ist für begrenzte Zeit auf OpenCode verfügbar. Das Team nutzt diese Zeit, um Feedback zu sammeln und das Modell zu verbessern. +- Ling 3.0 Flash Fin Free ist für begrenzte Zeit auf OpenCode verfügbar. Das Team nutzt diese Zeit, um Feedback zu sammeln und das Modell zu verbessern. - Nemotron 3 Ultra Free ist für begrenzte Zeit auf OpenCode verfügbar. Das Team nutzt diese Zeit, um Feedback zu sammeln und das Modell zu verbessern. - Nemotron 3.5 Lightning Free ist für begrenzte Zeit auf OpenCode verfügbar. Das Team nutzt diese Zeit, um Feedback zu sammeln und das Modell zu verbessern. - Big Pickle ist ein Stealth-Modell, das für begrenzte Zeit kostenlos auf OpenCode verfügbar ist. Das Team nutzt diese Zeit, um Feedback zu sammeln und das Modell zu verbessern. @@ -279,6 +282,7 @@ Alle unsere Modelle werden in den USA gehostet. Unsere Provider folgen einer Zer - Big Pickle: Während des kostenlosen Zeitraums können gesammelte Daten zur Verbesserung des Modells verwendet werden. - MiMo-V2.5 Free: Während des kostenlosen Zeitraums können gesammelte Daten zur Verbesserung des Modells verwendet werden. - Hy3 Free: Während des kostenlosen Zeitraums können gesammelte Daten zur Verbesserung des Modells verwendet werden. +- Ling 3.0 Flash Fin Free: Während des kostenlosen Zeitraums können gesammelte Daten zur Verbesserung des Modells verwendet werden. - Nemotron 3 Ultra Free (kostenlose NVIDIA-Endpunkte): Nur für Testzwecke — übermitteln Sie keine personenbezogenen oder vertraulichen Daten. Ihre Nutzung wird zu Sicherheitszwecken und zur Verbesserung der Produkte und Dienste von NVIDIA protokolliert. Die zu Verbesserungszwecken protokollierten Sitzungsdaten sind nicht mit Ihrer Identität oder einem dauerhaften Identifikator verknüpft. Weitere Informationen zu unseren Datenverarbeitungspraktiken finden Sie in unserer [Datenschutzrichtlinie](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). Durch die Interaktion mit diesem Endpunkt stimmen Sie unserer Erhebung, Aufzeichnung und Nutzung solcher Informationen sowie den [NVIDIA API Trial Terms of Service](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf) zu. - Nemotron 3.5 Lightning Free (kostenlose NVIDIA-Endpunkte): Nur für Testzwecke — übermitteln Sie keine personenbezogenen oder vertraulichen Daten. Ihre Nutzung wird zu Sicherheitszwecken und zur Verbesserung der Produkte und Dienste von NVIDIA protokolliert. Die zu Verbesserungszwecken protokollierten Sitzungsdaten sind nicht mit Ihrer Identität oder einem dauerhaften Identifikator verknüpft. Weitere Informationen zu unseren Datenverarbeitungspraktiken finden Sie in unserer [Datenschutzrichtlinie](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). Durch die Interaktion mit diesem Endpunkt stimmen Sie unserer Erhebung, Aufzeichnung und Nutzung solcher Informationen sowie den [NVIDIA API Trial Terms of Service](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf) zu. - OpenAI APIs: Anfragen werden in Übereinstimmung mit [OpenAI's Data Policies](https://platform.openai.com/docs/guides/your-data) 30 Tage lang gespeichert. diff --git a/packages/web/src/content/docs/es/zen.mdx b/packages/web/src/content/docs/es/zen.mdx index eed117a8d962..c48854ac6311 100644 --- a/packages/web/src/content/docs/es/zen.mdx +++ b/packages/web/src/content/docs/es/zen.mdx @@ -119,6 +119,7 @@ También puedes acceder a nuestros modelos a través de los siguientes endpoints | Big Pickle | big-pickle | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | MiMo-V2.5 Free | mimo-v2.5-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Hy3 Free | hy3-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | +| Ling 3.0 Flash Fin Free | ling-3.0-flash-fin-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3 Ultra Free | nemotron-3-ultra-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3.5 Lightning Free | nemotron-3.5-lightning-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Muse Spark 1.2 Contributor Free | muse-spark-1.2-contributor-free | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` | @@ -148,6 +149,7 @@ Admitimos un modelo de pago por uso. A continuación se muestran los precios **p | Big Pickle | Free | Free | Free | - | | MiMo-V2.5 Free | Free | Free | Free | - | | Hy3 Free | Free | Free | Free | - | +| Ling 3.0 Flash Fin Free | Free | Free | Free | - | | Nemotron 3 Ultra Free | Free | Free | Free | - | | Nemotron 3.5 Lightning Free | Free | Free | Free | - | | Muse Spark 1.2 Contributor Free | Free | Free | Free | - | @@ -233,6 +235,7 @@ Los modelos gratuitos: - MiMo-V2.5 Free está disponible en OpenCode por tiempo limitado. El equipo está usando este tiempo para recopilar comentarios y mejorar el modelo. - Hy3 Free está disponible en OpenCode por tiempo limitado. El equipo está usando este tiempo para recopilar comentarios y mejorar el modelo. +- Ling 3.0 Flash Fin Free está disponible en OpenCode por tiempo limitado. El equipo está usando este tiempo para recopilar comentarios y mejorar el modelo. - Nemotron 3 Ultra Free está disponible en OpenCode por tiempo limitado. El equipo está usando este tiempo para recopilar comentarios y mejorar el modelo. - Nemotron 3.5 Lightning Free está disponible en OpenCode por tiempo limitado. El equipo está usando este tiempo para recopilar comentarios y mejorar el modelo. - Big Pickle es un modelo stealth que es gratuito en OpenCode por tiempo limitado. El equipo está usando este tiempo para recopilar comentarios y mejorar el modelo. @@ -293,6 +296,7 @@ Todos nuestros modelos están alojados en US. Nuestros proveedores siguen una po - Big Pickle: Durante su período gratuito, los datos recopilados pueden usarse para mejorar el modelo. - MiMo-V2.5 Free: Durante su período gratuito, los datos recopilados pueden usarse para mejorar el modelo. - Hy3 Free: Durante su período gratuito, los datos recopilados pueden usarse para mejorar el modelo. +- Ling 3.0 Flash Fin Free: Durante su período gratuito, los datos recopilados pueden usarse para mejorar el modelo. - Nemotron 3 Ultra Free (endpoints gratuitos de NVIDIA): Solo para uso de prueba — no envíes datos personales ni confidenciales. Tu uso se registra con fines de seguridad y para mejorar los productos y servicios de NVIDIA. Los datos de sesión registrados con fines de mejora no están vinculados a tu identidad ni a ningún identificador persistente. Para obtener más información sobre nuestras prácticas de procesamiento de datos, consulta nuestra [Política de privacidad](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). Al interactuar con este endpoint, aceptas que recopilemos, registremos y usemos dicha información, así como los [NVIDIA API Trial Terms of Service](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). - Nemotron 3.5 Lightning Free (endpoints gratuitos de NVIDIA): Solo para uso de prueba — no envíes datos personales ni confidenciales. Tu uso se registra con fines de seguridad y para mejorar los productos y servicios de NVIDIA. Los datos de sesión registrados con fines de mejora no están vinculados a tu identidad ni a ningún identificador persistente. Para obtener más información sobre nuestras prácticas de procesamiento de datos, consulta nuestra [Política de privacidad](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). Al interactuar con este endpoint, aceptas que recopilemos, registremos y usemos dicha información, así como los [NVIDIA API Trial Terms of Service](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). - OpenAI APIs: Las solicitudes se conservan durante 30 días de acuerdo con [OpenAI's Data Policies](https://platform.openai.com/docs/guides/your-data). diff --git a/packages/web/src/content/docs/fr/zen.mdx b/packages/web/src/content/docs/fr/zen.mdx index 8061a2ced0d2..1cc5b70dc4e0 100644 --- a/packages/web/src/content/docs/fr/zen.mdx +++ b/packages/web/src/content/docs/fr/zen.mdx @@ -110,6 +110,7 @@ Vous pouvez également accéder à nos modèles via les points de terminaison AP | Big Pickle | big-pickle | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | MiMo-V2.5 Free | mimo-v2.5-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Hy3 Free | hy3-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | +| Ling 3.0 Flash Fin Free | ling-3.0-flash-fin-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3 Ultra Free | nemotron-3-ultra-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3.5 Lightning Free | nemotron-3.5-lightning-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Muse Spark 1.2 Contributor Free | muse-spark-1.2-contributor-free | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` | @@ -137,6 +138,7 @@ Nous prenons en charge un modèle de paiement à l'utilisation. Vous trouverez c | Big Pickle | Free | Free | Free | - | | MiMo-V2.5 Free | Free | Free | Free | - | | Hy3 Free | Free | Free | Free | - | +| Ling 3.0 Flash Fin Free | Free | Free | Free | - | | Nemotron 3 Ultra Free | Free | Free | Free | - | | Nemotron 3.5 Lightning Free | Free | Free | Free | - | | Muse Spark 1.2 Contributor Free | Free | Free | Free | - | @@ -222,6 +224,7 @@ Les modèles gratuits : - MiMo-V2.5 Free est disponible sur OpenCode pour une durée limitée. L'équipe utilise cette période pour recueillir des retours et améliorer le modèle. - Hy3 Free est disponible sur OpenCode pour une durée limitée. L'équipe utilise cette période pour recueillir des retours et améliorer le modèle. +- Ling 3.0 Flash Fin Free est disponible sur OpenCode pour une durée limitée. L'équipe utilise cette période pour recueillir des retours et améliorer le modèle. - Nemotron 3 Ultra Free est disponible sur OpenCode pour une durée limitée. L'équipe utilise cette période pour recueillir des retours et améliorer le modèle. - Nemotron 3.5 Lightning Free est disponible sur OpenCode pour une durée limitée. L'équipe utilise cette période pour recueillir des retours et améliorer le modèle. - Big Pickle est un modèle stealth gratuit sur OpenCode pour une durée limitée. L'équipe utilise cette période pour recueillir des retours et améliorer le modèle. @@ -279,6 +282,7 @@ Tous nos modèles sont hébergés aux US. Nos fournisseurs suivent une politique - Big Pickle : Pendant sa période gratuite, les données collectées peuvent être utilisées pour améliorer le modèle. - MiMo-V2.5 Free : Pendant sa période gratuite, les données collectées peuvent être utilisées pour améliorer le modèle. - Hy3 Free : Pendant sa période gratuite, les données collectées peuvent être utilisées pour améliorer le modèle. +- Ling 3.0 Flash Fin Free : Pendant sa période gratuite, les données collectées peuvent être utilisées pour améliorer le modèle. - Nemotron 3 Ultra Free (endpoints NVIDIA gratuits) : Réservé à un usage d'essai — n'envoyez pas de données personnelles ou confidentielles. Votre utilisation est journalisée à des fins de sécurité et pour améliorer les produits et services de NVIDIA. Les données de session journalisées à des fins d'amélioration ne sont pas liées à votre identité ni à un quelconque identifiant persistant. Pour plus d'informations sur nos pratiques de traitement des données, consultez notre [Politique de confidentialité](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). En interagissant avec cet endpoint, vous consentez à notre collecte, à notre enregistrement et à notre utilisation de ces informations ainsi qu'aux [NVIDIA API Trial Terms of Service](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). - Nemotron 3.5 Lightning Free (endpoints NVIDIA gratuits) : Réservé à un usage d'essai — n'envoyez pas de données personnelles ou confidentielles. Votre utilisation est journalisée à des fins de sécurité et pour améliorer les produits et services de NVIDIA. Les données de session journalisées à des fins d'amélioration ne sont pas liées à votre identité ni à un quelconque identifiant persistant. Pour plus d'informations sur nos pratiques de traitement des données, consultez notre [Politique de confidentialité](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). En interagissant avec cet endpoint, vous consentez à notre collecte, à notre enregistrement et à notre utilisation de ces informations ainsi qu'aux [NVIDIA API Trial Terms of Service](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). - OpenAI APIs : Les requêtes sont conservées pendant 30 jours conformément à [OpenAI's Data Policies](https://platform.openai.com/docs/guides/your-data). diff --git a/packages/web/src/content/docs/it/zen.mdx b/packages/web/src/content/docs/it/zen.mdx index ab6c944725f8..f77f77622971 100644 --- a/packages/web/src/content/docs/it/zen.mdx +++ b/packages/web/src/content/docs/it/zen.mdx @@ -119,6 +119,7 @@ Puoi anche accedere ai nostri modelli tramite i seguenti endpoint API. | Big Pickle | big-pickle | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | MiMo-V2.5 Free | mimo-v2.5-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Hy3 Free | hy3-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | +| Ling 3.0 Flash Fin Free | ling-3.0-flash-fin-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3 Ultra Free | nemotron-3-ultra-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3.5 Lightning Free | nemotron-3.5-lightning-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Muse Spark 1.2 Contributor Free | muse-spark-1.2-contributor-free | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` | @@ -148,6 +149,7 @@ Supportiamo un modello pay-as-you-go. Qui sotto trovi i prezzi **per 1M token**. | Big Pickle | Free | Free | Free | - | | MiMo-V2.5 Free | Free | Free | Free | - | | Hy3 Free | Free | Free | Free | - | +| Ling 3.0 Flash Fin Free | Free | Free | Free | - | | Nemotron 3 Ultra Free | Free | Free | Free | - | | Nemotron 3.5 Lightning Free | Free | Free | Free | - | | Muse Spark 1.2 Contributor Free | Free | Free | Free | - | @@ -233,6 +235,7 @@ I modelli gratuiti: - MiMo-V2.5 Free è disponibile su OpenCode per un periodo limitato. Il team usa questo periodo per raccogliere feedback e migliorare il modello. - Hy3 Free è disponibile su OpenCode per un periodo limitato. Il team usa questo periodo per raccogliere feedback e migliorare il modello. +- Ling 3.0 Flash Fin Free è disponibile su OpenCode per un periodo limitato. Il team usa questo periodo per raccogliere feedback e migliorare il modello. - Nemotron 3 Ultra Free è disponibile su OpenCode per un periodo limitato. Il team usa questo periodo per raccogliere feedback e migliorare il modello. - Nemotron 3.5 Lightning Free è disponibile su OpenCode per un periodo limitato. Il team usa questo periodo per raccogliere feedback e migliorare il modello. - Big Pickle è un modello stealth che è gratuito su OpenCode per un periodo limitato. Il team usa questo periodo per raccogliere feedback e migliorare il modello. @@ -293,6 +296,7 @@ Tutti i nostri modelli sono ospitati negli US. I nostri provider seguono una pol - Big Pickle: durante il periodo gratuito, i dati raccolti possono essere usati per migliorare il modello. - MiMo-V2.5 Free: durante il periodo gratuito, i dati raccolti possono essere usati per migliorare il modello. - Hy3 Free: durante il periodo gratuito, i dati raccolti possono essere usati per migliorare il modello. +- Ling 3.0 Flash Fin Free: durante il periodo gratuito, i dati raccolti possono essere usati per migliorare il modello. - Nemotron 3 Ultra Free (endpoint NVIDIA gratuiti): solo per uso di prova — non inviare dati personali o riservati. Il tuo utilizzo viene registrato per finalità di sicurezza e per migliorare i prodotti e i servizi di NVIDIA. I dati di sessione registrati a fini di miglioramento non sono collegati alla tua identità né ad alcun identificatore persistente. Per maggiori informazioni sulle nostre pratiche di trattamento dei dati, consulta la nostra [Informativa sulla privacy](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). Interagendo con questo endpoint, acconsenti alla nostra raccolta, registrazione e utilizzo di tali informazioni e ai [NVIDIA API Trial Terms of Service](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). - Nemotron 3.5 Lightning Free (endpoint NVIDIA gratuiti): solo per uso di prova — non inviare dati personali o riservati. Il tuo utilizzo viene registrato per finalità di sicurezza e per migliorare i prodotti e i servizi di NVIDIA. I dati di sessione registrati a fini di miglioramento non sono collegati alla tua identità né ad alcun identificatore persistente. Per maggiori informazioni sulle nostre pratiche di trattamento dei dati, consulta la nostra [Informativa sulla privacy](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). Interagendo con questo endpoint, acconsenti alla nostra raccolta, registrazione e utilizzo di tali informazioni e ai [NVIDIA API Trial Terms of Service](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). - OpenAI APIs: le richieste vengono conservate per 30 giorni in conformità con [OpenAI's Data Policies](https://platform.openai.com/docs/guides/your-data). diff --git a/packages/web/src/content/docs/ja/zen.mdx b/packages/web/src/content/docs/ja/zen.mdx index acf316674fdb..9ccc24c2840e 100644 --- a/packages/web/src/content/docs/ja/zen.mdx +++ b/packages/web/src/content/docs/ja/zen.mdx @@ -110,6 +110,7 @@ OpenCode Zen は、OpenCode のほかのプロバイダーと同じように動 | Big Pickle | big-pickle | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | MiMo-V2.5 Free | mimo-v2.5-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Hy3 Free | hy3-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | +| Ling 3.0 Flash Fin Free | ling-3.0-flash-fin-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3 Ultra Free | nemotron-3-ultra-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3.5 Lightning Free | nemotron-3.5-lightning-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Muse Spark 1.2 Contributor Free | muse-spark-1.2-contributor-free | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` | @@ -137,6 +138,7 @@ https://opencode.ai/zen/v1/models | Big Pickle | Free | Free | Free | - | | MiMo-V2.5 Free | Free | Free | Free | - | | Hy3 Free | Free | Free | Free | - | +| Ling 3.0 Flash Fin Free | Free | Free | Free | - | | Nemotron 3 Ultra Free | Free | Free | Free | - | | Nemotron 3.5 Lightning Free | Free | Free | Free | - | | Muse Spark 1.2 Contributor Free | Free | Free | Free | - | @@ -222,6 +224,7 @@ https://opencode.ai/zen/v1/models - MiMo-V2.5 Free は期間限定で OpenCode で利用できます。チームはこの期間中にフィードバックを集め、モデルを改善しています。 - Hy3 Free は期間限定で OpenCode で利用できます。チームはこの期間中にフィードバックを集め、モデルを改善しています。 +- Ling 3.0 Flash Fin Free は期間限定で OpenCode で利用できます。チームはこの期間中にフィードバックを集め、モデルを改善しています。 - Nemotron 3 Ultra Free は期間限定で OpenCode で利用できます。チームはこの期間中にフィードバックを集め、モデルを改善しています。 - Nemotron 3.5 Lightning Free は期間限定で OpenCode で利用できます。チームはこの期間中にフィードバックを集め、モデルを改善しています。 - Big Pickle はステルスモデルで、期間限定で OpenCode で無料提供されています。チームはこの期間中にフィードバックを集め、モデルを改善しています。 @@ -279,6 +282,7 @@ https://opencode.ai/zen/v1/models - Big Pickle: 無料提供期間中、収集されたデータがモデル改善に使われる場合があります。 - MiMo-V2.5 Free: 無料提供期間中、収集されたデータがモデル改善に使われる場合があります。 - Hy3 Free: 無料提供期間中、収集されたデータがモデル改善に使われる場合があります。 +- Ling 3.0 Flash Fin Free: 無料提供期間中、収集されたデータがモデル改善に使われる場合があります。 - Nemotron 3 Ultra Free(NVIDIA の無料エンドポイント): 試用専用です — 個人情報や機密データは送信しないでください。お客様の利用は、セキュリティ目的および NVIDIA の製品とサービスの改善のために記録されます。改善目的で記録されたセッションデータは、お客様の身元や永続的な識別子とは関連付けられません。当社のデータ処理慣行の詳細については、[プライバシーポリシー](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf)をご覧ください。このエンドポイントを利用することで、お客様はそのような情報の当社による収集、記録、利用、および [NVIDIA API Trial Terms of Service](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf) に同意したものとみなされます。 - Nemotron 3.5 Lightning Free(NVIDIA の無料エンドポイント): 試用専用です — 個人情報や機密データは送信しないでください。お客様の利用は、セキュリティ目的および NVIDIA の製品とサービスの改善のために記録されます。改善目的で記録されたセッションデータは、お客様の身元や永続的な識別子とは関連付けられません。当社のデータ処理慣行の詳細については、[プライバシーポリシー](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf)をご覧ください。このエンドポイントを利用することで、お客様はそのような情報の当社による収集、記録、利用、および [NVIDIA API Trial Terms of Service](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf) に同意したものとみなされます。 - OpenAI APIs: リクエストは [OpenAI's Data Policies](https://platform.openai.com/docs/guides/your-data) に従って 30 日間保持されます。 diff --git a/packages/web/src/content/docs/ko/zen.mdx b/packages/web/src/content/docs/ko/zen.mdx index a3965a9eb447..eca5125ad515 100644 --- a/packages/web/src/content/docs/ko/zen.mdx +++ b/packages/web/src/content/docs/ko/zen.mdx @@ -110,6 +110,7 @@ OpenCode Zen은 OpenCode의 다른 provider와 똑같이 작동합니다. | Big Pickle | big-pickle | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | MiMo-V2.5 Free | mimo-v2.5-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Hy3 Free | hy3-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | +| Ling 3.0 Flash Fin Free | ling-3.0-flash-fin-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3 Ultra Free | nemotron-3-ultra-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3.5 Lightning Free | nemotron-3.5-lightning-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Muse Spark 1.2 Contributor Free | muse-spark-1.2-contributor-free | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` | @@ -137,6 +138,7 @@ https://opencode.ai/zen/v1/models | Big Pickle | Free | Free | Free | - | | MiMo-V2.5 Free | Free | Free | Free | - | | Hy3 Free | Free | Free | Free | - | +| Ling 3.0 Flash Fin Free | Free | Free | Free | - | | Nemotron 3 Ultra Free | Free | Free | Free | - | | Nemotron 3.5 Lightning Free | Free | Free | Free | - | | Muse Spark 1.2 Contributor Free | Free | Free | Free | - | @@ -222,6 +224,7 @@ https://opencode.ai/zen/v1/models - MiMo-V2.5 Free는 한정된 기간 동안 OpenCode에서 제공됩니다. 팀은 이 기간에 피드백을 수집하고 모델을 개선합니다. - Hy3 Free는 한정된 기간 동안 OpenCode에서 제공됩니다. 팀은 이 기간에 피드백을 수집하고 모델을 개선합니다. +- Ling 3.0 Flash Fin Free는 한정된 기간 동안 OpenCode에서 제공됩니다. 팀은 이 기간에 피드백을 수집하고 모델을 개선합니다. - Nemotron 3 Ultra Free는 한정된 기간 동안 OpenCode에서 제공됩니다. 팀은 이 기간에 피드백을 수집하고 모델을 개선합니다. - Nemotron 3.5 Lightning Free는 한정된 기간 동안 OpenCode에서 제공됩니다. 팀은 이 기간에 피드백을 수집하고 모델을 개선합니다. - Big Pickle은 한정된 기간 동안 OpenCode에서 무료로 제공되는 stealth model입니다. 팀은 이 기간에 피드백을 수집하고 모델을 개선합니다. @@ -279,6 +282,7 @@ https://opencode.ai/zen/v1/models - Big Pickle: 무료 제공 기간에는 수집된 데이터가 모델 개선에 사용될 수 있습니다. - MiMo-V2.5 Free: 무료 제공 기간에는 수집된 데이터가 모델 개선에 사용될 수 있습니다. - Hy3 Free: 무료 제공 기간에는 수집된 데이터가 모델 개선에 사용될 수 있습니다. +- Ling 3.0 Flash Fin Free: 무료 제공 기간에는 수집된 데이터가 모델 개선에 사용될 수 있습니다. - Nemotron 3 Ultra Free(NVIDIA 무료 엔드포인트): 평가판 전용이며 — 개인 정보나 기밀 데이터는 제출하지 마세요. 사용 내역은 보안 목적과 NVIDIA 제품 및 서비스 개선을 위해 기록됩니다. 개선 목적으로 기록된 세션 데이터는 사용자의 신원이나 영구 식별자와 연결되지 않습니다. 당사의 데이터 처리 관행에 대한 자세한 내용은 [개인정보처리방침](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf)을 참조하세요. 이 엔드포인트와 상호 작용함으로써 사용자는 당사가 이러한 정보를 수집, 기록, 사용하는 것과 [NVIDIA API Trial Terms of Service](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf)에 동의하게 됩니다. - Nemotron 3.5 Lightning Free(NVIDIA 무료 엔드포인트): 평가판 전용이며 — 개인 정보나 기밀 데이터는 제출하지 마세요. 사용 내역은 보안 목적과 NVIDIA 제품 및 서비스 개선을 위해 기록됩니다. 개선 목적으로 기록된 세션 데이터는 사용자의 신원이나 영구 식별자와 연결되지 않습니다. 당사의 데이터 처리 관행에 대한 자세한 내용은 [개인정보처리방침](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf)을 참조하세요. 이 엔드포인트와 상호 작용함으로써 사용자는 당사가 이러한 정보를 수집, 기록, 사용하는 것과 [NVIDIA API Trial Terms of Service](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf)에 동의하게 됩니다. - OpenAI APIs: 요청은 [OpenAI's Data Policies](https://platform.openai.com/docs/guides/your-data)에 따라 30일 동안 보관됩니다. diff --git a/packages/web/src/content/docs/nb/zen.mdx b/packages/web/src/content/docs/nb/zen.mdx index 68b7435be2b3..4a48b8310cff 100644 --- a/packages/web/src/content/docs/nb/zen.mdx +++ b/packages/web/src/content/docs/nb/zen.mdx @@ -119,6 +119,7 @@ Du kan også få tilgang til modellene våre gjennom følgende API-endepunkter. | Big Pickle | big-pickle | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | MiMo-V2.5 Free | mimo-v2.5-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Hy3 Free | hy3-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | +| Ling 3.0 Flash Fin Free | ling-3.0-flash-fin-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3 Ultra Free | nemotron-3-ultra-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3.5 Lightning Free | nemotron-3.5-lightning-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Muse Spark 1.2 Contributor Free | muse-spark-1.2-contributor-free | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` | @@ -148,6 +149,7 @@ Vi støtter en pay-as-you-go-modell. Nedenfor er prisene **per 1M tokens**. | Big Pickle | Free | Free | Free | - | | MiMo-V2.5 Free | Free | Free | Free | - | | Hy3 Free | Free | Free | Free | - | +| Ling 3.0 Flash Fin Free | Free | Free | Free | - | | Nemotron 3 Ultra Free | Free | Free | Free | - | | Nemotron 3.5 Lightning Free | Free | Free | Free | - | | Muse Spark 1.2 Contributor Free | Free | Free | Free | - | @@ -233,6 +235,7 @@ Gratis-modellene: - MiMo-V2.5 Free er tilgjengelig på OpenCode i en begrenset periode. Teamet bruker denne tiden til å samle inn tilbakemeldinger og forbedre modellen. - Hy3 Free er tilgjengelig på OpenCode i en begrenset periode. Teamet bruker denne tiden til å samle inn tilbakemeldinger og forbedre modellen. +- Ling 3.0 Flash Fin Free er tilgjengelig på OpenCode i en begrenset periode. Teamet bruker denne tiden til å samle inn tilbakemeldinger og forbedre modellen. - Nemotron 3 Ultra Free er tilgjengelig på OpenCode i en begrenset periode. Teamet bruker denne tiden til å samle inn tilbakemeldinger og forbedre modellen. - Nemotron 3.5 Lightning Free er tilgjengelig på OpenCode i en begrenset periode. Teamet bruker denne tiden til å samle inn tilbakemeldinger og forbedre modellen. - Big Pickle er en stealth-modell som er gratis på OpenCode i en begrenset periode. Teamet bruker denne tiden til å samle inn tilbakemeldinger og forbedre modellen. @@ -293,6 +296,7 @@ Alle modellene våre hostes i US. Leverandørene våre følger en policy for zer - Big Pickle: I gratisperioden kan innsamlede data brukes til å forbedre modellen. - MiMo-V2.5 Free: I gratisperioden kan innsamlede data brukes til å forbedre modellen. - Hy3 Free: I gratisperioden kan innsamlede data brukes til å forbedre modellen. +- Ling 3.0 Flash Fin Free: I gratisperioden kan innsamlede data brukes til å forbedre modellen. - Nemotron 3 Ultra Free (gratis NVIDIA-endepunkter): Kun for prøvebruk — ikke send inn personopplysninger eller konfidensielle data. Bruken din logges av sikkerhetshensyn og for å forbedre NVIDIAs produkter og tjenester. Sesjonsdataene som logges for forbedringsformål, er ikke knyttet til identiteten din eller noen vedvarende identifikator. For mer informasjon om vår databehandlingspraksis, se vår [personvernerklæring](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). Ved å samhandle med dette endepunktet samtykker du til at vi samler inn, registrerer og bruker slik informasjon, samt til [NVIDIA API Trial Terms of Service](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). - Nemotron 3.5 Lightning Free (gratis NVIDIA-endepunkter): Kun for prøvebruk — ikke send inn personopplysninger eller konfidensielle data. Bruken din logges av sikkerhetshensyn og for å forbedre NVIDIAs produkter og tjenester. Sesjonsdataene som logges for forbedringsformål, er ikke knyttet til identiteten din eller noen vedvarende identifikator. For mer informasjon om vår databehandlingspraksis, se vår [personvernerklæring](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). Ved å samhandle med dette endepunktet samtykker du til at vi samler inn, registrerer og bruker slik informasjon, samt til [NVIDIA API Trial Terms of Service](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). - OpenAI APIs: Forespørsler lagres i 30 dager i samsvar med [OpenAI's Data Policies](https://platform.openai.com/docs/guides/your-data). diff --git a/packages/web/src/content/docs/pl/zen.mdx b/packages/web/src/content/docs/pl/zen.mdx index c7db53507c4f..9698672a2a06 100644 --- a/packages/web/src/content/docs/pl/zen.mdx +++ b/packages/web/src/content/docs/pl/zen.mdx @@ -119,6 +119,7 @@ Możesz też uzyskać dostęp do naszych modeli przez poniższe endpointy API. | Big Pickle | big-pickle | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | MiMo-V2.5 Free | mimo-v2.5-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Hy3 Free | hy3-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | +| Ling 3.0 Flash Fin Free | ling-3.0-flash-fin-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3 Ultra Free | nemotron-3-ultra-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3.5 Lightning Free | nemotron-3.5-lightning-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Muse Spark 1.2 Contributor Free | muse-spark-1.2-contributor-free | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` | @@ -148,6 +149,7 @@ Obsługujemy model pay-as-you-go. Poniżej znajdują się ceny **za 1M tokenów* | Big Pickle | Free | Free | Free | - | | MiMo-V2.5 Free | Free | Free | Free | - | | Hy3 Free | Free | Free | Free | - | +| Ling 3.0 Flash Fin Free | Free | Free | Free | - | | Nemotron 3 Ultra Free | Free | Free | Free | - | | Nemotron 3.5 Lightning Free | Free | Free | Free | - | | Muse Spark 1.2 Contributor Free | Free | Free | Free | - | @@ -233,6 +235,7 @@ Darmowe modele: - MiMo-V2.5 Free jest dostępny w OpenCode przez ograniczony czas. Zespół wykorzystuje ten czas do zbierania opinii i ulepszania modelu. - Hy3 Free jest dostępny w OpenCode przez ograniczony czas. Zespół wykorzystuje ten czas do zbierania opinii i ulepszania modelu. +- Ling 3.0 Flash Fin Free jest dostępny w OpenCode przez ograniczony czas. Zespół wykorzystuje ten czas do zbierania opinii i ulepszania modelu. - Nemotron 3 Ultra Free jest dostępny w OpenCode przez ograniczony czas. Zespół wykorzystuje ten czas do zbierania opinii i ulepszania modelu. - Nemotron 3.5 Lightning Free jest dostępny w OpenCode przez ograniczony czas. Zespół wykorzystuje ten czas do zbierania opinii i ulepszania modelu. - Big Pickle to stealth model, który jest darmowy w OpenCode przez ograniczony czas. Zespół wykorzystuje ten czas do zbierania opinii i ulepszania modelu. @@ -293,6 +296,7 @@ Wszystkie nasze modele są hostowane w US. Nasi dostawcy stosują politykę zero - Big Pickle: W czasie darmowego okresu zebrane dane mogą być wykorzystywane do ulepszania modelu. - MiMo-V2.5 Free: W czasie darmowego okresu zebrane dane mogą być wykorzystywane do ulepszania modelu. - Hy3 Free: W czasie darmowego okresu zebrane dane mogą być wykorzystywane do ulepszania modelu. +- Ling 3.0 Flash Fin Free: W czasie darmowego okresu zebrane dane mogą być wykorzystywane do ulepszania modelu. - Nemotron 3 Ultra Free (darmowe endpointy NVIDIA): Tylko do użytku próbnego — nie przesyłaj danych osobowych ani poufnych. Twoje korzystanie jest rejestrowane w celach bezpieczeństwa oraz w celu ulepszania produktów i usług NVIDIA. Rejestrowane dane sesji wykorzystywane do celów ulepszania nie są powiązane z Twoją tożsamością ani żadnym trwałym identyfikatorem. Aby uzyskać więcej informacji o naszych praktykach przetwarzania danych, zapoznaj się z naszą [Polityką prywatności](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). Korzystając z tego endpointu, wyrażasz zgodę na gromadzenie, rejestrowanie i wykorzystywanie przez nas takich informacji oraz na [NVIDIA API Trial Terms of Service](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). - Nemotron 3.5 Lightning Free (darmowe endpointy NVIDIA): Tylko do użytku próbnego — nie przesyłaj danych osobowych ani poufnych. Twoje korzystanie jest rejestrowane w celach bezpieczeństwa oraz w celu ulepszania produktów i usług NVIDIA. Rejestrowane dane sesji wykorzystywane do celów ulepszania nie są powiązane z Twoją tożsamością ani żadnym trwałym identyfikatorem. Aby uzyskać więcej informacji o naszych praktykach przetwarzania danych, zapoznaj się z naszą [Polityką prywatności](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). Korzystając z tego endpointu, wyrażasz zgodę na gromadzenie, rejestrowanie i wykorzystywanie przez nas takich informacji oraz na [NVIDIA API Trial Terms of Service](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). - OpenAI APIs: Żądania są przechowywane przez 30 dni zgodnie z [OpenAI's Data Policies](https://platform.openai.com/docs/guides/your-data). diff --git a/packages/web/src/content/docs/pt-br/zen.mdx b/packages/web/src/content/docs/pt-br/zen.mdx index 5792ca2db7f5..6ee33cd324dc 100644 --- a/packages/web/src/content/docs/pt-br/zen.mdx +++ b/packages/web/src/content/docs/pt-br/zen.mdx @@ -110,6 +110,7 @@ Você também pode acessar nossos modelos pelos seguintes endpoints de API. | Big Pickle | big-pickle | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | MiMo-V2.5 Free | mimo-v2.5-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Hy3 Free | hy3-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | +| Ling 3.0 Flash Fin Free | ling-3.0-flash-fin-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3 Ultra Free | nemotron-3-ultra-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3.5 Lightning Free | nemotron-3.5-lightning-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Muse Spark 1.2 Contributor Free | muse-spark-1.2-contributor-free | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` | @@ -137,6 +138,7 @@ Oferecemos um modelo pay-as-you-go. Abaixo estão os preços **por 1M tokens**. | Big Pickle | Free | Free | Free | - | | MiMo-V2.5 Free | Free | Free | Free | - | | Hy3 Free | Free | Free | Free | - | +| Ling 3.0 Flash Fin Free | Free | Free | Free | - | | Nemotron 3 Ultra Free | Free | Free | Free | - | | Nemotron 3.5 Lightning Free | Free | Free | Free | - | | Muse Spark 1.2 Contributor Free | Free | Free | Free | - | @@ -222,6 +224,7 @@ Os modelos gratuitos: - MiMo-V2.5 Free está disponível no OpenCode por tempo limitado. A equipe está usando esse período para coletar feedback e melhorar o modelo. - Hy3 Free está disponível no OpenCode por tempo limitado. A equipe está usando esse período para coletar feedback e melhorar o modelo. +- Ling 3.0 Flash Fin Free está disponível no OpenCode por tempo limitado. A equipe está usando esse período para coletar feedback e melhorar o modelo. - Nemotron 3 Ultra Free está disponível no OpenCode por tempo limitado. A equipe está usando esse período para coletar feedback e melhorar o modelo. - Nemotron 3.5 Lightning Free está disponível no OpenCode por tempo limitado. A equipe está usando esse período para coletar feedback e melhorar o modelo. - Big Pickle é um modelo stealth que está gratuito no OpenCode por tempo limitado. A equipe está usando esse período para coletar feedback e melhorar o modelo. @@ -279,6 +282,7 @@ Todos os nossos modelos são hospedados nos US. Nossos provedores seguem uma pol - Big Pickle: Durante seu período gratuito, os dados coletados podem ser usados para melhorar o modelo. - MiMo-V2.5 Free: Durante seu período gratuito, os dados coletados podem ser usados para melhorar o modelo. - Hy3 Free: Durante seu período gratuito, os dados coletados podem ser usados para melhorar o modelo. +- Ling 3.0 Flash Fin Free: Durante seu período gratuito, os dados coletados podem ser usados para melhorar o modelo. - Nemotron 3 Ultra Free (endpoints gratuitos da NVIDIA): Apenas para uso de avaliação — não envie dados pessoais ou confidenciais. Seu uso é registrado para fins de segurança e para melhorar os produtos e serviços da NVIDIA. Os dados de sessão registrados para fins de melhoria não estão vinculados à sua identidade nem a qualquer identificador persistente. Para mais informações sobre nossas práticas de processamento de dados, consulte nossa [Política de Privacidade](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). Ao interagir com este endpoint, você consente com a nossa coleta, registro e uso dessas informações e com os [NVIDIA API Trial Terms of Service](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). - Nemotron 3.5 Lightning Free (endpoints gratuitos da NVIDIA): Apenas para uso de avaliação — não envie dados pessoais ou confidenciais. Seu uso é registrado para fins de segurança e para melhorar os produtos e serviços da NVIDIA. Os dados de sessão registrados para fins de melhoria não estão vinculados à sua identidade nem a qualquer identificador persistente. Para mais informações sobre nossas práticas de processamento de dados, consulte nossa [Política de Privacidade](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). Ao interagir com este endpoint, você consente com a nossa coleta, registro e uso dessas informações e com os [NVIDIA API Trial Terms of Service](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). - OpenAI APIs: As solicitações são retidas por 30 dias de acordo com [OpenAI's Data Policies](https://platform.openai.com/docs/guides/your-data). diff --git a/packages/web/src/content/docs/ru/zen.mdx b/packages/web/src/content/docs/ru/zen.mdx index f72238c90054..cda6177b9241 100644 --- a/packages/web/src/content/docs/ru/zen.mdx +++ b/packages/web/src/content/docs/ru/zen.mdx @@ -119,6 +119,7 @@ OpenCode Zen работает как любой другой провайдер | Big Pickle | big-pickle | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | MiMo-V2.5 Free | mimo-v2.5-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Hy3 Free | hy3-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | +| Ling 3.0 Flash Fin Free | ling-3.0-flash-fin-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3 Ultra Free | nemotron-3-ultra-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3.5 Lightning Free | nemotron-3.5-lightning-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Muse Spark 1.2 Contributor Free | muse-spark-1.2-contributor-free | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` | @@ -148,6 +149,7 @@ https://opencode.ai/zen/v1/models | Big Pickle | Free | Free | Free | - | | MiMo-V2.5 Free | Free | Free | Free | - | | Hy3 Free | Free | Free | Free | - | +| Ling 3.0 Flash Fin Free | Free | Free | Free | - | | Nemotron 3 Ultra Free | Free | Free | Free | - | | Nemotron 3.5 Lightning Free | Free | Free | Free | - | | Muse Spark 1.2 Contributor Free | Free | Free | Free | - | @@ -233,6 +235,7 @@ https://opencode.ai/zen/v1/models - MiMo-V2.5 Free доступна в OpenCode ограниченное время. Команда использует это время, чтобы собирать отзывы и улучшать модель. - Hy3 Free доступна в OpenCode ограниченное время. Команда использует это время, чтобы собирать отзывы и улучшать модель. +- Ling 3.0 Flash Fin Free доступна в OpenCode ограниченное время. Команда использует это время, чтобы собирать отзывы и улучшать модель. - Nemotron 3 Ultra Free доступна в OpenCode ограниченное время. Команда использует это время, чтобы собирать отзывы и улучшать модель. - Nemotron 3.5 Lightning Free доступна в OpenCode ограниченное время. Команда использует это время, чтобы собирать отзывы и улучшать модель. - Big Pickle — это скрытая модель, которая доступна бесплатно в OpenCode ограниченное время. Команда использует это время, чтобы собирать отзывы и улучшать модель. @@ -293,6 +296,7 @@ https://opencode.ai/zen/v1/models - Big Pickle: во время бесплатного периода собранные данные могут использоваться для улучшения модели. - MiMo-V2.5 Free: во время бесплатного периода собранные данные могут использоваться для улучшения модели. - Hy3 Free: во время бесплатного периода собранные данные могут использоваться для улучшения модели. +- Ling 3.0 Flash Fin Free: во время бесплатного периода собранные данные могут использоваться для улучшения модели. - Nemotron 3 Ultra Free (бесплатные эндпоинты NVIDIA): только для пробного использования — не отправляйте персональные или конфиденциальные данные. Использование логируется в целях безопасности и для улучшения продуктов и сервисов NVIDIA. Логируемые данные сессии, используемые в целях улучшения, не связаны с вашей личностью или каким-либо постоянным идентификатором. Подробнее о наших практиках обработки данных см. в нашей [Политике конфиденциальности](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). Взаимодействуя с этим эндпоинтом, вы соглашаетесь на сбор, запись и использование нами такой информации, а также с [NVIDIA API Trial Terms of Service](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). - Nemotron 3.5 Lightning Free (бесплатные эндпоинты NVIDIA): только для пробного использования — не отправляйте персональные или конфиденциальные данные. Использование логируется в целях безопасности и для улучшения продуктов и сервисов NVIDIA. Логируемые данные сессии, используемые в целях улучшения, не связаны с вашей личностью или каким-либо постоянным идентификатором. Подробнее о наших практиках обработки данных см. в нашей [Политике конфиденциальности](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). Взаимодействуя с этим эндпоинтом, вы соглашаетесь на сбор, запись и использование нами такой информации, а также с [NVIDIA API Trial Terms of Service](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). - OpenAI APIs: запросы хранятся 30 дней в соответствии с [OpenAI's Data Policies](https://platform.openai.com/docs/guides/your-data). diff --git a/packages/web/src/content/docs/th/zen.mdx b/packages/web/src/content/docs/th/zen.mdx index 157e906a3ac1..4788e22dd86e 100644 --- a/packages/web/src/content/docs/th/zen.mdx +++ b/packages/web/src/content/docs/th/zen.mdx @@ -112,6 +112,7 @@ OpenCode Zen ทำงานเหมือน provider อื่น ๆ ใน | Big Pickle | big-pickle | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | MiMo-V2.5 Free | mimo-v2.5-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Hy3 Free | hy3-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | +| Ling 3.0 Flash Fin Free | ling-3.0-flash-fin-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3 Ultra Free | nemotron-3-ultra-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3.5 Lightning Free | nemotron-3.5-lightning-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Muse Spark 1.2 Contributor Free | muse-spark-1.2-contributor-free | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` | @@ -139,6 +140,7 @@ https://opencode.ai/zen/v1/models | Big Pickle | Free | Free | Free | - | | MiMo-V2.5 Free | Free | Free | Free | - | | Hy3 Free | Free | Free | Free | - | +| Ling 3.0 Flash Fin Free | Free | Free | Free | - | | Nemotron 3 Ultra Free | Free | Free | Free | - | | Nemotron 3.5 Lightning Free | Free | Free | Free | - | | Muse Spark 1.2 Contributor Free | Free | Free | Free | - | @@ -224,6 +226,7 @@ https://opencode.ai/zen/v1/models - MiMo-V2.5 Free เปิดให้ใช้บน OpenCode ในช่วงเวลาจำกัด ทีมกำลังใช้ช่วงเวลานี้เพื่อเก็บ feedback และปรับปรุงโมเดล - Hy3 Free เปิดให้ใช้บน OpenCode ในช่วงเวลาจำกัด ทีมกำลังใช้ช่วงเวลานี้เพื่อเก็บ feedback และปรับปรุงโมเดล +- Ling 3.0 Flash Fin Free เปิดให้ใช้บน OpenCode ในช่วงเวลาจำกัด ทีมกำลังใช้ช่วงเวลานี้เพื่อเก็บ feedback และปรับปรุงโมเดล - Nemotron 3 Ultra Free เปิดให้ใช้บน OpenCode ในช่วงเวลาจำกัด ทีมกำลังใช้ช่วงเวลานี้เพื่อเก็บ feedback และปรับปรุงโมเดล - Nemotron 3.5 Lightning Free เปิดให้ใช้บน OpenCode ในช่วงเวลาจำกัด ทีมกำลังใช้ช่วงเวลานี้เพื่อเก็บ feedback และปรับปรุงโมเดล - Big Pickle เป็น stealth model ที่ใช้งานฟรีบน OpenCode ในช่วงเวลาจำกัด ทีมกำลังใช้ช่วงเวลานี้เพื่อเก็บ feedback และปรับปรุงโมเดล @@ -281,6 +284,7 @@ https://opencode.ai/zen/v1/models - Big Pickle: ระหว่างช่วงที่เปิดให้ใช้ฟรี ข้อมูลที่เก็บรวบรวมอาจถูกนำไปใช้เพื่อปรับปรุงโมเดล - MiMo-V2.5 Free: ระหว่างช่วงที่เปิดให้ใช้ฟรี ข้อมูลที่เก็บรวบรวมอาจถูกนำไปใช้เพื่อปรับปรุงโมเดล - Hy3 Free: ระหว่างช่วงที่เปิดให้ใช้ฟรี ข้อมูลที่เก็บรวบรวมอาจถูกนำไปใช้เพื่อปรับปรุงโมเดล +- Ling 3.0 Flash Fin Free: ระหว่างช่วงที่เปิดให้ใช้ฟรี ข้อมูลที่เก็บรวบรวมอาจถูกนำไปใช้เพื่อปรับปรุงโมเดล - Nemotron 3 Ultra Free (endpoint ฟรีของ NVIDIA): ใช้สำหรับการทดลองเท่านั้น — โปรดอย่าส่งข้อมูลส่วนบุคคลหรือข้อมูลลับ การใช้งานของคุณจะถูกบันทึกเพื่อวัตถุประสงค์ด้านความปลอดภัยและเพื่อปรับปรุงผลิตภัณฑ์และบริการของ NVIDIA ข้อมูลเซสชันที่บันทึกไว้เพื่อวัตถุประสงค์ในการปรับปรุงจะไม่เชื่อมโยงกับตัวตนของคุณหรือตัวระบุถาวรใด ๆ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับแนวปฏิบัติในการประมวลผลข้อมูลของเรา โปรดดู [นโยบายความเป็นส่วนตัว](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf) ของเรา การโต้ตอบกับ endpoint นี้ถือว่าคุณยินยอมให้เราเก็บรวบรวม บันทึก และใช้ข้อมูลดังกล่าว รวมถึง [NVIDIA API Trial Terms of Service](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf) - Nemotron 3.5 Lightning Free (endpoint ฟรีของ NVIDIA): ใช้สำหรับการทดลองเท่านั้น — โปรดอย่าส่งข้อมูลส่วนบุคคลหรือข้อมูลลับ การใช้งานของคุณจะถูกบันทึกเพื่อวัตถุประสงค์ด้านความปลอดภัยและเพื่อปรับปรุงผลิตภัณฑ์และบริการของ NVIDIA ข้อมูลเซสชันที่บันทึกไว้เพื่อวัตถุประสงค์ในการปรับปรุงจะไม่เชื่อมโยงกับตัวตนของคุณหรือตัวระบุถาวรใด ๆ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับแนวปฏิบัติในการประมวลผลข้อมูลของเรา โปรดดู [นโยบายความเป็นส่วนตัว](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf) ของเรา การโต้ตอบกับ endpoint นี้ถือว่าคุณยินยอมให้เราเก็บรวบรวม บันทึก และใช้ข้อมูลดังกล่าว รวมถึง [NVIDIA API Trial Terms of Service](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf) - OpenAI APIs: คำขอจะถูกเก็บไว้เป็นเวลา 30 วันตาม [OpenAI's Data Policies](https://platform.openai.com/docs/guides/your-data). diff --git a/packages/web/src/content/docs/tr/zen.mdx b/packages/web/src/content/docs/tr/zen.mdx index d96fdce37edb..0188c0961a26 100644 --- a/packages/web/src/content/docs/tr/zen.mdx +++ b/packages/web/src/content/docs/tr/zen.mdx @@ -110,6 +110,7 @@ Modellerimize aşağıdaki API uç noktaları aracılığıyla da erişebilirsin | Big Pickle | big-pickle | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | MiMo-V2.5 Free | mimo-v2.5-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Hy3 Free | hy3-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | +| Ling 3.0 Flash Fin Free | ling-3.0-flash-fin-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3 Ultra Free | nemotron-3-ultra-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3.5 Lightning Free | nemotron-3.5-lightning-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Muse Spark 1.2 Contributor Free | muse-spark-1.2-contributor-free | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` | @@ -137,6 +138,7 @@ Kullandıkça öde modelini destekliyoruz. Aşağıda **1M token başına** fiya | Big Pickle | Free | Free | Free | - | | MiMo-V2.5 Free | Free | Free | Free | - | | Hy3 Free | Free | Free | Free | - | +| Ling 3.0 Flash Fin Free | Free | Free | Free | - | | Nemotron 3 Ultra Free | Free | Free | Free | - | | Nemotron 3.5 Lightning Free | Free | Free | Free | - | | Muse Spark 1.2 Contributor Free | Free | Free | Free | - | @@ -222,6 +224,7 @@ Kredi kartı ücretleri maliyet üzerinden yansıtılır (%4.4 + işlem başına - MiMo-V2.5 Free, sınırlı bir süre için OpenCode'da ücretsizdir. Ekip bu süreyi geri bildirim toplamak ve modeli iyileştirmek için kullanıyor. - Hy3 Free, sınırlı bir süre için OpenCode'da ücretsizdir. Ekip bu süreyi geri bildirim toplamak ve modeli iyileştirmek için kullanıyor. +- Ling 3.0 Flash Fin Free, sınırlı bir süre için OpenCode'da ücretsizdir. Ekip bu süreyi geri bildirim toplamak ve modeli iyileştirmek için kullanıyor. - Nemotron 3 Ultra Free, sınırlı bir süre için OpenCode'da ücretsizdir. Ekip bu süreyi geri bildirim toplamak ve modeli iyileştirmek için kullanıyor. - Nemotron 3.5 Lightning Free, sınırlı bir süre için OpenCode'da ücretsizdir. Ekip bu süreyi geri bildirim toplamak ve modeli iyileştirmek için kullanıyor. - Big Pickle, sınırlı bir süre için OpenCode'da ücretsiz olan gizli bir modeldir. Ekip bu süreyi geri bildirim toplamak ve modeli iyileştirmek için kullanıyor. @@ -279,6 +282,7 @@ Tüm modellerimiz US'de barındırılıyor. Sağlayıcılarımız zero-retention - Big Pickle: Ücretsiz döneminde toplanan veriler modeli iyileştirmek için kullanılabilir. - MiMo-V2.5 Free: Ücretsiz döneminde toplanan veriler modeli iyileştirmek için kullanılabilir. - Hy3 Free: Ücretsiz döneminde toplanan veriler modeli iyileştirmek için kullanılabilir. +- Ling 3.0 Flash Fin Free: Ücretsiz döneminde toplanan veriler modeli iyileştirmek için kullanılabilir. - Nemotron 3 Ultra Free (ücretsiz NVIDIA uç noktaları): Yalnızca deneme amaçlıdır — kişisel veya gizli veri göndermeyin. Kullanımınız güvenlik amacıyla ve NVIDIA ürünlerini ve hizmetlerini geliştirmek için kaydedilir. Geliştirme amacıyla kaydedilen oturum verileri kimliğinizle veya herhangi bir kalıcı tanımlayıcıyla ilişkilendirilmez. Veri işleme uygulamalarımız hakkında daha fazla bilgi için [Gizlilik Politikamıza](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf) bakın. Bu uç noktayla etkileşime geçerek, bu tür bilgileri toplamamıza, kaydetmemize ve kullanmamıza ve [NVIDIA API Trial Terms of Service](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf) koşullarına onay vermiş olursunuz. - Nemotron 3.5 Lightning Free (ücretsiz NVIDIA uç noktaları): Yalnızca deneme amaçlıdır — kişisel veya gizli veri göndermeyin. Kullanımınız güvenlik amacıyla ve NVIDIA ürünlerini ve hizmetlerini geliştirmek için kaydedilir. Geliştirme amacıyla kaydedilen oturum verileri kimliğinizle veya herhangi bir kalıcı tanımlayıcıyla ilişkilendirilmez. Veri işleme uygulamalarımız hakkında daha fazla bilgi için [Gizlilik Politikamıza](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf) bakın. Bu uç noktayla etkileşime geçerek, bu tür bilgileri toplamamıza, kaydetmemize ve kullanmamıza ve [NVIDIA API Trial Terms of Service](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf) koşullarına onay vermiş olursunuz. - OpenAI APIs: İstekler [OpenAI's Data Policies](https://platform.openai.com/docs/guides/your-data) uyarınca 30 gün boyunca saklanır. diff --git a/packages/web/src/content/docs/zen.mdx b/packages/web/src/content/docs/zen.mdx index a5a80dbf611e..e41ab3f90277 100644 --- a/packages/web/src/content/docs/zen.mdx +++ b/packages/web/src/content/docs/zen.mdx @@ -119,6 +119,7 @@ You can also access our models through the following API endpoints. | Big Pickle | big-pickle | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | MiMo-V2.5 Free | mimo-v2.5-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Hy3 Free | hy3-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | +| Ling 3.0 Flash Fin Free | ling-3.0-flash-fin-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3 Ultra Free | nemotron-3-ultra-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3.5 Lightning Free | nemotron-3.5-lightning-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Muse Spark 1.2 Contributor Free | muse-spark-1.2-contributor-free | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` | @@ -148,6 +149,7 @@ We support a pay-as-you-go model. Below are the prices **per 1M tokens**. | Big Pickle | Free | Free | Free | - | | MiMo-V2.5 Free | Free | Free | Free | - | | Hy3 Free | Free | Free | Free | - | +| Ling 3.0 Flash Fin Free | Free | Free | Free | - | | Nemotron 3 Ultra Free | Free | Free | Free | - | | Nemotron 3.5 Lightning Free | Free | Free | Free | - | | Muse Spark 1.2 Contributor Free | Free | Free | Free | - | @@ -233,6 +235,7 @@ The free models: - MiMo-V2.5 Free is available on OpenCode for a limited time. The team is using this time to collect feedback and improve the model. - Hy3 Free is available on OpenCode for a limited time. The team is using this time to collect feedback and improve the model. +- Ling 3.0 Flash Fin Free is available on OpenCode for a limited time. The team is using this time to collect feedback and improve the model. - Nemotron 3 Ultra Free is available on OpenCode for a limited time. The team is using this time to collect feedback and improve the model. - Nemotron 3.5 Lightning Free is available on OpenCode for a limited time. The team is using this time to collect feedback and improve the model. - Big Pickle is a stealth model that's free on OpenCode for a limited time. The team is using this time to collect feedback and improve the model. @@ -293,6 +296,7 @@ All our models are hosted in the US. Our providers follow a zero-retention polic - Big Pickle: During its free period, collected data may be used to improve the model. - MiMo-V2.5 Free: During its free period, collected data may be used to improve the model. - Hy3 Free: During its free period, collected data may be used to improve the model. +- Ling 3.0 Flash Fin Free: During its free period, collected data may be used to improve the model. - Nemotron 3 Ultra Free (NVIDIA free endpoints): Trial use only — do not submit personal or confidential data. Your use is logged for security purposes and to improve NVIDIA products and services. The logged session data for improvement purposes is not linked to your identity or any persistent identifier. For more information about our data processing practices, see our [Privacy Policy](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). By interacting with this endpoint, you consent to our collection, recording, and use of such information and the [NVIDIA API Trial Terms of Service](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). - Nemotron 3.5 Lightning Free (NVIDIA free endpoints): Trial use only — do not submit personal or confidential data. Your use is logged for security purposes and to improve NVIDIA products and services. The logged session data for improvement purposes is not linked to your identity or any persistent identifier. For more information about our data processing practices, see our [Privacy Policy](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). By interacting with this endpoint, you consent to our collection, recording, and use of such information and the [NVIDIA API Trial Terms of Service](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). - OpenAI APIs: Requests are retained for 30 days in accordance with [OpenAI's Data Policies](https://platform.openai.com/docs/guides/your-data). diff --git a/packages/web/src/content/docs/zh-cn/zen.mdx b/packages/web/src/content/docs/zh-cn/zen.mdx index 258905c22063..51c0549f3a47 100644 --- a/packages/web/src/content/docs/zh-cn/zen.mdx +++ b/packages/web/src/content/docs/zh-cn/zen.mdx @@ -110,6 +110,7 @@ OpenCode Zen 的工作方式与 OpenCode 中的任何其他提供商相同。 | Big Pickle | big-pickle | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | MiMo-V2.5 Free | mimo-v2.5-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Hy3 Free | hy3-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | +| Ling 3.0 Flash Fin Free | ling-3.0-flash-fin-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3 Ultra Free | nemotron-3-ultra-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3.5 Lightning Free | nemotron-3.5-lightning-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Muse Spark 1.2 Contributor Free | muse-spark-1.2-contributor-free | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` | @@ -137,6 +138,7 @@ https://opencode.ai/zen/v1/models | Big Pickle | Free | Free | Free | - | | MiMo-V2.5 Free | Free | Free | Free | - | | Hy3 Free | Free | Free | Free | - | +| Ling 3.0 Flash Fin Free | Free | Free | Free | - | | Nemotron 3 Ultra Free | Free | Free | Free | - | | Nemotron 3.5 Lightning Free | Free | Free | Free | - | | Muse Spark 1.2 Contributor Free | Free | Free | Free | - | @@ -222,6 +224,7 @@ https://opencode.ai/zen/v1/models - MiMo-V2.5 Free 目前在 OpenCode 上限时免费提供。团队正在利用这段时间收集反馈并改进模型。 - Hy3 Free 目前在 OpenCode 上限时免费提供。团队正在利用这段时间收集反馈并改进模型。 +- Ling 3.0 Flash Fin Free 目前在 OpenCode 上限时免费提供。团队正在利用这段时间收集反馈并改进模型。 - Nemotron 3 Ultra Free 目前在 OpenCode 上限时免费提供。团队正在利用这段时间收集反馈并改进模型。 - Nemotron 3.5 Lightning Free 目前在 OpenCode 上限时免费提供。团队正在利用这段时间收集反馈并改进模型。 - Big Pickle 是一个隐身模型,目前在 OpenCode 上限时免费提供。团队正在利用这段时间收集反馈并改进模型。 @@ -279,6 +282,7 @@ https://opencode.ai/zen/v1/models - Big Pickle:在免费期间,收集的数据可能会被用于改进模型。 - MiMo-V2.5 Free:在免费期间,收集的数据可能会被用于改进模型。 - Hy3 Free:在免费期间,收集的数据可能会被用于改进模型。 +- Ling 3.0 Flash Fin Free:在免费期间,收集的数据可能会被用于改进模型。 - Nemotron 3 Ultra Free(NVIDIA 免费端点):仅供试用 — 请勿提交个人或机密数据。出于安全目的以及为改进 NVIDIA 产品和服务,系统会记录你的使用情况。出于改进目的而记录的会话数据不会与你的身份或任何持久标识符相关联。有关我们数据处理实践的更多信息,请参阅我们的[隐私政策](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf)。与此端点进行交互,即表示你同意我们收集、记录和使用此类信息,并同意 [NVIDIA API Trial Terms of Service](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf)。 - Nemotron 3.5 Lightning Free(NVIDIA 免费端点):仅供试用 — 请勿提交个人或机密数据。出于安全目的以及为改进 NVIDIA 产品和服务,系统会记录你的使用情况。出于改进目的而记录的会话数据不会与你的身份或任何持久标识符相关联。有关我们数据处理实践的更多信息,请参阅我们的[隐私政策](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf)。与此端点进行交互,即表示你同意我们收集、记录和使用此类信息,并同意 [NVIDIA API Trial Terms of Service](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf)。 - OpenAI APIs:请求会根据 [OpenAI's Data Policies](https://platform.openai.com/docs/guides/your-data) 保留 30 天。 diff --git a/packages/web/src/content/docs/zh-tw/zen.mdx b/packages/web/src/content/docs/zh-tw/zen.mdx index 38be595c4b4d..501a62dbbbc4 100644 --- a/packages/web/src/content/docs/zh-tw/zen.mdx +++ b/packages/web/src/content/docs/zh-tw/zen.mdx @@ -114,6 +114,7 @@ OpenCode Zen 的運作方式和 OpenCode 中的其他供應商一樣。 | Big Pickle | big-pickle | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | MiMo-V2.5 Free | mimo-v2.5-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Hy3 Free | hy3-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | +| Ling 3.0 Flash Fin Free | ling-3.0-flash-fin-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3 Ultra Free | nemotron-3-ultra-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3.5 Lightning Free | nemotron-3.5-lightning-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Muse Spark 1.2 Contributor Free | muse-spark-1.2-contributor-free | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` | @@ -142,6 +143,7 @@ https://opencode.ai/zen/v1/models | Big Pickle | Free | Free | Free | - | | MiMo-V2.5 Free | Free | Free | Free | - | | Hy3 Free | Free | Free | Free | - | +| Ling 3.0 Flash Fin Free | Free | Free | Free | - | | Nemotron 3 Ultra Free | Free | Free | Free | - | | Nemotron 3.5 Lightning Free | Free | Free | Free | - | | Muse Spark 1.2 Contributor Free | Free | Free | Free | - | @@ -227,6 +229,7 @@ https://opencode.ai/zen/v1/models - MiMo-V2.5 Free 在 OpenCode 上限時提供。團隊正在利用這段時間收集回饋並改進模型。 - Hy3 Free 在 OpenCode 上限時提供。團隊正在利用這段時間收集回饋並改進模型。 +- Ling 3.0 Flash Fin Free 在 OpenCode 上限時提供。團隊正在利用這段時間收集回饋並改進模型。 - Nemotron 3 Ultra Free 在 OpenCode 上限時提供。團隊正在利用這段時間收集回饋並改進模型。 - Nemotron 3.5 Lightning Free 在 OpenCode 上限時提供。團隊正在利用這段時間收集回饋並改進模型。 - Big Pickle 是一個隱身模型,在 OpenCode 上限時免費提供。團隊正在利用這段時間收集回饋並改進模型。 @@ -285,6 +288,7 @@ https://opencode.ai/zen/v1/models - Big Pickle: 在免費期間,收集到的資料可能會用於改進模型。 - MiMo-V2.5 Free: 在免費期間,收集到的資料可能會用於改進模型。 - Hy3 Free: 在免費期間,收集到的資料可能會用於改進模型。 +- Ling 3.0 Flash Fin Free: 在免費期間,收集到的資料可能會用於改進模型。 - Nemotron 3 Ultra Free(NVIDIA 免費端點):僅供試用 — 請勿提交個人或機密資料。基於安全目的以及為了改進 NVIDIA 產品與服務,系統會記錄你的使用情況。基於改進目的而記錄的工作階段資料不會與你的身分或任何持久識別碼相關聯。有關我們資料處理實務的更多資訊,請參閱我們的[隱私政策](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf)。與此端點進行互動,即表示你同意我們收集、記錄與使用此類資訊,並同意 [NVIDIA API Trial Terms of Service](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf)。 - Nemotron 3.5 Lightning Free(NVIDIA 免費端點):僅供試用 — 請勿提交個人或機密資料。基於安全目的以及為了改進 NVIDIA 產品與服務,系統會記錄你的使用情況。基於改進目的而記錄的工作階段資料不會與你的身分或任何持久識別碼相關聯。有關我們資料處理實務的更多資訊,請參閱我們的[隱私政策](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf)。與此端點進行互動,即表示你同意我們收集、記錄與使用此類資訊,並同意 [NVIDIA API Trial Terms of Service](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf)。 - OpenAI APIs: 請求會依據 [OpenAI's Data Policies](https://platform.openai.com/docs/guides/your-data) 保留 30 天。 From 62a2f0e6174de920ca8cbb118bdea7dbef3ef3fd Mon Sep 17 00:00:00 2001 From: Kit Langton Date: Fri, 28 Aug 2026 22:22:28 -0400 Subject: [PATCH 05/39] feat(console): animate Go usage allowances and bonuses (#46055) --- bun.lock | 5 + packages/console/app/package.json | 1 + .../app/src/component/limits-graph.tsx | 267 ++++++++++++++++++ .../app/src/component/rolling-number.tsx | 58 ++++ packages/console/app/src/i18n/en.ts | 2 +- packages/console/app/src/routes/go/index.css | 210 ++++++++++++-- packages/console/app/src/routes/go/index.tsx | 200 +------------ 7 files changed, 528 insertions(+), 215 deletions(-) create mode 100644 packages/console/app/src/component/limits-graph.tsx create mode 100644 packages/console/app/src/component/rolling-number.tsx diff --git a/bun.lock b/bun.lock index c8cb37f4e50c..71049cb1ac29 100644 --- a/bun.lock +++ b/bun.lock @@ -178,6 +178,7 @@ "@upstash/redis": "1.38.0", "chart.js": "4.5.1", "nitro": "3.0.1-alpha.1", + "number-flow": "0.6.2", "solid-js": "catalog:", "solid-list": "0.3.0", "solid-stripe": "0.8.1", @@ -3651,6 +3652,8 @@ "escape-string-regexp": ["escape-string-regexp@5.0.0", "", {}, "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw=="], + "esm-env": ["esm-env@1.2.2", "", {}, "sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA=="], + "esprima": ["esprima@4.0.1", "", { "bin": { "esparse": "./bin/esparse.js", "esvalidate": "./bin/esvalidate.js" } }, "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="], "estree-util-attach-comments": ["estree-util-attach-comments@3.0.0", "", { "dependencies": { "@types/estree": "^1.0.0" } }, "sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw=="], @@ -4565,6 +4568,8 @@ "nth-check": ["nth-check@2.1.1", "", { "dependencies": { "boolbase": "^1.0.0" } }, "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w=="], + "number-flow": ["number-flow@0.6.2", "", { "dependencies": { "esm-env": "^1.1.4" } }, "sha512-MCnImG4Q5vPwhSXnov56nOuyyKn6LC+Qd7II1UiKc+ACRtug5iAtn0+CwXNxM38AC5lSowEY+oYEtZX2qMnUyw=="], + "nypm": ["nypm@0.6.6", "", { "dependencies": { "citty": "^0.2.2", "pathe": "^2.0.3", "tinyexec": "^1.1.1" }, "bin": { "nypm": "dist/cli.mjs" } }, "sha512-vRyr0r4cbBapw07Xw8xrj9Teq3o7MUD35rSaTcanDbW+aK2XHDgJFiU6ZTj2GBw7Q12ysdsyFss+Vdz4hQ0Y6Q=="], "object-assign": ["object-assign@4.1.1", "", {}, "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg=="], diff --git a/packages/console/app/package.json b/packages/console/app/package.json index e83f568c3be2..8e03034d621a 100644 --- a/packages/console/app/package.json +++ b/packages/console/app/package.json @@ -29,6 +29,7 @@ "@upstash/redis": "1.38.0", "chart.js": "4.5.1", "nitro": "3.0.1-alpha.1", + "number-flow": "0.6.2", "solid-js": "catalog:", "solid-list": "0.3.0", "solid-stripe": "0.8.1", diff --git a/packages/console/app/src/component/limits-graph.tsx b/packages/console/app/src/component/limits-graph.tsx new file mode 100644 index 000000000000..03e278939769 --- /dev/null +++ b/packages/console/app/src/component/limits-graph.tsx @@ -0,0 +1,267 @@ +import { For, createSignal, onCleanup, onMount } from "solid-js" +import { useI18n } from "~/context/i18n" +import { RollingNumber } from "./rolling-number" + +export function LimitsGraph(props: { href: string }) { + let root!: HTMLElement + const [visible, setVisible] = createSignal(false) + const [boosted, setBoosted] = createSignal(false) + const [promoted, setPromoted] = createSignal([]) + let timer: ReturnType | undefined + + const i18n = useI18n() + + onMount(() => { + const motion = window.matchMedia("(prefers-reduced-motion: reduce)") + const finish = () => { + if (!motion.matches) return + clearTimeout(timer) + setVisible(true) + setBoosted(true) + setPromoted(bonuses.map((model) => model.id)) + } + motion.addEventListener("change", finish) + onCleanup(() => { + clearTimeout(timer) + motion.removeEventListener("change", finish) + }) + if (motion.matches) return finish() + if (typeof IntersectionObserver === "undefined") return setVisible(true) + const observer = new IntersectionObserver( + (entries) => { + const entry = entries[0] + if (!entry?.isIntersecting || entry.intersectionRatio < 0.35) return + setVisible(true) + observer.disconnect() + }, + { threshold: 0.35 }, + ) + observer.observe(root) + onCleanup(() => observer.disconnect()) + }) + + const baseline = 100 + const graph = [ + { id: "kimi-k3", name: "Kimi K3", req: 110 }, + { id: "grok-4.6", name: "Grok 4.6", req: 169 }, + { id: "hy4-preview", name: "Hy4 preview", req: 1350 }, + { id: "gpt-5.6-luna", name: "GPT 5.6 Luna", req: 2050 }, + { id: "glm-5.3-flash", name: "GLM-5.3-Flash", req: 3160, baseReq: 1580, bonus: "2x usage" }, + { id: "minimax-m3", name: "MiniMax M3", req: 3200 }, + { id: "qwen3.7-plus", name: "Qwen3.7 Plus", req: 4300 }, + { id: "qwen3.8-flash", name: "Qwen3.8 Flash", req: 5400 }, + { id: "deepseek-v4-flash", name: "DeepSeek V4 Flash", req: 7600 }, + { id: "longcat-2.0", name: "LongCat-2.0", req: 11400 }, + { id: "mimo-v2.5", name: "MiMo-V2.5", req: 30100 }, + { id: "hy3", name: "Hy3", req: 34400, baseReq: 4300, bonus: "8x usage" }, + { id: "muse-spark-1.2-contributor", name: "Muse Spark 1.2 Contributor", req: 45300, edge: true }, + ].map((model, index) => ({ ...model, d: `${50 + index * 25}ms` })) + const bonuses = graph.filter((model) => model.baseReq) + + const w = 1040 + const chartW = 720 + const left = 40 + const right = 60 + const top = 18 + const bottom = 44 + const plot = chartW - left - right + const infiniteX = w - 180 + + const ratio = (n: number) => n / baseline + const rmax = Math.max(1, ...graph.filter((m) => !("infinite" in m)).map((m) => ratio(m.req))) + const log = (n: number) => Math.log10(Math.max(n, 1)) + const base = 24 + const p = 2.2 + const x = (r: number) => left + base + Math.pow(log(r) / log(rmax), p) * (plot - base) + const ticks = [1, 5, 10, 25, 50, 100, 250].filter((t) => t <= rmax) + const labels = (() => { + const set = new Set() + let last = -Infinity + for (const t of ticks) { + if (t === 1) { + set.add(t) + last = x(t) + continue + } + const pos = x(t) + if (pos - last < 44) continue + set.add(t) + last = pos + } + return set + })() + const shown = ticks.filter((t) => labels.has(t)) + const bh = 8 + const gap = 20 + const step = bh + gap + const gy = (i: number) => top + 22 + step * i + const h = gy(graph.length - 1) + bottom + const my = graph.length < 2 ? gy(0) : (gy(0) + gy(graph.length - 1)) / 2 + const px = (n: number) => `${(n / w) * 100}%` + const py = (n: number) => `${(n / h) * 100}%` + const lx = px(left - 16) + const ty = py(h - 18) + const timing = () => { + const style = getComputedStyle(root) + return { + duration: Number.parseFloat(style.getPropertyValue("--bonus-duration")), + easing: style.getPropertyValue("--spring-easing").trim(), + spinEasing: style.getPropertyValue("--digit-easing").trim(), + } + } + + return ( +
    { + if (!(event.target instanceof SVGElement) || event.animationName !== "go-graph-reveal") return + if (event.target.hasAttribute("data-stage-end") && !boosted()) { + const duration = Number.parseFloat(getComputedStyle(root).getPropertyValue("--reveal-duration")) + timer = setTimeout(() => setBoosted(true), duration * 0.6) + return + } + if (event.target.dataset.animate !== "bonus") return + const model = event.target.dataset.model + if (!model) return + setPromoted((current) => [...current, model]) + }} + > +
    + + + + + + +
    + + {(m, i) => ( + + + {!("infinite" in m) && m.baseReq ? ( + + ) : ( + {"infinite" in m ? "\u221e" : m.req.toLocaleString()} + )} + {m.name} + {m.id === "muse-spark-1.2-contributor" && ( + + ( + + {i18n.t("go.graph.limitedRegions")} + + ) + + )} + {"infinite" in m && ({i18n.t("go.graph.limitedTime")})} + + {"bonus" in m && {m.bonus}} + + )} + +
    +
    + +
    +
    +
    +
    + {i18n.t("go.graph.label")} + + {i18n.t("go.graph.usageLimits")} + +
    +
    +
    +
    +
    + ) +} diff --git a/packages/console/app/src/component/rolling-number.tsx b/packages/console/app/src/component/rolling-number.tsx new file mode 100644 index 000000000000..df1af6ca20cf --- /dev/null +++ b/packages/console/app/src/component/rolling-number.tsx @@ -0,0 +1,58 @@ +import NumberFlow from "number-flow" +import { continuous } from "number-flow/plugins" +import { createEffect, onCleanup, onMount } from "solid-js" + +export function RollingNumber(props: { + value: number + target: number + timing: () => { duration: number; easing: string; spinEasing: string } +}) { + let root!: HTMLSpanElement + // Keep the server-rendered text stable while the custom element owns its contents. + const initial = props.value.toLocaleString() + const growing = props.target.toLocaleString().length > initial.length + + onMount(() => { + if (new Intl.NumberFormat().resolvedOptions().numberingSystem !== "latn") { + createEffect(() => { + root.textContent = props.value.toLocaleString() + }) + return + } + + const flow = new NumberFlow() + flow.format = { useGrouping: true, maximumFractionDigits: 0 } + flow.trend = 1 + if (growing) flow.plugins = [continuous] + flow.opacityTiming = { duration: 180, easing: "ease-out" } + const motion = window.matchMedia("(prefers-reduced-motion: reduce)") + const updateMotion = () => { + flow.animated = !motion.matches + } + updateMotion() + motion.addEventListener("change", updateMotion) + onCleanup(() => motion.removeEventListener("change", updateMotion)) + root.replaceChildren(flow) + createEffect(() => { + const value = props.value + if (flow.value === value) return + const timing = props.timing() + flow.transformTiming = { duration: timing.duration, easing: timing.easing } + flow.spinTiming = { + duration: timing.duration, + easing: growing ? "cubic-bezier(0.45, 0, 0.55, 1)" : timing.spinEasing, + } + flow.update(value) + }) + }) + + return ( + + {initial} + + ) +} diff --git a/packages/console/app/src/i18n/en.ts b/packages/console/app/src/i18n/en.ts index a557d4fb0e8e..a479f2642b9a 100644 --- a/packages/console/app/src/i18n/en.ts +++ b/packages/console/app/src/i18n/en.ts @@ -267,7 +267,7 @@ export const dict = { "go.graph.free": "Free", "go.graph.freePill": "Big Pickle and free models", "go.graph.go": "Go", - "go.graph.label": "Requests per 5 hour", + "go.graph.label": "Requests / 5 hours", "go.graph.limitedRegions": "limited regions", "go.graph.limitedTime": "limited time", "go.graph.tick": "{{n}}x", diff --git a/packages/console/app/src/routes/go/index.css b/packages/console/app/src/routes/go/index.css index b72b01395a14..7f70c41c1def 100644 --- a/packages/console/app/src/routes/go/index.css +++ b/packages/console/app/src/routes/go/index.css @@ -21,10 +21,40 @@ } } -@keyframes go-graph-bar { +@keyframes go-graph-reveal { to { + clip-path: inset(0 0 0 0) fill-box; + } +} + +@keyframes go-graph-label { + to { + mask-position: 0 0; opacity: 1; - transform: scaleX(1); + } +} + +@keyframes go-graph-grid { + to { + mask-position: 0 100%; + } +} + +@keyframes go-graph-heat { + from { + filter: brightness(var(--arrival-brightness)); + } + to { + filter: brightness(1); + } +} + +@keyframes go-graph-bonus-heat { + from { + color: var(--color-go-3); + } + to { + color: var(--color-text-weak); } } @@ -477,6 +507,48 @@ body { } [data-component="limit-graph"] { + --reveal-duration: 950ms; + --bonus-duration: 1500ms; + --digit-easing: cubic-bezier(0.22, 1, 0.36, 1); + --grid-duration: 2000ms; + --grid-easing: cubic-bezier(0.22, 1, 0.36, 1); + --arrival-brightness: 1.15; + --heat-duration: 1600ms; + --bar-delay: 240ms; + /* Critically damped response, shared by the bars, labels, and rolling digits. */ + --spring-easing: linear( + 0, + 0.02991, + 0.10078, + 0.19179, + 0.28962, + 0.38611, + 0.47651, + 0.55839, + 0.63079, + 0.69365, + 0.74748, + 0.79306, + 0.83131, + 0.86315, + 0.8895, + 0.91117, + 0.92892, + 0.94339, + 0.95515, + 0.96467, + 0.97236, + 0.97855, + 0.98352, + 0.98751, + 0.9907, + 0.99324, + 0.99527, + 0.99689, + 0.99817, + 0.99919, + 1 + ); margin: 0 auto; width: calc(100% - 120px); max-width: calc(100% - 120px); @@ -491,6 +563,7 @@ body { } [data-slot="plot"] { + container-type: inline-size; position: relative; overflow: visible; width: 100%; @@ -515,6 +588,7 @@ body { } [data-slot="xlabels"] [data-xlabel] { + opacity: 0; position: absolute; left: var(--x); top: var(--y); @@ -551,11 +625,26 @@ body { } } + [data-slot="xlabels"] [data-xlabel], + [data-slot="pills"] [data-label], + [data-bonus] { + mask-image: linear-gradient(to right, #000 40%, transparent 60%); + mask-size: 250% 100%; + mask-position: 100% 0; + mask-repeat: no-repeat; + } + [data-slot="pills"] { position: absolute; inset: 0; pointer-events: none; + [data-label] { + display: inline-flex; + align-items: center; + gap: 8px; + } + [data-item] { position: absolute; left: var(--x); @@ -573,7 +662,6 @@ body { font-size: 13px; line-height: 20px; box-sizing: border-box; - opacity: 0; } @media (max-width: 60rem) { @@ -605,10 +693,16 @@ body { [data-value] { color: var(--color-text-strong); font-weight: 600; + font-variant-numeric: tabular-nums; white-space: nowrap; + + number-flow { + line-height: 1; + } } [data-bonus] { + opacity: 0; color: var(--color-text-weak); font-size: 12px; font-weight: 400; @@ -685,11 +779,22 @@ body { opacity: 0.55; } + [data-grid], + [data-stub] { + mask-image: linear-gradient(to top, #000 48%, transparent 52%); + mask-size: 100% 250%; + mask-position: 0 0; + mask-repeat: no-repeat; + mask-origin: stroke-box; + mask-clip: stroke-box; + } + + [data-animate="bar"], + [data-animate="bonus"] { + clip-path: inset(0 100% 0 0) fill-box; + } + [data-bar] { - transform-box: fill-box; - transform-origin: left center; - opacity: 0; - transform: scaleX(0.02); fill: var(--bar-go); stroke: none; } @@ -760,18 +865,74 @@ body { animation-delay: var(--d, 0ms); } - &[data-visible] [data-bar] { - animation: go-graph-bar 560ms cubic-bezier(0.2, 0.7, 0.2, 1) forwards; + &[data-visible] [data-grid], + &[data-visible] [data-stub] { + animation: + go-graph-grid var(--grid-duration) var(--grid-easing) forwards, + go-graph-heat var(--heat-duration) linear backwards; + animation-delay: var(--d, 0ms), calc(var(--d, 0ms) + var(--grid-duration)); + } + + &[data-visible] [data-slot="xlabels"] [data-xlabel] { + animation: go-graph-label 300ms ease-out forwards; animation-delay: var(--d, 0ms); } - &[data-visible] [data-slot="pills"] [data-item] { - opacity: 1; - transition: opacity 240ms ease; - transition-delay: var(--d, 0ms); + &[data-visible] [data-animate="bar"] { + animation: + go-graph-reveal var(--reveal-duration) var(--spring-easing) forwards, + go-graph-heat var(--heat-duration) linear backwards; + animation-delay: + calc(var(--bar-delay) + var(--d, 0ms)), calc(var(--bar-delay) + var(--d, 0ms) + var(--reveal-duration)); + } + + &[data-visible] [data-slot="pills"] [data-label] { + animation: go-graph-label 400ms ease-out forwards; + animation-delay: calc(var(--bar-delay) + var(--d, 0ms) + var(--reveal-duration) * 0.4); + } + + &[data-boosted] [data-animate="bonus"] { + animation: + go-graph-reveal var(--bonus-duration) var(--spring-easing) forwards, + go-graph-heat var(--heat-duration) linear backwards; + animation-delay: var(--bonus-delay), calc(var(--bonus-delay) + var(--bonus-duration)); + } + + &[data-boosted] [data-slot="pills"] [data-item][data-promo] { + translate: var(--travel) 0; + transition: translate var(--bonus-duration) var(--spring-easing) var(--bonus-delay); + + @media (max-width: 60rem) { + &[data-edge] { + translate: none; + transition: none; + } + } + } + + &[data-boosted] [data-bonus] { + animation: + go-graph-label 400ms ease-out forwards, + go-graph-bonus-heat 3000ms linear backwards; + animation-delay: var(--bonus-delay); } @media (prefers-reduced-motion: reduce) { + [data-grid], + [data-stub], + &[data-visible] [data-grid], + &[data-visible] [data-stub] { + mask-image: none; + animation: none; + } + + [data-slot="xlabels"] [data-xlabel], + &[data-visible] [data-slot="xlabels"] [data-xlabel] { + opacity: 1; + mask-image: none; + animation: none; + } + [data-animate="line"] { stroke-dashoffset: 0; animation: none; @@ -781,9 +942,12 @@ body { transform: none; animation: none; } - [data-bar] { + [data-animate="bar"], + &[data-visible] [data-animate="bar"], + [data-animate="bonus"], + &[data-boosted] [data-animate="bonus"] { opacity: 1; - transform: none; + clip-path: none; animation: none; } [data-row], @@ -792,8 +956,16 @@ body { transition: none; } - [data-slot="pills"] [data-item] { + [data-slot="pills"] [data-label], + &[data-visible] [data-slot="pills"] [data-label], + [data-bonus], + &[data-boosted] [data-bonus] { opacity: 1; + mask-image: none; + animation: none; + } + + &[data-boosted] [data-slot="pills"] [data-item][data-promo] { transition: none; } } @@ -886,6 +1058,12 @@ body { flex-wrap: wrap; justify-content: flex-start; + [data-label] { + max-width: 100%; + flex-wrap: wrap; + gap: 3px 8px; + } + &[data-model="muse-spark-1.2-contributor"] { transform: translateY(11px); diff --git a/packages/console/app/src/routes/go/index.tsx b/packages/console/app/src/routes/go/index.tsx index b2e67ecc6e49..6b356ccafa10 100644 --- a/packages/console/app/src/routes/go/index.tsx +++ b/packages/console/app/src/routes/go/index.tsx @@ -1,7 +1,7 @@ import "./index.css" import { createAsync, query } from "@solidjs/router" import { Title, Meta } from "@solidjs/meta" -import { For, createMemo, createSignal, onCleanup, onMount } from "solid-js" +import { For, createMemo } from "solid-js" //import { HttpHeader } from "@solidjs/start" import goLogoLight from "../../asset/go-ornate-light.svg" import goLogoDark from "../../asset/go-ornate-dark.svg" @@ -10,6 +10,7 @@ import { Faq } from "~/component/faq" import { Legal } from "~/component/legal" import { Footer } from "~/component/footer" import { Header } from "~/component/header" +import { LimitsGraph } from "~/component/limits-graph" import { config } from "~/config" import { getLastSeenWorkspaceID } from "../workspace/common" import { IconMiniMax, IconMiMo, IconZai, IconAlibaba, IconDeepSeek } from "~/component/icon" @@ -49,203 +50,6 @@ const models = [ { name: "Hy3", training: "go.faq.a5.notUsed", retention: "go.faq.a5.retention0" }, ] as const -function LimitsGraph(props: { href: string }) { - let root!: HTMLElement - const [visible, setVisible] = createSignal(false) - - const i18n = useI18n() - - onMount(() => { - if (typeof IntersectionObserver === "undefined") return setVisible(true) - const observer = new IntersectionObserver( - (entries) => { - const entry = entries[0] - if (!entry?.isIntersecting) return - setVisible(true) - observer.disconnect() - }, - { threshold: 0.35 }, - ) - observer.observe(root) - onCleanup(() => observer.disconnect()) - }) - - const baseline = 100 - const graph = [ - { id: "kimi-k3", name: "Kimi K3", req: 110, d: "50ms" }, - { id: "grok-4.6", name: "Grok 4.6", req: 169, d: "75ms" }, - { id: "hy4-preview", name: "Hy4 preview", req: 1350, d: "90ms" }, - { id: "gpt-5.6-luna", name: "GPT 5.6 Luna", req: 2050, d: "290ms" }, - { id: "glm-5.3-flash", name: "GLM-5.3-Flash", req: 3160, baseReq: 1580, bonus: "2x usage", d: "100ms" }, - { id: "minimax-m3", name: "MiniMax M3", req: 3200, d: "210ms" }, - { id: "qwen3.7-plus", name: "Qwen3.7 Plus", req: 4300, d: "300ms" }, - { id: "qwen3.8-flash", name: "Qwen3.8 Flash", req: 5400, d: "315ms" }, - { id: "deepseek-v4-flash", name: "DeepSeek V4 Flash", req: 7600, d: "330ms" }, - { id: "longcat-2.0", name: "LongCat-2.0", req: 11400, d: "335ms" }, - { id: "mimo-v2.5", name: "MiMo-V2.5", req: 30100, d: "340ms" }, - { id: "hy3", name: "Hy3", req: 34400, baseReq: 4300, bonus: "8x usage", d: "320ms" }, - { id: "muse-spark-1.2-contributor", name: "Muse Spark 1.2 Contributor", req: 45300, edge: true, d: "360ms" }, - ] - - const w = 1040 - const chartW = 720 - const left = 40 - const right = 60 - const top = 18 - const bottom = 44 - const plot = chartW - left - right - const infiniteX = w - 180 - - const ratio = (n: number) => n / baseline - const rmax = Math.max(1, ...graph.filter((m) => !("infinite" in m)).map((m) => ratio(m.req))) - const log = (n: number) => Math.log10(Math.max(n, 1)) - const base = 24 - const p = 2.2 - const x = (r: number) => left + base + Math.pow(log(r) / log(rmax), p) * (plot - base) - const ticks = [1, 5, 10, 25, 50, 100, 250].filter((t) => t <= rmax) - const labels = (() => { - const set = new Set() - let last = -Infinity - for (const t of ticks) { - if (t === 1) { - set.add(t) - last = x(t) - continue - } - const pos = x(t) - if (pos - last < 44) continue - set.add(t) - last = pos - } - return set - })() - const shown = ticks.filter((t) => labels.has(t)) - const bh = 8 - const gap = 20 - const step = bh + gap - const gy = (i: number) => top + 22 + step * i - const h = gy(graph.length - 1) + bottom - const my = graph.length < 2 ? gy(0) : (gy(0) + gy(graph.length - 1)) / 2 - const px = (n: number) => `${(n / w) * 100}%` - const py = (n: number) => `${(n / h) * 100}%` - const lx = px(left - 16) - const ty = py(h - 18) - - return ( -
    -
    - - - - - - -
    - - {(m, i) => ( - - {"infinite" in m ? "∞" : m.req.toLocaleString()} - {m.name} - {m.id === "muse-spark-1.2-contributor" && ( - - ( - - {i18n.t("go.graph.limitedRegions")} - - ) - - )} - {"infinite" in m && ({i18n.t("go.graph.limitedTime")})} - {"bonus" in m && {m.bonus}} - - )} - -
    -
    - -
    -
    -
    -
    - {i18n.t("go.graph.label")} - - {i18n.t("go.graph.usageLimits")} - -
    -
    -
    -
    -
    - ) -} - export default function Home() { const workspaceID = createAsync(() => checkLoggedIn()) const subscribeUrl = createMemo(() => (workspaceID() ? `/workspace/${workspaceID()}/go` : "/auth")) From dc4449df0d52199704ea4989a5a993ebbc605612 Mon Sep 17 00:00:00 2001 From: "opencode-agent[bot]" Date: Sat, 29 Aug 2026 02:34:49 +0000 Subject: [PATCH 06/39] chore: update nix node_modules hashes --- nix/hashes.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/nix/hashes.json b/nix/hashes.json index 8279470428b0..8ad745661434 100644 --- a/nix/hashes.json +++ b/nix/hashes.json @@ -1,8 +1,8 @@ { "nodeModules": { - "x86_64-linux": "sha256-fJ72uEK9rSoFL6eJk0Lwkc2TIMLZyQ7Iz83WrZE2duA=", - "aarch64-linux": "sha256-ElEwz5spFa8XFYSBiGjKlTKRFQCju/ZYDlb6h1FaKoI=", - "aarch64-darwin": "sha256-RmbrAlggOqxNFdhW+qj2tjRCpRf2NDLe68TikbGtCeA=", - "x86_64-darwin": "sha256-ZgYE0J+Dkz/kALK3kZ1jdFIZ5/BEkEaw0mXCqPon0iY=" + "x86_64-linux": "sha256-Sz806ltZYh+09hLqdqZAxSUlhJMk8bg50oHHoykNa/Y=", + "aarch64-linux": "sha256-dDSLsgah0NKAJLVczh25KOzLl10xhhSbO7WKac1qbJI=", + "aarch64-darwin": "sha256-xZZ5d4i4Ek+X7kvyGN96gbRwXK45j3bsWhPW1kILawI=", + "x86_64-darwin": "sha256-hYTHDIbNF4PZuuSz7z4NZv870FcstVYrMuhGIiFapEY=" } } From be53e17e19f3bae8925c65c9cd5802104d1d8a3e Mon Sep 17 00:00:00 2001 From: Jack Date: Sun, 30 Aug 2026 11:34:46 +0800 Subject: [PATCH 07/39] docs(go): end Hy3 usage promotion (#46213) --- packages/console/app/src/component/limits-graph.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/console/app/src/component/limits-graph.tsx b/packages/console/app/src/component/limits-graph.tsx index 03e278939769..376e23f9c7ca 100644 --- a/packages/console/app/src/component/limits-graph.tsx +++ b/packages/console/app/src/component/limits-graph.tsx @@ -49,11 +49,11 @@ export function LimitsGraph(props: { href: string }) { { id: "glm-5.3-flash", name: "GLM-5.3-Flash", req: 3160, baseReq: 1580, bonus: "2x usage" }, { id: "minimax-m3", name: "MiniMax M3", req: 3200 }, { id: "qwen3.7-plus", name: "Qwen3.7 Plus", req: 4300 }, + { id: "hy3", name: "Hy3", req: 4300 }, { id: "qwen3.8-flash", name: "Qwen3.8 Flash", req: 5400 }, { id: "deepseek-v4-flash", name: "DeepSeek V4 Flash", req: 7600 }, { id: "longcat-2.0", name: "LongCat-2.0", req: 11400 }, { id: "mimo-v2.5", name: "MiMo-V2.5", req: 30100 }, - { id: "hy3", name: "Hy3", req: 34400, baseReq: 4300, bonus: "8x usage" }, { id: "muse-spark-1.2-contributor", name: "Muse Spark 1.2 Contributor", req: 45300, edge: true }, ].map((model, index) => ({ ...model, d: `${50 + index * 25}ms` })) const bonuses = graph.filter((model) => model.baseReq) From 10765ff2a9da8c3b88e4de873aa383a49c318912 Mon Sep 17 00:00:00 2001 From: Jack Date: Sun, 30 Aug 2026 12:09:56 +0800 Subject: [PATCH 08/39] fix: remove Hy3 Free docs and correct Go chart rendering (#46221) --- packages/console/app/src/routes/go/index.css | 45 ++++---------------- packages/web/src/content/docs/ar/zen.mdx | 4 -- packages/web/src/content/docs/bs/zen.mdx | 4 -- packages/web/src/content/docs/da/zen.mdx | 4 -- packages/web/src/content/docs/de/zen.mdx | 4 -- packages/web/src/content/docs/es/zen.mdx | 4 -- packages/web/src/content/docs/fr/zen.mdx | 4 -- packages/web/src/content/docs/it/zen.mdx | 4 -- packages/web/src/content/docs/ja/zen.mdx | 4 -- packages/web/src/content/docs/ko/zen.mdx | 4 -- packages/web/src/content/docs/nb/zen.mdx | 4 -- packages/web/src/content/docs/pl/zen.mdx | 4 -- packages/web/src/content/docs/pt-br/zen.mdx | 4 -- packages/web/src/content/docs/ru/zen.mdx | 4 -- packages/web/src/content/docs/th/zen.mdx | 4 -- packages/web/src/content/docs/tr/zen.mdx | 4 -- packages/web/src/content/docs/zen.mdx | 4 -- packages/web/src/content/docs/zh-cn/zen.mdx | 4 -- packages/web/src/content/docs/zh-tw/zen.mdx | 4 -- 19 files changed, 8 insertions(+), 109 deletions(-) diff --git a/packages/console/app/src/routes/go/index.css b/packages/console/app/src/routes/go/index.css index 7f70c41c1def..724fa381e9a7 100644 --- a/packages/console/app/src/routes/go/index.css +++ b/packages/console/app/src/routes/go/index.css @@ -40,24 +40,6 @@ } } -@keyframes go-graph-heat { - from { - filter: brightness(var(--arrival-brightness)); - } - to { - filter: brightness(1); - } -} - -@keyframes go-graph-bonus-heat { - from { - color: var(--color-go-3); - } - to { - color: var(--color-text-weak); - } -} - [data-page="go"] { --color-background: hsl(0, 20%, 99%); --color-background-weak: hsl(0, 8%, 97%); @@ -512,8 +494,6 @@ body { --digit-easing: cubic-bezier(0.22, 1, 0.36, 1); --grid-duration: 2000ms; --grid-easing: cubic-bezier(0.22, 1, 0.36, 1); - --arrival-brightness: 1.15; - --heat-duration: 1600ms; --bar-delay: 240ms; /* Critically damped response, shared by the bars, labels, and rolling digits. */ --spring-easing: linear( @@ -706,7 +686,7 @@ body { color: var(--color-text-weak); font-size: 12px; font-weight: 400; - line-height: 1; + line-height: inherit; white-space: nowrap; @media (max-width: 40rem) { @@ -867,10 +847,8 @@ body { &[data-visible] [data-grid], &[data-visible] [data-stub] { - animation: - go-graph-grid var(--grid-duration) var(--grid-easing) forwards, - go-graph-heat var(--heat-duration) linear backwards; - animation-delay: var(--d, 0ms), calc(var(--d, 0ms) + var(--grid-duration)); + animation: go-graph-grid var(--grid-duration) var(--grid-easing) forwards; + animation-delay: var(--d, 0ms); } &[data-visible] [data-slot="xlabels"] [data-xlabel] { @@ -879,11 +857,8 @@ body { } &[data-visible] [data-animate="bar"] { - animation: - go-graph-reveal var(--reveal-duration) var(--spring-easing) forwards, - go-graph-heat var(--heat-duration) linear backwards; - animation-delay: - calc(var(--bar-delay) + var(--d, 0ms)), calc(var(--bar-delay) + var(--d, 0ms) + var(--reveal-duration)); + animation: go-graph-reveal var(--reveal-duration) var(--spring-easing) forwards; + animation-delay: calc(var(--bar-delay) + var(--d, 0ms)); } &[data-visible] [data-slot="pills"] [data-label] { @@ -892,10 +867,8 @@ body { } &[data-boosted] [data-animate="bonus"] { - animation: - go-graph-reveal var(--bonus-duration) var(--spring-easing) forwards, - go-graph-heat var(--heat-duration) linear backwards; - animation-delay: var(--bonus-delay), calc(var(--bonus-delay) + var(--bonus-duration)); + animation: go-graph-reveal var(--bonus-duration) var(--spring-easing) forwards; + animation-delay: var(--bonus-delay); } &[data-boosted] [data-slot="pills"] [data-item][data-promo] { @@ -911,9 +884,7 @@ body { } &[data-boosted] [data-bonus] { - animation: - go-graph-label 400ms ease-out forwards, - go-graph-bonus-heat 3000ms linear backwards; + animation: go-graph-label 400ms ease-out forwards; animation-delay: var(--bonus-delay); } diff --git a/packages/web/src/content/docs/ar/zen.mdx b/packages/web/src/content/docs/ar/zen.mdx index e8e5494267da..ff8c3d2157f7 100644 --- a/packages/web/src/content/docs/ar/zen.mdx +++ b/packages/web/src/content/docs/ar/zen.mdx @@ -113,7 +113,6 @@ OpenCode Zen هي بوابة AI تتيح لك الوصول إلى هذه الن | Kimi K3 | kimi-k3 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Big Pickle | big-pickle | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | MiMo-V2.5 Free | mimo-v2.5-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | -| Hy3 Free | hy3-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Ling 3.0 Flash Fin Free | ling-3.0-flash-fin-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3 Ultra Free | nemotron-3-ultra-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3.5 Lightning Free | nemotron-3.5-lightning-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | @@ -141,7 +140,6 @@ https://opencode.ai/zen/v1/models | --------------------------------- | ------- | ------- | --------------- | --------------- | | Big Pickle | Free | Free | Free | - | | MiMo-V2.5 Free | Free | Free | Free | - | -| Hy3 Free | Free | Free | Free | - | | Ling 3.0 Flash Fin Free | Free | Free | Free | - | | Nemotron 3 Ultra Free | Free | Free | Free | - | | Nemotron 3.5 Lightning Free | Free | Free | Free | - | @@ -227,7 +225,6 @@ https://opencode.ai/zen/v1/models النماذج المجانية: - MiMo-V2.5 Free متاح على OpenCode لفترة محدودة. يستخدم الفريق هذه الفترة لجمع الملاحظات وتحسين النموذج. -- Hy3 Free متاح على OpenCode لفترة محدودة. يستخدم الفريق هذه الفترة لجمع الملاحظات وتحسين النموذج. - Ling 3.0 Flash Fin Free متاح على OpenCode لفترة محدودة. يستخدم الفريق هذه الفترة لجمع الملاحظات وتحسين النموذج. - Nemotron 3 Ultra Free متاح على OpenCode لفترة محدودة. يستخدم الفريق هذه الفترة لجمع الملاحظات وتحسين النموذج. - Nemotron 3.5 Lightning Free متاح على OpenCode لفترة محدودة. يستخدم الفريق هذه الفترة لجمع الملاحظات وتحسين النموذج. @@ -285,7 +282,6 @@ https://opencode.ai/zen/v1/models - Big Pickle: خلال فترته المجانية، قد تُستخدم البيانات المجمعة لتحسين النموذج. - MiMo-V2.5 Free: خلال فترته المجانية، قد تُستخدم البيانات المجمعة لتحسين النموذج. -- Hy3 Free: خلال فترته المجانية، قد تُستخدم البيانات المجمعة لتحسين النموذج. - Ling 3.0 Flash Fin Free: خلال فترته المجانية، قد تُستخدم البيانات المجمعة لتحسين النموذج. - Nemotron 3 Ultra Free (نقاط نهاية NVIDIA المجانية): للاستخدام التجريبي فقط — لا ترسل بيانات شخصية أو سرية. يُسجَّل استخدامك لأغراض أمنية ولتحسين منتجات وخدمات NVIDIA. بيانات الجلسة المُسجَّلة لأغراض التحسين غير مرتبطة بهويتك أو بأي مُعرِّف دائم. لمزيد من المعلومات حول ممارسات معالجة البيانات لدينا، راجع [سياسة الخصوصية](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). بتفاعلك مع نقطة النهاية هذه، فإنك توافق على جمعنا لهذه المعلومات وتسجيلها واستخدامها وعلى [شروط خدمة النسخة التجريبية من واجهة NVIDIA API](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). - Nemotron 3.5 Lightning Free (نقاط نهاية NVIDIA المجانية): للاستخدام التجريبي فقط — لا ترسل بيانات شخصية أو سرية. يُسجَّل استخدامك لأغراض أمنية ولتحسين منتجات وخدمات NVIDIA. بيانات الجلسة المُسجَّلة لأغراض التحسين غير مرتبطة بهويتك أو بأي مُعرِّف دائم. لمزيد من المعلومات حول ممارسات معالجة البيانات لدينا، راجع [سياسة الخصوصية](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). بتفاعلك مع نقطة النهاية هذه، فإنك توافق على جمعنا لهذه المعلومات وتسجيلها واستخدامها وعلى [شروط خدمة النسخة التجريبية من واجهة NVIDIA API](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). diff --git a/packages/web/src/content/docs/bs/zen.mdx b/packages/web/src/content/docs/bs/zen.mdx index a38341ae1793..5ed6bb9f8cdf 100644 --- a/packages/web/src/content/docs/bs/zen.mdx +++ b/packages/web/src/content/docs/bs/zen.mdx @@ -118,7 +118,6 @@ Našim modelima možete pristupiti i preko sljedećih API endpointa. | Kimi K3 | kimi-k3 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Big Pickle | big-pickle | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | MiMo-V2.5 Free | mimo-v2.5-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | -| Hy3 Free | hy3-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Ling 3.0 Flash Fin Free | ling-3.0-flash-fin-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3 Ultra Free | nemotron-3-ultra-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3.5 Lightning Free | nemotron-3.5-lightning-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | @@ -148,7 +147,6 @@ Podržavamo pay-as-you-go model. Ispod su cijene **po 1M tokena**. | --------------------------------- | ------ | ------- | ----------- | ------------ | | Big Pickle | Free | Free | Free | - | | MiMo-V2.5 Free | Free | Free | Free | - | -| Hy3 Free | Free | Free | Free | - | | Ling 3.0 Flash Fin Free | Free | Free | Free | - | | Nemotron 3 Ultra Free | Free | Free | Free | - | | Nemotron 3.5 Lightning Free | Free | Free | Free | - | @@ -234,7 +232,6 @@ Naknade za kreditne kartice prosljeđujemo po stvarnom trošku (4.4% + $0.30 po Besplatni modeli: - MiMo-V2.5 Free je dostupan na OpenCode ograničeno vrijeme. Tim koristi ovo vrijeme da prikupi povratne informacije i poboljša model. -- Hy3 Free je dostupan na OpenCode ograničeno vrijeme. Tim koristi ovo vrijeme da prikupi povratne informacije i poboljša model. - Ling 3.0 Flash Fin Free je dostupan na OpenCode ograničeno vrijeme. Tim koristi ovo vrijeme da prikupi povratne informacije i poboljša model. - Nemotron 3 Ultra Free je dostupan na OpenCode ograničeno vrijeme. Tim koristi ovo vrijeme da prikupi povratne informacije i poboljša model. - Nemotron 3.5 Lightning Free je dostupan na OpenCode ograničeno vrijeme. Tim koristi ovo vrijeme da prikupi povratne informacije i poboljša model. @@ -297,7 +294,6 @@ i ne koriste vaše podatke za treniranje modela, uz sljedeće izuzetke: - Big Pickle: Tokom besplatnog perioda, prikupljeni podaci mogu se koristiti za poboljšanje modela. - MiMo-V2.5 Free: Tokom besplatnog perioda, prikupljeni podaci mogu se koristiti za poboljšanje modela. -- Hy3 Free: Tokom besplatnog perioda, prikupljeni podaci mogu se koristiti za poboljšanje modela. - Ling 3.0 Flash Fin Free: Tokom besplatnog perioda, prikupljeni podaci mogu se koristiti za poboljšanje modela. - Nemotron 3 Ultra Free (besplatni NVIDIA endpointi): Samo za probnu upotrebu — nemojte slati lične ili povjerljive podatke. Vaše korištenje se bilježi radi sigurnosti i poboljšanja NVIDIA proizvoda i usluga. Zabilježeni podaci sesije koji se koriste u svrhu poboljšanja nisu povezani s vašim identitetom niti bilo kojim trajnim identifikatorom. Za više informacija o našim praksama obrade podataka pogledajte našu [Politiku privatnosti](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). Interakcijom s ovim endpointom pristajete na naše prikupljanje, bilježenje i korištenje takvih informacija te na [NVIDIA API Trial Terms of Service](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). - Nemotron 3.5 Lightning Free (besplatni NVIDIA endpointi): Samo za probnu upotrebu — nemojte slati lične ili povjerljive podatke. Vaše korištenje se bilježi radi sigurnosti i poboljšanja NVIDIA proizvoda i usluga. Zabilježeni podaci sesije koji se koriste u svrhu poboljšanja nisu povezani s vašim identitetom niti bilo kojim trajnim identifikatorom. Za više informacija o našim praksama obrade podataka pogledajte našu [Politiku privatnosti](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). Interakcijom s ovim endpointom pristajete na naše prikupljanje, bilježenje i korištenje takvih informacija te na [NVIDIA API Trial Terms of Service](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). diff --git a/packages/web/src/content/docs/da/zen.mdx b/packages/web/src/content/docs/da/zen.mdx index f6a1831eaf13..3b07f92d3090 100644 --- a/packages/web/src/content/docs/da/zen.mdx +++ b/packages/web/src/content/docs/da/zen.mdx @@ -118,7 +118,6 @@ Du kan også få adgang til vores modeller gennem følgende API-endpoints. | Kimi K3 | kimi-k3 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Big Pickle | big-pickle | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | MiMo-V2.5 Free | mimo-v2.5-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | -| Hy3 Free | hy3-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Ling 3.0 Flash Fin Free | ling-3.0-flash-fin-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3 Ultra Free | nemotron-3-ultra-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3.5 Lightning Free | nemotron-3.5-lightning-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | @@ -148,7 +147,6 @@ Vi understøtter en pay-as-you-go-model. Nedenfor er priserne **pr. 1M tokens**. | --------------------------------- | ------ | ------- | ----------- | ------------ | | Big Pickle | Free | Free | Free | - | | MiMo-V2.5 Free | Free | Free | Free | - | -| Hy3 Free | Free | Free | Free | - | | Ling 3.0 Flash Fin Free | Free | Free | Free | - | | Nemotron 3 Ultra Free | Free | Free | Free | - | | Nemotron 3.5 Lightning Free | Free | Free | Free | - | @@ -234,7 +232,6 @@ Kreditkortgebyrer videregives til kostpris (4.4% + $0.30 pr. transaktion); vi op De gratis modeller: - MiMo-V2.5 Free er tilgængelig på OpenCode i en begrænset periode. Teamet bruger denne tid til at indsamle feedback og forbedre modellen. -- Hy3 Free er tilgængelig på OpenCode i en begrænset periode. Teamet bruger denne tid til at indsamle feedback og forbedre modellen. - Ling 3.0 Flash Fin Free er tilgængelig på OpenCode i en begrænset periode. Teamet bruger denne tid til at indsamle feedback og forbedre modellen. - Nemotron 3 Ultra Free er tilgængelig på OpenCode i en begrænset periode. Teamet bruger denne tid til at indsamle feedback og forbedre modellen. - Nemotron 3.5 Lightning Free er tilgængelig på OpenCode i en begrænset periode. Teamet bruger denne tid til at indsamle feedback og forbedre modellen. @@ -295,7 +292,6 @@ Alle vores modeller hostes i US. Vores udbydere følger en nul-opbevaringspoliti - Big Pickle: I den gratis periode kan indsamlede data blive brugt til at forbedre modellen. - MiMo-V2.5 Free: I den gratis periode kan indsamlede data blive brugt til at forbedre modellen. -- Hy3 Free: I den gratis periode kan indsamlede data blive brugt til at forbedre modellen. - Ling 3.0 Flash Fin Free: I den gratis periode kan indsamlede data blive brugt til at forbedre modellen. - Nemotron 3 Ultra Free (gratis NVIDIA-endpoints): Kun til prøvebrug — indsend ikke personlige eller fortrolige data. Din brug logges af sikkerhedshensyn og for at forbedre NVIDIAs produkter og tjenester. De loggede sessionsdata, der bruges til forbedringsformål, er ikke knyttet til din identitet eller nogen vedvarende identifikator. For mere information om vores databehandlingspraksis, se vores [privatlivspolitik](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). Ved at interagere med dette endpoint giver du samtykke til vores indsamling, registrering og brug af sådanne oplysninger samt [NVIDIA API Trial Terms of Service](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). - Nemotron 3.5 Lightning Free (gratis NVIDIA-endpoints): Kun til prøvebrug — indsend ikke personlige eller fortrolige data. Din brug logges af sikkerhedshensyn og for at forbedre NVIDIAs produkter og tjenester. De loggede sessionsdata, der bruges til forbedringsformål, er ikke knyttet til din identitet eller nogen vedvarende identifikator. For mere information om vores databehandlingspraksis, se vores [privatlivspolitik](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). Ved at interagere med dette endpoint giver du samtykke til vores indsamling, registrering og brug af sådanne oplysninger samt [NVIDIA API Trial Terms of Service](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). diff --git a/packages/web/src/content/docs/de/zen.mdx b/packages/web/src/content/docs/de/zen.mdx index a39b0217f66e..6e4d611ea322 100644 --- a/packages/web/src/content/docs/de/zen.mdx +++ b/packages/web/src/content/docs/de/zen.mdx @@ -109,7 +109,6 @@ Du kannst auch über die folgenden API-Endpunkte auf unsere Modelle zugreifen. | Kimi K3 | kimi-k3 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Big Pickle | big-pickle | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | MiMo-V2.5 Free | mimo-v2.5-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | -| Hy3 Free | hy3-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Ling 3.0 Flash Fin Free | ling-3.0-flash-fin-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3 Ultra Free | nemotron-3-ultra-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3.5 Lightning Free | nemotron-3.5-lightning-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | @@ -137,7 +136,6 @@ Wir unterstützen ein Pay-as-you-go-Modell. Unten findest du die Preise **pro 1M | --------------------------------- | ------ | ------- | ----------- | ------------ | | Big Pickle | Free | Free | Free | - | | MiMo-V2.5 Free | Free | Free | Free | - | -| Hy3 Free | Free | Free | Free | - | | Ling 3.0 Flash Fin Free | Free | Free | Free | - | | Nemotron 3 Ultra Free | Free | Free | Free | - | | Nemotron 3.5 Lightning Free | Free | Free | Free | - | @@ -223,7 +221,6 @@ Kreditkartengebühren werden zum Selbstkostenpreis weitergegeben (4.4% + $0.30 p Die kostenlosen Modelle: - MiMo-V2.5 Free ist für begrenzte Zeit auf OpenCode verfügbar. Das Team nutzt diese Zeit, um Feedback zu sammeln und das Modell zu verbessern. -- Hy3 Free ist für begrenzte Zeit auf OpenCode verfügbar. Das Team nutzt diese Zeit, um Feedback zu sammeln und das Modell zu verbessern. - Ling 3.0 Flash Fin Free ist für begrenzte Zeit auf OpenCode verfügbar. Das Team nutzt diese Zeit, um Feedback zu sammeln und das Modell zu verbessern. - Nemotron 3 Ultra Free ist für begrenzte Zeit auf OpenCode verfügbar. Das Team nutzt diese Zeit, um Feedback zu sammeln und das Modell zu verbessern. - Nemotron 3.5 Lightning Free ist für begrenzte Zeit auf OpenCode verfügbar. Das Team nutzt diese Zeit, um Feedback zu sammeln und das Modell zu verbessern. @@ -281,7 +278,6 @@ Alle unsere Modelle werden in den USA gehostet. Unsere Provider folgen einer Zer - Big Pickle: Während des kostenlosen Zeitraums können gesammelte Daten zur Verbesserung des Modells verwendet werden. - MiMo-V2.5 Free: Während des kostenlosen Zeitraums können gesammelte Daten zur Verbesserung des Modells verwendet werden. -- Hy3 Free: Während des kostenlosen Zeitraums können gesammelte Daten zur Verbesserung des Modells verwendet werden. - Ling 3.0 Flash Fin Free: Während des kostenlosen Zeitraums können gesammelte Daten zur Verbesserung des Modells verwendet werden. - Nemotron 3 Ultra Free (kostenlose NVIDIA-Endpunkte): Nur für Testzwecke — übermitteln Sie keine personenbezogenen oder vertraulichen Daten. Ihre Nutzung wird zu Sicherheitszwecken und zur Verbesserung der Produkte und Dienste von NVIDIA protokolliert. Die zu Verbesserungszwecken protokollierten Sitzungsdaten sind nicht mit Ihrer Identität oder einem dauerhaften Identifikator verknüpft. Weitere Informationen zu unseren Datenverarbeitungspraktiken finden Sie in unserer [Datenschutzrichtlinie](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). Durch die Interaktion mit diesem Endpunkt stimmen Sie unserer Erhebung, Aufzeichnung und Nutzung solcher Informationen sowie den [NVIDIA API Trial Terms of Service](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf) zu. - Nemotron 3.5 Lightning Free (kostenlose NVIDIA-Endpunkte): Nur für Testzwecke — übermitteln Sie keine personenbezogenen oder vertraulichen Daten. Ihre Nutzung wird zu Sicherheitszwecken und zur Verbesserung der Produkte und Dienste von NVIDIA protokolliert. Die zu Verbesserungszwecken protokollierten Sitzungsdaten sind nicht mit Ihrer Identität oder einem dauerhaften Identifikator verknüpft. Weitere Informationen zu unseren Datenverarbeitungspraktiken finden Sie in unserer [Datenschutzrichtlinie](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). Durch die Interaktion mit diesem Endpunkt stimmen Sie unserer Erhebung, Aufzeichnung und Nutzung solcher Informationen sowie den [NVIDIA API Trial Terms of Service](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf) zu. diff --git a/packages/web/src/content/docs/es/zen.mdx b/packages/web/src/content/docs/es/zen.mdx index c48854ac6311..046afde6cea0 100644 --- a/packages/web/src/content/docs/es/zen.mdx +++ b/packages/web/src/content/docs/es/zen.mdx @@ -118,7 +118,6 @@ También puedes acceder a nuestros modelos a través de los siguientes endpoints | Kimi K3 | kimi-k3 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Big Pickle | big-pickle | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | MiMo-V2.5 Free | mimo-v2.5-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | -| Hy3 Free | hy3-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Ling 3.0 Flash Fin Free | ling-3.0-flash-fin-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3 Ultra Free | nemotron-3-ultra-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3.5 Lightning Free | nemotron-3.5-lightning-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | @@ -148,7 +147,6 @@ Admitimos un modelo de pago por uso. A continuación se muestran los precios **p | --------------------------------- | ------- | ------- | ---------------- | ------------------ | | Big Pickle | Free | Free | Free | - | | MiMo-V2.5 Free | Free | Free | Free | - | -| Hy3 Free | Free | Free | Free | - | | Ling 3.0 Flash Fin Free | Free | Free | Free | - | | Nemotron 3 Ultra Free | Free | Free | Free | - | | Nemotron 3.5 Lightning Free | Free | Free | Free | - | @@ -234,7 +232,6 @@ Las comisiones de tarjeta de crédito se trasladan al costo (4.4% + $0.30 por tr Los modelos gratuitos: - MiMo-V2.5 Free está disponible en OpenCode por tiempo limitado. El equipo está usando este tiempo para recopilar comentarios y mejorar el modelo. -- Hy3 Free está disponible en OpenCode por tiempo limitado. El equipo está usando este tiempo para recopilar comentarios y mejorar el modelo. - Ling 3.0 Flash Fin Free está disponible en OpenCode por tiempo limitado. El equipo está usando este tiempo para recopilar comentarios y mejorar el modelo. - Nemotron 3 Ultra Free está disponible en OpenCode por tiempo limitado. El equipo está usando este tiempo para recopilar comentarios y mejorar el modelo. - Nemotron 3.5 Lightning Free está disponible en OpenCode por tiempo limitado. El equipo está usando este tiempo para recopilar comentarios y mejorar el modelo. @@ -295,7 +292,6 @@ Todos nuestros modelos están alojados en US. Nuestros proveedores siguen una po - Big Pickle: Durante su período gratuito, los datos recopilados pueden usarse para mejorar el modelo. - MiMo-V2.5 Free: Durante su período gratuito, los datos recopilados pueden usarse para mejorar el modelo. -- Hy3 Free: Durante su período gratuito, los datos recopilados pueden usarse para mejorar el modelo. - Ling 3.0 Flash Fin Free: Durante su período gratuito, los datos recopilados pueden usarse para mejorar el modelo. - Nemotron 3 Ultra Free (endpoints gratuitos de NVIDIA): Solo para uso de prueba — no envíes datos personales ni confidenciales. Tu uso se registra con fines de seguridad y para mejorar los productos y servicios de NVIDIA. Los datos de sesión registrados con fines de mejora no están vinculados a tu identidad ni a ningún identificador persistente. Para obtener más información sobre nuestras prácticas de procesamiento de datos, consulta nuestra [Política de privacidad](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). Al interactuar con este endpoint, aceptas que recopilemos, registremos y usemos dicha información, así como los [NVIDIA API Trial Terms of Service](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). - Nemotron 3.5 Lightning Free (endpoints gratuitos de NVIDIA): Solo para uso de prueba — no envíes datos personales ni confidenciales. Tu uso se registra con fines de seguridad y para mejorar los productos y servicios de NVIDIA. Los datos de sesión registrados con fines de mejora no están vinculados a tu identidad ni a ningún identificador persistente. Para obtener más información sobre nuestras prácticas de procesamiento de datos, consulta nuestra [Política de privacidad](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). Al interactuar con este endpoint, aceptas que recopilemos, registremos y usemos dicha información, así como los [NVIDIA API Trial Terms of Service](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). diff --git a/packages/web/src/content/docs/fr/zen.mdx b/packages/web/src/content/docs/fr/zen.mdx index 1cc5b70dc4e0..2f6924fbeb91 100644 --- a/packages/web/src/content/docs/fr/zen.mdx +++ b/packages/web/src/content/docs/fr/zen.mdx @@ -109,7 +109,6 @@ Vous pouvez également accéder à nos modèles via les points de terminaison AP | Kimi K3 | kimi-k3 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Big Pickle | big-pickle | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | MiMo-V2.5 Free | mimo-v2.5-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | -| Hy3 Free | hy3-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Ling 3.0 Flash Fin Free | ling-3.0-flash-fin-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3 Ultra Free | nemotron-3-ultra-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3.5 Lightning Free | nemotron-3.5-lightning-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | @@ -137,7 +136,6 @@ Nous prenons en charge un modèle de paiement à l'utilisation. Vous trouverez c | --------------------------------- | ------ | ------- | ----------- | ------------ | | Big Pickle | Free | Free | Free | - | | MiMo-V2.5 Free | Free | Free | Free | - | -| Hy3 Free | Free | Free | Free | - | | Ling 3.0 Flash Fin Free | Free | Free | Free | - | | Nemotron 3 Ultra Free | Free | Free | Free | - | | Nemotron 3.5 Lightning Free | Free | Free | Free | - | @@ -223,7 +221,6 @@ Les frais de carte de crédit sont répercutés au prix coûtant (4.4% + $0.30 p Les modèles gratuits : - MiMo-V2.5 Free est disponible sur OpenCode pour une durée limitée. L'équipe utilise cette période pour recueillir des retours et améliorer le modèle. -- Hy3 Free est disponible sur OpenCode pour une durée limitée. L'équipe utilise cette période pour recueillir des retours et améliorer le modèle. - Ling 3.0 Flash Fin Free est disponible sur OpenCode pour une durée limitée. L'équipe utilise cette période pour recueillir des retours et améliorer le modèle. - Nemotron 3 Ultra Free est disponible sur OpenCode pour une durée limitée. L'équipe utilise cette période pour recueillir des retours et améliorer le modèle. - Nemotron 3.5 Lightning Free est disponible sur OpenCode pour une durée limitée. L'équipe utilise cette période pour recueillir des retours et améliorer le modèle. @@ -281,7 +278,6 @@ Tous nos modèles sont hébergés aux US. Nos fournisseurs suivent une politique - Big Pickle : Pendant sa période gratuite, les données collectées peuvent être utilisées pour améliorer le modèle. - MiMo-V2.5 Free : Pendant sa période gratuite, les données collectées peuvent être utilisées pour améliorer le modèle. -- Hy3 Free : Pendant sa période gratuite, les données collectées peuvent être utilisées pour améliorer le modèle. - Ling 3.0 Flash Fin Free : Pendant sa période gratuite, les données collectées peuvent être utilisées pour améliorer le modèle. - Nemotron 3 Ultra Free (endpoints NVIDIA gratuits) : Réservé à un usage d'essai — n'envoyez pas de données personnelles ou confidentielles. Votre utilisation est journalisée à des fins de sécurité et pour améliorer les produits et services de NVIDIA. Les données de session journalisées à des fins d'amélioration ne sont pas liées à votre identité ni à un quelconque identifiant persistant. Pour plus d'informations sur nos pratiques de traitement des données, consultez notre [Politique de confidentialité](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). En interagissant avec cet endpoint, vous consentez à notre collecte, à notre enregistrement et à notre utilisation de ces informations ainsi qu'aux [NVIDIA API Trial Terms of Service](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). - Nemotron 3.5 Lightning Free (endpoints NVIDIA gratuits) : Réservé à un usage d'essai — n'envoyez pas de données personnelles ou confidentielles. Votre utilisation est journalisée à des fins de sécurité et pour améliorer les produits et services de NVIDIA. Les données de session journalisées à des fins d'amélioration ne sont pas liées à votre identité ni à un quelconque identifiant persistant. Pour plus d'informations sur nos pratiques de traitement des données, consultez notre [Politique de confidentialité](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). En interagissant avec cet endpoint, vous consentez à notre collecte, à notre enregistrement et à notre utilisation de ces informations ainsi qu'aux [NVIDIA API Trial Terms of Service](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). diff --git a/packages/web/src/content/docs/it/zen.mdx b/packages/web/src/content/docs/it/zen.mdx index f77f77622971..a1bf4668d991 100644 --- a/packages/web/src/content/docs/it/zen.mdx +++ b/packages/web/src/content/docs/it/zen.mdx @@ -118,7 +118,6 @@ Puoi anche accedere ai nostri modelli tramite i seguenti endpoint API. | Kimi K3 | kimi-k3 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Big Pickle | big-pickle | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | MiMo-V2.5 Free | mimo-v2.5-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | -| Hy3 Free | hy3-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Ling 3.0 Flash Fin Free | ling-3.0-flash-fin-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3 Ultra Free | nemotron-3-ultra-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3.5 Lightning Free | nemotron-3.5-lightning-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | @@ -148,7 +147,6 @@ Supportiamo un modello pay-as-you-go. Qui sotto trovi i prezzi **per 1M token**. | --------------------------------- | ------ | ------- | ----------- | ------------ | | Big Pickle | Free | Free | Free | - | | MiMo-V2.5 Free | Free | Free | Free | - | -| Hy3 Free | Free | Free | Free | - | | Ling 3.0 Flash Fin Free | Free | Free | Free | - | | Nemotron 3 Ultra Free | Free | Free | Free | - | | Nemotron 3.5 Lightning Free | Free | Free | Free | - | @@ -234,7 +232,6 @@ Le commissioni della carta di credito vengono trasferite al costo (4.4% + $0.30 I modelli gratuiti: - MiMo-V2.5 Free è disponibile su OpenCode per un periodo limitato. Il team usa questo periodo per raccogliere feedback e migliorare il modello. -- Hy3 Free è disponibile su OpenCode per un periodo limitato. Il team usa questo periodo per raccogliere feedback e migliorare il modello. - Ling 3.0 Flash Fin Free è disponibile su OpenCode per un periodo limitato. Il team usa questo periodo per raccogliere feedback e migliorare il modello. - Nemotron 3 Ultra Free è disponibile su OpenCode per un periodo limitato. Il team usa questo periodo per raccogliere feedback e migliorare il modello. - Nemotron 3.5 Lightning Free è disponibile su OpenCode per un periodo limitato. Il team usa questo periodo per raccogliere feedback e migliorare il modello. @@ -295,7 +292,6 @@ Tutti i nostri modelli sono ospitati negli US. I nostri provider seguono una pol - Big Pickle: durante il periodo gratuito, i dati raccolti possono essere usati per migliorare il modello. - MiMo-V2.5 Free: durante il periodo gratuito, i dati raccolti possono essere usati per migliorare il modello. -- Hy3 Free: durante il periodo gratuito, i dati raccolti possono essere usati per migliorare il modello. - Ling 3.0 Flash Fin Free: durante il periodo gratuito, i dati raccolti possono essere usati per migliorare il modello. - Nemotron 3 Ultra Free (endpoint NVIDIA gratuiti): solo per uso di prova — non inviare dati personali o riservati. Il tuo utilizzo viene registrato per finalità di sicurezza e per migliorare i prodotti e i servizi di NVIDIA. I dati di sessione registrati a fini di miglioramento non sono collegati alla tua identità né ad alcun identificatore persistente. Per maggiori informazioni sulle nostre pratiche di trattamento dei dati, consulta la nostra [Informativa sulla privacy](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). Interagendo con questo endpoint, acconsenti alla nostra raccolta, registrazione e utilizzo di tali informazioni e ai [NVIDIA API Trial Terms of Service](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). - Nemotron 3.5 Lightning Free (endpoint NVIDIA gratuiti): solo per uso di prova — non inviare dati personali o riservati. Il tuo utilizzo viene registrato per finalità di sicurezza e per migliorare i prodotti e i servizi di NVIDIA. I dati di sessione registrati a fini di miglioramento non sono collegati alla tua identità né ad alcun identificatore persistente. Per maggiori informazioni sulle nostre pratiche di trattamento dei dati, consulta la nostra [Informativa sulla privacy](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). Interagendo con questo endpoint, acconsenti alla nostra raccolta, registrazione e utilizzo di tali informazioni e ai [NVIDIA API Trial Terms of Service](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). diff --git a/packages/web/src/content/docs/ja/zen.mdx b/packages/web/src/content/docs/ja/zen.mdx index 9ccc24c2840e..1bee367888db 100644 --- a/packages/web/src/content/docs/ja/zen.mdx +++ b/packages/web/src/content/docs/ja/zen.mdx @@ -109,7 +109,6 @@ OpenCode Zen は、OpenCode のほかのプロバイダーと同じように動 | Kimi K3 | kimi-k3 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Big Pickle | big-pickle | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | MiMo-V2.5 Free | mimo-v2.5-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | -| Hy3 Free | hy3-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Ling 3.0 Flash Fin Free | ling-3.0-flash-fin-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3 Ultra Free | nemotron-3-ultra-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3.5 Lightning Free | nemotron-3.5-lightning-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | @@ -137,7 +136,6 @@ https://opencode.ai/zen/v1/models | --------------------------------- | ------ | ------- | ----------- | ------------ | | Big Pickle | Free | Free | Free | - | | MiMo-V2.5 Free | Free | Free | Free | - | -| Hy3 Free | Free | Free | Free | - | | Ling 3.0 Flash Fin Free | Free | Free | Free | - | | Nemotron 3 Ultra Free | Free | Free | Free | - | | Nemotron 3.5 Lightning Free | Free | Free | Free | - | @@ -223,7 +221,6 @@ https://opencode.ai/zen/v1/models 無料モデル: - MiMo-V2.5 Free は期間限定で OpenCode で利用できます。チームはこの期間中にフィードバックを集め、モデルを改善しています。 -- Hy3 Free は期間限定で OpenCode で利用できます。チームはこの期間中にフィードバックを集め、モデルを改善しています。 - Ling 3.0 Flash Fin Free は期間限定で OpenCode で利用できます。チームはこの期間中にフィードバックを集め、モデルを改善しています。 - Nemotron 3 Ultra Free は期間限定で OpenCode で利用できます。チームはこの期間中にフィードバックを集め、モデルを改善しています。 - Nemotron 3.5 Lightning Free は期間限定で OpenCode で利用できます。チームはこの期間中にフィードバックを集め、モデルを改善しています。 @@ -281,7 +278,6 @@ https://opencode.ai/zen/v1/models - Big Pickle: 無料提供期間中、収集されたデータがモデル改善に使われる場合があります。 - MiMo-V2.5 Free: 無料提供期間中、収集されたデータがモデル改善に使われる場合があります。 -- Hy3 Free: 無料提供期間中、収集されたデータがモデル改善に使われる場合があります。 - Ling 3.0 Flash Fin Free: 無料提供期間中、収集されたデータがモデル改善に使われる場合があります。 - Nemotron 3 Ultra Free(NVIDIA の無料エンドポイント): 試用専用です — 個人情報や機密データは送信しないでください。お客様の利用は、セキュリティ目的および NVIDIA の製品とサービスの改善のために記録されます。改善目的で記録されたセッションデータは、お客様の身元や永続的な識別子とは関連付けられません。当社のデータ処理慣行の詳細については、[プライバシーポリシー](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf)をご覧ください。このエンドポイントを利用することで、お客様はそのような情報の当社による収集、記録、利用、および [NVIDIA API Trial Terms of Service](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf) に同意したものとみなされます。 - Nemotron 3.5 Lightning Free(NVIDIA の無料エンドポイント): 試用専用です — 個人情報や機密データは送信しないでください。お客様の利用は、セキュリティ目的および NVIDIA の製品とサービスの改善のために記録されます。改善目的で記録されたセッションデータは、お客様の身元や永続的な識別子とは関連付けられません。当社のデータ処理慣行の詳細については、[プライバシーポリシー](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf)をご覧ください。このエンドポイントを利用することで、お客様はそのような情報の当社による収集、記録、利用、および [NVIDIA API Trial Terms of Service](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf) に同意したものとみなされます。 diff --git a/packages/web/src/content/docs/ko/zen.mdx b/packages/web/src/content/docs/ko/zen.mdx index eca5125ad515..13bbed54aafe 100644 --- a/packages/web/src/content/docs/ko/zen.mdx +++ b/packages/web/src/content/docs/ko/zen.mdx @@ -109,7 +109,6 @@ OpenCode Zen은 OpenCode의 다른 provider와 똑같이 작동합니다. | Kimi K3 | kimi-k3 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Big Pickle | big-pickle | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | MiMo-V2.5 Free | mimo-v2.5-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | -| Hy3 Free | hy3-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Ling 3.0 Flash Fin Free | ling-3.0-flash-fin-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3 Ultra Free | nemotron-3-ultra-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3.5 Lightning Free | nemotron-3.5-lightning-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | @@ -137,7 +136,6 @@ https://opencode.ai/zen/v1/models | --------------------------------- | ------ | ------- | ----------- | ------------ | | Big Pickle | Free | Free | Free | - | | MiMo-V2.5 Free | Free | Free | Free | - | -| Hy3 Free | Free | Free | Free | - | | Ling 3.0 Flash Fin Free | Free | Free | Free | - | | Nemotron 3 Ultra Free | Free | Free | Free | - | | Nemotron 3.5 Lightning Free | Free | Free | Free | - | @@ -223,7 +221,6 @@ https://opencode.ai/zen/v1/models 무료 모델: - MiMo-V2.5 Free는 한정된 기간 동안 OpenCode에서 제공됩니다. 팀은 이 기간에 피드백을 수집하고 모델을 개선합니다. -- Hy3 Free는 한정된 기간 동안 OpenCode에서 제공됩니다. 팀은 이 기간에 피드백을 수집하고 모델을 개선합니다. - Ling 3.0 Flash Fin Free는 한정된 기간 동안 OpenCode에서 제공됩니다. 팀은 이 기간에 피드백을 수집하고 모델을 개선합니다. - Nemotron 3 Ultra Free는 한정된 기간 동안 OpenCode에서 제공됩니다. 팀은 이 기간에 피드백을 수집하고 모델을 개선합니다. - Nemotron 3.5 Lightning Free는 한정된 기간 동안 OpenCode에서 제공됩니다. 팀은 이 기간에 피드백을 수집하고 모델을 개선합니다. @@ -281,7 +278,6 @@ https://opencode.ai/zen/v1/models - Big Pickle: 무료 제공 기간에는 수집된 데이터가 모델 개선에 사용될 수 있습니다. - MiMo-V2.5 Free: 무료 제공 기간에는 수집된 데이터가 모델 개선에 사용될 수 있습니다. -- Hy3 Free: 무료 제공 기간에는 수집된 데이터가 모델 개선에 사용될 수 있습니다. - Ling 3.0 Flash Fin Free: 무료 제공 기간에는 수집된 데이터가 모델 개선에 사용될 수 있습니다. - Nemotron 3 Ultra Free(NVIDIA 무료 엔드포인트): 평가판 전용이며 — 개인 정보나 기밀 데이터는 제출하지 마세요. 사용 내역은 보안 목적과 NVIDIA 제품 및 서비스 개선을 위해 기록됩니다. 개선 목적으로 기록된 세션 데이터는 사용자의 신원이나 영구 식별자와 연결되지 않습니다. 당사의 데이터 처리 관행에 대한 자세한 내용은 [개인정보처리방침](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf)을 참조하세요. 이 엔드포인트와 상호 작용함으로써 사용자는 당사가 이러한 정보를 수집, 기록, 사용하는 것과 [NVIDIA API Trial Terms of Service](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf)에 동의하게 됩니다. - Nemotron 3.5 Lightning Free(NVIDIA 무료 엔드포인트): 평가판 전용이며 — 개인 정보나 기밀 데이터는 제출하지 마세요. 사용 내역은 보안 목적과 NVIDIA 제품 및 서비스 개선을 위해 기록됩니다. 개선 목적으로 기록된 세션 데이터는 사용자의 신원이나 영구 식별자와 연결되지 않습니다. 당사의 데이터 처리 관행에 대한 자세한 내용은 [개인정보처리방침](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf)을 참조하세요. 이 엔드포인트와 상호 작용함으로써 사용자는 당사가 이러한 정보를 수집, 기록, 사용하는 것과 [NVIDIA API Trial Terms of Service](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf)에 동의하게 됩니다. diff --git a/packages/web/src/content/docs/nb/zen.mdx b/packages/web/src/content/docs/nb/zen.mdx index 4a48b8310cff..57ee59e75dd3 100644 --- a/packages/web/src/content/docs/nb/zen.mdx +++ b/packages/web/src/content/docs/nb/zen.mdx @@ -118,7 +118,6 @@ Du kan også få tilgang til modellene våre gjennom følgende API-endepunkter. | Kimi K3 | kimi-k3 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Big Pickle | big-pickle | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | MiMo-V2.5 Free | mimo-v2.5-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | -| Hy3 Free | hy3-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Ling 3.0 Flash Fin Free | ling-3.0-flash-fin-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3 Ultra Free | nemotron-3-ultra-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3.5 Lightning Free | nemotron-3.5-lightning-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | @@ -148,7 +147,6 @@ Vi støtter en pay-as-you-go-modell. Nedenfor er prisene **per 1M tokens**. | --------------------------------- | ------- | ------- | ------------- | --------------- | | Big Pickle | Free | Free | Free | - | | MiMo-V2.5 Free | Free | Free | Free | - | -| Hy3 Free | Free | Free | Free | - | | Ling 3.0 Flash Fin Free | Free | Free | Free | - | | Nemotron 3 Ultra Free | Free | Free | Free | - | | Nemotron 3.5 Lightning Free | Free | Free | Free | - | @@ -234,7 +232,6 @@ Kredittkortgebyrer videreføres til kostpris (4.4% + $0.30 per transaction); vi Gratis-modellene: - MiMo-V2.5 Free er tilgjengelig på OpenCode i en begrenset periode. Teamet bruker denne tiden til å samle inn tilbakemeldinger og forbedre modellen. -- Hy3 Free er tilgjengelig på OpenCode i en begrenset periode. Teamet bruker denne tiden til å samle inn tilbakemeldinger og forbedre modellen. - Ling 3.0 Flash Fin Free er tilgjengelig på OpenCode i en begrenset periode. Teamet bruker denne tiden til å samle inn tilbakemeldinger og forbedre modellen. - Nemotron 3 Ultra Free er tilgjengelig på OpenCode i en begrenset periode. Teamet bruker denne tiden til å samle inn tilbakemeldinger og forbedre modellen. - Nemotron 3.5 Lightning Free er tilgjengelig på OpenCode i en begrenset periode. Teamet bruker denne tiden til å samle inn tilbakemeldinger og forbedre modellen. @@ -295,7 +292,6 @@ Alle modellene våre hostes i US. Leverandørene våre følger en policy for zer - Big Pickle: I gratisperioden kan innsamlede data brukes til å forbedre modellen. - MiMo-V2.5 Free: I gratisperioden kan innsamlede data brukes til å forbedre modellen. -- Hy3 Free: I gratisperioden kan innsamlede data brukes til å forbedre modellen. - Ling 3.0 Flash Fin Free: I gratisperioden kan innsamlede data brukes til å forbedre modellen. - Nemotron 3 Ultra Free (gratis NVIDIA-endepunkter): Kun for prøvebruk — ikke send inn personopplysninger eller konfidensielle data. Bruken din logges av sikkerhetshensyn og for å forbedre NVIDIAs produkter og tjenester. Sesjonsdataene som logges for forbedringsformål, er ikke knyttet til identiteten din eller noen vedvarende identifikator. For mer informasjon om vår databehandlingspraksis, se vår [personvernerklæring](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). Ved å samhandle med dette endepunktet samtykker du til at vi samler inn, registrerer og bruker slik informasjon, samt til [NVIDIA API Trial Terms of Service](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). - Nemotron 3.5 Lightning Free (gratis NVIDIA-endepunkter): Kun for prøvebruk — ikke send inn personopplysninger eller konfidensielle data. Bruken din logges av sikkerhetshensyn og for å forbedre NVIDIAs produkter og tjenester. Sesjonsdataene som logges for forbedringsformål, er ikke knyttet til identiteten din eller noen vedvarende identifikator. For mer informasjon om vår databehandlingspraksis, se vår [personvernerklæring](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). Ved å samhandle med dette endepunktet samtykker du til at vi samler inn, registrerer og bruker slik informasjon, samt til [NVIDIA API Trial Terms of Service](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). diff --git a/packages/web/src/content/docs/pl/zen.mdx b/packages/web/src/content/docs/pl/zen.mdx index 9698672a2a06..5ea4233d92d9 100644 --- a/packages/web/src/content/docs/pl/zen.mdx +++ b/packages/web/src/content/docs/pl/zen.mdx @@ -118,7 +118,6 @@ Możesz też uzyskać dostęp do naszych modeli przez poniższe endpointy API. | Kimi K3 | kimi-k3 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Big Pickle | big-pickle | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | MiMo-V2.5 Free | mimo-v2.5-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | -| Hy3 Free | hy3-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Ling 3.0 Flash Fin Free | ling-3.0-flash-fin-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3 Ultra Free | nemotron-3-ultra-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3.5 Lightning Free | nemotron-3.5-lightning-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | @@ -148,7 +147,6 @@ Obsługujemy model pay-as-you-go. Poniżej znajdują się ceny **za 1M tokenów* | --------------------------------- | ------- | ------- | -------------- | -------------- | | Big Pickle | Free | Free | Free | - | | MiMo-V2.5 Free | Free | Free | Free | - | -| Hy3 Free | Free | Free | Free | - | | Ling 3.0 Flash Fin Free | Free | Free | Free | - | | Nemotron 3 Ultra Free | Free | Free | Free | - | | Nemotron 3.5 Lightning Free | Free | Free | Free | - | @@ -234,7 +232,6 @@ Opłaty za karty kredytowe są przenoszone po kosztach (4.4% + $0.30 per transac Darmowe modele: - MiMo-V2.5 Free jest dostępny w OpenCode przez ograniczony czas. Zespół wykorzystuje ten czas do zbierania opinii i ulepszania modelu. -- Hy3 Free jest dostępny w OpenCode przez ograniczony czas. Zespół wykorzystuje ten czas do zbierania opinii i ulepszania modelu. - Ling 3.0 Flash Fin Free jest dostępny w OpenCode przez ograniczony czas. Zespół wykorzystuje ten czas do zbierania opinii i ulepszania modelu. - Nemotron 3 Ultra Free jest dostępny w OpenCode przez ograniczony czas. Zespół wykorzystuje ten czas do zbierania opinii i ulepszania modelu. - Nemotron 3.5 Lightning Free jest dostępny w OpenCode przez ograniczony czas. Zespół wykorzystuje ten czas do zbierania opinii i ulepszania modelu. @@ -295,7 +292,6 @@ Wszystkie nasze modele są hostowane w US. Nasi dostawcy stosują politykę zero - Big Pickle: W czasie darmowego okresu zebrane dane mogą być wykorzystywane do ulepszania modelu. - MiMo-V2.5 Free: W czasie darmowego okresu zebrane dane mogą być wykorzystywane do ulepszania modelu. -- Hy3 Free: W czasie darmowego okresu zebrane dane mogą być wykorzystywane do ulepszania modelu. - Ling 3.0 Flash Fin Free: W czasie darmowego okresu zebrane dane mogą być wykorzystywane do ulepszania modelu. - Nemotron 3 Ultra Free (darmowe endpointy NVIDIA): Tylko do użytku próbnego — nie przesyłaj danych osobowych ani poufnych. Twoje korzystanie jest rejestrowane w celach bezpieczeństwa oraz w celu ulepszania produktów i usług NVIDIA. Rejestrowane dane sesji wykorzystywane do celów ulepszania nie są powiązane z Twoją tożsamością ani żadnym trwałym identyfikatorem. Aby uzyskać więcej informacji o naszych praktykach przetwarzania danych, zapoznaj się z naszą [Polityką prywatności](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). Korzystając z tego endpointu, wyrażasz zgodę na gromadzenie, rejestrowanie i wykorzystywanie przez nas takich informacji oraz na [NVIDIA API Trial Terms of Service](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). - Nemotron 3.5 Lightning Free (darmowe endpointy NVIDIA): Tylko do użytku próbnego — nie przesyłaj danych osobowych ani poufnych. Twoje korzystanie jest rejestrowane w celach bezpieczeństwa oraz w celu ulepszania produktów i usług NVIDIA. Rejestrowane dane sesji wykorzystywane do celów ulepszania nie są powiązane z Twoją tożsamością ani żadnym trwałym identyfikatorem. Aby uzyskać więcej informacji o naszych praktykach przetwarzania danych, zapoznaj się z naszą [Polityką prywatności](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). Korzystając z tego endpointu, wyrażasz zgodę na gromadzenie, rejestrowanie i wykorzystywanie przez nas takich informacji oraz na [NVIDIA API Trial Terms of Service](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). diff --git a/packages/web/src/content/docs/pt-br/zen.mdx b/packages/web/src/content/docs/pt-br/zen.mdx index 6ee33cd324dc..3ff1c7b8e902 100644 --- a/packages/web/src/content/docs/pt-br/zen.mdx +++ b/packages/web/src/content/docs/pt-br/zen.mdx @@ -109,7 +109,6 @@ Você também pode acessar nossos modelos pelos seguintes endpoints de API. | Kimi K3 | kimi-k3 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Big Pickle | big-pickle | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | MiMo-V2.5 Free | mimo-v2.5-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | -| Hy3 Free | hy3-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Ling 3.0 Flash Fin Free | ling-3.0-flash-fin-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3 Ultra Free | nemotron-3-ultra-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3.5 Lightning Free | nemotron-3.5-lightning-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | @@ -137,7 +136,6 @@ Oferecemos um modelo pay-as-you-go. Abaixo estão os preços **por 1M tokens**. | --------------------------------- | ------- | ------- | ---------------- | ---------------- | | Big Pickle | Free | Free | Free | - | | MiMo-V2.5 Free | Free | Free | Free | - | -| Hy3 Free | Free | Free | Free | - | | Ling 3.0 Flash Fin Free | Free | Free | Free | - | | Nemotron 3 Ultra Free | Free | Free | Free | - | | Nemotron 3.5 Lightning Free | Free | Free | Free | - | @@ -223,7 +221,6 @@ As taxas de cartão de crédito são repassadas a preço de custo (4.4% + $0.30 Os modelos gratuitos: - MiMo-V2.5 Free está disponível no OpenCode por tempo limitado. A equipe está usando esse período para coletar feedback e melhorar o modelo. -- Hy3 Free está disponível no OpenCode por tempo limitado. A equipe está usando esse período para coletar feedback e melhorar o modelo. - Ling 3.0 Flash Fin Free está disponível no OpenCode por tempo limitado. A equipe está usando esse período para coletar feedback e melhorar o modelo. - Nemotron 3 Ultra Free está disponível no OpenCode por tempo limitado. A equipe está usando esse período para coletar feedback e melhorar o modelo. - Nemotron 3.5 Lightning Free está disponível no OpenCode por tempo limitado. A equipe está usando esse período para coletar feedback e melhorar o modelo. @@ -281,7 +278,6 @@ Todos os nossos modelos são hospedados nos US. Nossos provedores seguem uma pol - Big Pickle: Durante seu período gratuito, os dados coletados podem ser usados para melhorar o modelo. - MiMo-V2.5 Free: Durante seu período gratuito, os dados coletados podem ser usados para melhorar o modelo. -- Hy3 Free: Durante seu período gratuito, os dados coletados podem ser usados para melhorar o modelo. - Ling 3.0 Flash Fin Free: Durante seu período gratuito, os dados coletados podem ser usados para melhorar o modelo. - Nemotron 3 Ultra Free (endpoints gratuitos da NVIDIA): Apenas para uso de avaliação — não envie dados pessoais ou confidenciais. Seu uso é registrado para fins de segurança e para melhorar os produtos e serviços da NVIDIA. Os dados de sessão registrados para fins de melhoria não estão vinculados à sua identidade nem a qualquer identificador persistente. Para mais informações sobre nossas práticas de processamento de dados, consulte nossa [Política de Privacidade](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). Ao interagir com este endpoint, você consente com a nossa coleta, registro e uso dessas informações e com os [NVIDIA API Trial Terms of Service](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). - Nemotron 3.5 Lightning Free (endpoints gratuitos da NVIDIA): Apenas para uso de avaliação — não envie dados pessoais ou confidenciais. Seu uso é registrado para fins de segurança e para melhorar os produtos e serviços da NVIDIA. Os dados de sessão registrados para fins de melhoria não estão vinculados à sua identidade nem a qualquer identificador persistente. Para mais informações sobre nossas práticas de processamento de dados, consulte nossa [Política de Privacidade](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). Ao interagir com este endpoint, você consente com a nossa coleta, registro e uso dessas informações e com os [NVIDIA API Trial Terms of Service](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). diff --git a/packages/web/src/content/docs/ru/zen.mdx b/packages/web/src/content/docs/ru/zen.mdx index cda6177b9241..ddd2c29bc8d2 100644 --- a/packages/web/src/content/docs/ru/zen.mdx +++ b/packages/web/src/content/docs/ru/zen.mdx @@ -118,7 +118,6 @@ OpenCode Zen работает как любой другой провайдер | Kimi K3 | kimi-k3 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Big Pickle | big-pickle | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | MiMo-V2.5 Free | mimo-v2.5-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | -| Hy3 Free | hy3-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Ling 3.0 Flash Fin Free | ling-3.0-flash-fin-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3 Ultra Free | nemotron-3-ultra-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3.5 Lightning Free | nemotron-3.5-lightning-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | @@ -148,7 +147,6 @@ https://opencode.ai/zen/v1/models | --------------------------------- | ------ | ------- | ----------- | ------------ | | Big Pickle | Free | Free | Free | - | | MiMo-V2.5 Free | Free | Free | Free | - | -| Hy3 Free | Free | Free | Free | - | | Ling 3.0 Flash Fin Free | Free | Free | Free | - | | Nemotron 3 Ultra Free | Free | Free | Free | - | | Nemotron 3.5 Lightning Free | Free | Free | Free | - | @@ -234,7 +232,6 @@ https://opencode.ai/zen/v1/models Бесплатные модели: - MiMo-V2.5 Free доступна в OpenCode ограниченное время. Команда использует это время, чтобы собирать отзывы и улучшать модель. -- Hy3 Free доступна в OpenCode ограниченное время. Команда использует это время, чтобы собирать отзывы и улучшать модель. - Ling 3.0 Flash Fin Free доступна в OpenCode ограниченное время. Команда использует это время, чтобы собирать отзывы и улучшать модель. - Nemotron 3 Ultra Free доступна в OpenCode ограниченное время. Команда использует это время, чтобы собирать отзывы и улучшать модель. - Nemotron 3.5 Lightning Free доступна в OpenCode ограниченное время. Команда использует это время, чтобы собирать отзывы и улучшать модель. @@ -295,7 +292,6 @@ https://opencode.ai/zen/v1/models - Big Pickle: во время бесплатного периода собранные данные могут использоваться для улучшения модели. - MiMo-V2.5 Free: во время бесплатного периода собранные данные могут использоваться для улучшения модели. -- Hy3 Free: во время бесплатного периода собранные данные могут использоваться для улучшения модели. - Ling 3.0 Flash Fin Free: во время бесплатного периода собранные данные могут использоваться для улучшения модели. - Nemotron 3 Ultra Free (бесплатные эндпоинты NVIDIA): только для пробного использования — не отправляйте персональные или конфиденциальные данные. Использование логируется в целях безопасности и для улучшения продуктов и сервисов NVIDIA. Логируемые данные сессии, используемые в целях улучшения, не связаны с вашей личностью или каким-либо постоянным идентификатором. Подробнее о наших практиках обработки данных см. в нашей [Политике конфиденциальности](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). Взаимодействуя с этим эндпоинтом, вы соглашаетесь на сбор, запись и использование нами такой информации, а также с [NVIDIA API Trial Terms of Service](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). - Nemotron 3.5 Lightning Free (бесплатные эндпоинты NVIDIA): только для пробного использования — не отправляйте персональные или конфиденциальные данные. Использование логируется в целях безопасности и для улучшения продуктов и сервисов NVIDIA. Логируемые данные сессии, используемые в целях улучшения, не связаны с вашей личностью или каким-либо постоянным идентификатором. Подробнее о наших практиках обработки данных см. в нашей [Политике конфиденциальности](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). Взаимодействуя с этим эндпоинтом, вы соглашаетесь на сбор, запись и использование нами такой информации, а также с [NVIDIA API Trial Terms of Service](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). diff --git a/packages/web/src/content/docs/th/zen.mdx b/packages/web/src/content/docs/th/zen.mdx index 4788e22dd86e..c58ae2db6bfe 100644 --- a/packages/web/src/content/docs/th/zen.mdx +++ b/packages/web/src/content/docs/th/zen.mdx @@ -111,7 +111,6 @@ OpenCode Zen ทำงานเหมือน provider อื่น ๆ ใน | Kimi K3 | kimi-k3 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Big Pickle | big-pickle | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | MiMo-V2.5 Free | mimo-v2.5-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | -| Hy3 Free | hy3-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Ling 3.0 Flash Fin Free | ling-3.0-flash-fin-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3 Ultra Free | nemotron-3-ultra-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3.5 Lightning Free | nemotron-3.5-lightning-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | @@ -139,7 +138,6 @@ https://opencode.ai/zen/v1/models | --------------------------------- | ------ | ------- | ----------- | ------------ | | Big Pickle | Free | Free | Free | - | | MiMo-V2.5 Free | Free | Free | Free | - | -| Hy3 Free | Free | Free | Free | - | | Ling 3.0 Flash Fin Free | Free | Free | Free | - | | Nemotron 3 Ultra Free | Free | Free | Free | - | | Nemotron 3.5 Lightning Free | Free | Free | Free | - | @@ -225,7 +223,6 @@ https://opencode.ai/zen/v1/models โมเดลฟรี: - MiMo-V2.5 Free เปิดให้ใช้บน OpenCode ในช่วงเวลาจำกัด ทีมกำลังใช้ช่วงเวลานี้เพื่อเก็บ feedback และปรับปรุงโมเดล -- Hy3 Free เปิดให้ใช้บน OpenCode ในช่วงเวลาจำกัด ทีมกำลังใช้ช่วงเวลานี้เพื่อเก็บ feedback และปรับปรุงโมเดล - Ling 3.0 Flash Fin Free เปิดให้ใช้บน OpenCode ในช่วงเวลาจำกัด ทีมกำลังใช้ช่วงเวลานี้เพื่อเก็บ feedback และปรับปรุงโมเดล - Nemotron 3 Ultra Free เปิดให้ใช้บน OpenCode ในช่วงเวลาจำกัด ทีมกำลังใช้ช่วงเวลานี้เพื่อเก็บ feedback และปรับปรุงโมเดล - Nemotron 3.5 Lightning Free เปิดให้ใช้บน OpenCode ในช่วงเวลาจำกัด ทีมกำลังใช้ช่วงเวลานี้เพื่อเก็บ feedback และปรับปรุงโมเดล @@ -283,7 +280,6 @@ https://opencode.ai/zen/v1/models - Big Pickle: ระหว่างช่วงที่เปิดให้ใช้ฟรี ข้อมูลที่เก็บรวบรวมอาจถูกนำไปใช้เพื่อปรับปรุงโมเดล - MiMo-V2.5 Free: ระหว่างช่วงที่เปิดให้ใช้ฟรี ข้อมูลที่เก็บรวบรวมอาจถูกนำไปใช้เพื่อปรับปรุงโมเดล -- Hy3 Free: ระหว่างช่วงที่เปิดให้ใช้ฟรี ข้อมูลที่เก็บรวบรวมอาจถูกนำไปใช้เพื่อปรับปรุงโมเดล - Ling 3.0 Flash Fin Free: ระหว่างช่วงที่เปิดให้ใช้ฟรี ข้อมูลที่เก็บรวบรวมอาจถูกนำไปใช้เพื่อปรับปรุงโมเดล - Nemotron 3 Ultra Free (endpoint ฟรีของ NVIDIA): ใช้สำหรับการทดลองเท่านั้น — โปรดอย่าส่งข้อมูลส่วนบุคคลหรือข้อมูลลับ การใช้งานของคุณจะถูกบันทึกเพื่อวัตถุประสงค์ด้านความปลอดภัยและเพื่อปรับปรุงผลิตภัณฑ์และบริการของ NVIDIA ข้อมูลเซสชันที่บันทึกไว้เพื่อวัตถุประสงค์ในการปรับปรุงจะไม่เชื่อมโยงกับตัวตนของคุณหรือตัวระบุถาวรใด ๆ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับแนวปฏิบัติในการประมวลผลข้อมูลของเรา โปรดดู [นโยบายความเป็นส่วนตัว](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf) ของเรา การโต้ตอบกับ endpoint นี้ถือว่าคุณยินยอมให้เราเก็บรวบรวม บันทึก และใช้ข้อมูลดังกล่าว รวมถึง [NVIDIA API Trial Terms of Service](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf) - Nemotron 3.5 Lightning Free (endpoint ฟรีของ NVIDIA): ใช้สำหรับการทดลองเท่านั้น — โปรดอย่าส่งข้อมูลส่วนบุคคลหรือข้อมูลลับ การใช้งานของคุณจะถูกบันทึกเพื่อวัตถุประสงค์ด้านความปลอดภัยและเพื่อปรับปรุงผลิตภัณฑ์และบริการของ NVIDIA ข้อมูลเซสชันที่บันทึกไว้เพื่อวัตถุประสงค์ในการปรับปรุงจะไม่เชื่อมโยงกับตัวตนของคุณหรือตัวระบุถาวรใด ๆ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับแนวปฏิบัติในการประมวลผลข้อมูลของเรา โปรดดู [นโยบายความเป็นส่วนตัว](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf) ของเรา การโต้ตอบกับ endpoint นี้ถือว่าคุณยินยอมให้เราเก็บรวบรวม บันทึก และใช้ข้อมูลดังกล่าว รวมถึง [NVIDIA API Trial Terms of Service](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf) diff --git a/packages/web/src/content/docs/tr/zen.mdx b/packages/web/src/content/docs/tr/zen.mdx index 0188c0961a26..13670c0f3286 100644 --- a/packages/web/src/content/docs/tr/zen.mdx +++ b/packages/web/src/content/docs/tr/zen.mdx @@ -109,7 +109,6 @@ Modellerimize aşağıdaki API uç noktaları aracılığıyla da erişebilirsin | Kimi K3 | kimi-k3 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Big Pickle | big-pickle | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | MiMo-V2.5 Free | mimo-v2.5-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | -| Hy3 Free | hy3-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Ling 3.0 Flash Fin Free | ling-3.0-flash-fin-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3 Ultra Free | nemotron-3-ultra-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3.5 Lightning Free | nemotron-3.5-lightning-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | @@ -137,7 +136,6 @@ Kullandıkça öde modelini destekliyoruz. Aşağıda **1M token başına** fiya | --------------------------------- | ------ | ------- | ----------- | ------------ | | Big Pickle | Free | Free | Free | - | | MiMo-V2.5 Free | Free | Free | Free | - | -| Hy3 Free | Free | Free | Free | - | | Ling 3.0 Flash Fin Free | Free | Free | Free | - | | Nemotron 3 Ultra Free | Free | Free | Free | - | | Nemotron 3.5 Lightning Free | Free | Free | Free | - | @@ -223,7 +221,6 @@ Kredi kartı ücretleri maliyet üzerinden yansıtılır (%4.4 + işlem başına Ücretsiz modeller: - MiMo-V2.5 Free, sınırlı bir süre için OpenCode'da ücretsizdir. Ekip bu süreyi geri bildirim toplamak ve modeli iyileştirmek için kullanıyor. -- Hy3 Free, sınırlı bir süre için OpenCode'da ücretsizdir. Ekip bu süreyi geri bildirim toplamak ve modeli iyileştirmek için kullanıyor. - Ling 3.0 Flash Fin Free, sınırlı bir süre için OpenCode'da ücretsizdir. Ekip bu süreyi geri bildirim toplamak ve modeli iyileştirmek için kullanıyor. - Nemotron 3 Ultra Free, sınırlı bir süre için OpenCode'da ücretsizdir. Ekip bu süreyi geri bildirim toplamak ve modeli iyileştirmek için kullanıyor. - Nemotron 3.5 Lightning Free, sınırlı bir süre için OpenCode'da ücretsizdir. Ekip bu süreyi geri bildirim toplamak ve modeli iyileştirmek için kullanıyor. @@ -281,7 +278,6 @@ Tüm modellerimiz US'de barındırılıyor. Sağlayıcılarımız zero-retention - Big Pickle: Ücretsiz döneminde toplanan veriler modeli iyileştirmek için kullanılabilir. - MiMo-V2.5 Free: Ücretsiz döneminde toplanan veriler modeli iyileştirmek için kullanılabilir. -- Hy3 Free: Ücretsiz döneminde toplanan veriler modeli iyileştirmek için kullanılabilir. - Ling 3.0 Flash Fin Free: Ücretsiz döneminde toplanan veriler modeli iyileştirmek için kullanılabilir. - Nemotron 3 Ultra Free (ücretsiz NVIDIA uç noktaları): Yalnızca deneme amaçlıdır — kişisel veya gizli veri göndermeyin. Kullanımınız güvenlik amacıyla ve NVIDIA ürünlerini ve hizmetlerini geliştirmek için kaydedilir. Geliştirme amacıyla kaydedilen oturum verileri kimliğinizle veya herhangi bir kalıcı tanımlayıcıyla ilişkilendirilmez. Veri işleme uygulamalarımız hakkında daha fazla bilgi için [Gizlilik Politikamıza](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf) bakın. Bu uç noktayla etkileşime geçerek, bu tür bilgileri toplamamıza, kaydetmemize ve kullanmamıza ve [NVIDIA API Trial Terms of Service](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf) koşullarına onay vermiş olursunuz. - Nemotron 3.5 Lightning Free (ücretsiz NVIDIA uç noktaları): Yalnızca deneme amaçlıdır — kişisel veya gizli veri göndermeyin. Kullanımınız güvenlik amacıyla ve NVIDIA ürünlerini ve hizmetlerini geliştirmek için kaydedilir. Geliştirme amacıyla kaydedilen oturum verileri kimliğinizle veya herhangi bir kalıcı tanımlayıcıyla ilişkilendirilmez. Veri işleme uygulamalarımız hakkında daha fazla bilgi için [Gizlilik Politikamıza](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf) bakın. Bu uç noktayla etkileşime geçerek, bu tür bilgileri toplamamıza, kaydetmemize ve kullanmamıza ve [NVIDIA API Trial Terms of Service](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf) koşullarına onay vermiş olursunuz. diff --git a/packages/web/src/content/docs/zen.mdx b/packages/web/src/content/docs/zen.mdx index e41ab3f90277..cb737893a87f 100644 --- a/packages/web/src/content/docs/zen.mdx +++ b/packages/web/src/content/docs/zen.mdx @@ -118,7 +118,6 @@ You can also access our models through the following API endpoints. | Kimi K3 | kimi-k3 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Big Pickle | big-pickle | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | MiMo-V2.5 Free | mimo-v2.5-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | -| Hy3 Free | hy3-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Ling 3.0 Flash Fin Free | ling-3.0-flash-fin-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3 Ultra Free | nemotron-3-ultra-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3.5 Lightning Free | nemotron-3.5-lightning-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | @@ -148,7 +147,6 @@ We support a pay-as-you-go model. Below are the prices **per 1M tokens**. | --------------------------------- | ------ | ------- | ----------- | ------------ | | Big Pickle | Free | Free | Free | - | | MiMo-V2.5 Free | Free | Free | Free | - | -| Hy3 Free | Free | Free | Free | - | | Ling 3.0 Flash Fin Free | Free | Free | Free | - | | Nemotron 3 Ultra Free | Free | Free | Free | - | | Nemotron 3.5 Lightning Free | Free | Free | Free | - | @@ -234,7 +232,6 @@ Credit card fees are passed along at cost (4.4% + $0.30 per transaction); we don The free models: - MiMo-V2.5 Free is available on OpenCode for a limited time. The team is using this time to collect feedback and improve the model. -- Hy3 Free is available on OpenCode for a limited time. The team is using this time to collect feedback and improve the model. - Ling 3.0 Flash Fin Free is available on OpenCode for a limited time. The team is using this time to collect feedback and improve the model. - Nemotron 3 Ultra Free is available on OpenCode for a limited time. The team is using this time to collect feedback and improve the model. - Nemotron 3.5 Lightning Free is available on OpenCode for a limited time. The team is using this time to collect feedback and improve the model. @@ -295,7 +292,6 @@ All our models are hosted in the US. Our providers follow a zero-retention polic - Big Pickle: During its free period, collected data may be used to improve the model. - MiMo-V2.5 Free: During its free period, collected data may be used to improve the model. -- Hy3 Free: During its free period, collected data may be used to improve the model. - Ling 3.0 Flash Fin Free: During its free period, collected data may be used to improve the model. - Nemotron 3 Ultra Free (NVIDIA free endpoints): Trial use only — do not submit personal or confidential data. Your use is logged for security purposes and to improve NVIDIA products and services. The logged session data for improvement purposes is not linked to your identity or any persistent identifier. For more information about our data processing practices, see our [Privacy Policy](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). By interacting with this endpoint, you consent to our collection, recording, and use of such information and the [NVIDIA API Trial Terms of Service](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). - Nemotron 3.5 Lightning Free (NVIDIA free endpoints): Trial use only — do not submit personal or confidential data. Your use is logged for security purposes and to improve NVIDIA products and services. The logged session data for improvement purposes is not linked to your identity or any persistent identifier. For more information about our data processing practices, see our [Privacy Policy](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). By interacting with this endpoint, you consent to our collection, recording, and use of such information and the [NVIDIA API Trial Terms of Service](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf). diff --git a/packages/web/src/content/docs/zh-cn/zen.mdx b/packages/web/src/content/docs/zh-cn/zen.mdx index 51c0549f3a47..518badf0f9c4 100644 --- a/packages/web/src/content/docs/zh-cn/zen.mdx +++ b/packages/web/src/content/docs/zh-cn/zen.mdx @@ -109,7 +109,6 @@ OpenCode Zen 的工作方式与 OpenCode 中的任何其他提供商相同。 | Kimi K3 | kimi-k3 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Big Pickle | big-pickle | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | MiMo-V2.5 Free | mimo-v2.5-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | -| Hy3 Free | hy3-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Ling 3.0 Flash Fin Free | ling-3.0-flash-fin-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3 Ultra Free | nemotron-3-ultra-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3.5 Lightning Free | nemotron-3.5-lightning-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | @@ -137,7 +136,6 @@ https://opencode.ai/zen/v1/models | --------------------------------- | ------ | ------- | -------- | -------- | | Big Pickle | Free | Free | Free | - | | MiMo-V2.5 Free | Free | Free | Free | - | -| Hy3 Free | Free | Free | Free | - | | Ling 3.0 Flash Fin Free | Free | Free | Free | - | | Nemotron 3 Ultra Free | Free | Free | Free | - | | Nemotron 3.5 Lightning Free | Free | Free | Free | - | @@ -223,7 +221,6 @@ https://opencode.ai/zen/v1/models 免费模型: - MiMo-V2.5 Free 目前在 OpenCode 上限时免费提供。团队正在利用这段时间收集反馈并改进模型。 -- Hy3 Free 目前在 OpenCode 上限时免费提供。团队正在利用这段时间收集反馈并改进模型。 - Ling 3.0 Flash Fin Free 目前在 OpenCode 上限时免费提供。团队正在利用这段时间收集反馈并改进模型。 - Nemotron 3 Ultra Free 目前在 OpenCode 上限时免费提供。团队正在利用这段时间收集反馈并改进模型。 - Nemotron 3.5 Lightning Free 目前在 OpenCode 上限时免费提供。团队正在利用这段时间收集反馈并改进模型。 @@ -281,7 +278,6 @@ https://opencode.ai/zen/v1/models - Big Pickle:在免费期间,收集的数据可能会被用于改进模型。 - MiMo-V2.5 Free:在免费期间,收集的数据可能会被用于改进模型。 -- Hy3 Free:在免费期间,收集的数据可能会被用于改进模型。 - Ling 3.0 Flash Fin Free:在免费期间,收集的数据可能会被用于改进模型。 - Nemotron 3 Ultra Free(NVIDIA 免费端点):仅供试用 — 请勿提交个人或机密数据。出于安全目的以及为改进 NVIDIA 产品和服务,系统会记录你的使用情况。出于改进目的而记录的会话数据不会与你的身份或任何持久标识符相关联。有关我们数据处理实践的更多信息,请参阅我们的[隐私政策](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf)。与此端点进行交互,即表示你同意我们收集、记录和使用此类信息,并同意 [NVIDIA API Trial Terms of Service](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf)。 - Nemotron 3.5 Lightning Free(NVIDIA 免费端点):仅供试用 — 请勿提交个人或机密数据。出于安全目的以及为改进 NVIDIA 产品和服务,系统会记录你的使用情况。出于改进目的而记录的会话数据不会与你的身份或任何持久标识符相关联。有关我们数据处理实践的更多信息,请参阅我们的[隐私政策](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf)。与此端点进行交互,即表示你同意我们收集、记录和使用此类信息,并同意 [NVIDIA API Trial Terms of Service](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf)。 diff --git a/packages/web/src/content/docs/zh-tw/zen.mdx b/packages/web/src/content/docs/zh-tw/zen.mdx index 501a62dbbbc4..eed177158eab 100644 --- a/packages/web/src/content/docs/zh-tw/zen.mdx +++ b/packages/web/src/content/docs/zh-tw/zen.mdx @@ -113,7 +113,6 @@ OpenCode Zen 的運作方式和 OpenCode 中的其他供應商一樣。 | Kimi K3 | kimi-k3 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Big Pickle | big-pickle | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | MiMo-V2.5 Free | mimo-v2.5-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | -| Hy3 Free | hy3-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Ling 3.0 Flash Fin Free | ling-3.0-flash-fin-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3 Ultra Free | nemotron-3-ultra-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | | Nemotron 3.5 Lightning Free | nemotron-3.5-lightning-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` | @@ -142,7 +141,6 @@ https://opencode.ai/zen/v1/models | --------------------------------- | ------ | ------- | -------- | -------- | | Big Pickle | Free | Free | Free | - | | MiMo-V2.5 Free | Free | Free | Free | - | -| Hy3 Free | Free | Free | Free | - | | Ling 3.0 Flash Fin Free | Free | Free | Free | - | | Nemotron 3 Ultra Free | Free | Free | Free | - | | Nemotron 3.5 Lightning Free | Free | Free | Free | - | @@ -228,7 +226,6 @@ https://opencode.ai/zen/v1/models 免費模型: - MiMo-V2.5 Free 在 OpenCode 上限時提供。團隊正在利用這段時間收集回饋並改進模型。 -- Hy3 Free 在 OpenCode 上限時提供。團隊正在利用這段時間收集回饋並改進模型。 - Ling 3.0 Flash Fin Free 在 OpenCode 上限時提供。團隊正在利用這段時間收集回饋並改進模型。 - Nemotron 3 Ultra Free 在 OpenCode 上限時提供。團隊正在利用這段時間收集回饋並改進模型。 - Nemotron 3.5 Lightning Free 在 OpenCode 上限時提供。團隊正在利用這段時間收集回饋並改進模型。 @@ -287,7 +284,6 @@ https://opencode.ai/zen/v1/models - Big Pickle: 在免費期間,收集到的資料可能會用於改進模型。 - MiMo-V2.5 Free: 在免費期間,收集到的資料可能會用於改進模型。 -- Hy3 Free: 在免費期間,收集到的資料可能會用於改進模型。 - Ling 3.0 Flash Fin Free: 在免費期間,收集到的資料可能會用於改進模型。 - Nemotron 3 Ultra Free(NVIDIA 免費端點):僅供試用 — 請勿提交個人或機密資料。基於安全目的以及為了改進 NVIDIA 產品與服務,系統會記錄你的使用情況。基於改進目的而記錄的工作階段資料不會與你的身分或任何持久識別碼相關聯。有關我們資料處理實務的更多資訊,請參閱我們的[隱私政策](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf)。與此端點進行互動,即表示你同意我們收集、記錄與使用此類資訊,並同意 [NVIDIA API Trial Terms of Service](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf)。 - Nemotron 3.5 Lightning Free(NVIDIA 免費端點):僅供試用 — 請勿提交個人或機密資料。基於安全目的以及為了改進 NVIDIA 產品與服務,系統會記錄你的使用情況。基於改進目的而記錄的工作階段資料不會與你的身分或任何持久識別碼相關聯。有關我們資料處理實務的更多資訊,請參閱我們的[隱私政策](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf)。與此端點進行互動,即表示你同意我們收集、記錄與使用此類資訊,並同意 [NVIDIA API Trial Terms of Service](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf)。 From 9f69463f1d556af2b5b51d2efa1c04f5f544f911 Mon Sep 17 00:00:00 2001 From: "opencode-agent[bot]" <219766164+opencode-agent[bot]@users.noreply.github.com> Date: Mon, 31 Aug 2026 05:19:51 +0000 Subject: [PATCH 09/39] fix(app): backport session rename and tab menu fixes to v1 (#46116) Co-authored-by: Brendonovich <14191578+Brendonovich@users.noreply.github.com> --- .../app/e2e/regression/session-rename.spec.ts | 141 ++++++++++++++++++ .../subagent-child-navigation.spec.ts | 2 +- .../app/src/components/titlebar-tab-nav.tsx | 71 ++++++--- .../session/timeline/message-timeline.tsx | 4 +- 4 files changed, 196 insertions(+), 22 deletions(-) create mode 100644 packages/app/e2e/regression/session-rename.spec.ts diff --git a/packages/app/e2e/regression/session-rename.spec.ts b/packages/app/e2e/regression/session-rename.spec.ts new file mode 100644 index 000000000000..2cd97c24c1c0 --- /dev/null +++ b/packages/app/e2e/regression/session-rename.spec.ts @@ -0,0 +1,141 @@ +import { expect, test } from "@playwright/test" +import { fixture, pageMessages } from "../smoke/session-timeline.fixture" +import { mockOpenCodeServer } from "../utils/mock-server" + +test.beforeEach(async ({ page }) => { + const sessions = fixture.sessions.map((session) => ({ ...session })) + await mockOpenCodeServer(page, { + protocol: "v1", + sessions, + provider: fixture.provider, + directory: fixture.directory, + project: fixture.project, + pageMessages, + }) + await page.route(/\/session\/[^/]+(?:\?.*)?$/, async (route) => { + if (route.request().method() !== "PATCH") return route.fallback() + const id = new URL(route.request().url()).pathname.split("/").at(-1) + const session = sessions.find((item) => item.id === id) + const payload: unknown = route.request().postDataJSON() + if ( + !session || + !payload || + typeof payload !== "object" || + !("title" in payload) || + typeof payload.title !== "string" + ) + throw new Error("Invalid rename request") + session.title = payload.title + await route.fulfill({ json: session, headers: { "access-control-allow-origin": "*" } }) + }) + await page.addInitScript((directory) => { + localStorage.setItem( + "opencode.global.dat:server", + JSON.stringify({ + projects: { local: [{ worktree: directory, expanded: true }] }, + lastProject: { local: directory }, + }), + ) + }, fixture.directory) + await page.goto("/") + await page.locator('[data-component="home-session-row"]').filter({ hasText: fixture.expected.targetTitle }).click() + await expect(page.getByRole("heading", { name: fixture.expected.targetTitle, exact: true })).toBeVisible() +}) + +for (const commit of ["Enter", "blur", "click outside"]) { + test(`saves the session heading on ${commit}`, async ({ page }) => { + await page.getByRole("heading", { name: fixture.expected.targetTitle, exact: true }).click() + const input = page.locator('input[data-slot="session-title-child"]') + await expect(input).toBeFocused() + await input.fill("Renamed session") + if (commit === "Enter") await input.press("Enter") + if (commit === "blur") await input.press("Tab") + if (commit === "click outside") await page.getByRole("textbox", { name: "Prompt", exact: true }).click() + await expect(page.getByRole("heading", { name: "Renamed session", exact: true })).toBeVisible() + await expect(page.locator('[data-slot="titlebar-tabs"] a').filter({ hasText: "Renamed session" })).toBeVisible() + await page.reload() + await expect(page.getByRole("heading", { name: "Renamed session", exact: true })).toBeVisible() + }) +} + +test("cancels the session heading with Escape", async ({ page }) => { + await page.getByRole("heading", { name: fixture.expected.targetTitle, exact: true }).click() + const input = page.locator('input[data-slot="session-title-child"]') + await input.fill("Discard this title") + await input.press("Escape") + await expect(page.getByRole("heading", { name: fixture.expected.targetTitle, exact: true })).toBeVisible() + await page.reload() + await expect(page.getByRole("heading", { name: fixture.expected.targetTitle, exact: true })).toBeVisible() +}) + +test("keeps the draft when saving the session heading fails", async ({ page }) => { + await page.route(/\/session\/[^/]+(?:\?.*)?$/, (route) => { + if (route.request().method() !== "PATCH") return route.fallback() + return route.fulfill({ status: 500, headers: { "access-control-allow-origin": "*" } }) + }) + await page.getByRole("heading", { name: fixture.expected.targetTitle, exact: true }).click() + const input = page.locator('input[data-slot="session-title-child"]') + await input.fill("Retry this title") + await input.press("Tab") + await expect(page.getByText("Request failed", { exact: true })).toBeVisible() + await expect(input).toBeEnabled() + await expect(input).toHaveValue("Retry this title") + await expect( + page.locator('[data-slot="titlebar-tabs"] a').filter({ hasText: fixture.expected.targetTitle }), + ).toBeVisible() +}) + +test("does not save an empty session heading", async ({ page }) => { + await page.getByRole("heading", { name: fixture.expected.targetTitle, exact: true }).click() + const input = page.locator('input[data-slot="session-title-child"]') + await input.fill(" ") + await input.press("Tab") + await expect(page.getByRole("heading", { name: fixture.expected.targetTitle, exact: true })).toBeVisible() + await page.reload() + await expect(page.getByRole("heading", { name: fixture.expected.targetTitle, exact: true })).toBeVisible() +}) + +test("renames and closes the session tab from its context menu", async ({ page }) => { + const tab = page.locator('[data-slot="titlebar-tabs"] a').filter({ hasText: fixture.expected.targetTitle }) + await tab.click({ button: "right" }) + await expect(page.getByRole("menuitem", { name: "Rename", exact: true })).toBeVisible() + await page.keyboard.press("Escape") + await expect(page.getByRole("menuitem", { name: "Rename", exact: true })).toBeHidden() + await expect(tab).toBeFocused() + await tab.press("Shift+F10") + await page.getByRole("menuitem", { name: "Rename", exact: true }).click() + const input = page.locator('[data-slot="tab-title"][contenteditable="true"]') + await expect(input).toBeFocused() + await input.fill("Renamed from tab") + await input.press("Enter") + await expect(page.getByRole("heading", { name: "Renamed from tab", exact: true })).toBeVisible() + await page.reload() + await expect(page.getByRole("heading", { name: "Renamed from tab", exact: true })).toBeVisible() + const renamed = page.locator('[data-slot="titlebar-tabs"] a').filter({ hasText: "Renamed from tab" }) + await renamed.click({ button: "right" }) + await page.getByRole("menuitem", { name: "Close tab", exact: true }).click() + await expect(renamed).toBeHidden() + await page.getByRole("button", { name: "Home", exact: true }).click() + await expect( + page.locator('[data-component="home-session-row"]').filter({ hasText: "Renamed from tab" }), + ).toBeVisible() +}) + +test("renames an inactive tab without switching sessions", async ({ page }) => { + await page.getByRole("button", { name: "Home", exact: true }).click() + await page.locator('[data-component="home-session-row"]').filter({ hasText: fixture.expected.sourceTitle }).click() + await expect(page.getByRole("heading", { name: fixture.expected.sourceTitle, exact: true })).toBeVisible() + const tab = page.locator('[data-slot="titlebar-tabs"] a').filter({ hasText: fixture.expected.targetTitle }) + await tab.click({ button: "right" }) + await page.getByRole("menuitem", { name: "Rename", exact: true }).click() + const input = page.locator('[data-slot="tab-title"][contenteditable="true"]') + await expect(input).toBeFocused() + await input.fill("Inactive tab renamed") + await input.press("Tab") + await expect(page.getByRole("heading", { name: fixture.expected.sourceTitle, exact: true })).toBeVisible() + await expect(page).toHaveURL(new RegExp(`/session/${fixture.sourceID}$`)) + await page.locator('[data-slot="titlebar-tabs"] a').filter({ hasText: "Inactive tab renamed" }).click() + await expect(page.getByRole("heading", { name: "Inactive tab renamed", exact: true })).toBeVisible() + await page.reload() + await expect(page.getByRole("heading", { name: "Inactive tab renamed", exact: true })).toBeVisible() +}) diff --git a/packages/app/e2e/regression/subagent-child-navigation.spec.ts b/packages/app/e2e/regression/subagent-child-navigation.spec.ts index 019cc156eca1..c4ed6a78a040 100644 --- a/packages/app/e2e/regression/subagent-child-navigation.spec.ts +++ b/packages/app/e2e/regression/subagent-child-navigation.spec.ts @@ -39,7 +39,7 @@ test("shows the not found fallback when the viewed session is deleted", async ({ }) await expect(page.getByText("This session cannot be found")).toBeVisible() - await expect(page.getByRole("button", { name: "Close Tab" })).toBeVisible() + await expect(page.getByRole("button", { name: "Close Tab", exact: true })).toBeVisible() await expect(page.getByRole("heading", { name: taskDescription })).toHaveCount(0) }) diff --git a/packages/app/src/components/titlebar-tab-nav.tsx b/packages/app/src/components/titlebar-tab-nav.tsx index 65493c54dff5..b016f286a250 100644 --- a/packages/app/src/components/titlebar-tab-nav.tsx +++ b/packages/app/src/components/titlebar-tab-nav.tsx @@ -1,9 +1,11 @@ import { createEffect, createMemo, createSignal, onCleanup, Show, type Ref } from "solid-js" +import { createStore } from "solid-js/store" import { makeEventListener } from "@solid-primitives/event-listener" import { createResizeObserver } from "@solid-primitives/resize-observer" import { createMutation } from "@tanstack/solid-query" import { IconButtonV2 } from "@opencode-ai/ui/v2/icon-button-v2" import { Icon as IconV2 } from "@opencode-ai/ui/v2/icon" +import { MenuV2 } from "@opencode-ai/ui/v2/menu-v2" import { useGlobal } from "@/context/global" import { useLanguage } from "@/context/language" import { ServerConnection, serverName } from "@/context/server" @@ -33,6 +35,8 @@ export function TabNavItem(props: { pressed?: boolean hidden?: boolean }) { + const language = useLanguage() + const [menu, setMenu] = createStore({ open: false, rename: false }) const [editing, setEditing] = createSignal(false) const [titleOverflowing, setTitleOverflowing] = createSignal(false) let tabRoot!: HTMLDivElement @@ -76,7 +80,7 @@ export function TabNavItem(props: { }) const [popoverOpen, setPopoverOpen] = createSignal(false) - const previewBlocked = () => !!props.dragging || editing() || !!props.pressed || !props.session() + const previewBlocked = () => !!props.dragging || editing() || menu.open || !!props.pressed || !props.session() const measureTitleOverflow = () => { if (!titleEl || editing()) { @@ -138,9 +142,9 @@ export function TabNavItem(props: { titleEl.textContent = value }) - const openRename = (event: MouseEvent) => { - event.preventDefault() - event.stopPropagation() + const openRename = (event?: MouseEvent) => { + event?.preventDefault() + event?.stopPropagation() if (!canOpenTabRename(props.dragging, editing(), rename.isPending)) return const session = props.session() if (!session) return @@ -171,7 +175,7 @@ export function TabNavItem(props: { onCleanup(cleanup) }) - const tab = ( + const tab = () => (
    { tabRoot = el @@ -196,7 +200,11 @@ export function TabNavItem(props: { closeTab(event) }} > - - +
    } + aria-label={language.t("common.closeTab")} />
    ) return ( - { - if (value && previewBlocked()) return - setPopoverOpen(value) - }} - data={{ - projectName: projectName(), - title: props.session()?.title, - path: previewPath(), - serverName: serverLabel(), + { + setMenu("open", open) + if (open) setPopoverOpen(false) }} - /> + > + { + if (value && previewBlocked()) return + setPopoverOpen(value) + }} + data={{ + projectName: projectName(), + title: props.session()?.title, + path: previewPath(), + serverName: serverLabel(), + }} + /> + + { + if (!menu.rename) return + event.preventDefault() + setMenu("rename", false) + openRename() + }} + > + setMenu("rename", true)}> + {language.t("common.rename")} + + {language.t("common.closeTab")} + + + ) } diff --git a/packages/app/src/pages/session/timeline/message-timeline.tsx b/packages/app/src/pages/session/timeline/message-timeline.tsx index 18a153d29971..e0838825570e 100644 --- a/packages/app/src/pages/session/timeline/message-timeline.tsx +++ b/packages/app/src/pages/session/timeline/message-timeline.tsx @@ -777,6 +777,7 @@ export function MessageTimeline(props: { } const saveTitleEditor = () => { + if (!title.editing) return const id = sessionID() if (!id) return if (titleMutation.isPending) return @@ -1447,6 +1448,7 @@ export function MessageTimeline(props: { onInput={(event) => setTitle("draft", event.currentTarget.value)} onKeyDown={(event) => { event.stopPropagation() + if (event.isComposing || event.keyCode === 229) return if (event.key === "Enter") { event.preventDefault() void saveTitleEditor() @@ -1457,7 +1459,7 @@ export function MessageTimeline(props: { closeTitleEditor() } }} - onBlur={closeTitleEditor} + onBlur={saveTitleEditor} /> From 26ff3ed3d3e28830190ef53f2ff4b261852139a4 Mon Sep 17 00:00:00 2001 From: "opencode-agent[bot]" <219766164+opencode-agent[bot]@users.noreply.github.com> Date: Mon, 31 Aug 2026 12:01:31 -0400 Subject: [PATCH 10/39] fix(tui): keep home shortcuts right-aligned (#36906) Co-authored-by: Kit Langton --- packages/tui/src/component/prompt/index.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/tui/src/component/prompt/index.tsx b/packages/tui/src/component/prompt/index.tsx index fe7f4a22f75f..0a3935ab24bd 100644 --- a/packages/tui/src/component/prompt/index.tsx +++ b/packages/tui/src/component/prompt/index.tsx @@ -1644,7 +1644,7 @@ export function Prompt(props: PromptProps) { {props.hint ?? ( - + }> {location()?.directory ?? paths.cwd} From b639de07acbf10c3fae53a564577e84dccf74612 Mon Sep 17 00:00:00 2001 From: Adam <2363879+adamdotdevin@users.noreply.github.com> Date: Mon, 31 Aug 2026 12:32:22 -0500 Subject: [PATCH 11/39] fix(stats): merge deepseek flash variants (#46446) --- packages/stats/core/src/domain/inference.test.ts | 9 +++++++++ packages/stats/core/src/domain/model-normalization.ts | 2 ++ 2 files changed, 11 insertions(+) diff --git a/packages/stats/core/src/domain/inference.test.ts b/packages/stats/core/src/domain/inference.test.ts index 5f7e0266bf60..e3b61193bb8b 100644 --- a/packages/stats/core/src/domain/inference.test.ts +++ b/packages/stats/core/src/domain/inference.test.ts @@ -50,6 +50,10 @@ describe("inference stat normalization", () => { }) test("merges renamed models under their current name", () => { + expect(statModel("deepseek-v4-flash-0731", "")).toBe("deepseek-v4-flash") + expect(statModel("deepseek-v4-flash-0731-free", "")).toBe("deepseek-v4-flash") + expect(statModel("deepseek-v4-flash-dsv4-flash-final-rnaovd", "")).toBe("deepseek-v4-flash") + expect(statModel("deepseek-v4-flash-vision-exp", "")).toBe("deepseek-v4-flash-vision-exp") expect(statModel("x-preview-f", "")).toBe("glm-5.3-flash") expect(statModel("ox-alpha", "")).toBe("glm-5.3-flash") expect(statModel("ox-alpha-free", "")).toBe("glm-5.3-flash") @@ -130,6 +134,11 @@ describe("inference stat normalization", () => { expect(queries[0]).toContain("COALESCE(NULLIF(lower(model_tier), ''), '') AS raw_tier") expect(queries[0]).toContain("WHEN lower(COALESCE(raw_tier, '')) = 'free'") expect(queries[0]).toContain("regexp_replace(NULLIF(route_model, ''), '^.*/', '')") + expect(queries[0]).toContain("= 'deepseek-v4-flash-0731' THEN 'deepseek-v4-flash'") + expect(queries[0]).toContain( + "= 'deepseek-v4-flash-dsv4-flash-final-rnaovd' THEN 'deepseek-v4-flash'", + ) + expect(queries[0]).not.toContain("= 'deepseek-v4-flash-vision-exp' THEN 'deepseek-v4-flash'") expect(queries[0]).toContain("= 'ox-alpha' THEN 'glm-5.3-flash'") expect(queries[0]).toContain("= 'x-preview-f' THEN 'glm-5.3-flash'") expect(queries[0]).toContain("OR lower(raw_model) IN ('gpt-5-nano', 'grok-code', 'big-pickle')") diff --git a/packages/stats/core/src/domain/model-normalization.ts b/packages/stats/core/src/domain/model-normalization.ts index 744d761d9039..6f2edb117d0f 100644 --- a/packages/stats/core/src/domain/model-normalization.ts +++ b/packages/stats/core/src/domain/model-normalization.ts @@ -16,6 +16,8 @@ export const MODEL_AUTHOR_RULES = [ export const EXCLUDED_MODELS = new Set(["alpha-gpt-next"]) export const FREE_MODELS = new Set(["gpt-5-nano", "grok-code", "big-pickle"]) export const MODEL_NAME_ALIASES: Record = { + "deepseek-v4-flash-0731": "deepseek-v4-flash", + "deepseek-v4-flash-dsv4-flash-final-rnaovd": "deepseek-v4-flash", "ox-alpha": "glm-5.3-flash", "x-preview-f": "glm-5.3-flash", "xiaomi/mimo-v2.5": "mimo-v2.5", From 04284921ac8f657555b5a182f5ff055f471543e4 Mon Sep 17 00:00:00 2001 From: "opencode-agent[bot]" Date: Mon, 31 Aug 2026 17:33:52 +0000 Subject: [PATCH 12/39] chore: generate --- packages/stats/core/src/domain/inference.test.ts | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/stats/core/src/domain/inference.test.ts b/packages/stats/core/src/domain/inference.test.ts index e3b61193bb8b..20dbe8620558 100644 --- a/packages/stats/core/src/domain/inference.test.ts +++ b/packages/stats/core/src/domain/inference.test.ts @@ -135,9 +135,7 @@ describe("inference stat normalization", () => { expect(queries[0]).toContain("WHEN lower(COALESCE(raw_tier, '')) = 'free'") expect(queries[0]).toContain("regexp_replace(NULLIF(route_model, ''), '^.*/', '')") expect(queries[0]).toContain("= 'deepseek-v4-flash-0731' THEN 'deepseek-v4-flash'") - expect(queries[0]).toContain( - "= 'deepseek-v4-flash-dsv4-flash-final-rnaovd' THEN 'deepseek-v4-flash'", - ) + expect(queries[0]).toContain("= 'deepseek-v4-flash-dsv4-flash-final-rnaovd' THEN 'deepseek-v4-flash'") expect(queries[0]).not.toContain("= 'deepseek-v4-flash-vision-exp' THEN 'deepseek-v4-flash'") expect(queries[0]).toContain("= 'ox-alpha' THEN 'glm-5.3-flash'") expect(queries[0]).toContain("= 'x-preview-f' THEN 'glm-5.3-flash'") From ba790579eab13db3bd5404f9ca5a8d3f424478fa Mon Sep 17 00:00:00 2001 From: Dax Raad Date: Mon, 31 Aug 2026 21:32:58 -0400 Subject: [PATCH 13/39] docs on proper usage of OpenCode Go --- packages/web/src/content/docs/go.mdx | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/packages/web/src/content/docs/go.mdx b/packages/web/src/content/docs/go.mdx index 4c5e925a9f7f..0759b6c43d21 100644 --- a/packages/web/src/content/docs/go.mdx +++ b/packages/web/src/content/docs/go.mdx @@ -89,6 +89,17 @@ The list of models may change as we test and add new ones. --- +## Where can I use it? + +OpenCode Go is designed to be used with [OpenCode](https://opencode.ai) and other +popular coding agents that produce a similar types of requests. + +Traffic is monitored for abusive traffic that degrades the experience for other users. + +To ensure your account does not get flagged, make sure the tool you're using +- does not generate abusive traffic +- properly identifies itself (no broad user agents) + ## Usage limits OpenCode Go includes the following limits: From 2386fcec753c49c55c8df026edde8e822c924925 Mon Sep 17 00:00:00 2001 From: "opencode-agent[bot]" Date: Tue, 1 Sep 2026 01:35:29 +0000 Subject: [PATCH 14/39] chore: generate --- packages/web/src/content/docs/go.mdx | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/web/src/content/docs/go.mdx b/packages/web/src/content/docs/go.mdx index 0759b6c43d21..29d79983e374 100644 --- a/packages/web/src/content/docs/go.mdx +++ b/packages/web/src/content/docs/go.mdx @@ -97,6 +97,7 @@ popular coding agents that produce a similar types of requests. Traffic is monitored for abusive traffic that degrades the experience for other users. To ensure your account does not get flagged, make sure the tool you're using + - does not generate abusive traffic - properly identifies itself (no broad user agents) From 5c5c709feed2705fd00227f1d0718db6390016ca Mon Sep 17 00:00:00 2001 From: "opencode-agent[bot]" <219766164+opencode-agent[bot]@users.noreply.github.com> Date: Mon, 31 Aug 2026 21:16:05 -0500 Subject: [PATCH 15/39] fix(tui): pin diff highlights query (#46519) Co-authored-by: rekram1-node Co-authored-by: Andreas Holt <6665487+AndreasHolt@users.noreply.github.com> --- packages/tui/src/parsers-config.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/tui/src/parsers-config.ts b/packages/tui/src/parsers-config.ts index 0450c4d2eab2..fcb064e0bf07 100644 --- a/packages/tui/src/parsers-config.ts +++ b/packages/tui/src/parsers-config.ts @@ -302,7 +302,7 @@ export default { wasm: "https://github.com/tree-sitter-grammars/tree-sitter-diff/releases/download/v0.1.0/tree-sitter-diff.wasm", queries: { highlights: [ - "https://raw.githubusercontent.com/tree-sitter-grammars/tree-sitter-diff/master/queries/highlights.scm", + "https://raw.githubusercontent.com/tree-sitter-grammars/tree-sitter-diff/2520c3f934b3179bb540d23e0ef45f75304b5fed/queries/highlights.scm", ], }, }, From f7da00f35ef9ab6ce6356aaafd8159033bc467f8 Mon Sep 17 00:00:00 2001 From: Kyle Altendorf Date: Mon, 31 Aug 2026 22:37:19 -0400 Subject: [PATCH 16/39] fix(opencode): omit empty apply patch move path (#45329) --- packages/opencode/src/tool/apply_patch.ts | 2 +- .../opencode/test/tool/apply_patch.test.ts | 22 ++++++++++++++++++- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/packages/opencode/src/tool/apply_patch.ts b/packages/opencode/src/tool/apply_patch.ts index f9201be8a7db..3f89a63974b0 100644 --- a/packages/opencode/src/tool/apply_patch.ts +++ b/packages/opencode/src/tool/apply_patch.ts @@ -198,7 +198,7 @@ export const ApplyPatchTool = Tool.define( patch: change.diff, additions: change.additions, deletions: change.deletions, - movePath: change.movePath, + ...(change.movePath ? { movePath: change.movePath } : {}), })) // Check permissions if needed diff --git a/packages/opencode/test/tool/apply_patch.test.ts b/packages/opencode/test/tool/apply_patch.test.ts index e394d8084f9a..742036154b5f 100644 --- a/packages/opencode/test/tool/apply_patch.test.ts +++ b/packages/opencode/test/tool/apply_patch.test.ts @@ -1,8 +1,9 @@ import { describe, expect } from "bun:test" import path from "path" import * as fs from "fs/promises" +import { PermissionV1 } from "@opencode-ai/core/v1/permission" import { LayerNode } from "@opencode-ai/core/effect/layer-node" -import { Cause, Effect, Exit, Layer } from "effect" +import { Cause, Effect, Exit, Layer, Schema } from "effect" import { ApplyPatchTool } from "../../src/tool/apply_patch" import { LSP } from "@/lsp/lsp" import { FSUtil } from "@opencode-ai/core/fs-util" @@ -107,6 +108,25 @@ describe("tool.apply_patch freeform", () => { }), ) + it.instance( + "produces JSON-encodable permission metadata", + () => + Effect.gen(function* () { + const { ctx, calls } = makeCtx() + yield* execute({ patchText: "*** Begin Patch\n*** Add File: new.txt\n+created\n*** End Patch" }, ctx) + + expect(() => { + const request = Schema.encodeUnknownSync(PermissionV1.Request)({ + id: PermissionV1.ID.ascending(), + sessionID: baseCtx.sessionID, + ...calls[0], + }) + Schema.encodeUnknownSync(Schema.Json)(request) + }).not.toThrow() + }), + { git: true }, + ) + it.instance( "applies add/update/delete in one patch", () => From be3b703a7b61953aa70c7a049fca6cc71471ef8d Mon Sep 17 00:00:00 2001 From: Dax Raad Date: Mon, 31 Aug 2026 22:44:53 -0400 Subject: [PATCH 17/39] fix(web): restore documentation list markers --- packages/web/src/styles/custom.css | 6 ------ 1 file changed, 6 deletions(-) diff --git a/packages/web/src/styles/custom.css b/packages/web/src/styles/custom.css index 04331dd6ae0b..095e4a371d72 100644 --- a/packages/web/src/styles/custom.css +++ b/packages/web/src/styles/custom.css @@ -267,12 +267,6 @@ strong { font-weight: 500 !important; } -ul, -ol { - list-style: none !important; - padding: 0 !important; -} - .sl-markdown-content .tab > [role="tab"][aria-selected="true"] { border-color: var(--color-text-strong); } From 1ead9e3d7f02661176fd46d7bcac7f6b7be3b52d Mon Sep 17 00:00:00 2001 From: Dax Raad Date: Mon, 31 Aug 2026 22:45:34 -0400 Subject: [PATCH 18/39] fix(web): number Go usage requirements --- packages/web/src/content/docs/go.mdx | 4 ++-- packages/web/src/styles/custom.css | 6 ++++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/web/src/content/docs/go.mdx b/packages/web/src/content/docs/go.mdx index 29d79983e374..7ad23efa8bf8 100644 --- a/packages/web/src/content/docs/go.mdx +++ b/packages/web/src/content/docs/go.mdx @@ -98,8 +98,8 @@ Traffic is monitored for abusive traffic that degrades the experience for other To ensure your account does not get flagged, make sure the tool you're using -- does not generate abusive traffic -- properly identifies itself (no broad user agents) +1\. does not generate abusive traffic +2\. properly identifies itself (no broad user agents) ## Usage limits diff --git a/packages/web/src/styles/custom.css b/packages/web/src/styles/custom.css index 095e4a371d72..04331dd6ae0b 100644 --- a/packages/web/src/styles/custom.css +++ b/packages/web/src/styles/custom.css @@ -267,6 +267,12 @@ strong { font-weight: 500 !important; } +ul, +ol { + list-style: none !important; + padding: 0 !important; +} + .sl-markdown-content .tab > [role="tab"][aria-selected="true"] { border-color: var(--color-text-strong); } From ebece6efd7b11401cf1e7390b5a22991b6608cc4 Mon Sep 17 00:00:00 2001 From: Jack Date: Tue, 1 Sep 2026 15:11:17 +0800 Subject: [PATCH 19/39] docs(web): update Qwen3.7 Max Go usage (#46555) --- packages/web/src/content/docs/ar/go.mdx | 4 ++-- packages/web/src/content/docs/bs/go.mdx | 4 ++-- packages/web/src/content/docs/da/go.mdx | 4 ++-- packages/web/src/content/docs/de/go.mdx | 4 ++-- packages/web/src/content/docs/es/go.mdx | 4 ++-- packages/web/src/content/docs/fr/go.mdx | 4 ++-- packages/web/src/content/docs/go.mdx | 4 ++-- packages/web/src/content/docs/it/go.mdx | 4 ++-- packages/web/src/content/docs/ja/go.mdx | 4 ++-- packages/web/src/content/docs/ko/go.mdx | 4 ++-- packages/web/src/content/docs/nb/go.mdx | 4 ++-- packages/web/src/content/docs/pl/go.mdx | 4 ++-- packages/web/src/content/docs/pt-br/go.mdx | 4 ++-- packages/web/src/content/docs/ru/go.mdx | 4 ++-- packages/web/src/content/docs/th/go.mdx | 4 ++-- packages/web/src/content/docs/tr/go.mdx | 4 ++-- packages/web/src/content/docs/zh-cn/go.mdx | 4 ++-- packages/web/src/content/docs/zh-tw/go.mdx | 4 ++-- 18 files changed, 36 insertions(+), 36 deletions(-) diff --git a/packages/web/src/content/docs/ar/go.mdx b/packages/web/src/content/docs/ar/go.mdx index 23e95b346026..f927fce25cd5 100644 --- a/packages/web/src/content/docs/ar/go.mdx +++ b/packages/web/src/content/docs/ar/go.mdx @@ -110,7 +110,7 @@ OpenCode Go هو اشتراك منخفض التكلفة بقيمة **$10/شهر | Muse Spark 1.2 Contributor | 45,300 | 113,300 | 226,600 | | Qwen3.8 Max | 160 | 400 | 810 | | Qwen3.8 Flash | 5,400 | 13,500 | 27,000 | -| Qwen3.7 Max | 340 | 840 | 1,690 | +| Qwen3.7 Max | 170 | 420 | 840 | | Qwen3.7 Plus | 4,300 | 10,800 | 21,600 | | Qwen3.6 Plus | 3,300 | 8,200 | 16,300 | | DeepSeek V4 Pro | 1,050 | 2,600 | 5,200 | @@ -168,7 +168,7 @@ OpenCode Go هو اشتراك منخفض التكلفة بقيمة **$10/شهر | Muse Spark 1.2 Contributor | $0.10 | $0.20 | $0.002 | - | $60 | | Qwen3.8 Max | $2.00 | $6.00 | $0.25 | $2.50 | $15 | | Qwen3.8 Flash | $0.15 | $0.47 | $0.016 | $0.20 | $30 | -| Qwen3.7 Max | $2.50 | $7.50 | $0.50 | $3.125 | $60 | +| Qwen3.7 Max | $2.50 | $7.50 | $0.50 | $3.125 | $30 | | Qwen3.7 Plus (≤ 256K tokens) | $0.40 | $1.60 | $0.04 | $0.50 | $60 | | Qwen3.7 Plus (> 256K tokens) | $1.20 | $4.80 | $0.12 | $1.50 | $60 | | Qwen3.6 Plus (≤ 256K tokens) | $0.50 | $3.00 | $0.05 | $0.625 | $60 | diff --git a/packages/web/src/content/docs/bs/go.mdx b/packages/web/src/content/docs/bs/go.mdx index 1200b785a33c..08792e787d76 100644 --- a/packages/web/src/content/docs/bs/go.mdx +++ b/packages/web/src/content/docs/bs/go.mdx @@ -120,7 +120,7 @@ Tabela ispod pruža procijenjeni broj zahtjeva na osnovu tipičnih obrazaca kori | Muse Spark 1.2 Contributor | 45,300 | 113,300 | 226,600 | | Qwen3.8 Max | 160 | 400 | 810 | | Qwen3.8 Flash | 5,400 | 13,500 | 27,000 | -| Qwen3.7 Max | 340 | 840 | 1,690 | +| Qwen3.7 Max | 170 | 420 | 840 | | Qwen3.7 Plus | 4,300 | 10,800 | 21,600 | | Qwen3.6 Plus | 3,300 | 8,200 | 16,300 | | DeepSeek V4 Pro | 1,050 | 2,600 | 5,200 | @@ -178,7 +178,7 @@ Procjene se također zasnivaju na sljedećim cijenama po 1M tokena i mjesečnoj | Muse Spark 1.2 Contributor | $0.10 | $0.20 | $0.002 | - | $60 | | Qwen3.8 Max | $2.00 | $6.00 | $0.25 | $2.50 | $15 | | Qwen3.8 Flash | $0.15 | $0.47 | $0.016 | $0.20 | $30 | -| Qwen3.7 Max | $2.50 | $7.50 | $0.50 | $3.125 | $60 | +| Qwen3.7 Max | $2.50 | $7.50 | $0.50 | $3.125 | $30 | | Qwen3.7 Plus (≤ 256K tokens) | $0.40 | $1.60 | $0.04 | $0.50 | $60 | | Qwen3.7 Plus (> 256K tokens) | $1.20 | $4.80 | $0.12 | $1.50 | $60 | | Qwen3.6 Plus (≤ 256K tokens) | $0.50 | $3.00 | $0.05 | $0.625 | $60 | diff --git a/packages/web/src/content/docs/da/go.mdx b/packages/web/src/content/docs/da/go.mdx index 925e8c51761e..efcddab1198a 100644 --- a/packages/web/src/content/docs/da/go.mdx +++ b/packages/web/src/content/docs/da/go.mdx @@ -120,7 +120,7 @@ Tabellen nedenfor giver et estimeret antal anmodninger baseret på typiske Go-fo | Muse Spark 1.2 Contributor | 45,300 | 113,300 | 226,600 | | Qwen3.8 Max | 160 | 400 | 810 | | Qwen3.8 Flash | 5,400 | 13,500 | 27,000 | -| Qwen3.7 Max | 340 | 840 | 1,690 | +| Qwen3.7 Max | 170 | 420 | 840 | | Qwen3.7 Plus | 4,300 | 10,800 | 21,600 | | Qwen3.6 Plus | 3,300 | 8,200 | 16,300 | | DeepSeek V4 Pro | 1,050 | 2,600 | 5,200 | @@ -178,7 +178,7 @@ Estimaterne er også baseret på følgende priser pr. 1M tokens og det månedlig | Muse Spark 1.2 Contributor | $0.10 | $0.20 | $0.002 | - | $60 | | Qwen3.8 Max | $2.00 | $6.00 | $0.25 | $2.50 | $15 | | Qwen3.8 Flash | $0.15 | $0.47 | $0.016 | $0.20 | $30 | -| Qwen3.7 Max | $2.50 | $7.50 | $0.50 | $3.125 | $60 | +| Qwen3.7 Max | $2.50 | $7.50 | $0.50 | $3.125 | $30 | | Qwen3.7 Plus (≤ 256K tokens) | $0.40 | $1.60 | $0.04 | $0.50 | $60 | | Qwen3.7 Plus (> 256K tokens) | $1.20 | $4.80 | $0.12 | $1.50 | $60 | | Qwen3.6 Plus (≤ 256K tokens) | $0.50 | $3.00 | $0.05 | $0.625 | $60 | diff --git a/packages/web/src/content/docs/de/go.mdx b/packages/web/src/content/docs/de/go.mdx index 941c439d75a9..f15dfd411469 100644 --- a/packages/web/src/content/docs/de/go.mdx +++ b/packages/web/src/content/docs/de/go.mdx @@ -112,7 +112,7 @@ Die folgende Tabelle zeigt eine geschätzte Anzahl von Anfragen basierend auf ty | Muse Spark 1.2 Contributor | 45,300 | 113,300 | 226,600 | | Qwen3.8 Max | 160 | 400 | 810 | | Qwen3.8 Flash | 5,400 | 13,500 | 27,000 | -| Qwen3.7 Max | 340 | 840 | 1,690 | +| Qwen3.7 Max | 170 | 420 | 840 | | Qwen3.7 Plus | 4,300 | 10,800 | 21,600 | | Qwen3.6 Plus | 3,300 | 8,200 | 16,300 | | DeepSeek V4 Pro | 1,050 | 2,600 | 5,200 | @@ -170,7 +170,7 @@ Die Schätzungen basieren außerdem auf den folgenden Preisen pro 1M Tokens und | Muse Spark 1.2 Contributor | $0.10 | $0.20 | $0.002 | - | $60 | | Qwen3.8 Max | $2.00 | $6.00 | $0.25 | $2.50 | $15 | | Qwen3.8 Flash | $0.15 | $0.47 | $0.016 | $0.20 | $30 | -| Qwen3.7 Max | $2.50 | $7.50 | $0.50 | $3.125 | $60 | +| Qwen3.7 Max | $2.50 | $7.50 | $0.50 | $3.125 | $30 | | Qwen3.7 Plus (≤ 256K tokens) | $0.40 | $1.60 | $0.04 | $0.50 | $60 | | Qwen3.7 Plus (> 256K tokens) | $1.20 | $4.80 | $0.12 | $1.50 | $60 | | Qwen3.6 Plus (≤ 256K tokens) | $0.50 | $3.00 | $0.05 | $0.625 | $60 | diff --git a/packages/web/src/content/docs/es/go.mdx b/packages/web/src/content/docs/es/go.mdx index c5b40f679ef4..e32c3038d743 100644 --- a/packages/web/src/content/docs/es/go.mdx +++ b/packages/web/src/content/docs/es/go.mdx @@ -120,7 +120,7 @@ La siguiente tabla proporciona una cantidad estimada de peticiones basada en los | Muse Spark 1.2 Contributor | 45,300 | 113,300 | 226,600 | | Qwen3.8 Max | 160 | 400 | 810 | | Qwen3.8 Flash | 5,400 | 13,500 | 27,000 | -| Qwen3.7 Max | 340 | 840 | 1,690 | +| Qwen3.7 Max | 170 | 420 | 840 | | Qwen3.7 Plus | 4,300 | 10,800 | 21,600 | | Qwen3.6 Plus | 3,300 | 8,200 | 16,300 | | DeepSeek V4 Pro | 1,050 | 2,600 | 5,200 | @@ -178,7 +178,7 @@ Las estimaciones también se basan en los siguientes precios por 1M tokens y en | Muse Spark 1.2 Contributor | $0.10 | $0.20 | $0.002 | - | $60 | | Qwen3.8 Max | $2.00 | $6.00 | $0.25 | $2.50 | $15 | | Qwen3.8 Flash | $0.15 | $0.47 | $0.016 | $0.20 | $30 | -| Qwen3.7 Max | $2.50 | $7.50 | $0.50 | $3.125 | $60 | +| Qwen3.7 Max | $2.50 | $7.50 | $0.50 | $3.125 | $30 | | Qwen3.7 Plus (≤ 256K tokens) | $0.40 | $1.60 | $0.04 | $0.50 | $60 | | Qwen3.7 Plus (> 256K tokens) | $1.20 | $4.80 | $0.12 | $1.50 | $60 | | Qwen3.6 Plus (≤ 256K tokens) | $0.50 | $3.00 | $0.05 | $0.625 | $60 | diff --git a/packages/web/src/content/docs/fr/go.mdx b/packages/web/src/content/docs/fr/go.mdx index f47bf643b11c..6f08343c4ae9 100644 --- a/packages/web/src/content/docs/fr/go.mdx +++ b/packages/web/src/content/docs/fr/go.mdx @@ -110,7 +110,7 @@ Le tableau ci-dessous fournit une estimation du nombre de requêtes basée sur d | Muse Spark 1.2 Contributor | 45,300 | 113,300 | 226,600 | | Qwen3.8 Max | 160 | 400 | 810 | | Qwen3.8 Flash | 5,400 | 13,500 | 27,000 | -| Qwen3.7 Max | 340 | 840 | 1,690 | +| Qwen3.7 Max | 170 | 420 | 840 | | Qwen3.7 Plus | 4,300 | 10,800 | 21,600 | | Qwen3.6 Plus | 3,300 | 8,200 | 16,300 | | DeepSeek V4 Pro | 1,050 | 2,600 | 5,200 | @@ -168,7 +168,7 @@ Les estimations sont également basées sur les prix suivants par 1M tokens et s | Muse Spark 1.2 Contributor | $0.10 | $0.20 | $0.002 | - | $60 | | Qwen3.8 Max | $2.00 | $6.00 | $0.25 | $2.50 | $15 | | Qwen3.8 Flash | $0.15 | $0.47 | $0.016 | $0.20 | $30 | -| Qwen3.7 Max | $2.50 | $7.50 | $0.50 | $3.125 | $60 | +| Qwen3.7 Max | $2.50 | $7.50 | $0.50 | $3.125 | $30 | | Qwen3.7 Plus (≤ 256K tokens) | $0.40 | $1.60 | $0.04 | $0.50 | $60 | | Qwen3.7 Plus (> 256K tokens) | $1.20 | $4.80 | $0.12 | $1.50 | $60 | | Qwen3.6 Plus (≤ 256K tokens) | $0.50 | $3.00 | $0.05 | $0.625 | $60 | diff --git a/packages/web/src/content/docs/go.mdx b/packages/web/src/content/docs/go.mdx index 7ad23efa8bf8..f6430f0c4610 100644 --- a/packages/web/src/content/docs/go.mdx +++ b/packages/web/src/content/docs/go.mdx @@ -132,7 +132,7 @@ The table below provides an estimated request count based on typical Go usage pa | Muse Spark 1.2 Contributor | 45,300 | 113,300 | 226,600 | | Qwen3.8 Max | 160 | 400 | 810 | | Qwen3.8 Flash | 5,400 | 13,500 | 27,000 | -| Qwen3.7 Max | 340 | 840 | 1,690 | +| Qwen3.7 Max | 170 | 420 | 840 | | Qwen3.7 Plus | 4,300 | 10,800 | 21,600 | | Qwen3.6 Plus | 3,300 | 8,200 | 16,300 | | DeepSeek V4 Pro | 1,050 | 2,600 | 5,200 | @@ -190,7 +190,7 @@ The estimates are also based on the following prices per 1M tokens and the month | Muse Spark 1.2 Contributor | $0.10 | $0.20 | $0.002 | - | $60 | | Qwen3.8 Max | $2.00 | $6.00 | $0.25 | $2.50 | $15 | | Qwen3.8 Flash | $0.15 | $0.47 | $0.016 | $0.20 | $30 | -| Qwen3.7 Max | $2.50 | $7.50 | $0.50 | $3.125 | $60 | +| Qwen3.7 Max | $2.50 | $7.50 | $0.50 | $3.125 | $30 | | Qwen3.7 Plus (≤ 256K tokens) | $0.40 | $1.60 | $0.04 | $0.50 | $60 | | Qwen3.7 Plus (> 256K tokens) | $1.20 | $4.80 | $0.12 | $1.50 | $60 | | Qwen3.6 Plus (≤ 256K tokens) | $0.50 | $3.00 | $0.05 | $0.625 | $60 | diff --git a/packages/web/src/content/docs/it/go.mdx b/packages/web/src/content/docs/it/go.mdx index 634a1d89850b..10697cfb944d 100644 --- a/packages/web/src/content/docs/it/go.mdx +++ b/packages/web/src/content/docs/it/go.mdx @@ -118,7 +118,7 @@ La tabella seguente fornisce una stima del conteggio delle richieste in base a p | Muse Spark 1.2 Contributor | 45,300 | 113,300 | 226,600 | | Qwen3.8 Max | 160 | 400 | 810 | | Qwen3.8 Flash | 5,400 | 13,500 | 27,000 | -| Qwen3.7 Max | 340 | 840 | 1,690 | +| Qwen3.7 Max | 170 | 420 | 840 | | Qwen3.7 Plus | 4,300 | 10,800 | 21,600 | | Qwen3.6 Plus | 3,300 | 8,200 | 16,300 | | DeepSeek V4 Pro | 1,050 | 2,600 | 5,200 | @@ -176,7 +176,7 @@ Le stime si basano anche sui seguenti prezzi per 1M token e sull'utilizzo mensil | Muse Spark 1.2 Contributor | $0.10 | $0.20 | $0.002 | - | $60 | | Qwen3.8 Max | $2.00 | $6.00 | $0.25 | $2.50 | $15 | | Qwen3.8 Flash | $0.15 | $0.47 | $0.016 | $0.20 | $30 | -| Qwen3.7 Max | $2.50 | $7.50 | $0.50 | $3.125 | $60 | +| Qwen3.7 Max | $2.50 | $7.50 | $0.50 | $3.125 | $30 | | Qwen3.7 Plus (≤ 256K tokens) | $0.40 | $1.60 | $0.04 | $0.50 | $60 | | Qwen3.7 Plus (> 256K tokens) | $1.20 | $4.80 | $0.12 | $1.50 | $60 | | Qwen3.6 Plus (≤ 256K tokens) | $0.50 | $3.00 | $0.05 | $0.625 | $60 | diff --git a/packages/web/src/content/docs/ja/go.mdx b/packages/web/src/content/docs/ja/go.mdx index fdfbb5ab90c4..e8e83effcc28 100644 --- a/packages/web/src/content/docs/ja/go.mdx +++ b/packages/web/src/content/docs/ja/go.mdx @@ -110,7 +110,7 @@ OpenCode Goには以下の制限が含まれています: | Muse Spark 1.2 Contributor | 45,300 | 113,300 | 226,600 | | Qwen3.8 Max | 160 | 400 | 810 | | Qwen3.8 Flash | 5,400 | 13,500 | 27,000 | -| Qwen3.7 Max | 340 | 840 | 1,690 | +| Qwen3.7 Max | 170 | 420 | 840 | | Qwen3.7 Plus | 4,300 | 10,800 | 21,600 | | Qwen3.6 Plus | 3,300 | 8,200 | 16,300 | | DeepSeek V4 Pro | 1,050 | 2,600 | 5,200 | @@ -168,7 +168,7 @@ OpenCode Goには以下の制限が含まれています: | Muse Spark 1.2 Contributor | $0.10 | $0.20 | $0.002 | - | $60 | | Qwen3.8 Max | $2.00 | $6.00 | $0.25 | $2.50 | $15 | | Qwen3.8 Flash | $0.15 | $0.47 | $0.016 | $0.20 | $30 | -| Qwen3.7 Max | $2.50 | $7.50 | $0.50 | $3.125 | $60 | +| Qwen3.7 Max | $2.50 | $7.50 | $0.50 | $3.125 | $30 | | Qwen3.7 Plus (≤ 256K tokens) | $0.40 | $1.60 | $0.04 | $0.50 | $60 | | Qwen3.7 Plus (> 256K tokens) | $1.20 | $4.80 | $0.12 | $1.50 | $60 | | Qwen3.6 Plus (≤ 256K tokens) | $0.50 | $3.00 | $0.05 | $0.625 | $60 | diff --git a/packages/web/src/content/docs/ko/go.mdx b/packages/web/src/content/docs/ko/go.mdx index 41d6f227d372..5e4857073315 100644 --- a/packages/web/src/content/docs/ko/go.mdx +++ b/packages/web/src/content/docs/ko/go.mdx @@ -110,7 +110,7 @@ OpenCode Go에는 다음과 같은 한도가 포함됩니다. | Muse Spark 1.2 Contributor | 45,300 | 113,300 | 226,600 | | Qwen3.8 Max | 160 | 400 | 810 | | Qwen3.8 Flash | 5,400 | 13,500 | 27,000 | -| Qwen3.7 Max | 340 | 840 | 1,690 | +| Qwen3.7 Max | 170 | 420 | 840 | | Qwen3.7 Plus | 4,300 | 10,800 | 21,600 | | Qwen3.6 Plus | 3,300 | 8,200 | 16,300 | | DeepSeek V4 Pro | 1,050 | 2,600 | 5,200 | @@ -168,7 +168,7 @@ OpenCode Go에는 다음과 같은 한도가 포함됩니다. | Muse Spark 1.2 Contributor | $0.10 | $0.20 | $0.002 | - | $60 | | Qwen3.8 Max | $2.00 | $6.00 | $0.25 | $2.50 | $15 | | Qwen3.8 Flash | $0.15 | $0.47 | $0.016 | $0.20 | $30 | -| Qwen3.7 Max | $2.50 | $7.50 | $0.50 | $3.125 | $60 | +| Qwen3.7 Max | $2.50 | $7.50 | $0.50 | $3.125 | $30 | | Qwen3.7 Plus (≤ 256K tokens) | $0.40 | $1.60 | $0.04 | $0.50 | $60 | | Qwen3.7 Plus (> 256K tokens) | $1.20 | $4.80 | $0.12 | $1.50 | $60 | | Qwen3.6 Plus (≤ 256K tokens) | $0.50 | $3.00 | $0.05 | $0.625 | $60 | diff --git a/packages/web/src/content/docs/nb/go.mdx b/packages/web/src/content/docs/nb/go.mdx index cb802b371d78..6edf6c24e8cc 100644 --- a/packages/web/src/content/docs/nb/go.mdx +++ b/packages/web/src/content/docs/nb/go.mdx @@ -120,7 +120,7 @@ Tabellen nedenfor gir et estimert antall forespørsler basert på typiske bruksm | Muse Spark 1.2 Contributor | 45,300 | 113,300 | 226,600 | | Qwen3.8 Max | 160 | 400 | 810 | | Qwen3.8 Flash | 5,400 | 13,500 | 27,000 | -| Qwen3.7 Max | 340 | 840 | 1,690 | +| Qwen3.7 Max | 170 | 420 | 840 | | Qwen3.7 Plus | 4,300 | 10,800 | 21,600 | | Qwen3.6 Plus | 3,300 | 8,200 | 16,300 | | DeepSeek V4 Pro | 1,050 | 2,600 | 5,200 | @@ -178,7 +178,7 @@ Estimatene er også basert på følgende priser per 1M tokens og den månedlige | Muse Spark 1.2 Contributor | $0.10 | $0.20 | $0.002 | - | $60 | | Qwen3.8 Max | $2.00 | $6.00 | $0.25 | $2.50 | $15 | | Qwen3.8 Flash | $0.15 | $0.47 | $0.016 | $0.20 | $30 | -| Qwen3.7 Max | $2.50 | $7.50 | $0.50 | $3.125 | $60 | +| Qwen3.7 Max | $2.50 | $7.50 | $0.50 | $3.125 | $30 | | Qwen3.7 Plus (≤ 256K tokens) | $0.40 | $1.60 | $0.04 | $0.50 | $60 | | Qwen3.7 Plus (> 256K tokens) | $1.20 | $4.80 | $0.12 | $1.50 | $60 | | Qwen3.6 Plus (≤ 256K tokens) | $0.50 | $3.00 | $0.05 | $0.625 | $60 | diff --git a/packages/web/src/content/docs/pl/go.mdx b/packages/web/src/content/docs/pl/go.mdx index 2acddfffb0b8..7cd50ed39cf1 100644 --- a/packages/web/src/content/docs/pl/go.mdx +++ b/packages/web/src/content/docs/pl/go.mdx @@ -114,7 +114,7 @@ Poniższa tabela przedstawia szacunkową liczbę żądań na podstawie typowych | Muse Spark 1.2 Contributor | 45,300 | 113,300 | 226,600 | | Qwen3.8 Max | 160 | 400 | 810 | | Qwen3.8 Flash | 5,400 | 13,500 | 27,000 | -| Qwen3.7 Max | 340 | 840 | 1,690 | +| Qwen3.7 Max | 170 | 420 | 840 | | Qwen3.7 Plus | 4,300 | 10,800 | 21,600 | | Qwen3.6 Plus | 3,300 | 8,200 | 16,300 | | DeepSeek V4 Pro | 1,050 | 2,600 | 5,200 | @@ -172,7 +172,7 @@ Szacunki opierają się również na następujących cenach za 1M tokenów oraz | Muse Spark 1.2 Contributor | $0.10 | $0.20 | $0.002 | - | $60 | | Qwen3.8 Max | $2.00 | $6.00 | $0.25 | $2.50 | $15 | | Qwen3.8 Flash | $0.15 | $0.47 | $0.016 | $0.20 | $30 | -| Qwen3.7 Max | $2.50 | $7.50 | $0.50 | $3.125 | $60 | +| Qwen3.7 Max | $2.50 | $7.50 | $0.50 | $3.125 | $30 | | Qwen3.7 Plus (≤ 256K tokens) | $0.40 | $1.60 | $0.04 | $0.50 | $60 | | Qwen3.7 Plus (> 256K tokens) | $1.20 | $4.80 | $0.12 | $1.50 | $60 | | Qwen3.6 Plus (≤ 256K tokens) | $0.50 | $3.00 | $0.05 | $0.625 | $60 | diff --git a/packages/web/src/content/docs/pt-br/go.mdx b/packages/web/src/content/docs/pt-br/go.mdx index 291ce76e8f7d..cc0bd44cd4b7 100644 --- a/packages/web/src/content/docs/pt-br/go.mdx +++ b/packages/web/src/content/docs/pt-br/go.mdx @@ -120,7 +120,7 @@ A tabela abaixo fornece uma contagem estimada de requisições com base nos padr | Muse Spark 1.2 Contributor | 45,300 | 113,300 | 226,600 | | Qwen3.8 Max | 160 | 400 | 810 | | Qwen3.8 Flash | 5,400 | 13,500 | 27,000 | -| Qwen3.7 Max | 340 | 840 | 1,690 | +| Qwen3.7 Max | 170 | 420 | 840 | | Qwen3.7 Plus | 4,300 | 10,800 | 21,600 | | Qwen3.6 Plus | 3,300 | 8,200 | 16,300 | | DeepSeek V4 Pro | 1,050 | 2,600 | 5,200 | @@ -178,7 +178,7 @@ As estimativas também se baseiam nos seguintes preços por 1M tokens e no uso m | Muse Spark 1.2 Contributor | $0.10 | $0.20 | $0.002 | - | $60 | | Qwen3.8 Max | $2.00 | $6.00 | $0.25 | $2.50 | $15 | | Qwen3.8 Flash | $0.15 | $0.47 | $0.016 | $0.20 | $30 | -| Qwen3.7 Max | $2.50 | $7.50 | $0.50 | $3.125 | $60 | +| Qwen3.7 Max | $2.50 | $7.50 | $0.50 | $3.125 | $30 | | Qwen3.7 Plus (≤ 256K tokens) | $0.40 | $1.60 | $0.04 | $0.50 | $60 | | Qwen3.7 Plus (> 256K tokens) | $1.20 | $4.80 | $0.12 | $1.50 | $60 | | Qwen3.6 Plus (≤ 256K tokens) | $0.50 | $3.00 | $0.05 | $0.625 | $60 | diff --git a/packages/web/src/content/docs/ru/go.mdx b/packages/web/src/content/docs/ru/go.mdx index f6f04d416230..c8b7e6aba6a5 100644 --- a/packages/web/src/content/docs/ru/go.mdx +++ b/packages/web/src/content/docs/ru/go.mdx @@ -120,7 +120,7 @@ OpenCode Go включает следующие лимиты: | Muse Spark 1.2 Contributor | 45,300 | 113,300 | 226,600 | | Qwen3.8 Max | 160 | 400 | 810 | | Qwen3.8 Flash | 5,400 | 13,500 | 27,000 | -| Qwen3.7 Max | 340 | 840 | 1,690 | +| Qwen3.7 Max | 170 | 420 | 840 | | Qwen3.7 Plus | 4,300 | 10,800 | 21,600 | | Qwen3.6 Plus | 3,300 | 8,200 | 16,300 | | DeepSeek V4 Pro | 1,050 | 2,600 | 5,200 | @@ -178,7 +178,7 @@ OpenCode Go включает следующие лимиты: | Muse Spark 1.2 Contributor | $0.10 | $0.20 | $0.002 | - | $60 | | Qwen3.8 Max | $2.00 | $6.00 | $0.25 | $2.50 | $15 | | Qwen3.8 Flash | $0.15 | $0.47 | $0.016 | $0.20 | $30 | -| Qwen3.7 Max | $2.50 | $7.50 | $0.50 | $3.125 | $60 | +| Qwen3.7 Max | $2.50 | $7.50 | $0.50 | $3.125 | $30 | | Qwen3.7 Plus (≤ 256K tokens) | $0.40 | $1.60 | $0.04 | $0.50 | $60 | | Qwen3.7 Plus (> 256K tokens) | $1.20 | $4.80 | $0.12 | $1.50 | $60 | | Qwen3.6 Plus (≤ 256K tokens) | $0.50 | $3.00 | $0.05 | $0.625 | $60 | diff --git a/packages/web/src/content/docs/th/go.mdx b/packages/web/src/content/docs/th/go.mdx index eb98cda3e073..436c0339fb2c 100644 --- a/packages/web/src/content/docs/th/go.mdx +++ b/packages/web/src/content/docs/th/go.mdx @@ -110,7 +110,7 @@ OpenCode Go มีขีดจำกัดดังต่อไปนี้: | Muse Spark 1.2 Contributor | 45,300 | 113,300 | 226,600 | | Qwen3.8 Max | 160 | 400 | 810 | | Qwen3.8 Flash | 5,400 | 13,500 | 27,000 | -| Qwen3.7 Max | 340 | 840 | 1,690 | +| Qwen3.7 Max | 170 | 420 | 840 | | Qwen3.7 Plus | 4,300 | 10,800 | 21,600 | | Qwen3.6 Plus | 3,300 | 8,200 | 16,300 | | DeepSeek V4 Pro | 1,050 | 2,600 | 5,200 | @@ -168,7 +168,7 @@ OpenCode Go มีขีดจำกัดดังต่อไปนี้: | Muse Spark 1.2 Contributor | $0.10 | $0.20 | $0.002 | - | $60 | | Qwen3.8 Max | $2.00 | $6.00 | $0.25 | $2.50 | $15 | | Qwen3.8 Flash | $0.15 | $0.47 | $0.016 | $0.20 | $30 | -| Qwen3.7 Max | $2.50 | $7.50 | $0.50 | $3.125 | $60 | +| Qwen3.7 Max | $2.50 | $7.50 | $0.50 | $3.125 | $30 | | Qwen3.7 Plus (≤ 256K tokens) | $0.40 | $1.60 | $0.04 | $0.50 | $60 | | Qwen3.7 Plus (> 256K tokens) | $1.20 | $4.80 | $0.12 | $1.50 | $60 | | Qwen3.6 Plus (≤ 256K tokens) | $0.50 | $3.00 | $0.05 | $0.625 | $60 | diff --git a/packages/web/src/content/docs/tr/go.mdx b/packages/web/src/content/docs/tr/go.mdx index c54cd4d800be..7f9ae374699a 100644 --- a/packages/web/src/content/docs/tr/go.mdx +++ b/packages/web/src/content/docs/tr/go.mdx @@ -110,7 +110,7 @@ Aşağıdaki tablo, tipik Go kullanım modellerine dayalı tahmini bir istek say | Muse Spark 1.2 Contributor | 45,300 | 113,300 | 226,600 | | Qwen3.8 Max | 160 | 400 | 810 | | Qwen3.8 Flash | 5,400 | 13,500 | 27,000 | -| Qwen3.7 Max | 340 | 840 | 1,690 | +| Qwen3.7 Max | 170 | 420 | 840 | | Qwen3.7 Plus | 4,300 | 10,800 | 21,600 | | Qwen3.6 Plus | 3,300 | 8,200 | 16,300 | | DeepSeek V4 Pro | 1,050 | 2,600 | 5,200 | @@ -168,7 +168,7 @@ Tahminler ayrıca 1M token başına aşağıdaki fiyatlara ve her modelle birlik | Muse Spark 1.2 Contributor | $0.10 | $0.20 | $0.002 | - | $60 | | Qwen3.8 Max | $2.00 | $6.00 | $0.25 | $2.50 | $15 | | Qwen3.8 Flash | $0.15 | $0.47 | $0.016 | $0.20 | $30 | -| Qwen3.7 Max | $2.50 | $7.50 | $0.50 | $3.125 | $60 | +| Qwen3.7 Max | $2.50 | $7.50 | $0.50 | $3.125 | $30 | | Qwen3.7 Plus (≤ 256K tokens) | $0.40 | $1.60 | $0.04 | $0.50 | $60 | | Qwen3.7 Plus (> 256K tokens) | $1.20 | $4.80 | $0.12 | $1.50 | $60 | | Qwen3.6 Plus (≤ 256K tokens) | $0.50 | $3.00 | $0.05 | $0.625 | $60 | diff --git a/packages/web/src/content/docs/zh-cn/go.mdx b/packages/web/src/content/docs/zh-cn/go.mdx index 6cdada1776fb..35fe8356af68 100644 --- a/packages/web/src/content/docs/zh-cn/go.mdx +++ b/packages/web/src/content/docs/zh-cn/go.mdx @@ -110,7 +110,7 @@ OpenCode Go 包含以下限制: | Muse Spark 1.2 Contributor | 45,300 | 113,300 | 226,600 | | Qwen3.8 Max | 160 | 400 | 810 | | Qwen3.8 Flash | 5,400 | 13,500 | 27,000 | -| Qwen3.7 Max | 340 | 840 | 1,690 | +| Qwen3.7 Max | 170 | 420 | 840 | | Qwen3.7 Plus | 4,300 | 10,800 | 21,600 | | Qwen3.6 Plus | 3,300 | 8,200 | 16,300 | | DeepSeek V4 Pro | 1,050 | 2,600 | 5,200 | @@ -168,7 +168,7 @@ OpenCode Go 包含以下限制: | Muse Spark 1.2 Contributor | $0.10 | $0.20 | $0.002 | - | $60 | | Qwen3.8 Max | $2.00 | $6.00 | $0.25 | $2.50 | $15 | | Qwen3.8 Flash | $0.15 | $0.47 | $0.016 | $0.20 | $30 | -| Qwen3.7 Max | $2.50 | $7.50 | $0.50 | $3.125 | $60 | +| Qwen3.7 Max | $2.50 | $7.50 | $0.50 | $3.125 | $30 | | Qwen3.7 Plus (≤ 256K tokens) | $0.40 | $1.60 | $0.04 | $0.50 | $60 | | Qwen3.7 Plus (> 256K tokens) | $1.20 | $4.80 | $0.12 | $1.50 | $60 | | Qwen3.6 Plus (≤ 256K tokens) | $0.50 | $3.00 | $0.05 | $0.625 | $60 | diff --git a/packages/web/src/content/docs/zh-tw/go.mdx b/packages/web/src/content/docs/zh-tw/go.mdx index 010715b8049b..edf39e593095 100644 --- a/packages/web/src/content/docs/zh-tw/go.mdx +++ b/packages/web/src/content/docs/zh-tw/go.mdx @@ -110,7 +110,7 @@ OpenCode Go 包含以下限制: | Muse Spark 1.2 Contributor | 45,300 | 113,300 | 226,600 | | Qwen3.8 Max | 160 | 400 | 810 | | Qwen3.8 Flash | 5,400 | 13,500 | 27,000 | -| Qwen3.7 Max | 340 | 840 | 1,690 | +| Qwen3.7 Max | 170 | 420 | 840 | | Qwen3.7 Plus | 4,300 | 10,800 | 21,600 | | Qwen3.6 Plus | 3,300 | 8,200 | 16,300 | | DeepSeek V4 Pro | 1,050 | 2,600 | 5,200 | @@ -168,7 +168,7 @@ OpenCode Go 包含以下限制: | Muse Spark 1.2 Contributor | $0.10 | $0.20 | $0.002 | - | $60 | | Qwen3.8 Max | $2.00 | $6.00 | $0.25 | $2.50 | $15 | | Qwen3.8 Flash | $0.15 | $0.47 | $0.016 | $0.20 | $30 | -| Qwen3.7 Max | $2.50 | $7.50 | $0.50 | $3.125 | $60 | +| Qwen3.7 Max | $2.50 | $7.50 | $0.50 | $3.125 | $30 | | Qwen3.7 Plus (≤ 256K tokens) | $0.40 | $1.60 | $0.04 | $0.50 | $60 | | Qwen3.7 Plus (> 256K tokens) | $1.20 | $4.80 | $0.12 | $1.50 | $60 | | Qwen3.6 Plus (≤ 256K tokens) | $0.50 | $3.00 | $0.05 | $0.625 | $60 | From 5341a5e442679f96fe152aac91c31509f4dd5430 Mon Sep 17 00:00:00 2001 From: Victor Navarro Date: Tue, 1 Sep 2026 18:20:52 +0200 Subject: [PATCH 20/39] feat(console): add workspace migration timestamp (#46627) --- .../migration.sql | 1 + .../snapshot.json | 3259 +++++++++++++++++ .../console/core/src/schema/workspace.sql.ts | 3 +- 3 files changed, 3262 insertions(+), 1 deletion(-) create mode 100644 packages/console/core/migrations/20260901161032_workspace_migrated_at/migration.sql create mode 100644 packages/console/core/migrations/20260901161032_workspace_migrated_at/snapshot.json diff --git a/packages/console/core/migrations/20260901161032_workspace_migrated_at/migration.sql b/packages/console/core/migrations/20260901161032_workspace_migrated_at/migration.sql new file mode 100644 index 000000000000..87918c7305f5 --- /dev/null +++ b/packages/console/core/migrations/20260901161032_workspace_migrated_at/migration.sql @@ -0,0 +1 @@ +ALTER TABLE `workspace` ADD `migrated_at` timestamp(3); diff --git a/packages/console/core/migrations/20260901161032_workspace_migrated_at/snapshot.json b/packages/console/core/migrations/20260901161032_workspace_migrated_at/snapshot.json new file mode 100644 index 000000000000..1f19f7df0524 --- /dev/null +++ b/packages/console/core/migrations/20260901161032_workspace_migrated_at/snapshot.json @@ -0,0 +1,3259 @@ +{ + "version": "6", + "dialect": "mysql", + "id": "3e952a24-4137-4944-b7fa-e39e71061235", + "prevIds": [ + "e365c1d7-fb02-44ad-b681-87bb51d01964" + ], + "ddl": [ + { + "name": "account", + "entityType": "tables" + }, + { + "name": "auth", + "entityType": "tables" + }, + { + "name": "benchmark", + "entityType": "tables" + }, + { + "name": "billing", + "entityType": "tables" + }, + { + "name": "coupon", + "entityType": "tables" + }, + { + "name": "lite", + "entityType": "tables" + }, + { + "name": "payment", + "entityType": "tables" + }, + { + "name": "subscription", + "entityType": "tables" + }, + { + "name": "usage", + "entityType": "tables" + }, + { + "name": "ip_rate_limit", + "entityType": "tables" + }, + { + "name": "ip", + "entityType": "tables" + }, + { + "name": "key_rate_limit", + "entityType": "tables" + }, + { + "name": "model_sticky_provider", + "entityType": "tables" + }, + { + "name": "model_tpm_rate_limit", + "entityType": "tables" + }, + { + "name": "model_tps_rate_limit", + "entityType": "tables" + }, + { + "name": "key", + "entityType": "tables" + }, + { + "name": "model", + "entityType": "tables" + }, + { + "name": "provider", + "entityType": "tables" + }, + { + "name": "referral_code", + "entityType": "tables" + }, + { + "name": "referral_reward", + "entityType": "tables" + }, + { + "name": "referral", + "entityType": "tables" + }, + { + "name": "user", + "entityType": "tables" + }, + { + "name": "workspace", + "entityType": "tables" + }, + { + "type": "varchar(30)", + "notNull": true, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "id", + "entityType": "columns", + "table": "account" + }, + { + "type": "timestamp(3)", + "notNull": true, + "autoIncrement": false, + "default": "(now())", + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "time_created", + "entityType": "columns", + "table": "account" + }, + { + "type": "timestamp(3)", + "notNull": true, + "autoIncrement": false, + "default": "(CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3))", + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "time_updated", + "entityType": "columns", + "table": "account" + }, + { + "type": "timestamp(3)", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "time_deleted", + "entityType": "columns", + "table": "account" + }, + { + "type": "varchar(30)", + "notNull": true, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "id", + "entityType": "columns", + "table": "auth" + }, + { + "type": "timestamp(3)", + "notNull": true, + "autoIncrement": false, + "default": "(now())", + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "time_created", + "entityType": "columns", + "table": "auth" + }, + { + "type": "timestamp(3)", + "notNull": true, + "autoIncrement": false, + "default": "(CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3))", + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "time_updated", + "entityType": "columns", + "table": "auth" + }, + { + "type": "timestamp(3)", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "time_deleted", + "entityType": "columns", + "table": "auth" + }, + { + "type": "enum('email','github','google')", + "notNull": true, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "provider", + "entityType": "columns", + "table": "auth" + }, + { + "type": "varchar(255)", + "notNull": true, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "subject", + "entityType": "columns", + "table": "auth" + }, + { + "type": "varchar(30)", + "notNull": true, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "account_id", + "entityType": "columns", + "table": "auth" + }, + { + "type": "varchar(30)", + "notNull": true, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "id", + "entityType": "columns", + "table": "benchmark" + }, + { + "type": "timestamp(3)", + "notNull": true, + "autoIncrement": false, + "default": "(now())", + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "time_created", + "entityType": "columns", + "table": "benchmark" + }, + { + "type": "timestamp(3)", + "notNull": true, + "autoIncrement": false, + "default": "(CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3))", + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "time_updated", + "entityType": "columns", + "table": "benchmark" + }, + { + "type": "timestamp(3)", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "time_deleted", + "entityType": "columns", + "table": "benchmark" + }, + { + "type": "varchar(64)", + "notNull": true, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "model", + "entityType": "columns", + "table": "benchmark" + }, + { + "type": "varchar(64)", + "notNull": true, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "agent", + "entityType": "columns", + "table": "benchmark" + }, + { + "type": "mediumtext", + "notNull": true, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "result", + "entityType": "columns", + "table": "benchmark" + }, + { + "type": "varchar(30)", + "notNull": true, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "id", + "entityType": "columns", + "table": "billing" + }, + { + "type": "varchar(30)", + "notNull": true, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "workspace_id", + "entityType": "columns", + "table": "billing" + }, + { + "type": "timestamp(3)", + "notNull": true, + "autoIncrement": false, + "default": "(now())", + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "time_created", + "entityType": "columns", + "table": "billing" + }, + { + "type": "timestamp(3)", + "notNull": true, + "autoIncrement": false, + "default": "(CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3))", + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "time_updated", + "entityType": "columns", + "table": "billing" + }, + { + "type": "timestamp(3)", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "time_deleted", + "entityType": "columns", + "table": "billing" + }, + { + "type": "varchar(255)", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "customer_id", + "entityType": "columns", + "table": "billing" + }, + { + "type": "varchar(255)", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "payment_method_id", + "entityType": "columns", + "table": "billing" + }, + { + "type": "varchar(32)", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "payment_method_type", + "entityType": "columns", + "table": "billing" + }, + { + "type": "varchar(4)", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "payment_method_last4", + "entityType": "columns", + "table": "billing" + }, + { + "type": "bigint", + "notNull": true, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "balance", + "entityType": "columns", + "table": "billing" + }, + { + "type": "int", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "monthly_limit", + "entityType": "columns", + "table": "billing" + }, + { + "type": "bigint", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "monthly_usage", + "entityType": "columns", + "table": "billing" + }, + { + "type": "timestamp(3)", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "time_monthly_usage_updated", + "entityType": "columns", + "table": "billing" + }, + { + "type": "boolean", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "reload", + "entityType": "columns", + "table": "billing" + }, + { + "type": "int", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "reload_trigger", + "entityType": "columns", + "table": "billing" + }, + { + "type": "int", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "reload_amount", + "entityType": "columns", + "table": "billing" + }, + { + "type": "varchar(255)", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "reload_error", + "entityType": "columns", + "table": "billing" + }, + { + "type": "timestamp(3)", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "time_reload_error", + "entityType": "columns", + "table": "billing" + }, + { + "type": "timestamp(3)", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "time_reload_locked_till", + "entityType": "columns", + "table": "billing" + }, + { + "type": "json", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "subscription", + "entityType": "columns", + "table": "billing" + }, + { + "type": "varchar(28)", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "subscription_id", + "entityType": "columns", + "table": "billing" + }, + { + "type": "enum('20','100','200')", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "subscription_plan", + "entityType": "columns", + "table": "billing" + }, + { + "type": "timestamp(3)", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "time_subscription_booked", + "entityType": "columns", + "table": "billing" + }, + { + "type": "timestamp(3)", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "time_subscription_selected", + "entityType": "columns", + "table": "billing" + }, + { + "type": "varchar(28)", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "lite_subscription_id", + "entityType": "columns", + "table": "billing" + }, + { + "type": "json", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "lite", + "entityType": "columns", + "table": "billing" + }, + { + "type": "varchar(255)", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "email", + "entityType": "columns", + "table": "coupon" + }, + { + "type": "enum('BUILDATHON','GO1MONTH50','GOFREEMONTH','GO3MONTHS100','GO6MONTHS100','GO12MONTHS100')", + "notNull": true, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "type", + "entityType": "columns", + "table": "coupon" + }, + { + "type": "timestamp(3)", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "time_redeemed", + "entityType": "columns", + "table": "coupon" + }, + { + "type": "varchar(30)", + "notNull": true, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "id", + "entityType": "columns", + "table": "lite" + }, + { + "type": "varchar(30)", + "notNull": true, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "workspace_id", + "entityType": "columns", + "table": "lite" + }, + { + "type": "timestamp(3)", + "notNull": true, + "autoIncrement": false, + "default": "(now())", + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "time_created", + "entityType": "columns", + "table": "lite" + }, + { + "type": "timestamp(3)", + "notNull": true, + "autoIncrement": false, + "default": "(CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3))", + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "time_updated", + "entityType": "columns", + "table": "lite" + }, + { + "type": "timestamp(3)", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "time_deleted", + "entityType": "columns", + "table": "lite" + }, + { + "type": "varchar(30)", + "notNull": true, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "user_id", + "entityType": "columns", + "table": "lite" + }, + { + "type": "bigint", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "rolling_usage", + "entityType": "columns", + "table": "lite" + }, + { + "type": "bigint", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "weekly_usage", + "entityType": "columns", + "table": "lite" + }, + { + "type": "bigint", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "monthly_usage", + "entityType": "columns", + "table": "lite" + }, + { + "type": "timestamp(3)", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "time_rolling_updated", + "entityType": "columns", + "table": "lite" + }, + { + "type": "timestamp(3)", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "time_weekly_updated", + "entityType": "columns", + "table": "lite" + }, + { + "type": "timestamp(3)", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "time_monthly_updated", + "entityType": "columns", + "table": "lite" + }, + { + "type": "varchar(30)", + "notNull": true, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "id", + "entityType": "columns", + "table": "payment" + }, + { + "type": "varchar(30)", + "notNull": true, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "workspace_id", + "entityType": "columns", + "table": "payment" + }, + { + "type": "timestamp(3)", + "notNull": true, + "autoIncrement": false, + "default": "(now())", + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "time_created", + "entityType": "columns", + "table": "payment" + }, + { + "type": "timestamp(3)", + "notNull": true, + "autoIncrement": false, + "default": "(CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3))", + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "time_updated", + "entityType": "columns", + "table": "payment" + }, + { + "type": "timestamp(3)", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "time_deleted", + "entityType": "columns", + "table": "payment" + }, + { + "type": "varchar(255)", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "customer_id", + "entityType": "columns", + "table": "payment" + }, + { + "type": "varchar(255)", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "invoice_id", + "entityType": "columns", + "table": "payment" + }, + { + "type": "varchar(255)", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "payment_id", + "entityType": "columns", + "table": "payment" + }, + { + "type": "bigint", + "notNull": true, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "amount", + "entityType": "columns", + "table": "payment" + }, + { + "type": "timestamp(3)", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "time_refunded", + "entityType": "columns", + "table": "payment" + }, + { + "type": "json", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "enrichment", + "entityType": "columns", + "table": "payment" + }, + { + "type": "varchar(30)", + "notNull": true, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "id", + "entityType": "columns", + "table": "subscription" + }, + { + "type": "varchar(30)", + "notNull": true, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "workspace_id", + "entityType": "columns", + "table": "subscription" + }, + { + "type": "timestamp(3)", + "notNull": true, + "autoIncrement": false, + "default": "(now())", + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "time_created", + "entityType": "columns", + "table": "subscription" + }, + { + "type": "timestamp(3)", + "notNull": true, + "autoIncrement": false, + "default": "(CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3))", + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "time_updated", + "entityType": "columns", + "table": "subscription" + }, + { + "type": "timestamp(3)", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "time_deleted", + "entityType": "columns", + "table": "subscription" + }, + { + "type": "varchar(30)", + "notNull": true, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "user_id", + "entityType": "columns", + "table": "subscription" + }, + { + "type": "bigint", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "rolling_usage", + "entityType": "columns", + "table": "subscription" + }, + { + "type": "bigint", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "fixed_usage", + "entityType": "columns", + "table": "subscription" + }, + { + "type": "timestamp(3)", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "time_rolling_updated", + "entityType": "columns", + "table": "subscription" + }, + { + "type": "timestamp(3)", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "time_fixed_updated", + "entityType": "columns", + "table": "subscription" + }, + { + "type": "varchar(30)", + "notNull": true, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "id", + "entityType": "columns", + "table": "usage" + }, + { + "type": "varchar(30)", + "notNull": true, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "workspace_id", + "entityType": "columns", + "table": "usage" + }, + { + "type": "timestamp(3)", + "notNull": true, + "autoIncrement": false, + "default": "(now())", + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "time_created", + "entityType": "columns", + "table": "usage" + }, + { + "type": "timestamp(3)", + "notNull": true, + "autoIncrement": false, + "default": "(CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3))", + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "time_updated", + "entityType": "columns", + "table": "usage" + }, + { + "type": "timestamp(3)", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "time_deleted", + "entityType": "columns", + "table": "usage" + }, + { + "type": "varchar(255)", + "notNull": true, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "model", + "entityType": "columns", + "table": "usage" + }, + { + "type": "varchar(255)", + "notNull": true, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "provider", + "entityType": "columns", + "table": "usage" + }, + { + "type": "int", + "notNull": true, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "input_tokens", + "entityType": "columns", + "table": "usage" + }, + { + "type": "int", + "notNull": true, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "output_tokens", + "entityType": "columns", + "table": "usage" + }, + { + "type": "int", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "reasoning_tokens", + "entityType": "columns", + "table": "usage" + }, + { + "type": "int", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "cache_read_tokens", + "entityType": "columns", + "table": "usage" + }, + { + "type": "int", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "cache_write_5m_tokens", + "entityType": "columns", + "table": "usage" + }, + { + "type": "int", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "cache_write_1h_tokens", + "entityType": "columns", + "table": "usage" + }, + { + "type": "bigint", + "notNull": true, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "cost", + "entityType": "columns", + "table": "usage" + }, + { + "type": "varchar(30)", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "key_id", + "entityType": "columns", + "table": "usage" + }, + { + "type": "varchar(30)", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "session_id", + "entityType": "columns", + "table": "usage" + }, + { + "type": "json", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "enrichment", + "entityType": "columns", + "table": "usage" + }, + { + "type": "varchar(45)", + "notNull": true, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "ip", + "entityType": "columns", + "table": "ip_rate_limit" + }, + { + "type": "varchar(10)", + "notNull": true, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "interval", + "entityType": "columns", + "table": "ip_rate_limit" + }, + { + "type": "int", + "notNull": true, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "count", + "entityType": "columns", + "table": "ip_rate_limit" + }, + { + "type": "varchar(45)", + "notNull": true, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "ip", + "entityType": "columns", + "table": "ip" + }, + { + "type": "timestamp(3)", + "notNull": true, + "autoIncrement": false, + "default": "(now())", + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "time_created", + "entityType": "columns", + "table": "ip" + }, + { + "type": "timestamp(3)", + "notNull": true, + "autoIncrement": false, + "default": "(CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3))", + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "time_updated", + "entityType": "columns", + "table": "ip" + }, + { + "type": "timestamp(3)", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "time_deleted", + "entityType": "columns", + "table": "ip" + }, + { + "type": "int", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "usage", + "entityType": "columns", + "table": "ip" + }, + { + "type": "varchar(255)", + "notNull": true, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "key", + "entityType": "columns", + "table": "key_rate_limit" + }, + { + "type": "varchar(40)", + "notNull": true, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "interval", + "entityType": "columns", + "table": "key_rate_limit" + }, + { + "type": "int", + "notNull": true, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "count", + "entityType": "columns", + "table": "key_rate_limit" + }, + { + "type": "varchar(255)", + "notNull": true, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "id", + "entityType": "columns", + "table": "model_sticky_provider" + }, + { + "type": "timestamp(3)", + "notNull": true, + "autoIncrement": false, + "default": "(now())", + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "time_created", + "entityType": "columns", + "table": "model_sticky_provider" + }, + { + "type": "timestamp(3)", + "notNull": true, + "autoIncrement": false, + "default": "(CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3))", + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "time_updated", + "entityType": "columns", + "table": "model_sticky_provider" + }, + { + "type": "timestamp(3)", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "time_deleted", + "entityType": "columns", + "table": "model_sticky_provider" + }, + { + "type": "varchar(255)", + "notNull": true, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "provider_id", + "entityType": "columns", + "table": "model_sticky_provider" + }, + { + "type": "varchar(255)", + "notNull": true, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "id", + "entityType": "columns", + "table": "model_tpm_rate_limit" + }, + { + "type": "bigint", + "notNull": true, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "interval", + "entityType": "columns", + "table": "model_tpm_rate_limit" + }, + { + "type": "int", + "notNull": true, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "count", + "entityType": "columns", + "table": "model_tpm_rate_limit" + }, + { + "type": "varchar(255)", + "notNull": true, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "id", + "entityType": "columns", + "table": "model_tps_rate_limit" + }, + { + "type": "bigint", + "notNull": true, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "interval", + "entityType": "columns", + "table": "model_tps_rate_limit" + }, + { + "type": "int", + "notNull": true, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "qualify", + "entityType": "columns", + "table": "model_tps_rate_limit" + }, + { + "type": "int", + "notNull": true, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "unqualify", + "entityType": "columns", + "table": "model_tps_rate_limit" + }, + { + "type": "varchar(30)", + "notNull": true, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "id", + "entityType": "columns", + "table": "key" + }, + { + "type": "varchar(30)", + "notNull": true, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "workspace_id", + "entityType": "columns", + "table": "key" + }, + { + "type": "timestamp(3)", + "notNull": true, + "autoIncrement": false, + "default": "(now())", + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "time_created", + "entityType": "columns", + "table": "key" + }, + { + "type": "timestamp(3)", + "notNull": true, + "autoIncrement": false, + "default": "(CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3))", + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "time_updated", + "entityType": "columns", + "table": "key" + }, + { + "type": "timestamp(3)", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "time_deleted", + "entityType": "columns", + "table": "key" + }, + { + "type": "varchar(255)", + "notNull": true, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "name", + "entityType": "columns", + "table": "key" + }, + { + "type": "varchar(255)", + "notNull": true, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "key", + "entityType": "columns", + "table": "key" + }, + { + "type": "varchar(30)", + "notNull": true, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "user_id", + "entityType": "columns", + "table": "key" + }, + { + "type": "timestamp(3)", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "time_used", + "entityType": "columns", + "table": "key" + }, + { + "type": "varchar(30)", + "notNull": true, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "id", + "entityType": "columns", + "table": "model" + }, + { + "type": "varchar(30)", + "notNull": true, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "workspace_id", + "entityType": "columns", + "table": "model" + }, + { + "type": "timestamp(3)", + "notNull": true, + "autoIncrement": false, + "default": "(now())", + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "time_created", + "entityType": "columns", + "table": "model" + }, + { + "type": "timestamp(3)", + "notNull": true, + "autoIncrement": false, + "default": "(CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3))", + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "time_updated", + "entityType": "columns", + "table": "model" + }, + { + "type": "timestamp(3)", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "time_deleted", + "entityType": "columns", + "table": "model" + }, + { + "type": "varchar(64)", + "notNull": true, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "model", + "entityType": "columns", + "table": "model" + }, + { + "type": "varchar(30)", + "notNull": true, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "id", + "entityType": "columns", + "table": "provider" + }, + { + "type": "varchar(30)", + "notNull": true, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "workspace_id", + "entityType": "columns", + "table": "provider" + }, + { + "type": "timestamp(3)", + "notNull": true, + "autoIncrement": false, + "default": "(now())", + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "time_created", + "entityType": "columns", + "table": "provider" + }, + { + "type": "timestamp(3)", + "notNull": true, + "autoIncrement": false, + "default": "(CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3))", + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "time_updated", + "entityType": "columns", + "table": "provider" + }, + { + "type": "timestamp(3)", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "time_deleted", + "entityType": "columns", + "table": "provider" + }, + { + "type": "varchar(64)", + "notNull": true, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "provider", + "entityType": "columns", + "table": "provider" + }, + { + "type": "text", + "notNull": true, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "credentials", + "entityType": "columns", + "table": "provider" + }, + { + "type": "varchar(30)", + "notNull": true, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "workspace_id", + "entityType": "columns", + "table": "referral_code" + }, + { + "type": "varchar(10)", + "notNull": true, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "code", + "entityType": "columns", + "table": "referral_code" + }, + { + "type": "timestamp(3)", + "notNull": true, + "autoIncrement": false, + "default": "(now())", + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "time_created", + "entityType": "columns", + "table": "referral_code" + }, + { + "type": "timestamp(3)", + "notNull": true, + "autoIncrement": false, + "default": "(CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3))", + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "time_updated", + "entityType": "columns", + "table": "referral_code" + }, + { + "type": "timestamp(3)", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "time_deleted", + "entityType": "columns", + "table": "referral_code" + }, + { + "type": "varchar(30)", + "notNull": true, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "workspace_id", + "entityType": "columns", + "table": "referral_reward" + }, + { + "type": "varchar(30)", + "notNull": true, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "referral_id", + "entityType": "columns", + "table": "referral_reward" + }, + { + "type": "timestamp(3)", + "notNull": true, + "autoIncrement": false, + "default": "(now())", + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "time_created", + "entityType": "columns", + "table": "referral_reward" + }, + { + "type": "timestamp(3)", + "notNull": true, + "autoIncrement": false, + "default": "(CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3))", + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "time_updated", + "entityType": "columns", + "table": "referral_reward" + }, + { + "type": "timestamp(3)", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "time_deleted", + "entityType": "columns", + "table": "referral_reward" + }, + { + "type": "bigint", + "notNull": true, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "amount", + "entityType": "columns", + "table": "referral_reward" + }, + { + "type": "timestamp(3)", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "time_applied", + "entityType": "columns", + "table": "referral_reward" + }, + { + "type": "varchar(30)", + "notNull": true, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "id", + "entityType": "columns", + "table": "referral" + }, + { + "type": "varchar(30)", + "notNull": true, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "workspace_id", + "entityType": "columns", + "table": "referral" + }, + { + "type": "timestamp(3)", + "notNull": true, + "autoIncrement": false, + "default": "(now())", + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "time_created", + "entityType": "columns", + "table": "referral" + }, + { + "type": "timestamp(3)", + "notNull": true, + "autoIncrement": false, + "default": "(CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3))", + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "time_updated", + "entityType": "columns", + "table": "referral" + }, + { + "type": "timestamp(3)", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "time_deleted", + "entityType": "columns", + "table": "referral" + }, + { + "type": "varchar(30)", + "notNull": true, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "invitee_account_id", + "entityType": "columns", + "table": "referral" + }, + { + "type": "varchar(30)", + "notNull": true, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "id", + "entityType": "columns", + "table": "user" + }, + { + "type": "varchar(30)", + "notNull": true, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "workspace_id", + "entityType": "columns", + "table": "user" + }, + { + "type": "timestamp(3)", + "notNull": true, + "autoIncrement": false, + "default": "(now())", + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "time_created", + "entityType": "columns", + "table": "user" + }, + { + "type": "timestamp(3)", + "notNull": true, + "autoIncrement": false, + "default": "(CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3))", + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "time_updated", + "entityType": "columns", + "table": "user" + }, + { + "type": "timestamp(3)", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "time_deleted", + "entityType": "columns", + "table": "user" + }, + { + "type": "varchar(30)", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "account_id", + "entityType": "columns", + "table": "user" + }, + { + "type": "varchar(255)", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "email", + "entityType": "columns", + "table": "user" + }, + { + "type": "varchar(255)", + "notNull": true, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "name", + "entityType": "columns", + "table": "user" + }, + { + "type": "timestamp(3)", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "time_seen", + "entityType": "columns", + "table": "user" + }, + { + "type": "int", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "color", + "entityType": "columns", + "table": "user" + }, + { + "type": "enum('admin','member')", + "notNull": true, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "role", + "entityType": "columns", + "table": "user" + }, + { + "type": "int", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "monthly_limit", + "entityType": "columns", + "table": "user" + }, + { + "type": "bigint", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "monthly_usage", + "entityType": "columns", + "table": "user" + }, + { + "type": "timestamp(3)", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "time_monthly_usage_updated", + "entityType": "columns", + "table": "user" + }, + { + "type": "varchar(30)", + "notNull": true, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "id", + "entityType": "columns", + "table": "workspace" + }, + { + "type": "varchar(255)", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "slug", + "entityType": "columns", + "table": "workspace" + }, + { + "type": "varchar(255)", + "notNull": true, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "name", + "entityType": "columns", + "table": "workspace" + }, + { + "type": "json", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "region", + "entityType": "columns", + "table": "workspace" + }, + { + "type": "boolean", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "allow_training", + "entityType": "columns", + "table": "workspace" + }, + { + "type": "boolean", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "is_blocked", + "entityType": "columns", + "table": "workspace" + }, + { + "type": "boolean", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "is_flagged_by_anthropic", + "entityType": "columns", + "table": "workspace" + }, + { + "type": "boolean", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "is_flagged_by_openai", + "entityType": "columns", + "table": "workspace" + }, + { + "type": "timestamp(3)", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "migrated_at", + "entityType": "columns", + "table": "workspace" + }, + { + "type": "timestamp(3)", + "notNull": true, + "autoIncrement": false, + "default": "(now())", + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "time_created", + "entityType": "columns", + "table": "workspace" + }, + { + "type": "timestamp(3)", + "notNull": true, + "autoIncrement": false, + "default": "(CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3))", + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "time_updated", + "entityType": "columns", + "table": "workspace" + }, + { + "type": "timestamp(3)", + "notNull": false, + "autoIncrement": false, + "default": null, + "onUpdateNow": false, + "onUpdateNowFsp": null, + "charSet": null, + "collation": null, + "generated": null, + "name": "time_deleted", + "entityType": "columns", + "table": "workspace" + }, + { + "columns": [ + "id" + ], + "name": "PRIMARY", + "table": "account", + "entityType": "pks" + }, + { + "columns": [ + "id" + ], + "name": "PRIMARY", + "table": "auth", + "entityType": "pks" + }, + { + "columns": [ + "id" + ], + "name": "PRIMARY", + "table": "benchmark", + "entityType": "pks" + }, + { + "columns": [ + "workspace_id", + "id" + ], + "name": "PRIMARY", + "table": "billing", + "entityType": "pks" + }, + { + "columns": [ + "email", + "type" + ], + "name": "PRIMARY", + "table": "coupon", + "entityType": "pks" + }, + { + "columns": [ + "workspace_id", + "id" + ], + "name": "PRIMARY", + "table": "lite", + "entityType": "pks" + }, + { + "columns": [ + "workspace_id", + "id" + ], + "name": "PRIMARY", + "table": "payment", + "entityType": "pks" + }, + { + "columns": [ + "workspace_id", + "id" + ], + "name": "PRIMARY", + "table": "subscription", + "entityType": "pks" + }, + { + "columns": [ + "workspace_id", + "id" + ], + "name": "PRIMARY", + "table": "usage", + "entityType": "pks" + }, + { + "columns": [ + "ip", + "interval" + ], + "name": "PRIMARY", + "table": "ip_rate_limit", + "entityType": "pks" + }, + { + "columns": [ + "ip" + ], + "name": "PRIMARY", + "table": "ip", + "entityType": "pks" + }, + { + "columns": [ + "key", + "interval" + ], + "name": "PRIMARY", + "table": "key_rate_limit", + "entityType": "pks" + }, + { + "columns": [ + "id" + ], + "name": "PRIMARY", + "table": "model_sticky_provider", + "entityType": "pks" + }, + { + "columns": [ + "id", + "interval" + ], + "name": "PRIMARY", + "table": "model_tpm_rate_limit", + "entityType": "pks" + }, + { + "columns": [ + "id", + "interval" + ], + "name": "PRIMARY", + "table": "model_tps_rate_limit", + "entityType": "pks" + }, + { + "columns": [ + "workspace_id", + "id" + ], + "name": "PRIMARY", + "table": "key", + "entityType": "pks" + }, + { + "columns": [ + "workspace_id", + "id" + ], + "name": "PRIMARY", + "table": "model", + "entityType": "pks" + }, + { + "columns": [ + "workspace_id", + "id" + ], + "name": "PRIMARY", + "table": "provider", + "entityType": "pks" + }, + { + "columns": [ + "workspace_id" + ], + "name": "PRIMARY", + "table": "referral_code", + "entityType": "pks" + }, + { + "columns": [ + "workspace_id", + "referral_id" + ], + "name": "PRIMARY", + "table": "referral_reward", + "entityType": "pks" + }, + { + "columns": [ + "workspace_id", + "id" + ], + "name": "PRIMARY", + "table": "referral", + "entityType": "pks" + }, + { + "columns": [ + "workspace_id", + "id" + ], + "name": "PRIMARY", + "table": "user", + "entityType": "pks" + }, + { + "columns": [ + "id" + ], + "name": "PRIMARY", + "table": "workspace", + "entityType": "pks" + }, + { + "columns": [ + { + "value": "provider", + "isExpression": false + }, + { + "value": "subject", + "isExpression": false + } + ], + "isUnique": true, + "using": null, + "algorithm": null, + "lock": null, + "nameExplicit": true, + "name": "provider", + "entityType": "indexes", + "table": "auth" + }, + { + "columns": [ + { + "value": "account_id", + "isExpression": false + } + ], + "isUnique": false, + "using": null, + "algorithm": null, + "lock": null, + "nameExplicit": true, + "name": "account_id", + "entityType": "indexes", + "table": "auth" + }, + { + "columns": [ + { + "value": "time_created", + "isExpression": false + } + ], + "isUnique": false, + "using": null, + "algorithm": null, + "lock": null, + "nameExplicit": true, + "name": "time_created", + "entityType": "indexes", + "table": "benchmark" + }, + { + "columns": [ + { + "value": "customer_id", + "isExpression": false + } + ], + "isUnique": true, + "using": null, + "algorithm": null, + "lock": null, + "nameExplicit": true, + "name": "global_customer_id", + "entityType": "indexes", + "table": "billing" + }, + { + "columns": [ + { + "value": "subscription_id", + "isExpression": false + } + ], + "isUnique": true, + "using": null, + "algorithm": null, + "lock": null, + "nameExplicit": true, + "name": "global_subscription_id", + "entityType": "indexes", + "table": "billing" + }, + { + "columns": [ + { + "value": "lite_subscription_id", + "isExpression": false + } + ], + "isUnique": true, + "using": null, + "algorithm": null, + "lock": null, + "nameExplicit": true, + "name": "global_lite_subscription_id", + "entityType": "indexes", + "table": "billing" + }, + { + "columns": [ + { + "value": "workspace_id", + "isExpression": false + }, + { + "value": "user_id", + "isExpression": false + } + ], + "isUnique": true, + "using": null, + "algorithm": null, + "lock": null, + "nameExplicit": true, + "name": "workspace_user_id", + "entityType": "indexes", + "table": "lite" + }, + { + "columns": [ + { + "value": "workspace_id", + "isExpression": false + }, + { + "value": "user_id", + "isExpression": false + } + ], + "isUnique": true, + "using": null, + "algorithm": null, + "lock": null, + "nameExplicit": true, + "name": "workspace_user_id", + "entityType": "indexes", + "table": "subscription" + }, + { + "columns": [ + { + "value": "workspace_id", + "isExpression": false + }, + { + "value": "time_created", + "isExpression": false + } + ], + "isUnique": false, + "using": null, + "algorithm": null, + "lock": null, + "nameExplicit": true, + "name": "usage_time_created", + "entityType": "indexes", + "table": "usage" + }, + { + "columns": [ + { + "value": "key", + "isExpression": false + } + ], + "isUnique": true, + "using": null, + "algorithm": null, + "lock": null, + "nameExplicit": true, + "name": "global_key", + "entityType": "indexes", + "table": "key" + }, + { + "columns": [ + { + "value": "workspace_id", + "isExpression": false + }, + { + "value": "model", + "isExpression": false + } + ], + "isUnique": true, + "using": null, + "algorithm": null, + "lock": null, + "nameExplicit": true, + "name": "model_workspace_model", + "entityType": "indexes", + "table": "model" + }, + { + "columns": [ + { + "value": "workspace_id", + "isExpression": false + }, + { + "value": "provider", + "isExpression": false + } + ], + "isUnique": true, + "using": null, + "algorithm": null, + "lock": null, + "nameExplicit": true, + "name": "workspace_provider", + "entityType": "indexes", + "table": "provider" + }, + { + "columns": [ + { + "value": "code", + "isExpression": false + } + ], + "isUnique": true, + "using": null, + "algorithm": null, + "lock": null, + "nameExplicit": true, + "name": "code", + "entityType": "indexes", + "table": "referral_code" + }, + { + "columns": [ + { + "value": "referral_id", + "isExpression": false + } + ], + "isUnique": false, + "using": null, + "algorithm": null, + "lock": null, + "nameExplicit": true, + "name": "referral_id", + "entityType": "indexes", + "table": "referral_reward" + }, + { + "columns": [ + { + "value": "invitee_account_id", + "isExpression": false + } + ], + "isUnique": true, + "using": null, + "algorithm": null, + "lock": null, + "nameExplicit": true, + "name": "invitee_account_id", + "entityType": "indexes", + "table": "referral" + }, + { + "columns": [ + { + "value": "workspace_id", + "isExpression": false + }, + { + "value": "account_id", + "isExpression": false + } + ], + "isUnique": true, + "using": null, + "algorithm": null, + "lock": null, + "nameExplicit": true, + "name": "user_account_id", + "entityType": "indexes", + "table": "user" + }, + { + "columns": [ + { + "value": "workspace_id", + "isExpression": false + }, + { + "value": "email", + "isExpression": false + } + ], + "isUnique": true, + "using": null, + "algorithm": null, + "lock": null, + "nameExplicit": true, + "name": "user_email", + "entityType": "indexes", + "table": "user" + }, + { + "columns": [ + { + "value": "account_id", + "isExpression": false + } + ], + "isUnique": false, + "using": null, + "algorithm": null, + "lock": null, + "nameExplicit": true, + "name": "global_account_id", + "entityType": "indexes", + "table": "user" + }, + { + "columns": [ + { + "value": "email", + "isExpression": false + } + ], + "isUnique": false, + "using": null, + "algorithm": null, + "lock": null, + "nameExplicit": true, + "name": "global_email", + "entityType": "indexes", + "table": "user" + }, + { + "columns": [ + { + "value": "slug", + "isExpression": false + } + ], + "isUnique": true, + "using": null, + "algorithm": null, + "lock": null, + "nameExplicit": true, + "name": "slug", + "entityType": "indexes", + "table": "workspace" + } + ], + "renames": [] +} diff --git a/packages/console/core/src/schema/workspace.sql.ts b/packages/console/core/src/schema/workspace.sql.ts index 3497979dc7d8..c71f76bd49de 100644 --- a/packages/console/core/src/schema/workspace.sql.ts +++ b/packages/console/core/src/schema/workspace.sql.ts @@ -1,5 +1,5 @@ import { boolean, json, primaryKey, mysqlTable, uniqueIndex, varchar } from "drizzle-orm/mysql-core" -import { timestamps, ulid } from "../drizzle/types" +import { timestamps, ulid, utc } from "../drizzle/types" export const WorkspaceTable = mysqlTable( "workspace", @@ -12,6 +12,7 @@ export const WorkspaceTable = mysqlTable( is_blocked: boolean(), is_flagged_by_anthropic: boolean(), is_flagged_by_openai: boolean(), + migrated_at: utc("migrated_at"), ...timestamps, }, (table) => [uniqueIndex("slug").on(table.slug)], From 1ce281b7abd1a2ee75dd4c9057da1d120200da67 Mon Sep 17 00:00:00 2001 From: Adam <2363879+adamdotdevin@users.noreply.github.com> Date: Tue, 1 Sep 2026 12:12:11 -0500 Subject: [PATCH 21/39] fix(stats): prevent comparison legend collapse --- packages/stats/app/src/routes/index.css | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/stats/app/src/routes/index.css b/packages/stats/app/src/routes/index.css index 3b6fa273f72a..2b8acb39029e 100644 --- a/packages/stats/app/src/routes/index.css +++ b/packages/stats/app/src/routes/index.css @@ -6126,6 +6126,7 @@ body { grid-template-columns: 6px minmax(0, 1fr); gap: 12px; align-items: start; + align-self: stretch; min-width: 0; } @@ -6145,7 +6146,8 @@ body { [data-page="stats"] [data-slot="compare-radar-legend"] small { font-size: 13px; line-height: 18px; - overflow-wrap: anywhere; + overflow-wrap: break-word; + word-break: normal; } [data-page="stats"] [data-slot="compare-radar-legend"] strong { From df6aecdbc50f08679e3ae81fa2b84ac89ec4ff14 Mon Sep 17 00:00:00 2001 From: "opencode-agent[bot]" Date: Tue, 1 Sep 2026 17:14:51 +0000 Subject: [PATCH 22/39] chore: generate --- .../snapshot.json | 112 ++++-------------- 1 file changed, 24 insertions(+), 88 deletions(-) diff --git a/packages/console/core/migrations/20260901161032_workspace_migrated_at/snapshot.json b/packages/console/core/migrations/20260901161032_workspace_migrated_at/snapshot.json index 1f19f7df0524..e81037d44227 100644 --- a/packages/console/core/migrations/20260901161032_workspace_migrated_at/snapshot.json +++ b/packages/console/core/migrations/20260901161032_workspace_migrated_at/snapshot.json @@ -2,9 +2,7 @@ "version": "6", "dialect": "mysql", "id": "3e952a24-4137-4944-b7fa-e39e71061235", - "prevIds": [ - "e365c1d7-fb02-44ad-b681-87bb51d01964" - ], + "prevIds": ["e365c1d7-fb02-44ad-b681-87bb51d01964"], "ddl": [ { "name": "account", @@ -2703,201 +2701,139 @@ "table": "workspace" }, { - "columns": [ - "id" - ], + "columns": ["id"], "name": "PRIMARY", "table": "account", "entityType": "pks" }, { - "columns": [ - "id" - ], + "columns": ["id"], "name": "PRIMARY", "table": "auth", "entityType": "pks" }, { - "columns": [ - "id" - ], + "columns": ["id"], "name": "PRIMARY", "table": "benchmark", "entityType": "pks" }, { - "columns": [ - "workspace_id", - "id" - ], + "columns": ["workspace_id", "id"], "name": "PRIMARY", "table": "billing", "entityType": "pks" }, { - "columns": [ - "email", - "type" - ], + "columns": ["email", "type"], "name": "PRIMARY", "table": "coupon", "entityType": "pks" }, { - "columns": [ - "workspace_id", - "id" - ], + "columns": ["workspace_id", "id"], "name": "PRIMARY", "table": "lite", "entityType": "pks" }, { - "columns": [ - "workspace_id", - "id" - ], + "columns": ["workspace_id", "id"], "name": "PRIMARY", "table": "payment", "entityType": "pks" }, { - "columns": [ - "workspace_id", - "id" - ], + "columns": ["workspace_id", "id"], "name": "PRIMARY", "table": "subscription", "entityType": "pks" }, { - "columns": [ - "workspace_id", - "id" - ], + "columns": ["workspace_id", "id"], "name": "PRIMARY", "table": "usage", "entityType": "pks" }, { - "columns": [ - "ip", - "interval" - ], + "columns": ["ip", "interval"], "name": "PRIMARY", "table": "ip_rate_limit", "entityType": "pks" }, { - "columns": [ - "ip" - ], + "columns": ["ip"], "name": "PRIMARY", "table": "ip", "entityType": "pks" }, { - "columns": [ - "key", - "interval" - ], + "columns": ["key", "interval"], "name": "PRIMARY", "table": "key_rate_limit", "entityType": "pks" }, { - "columns": [ - "id" - ], + "columns": ["id"], "name": "PRIMARY", "table": "model_sticky_provider", "entityType": "pks" }, { - "columns": [ - "id", - "interval" - ], + "columns": ["id", "interval"], "name": "PRIMARY", "table": "model_tpm_rate_limit", "entityType": "pks" }, { - "columns": [ - "id", - "interval" - ], + "columns": ["id", "interval"], "name": "PRIMARY", "table": "model_tps_rate_limit", "entityType": "pks" }, { - "columns": [ - "workspace_id", - "id" - ], + "columns": ["workspace_id", "id"], "name": "PRIMARY", "table": "key", "entityType": "pks" }, { - "columns": [ - "workspace_id", - "id" - ], + "columns": ["workspace_id", "id"], "name": "PRIMARY", "table": "model", "entityType": "pks" }, { - "columns": [ - "workspace_id", - "id" - ], + "columns": ["workspace_id", "id"], "name": "PRIMARY", "table": "provider", "entityType": "pks" }, { - "columns": [ - "workspace_id" - ], + "columns": ["workspace_id"], "name": "PRIMARY", "table": "referral_code", "entityType": "pks" }, { - "columns": [ - "workspace_id", - "referral_id" - ], + "columns": ["workspace_id", "referral_id"], "name": "PRIMARY", "table": "referral_reward", "entityType": "pks" }, { - "columns": [ - "workspace_id", - "id" - ], + "columns": ["workspace_id", "id"], "name": "PRIMARY", "table": "referral", "entityType": "pks" }, { - "columns": [ - "workspace_id", - "id" - ], + "columns": ["workspace_id", "id"], "name": "PRIMARY", "table": "user", "entityType": "pks" }, { - "columns": [ - "id" - ], + "columns": ["id"], "name": "PRIMARY", "table": "workspace", "entityType": "pks" From 216ba8f05f72ad502f3a807c5513ac2e93d02586 Mon Sep 17 00:00:00 2001 From: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Date: Tue, 1 Sep 2026 13:39:45 -0500 Subject: [PATCH 23/39] fix(opencode): stop Azure model discovery from logging to stdout (#46646) --- packages/opencode/src/plugin/azure.ts | 22 ++--- packages/opencode/test/plugin/azure.test.ts | 102 +++++++++++++++----- 2 files changed, 88 insertions(+), 36 deletions(-) diff --git a/packages/opencode/src/plugin/azure.ts b/packages/opencode/src/plugin/azure.ts index 33a164f372d9..7a663093fbc4 100644 --- a/packages/opencode/src/plugin/azure.ts +++ b/packages/opencode/src/plugin/azure.ts @@ -5,7 +5,7 @@ import { InstallationVersion } from "@opencode-ai/core/installation/version" import { which } from "@opencode-ai/core/util/which" import type { Hooks } from "@opencode-ai/plugin" import type { Provider } from "@opencode-ai/sdk/v2" -import { Effect, Schema } from "effect" +import { Schema } from "effect" import { OAUTH_DUMMY_KEY } from "../auth" import { Process } from "../util/process" @@ -69,9 +69,9 @@ export async function AzureAuthPlugin(): Promise { export function createAzureAuthHooks( run: AzureCommand, - request: (input: RequestInfo | URL, init?: RequestInit) => Promise = fetch, - accounts: readonly AzureAccount[] = [], - available = true, + request: (input: RequestInfo | URL, init?: RequestInit) => Promise, + accounts: readonly AzureAccount[], + available: boolean, ): Hooks { const tokens = new Map() async function token(scope: string) { @@ -128,17 +128,13 @@ export function createAzureAuthHooks( id: "azure", async models(provider, context) { if (context.auth?.type !== "oauth") return provider.models + // Discovery shells out to the Azure CLI, so skip it when the CLI is missing. + if (!available) return provider.models const resource = context.auth.accountId if (!resource) return {} - return discoverAzureModels(provider.models, resource, run).catch((error: unknown) => { - Effect.runSync( - Effect.logWarning("Azure model discovery failed", { - resource, - error: error instanceof Error ? error.message : String(error), - }), - ) - return provider.models - }) + // This hook runs outside the app's Effect runtime, so logging here would go to the + // console. Fall back to the configured models silently. + return discoverAzureModels(provider.models, resource, run).catch(() => provider.models) }, }, auth: { diff --git a/packages/opencode/test/plugin/azure.test.ts b/packages/opencode/test/plugin/azure.test.ts index 11e7f3a2c3e0..66444965d8e3 100644 --- a/packages/opencode/test/plugin/azure.test.ts +++ b/packages/opencode/test/plugin/azure.test.ts @@ -241,7 +241,7 @@ describe("plugin.azure", () => { test("keeps the existing API-key method and adds Entra ID", () => { delete process.env.AZURE_RESOURCE_NAME - const hooks = createAzureAuthHooks(azureShell([])) + const hooks = createAzureAuthHooks(azureShell([]), fetch, [], true) expect(hooks.auth?.provider).toBe("azure") expect(hooks.provider?.id).toBe("azure") @@ -272,10 +272,15 @@ describe("plugin.azure", () => { test("lists Azure CLI resources and allows entering another resource", () => { delete process.env.AZURE_RESOURCE_NAME - const hooks = createAzureAuthHooks(azureShell([]), fetch, [ - { name: "first-resource", resourceGroup: "first-group" }, - { name: "second-resource", resourceGroup: "second-group" }, - ]) + const hooks = createAzureAuthHooks( + azureShell([]), + fetch, + [ + { name: "first-resource", resourceGroup: "first-group" }, + { name: "second-resource", resourceGroup: "second-group" }, + ], + true, + ) expect(oauthMethod(hooks).prompts).toEqual([ { @@ -299,9 +304,12 @@ describe("plugin.azure", () => { }) test("uses the selected Azure CLI resource", async () => { - const hooks = createAzureAuthHooks(azureShell([]), fetch, [ - { name: "selected-resource", resourceGroup: "selected-group" }, - ]) + const hooks = createAzureAuthHooks( + azureShell([]), + fetch, + [{ name: "selected-resource", resourceGroup: "selected-group" }], + true, + ) const authorization = await oauthMethod(hooks).authorize({ resourceSelection: "selected-resource" }) if (authorization.method !== "auto") throw new Error("Unexpected Azure authorization method") @@ -309,7 +317,12 @@ describe("plugin.azure", () => { }) test("uses a manually entered Azure resource that was not listed", async () => { - const hooks = createAzureAuthHooks(azureShell([]), fetch, [{ name: "listed-resource", resourceGroup: "group" }]) + const hooks = createAzureAuthHooks( + azureShell([]), + fetch, + [{ name: "listed-resource", resourceGroup: "group" }], + true, + ) const authorization = await oauthMethod(hooks).authorize({ resourceSelection: "__manual__", resourceName: "unlisted-resource", @@ -321,7 +334,7 @@ describe("plugin.azure", () => { test("checks Azure CLI and stores the resource name", async () => { const scopes: string[] = [] - const hooks = createAzureAuthHooks(azureShell(scopes)) + const hooks = createAzureAuthHooks(azureShell(scopes), fetch, [], true) const authorization = await oauthMethod(hooks).authorize({ resourceName: "test-resource" }) if (authorization.method !== "auto") throw new Error("Unexpected Azure authorization method") @@ -335,10 +348,15 @@ describe("plugin.azure", () => { }) test("supports Azure CLI versions that only provide expiresOn", async () => { - const hooks = createAzureAuthHooks(async () => ({ - accessToken: "legacy-token", - expiresOn: new Date(Date.now() + 60 * 60 * 1000).toISOString(), - })) + const hooks = createAzureAuthHooks( + async () => ({ + accessToken: "legacy-token", + expiresOn: new Date(Date.now() + 60 * 60 * 1000).toISOString(), + }), + fetch, + [], + true, + ) const authorization = await oauthMethod(hooks).authorize({ resourceName: "test-resource" }) if (authorization.method !== "auto") throw new Error("Unexpected Azure authorization method") @@ -346,7 +364,7 @@ describe("plugin.azure", () => { }) test("rejects Azure CLI tokens without a usable expiration", async () => { - const hooks = createAzureAuthHooks(async () => ({ accessToken: "invalid-token" })) + const hooks = createAzureAuthHooks(async () => ({ accessToken: "invalid-token" }), fetch, [], true) const authorization = await oauthMethod(hooks).authorize({ resourceName: "test-resource" }) if (authorization.method !== "auto") throw new Error("Unexpected Azure authorization method") @@ -379,6 +397,9 @@ describe("plugin.azure", () => { ], commands, ), + fetch, + [], + true, ) const list = hooks.provider?.models if (!list) throw new Error("Azure provider model hook is missing") @@ -410,6 +431,9 @@ describe("plugin.azure", () => { [{ name: "gpt-production", properties: { model: { name: "gpt-5-mini" }, provisioningState: "Succeeded" } }], commands, ), + fetch, + [], + true, ) const list = hooks.provider?.models if (!list) throw new Error("Azure provider model hook is missing") @@ -433,6 +457,9 @@ describe("plugin.azure", () => { ], [], ), + fetch, + [], + true, ) const list = hooks.provider?.models if (!list) throw new Error("Azure provider model hook is missing") @@ -446,9 +473,14 @@ describe("plugin.azure", () => { }) test("keeps configured models available when Azure discovery fails", async () => { - const hooks = createAzureAuthHooks(async () => { - throw new Error("Azure CLI failed") - }) + const hooks = createAzureAuthHooks( + async () => { + throw new Error("Azure CLI failed") + }, + fetch, + [], + true, + ) const list = hooks.provider?.models if (!list) throw new Error("Azure provider model hook is missing") @@ -456,9 +488,28 @@ describe("plugin.azure", () => { expect(await list({ ...provider, models: catalog }, { auth: oauth })).toBe(catalog) }) + test("skips model discovery when the Azure CLI is unavailable", async () => { + const calls: string[][] = [] + const hooks = createAzureAuthHooks( + async (args) => { + calls.push(args) + throw new Error("spawn az ENOENT") + }, + fetch, + [], + false, + ) + const list = hooks.provider?.models + if (!list) throw new Error("Azure provider model hook is missing") + + const catalog = models("gpt-5-mini") + expect(await list({ ...provider, models: catalog }, { auth: oauth })).toBe(catalog) + expect(calls).toEqual([]) + }) + test("does not change API-key loading", async () => { const scopes: string[] = [] - const hooks = createAzureAuthHooks(azureShell(scopes)) + const hooks = createAzureAuthHooks(azureShell(scopes), fetch, [], true) const catalog = models("gpt-5-mini") const list = hooks.provider?.models if (!list) throw new Error("Azure provider model hook is missing") @@ -471,10 +522,15 @@ describe("plugin.azure", () => { test("uses Azure CLI bearer tokens for Azure inference endpoints", async () => { const scopes: string[] = [] const requests: Headers[] = [] - const hooks = createAzureAuthHooks(azureShell(scopes), async (_input, init) => { - requests.push(new Headers(init?.headers)) - return new Response(null, { status: 200 }) - }) + const hooks = createAzureAuthHooks( + azureShell(scopes), + async (_input, init) => { + requests.push(new Headers(init?.headers)) + return new Response(null, { status: 200 }) + }, + [], + true, + ) const options = await loader(hooks)(async () => oauth, provider) const request = customFetch(options) From 2da5a4b034cbe71149f9f9caa147a41ab2ea0c2f Mon Sep 17 00:00:00 2001 From: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Date: Tue, 1 Sep 2026 13:47:49 -0500 Subject: [PATCH 24/39] refactor(tui): use OpenTUI Dynamic in session view (#46649) --- packages/tui/src/routes/session/index.tsx | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/tui/src/routes/session/index.tsx b/packages/tui/src/routes/session/index.tsx index cbdaf0cfa0c7..866a381f0698 100644 --- a/packages/tui/src/routes/session/index.tsx +++ b/packages/tui/src/routes/session/index.tsx @@ -14,7 +14,6 @@ import { untrack, useContext, } from "solid-js" -import { Dynamic } from "solid-js/web" import path from "node:path" import { mkdir, writeFile } from "node:fs/promises" import { useRoute, useRouteData } from "../../context/route" @@ -40,7 +39,7 @@ import type { import { useLocal } from "../../context/local" import { Locale } from "../../util/locale" import { webSearchProviderLabel } from "../../util/tool-display" -import { useRenderer, useTerminalDimensions, type JSX } from "@opentui/solid" +import { Dynamic, useRenderer, useTerminalDimensions, type JSX } from "@opentui/solid" import { useSDK } from "../../context/sdk" import { useEditorContext } from "../../context/editor" import { openEditor } from "../../editor" From 55c54d14b846acd601854aaf82cb97210a458bf6 Mon Sep 17 00:00:00 2001 From: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Date: Tue, 1 Sep 2026 13:50:55 -0500 Subject: [PATCH 25/39] chore: use native runtime conditions in development (#46644) --- CONTRIBUTING.md | 2 +- package.json | 2 +- packages/app/AGENTS.md | 2 +- packages/opencode/package.json | 4 ++-- packages/opencode/test/lib/cli-process.ts | 8 ++++---- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 1ab14a7b628a..a9c545efb896 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -157,7 +157,7 @@ Caveats: - If `spawn` does not work for you, you can debug the server separately: - Debug server: `bun run --inspect=ws://localhost:6499/ --cwd packages/opencode ./src/index.ts serve --port 4096`, then attach TUI with `opencode attach http://localhost:4096` - - Debug TUI: `bun run --inspect=ws://localhost:6499/ --cwd packages/opencode --conditions=browser ./src/index.ts` + - Debug TUI: `bun run --inspect=ws://localhost:6499/ --cwd packages/opencode ./src/index.ts` Other tips and tricks: diff --git a/package.json b/package.json index 0f11d0c3966a..07144ccbdee2 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "type": "module", "packageManager": "bun@1.3.14", "scripts": { - "dev": "bun run --cwd packages/opencode --conditions=browser src/index.ts", + "dev": "bun run --cwd packages/opencode src/index.ts", "dev:desktop": "bun --cwd packages/desktop dev", "dev:web": "bun --cwd packages/app dev", "dev:console": "ulimit -n 10240 2>/dev/null; bun run --cwd packages/console/app dev", diff --git a/packages/app/AGENTS.md b/packages/app/AGENTS.md index 72a973ebd40c..5638ea8e6d1a 100644 --- a/packages/app/AGENTS.md +++ b/packages/app/AGENTS.md @@ -11,7 +11,7 @@ - `opencode dev web` proxies `https://app.opencode.ai`, so local UI/CSS changes will not show there. - For local UI changes, run the backend and app dev servers separately. -- Backend (from `packages/opencode`): `bun run --conditions=browser ./src/index.ts serve --port 4096` +- Backend (from `packages/opencode`): `bun run ./src/index.ts serve --port 4096` - App (from `packages/app`): `bun dev -- --port 4444` - Open `http://localhost:4444` to verify UI changes (it targets the backend at `http://localhost:4096`). diff --git a/packages/opencode/package.json b/packages/opencode/package.json index 45c6110363ec..de2582da2e48 100644 --- a/packages/opencode/package.json +++ b/packages/opencode/package.json @@ -12,8 +12,8 @@ "bench:test": "bun run script/bench-test-suite.ts", "profile:test": "bun run script/profile-test-files.ts", "build": "bun run script/build.ts", - "dev": "bun run --conditions=browser ./src/index.ts", - "dev:temporary": "bun run --conditions=browser ./src/temporary.ts" + "dev": "bun run ./src/index.ts", + "dev:temporary": "bun run ./src/temporary.ts" }, "bin": { "opencode": "./bin/opencode" diff --git a/packages/opencode/test/lib/cli-process.ts b/packages/opencode/test/lib/cli-process.ts index 12e8d9c866a5..a4d3b36c1dae 100644 --- a/packages/opencode/test/lib/cli-process.ts +++ b/packages/opencode/test/lib/cli-process.ts @@ -211,7 +211,7 @@ export function withCliFixture( // on `Bun.stdin.text()` (see src/cli/cmd/run.ts — non-TTY stdin is // consumed as the prompt). The old Process.run wrapper defaulted to // ignore; ChildProcess.make defaults to pipe, so we set it explicitly. - const command = ChildProcess.make("bun", ["run", "--conditions=browser", cliEntry, ...args], { + const command = ChildProcess.make("bun", ["run", cliEntry, ...args], { cwd: home, env: { ...env, ...opts?.env }, extendEnv: true, @@ -283,7 +283,7 @@ export function withCliFixture( const options = runOpts(opts) const proc = yield* Effect.acquireRelease( Effect.sync(() => - Bun.spawn(["bun", "run", "--conditions=browser", cliEntry, ...runArgs(message, opts)], { + Bun.spawn(["bun", "run", cliEntry, ...runArgs(message, opts)], { cwd: home, env: { ...process.env, ...env, ...options?.env }, stdin: "ignore", @@ -324,7 +324,7 @@ export function withCliFixture( // as a finalizer error during test teardown. const proc = yield* Effect.acquireRelease( Effect.sync(() => - Bun.spawn(["bun", "run", "--conditions=browser", cliEntry, ...argv], { + Bun.spawn(["bun", "run", cliEntry, ...argv], { cwd: home, env: { ...process.env, ...env, ...opts?.env }, stdout: "pipe", @@ -395,7 +395,7 @@ export function withCliFixture( // Either way we await proc.exited so the test scope doesn't leak. const proc = yield* Effect.acquireRelease( Effect.sync(() => - Bun.spawn(["bun", "run", "--conditions=browser", cliEntry, ...argv], { + Bun.spawn(["bun", "run", cliEntry, ...argv], { cwd: opts?.cwd ?? home, env: { ...process.env, ...env, ...opts?.env }, stdin: "pipe", From 4502ee568ed5aabf6dade6a9d79ecd9b069e597e Mon Sep 17 00:00:00 2001 From: KevinZhou Date: Wed, 2 Sep 2026 02:52:35 +0800 Subject: [PATCH 26/39] fix(core): bump @ai-sdk/amazon-bedrock to 4.0.166 for reasoning and replay fixes (#45520) Co-authored-by: Aiden Cline --- bun.lock | 12 ++++++------ packages/core/package.json | 2 +- packages/opencode/package.json | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/bun.lock b/bun.lock index 71049cb1ac29..44ff5fab77b7 100644 --- a/bun.lock +++ b/bun.lock @@ -295,7 +295,7 @@ }, "dependencies": { "@ai-sdk/alibaba": "1.0.17", - "@ai-sdk/amazon-bedrock": "4.0.158", + "@ai-sdk/amazon-bedrock": "4.0.166", "@ai-sdk/anthropic": "3.0.82", "@ai-sdk/azure": "3.0.88", "@ai-sdk/cerebras": "2.0.41", @@ -570,7 +570,7 @@ "@actions/github": "6.0.1", "@agentclientprotocol/sdk": "0.21.0", "@ai-sdk/alibaba": "1.0.17", - "@ai-sdk/amazon-bedrock": "4.0.158", + "@ai-sdk/amazon-bedrock": "4.0.166", "@ai-sdk/anthropic": "3.0.82", "@ai-sdk/azure": "3.0.88", "@ai-sdk/cerebras": "2.0.60", @@ -1168,7 +1168,7 @@ "@ai-sdk/alibaba": ["@ai-sdk/alibaba@1.0.17", "", { "dependencies": { "@ai-sdk/openai-compatible": "2.0.41", "@ai-sdk/provider": "3.0.8", "@ai-sdk/provider-utils": "4.0.23" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "sha512-ZbE+U5bWz2JBc5DERLowx5+TKbjGBE93LqKZAWvuEn7HOSQMraxFMZuc0ST335QZJAyfBOzh7m1mPQ+y7EaaoA=="], - "@ai-sdk/amazon-bedrock": ["@ai-sdk/amazon-bedrock@4.0.158", "", { "dependencies": { "@ai-sdk/anthropic": "3.0.111", "@ai-sdk/openai": "3.0.98", "@ai-sdk/provider": "3.0.15", "@ai-sdk/provider-utils": "4.0.46", "@smithy/eventstream-codec": "^4.0.1", "@smithy/util-utf8": "^4.0.0", "aws4fetch": "^1.0.20" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "sha512-yZebHEszUzPLsK+Rq5sVZJkJj7EYDgY+Lz36IGf/RSkSC5LOMDbVKoQ55S8xNzJqVjUDqlWuZiQzg40HQslmCw=="], + "@ai-sdk/amazon-bedrock": ["@ai-sdk/amazon-bedrock@4.0.166", "", { "dependencies": { "@ai-sdk/anthropic": "3.0.115", "@ai-sdk/openai": "3.0.105", "@ai-sdk/provider": "3.0.15", "@ai-sdk/provider-utils": "4.0.50", "@smithy/eventstream-codec": "^4.0.1", "@smithy/util-utf8": "^4.0.0", "aws4fetch": "^1.0.20" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "sha512-HzzQb+ks+WmRcnnT9uBdJAxaqSXz3CWgmLSe9hePAkELPzTl/nAIJh2fb2+UsTD0n9OzZfBb25k68CIxraKkoA=="], "@ai-sdk/anthropic": ["@ai-sdk/anthropic@3.0.82", "", { "dependencies": { "@ai-sdk/provider": "3.0.10", "@ai-sdk/provider-utils": "4.0.27" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "sha512-WKKou2wbhGGYV8PSALAPyV2YY4nfCqCPkyBzYtJtDA9yCcIFwsbtkTNgg7bqtLCVzeEsY7wwxRoCWy+EMfrw/A=="], @@ -5626,13 +5626,13 @@ "@ai-sdk/alibaba/@ai-sdk/openai-compatible": ["@ai-sdk/openai-compatible@2.0.41", "", { "dependencies": { "@ai-sdk/provider": "3.0.8", "@ai-sdk/provider-utils": "4.0.23" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "sha512-kNAGINk71AlOXx10Dq/PXw4t/9XjdK8uxfpVElRwtSFMdeSiLVt58p9TPx4/FJD+hxZuVhvxYj9r42osxWq79g=="], - "@ai-sdk/amazon-bedrock/@ai-sdk/anthropic": ["@ai-sdk/anthropic@3.0.111", "", { "dependencies": { "@ai-sdk/provider": "3.0.15", "@ai-sdk/provider-utils": "4.0.46" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "sha512-atgBW8jZPr/KuaKX5FvDIHuXBI8VCol6kVeoD4P0657+VXR73QsLogXQVN/Zt5FHtq9WzpdIZseCJiXPqkgwwA=="], + "@ai-sdk/amazon-bedrock/@ai-sdk/anthropic": ["@ai-sdk/anthropic@3.0.115", "", { "dependencies": { "@ai-sdk/provider": "3.0.15", "@ai-sdk/provider-utils": "4.0.50" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "sha512-S1oAUCVaB2Fr6LtMDfa9EmVlDVczpRodYc3IKdLD2z4r0s/pX+zwjqlhiwhS1FsCS2jVx8EnSyBtuPuOzF094A=="], - "@ai-sdk/amazon-bedrock/@ai-sdk/openai": ["@ai-sdk/openai@3.0.98", "", { "dependencies": { "@ai-sdk/provider": "3.0.15", "@ai-sdk/provider-utils": "4.0.46" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "sha512-nAvp8pVOUJ3znJHRzZs54Y7CJQSikOW1Ty7LTdtQT+/pgtAwqhuKd8oaXbiW2xQaYBdH2i8o9AcEpcUdXIyF+g=="], + "@ai-sdk/amazon-bedrock/@ai-sdk/openai": ["@ai-sdk/openai@3.0.105", "", { "dependencies": { "@ai-sdk/provider": "3.0.15", "@ai-sdk/provider-utils": "4.0.50" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "sha512-umx95F8gqGuhPdoW+4ofq83fuSN6aMHwISxvY6dZU51Iix5ZKId0FNru+0FQeu+xfFUrVNmf3vYQNc2FLN85xA=="], "@ai-sdk/amazon-bedrock/@ai-sdk/provider": ["@ai-sdk/provider@3.0.15", "", { "dependencies": { "json-schema": "^0.4.0" } }, "sha512-XeZW1CcDF2GMbH4wejW6xBRI2QCOgnkVYUnxoeDadB1mf85riL2bMUeDoh+6gJ/r4mjNfzUPW8OjLjvwTP0u1Q=="], - "@ai-sdk/amazon-bedrock/@ai-sdk/provider-utils": ["@ai-sdk/provider-utils@4.0.46", "", { "dependencies": { "@ai-sdk/provider": "3.0.15", "@standard-schema/spec": "^1.1.0", "eventsource-parser": "^3.0.8", "undici": "^6.28.0" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "sha512-tEtld97plCFiYevsJuOkGkeuhQndeMWFBVrJS4AjnbD5AqrNSXRCe0p+BZ3Cju/sxDeeZ9ym3q9YUV8fASA7aQ=="], + "@ai-sdk/amazon-bedrock/@ai-sdk/provider-utils": ["@ai-sdk/provider-utils@4.0.50", "", { "dependencies": { "@ai-sdk/provider": "3.0.15", "@standard-schema/spec": "^1.1.0", "eventsource-parser": "^3.0.8", "undici": "^6.28.0" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "sha512-YAcB+7M1JhAYsHorTrWyldCyZihjCKr/QRXH2vFrara/+lwqNE7q5KzoucKLZ7ktFiUonhnhFhRoiymsq/2K2Q=="], "@ai-sdk/amazon-bedrock/@smithy/eventstream-codec": ["@smithy/eventstream-codec@4.2.14", "", { "dependencies": { "@aws-crypto/crc32": "5.2.0", "@smithy/types": "^4.14.1", "@smithy/util-hex-encoding": "^4.2.2", "tslib": "^2.6.2" } }, "sha512-erZq0nOIpzfeZdCyzZjdJb4nVSKLUmSkaQUVkRGQTXs30gyUGeKnrYEg+Xe1W5gE3aReS7IgsvANwVPxSzY6Pw=="], diff --git a/packages/core/package.json b/packages/core/package.json index 37afa0b65b2c..ffd49ce5be85 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -62,7 +62,7 @@ }, "dependencies": { "@ai-sdk/alibaba": "1.0.17", - "@ai-sdk/amazon-bedrock": "4.0.158", + "@ai-sdk/amazon-bedrock": "4.0.166", "@ai-sdk/anthropic": "3.0.82", "@ai-sdk/azure": "3.0.88", "@ai-sdk/cerebras": "2.0.41", diff --git a/packages/opencode/package.json b/packages/opencode/package.json index de2582da2e48..ac50498dee32 100644 --- a/packages/opencode/package.json +++ b/packages/opencode/package.json @@ -56,7 +56,7 @@ "@actions/github": "6.0.1", "@agentclientprotocol/sdk": "0.21.0", "@ai-sdk/alibaba": "1.0.17", - "@ai-sdk/amazon-bedrock": "4.0.158", + "@ai-sdk/amazon-bedrock": "4.0.166", "@ai-sdk/anthropic": "3.0.82", "@ai-sdk/azure": "3.0.88", "@ai-sdk/cerebras": "2.0.60", From dc8753f82a175f5f3588fe9c1f8d7398351193ca Mon Sep 17 00:00:00 2001 From: "opencode-agent[bot]" Date: Tue, 1 Sep 2026 19:11:11 +0000 Subject: [PATCH 27/39] chore: update nix node_modules hashes --- nix/hashes.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/nix/hashes.json b/nix/hashes.json index 8ad745661434..2d4e1dd3efa4 100644 --- a/nix/hashes.json +++ b/nix/hashes.json @@ -1,8 +1,8 @@ { "nodeModules": { - "x86_64-linux": "sha256-Sz806ltZYh+09hLqdqZAxSUlhJMk8bg50oHHoykNa/Y=", - "aarch64-linux": "sha256-dDSLsgah0NKAJLVczh25KOzLl10xhhSbO7WKac1qbJI=", - "aarch64-darwin": "sha256-xZZ5d4i4Ek+X7kvyGN96gbRwXK45j3bsWhPW1kILawI=", - "x86_64-darwin": "sha256-hYTHDIbNF4PZuuSz7z4NZv870FcstVYrMuhGIiFapEY=" + "x86_64-linux": "sha256-6E/2HDZzT8lCFXDUWRfbD856aJgL9tmZBRkYMi63x5w=", + "aarch64-linux": "sha256-I0PTrqH6EIEbtNkS0+yVFk056maDR5iy2gtIHAv1Leg=", + "aarch64-darwin": "sha256-Uq8igYVnbU9X03ear64twODH2f8Hewl3MPdmsfCZjHI=", + "x86_64-darwin": "sha256-6yWfwZVOSiSxA3DxeDd5WAVlN5QBDIdyZXp3uQSN5Bk=" } } From 3f39a329c3d52ed66405c4bc6293b9ed08fe9ab6 Mon Sep 17 00:00:00 2001 From: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Date: Tue, 1 Sep 2026 14:32:26 -0500 Subject: [PATCH 28/39] feat(opencode): tolerate Anthropic thinking block binding (#46653) --- bun.lock | 31 +- package.json | 5 +- packages/core/package.json | 2 +- packages/opencode/package.json | 2 +- packages/opencode/src/provider/transform.ts | 37 +- packages/opencode/src/session/processor.ts | 14 + .../opencode/test/provider/transform.test.ts | 195 +++++++ .../@ai-sdk%2Famazon-bedrock@4.0.166.patch | 144 +++++ patches/@ai-sdk%2Fanthropic@3.0.111.patch | 528 ++++++++++++++++++ 9 files changed, 934 insertions(+), 24 deletions(-) create mode 100644 patches/@ai-sdk%2Famazon-bedrock@4.0.166.patch create mode 100644 patches/@ai-sdk%2Fanthropic@3.0.111.patch diff --git a/bun.lock b/bun.lock index 44ff5fab77b7..3d8037e6fc8a 100644 --- a/bun.lock +++ b/bun.lock @@ -296,7 +296,7 @@ "dependencies": { "@ai-sdk/alibaba": "1.0.17", "@ai-sdk/amazon-bedrock": "4.0.166", - "@ai-sdk/anthropic": "3.0.82", + "@ai-sdk/anthropic": "3.0.111", "@ai-sdk/azure": "3.0.88", "@ai-sdk/cerebras": "2.0.41", "@ai-sdk/cohere": "3.0.27", @@ -571,7 +571,7 @@ "@agentclientprotocol/sdk": "0.21.0", "@ai-sdk/alibaba": "1.0.17", "@ai-sdk/amazon-bedrock": "4.0.166", - "@ai-sdk/anthropic": "3.0.82", + "@ai-sdk/anthropic": "3.0.111", "@ai-sdk/azure": "3.0.88", "@ai-sdk/cerebras": "2.0.60", "@ai-sdk/cohere": "3.0.27", @@ -1066,10 +1066,12 @@ "gcp-metadata@8.1.2": "patches/gcp-metadata@8.1.2.patch", "@standard-community/standard-openapi@0.2.9": "patches/@standard-community%2Fstandard-openapi@0.2.9.patch", "effect@4.0.0-beta.83": "patches/effect@4.0.0-beta.83.patch", + "@ai-sdk/anthropic@3.0.111": "patches/@ai-sdk%2Fanthropic@3.0.111.patch", "@ai-sdk/mistral@3.0.51": "patches/@ai-sdk%2Fmistral@3.0.51.patch", "@silvia-odwyer/photon-node@0.3.4": "patches/@silvia-odwyer%2Fphoton-node@0.3.4.patch", - "@npmcli/agent@4.0.2": "patches/@npmcli%2Fagent@4.0.2.patch", "solid-js@1.9.10": "patches/solid-js@1.9.10.patch", + "@npmcli/agent@4.0.2": "patches/@npmcli%2Fagent@4.0.2.patch", + "@ai-sdk/amazon-bedrock@4.0.166": "patches/@ai-sdk%2Famazon-bedrock@4.0.166.patch", "@ai-sdk/groq@3.0.31": "patches/@ai-sdk%2Fgroq@3.0.31.patch", "@ai-sdk/google@3.0.73": "patches/@ai-sdk%2Fgoogle@3.0.73.patch", "pacote@21.5.0": "patches/pacote@21.5.0.patch", @@ -1077,6 +1079,7 @@ "@ai-sdk/openai-compatible@2.0.41": "patches/@ai-sdk%2Fopenai-compatible@2.0.41.patch", }, "overrides": { + "@ai-sdk/anthropic": "3.0.111", "@opentui/core": "catalog:", "@opentui/keymap": "catalog:", "@opentui/solid": "catalog:", @@ -1170,7 +1173,7 @@ "@ai-sdk/amazon-bedrock": ["@ai-sdk/amazon-bedrock@4.0.166", "", { "dependencies": { "@ai-sdk/anthropic": "3.0.115", "@ai-sdk/openai": "3.0.105", "@ai-sdk/provider": "3.0.15", "@ai-sdk/provider-utils": "4.0.50", "@smithy/eventstream-codec": "^4.0.1", "@smithy/util-utf8": "^4.0.0", "aws4fetch": "^1.0.20" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "sha512-HzzQb+ks+WmRcnnT9uBdJAxaqSXz3CWgmLSe9hePAkELPzTl/nAIJh2fb2+UsTD0n9OzZfBb25k68CIxraKkoA=="], - "@ai-sdk/anthropic": ["@ai-sdk/anthropic@3.0.82", "", { "dependencies": { "@ai-sdk/provider": "3.0.10", "@ai-sdk/provider-utils": "4.0.27" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "sha512-WKKou2wbhGGYV8PSALAPyV2YY4nfCqCPkyBzYtJtDA9yCcIFwsbtkTNgg7bqtLCVzeEsY7wwxRoCWy+EMfrw/A=="], + "@ai-sdk/anthropic": ["@ai-sdk/anthropic@3.0.111", "", { "dependencies": { "@ai-sdk/provider": "3.0.15", "@ai-sdk/provider-utils": "4.0.46" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "sha512-atgBW8jZPr/KuaKX5FvDIHuXBI8VCol6kVeoD4P0657+VXR73QsLogXQVN/Zt5FHtq9WzpdIZseCJiXPqkgwwA=="], "@ai-sdk/azure": ["@ai-sdk/azure@3.0.88", "", { "dependencies": { "@ai-sdk/deepseek": "2.0.47", "@ai-sdk/openai": "3.0.84", "@ai-sdk/provider": "3.0.14", "@ai-sdk/provider-utils": "4.0.38" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "sha512-RRjZkB1lYplh8dpBarnvkl1j7sYLHsyXua7erL3oNcMK7fHcl4bPO5C7iQhD1O/DqD/zCceDifnege1s+8yEvw=="], @@ -5626,8 +5629,6 @@ "@ai-sdk/alibaba/@ai-sdk/openai-compatible": ["@ai-sdk/openai-compatible@2.0.41", "", { "dependencies": { "@ai-sdk/provider": "3.0.8", "@ai-sdk/provider-utils": "4.0.23" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "sha512-kNAGINk71AlOXx10Dq/PXw4t/9XjdK8uxfpVElRwtSFMdeSiLVt58p9TPx4/FJD+hxZuVhvxYj9r42osxWq79g=="], - "@ai-sdk/amazon-bedrock/@ai-sdk/anthropic": ["@ai-sdk/anthropic@3.0.115", "", { "dependencies": { "@ai-sdk/provider": "3.0.15", "@ai-sdk/provider-utils": "4.0.50" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "sha512-S1oAUCVaB2Fr6LtMDfa9EmVlDVczpRodYc3IKdLD2z4r0s/pX+zwjqlhiwhS1FsCS2jVx8EnSyBtuPuOzF094A=="], - "@ai-sdk/amazon-bedrock/@ai-sdk/openai": ["@ai-sdk/openai@3.0.105", "", { "dependencies": { "@ai-sdk/provider": "3.0.15", "@ai-sdk/provider-utils": "4.0.50" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "sha512-umx95F8gqGuhPdoW+4ofq83fuSN6aMHwISxvY6dZU51Iix5ZKId0FNru+0FQeu+xfFUrVNmf3vYQNc2FLN85xA=="], "@ai-sdk/amazon-bedrock/@ai-sdk/provider": ["@ai-sdk/provider@3.0.15", "", { "dependencies": { "json-schema": "^0.4.0" } }, "sha512-XeZW1CcDF2GMbH4wejW6xBRI2QCOgnkVYUnxoeDadB1mf85riL2bMUeDoh+6gJ/r4mjNfzUPW8OjLjvwTP0u1Q=="], @@ -5638,9 +5639,9 @@ "@ai-sdk/amazon-bedrock/@smithy/util-utf8": ["@smithy/util-utf8@4.2.2", "", { "dependencies": { "@smithy/util-buffer-from": "^4.2.2", "tslib": "^2.6.2" } }, "sha512-75MeYpjdWRe8M5E3AW0O4Cx3UadweS+cwdXjwYGBW5h/gxxnbeZ877sLPX/ZJA9GVTlL/qG0dXP29JWFCD1Ayw=="], - "@ai-sdk/anthropic/@ai-sdk/provider": ["@ai-sdk/provider@3.0.10", "", { "dependencies": { "json-schema": "^0.4.0" } }, "sha512-Q3BZ27qfpYqnCYGvE3vt+Qi6LGOF9R5Nmzn+9JoM1lCRsD9mYaIhfJLkSunN48nfGXJ6n+XNV0J/XVpqGQl7Dw=="], + "@ai-sdk/anthropic/@ai-sdk/provider": ["@ai-sdk/provider@3.0.15", "", { "dependencies": { "json-schema": "^0.4.0" } }, "sha512-XeZW1CcDF2GMbH4wejW6xBRI2QCOgnkVYUnxoeDadB1mf85riL2bMUeDoh+6gJ/r4mjNfzUPW8OjLjvwTP0u1Q=="], - "@ai-sdk/anthropic/@ai-sdk/provider-utils": ["@ai-sdk/provider-utils@4.0.27", "", { "dependencies": { "@ai-sdk/provider": "3.0.10", "@standard-schema/spec": "^1.1.0", "eventsource-parser": "^3.0.8" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "sha512-ubkAJ+xODouwtmN1tYlvTPphH1hPOBfZaEQe8U7skGvFAnIRs9PPpsq57bC2+Ky/MB4yzhd6YOsxTAx9sGpazw=="], + "@ai-sdk/anthropic/@ai-sdk/provider-utils": ["@ai-sdk/provider-utils@4.0.46", "", { "dependencies": { "@ai-sdk/provider": "3.0.15", "@standard-schema/spec": "^1.1.0", "eventsource-parser": "^3.0.8", "undici": "^6.28.0" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "sha512-tEtld97plCFiYevsJuOkGkeuhQndeMWFBVrJS4AjnbD5AqrNSXRCe0p+BZ3Cju/sxDeeZ9ym3q9YUV8fASA7aQ=="], "@ai-sdk/azure/@ai-sdk/openai": ["@ai-sdk/openai@3.0.84", "", { "dependencies": { "@ai-sdk/provider": "3.0.14", "@ai-sdk/provider-utils": "4.0.38" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "sha512-cmgbeJL0bbY0yTJH4/AdmP5E7MjWRL9G8UdhIi0JlV/So03o82ORJofW8OzwCZPTORVQblFbpZXYGDcUd9NdUQ=="], @@ -5676,8 +5677,6 @@ "@ai-sdk/google/@ai-sdk/provider-utils": ["@ai-sdk/provider-utils@4.0.27", "", { "dependencies": { "@ai-sdk/provider": "3.0.10", "@standard-schema/spec": "^1.1.0", "eventsource-parser": "^3.0.8" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "sha512-ubkAJ+xODouwtmN1tYlvTPphH1hPOBfZaEQe8U7skGvFAnIRs9PPpsq57bC2+Ky/MB4yzhd6YOsxTAx9sGpazw=="], - "@ai-sdk/google-vertex/@ai-sdk/anthropic": ["@ai-sdk/anthropic@3.0.110", "", { "dependencies": { "@ai-sdk/provider": "3.0.15", "@ai-sdk/provider-utils": "4.0.45" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "sha512-rNkamQCeAUOUGr5Npg5pXZyYFH4fS1U6Mbdy3dF/NNBEI3D2Chc/ruRrwNegP0gfpX3cllP3O4jSibGBbWPZ7A=="], - "@ai-sdk/google-vertex/@ai-sdk/google": ["@ai-sdk/google@3.0.108", "", { "dependencies": { "@ai-sdk/provider": "3.0.15", "@ai-sdk/provider-utils": "4.0.45" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "sha512-kwvYpRNghqt0VRKE7Hx1UWZQCUJJFqUITj24baxy+ApS0Hru0PkBJHD75a36Wc+e6e+wHcKR2MconTeJiBZigA=="], "@ai-sdk/google-vertex/@ai-sdk/openai-compatible": ["@ai-sdk/openai-compatible@2.0.67", "", { "dependencies": { "@ai-sdk/provider": "3.0.15", "@ai-sdk/provider-utils": "4.0.45" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "sha512-glcEJC2mBXJKj7joFI0fRhcbdDYKTBgXMPcT6Vcnlym67tTzuNG9pFx3zblxVv8TdOxhojJja5zGG19yeGJxuA=="], @@ -6160,8 +6159,6 @@ "ai-gateway-provider/@ai-sdk/amazon-bedrock": ["@ai-sdk/amazon-bedrock@4.0.153", "", { "dependencies": { "@ai-sdk/anthropic": "3.0.110", "@ai-sdk/openai": "3.0.96", "@ai-sdk/provider": "3.0.15", "@ai-sdk/provider-utils": "4.0.45", "@smithy/eventstream-codec": "^4.0.1", "@smithy/util-utf8": "^4.0.0", "aws4fetch": "^1.0.20" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "sha512-iEXrLgWylCHJmznqlKLU3CqRh8UWibv+illrwmsk136FVBBvyXiGnpQrI1pGWCScVLQjBQSFQu7GJDkUEomf/A=="], - "ai-gateway-provider/@ai-sdk/anthropic": ["@ai-sdk/anthropic@3.0.110", "", { "dependencies": { "@ai-sdk/provider": "3.0.15", "@ai-sdk/provider-utils": "4.0.45" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "sha512-rNkamQCeAUOUGr5Npg5pXZyYFH4fS1U6Mbdy3dF/NNBEI3D2Chc/ruRrwNegP0gfpX3cllP3O4jSibGBbWPZ7A=="], - "ai-gateway-provider/@ai-sdk/cerebras": ["@ai-sdk/cerebras@2.0.60", "", { "dependencies": { "@ai-sdk/openai-compatible": "2.0.54", "@ai-sdk/provider": "3.0.12", "@ai-sdk/provider-utils": "4.0.33" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "sha512-Rnok3cThg6awBwaDSyiZpgRpbV7pqxGYrA89LODCo5cuEHeP2h0AM0lLHP7zIkclAdXfOm4wldKi/S2T/DGCOw=="], "ai-gateway-provider/@ai-sdk/cohere": ["@ai-sdk/cohere@3.0.54", "", { "dependencies": { "@ai-sdk/provider": "3.0.15", "@ai-sdk/provider-utils": "4.0.45" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "sha512-cXLjIsSzUriPHe704IH6d+ipJ/OvczTB700p9Zma7DPgQzvxG/diyr8q/2LEsbTRiTopiKhky8dn1PJNQcJToQ=="], @@ -6576,6 +6573,8 @@ "@ai-sdk/anthropic/@ai-sdk/provider-utils/@standard-schema/spec": ["@standard-schema/spec@1.1.0", "", {}, "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w=="], + "@ai-sdk/anthropic/@ai-sdk/provider-utils/undici": ["undici@6.28.0", "", {}, "sha512-LIY910g9TI13YS95lrMFrs8Rm/u/irgHeTWoKCoteeJ04CUJ92eEfj0rVn+7VKMPBpUPiUoBKfhNyLI23EE/KA=="], + "@ai-sdk/azure/@ai-sdk/provider-utils/@standard-schema/spec": ["@standard-schema/spec@1.1.0", "", {}, "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w=="], "@ai-sdk/cerebras/@ai-sdk/provider-utils/@standard-schema/spec": ["@standard-schema/spec@1.1.0", "", {}, "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w=="], @@ -6984,10 +6983,6 @@ "ai-gateway-provider/@ai-sdk/amazon-bedrock/@smithy/util-utf8": ["@smithy/util-utf8@4.2.2", "", { "dependencies": { "@smithy/util-buffer-from": "^4.2.2", "tslib": "^2.6.2" } }, "sha512-75MeYpjdWRe8M5E3AW0O4Cx3UadweS+cwdXjwYGBW5h/gxxnbeZ877sLPX/ZJA9GVTlL/qG0dXP29JWFCD1Ayw=="], - "ai-gateway-provider/@ai-sdk/anthropic/@ai-sdk/provider": ["@ai-sdk/provider@3.0.15", "", { "dependencies": { "json-schema": "^0.4.0" } }, "sha512-XeZW1CcDF2GMbH4wejW6xBRI2QCOgnkVYUnxoeDadB1mf85riL2bMUeDoh+6gJ/r4mjNfzUPW8OjLjvwTP0u1Q=="], - - "ai-gateway-provider/@ai-sdk/anthropic/@ai-sdk/provider-utils": ["@ai-sdk/provider-utils@4.0.45", "", { "dependencies": { "@ai-sdk/provider": "3.0.15", "@standard-schema/spec": "^1.1.0", "eventsource-parser": "^3.0.8", "undici": "^5.29.0" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "sha512-7u5B/E2uZmU65SlJhhQGFHZwRCN0xOz4HHtFc4sEGV9PHbX3fGiEiZBpc/SABay1dGeJgK3VD60rvLGoWdWPXA=="], - "ai-gateway-provider/@ai-sdk/cerebras/@ai-sdk/openai-compatible": ["@ai-sdk/openai-compatible@2.0.54", "", { "dependencies": { "@ai-sdk/provider": "3.0.12", "@ai-sdk/provider-utils": "4.0.33" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "sha512-OyXt0zK8y2/ZIyWlbxTv2r1M7AK227S+Gl4BYOEF42q0wz1n5m4fwR8L4Fy/MQ4Ho6xje47MPsFcRdIqIyP6Rw=="], "ai-gateway-provider/@ai-sdk/cerebras/@ai-sdk/provider": ["@ai-sdk/provider@3.0.12", "", { "dependencies": { "json-schema": "^0.4.0" } }, "sha512-sj9DWTJ2Ze0WR9qsiOPqoqzNx3OxL6iMxHImbhvoe9qOspekbzxNDMiJ4TIGfYHYh9w4OmBjz3prvqhzTi96+Q=="], @@ -7434,10 +7429,6 @@ "ai-gateway-provider/@ai-sdk/amazon-bedrock/@ai-sdk/provider-utils/undici": ["undici@5.29.0", "", { "dependencies": { "@fastify/busboy": "^2.0.0" } }, "sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg=="], - "ai-gateway-provider/@ai-sdk/anthropic/@ai-sdk/provider-utils/@standard-schema/spec": ["@standard-schema/spec@1.1.0", "", {}, "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w=="], - - "ai-gateway-provider/@ai-sdk/anthropic/@ai-sdk/provider-utils/undici": ["undici@5.29.0", "", { "dependencies": { "@fastify/busboy": "^2.0.0" } }, "sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg=="], - "ai-gateway-provider/@ai-sdk/cerebras/@ai-sdk/provider-utils/@standard-schema/spec": ["@standard-schema/spec@1.1.0", "", {}, "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w=="], "ai-gateway-provider/@ai-sdk/cohere/@ai-sdk/provider-utils/@standard-schema/spec": ["@standard-schema/spec@1.1.0", "", {}, "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w=="], diff --git a/package.json b/package.json index 07144ccbdee2..dc4a813c5050 100644 --- a/package.json +++ b/package.json @@ -137,6 +137,7 @@ "electron" ], "overrides": { + "@ai-sdk/anthropic": "3.0.111", "@opentui/core": "catalog:", "@opentui/keymap": "catalog:", "@opentui/solid": "catalog:", @@ -160,6 +161,8 @@ "effect@4.0.0-beta.83": "patches/effect@4.0.0-beta.83.patch", "@tanstack/virtual-core@3.17.3": "patches/@tanstack%2Fvirtual-core@3.17.3.patch", "@ai-sdk/openai-compatible@2.0.41": "patches/@ai-sdk%2Fopenai-compatible@2.0.41.patch", - "@ai-sdk/groq@3.0.31": "patches/@ai-sdk%2Fgroq@3.0.31.patch" + "@ai-sdk/groq@3.0.31": "patches/@ai-sdk%2Fgroq@3.0.31.patch", + "@ai-sdk/anthropic@3.0.111": "patches/@ai-sdk%2Fanthropic@3.0.111.patch", + "@ai-sdk/amazon-bedrock@4.0.166": "patches/@ai-sdk%2Famazon-bedrock@4.0.166.patch" } } diff --git a/packages/core/package.json b/packages/core/package.json index ffd49ce5be85..7ba2346dd1fb 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -63,7 +63,7 @@ "dependencies": { "@ai-sdk/alibaba": "1.0.17", "@ai-sdk/amazon-bedrock": "4.0.166", - "@ai-sdk/anthropic": "3.0.82", + "@ai-sdk/anthropic": "3.0.111", "@ai-sdk/azure": "3.0.88", "@ai-sdk/cerebras": "2.0.41", "@ai-sdk/cohere": "3.0.27", diff --git a/packages/opencode/package.json b/packages/opencode/package.json index ac50498dee32..d81bbebae53f 100644 --- a/packages/opencode/package.json +++ b/packages/opencode/package.json @@ -57,7 +57,7 @@ "@agentclientprotocol/sdk": "0.21.0", "@ai-sdk/alibaba": "1.0.17", "@ai-sdk/amazon-bedrock": "4.0.166", - "@ai-sdk/anthropic": "3.0.82", + "@ai-sdk/anthropic": "3.0.111", "@ai-sdk/azure": "3.0.88", "@ai-sdk/cerebras": "2.0.60", "@ai-sdk/cohere": "3.0.27", diff --git a/packages/opencode/src/provider/transform.ts b/packages/opencode/src/provider/transform.ts index 28a5beb9abac..1244963e846f 100644 --- a/packages/opencode/src/provider/transform.ts +++ b/packages/opencode/src/provider/transform.ts @@ -684,6 +684,41 @@ function anthropicOmitsThinking(apiId: string) { return anthropicUsesModernAdaptiveThinking(apiId) } +// Opus 5, Sonnet 5, Fable 5.x, and Mythos 5.x think without a `thinking` parameter. +function anthropicThinksByDefault(apiId: string) { + const version = /claude-(?:[a-z]+-)?(\d+)(?:[.-](\d{1,2}))?(?:[.@-]|$)/i.exec(apiId) + if (!version) return false + return Number(version[1]) >= 5 +} + +// Fable 5.1 binds each thinking signature to the system prompt, tool list, and +// messages above it, and rejects the request when any of that changes. opencode +// re-renders parts of that prefix between turns (system prompt, tools, compaction), +// so ask the API to drop the affected blocks instead of failing the request. +// Models that do not run the check accept the field, so it is safe on every Claude. +// The patched AI SDK adds the thinking-binding-controls beta whenever it is set. +const ANTHROPIC_BLOCK_BINDING = { prefixMismatchBehavior: "drop_block" } + +function anthropicBlockBinding(model: Provider.Model, options: { [x: string]: any }) { + if (!model.api.id.toLowerCase().includes("claude")) return options + const byDefault = anthropicThinksByDefault(model.api.id) + switch (model.api.npm) { + case "@ai-sdk/anthropic": + case "@ai-sdk/google-vertex/anthropic": { + const thinking = options.thinking ?? (byDefault ? { type: "adaptive" } : undefined) + if (!thinking || (thinking.type !== "adaptive" && thinking.type !== "enabled")) return options + return { ...options, thinking: { ...thinking, blockBinding: ANTHROPIC_BLOCK_BINDING } } + } + case "@ai-sdk/amazon-bedrock": { + const reasoningConfig = options.reasoningConfig ?? (byDefault ? { type: "adaptive" } : undefined) + if (!reasoningConfig || (reasoningConfig.type !== "adaptive" && reasoningConfig.type !== "enabled")) + return options + return { ...options, reasoningConfig: { ...reasoningConfig, blockBinding: ANTHROPIC_BLOCK_BINDING } } + } + } + return options +} + function googleThinkingLevelEfforts(apiId: string) { const id = apiId.toLowerCase() if (!id.includes("gemini-3")) return ["low", "high"] @@ -1363,7 +1398,7 @@ export function providerOptions(model: Provider.Model, options: { [x: string]: a usesOpenAIReasoningGate && (model.capabilities.reasoning || options.reasoningEffort !== undefined || options.reasoningSummary !== undefined) ? { ...options, forceReasoning: true } - : options + : anthropicBlockBinding(model, options) if (model.api.npm === "@ai-sdk/gateway") { // Gateway providerOptions are split across two namespaces: diff --git a/packages/opencode/src/session/processor.ts b/packages/opencode/src/session/processor.ts index 20aa8a8404d8..9f8530929c15 100644 --- a/packages/opencode/src/session/processor.ts +++ b/packages/opencode/src/session/processor.ts @@ -435,6 +435,20 @@ const layer = Layer.effect( case "step-finish": { const completedSnapshot = yield* snapshot.track() yield* Effect.forEach(Object.keys(ctx.reasoningMap), finishReasoning) + // Anthropic reports thinking blocks it removed before the model saw the + // prompt. Prefix mismatches mean opencode changed history behind a signed + // block; log them so the churn can be tracked down. + const dropped = isRecord(value.providerMetadata?.anthropic) + ? value.providerMetadata.anthropic.inputTransformations + : undefined + if (Array.isArray(dropped) && dropped.length > 0) { + yield* Effect.logWarning("thinking blocks dropped by provider", { + sessionID: ctx.sessionID, + messageID: ctx.assistantMessage.id, + model: ctx.model.id, + transformations: JSON.stringify(dropped), + }) + } const usage = Session.getUsage({ model: ctx.model, usage: value.usage ?? new Usage({}), diff --git a/packages/opencode/test/provider/transform.test.ts b/packages/opencode/test/provider/transform.test.ts index 9245e3a57d2c..ed85f6920acf 100644 --- a/packages/opencode/test/provider/transform.test.ts +++ b/packages/opencode/test/provider/transform.test.ts @@ -7,6 +7,8 @@ import { ModelV2 } from "@opencode-ai/core/model" import { ModelsDev } from "@opencode-ai/core/models-dev" import { generateText, jsonSchema, type ModelMessage } from "ai" import { createAmazonBedrock } from "@ai-sdk/amazon-bedrock" +import { createAnthropic } from "@ai-sdk/anthropic" +import { createVertexAnthropic } from "@ai-sdk/google-vertex/anthropic" describe("ProviderTransform.options - setCacheKey", () => { const sessionID = "test-session-123" @@ -845,6 +847,199 @@ describe("ProviderTransform.providerOptions", () => { }) }) + describe("anthropic thinking block binding", () => { + const binding = { prefixMismatchBehavior: "drop_block" } + const claude = (npm: string, id: string) => + createModel({ providerID: "custom", api: { id, url: "https://example.com", npm } }) + + test("adds blockBinding to explicit adaptive thinking on @ai-sdk/anthropic", () => { + const model = claude("@ai-sdk/anthropic", "claude-opus-4-7") + expect(ProviderTransform.providerOptions(model, { thinking: { type: "adaptive" }, effort: "high" })).toEqual({ + anthropic: { thinking: { type: "adaptive", blockBinding: binding }, effort: "high" }, + }) + }) + + test("adds blockBinding to explicit enabled thinking", () => { + const model = claude("@ai-sdk/anthropic", "claude-sonnet-4-5") + expect(ProviderTransform.providerOptions(model, { thinking: { type: "enabled", budgetTokens: 4000 } })).toEqual({ + anthropic: { thinking: { type: "enabled", budgetTokens: 4000, blockBinding: binding } }, + }) + }) + + test("injects adaptive thinking for models that think by default when no variant is set", () => { + for (const id of ["claude-fable-5-1", "claude-mythos-5-1", "claude-opus-5", "claude-sonnet-5"]) { + const model = claude("@ai-sdk/anthropic", id) + expect(ProviderTransform.providerOptions(model, {})).toEqual({ + anthropic: { thinking: { type: "adaptive", blockBinding: binding } }, + }) + } + }) + + test("does not inject thinking for models that are off by default", () => { + for (const id of ["claude-opus-4-7", "claude-opus-4-5", "claude-sonnet-4-6", "claude-haiku-4-5"]) { + const model = claude("@ai-sdk/anthropic", id) + expect(ProviderTransform.providerOptions(model, {})).toEqual({ anthropic: {} }) + } + }) + + test("leaves disabled thinking alone", () => { + const model = claude("@ai-sdk/anthropic", "claude-sonnet-5") + expect(ProviderTransform.providerOptions(model, { thinking: { type: "disabled" } })).toEqual({ + anthropic: { thinking: { type: "disabled" } }, + }) + }) + + test("applies to vertex anthropic", () => { + const model = claude("@ai-sdk/google-vertex/anthropic", "claude-fable-5-1") + expect(ProviderTransform.providerOptions(model, { thinking: { type: "adaptive" }, effort: "max" })).toEqual({ + anthropic: { thinking: { type: "adaptive", blockBinding: binding }, effort: "max" }, + }) + }) + + test("applies to bedrock reasoningConfig", () => { + const model = claude("@ai-sdk/amazon-bedrock", "us.anthropic.claude-fable-5-1-v1:0") + expect( + ProviderTransform.providerOptions(model, { reasoningConfig: { type: "adaptive", maxReasoningEffort: "high" } }), + ).toEqual({ + bedrock: { reasoningConfig: { type: "adaptive", maxReasoningEffort: "high", blockBinding: binding } }, + }) + expect(ProviderTransform.providerOptions(model, {})).toEqual({ + bedrock: { reasoningConfig: { type: "adaptive", blockBinding: binding } }, + }) + }) + + test("does not touch bedrock non-anthropic models", () => { + const model = claude("@ai-sdk/amazon-bedrock", "amazon.nova-pro-v1:0") + expect(ProviderTransform.providerOptions(model, { reasoningConfig: { type: "enabled" } })).toEqual({ + bedrock: { reasoningConfig: { type: "enabled" } }, + }) + }) + + test("does not touch non-claude models on anthropic-compatible transports", () => { + const model = claude("@ai-sdk/anthropic", "kimi-k2-thinking") + expect(ProviderTransform.providerOptions(model, { thinking: { type: "adaptive" } })).toEqual({ + anthropic: { thinking: { type: "adaptive" } }, + }) + }) + + test("reaches the anthropic wire as block_binding plus beta header", async () => { + const model = claude("@ai-sdk/anthropic", "claude-fable-5-1") + let sent: { headers: Headers; body: any } | undefined + const provider = createAnthropic({ + apiKey: "test-key", + fetch: Object.assign( + async (...args: Parameters) => { + sent = { headers: new Headers(args[1]?.headers), body: JSON.parse(String(args[1]?.body)) } + return Response.json({ + type: "message", + id: "msg_1", + model: "claude-fable-5-1", + role: "assistant", + content: [{ type: "text", text: "ok" }], + stop_reason: "end_turn", + usage: { input_tokens: 1, output_tokens: 1 }, + input_transformations: [ + { type: "thinking_dropped", path: "messages.1.content.0", reason: "prefix_binding_mismatch" }, + ], + }) + }, + { preconnect: () => undefined }, + ), + }) + const result = await generateText({ + model: provider("claude-fable-5-1"), + prompt: "hi", + providerOptions: ProviderTransform.providerOptions(model, {}), + }) + expect(sent?.body.thinking).toEqual({ + type: "adaptive", + block_binding: { prefix_mismatch_behavior: "drop_block" }, + }) + expect(sent?.headers.get("anthropic-beta")?.split(",")).toContain("thinking-binding-controls-2026-08-01") + expect(result.providerMetadata?.anthropic?.inputTransformations).toEqual([ + { type: "thinking_dropped", path: "messages.1.content.0", reason: "prefix_binding_mismatch" }, + ]) + }) + + test("reaches the vertex anthropic wire as block_binding plus beta header", async () => { + const model = claude("@ai-sdk/google-vertex/anthropic", "claude-fable-5-1") + let sent: { url: string; headers: Headers; body: any } | undefined + const provider = createVertexAnthropic({ + project: "test-project", + location: "global", + generateAuthToken: async () => "test-token", + fetch: Object.assign( + async (...args: Parameters) => { + sent = { + url: String(args[0]), + headers: new Headers(args[1]?.headers), + body: JSON.parse(String(args[1]?.body)), + } + return Response.json({ + type: "message", + id: "msg_1", + model: "claude-fable-5-1", + role: "assistant", + content: [{ type: "text", text: "ok" }], + stop_reason: "end_turn", + usage: { input_tokens: 1, output_tokens: 1 }, + }) + }, + { preconnect: () => undefined }, + ), + }) + await generateText({ + model: provider("claude-fable-5-1"), + prompt: "hi", + providerOptions: ProviderTransform.providerOptions(model, {}), + }) + // Same wire shape Anthropic's own Vertex SDK produces: rawPredict URL, model moved + // out of the body, anthropic_version added, betas carried in the anthropic-beta header. + expect(sent?.url).toBe( + "https://aiplatform.googleapis.com/v1/projects/test-project/locations/global/publishers/anthropic/models/claude-fable-5-1:rawPredict", + ) + expect(sent?.body.model).toBeUndefined() + expect(sent?.body.anthropic_version).toBe("vertex-2023-10-16") + expect(sent?.body.thinking).toEqual({ + type: "adaptive", + block_binding: { prefix_mismatch_behavior: "drop_block" }, + }) + expect(sent?.headers.get("anthropic-beta")?.split(",")).toContain("thinking-binding-controls-2026-08-01") + }) + + test("reaches the bedrock wire as additionalModelRequestFields", async () => { + const model = claude("@ai-sdk/amazon-bedrock", "us.anthropic.claude-fable-5-1-v1:0") + let body: any + const provider = createAmazonBedrock({ + apiKey: "test-key", + region: "us-east-1", + fetch: Object.assign( + async (...args: Parameters) => { + body = JSON.parse(String(args[1]?.body)) + return Response.json({ + output: { message: { role: "assistant", content: [{ text: "ok" }] } }, + stopReason: "end_turn", + usage: { inputTokens: 1, outputTokens: 1, totalTokens: 2 }, + }) + }, + { preconnect: () => undefined }, + ), + }) + await generateText({ + model: provider("us.anthropic.claude-fable-5-1-v1:0"), + prompt: "hi", + providerOptions: ProviderTransform.providerOptions(model, { + reasoningConfig: { type: "adaptive", maxReasoningEffort: "high" }, + }), + }) + expect(body.additionalModelRequestFields.thinking).toEqual({ + type: "adaptive", + block_binding: { prefix_mismatch_behavior: "drop_block" }, + }) + expect(body.additionalModelRequestFields.anthropic_beta).toContain("thinking-binding-controls-2026-08-01") + }) + }) + test("forces reasoning for explicit effort even when model is not marked reasoning-capable", () => { const model = createModel({ capabilities: { diff --git a/patches/@ai-sdk%2Famazon-bedrock@4.0.166.patch b/patches/@ai-sdk%2Famazon-bedrock@4.0.166.patch new file mode 100644 index 000000000000..96fd15106e46 --- /dev/null +++ b/patches/@ai-sdk%2Famazon-bedrock@4.0.166.patch @@ -0,0 +1,144 @@ +diff --git a/dist/index.d.mts b/dist/index.d.mts +index d194ae227fd1223ba44c8c5157b1bb72b1bab273..2e046db0a365c27659ffcec08782c7c26845c1fa 100644 +--- a/dist/index.d.mts ++++ b/dist/index.d.mts +@@ -61,6 +61,12 @@ declare const amazonBedrockLanguageModelOptions: z.ZodObject<{ + omitted: "omitted"; + summarized: "summarized"; + }>>; ++ blockBinding: z.ZodOptional; ++ }, z.core.$strip>>; + }, z.core.$strip>>; + anthropicBeta: z.ZodOptional>; + serviceTier: z.ZodOptional>; ++ blockBinding: z.ZodOptional; ++ }, z.core.$strip>>; + }, z.core.$strip>>; + anthropicBeta: z.ZodOptional>; + serviceTier: z.ZodOptional 0 || bedrockOptions.anthropicBeta) { + const existingBetas = (_g = bedrockOptions.anthropicBeta) != null ? _g : []; + const mergedBetas = betas.size > 0 ? [...existingBetas, ...Array.from(betas)] : existingBetas; +@@ -1050,7 +1057,12 @@ var BedrockChatLanguageModel = class { + ...bedrockOptions.additionalModelRequestFields, + thinking: { + type: "enabled", +- budget_tokens: thinkingBudget ++ budget_tokens: thinkingBudget, ++ ...thinkingBlockBinding != null && { ++ block_binding: { ++ prefix_mismatch_behavior: thinkingBlockBinding.prefixMismatchBehavior ++ } ++ } + } + }; + } else if (thinkingType === "adaptive") { +@@ -1058,7 +1070,12 @@ var BedrockChatLanguageModel = class { + ...bedrockOptions.additionalModelRequestFields, + thinking: { + type: "adaptive", +- ...thinkingDisplay != null && { display: thinkingDisplay } ++ ...thinkingDisplay != null && { display: thinkingDisplay }, ++ ...thinkingBlockBinding != null && { ++ block_binding: { ++ prefix_mismatch_behavior: thinkingBlockBinding.prefixMismatchBehavior ++ } ++ } + } + }; + } +diff --git a/dist/index.mjs b/dist/index.mjs +index 5a669504cb3b21f20788956bc9c22529c1498c35..000114dfe76cba25ddfe693f042232810026c229 100644 +--- a/dist/index.mjs ++++ b/dist/index.mjs +@@ -84,7 +84,10 @@ var amazonBedrockLanguageModelOptions = z.object({ + ]).optional(), + budgetTokens: z.number().optional(), + maxReasoningEffort: z.enum(["low", "medium", "high", "xhigh", "max"]).optional(), +- display: z.enum(["omitted", "summarized"]).optional() ++ display: z.enum(["omitted", "summarized"]).optional(), ++ blockBinding: z.object({ ++ prefixMismatchBehavior: z.enum(["error", "drop_block"]) ++ }).optional() + }).optional(), + /** + * Anthropic beta features to enable +@@ -1024,6 +1027,10 @@ var BedrockChatLanguageModel = class { + ...additionalTools + }; + } ++ const thinkingBlockBinding = isAnthropicModel && isThinkingEnabled ? (bedrockOptions.reasoningConfig == null ? void 0 : bedrockOptions.reasoningConfig.blockBinding) : void 0; ++ if (thinkingBlockBinding != null) { ++ betas.add("thinking-binding-controls-2026-08-01"); ++ } + if (betas.size > 0 || bedrockOptions.anthropicBeta) { + const existingBetas = (_g = bedrockOptions.anthropicBeta) != null ? _g : []; + const mergedBetas = betas.size > 0 ? [...existingBetas, ...Array.from(betas)] : existingBetas; +@@ -1054,7 +1061,12 @@ var BedrockChatLanguageModel = class { + ...bedrockOptions.additionalModelRequestFields, + thinking: { + type: "enabled", +- budget_tokens: thinkingBudget ++ budget_tokens: thinkingBudget, ++ ...thinkingBlockBinding != null && { ++ block_binding: { ++ prefix_mismatch_behavior: thinkingBlockBinding.prefixMismatchBehavior ++ } ++ } + } + }; + } else if (thinkingType === "adaptive") { +@@ -1062,7 +1074,12 @@ var BedrockChatLanguageModel = class { + ...bedrockOptions.additionalModelRequestFields, + thinking: { + type: "adaptive", +- ...thinkingDisplay != null && { display: thinkingDisplay } ++ ...thinkingDisplay != null && { display: thinkingDisplay }, ++ ...thinkingBlockBinding != null && { ++ block_binding: { ++ prefix_mismatch_behavior: thinkingBlockBinding.prefixMismatchBehavior ++ } ++ } + } + }; + } diff --git a/patches/@ai-sdk%2Fanthropic@3.0.111.patch b/patches/@ai-sdk%2Fanthropic@3.0.111.patch new file mode 100644 index 000000000000..82003f9c2088 --- /dev/null +++ b/patches/@ai-sdk%2Fanthropic@3.0.111.patch @@ -0,0 +1,528 @@ +diff --git a/dist/index.d.mts b/dist/index.d.mts +index a66d061f466c89a57efec33f37b7daabaaba2892..15f1b2aca0c0b43e5e1f8baddd2669c074912d18 100644 +--- a/dist/index.d.mts ++++ b/dist/index.d.mts +@@ -211,9 +211,21 @@ declare const anthropicLanguageModelOptions: z.ZodObject<{ + omitted: "omitted"; + summarized: "summarized"; + }>>; ++ blockBinding: z.ZodOptional; ++ }, z.core.$strip>>; + }, z.core.$strip>, z.ZodObject<{ + type: z.ZodLiteral<"enabled">; + budgetTokens: z.ZodOptional; ++ blockBinding: z.ZodOptional; ++ }, z.core.$strip>>; + }, z.core.$strip>, z.ZodObject<{ + type: z.ZodLiteral<"disabled">; + }, z.core.$strip>]>>; +diff --git a/dist/index.d.ts b/dist/index.d.ts +index a66d061f466c89a57efec33f37b7daabaaba2892..15f1b2aca0c0b43e5e1f8baddd2669c074912d18 100644 +--- a/dist/index.d.ts ++++ b/dist/index.d.ts +@@ -211,9 +211,21 @@ declare const anthropicLanguageModelOptions: z.ZodObject<{ + omitted: "omitted"; + summarized: "summarized"; + }>>; ++ blockBinding: z.ZodOptional; ++ }, z.core.$strip>>; + }, z.core.$strip>, z.ZodObject<{ + type: z.ZodLiteral<"enabled">; + budgetTokens: z.ZodOptional; ++ blockBinding: z.ZodOptional; ++ }, z.core.$strip>>; + }, z.core.$strip>, z.ZodObject<{ + type: z.ZodLiteral<"disabled">; + }, z.core.$strip>]>>; +diff --git a/dist/index.js b/dist/index.js +index 88c1aa865339baa320cf80ec543bed865825bc61..5006e82b0edd9676d1650cc94ecb573a2810acce 100644 +--- a/dist/index.js ++++ b/dist/index.js +@@ -85,6 +85,13 @@ var anthropicMessagesResponseSchema = (0, import_provider_utils2.lazySchema)( + type: import_v42.z.literal("message"), + id: import_v42.z.string().nullish(), + model: import_v42.z.string().nullish(), ++ input_transformations: import_v42.z.array( ++ import_v42.z.looseObject({ ++ type: import_v42.z.string(), ++ path: import_v42.z.string().nullish(), ++ reason: import_v42.z.string().nullish() ++ }) ++ ).nullish(), + content: import_v42.z.array( + import_v42.z.discriminatedUnion("type", [ + import_v42.z.object({ +@@ -424,6 +431,13 @@ var anthropicMessagesChunkSchema = (0, import_provider_utils2.lazySchema)( + id: import_v42.z.string().nullish(), + model: import_v42.z.string().nullish(), + role: import_v42.z.string().nullish(), ++ input_transformations: import_v42.z.array( ++ import_v42.z.looseObject({ ++ type: import_v42.z.string(), ++ path: import_v42.z.string().nullish(), ++ reason: import_v42.z.string().nullish() ++ }) ++ ).nullish(), + usage: import_v42.z.looseObject({ + input_tokens: import_v42.z.number(), + cache_creation_input_tokens: import_v42.z.number().nullish(), +@@ -923,12 +937,18 @@ var anthropicLanguageModelOptions = import_v43.z.object({ + * - `"omitted"`: Thinking blocks are present but text is empty (default for Opus 4.7+). + * - `"summarized"`: Thinking content is returned. Required to see reasoning output. + */ +- display: import_v43.z.enum(["omitted", "summarized"]).optional() ++ display: import_v43.z.enum(["omitted", "summarized"]).optional(), ++ blockBinding: import_v43.z.object({ ++ prefixMismatchBehavior: import_v43.z.enum(["error", "drop_block"]) ++ }).optional() + }), + import_v43.z.object({ + /** for models before Opus 4.6, except Sonnet 4.6 still supports it */ + type: import_v43.z.literal("enabled"), +- budgetTokens: import_v43.z.number().optional() ++ budgetTokens: import_v43.z.number().optional(), ++ blockBinding: import_v43.z.object({ ++ prefixMismatchBehavior: import_v43.z.enum(["error", "drop_block"]) ++ }).optional() + }), + import_v43.z.object({ + type: import_v43.z.literal("disabled") +@@ -3568,6 +3588,7 @@ var AnthropicMessagesLanguageModel = class { + const sendThinking = isThinking || thinkingType === "disabled"; + let thinkingBudget = thinkingType === "enabled" ? (_g = anthropicOptions == null ? void 0 : anthropicOptions.thinking) == null ? void 0 : _g.budgetTokens : void 0; + const thinkingDisplay = thinkingType === "adaptive" ? (_h = anthropicOptions == null ? void 0 : anthropicOptions.thinking) == null ? void 0 : _h.display : void 0; ++ const thinkingBlockBinding = isThinking ? (anthropicOptions == null ? void 0 : anthropicOptions.thinking) == null ? void 0 : anthropicOptions.thinking.blockBinding : void 0; + const maxTokens = maxOutputTokens != null ? maxOutputTokens : maxOutputTokensForModel; + const baseArgs = { + // model id: +@@ -3583,7 +3604,12 @@ var AnthropicMessagesLanguageModel = class { + thinking: { + type: thinkingType, + ...thinkingBudget != null && { budget_tokens: thinkingBudget }, +- ...thinkingDisplay != null && { display: thinkingDisplay } ++ ...thinkingDisplay != null && { display: thinkingDisplay }, ++ ...thinkingBlockBinding != null && { ++ block_binding: { ++ prefix_mismatch_behavior: thinkingBlockBinding.prefixMismatchBehavior ++ } ++ } + } + }, + ...((anthropicOptions == null ? void 0 : anthropicOptions.effort) || (anthropicOptions == null ? void 0 : anthropicOptions.taskBudget) || useStructuredOutput && (responseFormat == null ? void 0 : responseFormat.type) === "json" && responseFormat.schema != null) && { +@@ -3798,6 +3824,9 @@ var AnthropicMessagesLanguageModel = class { + } else if ((anthropicOptions == null ? void 0 : anthropicOptions.fallbacks) && anthropicOptions.fallbacks.length > 0) { + betas.add("server-side-fallback-2026-06-01"); + } ++ if (thinkingBlockBinding != null) { ++ betas.add("thinking-binding-controls-2026-08-01"); ++ } + const defaultEagerInputStreaming = stream && ((_j = anthropicOptions == null ? void 0 : anthropicOptions.toolStreaming) != null ? _j : true); + const { + tools: anthropicTools2, +@@ -4364,6 +4393,7 @@ var AnthropicMessagesLanguageModel = class { + cacheCreationInputTokens: (_a2 = response.usage.cache_creation_input_tokens) != null ? _a2 : null, + stopSequence: (_b2 = response.stop_sequence) != null ? _b2 : null, + ...stopDetails != null ? { stopDetails } : {}, ++ ...response.input_transformations != null ? { inputTransformations: response.input_transformations } : {}, + iterations: response.usage.iterations ? response.usage.iterations.map( + (iter) => ({ + type: iter.type, +@@ -4453,6 +4483,7 @@ var AnthropicMessagesLanguageModel = class { + let cacheCreationInputTokens = null; + let stopSequence = null; + let stopDetails = void 0; ++ let inputTransformations = void 0; + let container = null; + let isJsonResponseFromTool = false; + let isMessageOpen = false; +@@ -5111,6 +5142,9 @@ var AnthropicMessagesLanguageModel = class { + isMessageOpen = true; + activeMessageId = value.message.id; + usage.input_tokens = value.message.usage.input_tokens; ++ if (value.message.input_transformations != null) { ++ inputTransformations = value.message.input_transformations; ++ } + usage.cache_read_input_tokens = (_e = value.message.usage.cache_read_input_tokens) != null ? _e : 0; + usage.cache_creation_input_tokens = (_f = value.message.usage.cache_creation_input_tokens) != null ? _f : 0; + rawUsage = { +@@ -5231,6 +5265,7 @@ var AnthropicMessagesLanguageModel = class { + cacheCreationInputTokens, + stopSequence, + ...stopDetails != null ? { stopDetails } : {}, ++ ...inputTransformations != null ? { inputTransformations } : {}, + iterations: usage.iterations ? usage.iterations.map( + (iter) => ({ + type: iter.type, +diff --git a/dist/index.mjs b/dist/index.mjs +index 593b030c7f2adbe0cd38556b7a74f5ede6a5435e..1fa36ccb119715df3cd00976e479c679c66d2261 100644 +--- a/dist/index.mjs ++++ b/dist/index.mjs +@@ -85,6 +85,13 @@ var anthropicMessagesResponseSchema = lazySchema2( + type: z2.literal("message"), + id: z2.string().nullish(), + model: z2.string().nullish(), ++ input_transformations: z2.array( ++ z2.looseObject({ ++ type: z2.string(), ++ path: z2.string().nullish(), ++ reason: z2.string().nullish() ++ }) ++ ).nullish(), + content: z2.array( + z2.discriminatedUnion("type", [ + z2.object({ +@@ -424,6 +431,13 @@ var anthropicMessagesChunkSchema = lazySchema2( + id: z2.string().nullish(), + model: z2.string().nullish(), + role: z2.string().nullish(), ++ input_transformations: z2.array( ++ z2.looseObject({ ++ type: z2.string(), ++ path: z2.string().nullish(), ++ reason: z2.string().nullish() ++ }) ++ ).nullish(), + usage: z2.looseObject({ + input_tokens: z2.number(), + cache_creation_input_tokens: z2.number().nullish(), +@@ -923,12 +937,18 @@ var anthropicLanguageModelOptions = z3.object({ + * - `"omitted"`: Thinking blocks are present but text is empty (default for Opus 4.7+). + * - `"summarized"`: Thinking content is returned. Required to see reasoning output. + */ +- display: z3.enum(["omitted", "summarized"]).optional() ++ display: z3.enum(["omitted", "summarized"]).optional(), ++ blockBinding: z3.object({ ++ prefixMismatchBehavior: z3.enum(["error", "drop_block"]) ++ }).optional() + }), + z3.object({ + /** for models before Opus 4.6, except Sonnet 4.6 still supports it */ + type: z3.literal("enabled"), +- budgetTokens: z3.number().optional() ++ budgetTokens: z3.number().optional(), ++ blockBinding: z3.object({ ++ prefixMismatchBehavior: z3.enum(["error", "drop_block"]) ++ }).optional() + }), + z3.object({ + type: z3.literal("disabled") +@@ -3620,6 +3640,7 @@ var AnthropicMessagesLanguageModel = class { + const sendThinking = isThinking || thinkingType === "disabled"; + let thinkingBudget = thinkingType === "enabled" ? (_g = anthropicOptions == null ? void 0 : anthropicOptions.thinking) == null ? void 0 : _g.budgetTokens : void 0; + const thinkingDisplay = thinkingType === "adaptive" ? (_h = anthropicOptions == null ? void 0 : anthropicOptions.thinking) == null ? void 0 : _h.display : void 0; ++ const thinkingBlockBinding = isThinking ? (anthropicOptions == null ? void 0 : anthropicOptions.thinking) == null ? void 0 : anthropicOptions.thinking.blockBinding : void 0; + const maxTokens = maxOutputTokens != null ? maxOutputTokens : maxOutputTokensForModel; + const baseArgs = { + // model id: +@@ -3635,7 +3656,12 @@ var AnthropicMessagesLanguageModel = class { + thinking: { + type: thinkingType, + ...thinkingBudget != null && { budget_tokens: thinkingBudget }, +- ...thinkingDisplay != null && { display: thinkingDisplay } ++ ...thinkingDisplay != null && { display: thinkingDisplay }, ++ ...thinkingBlockBinding != null && { ++ block_binding: { ++ prefix_mismatch_behavior: thinkingBlockBinding.prefixMismatchBehavior ++ } ++ } + } + }, + ...((anthropicOptions == null ? void 0 : anthropicOptions.effort) || (anthropicOptions == null ? void 0 : anthropicOptions.taskBudget) || useStructuredOutput && (responseFormat == null ? void 0 : responseFormat.type) === "json" && responseFormat.schema != null) && { +@@ -3850,6 +3876,9 @@ var AnthropicMessagesLanguageModel = class { + } else if ((anthropicOptions == null ? void 0 : anthropicOptions.fallbacks) && anthropicOptions.fallbacks.length > 0) { + betas.add("server-side-fallback-2026-06-01"); + } ++ if (thinkingBlockBinding != null) { ++ betas.add("thinking-binding-controls-2026-08-01"); ++ } + const defaultEagerInputStreaming = stream && ((_j = anthropicOptions == null ? void 0 : anthropicOptions.toolStreaming) != null ? _j : true); + const { + tools: anthropicTools2, +@@ -4416,6 +4445,7 @@ var AnthropicMessagesLanguageModel = class { + cacheCreationInputTokens: (_a2 = response.usage.cache_creation_input_tokens) != null ? _a2 : null, + stopSequence: (_b2 = response.stop_sequence) != null ? _b2 : null, + ...stopDetails != null ? { stopDetails } : {}, ++ ...response.input_transformations != null ? { inputTransformations: response.input_transformations } : {}, + iterations: response.usage.iterations ? response.usage.iterations.map( + (iter) => ({ + type: iter.type, +@@ -4505,6 +4535,7 @@ var AnthropicMessagesLanguageModel = class { + let cacheCreationInputTokens = null; + let stopSequence = null; + let stopDetails = void 0; ++ let inputTransformations = void 0; + let container = null; + let isJsonResponseFromTool = false; + let isMessageOpen = false; +@@ -5163,6 +5194,9 @@ var AnthropicMessagesLanguageModel = class { + isMessageOpen = true; + activeMessageId = value.message.id; + usage.input_tokens = value.message.usage.input_tokens; ++ if (value.message.input_transformations != null) { ++ inputTransformations = value.message.input_transformations; ++ } + usage.cache_read_input_tokens = (_e = value.message.usage.cache_read_input_tokens) != null ? _e : 0; + usage.cache_creation_input_tokens = (_f = value.message.usage.cache_creation_input_tokens) != null ? _f : 0; + rawUsage = { +@@ -5283,6 +5317,7 @@ var AnthropicMessagesLanguageModel = class { + cacheCreationInputTokens, + stopSequence, + ...stopDetails != null ? { stopDetails } : {}, ++ ...inputTransformations != null ? { inputTransformations } : {}, + iterations: usage.iterations ? usage.iterations.map( + (iter) => ({ + type: iter.type, +diff --git a/dist/internal/index.js b/dist/internal/index.js +index 701ca5a333d83d384f682667b9976b7f72b0de37..ce53d0c9fe5c00a092b0347b45d61d8ce9c3a79a 100644 +--- a/dist/internal/index.js ++++ b/dist/internal/index.js +@@ -79,6 +79,13 @@ var anthropicMessagesResponseSchema = (0, import_provider_utils2.lazySchema)( + type: import_v42.z.literal("message"), + id: import_v42.z.string().nullish(), + model: import_v42.z.string().nullish(), ++ input_transformations: import_v42.z.array( ++ import_v42.z.looseObject({ ++ type: import_v42.z.string(), ++ path: import_v42.z.string().nullish(), ++ reason: import_v42.z.string().nullish() ++ }) ++ ).nullish(), + content: import_v42.z.array( + import_v42.z.discriminatedUnion("type", [ + import_v42.z.object({ +@@ -418,6 +425,13 @@ var anthropicMessagesChunkSchema = (0, import_provider_utils2.lazySchema)( + id: import_v42.z.string().nullish(), + model: import_v42.z.string().nullish(), + role: import_v42.z.string().nullish(), ++ input_transformations: import_v42.z.array( ++ import_v42.z.looseObject({ ++ type: import_v42.z.string(), ++ path: import_v42.z.string().nullish(), ++ reason: import_v42.z.string().nullish() ++ }) ++ ).nullish(), + usage: import_v42.z.looseObject({ + input_tokens: import_v42.z.number(), + cache_creation_input_tokens: import_v42.z.number().nullish(), +@@ -917,12 +931,18 @@ var anthropicLanguageModelOptions = import_v43.z.object({ + * - `"omitted"`: Thinking blocks are present but text is empty (default for Opus 4.7+). + * - `"summarized"`: Thinking content is returned. Required to see reasoning output. + */ +- display: import_v43.z.enum(["omitted", "summarized"]).optional() ++ display: import_v43.z.enum(["omitted", "summarized"]).optional(), ++ blockBinding: import_v43.z.object({ ++ prefixMismatchBehavior: import_v43.z.enum(["error", "drop_block"]) ++ }).optional() + }), + import_v43.z.object({ + /** for models before Opus 4.6, except Sonnet 4.6 still supports it */ + type: import_v43.z.literal("enabled"), +- budgetTokens: import_v43.z.number().optional() ++ budgetTokens: import_v43.z.number().optional(), ++ blockBinding: import_v43.z.object({ ++ prefixMismatchBehavior: import_v43.z.enum(["error", "drop_block"]) ++ }).optional() + }), + import_v43.z.object({ + type: import_v43.z.literal("disabled") +@@ -3562,6 +3582,7 @@ var AnthropicMessagesLanguageModel = class { + const sendThinking = isThinking || thinkingType === "disabled"; + let thinkingBudget = thinkingType === "enabled" ? (_g = anthropicOptions == null ? void 0 : anthropicOptions.thinking) == null ? void 0 : _g.budgetTokens : void 0; + const thinkingDisplay = thinkingType === "adaptive" ? (_h = anthropicOptions == null ? void 0 : anthropicOptions.thinking) == null ? void 0 : _h.display : void 0; ++ const thinkingBlockBinding = isThinking ? (anthropicOptions == null ? void 0 : anthropicOptions.thinking) == null ? void 0 : anthropicOptions.thinking.blockBinding : void 0; + const maxTokens = maxOutputTokens != null ? maxOutputTokens : maxOutputTokensForModel; + const baseArgs = { + // model id: +@@ -3577,7 +3598,12 @@ var AnthropicMessagesLanguageModel = class { + thinking: { + type: thinkingType, + ...thinkingBudget != null && { budget_tokens: thinkingBudget }, +- ...thinkingDisplay != null && { display: thinkingDisplay } ++ ...thinkingDisplay != null && { display: thinkingDisplay }, ++ ...thinkingBlockBinding != null && { ++ block_binding: { ++ prefix_mismatch_behavior: thinkingBlockBinding.prefixMismatchBehavior ++ } ++ } + } + }, + ...((anthropicOptions == null ? void 0 : anthropicOptions.effort) || (anthropicOptions == null ? void 0 : anthropicOptions.taskBudget) || useStructuredOutput && (responseFormat == null ? void 0 : responseFormat.type) === "json" && responseFormat.schema != null) && { +@@ -3792,6 +3818,9 @@ var AnthropicMessagesLanguageModel = class { + } else if ((anthropicOptions == null ? void 0 : anthropicOptions.fallbacks) && anthropicOptions.fallbacks.length > 0) { + betas.add("server-side-fallback-2026-06-01"); + } ++ if (thinkingBlockBinding != null) { ++ betas.add("thinking-binding-controls-2026-08-01"); ++ } + const defaultEagerInputStreaming = stream && ((_j = anthropicOptions == null ? void 0 : anthropicOptions.toolStreaming) != null ? _j : true); + const { + tools: anthropicTools2, +@@ -4358,6 +4387,7 @@ var AnthropicMessagesLanguageModel = class { + cacheCreationInputTokens: (_a2 = response.usage.cache_creation_input_tokens) != null ? _a2 : null, + stopSequence: (_b2 = response.stop_sequence) != null ? _b2 : null, + ...stopDetails != null ? { stopDetails } : {}, ++ ...response.input_transformations != null ? { inputTransformations: response.input_transformations } : {}, + iterations: response.usage.iterations ? response.usage.iterations.map( + (iter) => ({ + type: iter.type, +@@ -4447,6 +4477,7 @@ var AnthropicMessagesLanguageModel = class { + let cacheCreationInputTokens = null; + let stopSequence = null; + let stopDetails = void 0; ++ let inputTransformations = void 0; + let container = null; + let isJsonResponseFromTool = false; + let isMessageOpen = false; +@@ -5105,6 +5136,9 @@ var AnthropicMessagesLanguageModel = class { + isMessageOpen = true; + activeMessageId = value.message.id; + usage.input_tokens = value.message.usage.input_tokens; ++ if (value.message.input_transformations != null) { ++ inputTransformations = value.message.input_transformations; ++ } + usage.cache_read_input_tokens = (_e = value.message.usage.cache_read_input_tokens) != null ? _e : 0; + usage.cache_creation_input_tokens = (_f = value.message.usage.cache_creation_input_tokens) != null ? _f : 0; + rawUsage = { +@@ -5225,6 +5259,7 @@ var AnthropicMessagesLanguageModel = class { + cacheCreationInputTokens, + stopSequence, + ...stopDetails != null ? { stopDetails } : {}, ++ ...inputTransformations != null ? { inputTransformations } : {}, + iterations: usage.iterations ? usage.iterations.map( + (iter) => ({ + type: iter.type, +diff --git a/dist/internal/index.mjs b/dist/internal/index.mjs +index c11f29fa42a9ce6a5681d43c609020f1f4a616da..df7f7a01992a56826eb809e6cdfb1e50a87a1b90 100644 +--- a/dist/internal/index.mjs ++++ b/dist/internal/index.mjs +@@ -69,6 +69,13 @@ var anthropicMessagesResponseSchema = lazySchema2( + type: z2.literal("message"), + id: z2.string().nullish(), + model: z2.string().nullish(), ++ input_transformations: z2.array( ++ z2.looseObject({ ++ type: z2.string(), ++ path: z2.string().nullish(), ++ reason: z2.string().nullish() ++ }) ++ ).nullish(), + content: z2.array( + z2.discriminatedUnion("type", [ + z2.object({ +@@ -408,6 +415,13 @@ var anthropicMessagesChunkSchema = lazySchema2( + id: z2.string().nullish(), + model: z2.string().nullish(), + role: z2.string().nullish(), ++ input_transformations: z2.array( ++ z2.looseObject({ ++ type: z2.string(), ++ path: z2.string().nullish(), ++ reason: z2.string().nullish() ++ }) ++ ).nullish(), + usage: z2.looseObject({ + input_tokens: z2.number(), + cache_creation_input_tokens: z2.number().nullish(), +@@ -907,12 +921,18 @@ var anthropicLanguageModelOptions = z3.object({ + * - `"omitted"`: Thinking blocks are present but text is empty (default for Opus 4.7+). + * - `"summarized"`: Thinking content is returned. Required to see reasoning output. + */ +- display: z3.enum(["omitted", "summarized"]).optional() ++ display: z3.enum(["omitted", "summarized"]).optional(), ++ blockBinding: z3.object({ ++ prefixMismatchBehavior: z3.enum(["error", "drop_block"]) ++ }).optional() + }), + z3.object({ + /** for models before Opus 4.6, except Sonnet 4.6 still supports it */ + type: z3.literal("enabled"), +- budgetTokens: z3.number().optional() ++ budgetTokens: z3.number().optional(), ++ blockBinding: z3.object({ ++ prefixMismatchBehavior: z3.enum(["error", "drop_block"]) ++ }).optional() + }), + z3.object({ + type: z3.literal("disabled") +@@ -3604,6 +3624,7 @@ var AnthropicMessagesLanguageModel = class { + const sendThinking = isThinking || thinkingType === "disabled"; + let thinkingBudget = thinkingType === "enabled" ? (_g = anthropicOptions == null ? void 0 : anthropicOptions.thinking) == null ? void 0 : _g.budgetTokens : void 0; + const thinkingDisplay = thinkingType === "adaptive" ? (_h = anthropicOptions == null ? void 0 : anthropicOptions.thinking) == null ? void 0 : _h.display : void 0; ++ const thinkingBlockBinding = isThinking ? (anthropicOptions == null ? void 0 : anthropicOptions.thinking) == null ? void 0 : anthropicOptions.thinking.blockBinding : void 0; + const maxTokens = maxOutputTokens != null ? maxOutputTokens : maxOutputTokensForModel; + const baseArgs = { + // model id: +@@ -3619,7 +3640,12 @@ var AnthropicMessagesLanguageModel = class { + thinking: { + type: thinkingType, + ...thinkingBudget != null && { budget_tokens: thinkingBudget }, +- ...thinkingDisplay != null && { display: thinkingDisplay } ++ ...thinkingDisplay != null && { display: thinkingDisplay }, ++ ...thinkingBlockBinding != null && { ++ block_binding: { ++ prefix_mismatch_behavior: thinkingBlockBinding.prefixMismatchBehavior ++ } ++ } + } + }, + ...((anthropicOptions == null ? void 0 : anthropicOptions.effort) || (anthropicOptions == null ? void 0 : anthropicOptions.taskBudget) || useStructuredOutput && (responseFormat == null ? void 0 : responseFormat.type) === "json" && responseFormat.schema != null) && { +@@ -3834,6 +3860,9 @@ var AnthropicMessagesLanguageModel = class { + } else if ((anthropicOptions == null ? void 0 : anthropicOptions.fallbacks) && anthropicOptions.fallbacks.length > 0) { + betas.add("server-side-fallback-2026-06-01"); + } ++ if (thinkingBlockBinding != null) { ++ betas.add("thinking-binding-controls-2026-08-01"); ++ } + const defaultEagerInputStreaming = stream && ((_j = anthropicOptions == null ? void 0 : anthropicOptions.toolStreaming) != null ? _j : true); + const { + tools: anthropicTools2, +@@ -4400,6 +4429,7 @@ var AnthropicMessagesLanguageModel = class { + cacheCreationInputTokens: (_a2 = response.usage.cache_creation_input_tokens) != null ? _a2 : null, + stopSequence: (_b2 = response.stop_sequence) != null ? _b2 : null, + ...stopDetails != null ? { stopDetails } : {}, ++ ...response.input_transformations != null ? { inputTransformations: response.input_transformations } : {}, + iterations: response.usage.iterations ? response.usage.iterations.map( + (iter) => ({ + type: iter.type, +@@ -4489,6 +4519,7 @@ var AnthropicMessagesLanguageModel = class { + let cacheCreationInputTokens = null; + let stopSequence = null; + let stopDetails = void 0; ++ let inputTransformations = void 0; + let container = null; + let isJsonResponseFromTool = false; + let isMessageOpen = false; +@@ -5147,6 +5178,9 @@ var AnthropicMessagesLanguageModel = class { + isMessageOpen = true; + activeMessageId = value.message.id; + usage.input_tokens = value.message.usage.input_tokens; ++ if (value.message.input_transformations != null) { ++ inputTransformations = value.message.input_transformations; ++ } + usage.cache_read_input_tokens = (_e = value.message.usage.cache_read_input_tokens) != null ? _e : 0; + usage.cache_creation_input_tokens = (_f = value.message.usage.cache_creation_input_tokens) != null ? _f : 0; + rawUsage = { +@@ -5267,6 +5301,7 @@ var AnthropicMessagesLanguageModel = class { + cacheCreationInputTokens, + stopSequence, + ...stopDetails != null ? { stopDetails } : {}, ++ ...inputTransformations != null ? { inputTransformations } : {}, + iterations: usage.iterations ? usage.iterations.map( + (iter) => ({ + type: iter.type, From 2961956c7462a9a709a2b9979c1fb197fb4b3038 Mon Sep 17 00:00:00 2001 From: "opencode-agent[bot]" Date: Tue, 1 Sep 2026 19:53:04 +0000 Subject: [PATCH 29/39] chore: update nix node_modules hashes --- nix/hashes.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/nix/hashes.json b/nix/hashes.json index 2d4e1dd3efa4..5f39124feac6 100644 --- a/nix/hashes.json +++ b/nix/hashes.json @@ -1,8 +1,8 @@ { "nodeModules": { - "x86_64-linux": "sha256-6E/2HDZzT8lCFXDUWRfbD856aJgL9tmZBRkYMi63x5w=", - "aarch64-linux": "sha256-I0PTrqH6EIEbtNkS0+yVFk056maDR5iy2gtIHAv1Leg=", - "aarch64-darwin": "sha256-Uq8igYVnbU9X03ear64twODH2f8Hewl3MPdmsfCZjHI=", - "x86_64-darwin": "sha256-6yWfwZVOSiSxA3DxeDd5WAVlN5QBDIdyZXp3uQSN5Bk=" + "x86_64-linux": "sha256-SUPMcgdvUuLkQL3LKVTrQ+WshrJzDMJLpLIfHXWihmU=", + "aarch64-linux": "sha256-d72i9zY0wEB2vpndBxq6SXHktYquFUzKwxl5mXiJRwI=", + "aarch64-darwin": "sha256-zEJ9/hygXRBAH2GeBFdXtwQnd12K/0bBoptmLb6r7cU=", + "x86_64-darwin": "sha256-Wl9sB67IGuo3vpBCh7Ihsr9578NbqybERRIWTJkX1rw=" } } From af1f9e626989cdfc79fc5f230912425b5a3a3aa4 Mon Sep 17 00:00:00 2001 From: Filip <34747899+neriousy@users.noreply.github.com> Date: Tue, 1 Sep 2026 21:53:43 +0200 Subject: [PATCH 30/39] remove azure discovery stuff (#46666) --- packages/opencode/src/plugin/azure.ts | 141 +-------- packages/opencode/test/plugin/azure.test.ts | 316 ++------------------ packages/web/src/content/docs/providers.mdx | 6 +- 3 files changed, 24 insertions(+), 439 deletions(-) diff --git a/packages/opencode/src/plugin/azure.ts b/packages/opencode/src/plugin/azure.ts index 7a663093fbc4..6916aaaf3a65 100644 --- a/packages/opencode/src/plugin/azure.ts +++ b/packages/opencode/src/plugin/azure.ts @@ -1,10 +1,6 @@ -import { readFile } from "node:fs/promises" -import { homedir } from "node:os" -import { join } from "node:path" import { InstallationVersion } from "@opencode-ai/core/installation/version" import { which } from "@opencode-ai/core/util/which" import type { Hooks } from "@opencode-ai/plugin" -import type { Provider } from "@opencode-ai/sdk/v2" import { Schema } from "effect" import { OAUTH_DUMMY_KEY } from "../auth" import { Process } from "../util/process" @@ -19,58 +15,16 @@ const AzureCliToken = Schema.Struct({ expiresOn: Schema.optional(Schema.NonEmptyString), }) const decodeAzureCliToken = Schema.decodeUnknownPromise(AzureCliToken) -const decodeAzureProfile = Schema.decodeUnknownPromise( - Schema.fromJsonString(Schema.Struct({ subscriptions: Schema.Array(Schema.Unknown) })), -) - -const decodeAzureAccounts = Schema.decodeUnknownPromise( - Schema.Array( - Schema.Struct({ - name: Schema.NonEmptyString, - resourceGroup: Schema.NonEmptyString, - }), - ), -) - -const decodeAzureDeployments = Schema.decodeUnknownPromise( - Schema.Array( - Schema.Struct({ - name: Schema.NonEmptyString, - properties: Schema.Struct({ - model: Schema.Struct({ - name: Schema.NonEmptyString, - }), - provisioningState: Schema.NonEmptyString, - }), - }), - ), -) - type AzureCommand = (args: string[]) => Promise -type AzureAccount = { readonly name: string; readonly resourceGroup: string } export async function AzureAuthPlugin(): Promise { const available = Boolean(which("az")) - // Avoid launching Azure CLI on unrelated commands just because the executable is installed. - const signedIn = available - ? await readFile(join(process.env.AZURE_CONFIG_DIR ?? join(homedir(), ".azure"), "azureProfile.json"), "utf8") - .then((text) => decodeAzureProfile(text.replace(/^\uFEFF/, ""))) - .then((profile) => profile.subscriptions.length > 0) - .catch(() => false) - : false - const accounts = - !process.env.AZURE_RESOURCE_NAME && !process.env.AZURE_RESOURCE_GROUP && signedIn - ? await runAzure(["cognitiveservices", "account", "list", "--output", "json", "--only-show-errors"]) - .then(decodeAzureAccounts) - .catch(() => []) - : [] - return createAzureAuthHooks(runAzure, fetch, accounts, available) + return createAzureAuthHooks(runAzure, fetch, available) } export function createAzureAuthHooks( run: AzureCommand, request: (input: RequestInfo | URL, init?: RequestInit) => Promise, - accounts: readonly AzureAccount[], available: boolean, ): Hooks { const tokens = new Map() @@ -97,46 +51,7 @@ export function createAzureAuthHooks( placeholder: "e.g. my-models", }) } - const oauthPrompts = - accounts.length > 0 && !process.env.AZURE_RESOURCE_NAME - ? [ - { - type: "select" as const, - key: "resourceSelection", - message: "Select Azure resource", - options: [ - ...accounts.map((account) => ({ - label: account.name, - value: account.name, - hint: account.resourceGroup, - })), - { label: "Enter another resource name", value: "__manual__" }, - ], - }, - { - type: "text" as const, - key: "resourceName", - message: "Enter Azure Resource Name", - placeholder: "e.g. my-models", - when: { key: "resourceSelection", op: "eq" as const, value: "__manual__" }, - }, - ] - : prompts - const hooks: Hooks = { - provider: { - id: "azure", - async models(provider, context) { - if (context.auth?.type !== "oauth") return provider.models - // Discovery shells out to the Azure CLI, so skip it when the CLI is missing. - if (!available) return provider.models - const resource = context.auth.accountId - if (!resource) return {} - // This hook runs outside the app's Effect runtime, so logging here would go to the - // console. Fall back to the configured models silently. - return discoverAzureModels(provider.models, resource, run).catch(() => provider.models) - }, - }, auth: { provider: "azure", async loader(getAuth) { @@ -164,17 +79,14 @@ export function createAzureAuthHooks( { type: "oauth", label: "Microsoft Entra ID (Azure CLI)", - prompts: oauthPrompts, + prompts, async authorize(inputs) { return { url: "", instructions: "Sign in with `az login` before continuing.", method: "auto", callback: async () => { - const resourceName = - inputs?.resourceName ?? - (inputs?.resourceSelection === "__manual__" ? undefined : inputs?.resourceSelection) ?? - process.env.AZURE_RESOURCE_NAME + const resourceName = inputs?.resourceName ?? process.env.AZURE_RESOURCE_NAME if (!resourceName) throw new Error("Azure Resource Name is required") await token(AZURE_COGNITIVE_SERVICES_SCOPE) @@ -201,53 +113,6 @@ async function runAzure(args: string[]): Promise { return JSON.parse(result.stdout.toString()) } -async function discoverAzureModels(models: Provider["models"], resourceName: string, run: AzureCommand) { - const resourceGroup = process.env.AZURE_RESOURCE_GROUP - const account = resourceGroup - ? { name: resourceName, resourceGroup } - : ( - await decodeAzureAccounts( - await run(["cognitiveservices", "account", "list", "--output", "json", "--only-show-errors"]), - ) - ).find((account) => account.name.toLowerCase() === resourceName.toLowerCase()) - if (!account) throw new Error(`Azure resource "${resourceName}" was not found in the active subscription`) - - const deployments = await decodeAzureDeployments( - await run([ - "cognitiveservices", - "account", - "deployment", - "list", - "--name", - account.name, - "--resource-group", - account.resourceGroup, - "--output", - "json", - "--only-show-errors", - ]), - ) - const found = new Map() - deployments.forEach((deployment) => { - if (deployment.properties.provisioningState !== "Succeeded") return - const modelID = Object.keys(models).find( - (modelID) => modelID.toLowerCase() === deployment.properties.model.name.toLowerCase(), - ) - if (!modelID) return - const id = found.has(modelID) ? deployment.name : modelID - found.set(id, { - ...models[modelID], - id, - name: id === modelID ? models[modelID].name : `${models[modelID].name} (${deployment.name})`, - api: { - ...models[modelID].api, - id: deployment.name, - }, - }) - }) - return Object.fromEntries(found) -} - function scopeForRequest(input: RequestInfo | URL) { const url = new URL(input instanceof Request ? input.url : input) if (url.hostname.endsWith(".services.ai.azure.com") && !url.pathname.startsWith("/models")) { diff --git a/packages/opencode/test/plugin/azure.test.ts b/packages/opencode/test/plugin/azure.test.ts index 66444965d8e3..2dcdfb0399e9 100644 --- a/packages/opencode/test/plugin/azure.test.ts +++ b/packages/opencode/test/plugin/azure.test.ts @@ -11,17 +11,11 @@ import { Process } from "../../src/util/process" import { which } from "@opencode-ai/core/util/which" const resourceName = process.env.AZURE_RESOURCE_NAME -const resourceGroup = process.env.AZURE_RESOURCE_GROUP -const azureConfig = process.env.AZURE_CONFIG_DIR const originalPath = process.env.PATH afterEach(() => { if (resourceName === undefined) delete process.env.AZURE_RESOURCE_NAME else process.env.AZURE_RESOURCE_NAME = resourceName - if (resourceGroup === undefined) delete process.env.AZURE_RESOURCE_GROUP - else process.env.AZURE_RESOURCE_GROUP = resourceGroup - if (azureConfig === undefined) delete process.env.AZURE_CONFIG_DIR - else process.env.AZURE_CONFIG_DIR = azureConfig if (originalPath === undefined) delete process.env.PATH else process.env.PATH = originalPath }) @@ -64,37 +58,6 @@ function customFetch(options: Record) { } } -function models(...ids: string[]): Provider["models"] { - return Object.fromEntries( - ids.map((id) => [ - id, - { - id, - providerID: "azure", - name: id, - family: "", - api: { id, url: "", npm: "@ai-sdk/azure" }, - status: "active", - headers: {}, - options: {}, - cost: { input: 0, output: 0, cache: { read: 0, write: 0 } }, - limit: { context: 0, output: 0 }, - capabilities: { - temperature: true, - reasoning: false, - attachment: false, - toolcall: true, - input: { text: true, audio: false, image: false, video: false, pdf: false }, - output: { text: true, audio: false, image: false, video: false, pdf: false }, - interleaved: false, - }, - release_date: "", - variants: {}, - }, - ]), - ) -} - function azureShell(scopes: string[]) { return async (args: string[]) => { const scope = args[args.indexOf("--scope") + 1] @@ -106,14 +69,6 @@ function azureShell(scopes: string[]) { } } -function discoveryShell(accounts: unknown, deployments: unknown, commands: string[]) { - return async (args: string[]) => { - const command = ["az", ...args].join(" ") - commands.push(command) - return command.includes("deployment list") ? deployments : accounts - } -} - async function azureCli(dir: string) { const bin = path.join(dir, "azure cli") const calls = path.join(dir, "calls.jsonl") @@ -127,7 +82,7 @@ async function azureCli(dir: string) { fs.appendFileSync(${JSON.stringify(calls)}, JSON.stringify(args) + "\\n") console.log(JSON.stringify(args.includes("get-access-token") ? { accessToken: "test-token", expires_on: Math.floor(Date.now() / 1000) + 3600 } - : args.includes("deployment") ? [] : [{ name: "test-resource", resourceGroup: "test group & value" }])) + : [])) `, ) const executable = path.join(bin, process.platform === "win32" ? "az.cmd" : "az") @@ -162,7 +117,6 @@ describe("plugin.azure", () => { const entry = path.join(tmp.path, "azure.mjs") await Bun.write(entry, bundle.outputs[0]) const cli = await azureCli(tmp.path) - await Bun.write(path.join(tmp.path, "azureProfile.json"), '\uFEFF{"subscriptions":[{}]}') for (const installed of [false, true]) { const result = await Process.run( [ @@ -174,23 +128,21 @@ describe("plugin.azure", () => { import { AzureAuthPlugin } from ${JSON.stringify(pathToFileURL(entry).href)} assert.equal(typeof Bun, "undefined") delete process.env.AZURE_RESOURCE_NAME - delete process.env.AZURE_RESOURCE_GROUP const hooks = await AzureAuthPlugin({ $: undefined }) assert.equal(hooks.auth.provider, "azure") assert.deepEqual(hooks.auth.methods.map((method) => method.type), ${JSON.stringify(installed ? ["api", "oauth"] : ["api"])}) if (${installed}) { const method = hooks.auth.methods.find((method) => method.type === "oauth") - assert.equal(method.prompts[0].type, "select") - const authorization = await method.authorize({ resourceSelection: "test-resource" }) + assert.equal(method.prompts[0].type, "text") + const authorization = await method.authorize({ resourceName: "test-resource" }) const auth = await authorization.callback() assert.equal(auth.type, "success") assert.equal(auth.accountId, "test-resource") - assert.deepEqual(await hooks.provider.models({ models: {} }, { auth: { ...auth, type: "oauth" } }), {}) } `, ], { - env: { PATH: installed ? cli.bin : tmp.path, XDG_DATA_HOME: tmp.path, AZURE_CONFIG_DIR: tmp.path }, + env: { PATH: installed ? cli.bin : tmp.path, XDG_DATA_HOME: tmp.path }, nothrow: true, }, ) @@ -198,53 +150,27 @@ describe("plugin.azure", () => { expect(result.code).toBe(0) } expect(await cli.calls()).toEqual([ - ["cognitiveservices", "account", "list", "--output", "json", "--only-show-errors"], ["account", "get-access-token", "--scope", "https://cognitiveservices.azure.com/.default", "--output", "json"], - ["cognitiveservices", "account", "list", "--output", "json", "--only-show-errors"], - [ - "cognitiveservices", - "account", - "deployment", - "list", - "--name", - "test-resource", - "--resource-group", - "test group & value", - "--output", - "json", - "--only-show-errors", - ], ]) }) - for (const profile of [ - { name: "missing", content: undefined, signedIn: false }, - { name: "logged out", content: '{"subscriptions":[]}', signedIn: false }, - { name: "signed in with BOM", content: '\uFEFF{"subscriptions":[{}]}', signedIn: true }, - ]) { - test(`only lists resources for a cached Azure login (${profile.name})`, async () => { - await using tmp = await tmpdir() - const cli = await azureCli(tmp.path) - process.env.PATH = cli.bin - process.env.AZURE_CONFIG_DIR = path.join(tmp.path, "azure-cli") - if (profile.content) - await Bun.write(path.join(process.env.AZURE_CONFIG_DIR, "azureProfile.json"), profile.content) - delete process.env.AZURE_RESOURCE_NAME - delete process.env.AZURE_RESOURCE_GROUP - const hooks = await AzureAuthPlugin() + test("does not invoke Azure CLI during initialization", async () => { + await using tmp = await tmpdir() + const cli = await azureCli(tmp.path) + process.env.PATH = cli.bin + delete process.env.AZURE_RESOURCE_NAME + + const hooks = await AzureAuthPlugin() - expect(await cli.calls()).toHaveLength(profile.signedIn ? 1 : 0) - expect(hooks.auth?.methods.some((method) => method.type === "oauth")).toBe(true) - if (profile.signedIn) expect(oauthMethod(hooks).prompts?.[0].type).toBe("select") - }) - } + expect(await cli.calls()).toEqual([]) + expect(oauthMethod(hooks).prompts?.[0].type).toBe("text") + }) test("keeps the existing API-key method and adds Entra ID", () => { delete process.env.AZURE_RESOURCE_NAME - const hooks = createAzureAuthHooks(azureShell([]), fetch, [], true) + const hooks = createAzureAuthHooks(azureShell([]), fetch, true) expect(hooks.auth?.provider).toBe("azure") - expect(hooks.provider?.id).toBe("azure") expect(hooks.auth?.methods.map((method) => [method.type, method.label])).toEqual([ ["api", "API key"], ["oauth", "Microsoft Entra ID (Azure CLI)"], @@ -265,76 +191,14 @@ describe("plugin.azure", () => { }) test("hides Azure CLI authentication when the Azure CLI is not installed", () => { - const hooks = createAzureAuthHooks(azureShell([]), fetch, [], false) + const hooks = createAzureAuthHooks(azureShell([]), fetch, false) expect(hooks.auth?.methods.map((method) => method.type)).toEqual(["api"]) }) - test("lists Azure CLI resources and allows entering another resource", () => { - delete process.env.AZURE_RESOURCE_NAME - const hooks = createAzureAuthHooks( - azureShell([]), - fetch, - [ - { name: "first-resource", resourceGroup: "first-group" }, - { name: "second-resource", resourceGroup: "second-group" }, - ], - true, - ) - - expect(oauthMethod(hooks).prompts).toEqual([ - { - type: "select", - key: "resourceSelection", - message: "Select Azure resource", - options: [ - { label: "first-resource", value: "first-resource", hint: "first-group" }, - { label: "second-resource", value: "second-resource", hint: "second-group" }, - { label: "Enter another resource name", value: "__manual__" }, - ], - }, - { - type: "text", - key: "resourceName", - message: "Enter Azure Resource Name", - placeholder: "e.g. my-models", - when: { key: "resourceSelection", op: "eq", value: "__manual__" }, - }, - ]) - }) - - test("uses the selected Azure CLI resource", async () => { - const hooks = createAzureAuthHooks( - azureShell([]), - fetch, - [{ name: "selected-resource", resourceGroup: "selected-group" }], - true, - ) - const authorization = await oauthMethod(hooks).authorize({ resourceSelection: "selected-resource" }) - if (authorization.method !== "auto") throw new Error("Unexpected Azure authorization method") - - expect(await authorization.callback()).toMatchObject({ type: "success", accountId: "selected-resource" }) - }) - - test("uses a manually entered Azure resource that was not listed", async () => { - const hooks = createAzureAuthHooks( - azureShell([]), - fetch, - [{ name: "listed-resource", resourceGroup: "group" }], - true, - ) - const authorization = await oauthMethod(hooks).authorize({ - resourceSelection: "__manual__", - resourceName: "unlisted-resource", - }) - if (authorization.method !== "auto") throw new Error("Unexpected Azure authorization method") - - expect(await authorization.callback()).toMatchObject({ type: "success", accountId: "unlisted-resource" }) - }) - test("checks Azure CLI and stores the resource name", async () => { const scopes: string[] = [] - const hooks = createAzureAuthHooks(azureShell(scopes), fetch, [], true) + const hooks = createAzureAuthHooks(azureShell(scopes), fetch, true) const authorization = await oauthMethod(hooks).authorize({ resourceName: "test-resource" }) if (authorization.method !== "auto") throw new Error("Unexpected Azure authorization method") @@ -354,7 +218,6 @@ describe("plugin.azure", () => { expiresOn: new Date(Date.now() + 60 * 60 * 1000).toISOString(), }), fetch, - [], true, ) const authorization = await oauthMethod(hooks).authorize({ resourceName: "test-resource" }) @@ -364,158 +227,18 @@ describe("plugin.azure", () => { }) test("rejects Azure CLI tokens without a usable expiration", async () => { - const hooks = createAzureAuthHooks(async () => ({ accessToken: "invalid-token" }), fetch, [], true) + const hooks = createAzureAuthHooks(async () => ({ accessToken: "invalid-token" }), fetch, true) const authorization = await oauthMethod(hooks).authorize({ resourceName: "test-resource" }) if (authorization.method !== "auto") throw new Error("Unexpected Azure authorization method") await expect(authorization.callback()).rejects.toThrow("Azure CLI returned an invalid token expiration") }) - test("discovers deployed models through Azure CLI", async () => { - delete process.env.AZURE_RESOURCE_GROUP - const commands: string[] = [] - const hooks = createAzureAuthHooks( - discoveryShell( - [{ name: "test-resource", resourceGroup: "test-group" }], - [ - { - name: "gpt-production", - properties: { model: { name: "gpt-5-mini" }, provisioningState: "Succeeded" }, - }, - { - name: "DeepSeek-V4-Flash", - properties: { model: { name: "DeepSeek-V4-Flash" }, provisioningState: "Succeeded" }, - }, - { - name: "phi-production", - properties: { model: { name: "Phi-4-mini-instruct" }, provisioningState: "Succeeded" }, - }, - { - name: "gpt-5-nano", - properties: { model: { name: "gpt-5-nano" }, provisioningState: "Creating" }, - }, - ], - commands, - ), - fetch, - [], - true, - ) - const list = hooks.provider?.models - if (!list) throw new Error("Azure provider model hook is missing") - - const result = await list( - { - ...provider, - models: models("gpt-5-mini", "deepseek-v4-flash", "phi-4-mini", "phi-4-mini-instruct", "gpt-5-nano"), - }, - { auth: oauth }, - ) - - expect(Object.keys(result)).toEqual(["gpt-5-mini", "deepseek-v4-flash", "phi-4-mini-instruct"]) - expect(result["gpt-5-mini"].api.id).toBe("gpt-production") - expect(result["deepseek-v4-flash"].api.id).toBe("DeepSeek-V4-Flash") - expect(result["phi-4-mini-instruct"].api.id).toBe("phi-production") - expect(commands).toEqual([ - "az cognitiveservices account list --output json --only-show-errors", - "az cognitiveservices account deployment list --name test-resource --resource-group test-group --output json --only-show-errors", - ]) - }) - - test("discovers models directly when the resource group is configured", async () => { - process.env.AZURE_RESOURCE_GROUP = "restricted-group" - const commands: string[] = [] - const hooks = createAzureAuthHooks( - discoveryShell( - [], - [{ name: "gpt-production", properties: { model: { name: "gpt-5-mini" }, provisioningState: "Succeeded" } }], - commands, - ), - fetch, - [], - true, - ) - const list = hooks.provider?.models - if (!list) throw new Error("Azure provider model hook is missing") - - const result = await list({ ...provider, models: models("gpt-5-mini") }, { auth: oauth }) - - expect(result["gpt-5-mini"].api.id).toBe("gpt-production") - expect(commands).toEqual([ - "az cognitiveservices account deployment list --name test-resource --resource-group restricted-group --output json --only-show-errors", - ]) - }) - - test("preserves multiple deployments of the same model", async () => { - delete process.env.AZURE_RESOURCE_GROUP - const hooks = createAzureAuthHooks( - discoveryShell( - [{ name: "test-resource", resourceGroup: "test-group" }], - [ - { name: "gpt-production", properties: { model: { name: "gpt-5-mini" }, provisioningState: "Succeeded" } }, - { name: "gpt-staging", properties: { model: { name: "gpt-5-mini" }, provisioningState: "Succeeded" } }, - ], - [], - ), - fetch, - [], - true, - ) - const list = hooks.provider?.models - if (!list) throw new Error("Azure provider model hook is missing") - - const result = await list({ ...provider, models: models("gpt-5-mini") }, { auth: oauth }) - - expect(Object.keys(result)).toEqual(["gpt-5-mini", "gpt-staging"]) - expect(result["gpt-5-mini"].api.id).toBe("gpt-production") - expect(result["gpt-staging"].api.id).toBe("gpt-staging") - expect(result["gpt-staging"].name).toBe("gpt-5-mini (gpt-staging)") - }) - - test("keeps configured models available when Azure discovery fails", async () => { - const hooks = createAzureAuthHooks( - async () => { - throw new Error("Azure CLI failed") - }, - fetch, - [], - true, - ) - const list = hooks.provider?.models - if (!list) throw new Error("Azure provider model hook is missing") - - const catalog = models("gpt-5-mini") - expect(await list({ ...provider, models: catalog }, { auth: oauth })).toBe(catalog) - }) - - test("skips model discovery when the Azure CLI is unavailable", async () => { - const calls: string[][] = [] - const hooks = createAzureAuthHooks( - async (args) => { - calls.push(args) - throw new Error("spawn az ENOENT") - }, - fetch, - [], - false, - ) - const list = hooks.provider?.models - if (!list) throw new Error("Azure provider model hook is missing") - - const catalog = models("gpt-5-mini") - expect(await list({ ...provider, models: catalog }, { auth: oauth })).toBe(catalog) - expect(calls).toEqual([]) - }) - test("does not change API-key loading", async () => { const scopes: string[] = [] - const hooks = createAzureAuthHooks(azureShell(scopes), fetch, [], true) - const catalog = models("gpt-5-mini") - const list = hooks.provider?.models - if (!list) throw new Error("Azure provider model hook is missing") + const hooks = createAzureAuthHooks(azureShell(scopes), fetch, true) expect(await loader(hooks)(async () => ({ type: "api", key: "test-key" }), provider)).toEqual({}) - expect(await list({ ...provider, models: catalog }, { auth: { type: "api", key: "test-key" } })).toBe(catalog) expect(scopes).toEqual([]) }) @@ -528,7 +251,6 @@ describe("plugin.azure", () => { requests.push(new Headers(init?.headers)) return new Response(null, { status: 200 }) }, - [], true, ) const options = await loader(hooks)(async () => oauth, provider) diff --git a/packages/web/src/content/docs/providers.mdx b/packages/web/src/content/docs/providers.mdx index 877f91c4e245..a1d01079f160 100644 --- a/packages/web/src/content/docs/providers.mdx +++ b/packages/web/src/content/docs/providers.mdx @@ -459,7 +459,7 @@ If you encounter "I'm sorry, but I cannot assist with that request" errors, try #### Microsoft Entra ID (Azure CLI) -You can use your Azure CLI session instead of an API key. [Install the Azure CLI](https://learn.microsoft.com/en-us/cli/azure/install-azure-cli), run `az login`, then run `/connect`, select **Azure**, and choose **Microsoft Entra ID (Azure CLI)**. OpenCode lists the Resources visible to your Azure CLI session and their Resource groups. Select a Resource, or choose **Enter another resource name** to enter one manually. If resource listing is unavailable, OpenCode asks for the name directly. Use `az login --tenant TENANT_ID` if the Resource belongs to a different tenant. +You can use your Azure CLI session instead of an API key. [Install the Azure CLI](https://learn.microsoft.com/en-us/cli/azure/install-azure-cli), run `az login`, then run `/connect`, select **Azure**, and choose **Microsoft Entra ID (Azure CLI)**. Enter the Azure Resource name when prompted. Use `az login --tenant TENANT_ID` if the Resource belongs to a different tenant. Find the Resource name by opening your Azure OpenAI or Foundry Resource in the [Azure portal](https://portal.azure.com/) or [Microsoft Foundry](https://ai.azure.com/). It is also the first part of the endpoint: `my-models` in `https://my-models.openai.azure.com/` or `https://my-models.services.ai.azure.com/`. If your identity can list Resources, you can also find their names and Resource groups with: @@ -469,9 +469,7 @@ az cognitiveservices account list \ --output table ``` -OpenCode finds the Resource group and discovers its deployed models from the active Azure CLI subscription. Run `az account set --subscription NAME_OR_ID` first if the Resource is in a different subscription. Set `AZURE_RESOURCE_GROUP` to skip listing the subscription and query a known Resource directly. - -Model discovery requires Azure control-plane permissions, which are separate from inference permissions. If your identity cannot list deployments, OpenCode keeps the Azure model catalog available instead. Select a model whose name matches your deployment, or configure its deployment name explicitly: +OpenCode does not query Azure management APIs or discover deployments. Select a model whose catalog name matches your deployment, or configure its deployment name explicitly: ```json title="opencode.json" { From 1542195217be56f29f73cb10a852499f6ef2e688 Mon Sep 17 00:00:00 2001 From: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Date: Tue, 1 Sep 2026 14:57:55 -0500 Subject: [PATCH 31/39] fix(opencode): allow none reasoning effort in Bedrock SDK (#46671) --- .../opencode/test/provider/transform.test.ts | 38 +++++++++++++++++- .../@ai-sdk%2Famazon-bedrock@4.0.166.patch | 40 ++++++++++++++----- 2 files changed, 67 insertions(+), 11 deletions(-) diff --git a/packages/opencode/test/provider/transform.test.ts b/packages/opencode/test/provider/transform.test.ts index ed85f6920acf..4d346d8871a2 100644 --- a/packages/opencode/test/provider/transform.test.ts +++ b/packages/opencode/test/provider/transform.test.ts @@ -6,7 +6,7 @@ import { ProviderV2 } from "@opencode-ai/core/provider" import { ModelV2 } from "@opencode-ai/core/model" import { ModelsDev } from "@opencode-ai/core/models-dev" import { generateText, jsonSchema, type ModelMessage } from "ai" -import { createAmazonBedrock } from "@ai-sdk/amazon-bedrock" +import { createAmazonBedrock, type AmazonBedrockLanguageModelOptions } from "@ai-sdk/amazon-bedrock" import { createAnthropic } from "@ai-sdk/anthropic" import { createVertexAnthropic } from "@ai-sdk/google-vertex/anthropic" @@ -3717,6 +3717,42 @@ describe("ProviderTransform.reasoningVariants", () => { ) }) + test.each(["luna", "sol", "terra"])("serializes Bedrock GPT-5.6 %s none effort", async (name) => { + const item = target("@ai-sdk/amazon-bedrock", `global.openai.gpt-5.6-${name}`) + const variants = ProviderTransform.reasoningVariants( + model([{ type: "effort", values: ["none", "low", "medium", "high", "xhigh", "max"] }]), + item, + ) + for (const effort of ["low", "medium", "high", "xhigh", "max"]) { + expect(variants?.[effort]).toEqual({ reasoningConfig: { type: "enabled", maxReasoningEffort: effort } }) + } + expect(variants?.none).toEqual({ + reasoningConfig: { type: "enabled", maxReasoningEffort: "none" }, + } satisfies AmazonBedrockLanguageModelOptions) + const sent: unknown[] = [] + const provider = createAmazonBedrock({ + apiKey: "test-key", + region: "us-east-1", + fetch: Object.assign( + async (...args: Parameters) => { + sent.push(JSON.parse(String(args[1]?.body))) + return Response.json({ + output: { message: { role: "assistant", content: [{ text: "ok" }] } }, + stopReason: "end_turn", + usage: { inputTokens: 1, outputTokens: 1, totalTokens: 2 }, + }) + }, + { preconnect: () => undefined }, + ), + }) + await generateText({ + model: provider(item.api.id), + prompt: "hi", + providerOptions: ProviderTransform.providerOptions(item, variants?.none ?? {}), + }) + expect(sent).toEqual([expect.objectContaining({ additionalModelRequestFields: { reasoning: { effort: "none" } } })]) + }) + test("combines effort with extended thinking for Claude Opus 4.5", () => { expect( ProviderTransform.reasoningVariants( diff --git a/patches/@ai-sdk%2Famazon-bedrock@4.0.166.patch b/patches/@ai-sdk%2Famazon-bedrock@4.0.166.patch index 96fd15106e46..388b306daaba 100644 --- a/patches/@ai-sdk%2Famazon-bedrock@4.0.166.patch +++ b/patches/@ai-sdk%2Famazon-bedrock@4.0.166.patch @@ -1,8 +1,16 @@ diff --git a/dist/index.d.mts b/dist/index.d.mts -index d194ae227fd1223ba44c8c5157b1bb72b1bab273..2e046db0a365c27659ffcec08782c7c26845c1fa 100644 +index d194ae227fd1223ba44c8c5157b1bb72b1bab273..db7fdb1b6f4e617baa40539ccef718735d2e9e81 100644 --- a/dist/index.d.mts +++ b/dist/index.d.mts -@@ -61,6 +61,12 @@ declare const amazonBedrockLanguageModelOptions: z.ZodObject<{ +@@ -51,6 +51,7 @@ declare const amazonBedrockLanguageModelOptions: z.ZodObject<{ + type: z.ZodOptional, z.ZodLiteral<"disabled">, z.ZodLiteral<"adaptive">]>>; + budgetTokens: z.ZodOptional; + maxReasoningEffort: z.ZodOptional>; @@ -16,10 +24,18 @@ index d194ae227fd1223ba44c8c5157b1bb72b1bab273..2e046db0a365c27659ffcec08782c7c2 anthropicBeta: z.ZodOptional>; serviceTier: z.ZodOptional, z.ZodLiteral<"disabled">, z.ZodLiteral<"adaptive">]>>; + budgetTokens: z.ZodOptional; + maxReasoningEffort: z.ZodOptional>; @@ -33,14 +49,16 @@ index d194ae227fd1223ba44c8c5157b1bb72b1bab273..2e046db0a365c27659ffcec08782c7c2 anthropicBeta: z.ZodOptional>; serviceTier: z.ZodOptional Date: Tue, 1 Sep 2026 14:59:45 -0500 Subject: [PATCH 32/39] test(opencode): guard patched dependency versions (#46673) --- package.json | 1 - .../test/patched-dependencies.test.ts | 29 +++++++++++++++++ patches/@ff-labs%2Ffff-bun@0.9.3.patch | 31 ------------------- 3 files changed, 29 insertions(+), 32 deletions(-) create mode 100644 packages/opencode/test/patched-dependencies.test.ts delete mode 100644 patches/@ff-labs%2Ffff-bun@0.9.3.patch diff --git a/package.json b/package.json index dc4a813c5050..8d58ace1b453 100644 --- a/package.json +++ b/package.json @@ -146,7 +146,6 @@ }, "patchedDependencies": { "@dnd-kit/dom@0.5.0": "patches/@dnd-kit%2Fdom@0.5.0.patch", - "@ff-labs/fff-bun@0.9.3": "patches/@ff-labs%2Ffff-bun@0.9.3.patch", "@npmcli/agent@4.0.2": "patches/@npmcli%2Fagent@4.0.2.patch", "@silvia-odwyer/photon-node@0.3.4": "patches/@silvia-odwyer%2Fphoton-node@0.3.4.patch", "@standard-community/standard-openapi@0.2.9": "patches/@standard-community%2Fstandard-openapi@0.2.9.patch", diff --git a/packages/opencode/test/patched-dependencies.test.ts b/packages/opencode/test/patched-dependencies.test.ts new file mode 100644 index 000000000000..5405401bbe64 --- /dev/null +++ b/packages/opencode/test/patched-dependencies.test.ts @@ -0,0 +1,29 @@ +import { describe, expect, test } from "bun:test" +import path from "path" + +// Bun applies a patch only to the exact `name@version` named in +// `patchedDependencies`. Bumping the dependency without regenerating the patch +// does not fail `bun install`; the patch just stops applying and the runtime +// silently loses whatever the patch fixed. This pins the two together for the +// packages that ship in the CLI. +const root = path.resolve(import.meta.dir, "../../..") +const workspaces = ["packages/opencode", "packages/core"] +const patched = (await Bun.file(path.join(root, "package.json")).json()).patchedDependencies as Record + +describe("patched dependencies", () => { + for (const key of Object.keys(patched)) { + const at = key.lastIndexOf("@") + const name = key.slice(0, at) + const version = key.slice(at + 1) + + test(`${key} matches the installed version`, async () => { + expect(await Bun.file(path.join(root, patched[key])).exists()).toBe(true) + for (const workspace of workspaces) { + const file = Bun.file(path.join(root, workspace, "node_modules", name, "package.json")) + if (!(await file.exists())) continue + const installed = (await file.json()).version as string + expect(installed, `${workspace} resolves ${name}@${installed}; patch is for ${version}`).toBe(version) + } + }) + } +}) diff --git a/patches/@ff-labs%2Ffff-bun@0.9.3.patch b/patches/@ff-labs%2Ffff-bun@0.9.3.patch deleted file mode 100644 index 23a7dd54fb15..000000000000 --- a/patches/@ff-labs%2Ffff-bun@0.9.3.patch +++ /dev/null @@ -1,31 +0,0 @@ -diff --git a/src/download.ts b/src/download.ts -index 3454256..6dca25a 100644 ---- a/src/download.ts -+++ b/src/download.ts -@@ -7,7 +7,7 @@ - */ - -+declare const FFF_LIBC: "gnu" | "musl"; - import { existsSync } from "node:fs"; --import { createRequire } from "node:module"; - import { dirname, join } from "node:path"; - import { fileURLToPath } from "node:url"; - import { getLibFilename, getNpmPackageName } from "./platform"; -@@ -54,14 +54,10 @@ export function binaryExists(): boolean { - * in the same directory. - */ - function resolveFromNpmPackage(): string | null { -- const packageName = getNpmPackageName(); -- - try { -- // Use createRequire to resolve the platform package's location -- const require = createRequire(join(getPackageDir(), "package.json")); -- const packageJsonPath = require.resolve(`${packageName}/package.json`); -- const packageDir = dirname(packageJsonPath); -- const binaryPath = join(packageDir, getLibFilename()); -+ const binaryPath = require( -+ `@ff-labs/fff-bin-${process.platform === "linux" ? `linux-${process.arch}-${typeof FFF_LIBC === "string" ? FFF_LIBC : getNpmPackageName().endsWith("musl") ? "musl" : "gnu"}` : `${process.platform}-${process.arch}`}/${process.platform === "win32" ? "fff_c.dll" : process.platform === "darwin" ? "libfff_c.dylib" : "libfff_c.so"}`, -+ ); - - if (existsSync(binaryPath)) { - return binaryPath; From 765ae641d765fa21b2a68e2ed9fd23e8247cdb85 Mon Sep 17 00:00:00 2001 From: "Roscoe A. Bartlett" Date: Tue, 1 Sep 2026 16:17:03 -0400 Subject: [PATCH 33/39] fix(core): Fix for incorrect time.start reset in tool call logging (#32574) (#32596) --- packages/opencode/src/session/tools.ts | 2 +- packages/opencode/test/session/tools.test.ts | 163 +++++++++++++++++++ 2 files changed, 164 insertions(+), 1 deletion(-) create mode 100644 packages/opencode/test/session/tools.test.ts diff --git a/packages/opencode/src/session/tools.ts b/packages/opencode/src/session/tools.ts index 0f401c7562fa..99f7aec4fdfd 100644 --- a/packages/opencode/src/session/tools.ts +++ b/packages/opencode/src/session/tools.ts @@ -74,7 +74,7 @@ export const resolve = Effect.fn("SessionTools.resolve")(function* (input: { metadata: val.metadata, status: "running", input: args, - time: { start: Date.now() }, + time: match.state.status === "running" ? match.state.time : { start: Date.now() }, }, } }), diff --git a/packages/opencode/test/session/tools.test.ts b/packages/opencode/test/session/tools.test.ts new file mode 100644 index 000000000000..53d28de16966 --- /dev/null +++ b/packages/opencode/test/session/tools.test.ts @@ -0,0 +1,163 @@ +import { expect } from "bun:test" +import { ModelV2 } from "@opencode-ai/core/model" +import { ProviderV2 } from "@opencode-ai/core/provider" +import { SessionV1 } from "@opencode-ai/core/v1/session" +import { Agent } from "@/agent/agent" +import { MCP } from "@/mcp" +import { Permission } from "@/permission" +import { Provider } from "@/provider/provider" +import { Session } from "@/session/session" +import { MessageID, PartID, SessionID } from "@/session/schema" +import { SessionProcessor } from "@/session/processor" +import { SessionTools } from "@/session/tools" +import { Tool } from "@/tool/tool" +import { ToolRegistry } from "@/tool/registry" +import { Truncate } from "@/tool/truncate" +import { Plugin } from "@/plugin" +import { Effect, Layer, Schema } from "effect" +import { testEffect } from "../lib/effect" + +const callID = "call-test" +const sessionID = SessionID.make("ses_test") +const messageID = MessageID.ascending() +const partID = PartID.ascending() + +const agent: Agent.Info = { + name: "build", + mode: "primary", + options: {}, + permission: [{ permission: "*", pattern: "*", action: "allow" }], +} + +const model = { + providerID: ProviderV2.ID.make("test"), + api: { id: "test-model" }, +} as Provider.Model + +function fakeMcp() { + return MCP.Service.of({ + tools: () => Effect.succeed({}), + } as Partial as MCP.Interface) +} + +const fakePlugin = Plugin.Service.of({ + init: () => Effect.void, + list: () => Effect.succeed([]), + trigger: (_name, _input, output) => Effect.succeed(output), +} satisfies Plugin.Interface) + +const fakePermission = Permission.Service.of({ + ask: () => Effect.void, + reply: () => Effect.void, + list: () => Effect.succeed([]), +} satisfies Permission.Interface) + +const fakeTruncate = Truncate.Service.of({ + cleanup: () => Effect.void, + write: () => Effect.succeed("output.txt"), + output: (text: string) => Effect.succeed({ content: text, truncated: false }), + limits: () => Effect.succeed({ maxLines: 2000, maxBytes: 50 * 1024 }), +} satisfies Truncate.Interface) + +const layer = Layer.mergeAll( + Layer.succeed(Plugin.Service, fakePlugin), + Layer.succeed(Permission.Service, fakePermission), + Layer.succeed(MCP.Service, fakeMcp()), + Layer.succeed(Truncate.Service, fakeTruncate), + Layer.succeed( + ToolRegistry.Service, + ToolRegistry.Service.of({ + ids: () => Effect.succeed(["timing"]), + all: () => Effect.succeed([]), + named: () => Effect.die("unused"), + tools: () => + Effect.succeed([ + { + id: "timing", + description: "updates metadata more than once", + parameters: Schema.Struct({}), + jsonSchema: { type: "object", properties: {} }, + execute: (_args, ctx) => + Effect.gen(function* () { + yield* ctx.metadata({ metadata: { output: "first" } }) + yield* ctx.metadata({ metadata: { output: "second" } }) + return { title: "timing", metadata: {}, output: "done" } + }), + } satisfies Tool.Def, + ]), + }), + ), +) + +const it = testEffect(layer) + +it.effect("preserves running tool start time across metadata updates", () => + Effect.gen(function* () { + const state: SessionV1.ToolPart = { + id: partID, + sessionID, + messageID, + type: "tool", + tool: "timing", + callID, + state: { + status: "running", + input: {}, + time: { start: 100 }, + }, + } + const updates: number[] = [] + const processor = { + message: { + id: messageID, + sessionID, + role: "assistant", + parentID: MessageID.ascending(), + agent: "build", + mode: "build", + path: { cwd: "/tmp", root: "/tmp" }, + cost: 0, + tokens: { input: 0, output: 0, reasoning: 0, cache: { read: 0, write: 0 } }, + modelID: ModelV2.ID.make("test-model"), + providerID: ProviderV2.ID.make("test"), + time: { created: 1 }, + } satisfies SessionV1.Assistant, + updateToolCall: (_toolCallID, update) => + Effect.sync(() => { + const next = update(state) + state.state = next.state + if (state.state.status === "running") updates.push(state.state.time.start) + return state + }), + completeToolCall: () => Effect.void, + } satisfies Pick + + const tools = yield* SessionTools.resolve({ + agent, + model, + session: { id: sessionID, permission: [] } as Session.Info, + processor, + bypassAgentCheck: false, + messages: [], + promptOps: {} as never, + }) + const execute = tools.timing.execute + if (!execute) throw new Error("timing tool is missing execute") + + yield* Effect.promise(() => + execute( + {}, + { + toolCallId: callID, + abortSignal: new AbortController().signal, + }, + ), + ) + + expect(updates).toEqual([100, 100]) + expect(state.state.status).toBe("running") + if (state.state.status === "running") { + expect(state.state.time.start).toBe(100) + } + }), +) From c10d6767c952615bd465373718087394cca82b92 Mon Sep 17 00:00:00 2001 From: "opencode-agent[bot]" Date: Tue, 1 Sep 2026 20:18:42 +0000 Subject: [PATCH 34/39] chore: update nix node_modules hashes --- nix/hashes.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/nix/hashes.json b/nix/hashes.json index 5f39124feac6..94526422c6d4 100644 --- a/nix/hashes.json +++ b/nix/hashes.json @@ -1,8 +1,8 @@ { "nodeModules": { - "x86_64-linux": "sha256-SUPMcgdvUuLkQL3LKVTrQ+WshrJzDMJLpLIfHXWihmU=", - "aarch64-linux": "sha256-d72i9zY0wEB2vpndBxq6SXHktYquFUzKwxl5mXiJRwI=", - "aarch64-darwin": "sha256-zEJ9/hygXRBAH2GeBFdXtwQnd12K/0bBoptmLb6r7cU=", - "x86_64-darwin": "sha256-Wl9sB67IGuo3vpBCh7Ihsr9578NbqybERRIWTJkX1rw=" + "x86_64-linux": "sha256-xxfesqajP1GI/XdzCIM8hHHOdhWBrjfKkQxDpC2qRKE=", + "aarch64-linux": "sha256-T9HxvCNwt7St6VQsEqLMCSVu7jgTnQjdo824LRzi+t4=", + "aarch64-darwin": "sha256-vo0ALiy0tGnp8YVqNwGS8lsXKUmvkRiKPUacbQhZMHs=", + "x86_64-darwin": "sha256-cToGEEFCm4HX4xLfVNYEwugoUhCKVXAbH+uSI2cVo4w=" } } From 86387e90b28f76cde17674406fc99e19c063d5e1 Mon Sep 17 00:00:00 2001 From: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Date: Tue, 1 Sep 2026 15:24:30 -0500 Subject: [PATCH 35/39] test(opencode): fix session tools test typecheck and runtime (#46677) --- packages/opencode/test/session/tools.test.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/opencode/test/session/tools.test.ts b/packages/opencode/test/session/tools.test.ts index 53d28de16966..f365f684e6c3 100644 --- a/packages/opencode/test/session/tools.test.ts +++ b/packages/opencode/test/session/tools.test.ts @@ -14,6 +14,7 @@ import { Tool } from "@/tool/tool" import { ToolRegistry } from "@/tool/registry" import { Truncate } from "@/tool/truncate" import { Plugin } from "@/plugin" +import { RuntimeFlags } from "@/effect/runtime-flags" import { Effect, Layer, Schema } from "effect" import { testEffect } from "../lib/effect" @@ -37,6 +38,7 @@ const model = { function fakeMcp() { return MCP.Service.of({ tools: () => Effect.succeed({}), + clients: () => Effect.succeed({}), } as Partial as MCP.Interface) } @@ -64,6 +66,7 @@ const layer = Layer.mergeAll( Layer.succeed(Permission.Service, fakePermission), Layer.succeed(MCP.Service, fakeMcp()), Layer.succeed(Truncate.Service, fakeTruncate), + RuntimeFlags.layer(), Layer.succeed( ToolRegistry.Service, ToolRegistry.Service.of({ @@ -135,7 +138,7 @@ it.effect("preserves running tool start time across metadata updates", () => const tools = yield* SessionTools.resolve({ agent, model, - session: { id: sessionID, permission: [] } as Session.Info, + session: { id: sessionID, permission: [] } as unknown as Session.Info, processor, bypassAgentCheck: false, messages: [], @@ -150,6 +153,7 @@ it.effect("preserves running tool start time across metadata updates", () => { toolCallId: callID, abortSignal: new AbortController().signal, + messages: [], }, ), ) From 8100c68b507b53aac6b891edbc3040a6011d8969 Mon Sep 17 00:00:00 2001 From: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Date: Tue, 1 Sep 2026 16:00:24 -0500 Subject: [PATCH 36/39] fix(app): bump happy-dom to fix GC-dependent MutationObserver flake (#46675) --- bun.lock | 8 +++++--- packages/app/package.json | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/bun.lock b/bun.lock index 3d8037e6fc8a..9249b5cc0da1 100644 --- a/bun.lock +++ b/bun.lock @@ -78,7 +78,7 @@ "tailwindcss": "catalog:", }, "devDependencies": { - "@happy-dom/global-registrator": "20.0.11", + "@happy-dom/global-registrator": "20.12.0", "@playwright/test": "catalog:", "@sentry/vite-plugin": "catalog:", "@tailwindcss/vite": "catalog:", @@ -1661,7 +1661,7 @@ "@graphql-typed-document-node/core": ["@graphql-typed-document-node/core@3.2.0", "", { "peerDependencies": { "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" } }, "sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ=="], - "@happy-dom/global-registrator": ["@happy-dom/global-registrator@20.0.11", "", { "dependencies": { "@types/node": "^20.0.0", "happy-dom": "^20.0.11" } }, "sha512-GqNqiShBT/lzkHTMC/slKBrvN0DsD4Di8ssBk4aDaVgEn+2WMzE6DXxq701ndSXj7/0cJ8mNT71pM7Bnrr6JRw=="], + "@happy-dom/global-registrator": ["@happy-dom/global-registrator@20.12.0", "", { "dependencies": { "@types/node": ">=20.0.0", "happy-dom": "^20.12.0" } }, "sha512-BUE55Rew3oMwBzwCwmUnV+Oxk51V3xolM39Ts6kGiBXNELjujiESwk9qc99JRr6cVrj3OTd9MJ5zQ2fpn+jy6g=="], "@hey-api/codegen-core": ["@hey-api/codegen-core@0.5.5", "", { "dependencies": { "@hey-api/types": "0.1.2", "ansi-colors": "4.1.3", "c12": "3.3.3", "color-support": "1.1.3" }, "peerDependencies": { "typescript": ">=5.5.3" } }, "sha512-f2ZHucnA2wBGAY8ipB4wn/mrEYW+WUxU2huJmUvfDO6AE2vfILSHeF3wCO39Pz4wUYPoAWZByaauftLrOfC12Q=="], @@ -3239,6 +3239,8 @@ "buffer-from": ["buffer-from@1.1.2", "", {}, "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ=="], + "buffer-image-size": ["buffer-image-size@0.6.4", "", { "dependencies": { "@types/node": "*" } }, "sha512-nEh+kZOPY1w+gcCMobZ6ETUp9WfibndnosbpwB1iJk/8Gt5ZF2bhS6+B6bPYz424KtwsR6Rflc3tCz1/ghX2dQ=="], + "buffers": ["buffers@0.1.1", "", {}, "sha512-9q/rDEGSb/Qsvv2qvzIzdluL5k7AaJOTrw23z9reQthrbF7is4CtlT0DXyO1oei2DCp4uojjzQ7igaSHp1kAEQ=="], "builder-util": ["builder-util@26.15.0", "", { "dependencies": { "@types/debug": "^4.1.6", "builder-util-runtime": "9.7.0", "chalk": "^4.1.2", "cross-spawn": "^7.0.6", "debug": "^4.3.4", "fs-extra": "^10.1.0", "http-proxy-agent": "^7.0.0", "https-proxy-agent": "^7.0.0", "js-yaml": "^4.1.0", "sanitize-filename": "^1.6.3", "source-map-support": "^0.5.19", "stat-mode": "^1.0.0", "temp-file": "^3.4.0", "tiny-async-pool": "1.3.0" } }, "sha512-dUx+HxVbiNsNQ4mGe1PyoC/tBmsHwBNDLdBuqWCj+rhHFE9lHgrXiGYKAM1uNlznhAaUSyMlms84VeSSr3gOBA=="], @@ -3877,7 +3879,7 @@ "h3": ["h3@2.0.1-rc.4", "", { "dependencies": { "rou3": "^0.7.8", "srvx": "^0.9.1" }, "peerDependencies": { "crossws": "^0.4.1" }, "optionalPeers": ["crossws"] }, "sha512-vZq8pEUp6THsXKXrUXX44eOqfChic2wVQ1GlSzQCBr7DeFBkfIZAo2WyNND4GSv54TAa0E4LYIK73WSPdgKUgw=="], - "happy-dom": ["happy-dom@20.9.0", "", { "dependencies": { "@types/node": ">=20.0.0", "@types/whatwg-mimetype": "^3.0.2", "@types/ws": "^8.18.1", "entities": "^7.0.1", "whatwg-mimetype": "^3.0.0", "ws": "^8.18.3" } }, "sha512-GZZ9mKe8r646NUAf/zemnGbjYh4Bt8/MqASJY+pSm5ZDtc3YQox+4gsLI7yi1hba6o+eCsGxpHn5+iEVn31/FQ=="], + "happy-dom": ["happy-dom@20.12.0", "", { "dependencies": { "@types/node": ">=20.0.0", "@types/whatwg-mimetype": "^3.0.2", "@types/ws": "^8.18.1", "buffer-image-size": "^0.6.4", "entities": "^7.0.1", "whatwg-mimetype": "^3.0.0", "ws": "^8.21.0" } }, "sha512-7uMYJu2SEwwL8vVcKp0C0lnt6d2LSGGe+T+oY79PiCJNNSgFpbxW8n5KuzpDQvrU4mt+fYiK1+Jy7Z2v39YR6g=="], "has-bigints": ["has-bigints@1.1.0", "", {}, "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg=="], diff --git a/packages/app/package.json b/packages/app/package.json index e0a1d076e73d..aa7cf38ce4eb 100644 --- a/packages/app/package.json +++ b/packages/app/package.json @@ -32,7 +32,7 @@ }, "license": "MIT", "devDependencies": { - "@happy-dom/global-registrator": "20.0.11", + "@happy-dom/global-registrator": "20.12.0", "@playwright/test": "catalog:", "@sentry/vite-plugin": "catalog:", "@tailwindcss/vite": "catalog:", From 774cc7c1914e4329eefde5a669f938b0cf566661 Mon Sep 17 00:00:00 2001 From: opencode Date: Tue, 1 Sep 2026 21:51:55 +0000 Subject: [PATCH 37/39] release: v1.18.26 --- bun.lock | 56 ++++++++++----------- packages/app/package.json | 2 +- packages/cli/package.json | 2 +- packages/codemode/package.json | 2 +- packages/console/app/package.json | 2 +- packages/console/core/package.json | 2 +- packages/console/function/package.json | 2 +- packages/console/mail/package.json | 2 +- packages/console/support/package.json | 2 +- packages/core/package.json | 2 +- packages/desktop/package.json | 2 +- packages/effect-drizzle-sqlite/package.json | 2 +- packages/effect-sqlite-node/package.json | 2 +- packages/enterprise/package.json | 2 +- packages/function/package.json | 2 +- packages/http-recorder/package.json | 2 +- packages/llm/package.json | 2 +- packages/opencode/package.json | 2 +- packages/plugin/package.json | 2 +- packages/sdk/js/package.json | 2 +- packages/server/package.json | 2 +- packages/session-ui/package.json | 2 +- packages/slack/package.json | 2 +- packages/stats/app/package.json | 2 +- packages/stats/core/package.json | 2 +- packages/stats/server/package.json | 2 +- packages/tui/package.json | 2 +- packages/ui/package.json | 2 +- packages/web/package.json | 2 +- sdks/vscode/package.json | 2 +- 30 files changed, 57 insertions(+), 57 deletions(-) diff --git a/bun.lock b/bun.lock index 9249b5cc0da1..adce8d3bb71d 100644 --- a/bun.lock +++ b/bun.lock @@ -29,7 +29,7 @@ }, "packages/app": { "name": "@opencode-ai/app", - "version": "1.18.25", + "version": "1.18.26", "dependencies": { "@corvu/drawer": "catalog:", "@dnd-kit/abstract": "0.5.0", @@ -96,7 +96,7 @@ }, "packages/cli": { "name": "@opencode-ai/cli", - "version": "1.18.25", + "version": "1.18.26", "bin": { "lildax": "./bin/lildax.cjs", }, @@ -144,7 +144,7 @@ }, "packages/codemode": { "name": "@opencode-ai/codemode", - "version": "1.18.25", + "version": "1.18.26", "dependencies": { "acorn": "8.15.0", "effect": "catalog:", @@ -158,7 +158,7 @@ }, "packages/console/app": { "name": "@opencode-ai/console-app", - "version": "1.18.25", + "version": "1.18.26", "dependencies": { "@cloudflare/vite-plugin": "1.15.2", "@ibm/plex": "6.4.1", @@ -195,7 +195,7 @@ }, "packages/console/core": { "name": "@opencode-ai/console-core", - "version": "1.18.25", + "version": "1.18.26", "dependencies": { "@aws-sdk/client-sts": "3.782.0", "@jsx-email/render": "1.1.1", @@ -222,7 +222,7 @@ }, "packages/console/function": { "name": "@opencode-ai/console-function", - "version": "1.18.25", + "version": "1.18.26", "dependencies": { "@ai-sdk/anthropic": "3.0.82", "@ai-sdk/openai": "3.0.48", @@ -245,7 +245,7 @@ }, "packages/console/mail": { "name": "@opencode-ai/console-mail", - "version": "1.18.25", + "version": "1.18.26", "dependencies": { "@jsx-email/all": "2.2.3", "@jsx-email/cli": "1.4.3", @@ -269,7 +269,7 @@ }, "packages/console/support": { "name": "@opencode-ai/console-support", - "version": "1.18.25", + "version": "1.18.26", "dependencies": { "@cloudflare/vite-plugin": "1.15.2", "@opencode-ai/console-core": "workspace:*", @@ -289,7 +289,7 @@ }, "packages/core": { "name": "@opencode-ai/core", - "version": "1.18.25", + "version": "1.18.26", "bin": { "opencode": "./bin/opencode", }, @@ -383,7 +383,7 @@ }, "packages/desktop": { "name": "@opencode-ai/desktop", - "version": "1.18.25", + "version": "1.18.26", "dependencies": { "@zip.js/zip.js": "2.7.62", "drizzle-orm": "catalog:", @@ -437,7 +437,7 @@ }, "packages/effect-drizzle-sqlite": { "name": "@opencode-ai/effect-drizzle-sqlite", - "version": "1.18.25", + "version": "1.18.26", "dependencies": { "drizzle-orm": "catalog:", "effect": "catalog:", @@ -451,7 +451,7 @@ }, "packages/effect-sqlite-node": { "name": "@opencode-ai/effect-sqlite-node", - "version": "1.18.25", + "version": "1.18.26", "dependencies": { "effect": "catalog:", }, @@ -463,7 +463,7 @@ }, "packages/enterprise": { "name": "@opencode-ai/enterprise", - "version": "1.18.25", + "version": "1.18.26", "dependencies": { "@hono/standard-validator": "catalog:", "@opencode-ai/core": "workspace:*", @@ -495,7 +495,7 @@ }, "packages/function": { "name": "@opencode-ai/function", - "version": "1.18.25", + "version": "1.18.26", "dependencies": { "@octokit/auth-app": "8.0.1", "@octokit/rest": "catalog:", @@ -511,7 +511,7 @@ }, "packages/http-recorder": { "name": "@opencode-ai/http-recorder", - "version": "1.18.25", + "version": "1.18.26", "dependencies": { "@effect/platform-node": "4.0.0-beta.83", "@effect/platform-node-shared": "4.0.0-beta.83", @@ -542,7 +542,7 @@ }, "packages/llm": { "name": "@opencode-ai/llm", - "version": "1.18.25", + "version": "1.18.26", "dependencies": { "@opencode-ai/schema": "workspace:*", "@smithy/eventstream-codec": "4.2.14", @@ -561,7 +561,7 @@ }, "packages/opencode": { "name": "opencode", - "version": "1.18.25", + "version": "1.18.26", "bin": { "opencode": "./bin/opencode", }, @@ -692,7 +692,7 @@ }, "packages/plugin": { "name": "@opencode-ai/plugin", - "version": "1.18.25", + "version": "1.18.26", "dependencies": { "@ai-sdk/provider": "3.0.8", "@opencode-ai/sdk": "workspace:*", @@ -768,7 +768,7 @@ }, "packages/sdk/js": { "name": "@opencode-ai/sdk", - "version": "1.18.25", + "version": "1.18.26", "dependencies": { "cross-spawn": "catalog:", }, @@ -783,7 +783,7 @@ }, "packages/server": { "name": "@opencode-ai/server", - "version": "1.18.25", + "version": "1.18.26", "dependencies": { "@opencode-ai/core": "workspace:*", "@opencode-ai/protocol": "workspace:*", @@ -798,7 +798,7 @@ }, "packages/session-ui": { "name": "@opencode-ai/session-ui", - "version": "1.18.25", + "version": "1.18.26", "dependencies": { "@kobalte/core": "catalog:", "@opencode-ai/client": "file:../app/vendor/opencode-ai-client-1.17.13-v2.tgz", @@ -838,7 +838,7 @@ }, "packages/slack": { "name": "@opencode-ai/slack", - "version": "1.18.25", + "version": "1.18.26", "dependencies": { "@opencode-ai/sdk": "workspace:*", "@slack/bolt": "^3.17.1", @@ -851,7 +851,7 @@ }, "packages/stats/app": { "name": "@opencode-ai/stats-app", - "version": "1.18.25", + "version": "1.18.26", "dependencies": { "@ibm/plex": "6.4.1", "@kobalte/core": "catalog:", @@ -878,7 +878,7 @@ }, "packages/stats/core": { "name": "@opencode-ai/stats-core", - "version": "1.18.25", + "version": "1.18.26", "dependencies": { "@aws-sdk/client-athena": "3.933.0", "@planetscale/database": "1.19.0", @@ -897,7 +897,7 @@ }, "packages/stats/server": { "name": "@opencode-ai/stats-server", - "version": "1.18.25", + "version": "1.18.26", "dependencies": { "@aws-sdk/client-firehose": "3.933.0", "@effect/platform-node": "catalog:", @@ -939,7 +939,7 @@ }, "packages/tui": { "name": "@opencode-ai/tui", - "version": "1.18.25", + "version": "1.18.26", "dependencies": { "@opencode-ai/core": "workspace:*", "@opencode-ai/plugin": "workspace:*", @@ -966,7 +966,7 @@ }, "packages/ui": { "name": "@opencode-ai/ui", - "version": "1.18.25", + "version": "1.18.26", "dependencies": { "@kobalte/core": "catalog:", "@pierre/diffs": "catalog:", @@ -1017,7 +1017,7 @@ }, "packages/web": { "name": "@opencode-ai/web", - "version": "1.18.25", + "version": "1.18.26", "dependencies": { "@astrojs/cloudflare": "12.6.3", "@astrojs/markdown-remark": "6.3.1", diff --git a/packages/app/package.json b/packages/app/package.json index aa7cf38ce4eb..26dd36bcb15b 100644 --- a/packages/app/package.json +++ b/packages/app/package.json @@ -1,6 +1,6 @@ { "name": "@opencode-ai/app", - "version": "1.18.25", + "version": "1.18.26", "description": "", "type": "module", "exports": { diff --git a/packages/cli/package.json b/packages/cli/package.json index 207967c19c01..dcc5b55ab3ba 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,7 +1,7 @@ { "$schema": "https://json.schemastore.org/package.json", "name": "@opencode-ai/cli", - "version": "1.18.25", + "version": "1.18.26", "type": "module", "license": "MIT", "bin": { diff --git a/packages/codemode/package.json b/packages/codemode/package.json index 400451efca64..23d9cf8412de 100644 --- a/packages/codemode/package.json +++ b/packages/codemode/package.json @@ -1,7 +1,7 @@ { "$schema": "https://json.schemastore.org/package.json", "name": "@opencode-ai/codemode", - "version": "1.18.25", + "version": "1.18.26", "description": "Effect-native confined code execution over schema-described tools", "private": true, "type": "module", diff --git a/packages/console/app/package.json b/packages/console/app/package.json index 8e03034d621a..19fdec8598cf 100644 --- a/packages/console/app/package.json +++ b/packages/console/app/package.json @@ -1,6 +1,6 @@ { "name": "@opencode-ai/console-app", - "version": "1.18.25", + "version": "1.18.26", "type": "module", "license": "MIT", "scripts": { diff --git a/packages/console/core/package.json b/packages/console/core/package.json index 0ce0fa748339..b1f79b25ab66 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": "1.18.25", + "version": "1.18.26", "private": true, "type": "module", "license": "MIT", diff --git a/packages/console/function/package.json b/packages/console/function/package.json index 734a3efe345e..702df201f0b4 100644 --- a/packages/console/function/package.json +++ b/packages/console/function/package.json @@ -1,6 +1,6 @@ { "name": "@opencode-ai/console-function", - "version": "1.18.25", + "version": "1.18.26", "$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 a859c292f0f4..a58ea72148a2 100644 --- a/packages/console/mail/package.json +++ b/packages/console/mail/package.json @@ -1,6 +1,6 @@ { "name": "@opencode-ai/console-mail", - "version": "1.18.25", + "version": "1.18.26", "dependencies": { "@jsx-email/all": "2.2.3", "@jsx-email/cli": "1.4.3", diff --git a/packages/console/support/package.json b/packages/console/support/package.json index c68e83fcdf37..1fe427465a65 100644 --- a/packages/console/support/package.json +++ b/packages/console/support/package.json @@ -1,6 +1,6 @@ { "name": "@opencode-ai/console-support", - "version": "1.18.25", + "version": "1.18.26", "type": "module", "license": "MIT", "scripts": { diff --git a/packages/core/package.json b/packages/core/package.json index 7ba2346dd1fb..ce620bc85baf 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "$schema": "https://json.schemastore.org/package.json", - "version": "1.18.25", + "version": "1.18.26", "name": "@opencode-ai/core", "type": "module", "license": "MIT", diff --git a/packages/desktop/package.json b/packages/desktop/package.json index d4d2532c522f..27d16283efb8 100644 --- a/packages/desktop/package.json +++ b/packages/desktop/package.json @@ -1,7 +1,7 @@ { "name": "@opencode-ai/desktop", "private": true, - "version": "1.18.25", + "version": "1.18.26", "type": "module", "license": "MIT", "homepage": "https://opencode.ai", diff --git a/packages/effect-drizzle-sqlite/package.json b/packages/effect-drizzle-sqlite/package.json index eb8103695c4e..904b305ccc4c 100644 --- a/packages/effect-drizzle-sqlite/package.json +++ b/packages/effect-drizzle-sqlite/package.json @@ -1,6 +1,6 @@ { "$schema": "https://json.schemastore.org/package.json", - "version": "1.18.25", + "version": "1.18.26", "name": "@opencode-ai/effect-drizzle-sqlite", "type": "module", "license": "MIT", diff --git a/packages/effect-sqlite-node/package.json b/packages/effect-sqlite-node/package.json index 829aab45fab8..99e1f172b2a2 100644 --- a/packages/effect-sqlite-node/package.json +++ b/packages/effect-sqlite-node/package.json @@ -1,6 +1,6 @@ { "$schema": "https://json.schemastore.org/package.json", - "version": "1.18.25", + "version": "1.18.26", "name": "@opencode-ai/effect-sqlite-node", "type": "module", "license": "MIT", diff --git a/packages/enterprise/package.json b/packages/enterprise/package.json index 6e70986db787..dde092a8b7bc 100644 --- a/packages/enterprise/package.json +++ b/packages/enterprise/package.json @@ -1,6 +1,6 @@ { "name": "@opencode-ai/enterprise", - "version": "1.18.25", + "version": "1.18.26", "private": true, "type": "module", "license": "MIT", diff --git a/packages/function/package.json b/packages/function/package.json index 1c0931b39538..4f3b6332ca55 100644 --- a/packages/function/package.json +++ b/packages/function/package.json @@ -1,6 +1,6 @@ { "name": "@opencode-ai/function", - "version": "1.18.25", + "version": "1.18.26", "$schema": "https://json.schemastore.org/package.json", "private": true, "type": "module", diff --git a/packages/http-recorder/package.json b/packages/http-recorder/package.json index b7041f7225d7..f4d119f193d5 100644 --- a/packages/http-recorder/package.json +++ b/packages/http-recorder/package.json @@ -1,6 +1,6 @@ { "$schema": "https://json.schemastore.org/package.json", - "version": "1.18.25", + "version": "1.18.26", "name": "@opencode-ai/http-recorder", "description": "Record and replay Effect HTTP client traffic with deterministic cassettes", "type": "module", diff --git a/packages/llm/package.json b/packages/llm/package.json index e7b93f1fda7a..9826e2a5d519 100644 --- a/packages/llm/package.json +++ b/packages/llm/package.json @@ -1,6 +1,6 @@ { "$schema": "https://json.schemastore.org/package.json", - "version": "1.18.25", + "version": "1.18.26", "name": "@opencode-ai/llm", "type": "module", "license": "MIT", diff --git a/packages/opencode/package.json b/packages/opencode/package.json index d81bbebae53f..00edea054927 100644 --- a/packages/opencode/package.json +++ b/packages/opencode/package.json @@ -1,6 +1,6 @@ { "$schema": "https://json.schemastore.org/package.json", - "version": "1.18.25", + "version": "1.18.26", "name": "opencode", "type": "module", "license": "MIT", diff --git a/packages/plugin/package.json b/packages/plugin/package.json index 60c3cad95fb3..a822e45a2e14 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": "1.18.25", + "version": "1.18.26", "type": "module", "license": "MIT", "scripts": { diff --git a/packages/sdk/js/package.json b/packages/sdk/js/package.json index 66b07a349f6a..e808bcae5a0d 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": "1.18.25", + "version": "1.18.26", "type": "module", "license": "MIT", "scripts": { diff --git a/packages/server/package.json b/packages/server/package.json index 7c65eedadade..0ed32b1dd480 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,7 +1,7 @@ { "$schema": "https://json.schemastore.org/package.json", "name": "@opencode-ai/server", - "version": "1.18.25", + "version": "1.18.26", "private": true, "type": "module", "license": "MIT", diff --git a/packages/session-ui/package.json b/packages/session-ui/package.json index 16a2d88151e0..80f4cc5bc512 100644 --- a/packages/session-ui/package.json +++ b/packages/session-ui/package.json @@ -1,6 +1,6 @@ { "name": "@opencode-ai/session-ui", - "version": "1.18.25", + "version": "1.18.26", "private": true, "type": "module", "license": "MIT", diff --git a/packages/slack/package.json b/packages/slack/package.json index ecaa750fd542..c7c7a3455c66 100644 --- a/packages/slack/package.json +++ b/packages/slack/package.json @@ -1,6 +1,6 @@ { "name": "@opencode-ai/slack", - "version": "1.18.25", + "version": "1.18.26", "type": "module", "license": "MIT", "scripts": { diff --git a/packages/stats/app/package.json b/packages/stats/app/package.json index a53fca609a3e..5ed324bf5a92 100644 --- a/packages/stats/app/package.json +++ b/packages/stats/app/package.json @@ -1,7 +1,7 @@ { "$schema": "https://json.schemastore.org/package.json", "name": "@opencode-ai/stats-app", - "version": "1.18.25", + "version": "1.18.26", "private": true, "type": "module", "license": "MIT", diff --git a/packages/stats/core/package.json b/packages/stats/core/package.json index 5d333cfce322..c21dc5b74f4a 100644 --- a/packages/stats/core/package.json +++ b/packages/stats/core/package.json @@ -1,7 +1,7 @@ { "$schema": "https://json.schemastore.org/package.json", "name": "@opencode-ai/stats-core", - "version": "1.18.25", + "version": "1.18.26", "private": true, "type": "module", "license": "MIT", diff --git a/packages/stats/server/package.json b/packages/stats/server/package.json index 0681be86c3e7..ab9b7d140bd5 100644 --- a/packages/stats/server/package.json +++ b/packages/stats/server/package.json @@ -1,7 +1,7 @@ { "$schema": "https://json.schemastore.org/package.json", "name": "@opencode-ai/stats-server", - "version": "1.18.25", + "version": "1.18.26", "private": true, "type": "module", "license": "MIT", diff --git a/packages/tui/package.json b/packages/tui/package.json index d208dfa62655..2bfdaf4d3111 100644 --- a/packages/tui/package.json +++ b/packages/tui/package.json @@ -1,7 +1,7 @@ { "$schema": "https://json.schemastore.org/package.json", "name": "@opencode-ai/tui", - "version": "1.18.25", + "version": "1.18.26", "private": true, "type": "module", "license": "MIT", diff --git a/packages/ui/package.json b/packages/ui/package.json index dc3052a6cd0d..995e8be52d1d 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -1,6 +1,6 @@ { "name": "@opencode-ai/ui", - "version": "1.18.25", + "version": "1.18.26", "type": "module", "license": "MIT", "repository": { diff --git a/packages/web/package.json b/packages/web/package.json index 5552d1fffeb1..135e663abfbc 100644 --- a/packages/web/package.json +++ b/packages/web/package.json @@ -2,7 +2,7 @@ "name": "@opencode-ai/web", "type": "module", "license": "MIT", - "version": "1.18.25", + "version": "1.18.26", "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 de3b012f3ec9..1cd570242976 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": "1.18.25", + "version": "1.18.26", "publisher": "sst-dev", "repository": { "type": "git", From e820b291b5ee10d3163e3eedd7186a8ff45036c8 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 2 Sep 2026 01:03:07 +0000 Subject: [PATCH 38/39] chore(termux): seed release automation --- .github/actions/build-android-cli/action.yml | 167 +++++++++ .../scripts/termux-cleanup-release-branch.sh | 176 +++++++++ .github/scripts/termux-configure-git.sh | 37 ++ .../termux-create-android-build-deployment.sh | 55 +++ .../scripts/termux-create-checkpoint-pr.sh | 154 ++++++++ ...ermux-create-or-update-mirrored-release.sh | 67 ++++ .github/scripts/termux-create-release-pr.sh | 311 ++++++++++++++++ .github/scripts/termux-find-pr-artifact.sh | 53 +++ .github/scripts/termux-find-release-pr.sh | 41 +++ .../termux-finish-android-build-deployment.sh | 31 ++ .../scripts/termux-read-release-metadata.sh | 54 +++ .github/scripts/termux-release-paths.sh | 66 ++++ .github/scripts/termux-resolve-release-ref.sh | 35 ++ .github/scripts/termux-select-release.sh | 335 ++++++++++++++++++ .github/scripts/termux-validate-gh-env.sh | 12 + .github/workflows/publish.yml | 134 ++++++- .../termux-android-artifact-smoke.yml | 170 +++++++++ .../termux-release-branch-cleanup.yml | 89 +++++ .../workflows/termux-release-checkpoint.yml | 106 ++++++ .github/workflows/termux-release-ci.yml | 144 ++++++++ .github/workflows/termux-release-deploy.yml | 265 ++++++++++++++ .github/workflows/termux-release-watch.yml | 174 +++++++++ .github/workflows/test.yml | 18 +- 23 files changed, 2683 insertions(+), 11 deletions(-) create mode 100644 .github/actions/build-android-cli/action.yml create mode 100755 .github/scripts/termux-cleanup-release-branch.sh create mode 100755 .github/scripts/termux-configure-git.sh create mode 100755 .github/scripts/termux-create-android-build-deployment.sh create mode 100755 .github/scripts/termux-create-checkpoint-pr.sh create mode 100755 .github/scripts/termux-create-or-update-mirrored-release.sh create mode 100755 .github/scripts/termux-create-release-pr.sh create mode 100755 .github/scripts/termux-find-pr-artifact.sh create mode 100755 .github/scripts/termux-find-release-pr.sh create mode 100755 .github/scripts/termux-finish-android-build-deployment.sh create mode 100755 .github/scripts/termux-read-release-metadata.sh create mode 100755 .github/scripts/termux-release-paths.sh create mode 100755 .github/scripts/termux-resolve-release-ref.sh create mode 100755 .github/scripts/termux-select-release.sh create mode 100755 .github/scripts/termux-validate-gh-env.sh create mode 100644 .github/workflows/termux-android-artifact-smoke.yml create mode 100644 .github/workflows/termux-release-branch-cleanup.yml create mode 100644 .github/workflows/termux-release-checkpoint.yml create mode 100644 .github/workflows/termux-release-ci.yml create mode 100644 .github/workflows/termux-release-deploy.yml create mode 100644 .github/workflows/termux-release-watch.yml diff --git a/.github/actions/build-android-cli/action.yml b/.github/actions/build-android-cli/action.yml new file mode 100644 index 000000000000..161a5e89a53a --- /dev/null +++ b/.github/actions/build-android-cli/action.yml @@ -0,0 +1,167 @@ +name: "Build Android CLI" +description: "Build and smoke-check the Android arm64 opencode artifact" +inputs: + version: + description: "Version to embed in the Android CLI" + required: true + release: + description: "Release flag passed to the opencode build" + required: false + default: "" + repo: + description: "Repository name passed to the opencode build" + required: true +runs: + using: "composite" + steps: + - uses: ./.github/actions/setup-bun + + - name: Setup Zig + shell: bash + run: | + set -euo pipefail + zig_version=0.15.2 + case "${RUNNER_OS}-${RUNNER_ARCH}" in + Linux-X64) zig_target="x86_64-linux" ;; + Linux-ARM64) zig_target="aarch64-linux" ;; + *) echo "Unsupported Zig host: ${RUNNER_OS}-${RUNNER_ARCH}" >&2; exit 1 ;; + esac + + zig_dir="${RUNNER_TOOL_CACHE:-${RUNNER_TEMP}}/zig/${zig_version}/${zig_target}" + if [[ ! -x "${zig_dir}/zig" ]]; then + archive="${RUNNER_TEMP}/zig-${zig_target}-${zig_version}.tar.xz" + mkdir -p "${zig_dir}" + curl -fsSL "https://ziglang.org/download/${zig_version}/zig-${zig_target}-${zig_version}.tar.xz" -o "${archive}" + tar -xJf "${archive}" -C "${zig_dir}" --strip-components=1 + fi + + echo "${zig_dir}" >> "${GITHUB_PATH}" + "${zig_dir}/zig" version + + - name: Install Bun build toolchain + shell: bash + run: | + sudo apt-get update + sudo apt-get install -y --no-install-recommends curl wget gnupg software-properties-common ninja-build cmake file binutils + for attempt in 1 2 3 + do + if curl -fsSL --retry 5 --retry-delay 5 --retry-all-errors --connect-timeout 20 --max-time 120 https://apt.llvm.org/llvm.sh -o "$RUNNER_TEMP/llvm.sh"; then + break + fi + if [[ "$attempt" -eq 3 ]]; then + exit 1 + fi + echo "LLVM installer download failed on attempt $attempt; retrying..." >&2 + sleep $((attempt * 30)) + done + chmod +x "$RUNNER_TEMP/llvm.sh" + for attempt in 1 2 3 + do + if sudo "$RUNNER_TEMP/llvm.sh" 21; then + break + fi + if [[ "$attempt" -eq 3 ]]; then + exit 1 + fi + echo "LLVM apt setup failed on attempt $attempt; retrying..." >&2 + sudo rm -f /etc/apt/sources.list.d/*llvm* /etc/apt/sources.list.d/archive_uri-https_apt_llvm_org_noble_-noble.list + sleep $((attempt * 30)) + done + for attempt in 1 2 3 + do + if sudo apt-get update -o Acquire::Retries=5 && sudo apt-get install -y --no-install-recommends clang-21 lld-21; then + break + fi + if [[ "$attempt" -eq 3 ]]; then + exit 1 + fi + echo "LLVM package install failed on attempt $attempt; retrying..." >&2 + sleep $((attempt * 30)) + done + LLVM_RESOURCE_DIR="$(clang-21 -print-resource-dir)" + NDK_PREBUILT="$ANDROID_NDK_ROOT/toolchains/llvm/prebuilt/linux-x86_64" + NDK_CLANG_VERSION="$(ls "$NDK_PREBUILT/lib/clang" | sort -V | tail -n 1)" + NDK_RUNTIME_DIR="$NDK_PREBUILT/lib/clang/$NDK_CLANG_VERSION/lib/linux" + sudo mkdir -p "$LLVM_RESOURCE_DIR/lib/aarch64-unknown-linux-android28" "$LLVM_RESOURCE_DIR/lib/linux/aarch64" + sudo ln -sf "$NDK_RUNTIME_DIR/libclang_rt.builtins-aarch64-android.a" "$LLVM_RESOURCE_DIR/lib/aarch64-unknown-linux-android28/libclang_rt.builtins.a" + sudo ln -sf "$NDK_RUNTIME_DIR/aarch64/libunwind.a" "$LLVM_RESOURCE_DIR/lib/aarch64-unknown-linux-android28/libunwind.a" + sudo ln -sf "$NDK_RUNTIME_DIR/libclang_rt.builtins-aarch64-android.a" "$LLVM_RESOURCE_DIR/lib/linux/libclang_rt.builtins-aarch64-android.a" + sudo ln -sf "$NDK_RUNTIME_DIR/aarch64/libunwind.a" "$LLVM_RESOURCE_DIR/lib/linux/aarch64/libunwind.a" + + - name: Build Android Bun runtime with FFI + shell: bash + run: | + export CC=clang-21 + export CXX=clang++-21 + export LD=ld.lld-21 + NDK_PREBUILT="$ANDROID_NDK_ROOT/toolchains/llvm/prebuilt/linux-x86_64" + mkdir -p "$RUNNER_TEMP/android-toolchain-bin" + ln -sf "$NDK_PREBUILT/bin/llvm-strip" "$RUNNER_TEMP/android-toolchain-bin/strip" + export PATH="$RUNNER_TEMP/android-toolchain-bin:$PATH" + BUN_VERSION="$(node -p "require('./package.json').packageManager.split('@')[1]")" + BUN_SOURCE="$RUNNER_TEMP/bun-src" + git clone --depth=1 --branch "bun-v${BUN_VERSION}" https://github.com/oven-sh/bun.git "$BUN_SOURCE" + BUN_BUILD="$BUN_SOURCE/build/android-ffi" + cd "$BUN_SOURCE" + bun install --frozen-lockfile + bun scripts/build.ts --profile=android-release --tinycc=on --build-dir="$BUN_BUILD" --target=bun -j"$(nproc)" + test -x "$BUN_BUILD/bun" + file "$BUN_BUILD/bun" + echo "OPENCODE_ANDROID_BUN=$BUN_BUILD/bun" >> "$GITHUB_ENV" + + - name: Build Android CLI + shell: bash + run: ./packages/opencode/script/build.ts --target=android-arm64 + env: + OPENCODE_VERSION: ${{ inputs.version }} + OPENCODE_RELEASE: ${{ inputs.release }} + GH_REPO: ${{ inputs.repo }} + + - name: Smoke Android CLI artifact + shell: bash + run: | + set -euo pipefail + artifact_dir="packages/opencode/dist/opencode-android-arm64" + binary="${artifact_dir}/bin/opencode" + opentui_lib="packages/opencode/node_modules/@opentui/core/android-arm64/libopentui.so" + smoke_dir="packages/opencode/dist/android-smoke" + mkdir -p "$smoke_dir" + + test -x "$binary" + file "$binary" | tee "$smoke_dir/file.txt" + readelf -h "$binary" | tee "$smoke_dir/readelf-header.txt" + readelf -l "$binary" | tee "$smoke_dir/readelf-program-headers.txt" + readelf -S "$binary" > "$smoke_dir/readelf-sections.txt" + readelf -d "$binary" | tee "$smoke_dir/readelf-dynamic.txt" + + grep -q "Machine:.*AArch64" "$smoke_dir/readelf-header.txt" + grep -q "Type:.*DYN" "$smoke_dir/readelf-header.txt" + if grep -E "Requesting program interpreter: .*(ld-linux|ld-musl)" "$smoke_dir/readelf-program-headers.txt"; then + echo "Android artifact unexpectedly references a Linux ELF interpreter." >&2 + exit 1 + fi + if grep -E "Shared library: \\[(libc\\.so\\.6|ld-linux|ld-musl)" "$smoke_dir/readelf-dynamic.txt"; then + echo "Android artifact unexpectedly links Linux libc/runtime libraries." >&2 + exit 1 + fi + + test -f "$opentui_lib" + file "$opentui_lib" | tee "$smoke_dir/opentui-file.txt" + readelf -d "$opentui_lib" | tee "$smoke_dir/opentui-readelf-dynamic.txt" + readelf -Ws "$opentui_lib" > "$smoke_dir/opentui-readelf-symbols.txt" + readelf -r "$opentui_lib" > "$smoke_dir/opentui-readelf-relocs.txt" + + if grep -E "Shared library: \\[(libc\\.so\\.6|ld-linux|ld-musl|libstdc\\+\\+|libgcc_s)" "$smoke_dir/opentui-readelf-dynamic.txt"; then + echo "OpenTUI Android library unexpectedly links non-Android runtime libraries." >&2 + exit 1 + fi + if grep -E "Shared library: \\[(libc\\+\\+|libc\\+\\+_shared|libunwind)\\.so" "$smoke_dir/opentui-readelf-dynamic.txt"; then + echo "OpenTUI Android library requires an unbundled C++/unwind runtime." >&2 + exit 1 + fi + grep -E " (YGNode|facebook4yoga|yogaNode)" "$smoke_dir/opentui-readelf-symbols.txt" | head -80 || true + + - name: Pack Android artifact + shell: bash + working-directory: packages/opencode/dist/opencode-android-arm64/bin + run: tar -czf ../../opencode-android-arm64.tar.gz * diff --git a/.github/scripts/termux-cleanup-release-branch.sh b/.github/scripts/termux-cleanup-release-branch.sh new file mode 100755 index 000000000000..1c739a45a942 --- /dev/null +++ b/.github/scripts/termux-cleanup-release-branch.sh @@ -0,0 +1,176 @@ +#!/usr/bin/env bash + +set -euo pipefail + +: "${GITHUB_REPOSITORY:?GITHUB_REPOSITORY is required}" +: "${GH_TOKEN:?GH_TOKEN is required}" + +cleanup_limit="${CLEANUP_LIMIT:-100}" +cleanup_matched_checkpoint=false + +append_cleanup_summary() { + local outcome="$1" + local release_branch="${2:-}" + local detail="${3:-}" + + [[ -n "${GITHUB_STEP_SUMMARY:-}" ]] || return 0 + + { + echo "## Termux release branch cleanup" + echo + echo "- Outcome: ${outcome}" + if [[ -n "${release_branch}" ]]; then + echo "- Release branch: \`${release_branch}\`" + fi + if [[ -n "${detail}" ]]; then + echo "- Detail: ${detail}" + fi + } >> "${GITHUB_STEP_SUMMARY}" +} + +checkpoint_source_branch() { + jq -r ' + [ + (.body // "") + | split("\n")[] + | try capture("^- Source branch: `(?[^`]+)`").branch catch empty + ][0] // "" + ' <<< "$1" +} + +checkpoint_has_label() { + local checkpoint_json="$1" + local label="$2" + + jq -e --arg label "${label}" '[.labels[]?.name] | index($label) != null' <<< "${checkpoint_json}" >/dev/null +} + +release_branch_is_valid() { + [[ "$1" =~ ^release-[A-Za-z0-9._-]+$ ]] +} + +open_prs_using_branch() { + local release_branch="$1" + + gh pr list \ + --repo "${GITHUB_REPOSITORY}" \ + --state open \ + --limit 200 \ + --json number,title,url,headRefName,baseRefName,headRepository \ + | jq \ + --arg branch "${release_branch}" \ + --arg repo "${GITHUB_REPOSITORY}" \ + ' + [ + .[] + | select( + .baseRefName == $branch + or ( + .headRefName == $branch + and ((.headRepository.nameWithOwner // "") == $repo) + ) + ) + ] + ' +} + +delete_release_branch_if_unused() { + local release_branch="$1" + local checkpoint_url="$2" + local open_prs + local branch_sha + + if ! release_branch_is_valid "${release_branch}"; then + echo "::warning::Refusing to delete unexpected release branch name: ${release_branch}" + append_cleanup_summary "skipped" "${release_branch}" "branch name did not match release-* cleanup policy" + return 0 + fi + + if ! branch_sha="$(gh api --method GET "repos/${GITHUB_REPOSITORY}/git/ref/heads/${release_branch}" --jq '.object.sha' 2>/dev/null)"; then + echo "${release_branch} no longer exists on ${GITHUB_REPOSITORY}." + append_cleanup_summary "already deleted" "${release_branch}" "remote branch was not found" + return 0 + fi + + open_prs="$(open_prs_using_branch "${release_branch}")" + if [[ "$(jq 'length' <<< "${open_prs}")" != "0" ]]; then + echo "Leaving ${release_branch} in place because open PRs still use it as a source or target:" + jq -r '.[] | "- #\(.number) \(.title) (\(.url))"' <<< "${open_prs}" + append_cleanup_summary "skipped" "${release_branch}" "open PRs still use this branch" + return 0 + fi + + echo "Deleting ${release_branch} at ${branch_sha} after merged checkpoint ${checkpoint_url}." + gh api --silent --method DELETE "repos/${GITHUB_REPOSITORY}/git/refs/heads/${release_branch}" + echo "Deleted ${release_branch} at ${branch_sha} after merged checkpoint ${checkpoint_url}." + append_cleanup_summary "deleted" "${release_branch}" "checkpoint ${checkpoint_url} merged and no open PRs use the branch" +} + +cleanup_checkpoint_pr() { + local checkpoint_json="$1" + local checkpoint_url + local release_branch + + checkpoint_url="$(jq -r '.url // empty' <<< "${checkpoint_json}")" + + if [[ "$(jq -r '.mergedAt // empty' <<< "${checkpoint_json}")" == "" ]]; then + echo "Checkpoint PR ${checkpoint_url:-unknown} is not merged yet; release branch cleanup is deferred." + append_cleanup_summary "deferred" "" "checkpoint PR is not merged yet" + return 0 + fi + + if ! checkpoint_has_label "${checkpoint_json}" "checkpoint" || ! checkpoint_has_label "${checkpoint_json}" "termux-release"; then + echo "Skipping ${checkpoint_url:-checkpoint PR}; it is not labeled as a Termux checkpoint." + return 0 + fi + + release_branch="$(checkpoint_source_branch "${checkpoint_json}")" + if [[ -z "${release_branch}" ]]; then + echo "::warning::Could not find release source branch in checkpoint PR ${checkpoint_url}." + append_cleanup_summary "skipped" "" "checkpoint PR did not include a source branch" + return 0 + fi + + if [[ -n "${SOURCE_BRANCH:-}" && "${release_branch}" != "${SOURCE_BRANCH}" ]]; then + echo "Skipping ${checkpoint_url}; source branch ${release_branch} does not match requested ${SOURCE_BRANCH}." + return 0 + fi + + cleanup_matched_checkpoint=true + delete_release_branch_if_unused "${release_branch}" "${checkpoint_url}" +} + +if [[ -n "${CHECKPOINT_PR:-}" ]]; then + cleanup_checkpoint_pr "$( + gh pr view "${CHECKPOINT_PR}" \ + --repo "${GITHUB_REPOSITORY}" \ + --json number,title,body,baseRefName,headRefName,labels,mergedAt,state,url + )" + exit 0 +fi + +while IFS= read -r checkpoint_json; do + cleanup_checkpoint_pr "${checkpoint_json}" +done < <( + gh pr list \ + --repo "${GITHUB_REPOSITORY}" \ + --state merged \ + --limit "${cleanup_limit}" \ + --json number,title,body,baseRefName,headRefName,labels,mergedAt,state,url \ + | jq -c ' + .[] + | select(([.labels[]?.name] | index("checkpoint") != null)) + | select(([.labels[]?.name] | index("termux-release") != null)) + ' +) + +if [[ "${cleanup_matched_checkpoint}" == "false" ]]; then + if [[ -n "${SOURCE_BRANCH:-}" ]]; then + echo "No merged Termux checkpoint PR found for ${SOURCE_BRANCH} in the most recent ${cleanup_limit} merged PRs." + append_cleanup_summary "skipped" "${SOURCE_BRANCH}" "no merged checkpoint PR found" + exit 0 + fi + + echo "No merged Termux checkpoint PRs found in the most recent ${cleanup_limit} merged PRs." + append_cleanup_summary "skipped" "" "no merged checkpoint PRs found" +fi diff --git a/.github/scripts/termux-configure-git.sh b/.github/scripts/termux-configure-git.sh new file mode 100755 index 000000000000..764e936776d6 --- /dev/null +++ b/.github/scripts/termux-configure-git.sh @@ -0,0 +1,37 @@ +#!/usr/bin/env bash + +set -euo pipefail + +git config user.name "github-actions[bot]" +git config user.email "41898282+github-actions[bot]@users.noreply.github.com" + +while (($#)); do + case "$1" in + --origin) + shift + origin_refs=() + while (($#)) && [[ "$1" != --* ]]; do + origin_refs+=("$1") + shift + done + if ((${#origin_refs[@]})); then + git fetch --prune origin "${origin_refs[@]}" + fi + ;; + --upstream-tag) + if (($# < 3)); then + echo "--upstream-tag requires ." >&2 + exit 1 + fi + upstream_repo="$2" + upstream_tag="$3" + git remote add upstream "https://github.com/${upstream_repo}.git" 2>/dev/null || true + git fetch --prune --no-tags upstream "+refs/tags/${upstream_tag}:refs/tags/${upstream_tag}" + shift 3 + ;; + *) + echo "Unknown argument: $1" >&2 + exit 1 + ;; + esac +done diff --git a/.github/scripts/termux-create-android-build-deployment.sh b/.github/scripts/termux-create-android-build-deployment.sh new file mode 100755 index 000000000000..ac85205b0718 --- /dev/null +++ b/.github/scripts/termux-create-android-build-deployment.sh @@ -0,0 +1,55 @@ +#!/usr/bin/env bash + +set -euo pipefail + +: "${GITHUB_REPOSITORY:?GITHUB_REPOSITORY is required}" +: "${GITHUB_OUTPUT:?GITHUB_OUTPUT is required}" +: "${GITHUB_RUN_ID:?GITHUB_RUN_ID is required}" +: "${GITHUB_SERVER_URL:?GITHUB_SERVER_URL is required}" +: "${GH_TOKEN:?GH_TOKEN is required}" +: "${RELEASE_BRANCH:?RELEASE_BRANCH is required}" +: "${RELEASE_SHA:?RELEASE_SHA is required}" +: "${TERMUX_TAG:?TERMUX_TAG is required}" + +deployment_json="$( + jq -n \ + --arg ref "${RELEASE_SHA}" \ + --arg termux_tag "${TERMUX_TAG}" \ + --arg release_branch "${RELEASE_BRANCH}" \ + '{ + ref: $ref, + task: "build-android", + auto_merge: false, + required_contexts: [], + environment: "termux-android", + description: ("Build Android artifact for " + $termux_tag), + transient_environment: true, + production_environment: false, + payload: { + termux_tag: $termux_tag, + release_branch: $release_branch + } + }' \ + | gh api --method POST "repos/${GITHUB_REPOSITORY}/deployments" --input - +)" + +deployment_id="$(jq -r '.id' <<< "${deployment_json}")" +if [[ -z "${deployment_id}" || "${deployment_id}" == "null" ]]; then + echo "GitHub did not return a deployment id." >&2 + echo "${deployment_json}" >&2 + exit 1 +fi + +gh api --method POST "repos/${GITHUB_REPOSITORY}/deployments/${deployment_id}/statuses" \ + --input - <<< "$( + jq -n \ + --arg log_url "${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}/actions/runs/${GITHUB_RUN_ID}" \ + '{ + state: "in_progress", + environment: "termux-android", + log_url: $log_url, + description: "Building Android artifact" + }' + )" + +echo "deployment_id=${deployment_id}" >> "${GITHUB_OUTPUT}" diff --git a/.github/scripts/termux-create-checkpoint-pr.sh b/.github/scripts/termux-create-checkpoint-pr.sh new file mode 100755 index 000000000000..d00ef62eec15 --- /dev/null +++ b/.github/scripts/termux-create-checkpoint-pr.sh @@ -0,0 +1,154 @@ +#!/usr/bin/env bash + +set -euo pipefail + +: "${GITHUB_REPOSITORY:?GITHUB_REPOSITORY is required}" +: "${GH_TOKEN:?GH_TOKEN is required}" +: "${DESTINATION_BRANCH:?DESTINATION_BRANCH is required}" +: "${RUNNER_TEMP:?RUNNER_TEMP is required}" + +script_dir="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)" +# shellcheck source=.github/scripts/termux-release-paths.sh +source "${script_dir}/termux-release-paths.sh" + +source_branch="${SOURCE_BRANCH:-${REQUESTED_SOURCE_BRANCH:-${GITHUB_REF_NAME:-}}}" +source_sha="${SOURCE_SHA:-${REQUESTED_SOURCE_SHA:-}}" +if [[ -z "${source_branch}" ]]; then + echo "SOURCE_BRANCH is required." >&2 + exit 1 +fi +if [[ -z "${source_sha}" ]]; then + source_sha="$(git rev-parse "origin/${source_branch}")" +fi +rm -rf "${PROMOTED_DIR:-promoted}" + +short_sha="${source_sha:0:12}" +checkpoint_branch="checkpoint-${short_sha}" +pr_title="checkpoint: ${source_branch} into ${DESTINATION_BRANCH} @ ${short_sha}" +merge_conflicted=false +conflict_summary="" + +existing_pr="$( + gh pr list \ + --repo "${GITHUB_REPOSITORY}" \ + --head "${checkpoint_branch}" \ + --state all \ + --json body,number,state,mergedAt,url \ + --jq '[.[] | select(.state == "OPEN" or .mergedAt != null)] | .[0] // empty' +)" +if [[ -n "${existing_pr}" ]]; then + existing_url="$(jq -r '.url' <<< "${existing_pr}")" + echo "Checkpoint PR already exists for ${checkpoint_branch}: ${existing_url}." + echo "pr_url=${existing_url}" >> "${GITHUB_OUTPUT:-/dev/null}" + exit 0 +fi + +git fetch origin "${DESTINATION_BRANCH}" "${source_branch}" +git checkout -B "${checkpoint_branch}" "origin/${DESTINATION_BRANCH}" + +if ! git merge --no-ff --no-edit "${source_sha}"; then + mapfile -t conflicted_paths < <(git diff --name-only --diff-filter=U) + for conflicted_path in "${conflicted_paths[@]}"; do + if termux_is_checkpoint_release_only_path "${conflicted_path}"; then + echo "Auto-resolving release-only checkpoint conflict in ${conflicted_path} by keeping ${DESTINATION_BRANCH}." + if git cat-file -e "HEAD:${conflicted_path}" 2>/dev/null; then + git checkout --ours -- "${conflicted_path}" + git add "${conflicted_path}" + else + git rm -f --ignore-unmatch "${conflicted_path}" + fi + elif termux_is_checkpoint_source_wins_path "${conflicted_path}"; then + echo "Auto-resolving checkpoint conflict in ${conflicted_path} from ${source_branch}." + if git cat-file -e "${source_sha}:${conflicted_path}" 2>/dev/null; then + git checkout --theirs -- "${conflicted_path}" + git add "${conflicted_path}" + else + git rm -f --ignore-unmatch "${conflicted_path}" + fi + fi + done + + mapfile -t remaining_conflicts < <(git diff --name-only --diff-filter=U) + if [[ "${#remaining_conflicts[@]}" -eq 0 ]]; then + git commit --no-edit + else + merge_conflicted=true + conflict_summary="$(printf '%s\n' "${remaining_conflicts[@]}" | awk '{ print "- `" $0 "`" }')" + echo "Automatic checkpoint merge failed; creating a manual-resolution PR." >&2 + if git rev-parse -q --verify MERGE_HEAD >/dev/null; then + git merge --abort + fi + git checkout -B "${checkpoint_branch}" "${source_sha}" + fi +fi + +for release_only_path in "${TERMUX_CHECKPOINT_RELEASE_ONLY_PATHS[@]}"; do + if git cat-file -e "origin/${DESTINATION_BRANCH}:${release_only_path}" 2>/dev/null; then + git checkout "origin/${DESTINATION_BRANCH}" -- "${release_only_path}" + else + git rm -f --ignore-unmatch -- "${release_only_path}" + fi +done + +if ! git diff --quiet || ! git diff --cached --quiet; then + git add -A + if [[ "${merge_conflicted}" == "true" ]]; then + git commit -m "checkpoint: prepare ${source_branch} for ${DESTINATION_BRANCH}" + else + git commit --amend --no-edit + fi +fi + +if git diff --quiet "origin/${DESTINATION_BRANCH}" HEAD; then + echo "Checkpoint merge produced no destination changes after release-only files were restored." + exit 0 +fi + +git push --no-verify --force-with-lease origin "${checkpoint_branch}" + +body_path="${RUNNER_TEMP}/termux-checkpoint-pr.md" +{ + echo "## Termux release checkpoint" + echo + echo "- Source branch: \`${source_branch}\`" + echo "- Source hash: \`${source_sha}\`" + echo "- Destination branch: \`${DESTINATION_BRANCH}\`" + echo + echo "This PR carries release-train conflict fixes and follow-up changes back into the reusable Termux patch branch. Release metadata is removed before opening the PR." + if [[ "${merge_conflicted}" == "true" ]]; then + echo + echo "## Merge conflicts" + echo + echo "GitHub Actions could not create the checkpoint merge commit automatically, so this PR was created from the release branch state for manual conflict resolution." + echo + printf '%s\n' "${conflict_summary:-"- Conflict details unavailable"}" + fi +} > "${body_path}" + +pr_url="$( + gh pr create \ + --repo "${GITHUB_REPOSITORY}" \ + --base "${DESTINATION_BRANCH}" \ + --head "${checkpoint_branch}" \ + --title "${pr_title}" \ + --body-file "${body_path}" +)" +if [[ -n "${REVIEWER:-}" ]]; then + gh pr edit "${pr_url}" --repo "${GITHUB_REPOSITORY}" --add-reviewer "${REVIEWER}" || true +fi +gh label create checkpoint --repo "${GITHUB_REPOSITORY}" --color c5def5 --description "Checkpoint merge" --force +gh label create termux-release --repo "${GITHUB_REPOSITORY}" --color 0e8a16 --description "Termux release automation" --force +gh pr edit "${pr_url}" --repo "${GITHUB_REPOSITORY}" --add-label "checkpoint" --add-label "termux-release" + +if [[ "${merge_conflicted}" != "true" ]]; then + pr_head_sha="$(gh pr view "${pr_url}" --repo "${GITHUB_REPOSITORY}" --json headRefOid --jq '.headRefOid')" + gh pr merge "${pr_url}" \ + --repo "${GITHUB_REPOSITORY}" \ + --merge \ + --auto \ + --delete-branch \ + --match-head-commit "${pr_head_sha}" \ + || echo "::warning::Could not enable checkpoint auto-merge for ${pr_url}." +fi + +echo "pr_url=${pr_url}" >> "${GITHUB_OUTPUT:-/dev/null}" diff --git a/.github/scripts/termux-create-or-update-mirrored-release.sh b/.github/scripts/termux-create-or-update-mirrored-release.sh new file mode 100755 index 000000000000..033ea8562547 --- /dev/null +++ b/.github/scripts/termux-create-or-update-mirrored-release.sh @@ -0,0 +1,67 @@ +#!/usr/bin/env bash + +set -euo pipefail + +: "${GITHUB_REPOSITORY:?GITHUB_REPOSITORY is required}" +: "${GH_TOKEN:?GH_TOKEN is required}" +: "${RUNNER_TEMP:?RUNNER_TEMP is required}" +: "${UPSTREAM_TAG:?UPSTREAM_TAG is required}" +: "${UPSTREAM_REPO:?UPSTREAM_REPO is required}" +: "${UPSTREAM_NAME?UPSTREAM_NAME is required}" +: "${TERMUX_TAG:?TERMUX_TAG is required}" +: "${UPSTREAM_PRERELEASE:?UPSTREAM_PRERELEASE is required}" +: "${UPSTREAM_HTML_URL?UPSTREAM_HTML_URL is required}" +: "${RELEASE_TRAIN?RELEASE_TRAIN is required}" +: "${RELEASE_EXISTS:?RELEASE_EXISTS is required}" +: "${PR_NUMBER:?PR_NUMBER is required}" +: "${HEAD_SHA:?HEAD_SHA is required}" +: "${RELEASE_SHA:?RELEASE_SHA is required}" + +promoted_dir="${PROMOTED_DIR:-promoted}" +asset_path="${promoted_dir}/opencode-android-arm64.tar.gz" +body_path="${RUNNER_TEMP}/termux-release-body.md" +upstream_body_path="${RUNNER_TEMP}/termux-upstream-release-body.md" + +if ! gh release view "${UPSTREAM_TAG}" --repo "${UPSTREAM_REPO}" --json body --jq '.body // ""' > "${upstream_body_path}"; then + echo "::warning::Could not read ${UPSTREAM_REPO} release ${UPSTREAM_TAG}." + : > "${upstream_body_path}" +fi + +{ + echo "Termux Android build for ${UPSTREAM_TAG}." + echo + echo "- Upstream release: ${UPSTREAM_HTML_URL}" + echo "- Release train: \`${RELEASE_TRAIN}\`" + echo "- Promoted PR: #${PR_NUMBER}" + echo "- Promoted PR head SHA: \`${HEAD_SHA}\`" + echo + if [[ -s "${upstream_body_path}" ]]; then + echo "## Upstream release notes" + echo + cat "${upstream_body_path}" + fi +} > "${body_path}" + +release_title="${UPSTREAM_NAME}" +if [[ -z "${release_title}" || "${release_title}" == "null" ]]; then + release_title="${TERMUX_TAG}" +fi + +if [[ "${RELEASE_EXISTS}" == "true" ]]; then + gh release upload "${TERMUX_TAG}" "${asset_path}#opencode-android-arm64.tar.gz" --repo "${GITHUB_REPOSITORY}" --clobber + gh release edit "${TERMUX_TAG}" --repo "${GITHUB_REPOSITORY}" --notes-file "${body_path}" --title "${release_title}" + exit 0 +fi + +release_args=( + gh release create "${TERMUX_TAG}" + --repo "${GITHUB_REPOSITORY}" + --target "${RELEASE_SHA}" + --title "${release_title}" + --notes-file "${body_path}" +) +if [[ "${UPSTREAM_PRERELEASE}" == "true" ]]; then + release_args+=(--prerelease) +fi +release_args+=("${asset_path}#opencode-android-arm64.tar.gz") +"${release_args[@]}" diff --git a/.github/scripts/termux-create-release-pr.sh b/.github/scripts/termux-create-release-pr.sh new file mode 100755 index 000000000000..546d92eb6655 --- /dev/null +++ b/.github/scripts/termux-create-release-pr.sh @@ -0,0 +1,311 @@ +#!/usr/bin/env bash + +set -euo pipefail + +: "${GITHUB_REPOSITORY:?GITHUB_REPOSITORY is required}" +: "${UPSTREAM_REPO:?UPSTREAM_REPO is required}" +: "${UPSTREAM_TAG:?UPSTREAM_TAG is required}" +: "${UPSTREAM_NAME?UPSTREAM_NAME is required}" +: "${UPSTREAM_HTML_URL:?UPSTREAM_HTML_URL is required}" +: "${UPSTREAM_PRERELEASE:?UPSTREAM_PRERELEASE is required}" +: "${UPSTREAM_TARGET?UPSTREAM_TARGET is required}" +: "${UPSTREAM_ID?UPSTREAM_ID is required}" +: "${RELEASE_TRAIN:?RELEASE_TRAIN is required}" +: "${RELEASE_BRANCH:?RELEASE_BRANCH is required}" +: "${WORK_BRANCH:?WORK_BRANCH is required}" +: "${TERMUX_TAG:?TERMUX_TAG is required}" +: "${PATCH_BRANCH:?PATCH_BRANCH is required}" +: "${REVIEWER?REVIEWER is required}" +: "${RUNNER_TEMP:?RUNNER_TEMP is required}" +: "${GITHUB_OUTPUT:?GITHUB_OUTPUT is required}" +: "${GH_TOKEN:?GH_TOKEN is required}" + +script_dir="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)" +automation_root="$(cd -- "${script_dir}/../.." && pwd)" +# shellcheck source=.github/scripts/termux-release-paths.sh +source "${script_dir}/termux-release-paths.sh" + +pr_title="Termux ${UPSTREAM_TAG}" +seed_dir="${RUNNER_TEMP}/termux-release-seed" + +capture_seeded_release_files() { + local seeded_path + + for seeded_path in "${TERMUX_RELEASE_AUTOMATION_PATHS[@]}"; do + mkdir -p "${seed_dir}/$(dirname "${seeded_path}")" + cp "${automation_root}/${seeded_path}" "${seed_dir}/${seeded_path}" + done +} + +seed_release_automation_files() { + local seeded_path + + for seeded_path in "${TERMUX_RELEASE_AUTOMATION_PATHS[@]}"; do + mkdir -p "$(dirname "${seeded_path}")" + cp "${seed_dir}/${seeded_path}" "${seeded_path}" + case "${seeded_path}" in + .github/scripts/*.sh) + chmod +x "${seeded_path}" + ;; + esac + done +} + +normalize_workspace_versions() { + local version="${UPSTREAM_TAG#v}" + version="${version%-termux}" + + OPENCODE_UPSTREAM_VERSION="${version}" node <<'NODE' +const fs = require("fs") +const path = require("path") + +const version = process.env.OPENCODE_UPSTREAM_VERSION + +function visit(dir) { + for (const entry of fs.readdirSync(dir, { withFileTypes: true })) { + const full = path.join(dir, entry.name) + if (entry.isDirectory()) { + visit(full) + continue + } + if (entry.name !== "package.json") continue + const text = fs.readFileSync(full, "utf8") + const pkg = JSON.parse(text) + if (!pkg.version) continue + if (pkg.name !== "opencode" && !String(pkg.name || "").startsWith("@opencode-ai/")) continue + pkg.version = version + fs.writeFileSync(full, `${JSON.stringify(pkg, null, 2)}\n`) + } +} + +visit("packages") +visit("sdks") +NODE + + if command -v bun >/dev/null 2>&1; then + bun install --lockfile-only --ignore-scripts + else + echo "::warning::bun is unavailable; package versions were normalized but bun.lock was not refreshed." + fi +} + +open_prs_json() { + gh pr list \ + --repo "${GITHUB_REPOSITORY}" \ + --state open \ + --limit 200 \ + --json number,title,body,headRefName,baseRefName,url +} + +existing_open_release_pr() { + open_prs_json \ + | jq -c \ + --arg release_branch "${RELEASE_BRANCH}" \ + ' + [ + .[] + | select(.baseRefName == $release_branch) + | select( + ((.title // "") | startswith("Termux v")) + and ((.body // "") | contains("Release branch: `" + $release_branch + "`")) + ) + ] + | sort_by(.number) + | reverse + | .[0] // empty + ' +} + +merge_release_pr_after_ci() { + local pr_url="$1" + local ci_run_id="" + local details_url + local expected_head + local pr_info + + if ! pr_info="$(gh pr view "${pr_url}" --repo "${GITHUB_REPOSITORY}" --json headRefOid,mergeStateStatus,mergeable,state,url)"; then + echo "::warning::Could not inspect ${pr_url}; leaving auto-merge disabled." + return 0 + fi + + if [[ "$(jq -r '.state' <<< "${pr_info}")" != "OPEN" ]]; then + return 0 + fi + + if [[ "$(jq -r '.mergeable // ""' <<< "${pr_info}")" == "CONFLICTING" || "$(jq -r '.mergeStateStatus // ""' <<< "${pr_info}")" == "DIRTY" ]]; then + echo "Skipping merge for ${pr_url}; GitHub reports conflicts." + return 0 + fi + + expected_head="$(jq -r '.headRefOid' <<< "${pr_info}")" + for _ in $(seq 1 210); do + details_url="$( + gh pr view "${pr_url}" \ + --repo "${GITHUB_REPOSITORY}" \ + --json statusCheckRollup \ + --jq '[.statusCheckRollup[]? | select(.workflowName == "termux-release-ci") | .detailsUrl] | map(select(. != null)) | .[0] // empty' + )" + ci_run_id="$(sed -n 's#.*\/actions\/runs\/\([0-9][0-9]*\).*#\1#p' <<< "${details_url}")" + [[ -z "${ci_run_id}" ]] || break + sleep 10 + done + + if [[ -z "${ci_run_id}" ]]; then + echo "Release CI did not start for ${pr_url}." >&2 + return 1 + fi + + gh run watch "${ci_run_id}" --repo "${GITHUB_REPOSITORY}" --exit-status + pr_info="$(gh pr view "${pr_url}" --repo "${GITHUB_REPOSITORY}" --json headRefOid,mergeStateStatus,mergeable,state,url)" + if [[ "$(jq -r '.headRefOid' <<< "${pr_info}")" != "${expected_head}" ]]; then + echo "Release PR head changed while CI ran; refusing to merge stale result." >&2 + return 1 + fi + + gh pr merge "${pr_url}" \ + --repo "${GITHUB_REPOSITORY}" \ + --squash \ + --delete-branch \ + --match-head-commit "${expected_head}" +} + +append_pr_summary() { + local outcome="$1" + local pr_url="${2:-}" + + [[ -n "${GITHUB_STEP_SUMMARY:-}" ]] || return 0 + + { + echo "## Termux release PR" + echo + echo "- Outcome: ${outcome}" + echo "- Upstream tag: \`${UPSTREAM_TAG}\`" + echo "- Termux tag: \`${TERMUX_TAG}\`" + echo "- Release branch: \`${RELEASE_BRANCH}\`" + echo "- Work branch: \`${WORK_BRANCH}\`" + echo "- Patch branch: \`${PATCH_BRANCH}\`" + if [[ -n "${pr_url}" ]]; then + echo "- PR: ${pr_url}" + fi + } >> "${GITHUB_STEP_SUMMARY}" +} + +capture_seeded_release_files + +release_branch_exists=false +if git ls-remote --exit-code --heads origin "${RELEASE_BRANCH}" >/dev/null 2>&1; then + release_branch_exists=true + git fetch origin "${RELEASE_BRANCH}" +fi + +if [[ "${release_branch_exists}" == "false" ]]; then + git checkout -B "${RELEASE_BRANCH}" "refs/tags/${UPSTREAM_TAG}" + seed_release_automation_files + git add -- "${TERMUX_RELEASE_AUTOMATION_PATHS[@]}" + if ! git diff --cached --quiet; then + git commit -m "chore(termux): seed release automation" + fi + git push --no-verify origin "${RELEASE_BRANCH}" +fi + +git fetch origin "${RELEASE_BRANCH}" +existing_pr="$(existing_open_release_pr)" +if [[ -n "${existing_pr}" && "$(jq -r '.headRefName' <<< "${existing_pr}")" != "${WORK_BRANCH}" ]]; then + WORK_BRANCH="$(jq -r '.headRefName' <<< "${existing_pr}")" +fi + +if git ls-remote --exit-code --heads origin "${WORK_BRANCH}" >/dev/null 2>&1; then + git fetch origin "${WORK_BRANCH}" + git checkout -B "${WORK_BRANCH}" "origin/${WORK_BRANCH}" +else + git checkout -B "${WORK_BRANCH}" "origin/${PATCH_BRANCH}" +fi + +seed_release_automation_files +normalize_workspace_versions + +mkdir -p .github +jq -n \ + --arg upstream_repo "${UPSTREAM_REPO}" \ + --arg upstream_tag "${UPSTREAM_TAG}" \ + --arg upstream_name "${UPSTREAM_NAME}" \ + --arg upstream_html_url "${UPSTREAM_HTML_URL}" \ + --arg upstream_target "${UPSTREAM_TARGET}" \ + --arg upstream_release_id "${UPSTREAM_ID}" \ + --arg release_train "${RELEASE_TRAIN}" \ + --arg release_branch "${RELEASE_BRANCH}" \ + --arg work_branch "${WORK_BRANCH}" \ + --arg patch_branch "${PATCH_BRANCH}" \ + --arg patch_source_sha "$(git rev-parse "origin/${PATCH_BRANCH}")" \ + --arg termux_tag "${TERMUX_TAG}" \ + --argjson upstream_prerelease "${UPSTREAM_PRERELEASE}" \ + '{ + upstream_repo: $upstream_repo, + upstream_tag: $upstream_tag, + upstream_name: $upstream_name, + upstream_html_url: $upstream_html_url, + upstream_target: $upstream_target, + upstream_release_id: $upstream_release_id, + upstream_prerelease: $upstream_prerelease, + release_train: $release_train, + release_branch: $release_branch, + work_branch: $work_branch, + patch_branch: $patch_branch, + patch_source_sha: $patch_source_sha, + termux_tag: $termux_tag + }' > .github/termux-release.json + +git add -A +if git diff --cached --quiet; then + echo "No changes to propose for ${UPSTREAM_TAG}." + append_pr_summary "no changes to propose" + exit 0 +fi + +git commit -m "chore(termux): prepare ${UPSTREAM_TAG}" +git push --no-verify --force-with-lease origin "${WORK_BRANCH}" + +body_path="${RUNNER_TEMP}/termux-release-pr.md" +{ + echo "## Termux release train" + echo + echo "- Upstream release: ${UPSTREAM_HTML_URL}" + echo "- Upstream tag: \`${UPSTREAM_TAG}\`" + echo "- Termux release tag: \`${TERMUX_TAG}\`" + echo "- Release branch: \`${RELEASE_BRANCH}\`" + echo "- Patch source: \`${PATCH_BRANCH}\`" + echo + echo "This PR carries the Termux patch branch onto the upstream release tag. If GitHub reports conflicts, resolve them by keeping upstream release code and preserving the Termux compatibility fixes." + echo + echo "This PR builds and smoke-tests \`opencode-android-arm64\` before merge. After merge, the deploy workflow verifies and promotes that exact artifact when its source tree matches, mirrors it to \`${TERMUX_TAG}\`, and opens a checkpoint PR back to \`${PATCH_BRANCH}\`." + echo + echo "## Upstream notes" + echo + printf '%s\n' "${UPSTREAM_BODY}" +} > "${body_path}" + +if [[ -n "${existing_pr}" ]]; then + pr_url="$(jq -r '.url' <<< "${existing_pr}")" + gh pr edit "${pr_url}" --repo "${GITHUB_REPOSITORY}" --title "${pr_title}" --body-file "${body_path}" + pr_action="updated" +else + pr_url="$( + gh pr create \ + --repo "${GITHUB_REPOSITORY}" \ + --base "${RELEASE_BRANCH}" \ + --head "${WORK_BRANCH}" \ + --title "${pr_title}" \ + --body-file "${body_path}" + )" + pr_action="created" +fi + +if [[ -n "${REVIEWER}" ]]; then + gh pr edit "${pr_url}" --repo "${GITHUB_REPOSITORY}" --add-reviewer "${REVIEWER}" || true +fi +gh label create termux-release --repo "${GITHUB_REPOSITORY}" --color 0e8a16 --description "Termux release automation" --force +gh label create release-train --repo "${GITHUB_REPOSITORY}" --color 1d76db --description "Release train PR" --force +gh pr edit "${pr_url}" --repo "${GITHUB_REPOSITORY}" --add-label "termux-release" --add-label "release-train" +merge_release_pr_after_ci "${pr_url}" +echo "pr_url=${pr_url}" >> "${GITHUB_OUTPUT}" +append_pr_summary "${pr_action} release train PR" "${pr_url}" diff --git a/.github/scripts/termux-find-pr-artifact.sh b/.github/scripts/termux-find-pr-artifact.sh new file mode 100755 index 000000000000..dd9a7d45be22 --- /dev/null +++ b/.github/scripts/termux-find-pr-artifact.sh @@ -0,0 +1,53 @@ +#!/usr/bin/env bash + +set -euo pipefail + +: "${GITHUB_REPOSITORY:?GITHUB_REPOSITORY is required}" +: "${GH_TOKEN:?GH_TOKEN is required}" +: "${PR_NUMBER:?PR_NUMBER is required}" +: "${PR_HEAD_SHA:?PR_HEAD_SHA is required}" +: "${GITHUB_OUTPUT:?GITHUB_OUTPUT is required}" + +artifact_name="opencode-android-arm64-pr-${PR_NUMBER}-${PR_HEAD_SHA}" +artifact_json="$( + gh api --method GET "repos/${GITHUB_REPOSITORY}/actions/artifacts?name=${artifact_name}&per_page=100" \ + --jq '[.artifacts[] | select(.expired == false)] | sort_by(.created_at) | reverse | .[0] // empty' +)" + +if [[ -z "${artifact_json}" ]]; then + { + echo "found=false" + echo "artifact_name=${artifact_name}" + } >> "${GITHUB_OUTPUT}" + exit 0 +fi + +artifact_id="$(jq -r '.id' <<< "${artifact_json}")" +run_id="$(jq -r '.workflow_run.id' <<< "${artifact_json}")" +run_json="$(gh api --method GET "repos/${GITHUB_REPOSITORY}/actions/runs/${run_id}")" + +if ! jq -e \ + --arg head_ref "${PR_HEAD_REF:-}" \ + --arg head_sha "${PR_HEAD_SHA}" \ + ' + .event == "pull_request" + and .status == "completed" + and .conclusion == "success" + and .path == ".github/workflows/termux-release-ci.yml" + and .head_sha == $head_sha + and ($head_ref == "" or .head_branch == $head_ref) + ' <<< "${run_json}" >/dev/null; then + echo "::warning::Artifact ${artifact_name} came from release CI run ${run_id}, but that run is not a successful check for PR ${PR_NUMBER}." + { + echo "found=false" + echo "artifact_name=${artifact_name}" + } >> "${GITHUB_OUTPUT}" + exit 0 +fi + +{ + echo "found=true" + echo "artifact_id=${artifact_id}" + echo "artifact_name=${artifact_name}" + echo "run_id=${run_id}" +} >> "${GITHUB_OUTPUT}" diff --git a/.github/scripts/termux-find-release-pr.sh b/.github/scripts/termux-find-release-pr.sh new file mode 100755 index 000000000000..0560f51b58a9 --- /dev/null +++ b/.github/scripts/termux-find-release-pr.sh @@ -0,0 +1,41 @@ +#!/usr/bin/env bash + +set -euo pipefail + +: "${GITHUB_REPOSITORY:?GITHUB_REPOSITORY is required}" +: "${GH_TOKEN:?GH_TOKEN is required}" + +if [[ -n "${INPUT_PR_NUMBER:-}" || -n "${INPUT_PR_HEAD_SHA:-}" ]]; then + if [[ -z "${INPUT_PR_NUMBER:-}" || -z "${INPUT_PR_HEAD_SHA:-}" ]]; then + echo "workflow_dispatch inputs pr_number and pr_head_sha must be provided together." >&2 + exit 1 + fi + pr_number="${INPUT_PR_NUMBER}" + head_sha="${INPUT_PR_HEAD_SHA}" + head_ref="" +else + : "${RELEASE_BRANCH:?RELEASE_BRANCH is required}" + : "${RELEASE_SHA:?RELEASE_SHA is required}" + pr_json="$( + gh pr list \ + --repo "${GITHUB_REPOSITORY}" \ + --base "${RELEASE_BRANCH}" \ + --state merged \ + --limit 100 \ + --json number,headRefOid,headRefName,mergeCommit \ + --jq "[.[] | select(.mergeCommit.oid == \"${RELEASE_SHA}\")] | sort_by(.number) | reverse | .[0] // empty" + )" + if [[ -z "${pr_json}" ]]; then + echo "Unable to find merged PR for ${RELEASE_SHA} into ${RELEASE_BRANCH}" >&2 + exit 1 + fi + pr_number="$(jq -r '.number' <<< "${pr_json}")" + head_sha="$(jq -r '.headRefOid' <<< "${pr_json}")" + head_ref="$(jq -r '.headRefName' <<< "${pr_json}")" +fi + +{ + echo "number=${pr_number}" + echo "head_sha=${head_sha}" + echo "head_ref=${head_ref}" +} >> "${GITHUB_OUTPUT}" diff --git a/.github/scripts/termux-finish-android-build-deployment.sh b/.github/scripts/termux-finish-android-build-deployment.sh new file mode 100755 index 000000000000..0cf33af079fe --- /dev/null +++ b/.github/scripts/termux-finish-android-build-deployment.sh @@ -0,0 +1,31 @@ +#!/usr/bin/env bash + +set -euo pipefail + +: "${GITHUB_REPOSITORY:?GITHUB_REPOSITORY is required}" +: "${GITHUB_RUN_ID:?GITHUB_RUN_ID is required}" +: "${GITHUB_SERVER_URL:?GITHUB_SERVER_URL is required}" +: "${GH_TOKEN:?GH_TOKEN is required}" +: "${DEPLOYMENT_ID:?DEPLOYMENT_ID is required}" +: "${BUILD_RESULT:?BUILD_RESULT is required}" + +state="success" +description="Android artifact build completed" +if [[ "${BUILD_RESULT}" != "success" ]]; then + state="failure" + description="Android artifact build failed" +fi + +gh api --method POST "repos/${GITHUB_REPOSITORY}/deployments/${DEPLOYMENT_ID}/statuses" \ + --input - <<< "$( + jq -n \ + --arg state "${state}" \ + --arg description "${description}" \ + --arg log_url "${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}/actions/runs/${GITHUB_RUN_ID}" \ + '{ + state: $state, + environment: "termux-android", + log_url: $log_url, + description: $description + }' + )" diff --git a/.github/scripts/termux-read-release-metadata.sh b/.github/scripts/termux-read-release-metadata.sh new file mode 100755 index 000000000000..be17c87a9204 --- /dev/null +++ b/.github/scripts/termux-read-release-metadata.sh @@ -0,0 +1,54 @@ +#!/usr/bin/env bash + +set -euo pipefail + +: "${GITHUB_OUTPUT:?GITHUB_OUTPUT is required}" +: "${GH_TOKEN:?GH_TOKEN is required}" + +metadata=".github/termux-release.json" +if [[ ! -f "${metadata}" ]]; then + echo "No ${metadata}; this is not a Termux release deployment." + echo "deploy=false" >> "${GITHUB_OUTPUT}" + exit 0 +fi + +upstream_tag="$(jq -r '.upstream_tag // empty' "${metadata}")" +upstream_name="$(jq -r '.upstream_name // .upstream_tag // empty' "${metadata}")" +termux_tag="$(jq -r '.termux_tag // empty' "${metadata}")" +upstream_prerelease="$(jq -r '.upstream_prerelease // false' "${metadata}")" +upstream_html_url="$(jq -r '.upstream_html_url // ""' "${metadata}")" +upstream_repo="$(jq -r '.upstream_repo // "anomalyco/opencode"' "${metadata}")" +release_train="$(jq -r '.release_train // ""' "${metadata}")" + +if [[ -z "${upstream_tag}" || -z "${termux_tag}" ]]; then + echo "Missing upstream_tag or termux_tag in ${metadata}" >&2 + exit 1 +fi + +release_exists=false +asset_exists=false +if gh release view "${termux_tag}" --repo "${GITHUB_REPOSITORY}" >/dev/null 2>&1; then + release_exists=true + if [[ "$( + gh release view "${termux_tag}" \ + --repo "${GITHUB_REPOSITORY}" \ + --json assets \ + --jq '.assets | map(.name) | any(. == "opencode-android-arm64.tar.gz")' + )" == "true" ]]; then + asset_exists=true + fi +fi + +{ + echo "deploy=true" + echo "upstream_tag=${upstream_tag}" + echo "upstream_name=${upstream_name}" + echo "termux_tag=${termux_tag}" + echo "build_version=${termux_tag#v}" + echo "upstream_prerelease=${upstream_prerelease}" + echo "upstream_html_url=${upstream_html_url}" + echo "upstream_repo=${upstream_repo}" + echo "release_train=${release_train}" + echo "release_exists=${release_exists}" + echo "asset_exists=${asset_exists}" +} >> "${GITHUB_OUTPUT}" diff --git a/.github/scripts/termux-release-paths.sh b/.github/scripts/termux-release-paths.sh new file mode 100755 index 000000000000..72a8e9c26309 --- /dev/null +++ b/.github/scripts/termux-release-paths.sh @@ -0,0 +1,66 @@ +#!/usr/bin/env bash + +set -euo pipefail + +readonly -a TERMUX_RELEASE_WORKFLOW_PATHS=( + .github/actions/build-android-cli/action.yml + .github/workflows/publish.yml + .github/workflows/test.yml + .github/workflows/termux-android-artifact-smoke.yml + .github/workflows/termux-release-branch-cleanup.yml + .github/workflows/termux-release-checkpoint.yml + .github/workflows/termux-release-ci.yml + .github/workflows/termux-release-deploy.yml + .github/workflows/termux-release-watch.yml +) + +readonly -a TERMUX_RELEASE_SCRIPT_PATHS=( + .github/scripts/termux-configure-git.sh + .github/scripts/termux-cleanup-release-branch.sh + .github/scripts/termux-create-checkpoint-pr.sh + .github/scripts/termux-create-android-build-deployment.sh + .github/scripts/termux-create-or-update-mirrored-release.sh + .github/scripts/termux-create-release-pr.sh + .github/scripts/termux-find-release-pr.sh + .github/scripts/termux-find-pr-artifact.sh + .github/scripts/termux-finish-android-build-deployment.sh + .github/scripts/termux-read-release-metadata.sh + .github/scripts/termux-release-paths.sh + .github/scripts/termux-resolve-release-ref.sh + .github/scripts/termux-select-release.sh + .github/scripts/termux-validate-gh-env.sh +) + +readonly -a TERMUX_RELEASE_AUTOMATION_PATHS=( + "${TERMUX_RELEASE_WORKFLOW_PATHS[@]}" + "${TERMUX_RELEASE_SCRIPT_PATHS[@]}" +) + +readonly -a TERMUX_CHECKPOINT_RELEASE_ONLY_PATHS=( + "${TERMUX_RELEASE_AUTOMATION_PATHS[@]}" + .github/termux-release.json +) + +termux_path_in_list() { + local candidate="$1" + shift + local listed_path + + for listed_path in "$@"; do + [[ "${candidate}" != "${listed_path}" ]] || return 0 + done + return 1 +} + +termux_is_checkpoint_release_only_path() { + termux_path_in_list "$1" "${TERMUX_CHECKPOINT_RELEASE_ONLY_PATHS[@]}" +} + +termux_is_checkpoint_source_wins_path() { + case "$1" in + bun.lock | packages/*/package.json | sdks/*/package.json) + return 0 + ;; + esac + return 1 +} diff --git a/.github/scripts/termux-resolve-release-ref.sh b/.github/scripts/termux-resolve-release-ref.sh new file mode 100755 index 000000000000..02e92b4e3d8f --- /dev/null +++ b/.github/scripts/termux-resolve-release-ref.sh @@ -0,0 +1,35 @@ +#!/usr/bin/env bash + +set -euo pipefail + +: "${GITHUB_EVENT_NAME:?GITHUB_EVENT_NAME is required}" +: "${GITHUB_OUTPUT:?GITHUB_OUTPUT is required}" + +input_release_branch="${INPUT_RELEASE_BRANCH:-${REQUESTED_RELEASE_BRANCH:-}}" +input_release_sha="${INPUT_RELEASE_SHA:-${REQUESTED_RELEASE_SHA:-}}" + +if [[ "${GITHUB_EVENT_NAME}" == "workflow_dispatch" ]]; then + if [[ -z "${input_release_branch}" ]]; then + echo "release_branch is required for workflow_dispatch." >&2 + exit 1 + fi + release_branch="${input_release_branch}" + git fetch origin "${release_branch}" + git checkout --detach "origin/${release_branch}" + if [[ -n "${input_release_sha}" ]]; then + git checkout --detach "${input_release_sha}" + release_sha="${input_release_sha}" + else + release_sha="$(git rev-parse HEAD)" + fi +else + : "${GITHUB_REF_NAME:?GITHUB_REF_NAME is required}" + : "${GITHUB_SHA:?GITHUB_SHA is required}" + release_branch="${GITHUB_REF_NAME}" + release_sha="${GITHUB_SHA}" +fi + +{ + echo "branch=${release_branch}" + echo "sha=${release_sha}" +} >> "${GITHUB_OUTPUT}" diff --git a/.github/scripts/termux-select-release.sh b/.github/scripts/termux-select-release.sh new file mode 100755 index 000000000000..2784c8c91737 --- /dev/null +++ b/.github/scripts/termux-select-release.sh @@ -0,0 +1,335 @@ +#!/usr/bin/env bash + +set -euo pipefail + +: "${GITHUB_REPOSITORY:?GITHUB_REPOSITORY is required}" +: "${UPSTREAM_REPO:?UPSTREAM_REPO is required}" +: "${REQUESTED_TAG?REQUESTED_TAG is required}" +: "${BYPASS_PRIOR_RELEASE_TRAIN:?BYPASS_PRIOR_RELEASE_TRAIN is required}" +: "${GITHUB_OUTPUT:?GITHUB_OUTPUT is required}" +: "${GH_TOKEN:?GH_TOKEN is required}" + +normalize_tag_version() { + local tag="$1" + local version="${tag#v}" + version="${version%-termux}" + printf '%s\n' "${version}" +} + +requested_upstream_tag() { + local requested="${1#refs/tags/}" + printf 'v%s\n' "$(normalize_tag_version "${requested}")" +} + +release_train_for_tag() { + local version + version="$(normalize_tag_version "$1")" + printf '%s\n' "${version%%-*}" +} + +release_branch_for_tag() { + printf 'release-%s\n' "$(release_train_for_tag "$1")" +} + +work_branch_for_tag() { + printf 'termux-%s\n' "$(release_train_for_tag "$1")" +} + +termux_tag_for_tag() { + printf '%s-termux\n' "$1" +} + +latest_release_json() { + gh api --method GET "repos/${UPSTREAM_REPO}/releases?per_page=1" \ + | jq -c ' + .[0] // empty + | select(type == "object") + | { + tagName: (.tag_name // .tagName // ""), + name: (.name // .tag_name // .tagName // ""), + body: (.body // ""), + url: (.html_url // .url // ""), + isPrerelease: (.prerelease // .isPrerelease // false), + targetCommitish: (.target_commitish // .targetCommitish // ""), + databaseId: (.id // .databaseId // "") + } + ' +} + +release_json_for_tag() { + local tag="$1" + gh api --method GET "repos/${UPSTREAM_REPO}/releases/tags/${tag}" \ + | jq -c '{ + tagName: (.tag_name // .tagName // ""), + name: (.name // .tag_name // .tagName // ""), + body: (.body // ""), + url: (.html_url // .url // ""), + isPrerelease: (.prerelease // .isPrerelease // false), + targetCommitish: (.target_commitish // .targetCommitish // ""), + databaseId: (.id // .databaseId // "") + }' +} + +open_prs_json() { + gh pr list \ + --repo "${GITHUB_REPOSITORY}" \ + --state open \ + --limit 200 \ + --json number,title,body,headRefName,baseRefName,url +} + +release_branch_current_tag() { + git show "origin/$1:.github/termux-release.json" 2>/dev/null \ + | jq -r '.upstream_tag // empty' 2>/dev/null \ + || true +} + +version_is_newer() { + local candidate="$1" + local current="$2" + local candidate_version + local current_version + local newest + + if [[ -z "${current}" ]]; then + return 0 + fi + + candidate_version="$(normalize_tag_version "${candidate}")" + current_version="$(normalize_tag_version "${current}")" + newest="$(printf '%s\n%s\n' "${current_version}" "${candidate_version}" | sort -V | tail -n 1)" + [[ "${newest}" == "${candidate_version}" && "${candidate_version}" != "${current_version}" ]] +} + +latest_mirrored_termux_tag() { + local release_train="${1:-}" + local newest_tag="" + local tag + local tag_train + + while IFS= read -r tag; do + [[ -n "${tag}" ]] || continue + [[ "${tag}" == v*-termux ]] || continue + if [[ -n "${release_train}" ]]; then + tag_train="$(release_train_for_tag "${tag}")" + [[ "${tag_train}" == "${release_train}" ]] || continue + fi + if [[ -z "${newest_tag}" ]] || version_is_newer "${tag}" "${newest_tag}"; then + newest_tag="${tag}" + fi + done < <( + gh release list \ + --repo "${GITHUB_REPOSITORY}" \ + --exclude-drafts \ + --limit 200 \ + --json tagName \ + --jq '.[].tagName' + ) + + printf '%s\n' "${newest_tag}" +} + +latest_mirrored_termux_tag_for_train() { + latest_mirrored_termux_tag "$1" +} + +open_release_train_pr_for_branch() { + local release_branch="$1" + open_prs_json \ + | jq -c \ + --arg release_branch "${release_branch}" \ + ' + [ + .[] + | select(.baseRefName == $release_branch) + | select( + ((.title // "") | startswith("Termux v")) + and ((.body // "") | contains("Release branch: `" + $release_branch + "`")) + ) + | . + { + upstreamTag: ( + (.body // "") + | try capture("- Upstream tag: `(?v[^`]+)`").tag catch "" + ) + } + ] + | sort_by(.number) + | reverse + | .[0] // empty + ' +} + +open_other_release_train_prs() { + local release_branch="$1" + open_prs_json \ + | jq -r \ + --arg release_branch "${release_branch}" \ + ' + .[] + | select(.baseRefName != $release_branch) + | select( + ((.title // "") | startswith("Termux v")) + and ((.body // "") | contains("Release branch: `release-")) + ) + | "- #\(.number) \(.title) (\(.url))" + ' +} + +append_selection_summary() { + local selected="$1" + local upstream_tag="${2:-}" + local release_branch="${3:-}" + local work_branch="${4:-}" + local termux_tag="${5:-}" + + [[ -n "${GITHUB_STEP_SUMMARY:-}" ]] || return 0 + + { + echo "## Termux release selection" + echo + echo "- Repository: \`${GITHUB_REPOSITORY}\`" + echo "- Upstream repository: \`${UPSTREAM_REPO}\`" + if [[ "${selected}" == "true" ]]; then + echo "- Selected upstream tag: \`${upstream_tag}\`" + echo "- Release branch: \`${release_branch}\`" + echo "- Work branch: \`${work_branch}\`" + echo "- Termux tag: \`${termux_tag}\`" + else + echo "- Selected: no" + fi + } >> "${GITHUB_STEP_SUMMARY}" +} + +emit_selected_release() { + local release_json="$1" + local release_branch="$2" + local work_branch="$3" + local termux_tag="$4" + local upstream_tag + local upstream_body + + upstream_tag="$(jq -r '.tagName' <<< "${release_json}")" + upstream_body="$(jq -r '.body // ""' <<< "${release_json}")" + + { + echo "selected=true" + echo "upstream_tag=${upstream_tag}" + echo "upstream_name=$(jq -r '.name' <<< "${release_json}")" + echo "upstream_html_url=$(jq -r '.url' <<< "${release_json}")" + echo "upstream_prerelease=$(jq -r '.isPrerelease' <<< "${release_json}")" + echo "upstream_target=$(jq -r '.targetCommitish' <<< "${release_json}")" + echo "upstream_id=$(jq -r '.databaseId' <<< "${release_json}")" + echo "release_train=$(release_train_for_tag "${upstream_tag}")" + echo "release_branch=${release_branch}" + echo "work_branch=${work_branch}" + echo "termux_tag=${termux_tag}" + } >> "${GITHUB_OUTPUT}" + + body_delimiter="termux_release_body_$(date +%s%N)_${RANDOM}_${RANDOM}" + while grep -qxF "${body_delimiter}" <<< "${upstream_body}"; do + body_delimiter="termux_release_body_$(date +%s%N)_${RANDOM}_${RANDOM}" + done + { + echo "body<<${body_delimiter}" + printf '%s\n' "${upstream_body}" + echo "${body_delimiter}" + } >> "${GITHUB_OUTPUT}" + + append_selection_summary "true" "${upstream_tag}" "${release_branch}" "${work_branch}" "${termux_tag}" +} + +maybe_select_release() { + local release_json="$1" + local selection_mode="${2:-latest}" + local upstream_tag + local release_train + local release_branch + local work_branch + local termux_tag + local current_tag + local mirrored_tag + local open_pr_json + local open_pr_tag + local pending_other_prs + + upstream_tag="$(jq -r '.tagName // empty' <<< "${release_json}")" + [[ "${upstream_tag}" == v* ]] || return 1 + + release_train="$(release_train_for_tag "${upstream_tag}")" + release_branch="$(release_branch_for_tag "${upstream_tag}")" + work_branch="$(work_branch_for_tag "${upstream_tag}")" + termux_tag="$(termux_tag_for_tag "${upstream_tag}")" + + if gh release view "${termux_tag}" --repo "${GITHUB_REPOSITORY}" >/dev/null 2>&1; then + echo "${termux_tag} already exists; nothing to do." + return 1 + fi + + open_pr_json="$(open_release_train_pr_for_branch "${release_branch}")" + if [[ -n "${open_pr_json}" ]]; then + open_pr_tag="$(jq -r '.upstreamTag // empty' <<< "${open_pr_json}")" + work_branch="$(jq -r '.headRefName' <<< "${open_pr_json}")" + if [[ "${open_pr_tag}" == "${upstream_tag}" && "${selection_mode}" == "requested" ]]; then + emit_selected_release "${release_json}" "${release_branch}" "${work_branch}" "${termux_tag}" + return 0 + fi + if [[ "${open_pr_tag}" == "${upstream_tag}" ]]; then + echo "${upstream_tag} already has open release PR $(jq -r '.url' <<< "${open_pr_json}"); nothing to do." + return 1 + fi + if [[ "${selection_mode}" != "requested" ]] && ! version_is_newer "${upstream_tag}" "${open_pr_tag}"; then + echo "${upstream_tag} is not newer than open PR tag ${open_pr_tag}; nothing to do." + return 1 + fi + fi + + if [[ "${selection_mode}" != "requested" ]]; then + current_tag="$(release_branch_current_tag "${release_branch}")" + if ! version_is_newer "${upstream_tag}" "${current_tag}"; then + echo "${upstream_tag} is not newer than ${current_tag} already recorded on ${release_branch}; nothing to do." + return 1 + fi + + mirrored_tag="$(latest_mirrored_termux_tag)" + if ! version_is_newer "${upstream_tag}" "${mirrored_tag}"; then + echo "${upstream_tag} is not newer than ${mirrored_tag} already mirrored; nothing to do." + return 1 + fi + + mirrored_tag="$(latest_mirrored_termux_tag_for_train "${release_train}")" + if ! version_is_newer "${upstream_tag}" "${mirrored_tag}"; then + echo "${upstream_tag} is not newer than ${mirrored_tag} already mirrored for ${release_train}; nothing to do." + return 1 + fi + + if [[ "${BYPASS_PRIOR_RELEASE_TRAIN}" != "true" ]]; then + pending_other_prs="$(open_other_release_train_prs "${release_branch}")" + if [[ -n "${pending_other_prs}" ]]; then + echo "${upstream_tag} is newer, but another release train PR is open." + printf '%s\n' "${pending_other_prs}" + return 1 + fi + fi + fi + + emit_selected_release "${release_json}" "${release_branch}" "${work_branch}" "${termux_tag}" +} + +if [[ -n "${REQUESTED_TAG}" ]]; then + requested_tag="$(requested_upstream_tag "${REQUESTED_TAG}")" + if ! release_json="$(release_json_for_tag "${requested_tag}")"; then + echo "Requested upstream release ${requested_tag} does not exist remotely." + elif maybe_select_release "${release_json}" "requested"; then + exit 0 + else + echo "Requested upstream release ${requested_tag} does not need a Termux mirror." + fi +else + if release_json="$(latest_release_json)" && [[ -n "${release_json}" ]] && maybe_select_release "${release_json}"; then + exit 0 + fi +fi + +echo "No upstream release needs a Termux mirror." +echo "selected=false" >> "${GITHUB_OUTPUT}" +append_selection_summary "false" diff --git a/.github/scripts/termux-validate-gh-env.sh b/.github/scripts/termux-validate-gh-env.sh new file mode 100755 index 000000000000..c57a9774d11d --- /dev/null +++ b/.github/scripts/termux-validate-gh-env.sh @@ -0,0 +1,12 @@ +#!/usr/bin/env bash + +set -euo pipefail + +: "${GITHUB_REPOSITORY:?GITHUB_REPOSITORY is required}" +: "${GH_TOKEN:?GH_TOKEN is required}" + +command -v gh +command -v jq + +printf 'GITHUB_REPOSITORY=%s\n' "${GITHUB_REPOSITORY}" +printf 'GITHUB_REF_NAME=%s\n' "${GITHUB_REF_NAME:-}" diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index c86a1fda1353..cdd65000c479 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -1,5 +1,5 @@ name: publish -run-name: "${{ format('release {0}', inputs.bump) }}" +run-name: "${{ inputs.target == 'android-arm64' && 'build android artifact' || inputs.target == 'android-smoke' && 'build android smoke artifact' || format('release {0}', inputs.bump) }}" on: push: @@ -23,18 +23,39 @@ on: description: "Override version (optional)" required: false type: string + target: + description: "Manual build target" + required: false + default: all + type: choice + options: + - all + - android-arm64 + - android-smoke -concurrency: ${{ github.workflow }}-${{ github.ref }}-${{ inputs.version || inputs.bump }} +concurrency: ${{ github.workflow }}-${{ github.ref }}-${{ inputs.target || 'all' }}-${{ inputs.version || inputs.bump }} permissions: + actions: read + artifact-metadata: read + attestations: read + checks: read id-token: write contents: write + deployments: read + discussions: read + issues: read + models: read packages: write + pages: read + pull-requests: read + security-events: read + statuses: read jobs: version: runs-on: blacksmith-4vcpu-ubuntu-2404 - if: github.repository == 'anomalyco/opencode' + if: github.repository == 'anomalyco/opencode' && !contains(fromJSON('["android-arm64","android-smoke"]'), inputs.target) steps: - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 with: @@ -71,7 +92,7 @@ jobs: build-cli: needs: version runs-on: blacksmith-4vcpu-ubuntu-2404 - if: github.repository == 'anomalyco/opencode' + if: github.repository == 'anomalyco/opencode' && !contains(fromJSON('["android-arm64","android-smoke"]'), inputs.target) steps: - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 with: @@ -79,6 +100,11 @@ jobs: - uses: ./.github/actions/setup-bun + - name: Setup Zig + uses: mlugg/setup-zig@d1434d08867e3ee9daa34448df10607b98908d29 # v2 + with: + version: 0.15.2 + - name: Setup git committer id: committer uses: ./.github/actions/setup-git-committer @@ -101,6 +127,7 @@ jobs: with: name: opencode-cli path: | + packages/opencode/dist/opencode-android* packages/opencode/dist/opencode-darwin* packages/opencode/dist/opencode-linux* @@ -117,6 +144,87 @@ jobs: outputs: version: ${{ needs.version.outputs.version }} + build-android: + runs-on: ubuntu-24.04 + if: github.event_name == 'workflow_dispatch' && inputs.target == 'android-arm64' + timeout-minutes: 120 + steps: + - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 + with: + fetch-tags: true + + - name: 🧰 Actions Toolbox + uses: wallentx/gh-actions/composite/actions-toolbox@main + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + checkout: false + + - name: Build Android CLI + uses: ./.github/actions/build-android-cli + with: + version: ${{ inputs.version || format('0.0.0-android.{0}', github.run_number) }} + release: "" + repo: ${{ github.repository }} + + - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 + with: + name: opencode-android-arm64 + path: | + packages/opencode/dist/opencode-android-arm64 + packages/opencode/dist/opencode-android-arm64.tar.gz + packages/opencode/dist/android-smoke + + termux-android-smoke: + name: Smoke Android artifact in Termux + needs: build-android + if: github.event_name == 'workflow_dispatch' && inputs.target == 'android-arm64' + permissions: + actions: read + contents: read + uses: ./.github/workflows/termux-android-artifact-smoke.yml + with: + artifact_name: opencode-android-arm64 + artifact_run_id: ${{ github.run_id }} + + build-android-smoke: + runs-on: ubuntu-24.04 + if: github.event_name == 'workflow_dispatch' && inputs.target == 'android-smoke' + steps: + - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 + + - name: 🧰 Actions Toolbox + uses: wallentx/gh-actions/composite/actions-toolbox@main + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + checkout: false + + - uses: ./.github/actions/setup-bun + + - name: Build Android compile smoke + run: | + mkdir -p "$RUNNER_TEMP/opencode-android-smoke" + cat > "$RUNNER_TEMP/opencode-android-smoke/smoke.ts" <<'EOF' + console.log("bun android compile smoke") + console.log(process.platform) + console.log(process.arch) + EOF + bun build "$RUNNER_TEMP/opencode-android-smoke/smoke.ts" \ + --compile \ + --target=bun-android-arm64 \ + --outfile="$RUNNER_TEMP/opencode-android-smoke/smoke" + bun packages/opencode/script/patch-android-elf.ts "$RUNNER_TEMP/opencode-android-smoke/smoke" + file "$RUNNER_TEMP/opencode-android-smoke/smoke" | tee "$RUNNER_TEMP/opencode-android-smoke/file.txt" + readelf -l "$RUNNER_TEMP/opencode-android-smoke/smoke" > "$RUNNER_TEMP/opencode-android-smoke/readelf-program-headers.txt" + readelf -S "$RUNNER_TEMP/opencode-android-smoke/smoke" > "$RUNNER_TEMP/opencode-android-smoke/readelf-sections.txt" + readelf -d "$RUNNER_TEMP/opencode-android-smoke/smoke" > "$RUNNER_TEMP/opencode-android-smoke/readelf-dynamic.txt" + + - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 + with: + name: bun-android-compile-smoke + path: ${{ runner.temp }}/opencode-android-smoke + sign-cli-windows: needs: - build-cli @@ -219,6 +327,7 @@ jobs: build-electron: needs: + - build-cli - version if: github.repository == 'anomalyco/opencode' continue-on-error: false @@ -315,14 +424,16 @@ jobs: env: OPENCODE_VERSION: ${{ needs.version.outputs.version }} OPENCODE_CHANNEL: ${{ (github.ref_name == 'beta' && 'beta') || 'prod' }} + OPENCODE_CLI_ARTIFACT: ${{ (runner.os == 'Windows' && 'opencode-cli-windows') || 'opencode-cli' }} RUST_TARGET: ${{ matrix.settings.target }} + GH_TOKEN: ${{ github.token }} + GITHUB_RUN_ID: ${{ github.run_id }} - name: Build run: bun run build working-directory: packages/desktop env: NODE_OPTIONS: --max-old-space-size=4096 - OPENCODE_VERSION: ${{ needs.version.outputs.version }} OPENCODE_CHANNEL: ${{ (github.ref_name == 'beta' && 'beta') || 'prod' }} SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} SENTRY_ORG: ${{ vars.SENTRY_ORG }} @@ -340,7 +451,8 @@ jobs: env: OPENCODE_CHANNEL: ${{ (github.ref_name == 'beta' && 'beta') || 'prod' }} GH_TOKEN: ${{ steps.committer.outputs.token }} - CSC_KEYCHAIN: build.keychain + CSC_LINK: ${{ secrets.APPLE_CERTIFICATE }} + CSC_KEY_PASSWORD: ${{ secrets.APPLE_CERTIFICATE_PASSWORD }} APPLE_API_KEY: ${{ runner.temp }}/apple-api-key.p8 APPLE_API_KEY_ID: ${{ secrets.APPLE_API_KEY }} APPLE_API_ISSUER: ${{ secrets.APPLE_API_ISSUER }} @@ -407,14 +519,15 @@ jobs: - build-cli - sign-cli-windows - build-electron - if: always() && !failure() && !cancelled() - runs-on: blacksmith-4vcpu-ubuntu-2404 + if: github.repository == 'anomalyco/opencode' && (always() && !failure() && !cancelled()) + runs-on: ${{ github.repository == 'anomalyco/opencode' && 'blacksmith-4vcpu-ubuntu-2404' || 'ubuntu-latest' }} steps: - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 - uses: ./.github/actions/setup-bun - name: Login to GitHub Container Registry + if: github.repository == 'anomalyco/opencode' uses: docker/login-action@c94ce9fb468520275223c153574b00df6fe4bcc9 # v3.7.0 with: registry: ghcr.io @@ -466,6 +579,7 @@ jobs: merge-multiple: true - name: Setup git committer + if: github.repository == 'anomalyco/opencode' id: committer uses: ./.github/actions/setup-git-committer with: @@ -481,6 +595,7 @@ jobs: ${{ runner.os }}-apt-aur- - name: Setup SSH for AUR + if: github.repository == 'anomalyco/opencode' run: | sudo apt-get update sudo apt-get install -y pacman-package-manager @@ -492,7 +607,7 @@ jobs: ssh-keyscan -H aur.archlinux.org >> ~/.ssh/known_hosts || true - name: Upload desktop release assets - if: needs.version.outputs.release + if: github.repository == 'anomalyco/opencode' && (needs.version.outputs.release) env: GH_TOKEN: ${{ steps.committer.outputs.token }} run: | @@ -505,6 +620,7 @@ jobs: gh release upload "v${{ needs.version.outputs.version }}" "${files[@]}" --clobber --repo "${{ needs.version.outputs.repo }}" - run: ./script/publish.ts + if: github.repository == 'anomalyco/opencode' env: OPENCODE_VERSION: ${{ needs.version.outputs.version }} OPENCODE_RELEASE: ${{ needs.version.outputs.release }} diff --git a/.github/workflows/termux-android-artifact-smoke.yml b/.github/workflows/termux-android-artifact-smoke.yml new file mode 100644 index 000000000000..9c281bfa1ff7 --- /dev/null +++ b/.github/workflows/termux-android-artifact-smoke.yml @@ -0,0 +1,170 @@ +name: termux-android-artifact-smoke + +on: + workflow_call: + inputs: + artifact_name: + description: Name of the Actions artifact to download from artifact_run_id. + required: true + type: string + artifact_run_id: + description: Workflow run id containing artifact_name. + required: true + type: string + +permissions: + actions: read + contents: read + +jobs: + smoke: + name: Smoke opencode in Termux + uses: wallentx/gh-actions/.github/workflows/termux-run.yml@main + secrets: + github-token: ${{ github.token }} + with: + packages: | + binutils + ca-certificates + coreutils + file + tar + util-linux + copy-paths: | + termux-smoke-artifact + env: | + ARTIFACT_NAME=${{ inputs.artifact_name }} + ARTIFACT_RUN_ID=${{ inputs.artifact_run_id }} + DOWNLOAD_DIR=termux-smoke-artifact + PATH=/workspace-src/.github/scripts/termux-ci-bin:/data/data/com.termux/files/usr/bin:/usr/bin:/bin + TERMUX_PACMAN_MIRROR=https://ftp.agdsn.de/termux-pacman + host-commands: | + set -Eeuo pipefail + + rm -rf "$DOWNLOAD_DIR" + mkdir -p "$DOWNLOAD_DIR" + gh run download "$ARTIFACT_RUN_ID" \ + --repo "$GITHUB_REPOSITORY" \ + --name "$ARTIFACT_NAME" \ + --dir "$DOWNLOAD_DIR" + + archive="$( + find "$DOWNLOAD_DIR" -type f -name 'opencode-android-arm64.tar.gz' -print -quit + )" + if [[ -z "$archive" ]]; then + echo "Could not find opencode-android-arm64.tar.gz in $DOWNLOAD_DIR." >&2 + find "$DOWNLOAD_DIR" -maxdepth 4 -type f -print >&2 + exit 1 + fi + tar -tzf "$archive" + + { + for package in core keymap solid + do + grep -Fq "\"@opentui/${package}\": \"0.3.4\"" package.json + grep -Fq "\"@opentui/${package}\": \"0.3.4\"" bun.lock + echo "@opentui/${package}=0.3.4" + done + } | tee "$DOWNLOAD_DIR/opentui-pin.txt" + commands: | + set -Eeuo pipefail + + archive="$( + find termux-smoke-artifact -type f -name 'opencode-android-arm64.tar.gz' -print -quit + )" + if [[ -z "$archive" ]]; then + echo "Could not find opencode-android-arm64.tar.gz in termux-smoke-artifact." >&2 + find termux-smoke-artifact -maxdepth 4 -type f -print >&2 + exit 1 + fi + + rm -rf opencode-smoke termux-smoke-output termux-home smoke-project + mkdir -p opencode-smoke termux-smoke-output termux-home smoke-project + tar -xzf "$archive" -C opencode-smoke + find opencode-smoke -maxdepth 3 -type f -print | tee termux-smoke-output/files.txt + + binary="" + for candidate in \ + opencode-smoke/opencode \ + opencode-smoke/bin/opencode \ + opencode-smoke/opencode-android-arm64/bin/opencode + do + if [[ -x "$candidate" ]]; then + binary="$candidate" + break + fi + done + + if [[ -z "$binary" ]]; then + echo "Could not find executable opencode in $archive." >&2 + exit 1 + fi + + binary="$(realpath "$binary")" + readelf_tool="$(command -v readelf || command -v greadelf)" + file "$binary" | tee termux-smoke-output/file.txt + "$readelf_tool" -h "$binary" | tee termux-smoke-output/readelf-header.txt + "$readelf_tool" -l "$binary" | tee termux-smoke-output/readelf-program-headers.txt + "$readelf_tool" -d "$binary" | tee termux-smoke-output/readelf-dynamic.txt + + grep -q "Machine:.*AArch64" termux-smoke-output/readelf-header.txt + grep -q "Type:.*DYN" termux-smoke-output/readelf-header.txt + if grep -E "Requesting program interpreter: .*(ld-linux|ld-musl)" termux-smoke-output/readelf-program-headers.txt; then + echo "Android artifact unexpectedly references a Linux ELF interpreter." >&2 + exit 1 + fi + if grep -E "Shared library: \[(libc\.so\.6|ld-linux|ld-musl)" termux-smoke-output/readelf-dynamic.txt; then + echo "Android artifact unexpectedly links Linux libc/runtime libraries." >&2 + exit 1 + fi + + "$binary" --version | tee termux-smoke-output/version.txt + set +e + "$binary" -h 2>&1 | tee termux-smoke-output/help.txt + help_status="${PIPESTATUS[0]}" + set -e + echo "help status $help_status" + grep -Eiq 'opencode|commands|options' termux-smoke-output/help.txt + { + echo "@opentui/core=0.3.4" + echo "@opentui/keymap=0.3.4" + echo "@opentui/solid=0.3.4" + } | tee termux-smoke-output/opentui-pin.txt + + export HOME="$PWD/termux-home" + export OPENCODE_DISABLE_AUTOUPDATE=1 + export TERM=xterm-256color + export SMOKE_OUTPUT="$PWD/termux-smoke-output" + + cd smoke-project + + smoke_tui() { + local name="$1" + local seconds="${OPENCODE_TUI_SMOKE_SECONDS:-8}" + local status + shift + + echo "starting $name tui smoke" + set +e + script -q -e -f \ + -O "$SMOKE_OUTPUT/$name.pty.log" \ + -- timeout -k 2s "${seconds}s" "$binary" "$@" + status="$?" + set -e + echo "$name tui smoke status $status" + + if [[ "$status" -eq 124 ]]; then + echo "$name survived ${seconds}s without abort" + return + fi + + echo "$name exited before ${seconds}s with status $status" >&2 + tail -c 4000 "$SMOKE_OUTPUT/$name.pty.log" >&2 || true + exit 1 + } + + smoke_tui default --pure --print-logs --log-level DEBUG + smoke_tui mini --mini --demo --pure --print-logs --log-level DEBUG + sync-back-paths: | + termux-smoke-output + upload-artifact-name: opencode-android-arm64-termux-smoke-${{ inputs.artifact_run_id }} diff --git a/.github/workflows/termux-release-branch-cleanup.yml b/.github/workflows/termux-release-branch-cleanup.yml new file mode 100644 index 000000000000..902ecca36d2f --- /dev/null +++ b/.github/workflows/termux-release-branch-cleanup.yml @@ -0,0 +1,89 @@ +name: termux-release-branch-cleanup + +on: + workflow_dispatch: + inputs: + release_branch: + description: "Release branch to clean up, for example release-1.17.13" + required: false + type: string + default: "" + checkpoint_pr: + description: "Checkpoint PR number or URL to verify before cleanup" + required: false + type: string + default: "" + cleanup_limit: + description: "Number of recent merged checkpoint PRs to scan" + required: false + type: string + default: "100" + schedule: + - cron: "37 8 * * *" + +permissions: + actions: read + artifact-metadata: read + attestations: read + checks: read + contents: write + deployments: read + discussions: read + id-token: none + issues: read + models: read + packages: read + pages: read + pull-requests: read + security-events: read + statuses: read + +concurrency: + group: termux-release-branch-cleanup-${{ inputs.release_branch || inputs.checkpoint_pr || github.event_name }} + cancel-in-progress: false + +defaults: + run: + shell: bash + +jobs: + cleanup: + if: github.repository == 'wallentx/opencode-termux' + runs-on: ubuntu-24.04 + timeout-minutes: 15 + steps: + - name: Generate GitHub App token + id: app-token + uses: actions/create-github-app-token@v3 + with: + client-id: ${{ vars.APP_CLIENT_ID }} + private-key: ${{ secrets.APP_PRIVATE_KEY }} + + - name: Export GitHub App token for gh + env: + APP_TOKEN: ${{ steps.app-token.outputs.token }} + run: echo "GH_TOKEN=${APP_TOKEN}" >> "${GITHUB_ENV}" + + - name: Checkout automation branch + uses: actions/checkout@v6 + with: + fetch-depth: 1 + ref: dev + token: ${{ steps.app-token.outputs.token }} + + - name: 🧰 Actions Toolbox + uses: wallentx/gh-actions/composite/actions-toolbox@main + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + checkout: false + + - name: Validate GitHub CLI environment + run: bash .github/scripts/termux-validate-gh-env.sh + + - name: Delete release branches after merged checkpoints + env: + CHECKPOINT_PR: ${{ inputs.checkpoint_pr }} + SOURCE_BRANCH: ${{ inputs.release_branch }} + CLEANUP_LIMIT: ${{ inputs.cleanup_limit || '100' }} + run: bash .github/scripts/termux-cleanup-release-branch.sh diff --git a/.github/workflows/termux-release-checkpoint.yml b/.github/workflows/termux-release-checkpoint.yml new file mode 100644 index 000000000000..a69a1a596979 --- /dev/null +++ b/.github/workflows/termux-release-checkpoint.yml @@ -0,0 +1,106 @@ +name: termux-release-checkpoint + +on: + workflow_dispatch: + inputs: + source_branch: + description: "Release branch to checkpoint from" + required: true + type: string + source_sha: + description: "Release branch SHA; defaults to source branch head" + required: false + type: string + default: "" + destination_branch: + description: "Reusable Termux patch branch" + required: false + type: string + default: "termux-target" + reviewer: + description: "GitHub username to request as reviewer" + required: false + type: string + default: "wallentx" + +permissions: + actions: read + artifact-metadata: read + attestations: read + checks: read + contents: write + deployments: read + discussions: read + id-token: none + issues: write + models: read + packages: read + pages: read + pull-requests: write + security-events: read + statuses: read + +concurrency: + group: termux-release-checkpoint-${{ inputs.source_branch }}-${{ inputs.destination_branch }} + cancel-in-progress: false + +defaults: + run: + shell: bash + +jobs: + checkpoint: + if: github.repository == 'wallentx/opencode-termux' + runs-on: ubuntu-24.04 + timeout-minutes: 30 + steps: + - name: Generate GitHub App token + id: app-token + uses: actions/create-github-app-token@v3 + with: + client-id: ${{ vars.APP_CLIENT_ID }} + private-key: ${{ secrets.APP_PRIVATE_KEY }} + + - name: Export GitHub App token for gh + env: + APP_TOKEN: ${{ steps.app-token.outputs.token }} + run: echo "GH_TOKEN=${APP_TOKEN}" >> "${GITHUB_ENV}" + + - name: Checkout destination branch + uses: actions/checkout@v6 + with: + fetch-depth: 0 + ref: ${{ inputs.destination_branch }} + token: ${{ steps.app-token.outputs.token }} + + - name: 🧰 Actions Toolbox + uses: wallentx/gh-actions/composite/actions-toolbox@main + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + checkout: false + + - name: Validate GitHub CLI environment + run: bash .github/scripts/termux-validate-gh-env.sh + + - name: Configure git + run: bash .github/scripts/termux-configure-git.sh --origin "${SOURCE_BRANCH}" "${DESTINATION_BRANCH}" + env: + SOURCE_BRANCH: ${{ inputs.source_branch }} + DESTINATION_BRANCH: ${{ inputs.destination_branch || 'termux-target' }} + + - name: Create checkpoint PR + id: checkpoint-pr + env: + REQUESTED_SOURCE_BRANCH: ${{ inputs.source_branch }} + REQUESTED_SOURCE_SHA: ${{ inputs.source_sha }} + DESTINATION_BRANCH: ${{ inputs.destination_branch || 'termux-target' }} + REVIEWER: ${{ inputs.reviewer || 'wallentx' }} + run: bash .github/scripts/termux-create-checkpoint-pr.sh + + - name: Delete release branch after merged checkpoint + if: steps.checkpoint-pr.outputs.pr_url != '' + env: + CHECKPOINT_PR: ${{ steps.checkpoint-pr.outputs.pr_url }} + SOURCE_BRANCH: ${{ inputs.source_branch }} + run: bash .github/scripts/termux-cleanup-release-branch.sh diff --git a/.github/workflows/termux-release-ci.yml b/.github/workflows/termux-release-ci.yml new file mode 100644 index 000000000000..fd7ccd6d30df --- /dev/null +++ b/.github/workflows/termux-release-ci.yml @@ -0,0 +1,144 @@ +name: termux-release-ci + +on: + pull_request: + branches: + - "release-*" + - termux-target + types: + - opened + - reopened + - synchronize + - ready_for_review + +permissions: + actions: read + contents: read + +concurrency: + group: termux-release-ci-${{ github.event.pull_request.number }} + cancel-in-progress: true + +defaults: + run: + shell: bash + +jobs: + build: + name: Build Android release artifact + if: github.repository == 'wallentx/opencode-termux' + runs-on: ubuntu-24.04 + timeout-minutes: 180 + outputs: + artifact_name: ${{ steps.metadata.outputs.artifact_name }} + steps: + - name: Classify Termux PR + id: pr + env: + BASE_REF: ${{ github.base_ref }} + HEAD_REF: ${{ github.head_ref }} + run: | + set -euo pipefail + if [[ "$BASE_REF" == release-* && "$HEAD_REF" == termux-* ]]; then + echo "release=true" >> "$GITHUB_OUTPUT" + exit 0 + fi + if [[ "$BASE_REF" == "termux-target" && "$HEAD_REF" == checkpoint-* ]]; then + echo "release=false" >> "$GITHUB_OUTPUT" + exit 0 + fi + echo "::error::Unexpected Termux PR shape: ${HEAD_REF} -> ${BASE_REF}" + exit 1 + + - name: Accept checkpoint without rebuilding + if: steps.pr.outputs.release != 'true' + run: echo "Checkpoint PR reuses the Android artifact already validated by its release PR." + + - name: Checkout release PR merge + if: steps.pr.outputs.release == 'true' + uses: actions/checkout@v6 + with: + fetch-depth: 0 + + - name: Read release metadata + if: steps.pr.outputs.release == 'true' + id: metadata + env: + BASE_REF: ${{ github.base_ref }} + HEAD_REF: ${{ github.head_ref }} + PR_HEAD_SHA: ${{ github.event.pull_request.head.sha }} + PR_NUMBER: ${{ github.event.pull_request.number }} + run: | + set -euo pipefail + metadata=.github/termux-release.json + test -f "$metadata" + jq -e \ + --arg base_ref "$BASE_REF" \ + --arg head_ref "$HEAD_REF" \ + '.release_branch == $base_ref and .work_branch == $head_ref and (.termux_tag | startswith("v") and endswith("-termux"))' \ + "$metadata" >/dev/null + + termux_tag="$(jq -r '.termux_tag' "$metadata")" + { + echo "artifact_name=opencode-android-arm64-pr-${PR_NUMBER}-${PR_HEAD_SHA}" + echo "build_version=${termux_tag#v}" + echo "source_tree=$(git rev-parse 'HEAD^{tree}')" + echo "termux_tag=${termux_tag}" + } >> "$GITHUB_OUTPUT" + + - name: Build Android CLI + if: steps.pr.outputs.release == 'true' + uses: ./.github/actions/build-android-cli + with: + version: ${{ steps.metadata.outputs.build_version }} + release: "" + repo: ${{ github.repository }} + + - name: Stage Android release artifact + if: steps.pr.outputs.release == 'true' + env: + PR_HEAD_SHA: ${{ github.event.pull_request.head.sha }} + PR_NUMBER: ${{ github.event.pull_request.number }} + SOURCE_TREE: ${{ steps.metadata.outputs.source_tree }} + TERMUX_TAG: ${{ steps.metadata.outputs.termux_tag }} + run: | + set -euo pipefail + mkdir -p release-ci + cp packages/opencode/dist/opencode-android-arm64.tar.gz release-ci/ + ( + cd release-ci + sha256sum opencode-android-arm64.tar.gz > opencode-android-arm64.tar.gz.sha256 + ) + jq -n \ + --arg pr_number "$PR_NUMBER" \ + --arg pr_head_sha "$PR_HEAD_SHA" \ + --arg source_tree "$SOURCE_TREE" \ + --arg termux_tag "$TERMUX_TAG" \ + '{ + pr_number: $pr_number, + pr_head_sha: $pr_head_sha, + source_tree: $source_tree, + termux_tag: $termux_tag + }' > release-ci/provenance.json + cp -a packages/opencode/dist/android-smoke release-ci/ + + - name: Upload Android release artifact + if: steps.pr.outputs.release == 'true' + uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 + with: + name: ${{ steps.metadata.outputs.artifact_name }} + if-no-files-found: error + retention-days: 14 + path: release-ci + + termux-smoke: + name: Smoke Android release artifact in Termux + needs: build + if: github.repository == 'wallentx/opencode-termux' && startsWith(github.base_ref, 'release-') && startsWith(github.head_ref, 'termux-') + permissions: + actions: read + contents: read + uses: ./.github/workflows/termux-android-artifact-smoke.yml + with: + artifact_name: ${{ needs.build.outputs.artifact_name }} + artifact_run_id: ${{ github.run_id }} diff --git a/.github/workflows/termux-release-deploy.yml b/.github/workflows/termux-release-deploy.yml new file mode 100644 index 000000000000..1e71ed5b8c3d --- /dev/null +++ b/.github/workflows/termux-release-deploy.yml @@ -0,0 +1,265 @@ +name: termux-release-deploy + +on: + push: + branches: + - "release-*" + workflow_dispatch: + inputs: + release_branch: + description: "Release branch to deploy, for example release-1.17.13" + required: true + type: string + release_sha: + description: "Release branch SHA to deploy; defaults to current branch head" + required: false + type: string + default: "" + pr_number: + description: "Merged release PR number, optional with pr_head_sha" + required: false + type: string + default: "" + pr_head_sha: + description: "Merged release PR head SHA, optional with pr_number" + required: false + type: string + default: "" + destination_branch: + description: "Reusable Termux patch branch to checkpoint into" + required: false + type: string + default: "termux-target" + reviewer: + description: "GitHub username to request on checkpoint PR" + required: false + type: string + default: "wallentx" + +permissions: + actions: write + artifact-metadata: read + attestations: read + checks: read + contents: write + deployments: write + discussions: read + id-token: none + issues: write + models: read + packages: read + pages: read + pull-requests: write + security-events: read + statuses: read + +concurrency: + group: termux-release-deploy-${{ inputs.release_branch || github.ref_name }} + cancel-in-progress: false + +defaults: + run: + shell: bash + +jobs: + deploy: + if: github.repository == 'wallentx/opencode-termux' + runs-on: ubuntu-24.04 + timeout-minutes: 180 + env: + TERMUX_AUTOMATION_DIR: ${{ github.workspace }}/.termux-release-automation + steps: + - name: Generate GitHub App token + id: app-token + uses: actions/create-github-app-token@v3 + with: + client-id: ${{ vars.APP_CLIENT_ID }} + private-key: ${{ secrets.APP_PRIVATE_KEY }} + + - name: Export GitHub App token for gh + env: + APP_TOKEN: ${{ steps.app-token.outputs.token }} + run: echo "GH_TOKEN=${APP_TOKEN}" >> "${GITHUB_ENV}" + + - name: Checkout release branch + uses: actions/checkout@v6 + with: + fetch-depth: 0 + ref: ${{ inputs.release_branch || github.ref_name }} + token: ${{ steps.app-token.outputs.token }} + + - name: Checkout automation helpers + uses: actions/checkout@v6 + with: + fetch-depth: 1 + ref: ${{ github.workflow_sha }} + path: .termux-release-automation + token: ${{ steps.app-token.outputs.token }} + + - name: 🧰 Actions Toolbox + uses: wallentx/gh-actions/composite/actions-toolbox@main + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + checkout: false + + - name: Validate GitHub CLI environment + run: bash "${TERMUX_AUTOMATION_DIR}/.github/scripts/termux-validate-gh-env.sh" + + - name: Configure git + run: bash "${TERMUX_AUTOMATION_DIR}/.github/scripts/termux-configure-git.sh" + + - name: Resolve release ref + id: release-ref + env: + INPUT_RELEASE_BRANCH: ${{ inputs.release_branch }} + INPUT_RELEASE_SHA: ${{ inputs.release_sha }} + run: bash "${TERMUX_AUTOMATION_DIR}/.github/scripts/termux-resolve-release-ref.sh" + + - name: Read release metadata + id: metadata + run: bash "${TERMUX_AUTOMATION_DIR}/.github/scripts/termux-read-release-metadata.sh" + + - name: Find merged release PR + id: pr + if: steps.metadata.outputs.deploy == 'true' + env: + RELEASE_BRANCH: ${{ steps.release-ref.outputs.branch }} + RELEASE_SHA: ${{ steps.release-ref.outputs.sha }} + INPUT_PR_NUMBER: ${{ inputs.pr_number }} + INPUT_PR_HEAD_SHA: ${{ inputs.pr_head_sha }} + run: bash "${TERMUX_AUTOMATION_DIR}/.github/scripts/termux-find-release-pr.sh" + + - name: Find validated release PR artifact + id: pr-artifact + if: steps.metadata.outputs.deploy == 'true' && steps.metadata.outputs.asset_exists != 'true' + env: + PR_NUMBER: ${{ steps.pr.outputs.number }} + PR_HEAD_SHA: ${{ steps.pr.outputs.head_sha }} + PR_HEAD_REF: ${{ steps.pr.outputs.head_ref }} + run: bash "${TERMUX_AUTOMATION_DIR}/.github/scripts/termux-find-pr-artifact.sh" + + - name: Create Android build deployment + id: android-deployment + if: steps.metadata.outputs.deploy == 'true' && steps.metadata.outputs.asset_exists != 'true' && steps.pr-artifact.outputs.found != 'true' + env: + RELEASE_BRANCH: ${{ steps.release-ref.outputs.branch }} + RELEASE_SHA: ${{ steps.release-ref.outputs.sha }} + TERMUX_TAG: ${{ steps.metadata.outputs.termux_tag }} + GH_TOKEN: ${{ github.token }} + run: bash "${TERMUX_AUTOMATION_DIR}/.github/scripts/termux-create-android-build-deployment.sh" + + - name: Build Android artifact + if: steps.metadata.outputs.deploy == 'true' && steps.metadata.outputs.asset_exists != 'true' && steps.pr-artifact.outputs.found != 'true' + uses: ./.github/actions/build-android-cli + with: + version: ${{ steps.metadata.outputs.build_version }} + release: "" + repo: ${{ github.repository }} + + - name: Promote built Android artifact + if: steps.metadata.outputs.deploy == 'true' && steps.metadata.outputs.asset_exists != 'true' && steps.pr-artifact.outputs.found != 'true' + run: | + set -euo pipefail + mkdir -p promoted + cp packages/opencode/dist/opencode-android-arm64.tar.gz promoted/ + sha256sum promoted/opencode-android-arm64.tar.gz + + - name: Download validated release PR artifact + if: steps.metadata.outputs.deploy == 'true' && steps.metadata.outputs.asset_exists != 'true' && steps.pr-artifact.outputs.found == 'true' + uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0 + with: + artifact-ids: ${{ steps.pr-artifact.outputs.artifact_id }} + github-token: ${{ steps.app-token.outputs.token }} + run-id: ${{ steps.pr-artifact.outputs.run_id }} + merge-multiple: true + path: promoted + + - name: Verify promoted release PR artifact + if: steps.metadata.outputs.deploy == 'true' && steps.metadata.outputs.asset_exists != 'true' && steps.pr-artifact.outputs.found == 'true' + env: + EXPECTED_HEAD_SHA: ${{ steps.pr.outputs.head_sha }} + EXPECTED_PR_NUMBER: ${{ steps.pr.outputs.number }} + RELEASE_SHA: ${{ steps.release-ref.outputs.sha }} + run: | + set -euo pipefail + expected_tree="$(git rev-parse "${RELEASE_SHA}^{tree}")" + jq -e \ + --arg expected_head_sha "$EXPECTED_HEAD_SHA" \ + --arg expected_pr_number "$EXPECTED_PR_NUMBER" \ + --arg expected_tree "$expected_tree" \ + ' + .pr_head_sha == $expected_head_sha + and .pr_number == $expected_pr_number + and .source_tree == $expected_tree + ' promoted/provenance.json >/dev/null + ( + cd promoted + sha256sum -c opencode-android-arm64.tar.gz.sha256 + ) + + - name: Finish Android build deployment + if: always() && steps.android-deployment.outputs.deployment_id != '' + env: + DEPLOYMENT_ID: ${{ steps.android-deployment.outputs.deployment_id }} + BUILD_RESULT: ${{ job.status }} + GH_TOKEN: ${{ github.token }} + run: bash "${TERMUX_AUTOMATION_DIR}/.github/scripts/termux-finish-android-build-deployment.sh" + + - name: Download existing Android artifact if release needs repair + if: steps.metadata.outputs.deploy == 'true' && steps.metadata.outputs.asset_exists == 'true' + run: | + set -euo pipefail + mkdir -p promoted + gh release download "${TERMUX_TAG}" \ + --repo "${GITHUB_REPOSITORY}" \ + --pattern opencode-android-arm64.tar.gz \ + --dir promoted \ + --clobber + env: + TERMUX_TAG: ${{ steps.metadata.outputs.termux_tag }} + + - name: Create or repair mirrored release + if: steps.metadata.outputs.deploy == 'true' + env: + UPSTREAM_TAG: ${{ steps.metadata.outputs.upstream_tag }} + UPSTREAM_REPO: ${{ steps.metadata.outputs.upstream_repo }} + UPSTREAM_NAME: ${{ steps.metadata.outputs.upstream_name }} + TERMUX_TAG: ${{ steps.metadata.outputs.termux_tag }} + UPSTREAM_PRERELEASE: ${{ steps.metadata.outputs.upstream_prerelease }} + UPSTREAM_HTML_URL: ${{ steps.metadata.outputs.upstream_html_url }} + RELEASE_TRAIN: ${{ steps.metadata.outputs.release_train }} + RELEASE_EXISTS: ${{ steps.metadata.outputs.release_exists }} + PR_NUMBER: ${{ steps.pr.outputs.number }} + HEAD_SHA: ${{ steps.pr.outputs.head_sha }} + RELEASE_SHA: ${{ steps.release-ref.outputs.sha }} + run: bash "${TERMUX_AUTOMATION_DIR}/.github/scripts/termux-create-or-update-mirrored-release.sh" + + - name: Open checkpoint PR + id: checkpoint-pr + if: steps.metadata.outputs.deploy == 'true' + env: + SOURCE_BRANCH: ${{ steps.release-ref.outputs.branch }} + SOURCE_SHA: ${{ steps.release-ref.outputs.sha }} + DESTINATION_BRANCH: ${{ inputs.destination_branch || 'termux-target' }} + REVIEWER: ${{ inputs.reviewer || 'wallentx' }} + run: bash "${TERMUX_AUTOMATION_DIR}/.github/scripts/termux-create-checkpoint-pr.sh" + + - name: Delete release branch after merged checkpoint + if: steps.metadata.outputs.deploy == 'true' && steps.checkpoint-pr.outputs.pr_url != '' + env: + CHECKPOINT_PR: ${{ steps.checkpoint-pr.outputs.pr_url }} + SOURCE_BRANCH: ${{ steps.release-ref.outputs.branch }} + run: bash "${TERMUX_AUTOMATION_DIR}/.github/scripts/termux-cleanup-release-branch.sh" + + - name: Restore local action metadata + if: always() + run: | + set -euo pipefail + if [[ ! -d "${TERMUX_AUTOMATION_DIR}/.github/actions" ]]; then + echo "Automation helpers were not checked out; skipping local action metadata restore." + exit 0 + fi + mkdir -p .github/actions + cp -a "${TERMUX_AUTOMATION_DIR}/.github/actions/build-android-cli" .github/actions/ + cp -a "${TERMUX_AUTOMATION_DIR}/.github/actions/setup-bun" .github/actions/ diff --git a/.github/workflows/termux-release-watch.yml b/.github/workflows/termux-release-watch.yml new file mode 100644 index 000000000000..d61b7362e7cc --- /dev/null +++ b/.github/workflows/termux-release-watch.yml @@ -0,0 +1,174 @@ +name: termux-release-watch + +on: + schedule: + - cron: "17 */3 * * *" + workflow_dispatch: + inputs: + upstream_tag: + description: "Specific upstream version or tag to process, for example 1.17.13 or v1.17.13" + required: false + type: string + default: "" + patch_branch: + description: "Branch carrying reusable Termux fixes" + required: false + type: string + default: "termux-target" + reviewer: + description: "GitHub username to request as reviewer" + required: false + type: string + default: "wallentx" + bypass_prior_release_train: + description: "Allow workflow_dispatch to update a train while another Termux release PR is open" + required: false + type: boolean + default: false + +permissions: + actions: write + artifact-metadata: read + attestations: read + checks: read + contents: write + deployments: read + discussions: read + id-token: none + issues: write + models: read + packages: read + pages: read + pull-requests: write + security-events: read + statuses: read + +concurrency: + group: termux-release-watch + cancel-in-progress: false + +defaults: + run: + shell: bash + +jobs: + look-for-newer-release: + if: github.repository == 'wallentx/opencode-termux' + runs-on: ubuntu-24.04 + timeout-minutes: 15 + outputs: + selected: ${{ steps.upstream.outputs.selected }} + upstream_tag: ${{ steps.upstream.outputs.upstream_tag }} + upstream_name: ${{ steps.upstream.outputs.upstream_name }} + upstream_html_url: ${{ steps.upstream.outputs.upstream_html_url }} + upstream_prerelease: ${{ steps.upstream.outputs.upstream_prerelease }} + upstream_target: ${{ steps.upstream.outputs.upstream_target }} + upstream_id: ${{ steps.upstream.outputs.upstream_id }} + release_train: ${{ steps.upstream.outputs.release_train }} + release_branch: ${{ steps.upstream.outputs.release_branch }} + work_branch: ${{ steps.upstream.outputs.work_branch }} + termux_tag: ${{ steps.upstream.outputs.termux_tag }} + body: ${{ steps.upstream.outputs.body }} + env: + UPSTREAM_REPO: anomalyco/opencode + steps: + - name: Generate GitHub App token + id: app-token + uses: actions/create-github-app-token@v3 + with: + client-id: ${{ vars.APP_CLIENT_ID }} + private-key: ${{ secrets.APP_PRIVATE_KEY }} + + - name: Export GitHub App token for gh + env: + APP_TOKEN: ${{ steps.app-token.outputs.token }} + run: echo "GH_TOKEN=${APP_TOKEN}" >> "${GITHUB_ENV}" + + - name: Checkout automation branch + uses: actions/checkout@v6 + with: + fetch-depth: 0 + token: ${{ steps.app-token.outputs.token }} + + - name: 🧰 Actions Toolbox + uses: wallentx/gh-actions/composite/actions-toolbox@main + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + checkout: false + + - name: Validate GitHub CLI environment + run: bash .github/scripts/termux-validate-gh-env.sh + + - name: Select upstream release + id: upstream + env: + REQUESTED_TAG: ${{ inputs.upstream_tag }} + BYPASS_PRIOR_RELEASE_TRAIN: ${{ inputs.bypass_prior_release_train || false }} + run: bash .github/scripts/termux-select-release.sh + + create-release-pr: + needs: look-for-newer-release + if: github.repository == 'wallentx/opencode-termux' && needs.look-for-newer-release.outputs.selected == 'true' + runs-on: ubuntu-24.04 + timeout-minutes: 45 + env: + REVIEWER: ${{ inputs.reviewer || 'wallentx' }} + UPSTREAM_REPO: anomalyco/opencode + PATCH_BRANCH: ${{ inputs.patch_branch || 'termux-target' }} + steps: + - name: Generate GitHub App token + id: app-token + uses: actions/create-github-app-token@v3 + with: + client-id: ${{ vars.APP_CLIENT_ID }} + private-key: ${{ secrets.APP_PRIVATE_KEY }} + + - name: Export GitHub App token for gh + env: + APP_TOKEN: ${{ steps.app-token.outputs.token }} + run: echo "GH_TOKEN=${APP_TOKEN}" >> "${GITHUB_ENV}" + + - name: Checkout automation branch + uses: actions/checkout@v6 + with: + fetch-depth: 0 + token: ${{ steps.app-token.outputs.token }} + + - name: 🧰 Actions Toolbox + uses: wallentx/gh-actions/composite/actions-toolbox@main + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + checkout: false + + - name: Setup Bun + uses: ./.github/actions/setup-bun + + - name: Validate GitHub CLI environment + run: bash .github/scripts/termux-validate-gh-env.sh + + - name: Configure git + env: + UPSTREAM_TAG: ${{ needs.look-for-newer-release.outputs.upstream_tag }} + run: | + set -euo pipefail + bash .github/scripts/termux-configure-git.sh \ + --origin "${PATCH_BRANCH}" \ + --upstream-tag "${UPSTREAM_REPO}" "${UPSTREAM_TAG}" + + - name: Create or update release train PR + id: pr + env: + UPSTREAM_TAG: ${{ needs.look-for-newer-release.outputs.upstream_tag }} + UPSTREAM_NAME: ${{ needs.look-for-newer-release.outputs.upstream_name }} + UPSTREAM_HTML_URL: ${{ needs.look-for-newer-release.outputs.upstream_html_url }} + UPSTREAM_PRERELEASE: ${{ needs.look-for-newer-release.outputs.upstream_prerelease }} + UPSTREAM_TARGET: ${{ needs.look-for-newer-release.outputs.upstream_target }} + UPSTREAM_ID: ${{ needs.look-for-newer-release.outputs.upstream_id }} + RELEASE_TRAIN: ${{ needs.look-for-newer-release.outputs.release_train }} + RELEASE_BRANCH: ${{ needs.look-for-newer-release.outputs.release_branch }} + WORK_BRANCH: ${{ needs.look-for-newer-release.outputs.work_branch }} + TERMUX_TAG: ${{ needs.look-for-newer-release.outputs.termux_tag }} + UPSTREAM_BODY: ${{ needs.look-for-newer-release.outputs.body }} + run: bash .github/scripts/termux-create-release-pr.sh diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index c69de1d93b0d..42135fa6136d 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -23,6 +23,13 @@ env: jobs: unit: name: unit (${{ matrix.settings.name }}) + if: | + !( + github.event_name == 'pull_request' && + github.repository == 'wallentx/opencode-termux' && + (github.base_ref == 'upstream-dev' || startsWith(github.base_ref, 'release-')) && + (github.head_ref == 'termux-target' || startsWith(github.head_ref, 'termux-')) + ) strategy: fail-fast: false matrix: @@ -31,7 +38,7 @@ jobs: host: blacksmith-4vcpu-ubuntu-2404 - name: windows host: blacksmith-4vcpu-windows-2025 - runs-on: ${{ matrix.settings.host }} + runs-on: ${{ github.repository == 'anomalyco/opencode' && (matrix.settings.host) || 'ubuntu-latest' }} defaults: run: shell: bash @@ -81,6 +88,13 @@ jobs: e2e: name: e2e (${{ matrix.settings.name }}) + if: | + !( + github.event_name == 'pull_request' && + github.repository == 'wallentx/opencode-termux' && + (github.base_ref == 'upstream-dev' || startsWith(github.base_ref, 'release-')) && + (github.head_ref == 'termux-target' || startsWith(github.head_ref, 'termux-')) + ) strategy: fail-fast: false matrix: @@ -89,7 +103,7 @@ jobs: host: blacksmith-4vcpu-ubuntu-2404 - name: windows host: blacksmith-4vcpu-windows-2025 - runs-on: ${{ matrix.settings.host }} + runs-on: ${{ github.repository == 'anomalyco/opencode' && (matrix.settings.host) || 'ubuntu-latest' }} env: PLAYWRIGHT_BROWSERS_PATH: ${{ github.workspace }}/.playwright-browsers defaults: From 514ee91b1d593f3460d0d66f0f28a15a1825400b Mon Sep 17 00:00:00 2001 From: "unemployabot[bot]" <277198073+unemployabot[bot]@users.noreply.github.com> Date: Wed, 2 Sep 2026 01:18:27 +0000 Subject: [PATCH 39/39] Termux v1.18.26 (#66) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.15 (#18) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.15 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen Co-authored-by: opencode-agent[bot] Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> * release: v1.17.16 * chore(termux): seed release automation * chore(termux): prepare v1.17.16 * release: v1.17.18 * chore(termux): seed release automation * chore(termux): prepare v1.17.18 * fix(termux): stabilize release branches * chore(termux): remove Zig build cache * fix(termux): skip release PR tests * release: v1.17.19 * chore(termux): seed release automation * Termux v1.17.19 (#24) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.15 (#18) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.15 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen Co-authored-by: opencode-agent[bot] Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> * release: v1.17.16 * chore(termux): seed release automation * chore(termux): prepare v1.17.16 * release: v1.17.18 * chore(termux): seed release automation * chore(termux): prepare v1.17.18 * fix(termux): stabilize release branches * chore(termux): remove Zig build cache * fix(termux): skip release PR tests * chore(termux): prepare v1.17.19 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen Co-authored-by: opencode-agent[bot] Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> * checkpoint: prepare release-1.17.19 for termux-target * release: v1.17.20 * chore(termux): seed release automation * Termux v1.17.20 (#26) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.15 (#18) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.15 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen Co-authored-by: opencode-agent[bot] Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> * release: v1.17.16 * chore(termux): seed release automation * chore(termux): prepare v1.17.16 * release: v1.17.18 * chore(termux): seed release automation * chore(termux): prepare v1.17.18 * fix(termux): stabilize release branches * chore(termux): remove Zig build cache * fix(termux): skip release PR tests * release: v1.17.19 * chore(termux): seed release automation * Termux v1.17.19 (#24) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.15 (#18) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.15 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen Co-authored-by: opencode-agent[bot] Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> * release: v1.17.16 * chore(termux): seed release automation * chore(termux): prepare v1.17.16 * release: v1.17.18 * chore(termux): seed release automation * chore(termux): prepare v1.17.18 * fix(termux): stabilize release branches * chore(termux): remove Zig build cache * fix(termux): skip release PR tests * chore(termux): prepare v1.17.19 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen Co-authored-by: opencode-agent[bot] Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> * checkpoint: prepare release-1.17.19 for termux-target * chore(termux): prepare v1.17.20 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen Co-authored-by: opencode-agent[bot] Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> * feat(install): Support custom release repositories and Termux forks Signed-off-by: wallentx * fix(termux): correct OpenTUI worker export * fix(termux): drop OpenTUI package patch * release: v1.18.5 * chore(termux): seed release automation * chore(termux): prepare v1.18.5 * release: v1.18.6 * chore(termux): seed release automation * chore(termux): prepare v1.18.6 * release: v1.18.7 * fix(ci): download promoted artifact from PR run * fix(ci): flatten promoted PR artifact * chore(termux): seed release automation * Termux v1.18.7 (#36) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.15 (#18) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.15 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen Co-authored-by: opencode-agent[bot] Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> * release: v1.17.16 * chore(termux): seed release automation * chore(termux): prepare v1.17.16 * release: v1.17.18 * chore(termux): seed release automation * chore(termux): prepare v1.17.18 * fix(termux): stabilize release branches * chore(termux): remove Zig build cache * fix(termux): skip release PR tests * release: v1.17.19 * chore(termux): seed release automation * Termux v1.17.19 (#24) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.15 (#18) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.15 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen Co-authored-by: opencode-agent[bot] Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> * release: v1.17.16 * chore(termux): seed release automation * chore(termux): prepare v1.17.16 * release: v1.17.18 * chore(termux): seed release automation * chore(termux): prepare v1.17.18 * fix(termux): stabilize release branches * chore(termux): remove Zig build cache * fix(termux): skip release PR tests * chore(termux): prepare v1.17.19 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen Co-authored-by: opencode-agent[bot] Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> * checkpoint: prepare release-1.17.19 for termux-target * release: v1.17.20 * chore(termux): seed release automation * Termux v1.17.20 (#26) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.15 (#18) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.1… * release: v1.18.11 * chore(termux): seed release automation * Termux v1.18.11 (#38) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.15 (#18) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.15 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen Co-authored-by: opencode-agent[bot] Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> * release: v1.17.16 * chore(termux): seed release automation * chore(termux): prepare v1.17.16 * release: v1.17.18 * chore(termux): seed release automation * chore(termux): prepare v1.17.18 * fix(termux): stabilize release branches * chore(termux): remove Zig build cache * fix(termux): skip release PR tests * release: v1.17.19 * chore(termux): seed release automation * Termux v1.17.19 (#24) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.15 (#18) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.15 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen Co-authored-by: opencode-agent[bot] Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> * release: v1.17.16 * chore(termux): seed release automation * chore(termux): prepare v1.17.16 * release: v1.17.18 * chore(termux): seed release automation * chore(termux): prepare v1.17.18 * fix(termux): stabilize release branches * chore(termux): remove Zig build cache * fix(termux): skip release PR tests * chore(termux): prepare v1.17.19 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen Co-authored-by: opencode-agent[bot] Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> * checkpoint: prepare release-1.17.19 for termux-target * release: v1.17.20 * chore(termux): seed release automation * Termux v1.17.20 (#26) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.15 (#18) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.… * release: v1.18.13 * chore(termux): seed release automation * Termux v1.18.13 (#42) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.15 (#18) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.15 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen Co-authored-by: opencode-agent[bot] Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> * release: v1.17.16 * chore(termux): seed release automation * chore(termux): prepare v1.17.16 * release: v1.17.18 * chore(termux): seed release automation * chore(termux): prepare v1.17.18 * fix(termux): stabilize release branches * chore(termux): remove Zig build cache * fix(termux): skip release PR tests * release: v1.17.19 * chore(termux): seed release automation * Termux v1.17.19 (#24) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.15 (#18) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.15 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen Co-authored-by: opencode-agent[bot] Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> * release: v1.17.16 * chore(termux): seed release automation * chore(termux): prepare v1.17.16 * release: v1.17.18 * chore(termux): seed release automation * chore(termux): prepare v1.17.18 * fix(termux): stabilize release branches * chore(termux): remove Zig build cache * fix(termux): skip release PR tests * chore(termux): prepare v1.17.19 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen Co-authored-by: opencode-agent[bot] Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> * checkpoint: prepare release-1.17.19 for termux-target * release: v1.17.20 * chore(termux): seed release automation * Termux v1.17.20 (#26) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.15 (#18) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.… * fix(ci): satisfy checkpoint build gate * release: v1.18.14 * chore(termux): seed release automation * Termux v1.18.14 (#44) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.15 (#18) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.15 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen Co-authored-by: opencode-agent[bot] Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> * release: v1.17.16 * chore(termux): seed release automation * chore(termux): prepare v1.17.16 * release: v1.17.18 * chore(termux): seed release automation * chore(termux): prepare v1.17.18 * fix(termux): stabilize release branches * chore(termux): remove Zig build cache * fix(termux): skip release PR tests * release: v1.17.19 * chore(termux): seed release automation * Termux v1.17.19 (#24) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.15 (#18) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.15 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen Co-authored-by: opencode-agent[bot] Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> * release: v1.17.16 * chore(termux): seed release automation * chore(termux): prepare v1.17.16 * release: v1.17.18 * chore(termux): seed release automation * chore(termux): prepare v1.17.18 * fix(termux): stabilize release branches * chore(termux): remove Zig build cache * fix(termux): skip release PR tests * chore(termux): prepare v1.17.19 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen Co-authored-by: opencode-agent[bot] Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> * checkpoint: prepare release-1.17.19 for termux-target * release: v1.17.20 * chore(termux): seed release automation * Termux v1.17.20 (#26) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.15 (#18) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.… * release: v1.18.15 * chore(termux): seed release automation * Termux v1.18.15 (#46) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.15 (#18) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.15 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen Co-authored-by: opencode-agent[bot] Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> * release: v1.17.16 * chore(termux): seed release automation * chore(termux): prepare v1.17.16 * release: v1.17.18 * chore(termux): seed release automation * chore(termux): prepare v1.17.18 * fix(termux): stabilize release branches * chore(termux): remove Zig build cache * fix(termux): skip release PR tests * release: v1.17.19 * chore(termux): seed release automation * Termux v1.17.19 (#24) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.15 (#18) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.15 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen Co-authored-by: opencode-agent[bot] Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> * release: v1.17.16 * chore(termux): seed release automation * chore(termux): prepare v1.17.16 * release: v1.17.18 * chore(termux): seed release automation * chore(termux): prepare v1.17.18 * fix(termux): stabilize release branches * chore(termux): remove Zig build cache * fix(termux): skip release PR tests * chore(termux): prepare v1.17.19 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen Co-authored-by: opencode-agent[bot] Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> * checkpoint: prepare release-1.17.19 for termux-target * release: v1.17.20 * chore(termux): seed release automation * Termux v1.17.20 (#26) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.15 (#18) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.… * release: v1.18.16 * chore(termux): seed release automation * Termux v1.18.16 (#48) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.15 (#18) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.15 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen Co-authored-by: opencode-agent[bot] Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> * release: v1.17.16 * chore(termux): seed release automation * chore(termux): prepare v1.17.16 * release: v1.17.18 * chore(termux): seed release automation * chore(termux): prepare v1.17.18 * fix(termux): stabilize release branches * chore(termux): remove Zig build cache * fix(termux): skip release PR tests * release: v1.17.19 * chore(termux): seed release automation * Termux v1.17.19 (#24) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.15 (#18) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.15 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen Co-authored-by: opencode-agent[bot] Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> * release: v1.17.16 * chore(termux): seed release automation * chore(termux): prepare v1.17.16 * release: v1.17.18 * chore(termux): seed release automation * chore(termux): prepare v1.17.18 * fix(termux): stabilize release branches * chore(termux): remove Zig build cache * fix(termux): skip release PR tests * chore(termux): prepare v1.17.19 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen Co-authored-by: opencode-agent[bot] Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> * checkpoint: prepare release-1.17.19 for termux-target * release: v1.17.20 * chore(termux): seed release automation * Termux v1.17.20 (#26) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.15 (#18) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.… * release: v1.18.17 * chore(termux): seed release automation * Termux v1.18.17 (#50) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.15 (#18) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.15 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen Co-authored-by: opencode-agent[bot] Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> * release: v1.17.16 * chore(termux): seed release automation * chore(termux): prepare v1.17.16 * release: v1.17.18 * chore(termux): seed release automation * chore(termux): prepare v1.17.18 * fix(termux): stabilize release branches * chore(termux): remove Zig build cache * fix(termux): skip release PR tests * release: v1.17.19 * chore(termux): seed release automation * Termux v1.17.19 (#24) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.15 (#18) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.15 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen Co-authored-by: opencode-agent[bot] Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> * release: v1.17.16 * chore(termux): seed release automation * chore(termux): prepare v1.17.16 * release: v1.17.18 * chore(termux): seed release automation * chore(termux): prepare v1.17.18 * fix(termux): stabilize release branches * chore(termux): remove Zig build cache * fix(termux): skip release PR tests * chore(termux): prepare v1.17.19 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen Co-authored-by: opencode-agent[bot] Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> * checkpoint: prepare release-1.17.19 for termux-target * release: v1.17.20 * chore(termux): seed release automation * Termux v1.17.20 (#26) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.15 (#18) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.… * release: v1.18.18 * chore(termux): seed release automation * Termux v1.18.18 (#52) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.15 (#18) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.15 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen Co-authored-by: opencode-agent[bot] Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> * release: v1.17.16 * chore(termux): seed release automation * chore(termux): prepare v1.17.16 * release: v1.17.18 * chore(termux): seed release automation * chore(termux): prepare v1.17.18 * fix(termux): stabilize release branches * chore(termux): remove Zig build cache * fix(termux): skip release PR tests * release: v1.17.19 * chore(termux): seed release automation * Termux v1.17.19 (#24) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.15 (#18) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.15 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen Co-authored-by: opencode-agent[bot] Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> * release: v1.17.16 * chore(termux): seed release automation * chore(termux): prepare v1.17.16 * release: v1.17.18 * chore(termux): seed release automation * chore(termux): prepare v1.17.18 * fix(termux): stabilize release branches * chore(termux): remove Zig build cache * fix(termux): skip release PR tests * chore(termux): prepare v1.17.19 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen Co-authored-by: opencode-agent[bot] Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> * checkpoint: prepare release-1.17.19 for termux-target * release: v1.17.20 * chore(termux): seed release automation * Termux v1.17.20 (#26) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.15 (#18) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.… * release: v1.18.19 * chore(termux): seed release automation * chore(termux): prepare v1.18.19 * release: v1.18.20 * chore(termux): seed release automation * Termux v1.18.20 (#56) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.15 (#18) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.15 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen Co-authored-by: opencode-agent[bot] Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> * release: v1.17.16 * chore(termux): seed release automation * chore(termux): prepare v1.17.16 * release: v1.17.18 * chore(termux): seed release automation * chore(termux): prepare v1.17.18 * fix(termux): stabilize release branches * chore(termux): remove Zig build cache * fix(termux): skip release PR tests * release: v1.17.19 * chore(termux): seed release automation * Termux v1.17.19 (#24) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.15 (#18) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.15 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen Co-authored-by: opencode-agent[bot] Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> * release: v1.17.16 * chore(termux): seed release automation * chore(termux): prepare v1.17.16 * release: v1.17.18 * chore(termux): seed release automation * chore(termux): prepare v1.17.18 * fix(termux): stabilize release branches * chore(termux): remove Zig build cache * fix(termux): skip release PR tests * chore(termux): prepare v1.17.19 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen Co-authored-by: opencode-agent[bot] Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> * checkpoint: prepare release-1.17.19 for termux-target * release: v1.17.20 * chore(termux): seed release automation * Termux v1.17.20 (#26) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.15 (#18) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.… * release: v1.18.21 * chore(termux): seed release automation * Termux v1.18.21 (#58) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.15 (#18) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.15 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen Co-authored-by: opencode-agent[bot] Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> * release: v1.17.16 * chore(termux): seed release automation * chore(termux): prepare v1.17.16 * release: v1.17.18 * chore(termux): seed release automation * chore(termux): prepare v1.17.18 * fix(termux): stabilize release branches * chore(termux): remove Zig build cache * fix(termux): skip release PR tests * release: v1.17.19 * chore(termux): seed release automation * Termux v1.17.19 (#24) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.15 (#18) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.15 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen Co-authored-by: opencode-agent[bot] Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> * release: v1.17.16 * chore(termux): seed release automation * chore(termux): prepare v1.17.16 * release: v1.17.18 * chore(termux): seed release automation * chore(termux): prepare v1.17.18 * fix(termux): stabilize release branches * chore(termux): remove Zig build cache * fix(termux): skip release PR tests * chore(termux): prepare v1.17.19 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen Co-authored-by: opencode-agent[bot] Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> * checkpoint: prepare release-1.17.19 for termux-target * release: v1.17.20 * chore(termux): seed release automation * Termux v1.17.20 (#26) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.15 (#18) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.… * release: v1.18.22 * chore(termux): seed release automation * Termux v1.18.22 (#60) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.15 (#18) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.15 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen Co-authored-by: opencode-agent[bot] Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> * release: v1.17.16 * chore(termux): seed release automation * chore(termux): prepare v1.17.16 * release: v1.17.18 * chore(termux): seed release automation * chore(termux): prepare v1.17.18 * fix(termux): stabilize release branches * chore(termux): remove Zig build cache * fix(termux): skip release PR tests * release: v1.17.19 * chore(termux): seed release automation * Termux v1.17.19 (#24) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.15 (#18) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.15 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen Co-authored-by: opencode-agent[bot] Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> * release: v1.17.16 * chore(termux): seed release automation * chore(termux): prepare v1.17.16 * release: v1.17.18 * chore(termux): seed release automation * chore(termux): prepare v1.17.18 * fix(termux): stabilize release branches * chore(termux): remove Zig build cache * fix(termux): skip release PR tests * chore(termux): prepare v1.17.19 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen Co-authored-by: opencode-agent[bot] Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> * checkpoint: prepare release-1.17.19 for termux-target * release: v1.17.20 * chore(termux): seed release automation * Termux v1.17.20 (#26) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.15 (#18) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.… * release: v1.18.23 * chore(termux): seed release automation * Termux v1.18.23 (#62) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.15 (#18) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.15 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen Co-authored-by: opencode-agent[bot] Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> * release: v1.17.16 * chore(termux): seed release automation * chore(termux): prepare v1.17.16 * release: v1.17.18 * chore(termux): seed release automation * chore(termux): prepare v1.17.18 * fix(termux): stabilize release branches * chore(termux): remove Zig build cache * fix(termux): skip release PR tests * release: v1.17.19 * chore(termux): seed release automation * Termux v1.17.19 (#24) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.15 (#18) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.15 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen Co-authored-by: opencode-agent[bot] Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> * release: v1.17.16 * chore(termux): seed release automation * chore(termux): prepare v1.17.16 * release: v1.17.18 * chore(termux): seed release automation * chore(termux): prepare v1.17.18 * fix(termux): stabilize release branches * chore(termux): remove Zig build cache * fix(termux): skip release PR tests * chore(termux): prepare v1.17.19 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen Co-authored-by: opencode-agent[bot] Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> * checkpoint: prepare release-1.17.19 for termux-target * release: v1.17.20 * chore(termux): seed release automation * Termux v1.17.20 (#26) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.15 (#18) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.… * release: v1.18.25 * chore(termux): seed release automation * Termux v1.18.25 (#64) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.15 (#18) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.15 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen Co-authored-by: opencode-agent[bot] Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> * release: v1.17.16 * chore(termux): seed release automation * chore(termux): prepare v1.17.16 * release: v1.17.18 * chore(termux): seed release automation * chore(termux): prepare v1.17.18 * fix(termux): stabilize release branches * chore(termux): remove Zig build cache * fix(termux): skip release PR tests * release: v1.17.19 * chore(termux): seed release automation * Termux v1.17.19 (#24) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.15 (#18) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.15 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen Co-authored-by: opencode-agent[bot] Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> * release: v1.17.16 * chore(termux): seed release automation * chore(termux): prepare v1.17.16 * release: v1.17.18 * chore(termux): seed release automation * chore(termux): prepare v1.17.18 * fix(termux): stabilize release branches * chore(termux): remove Zig build cache * fix(termux): skip release PR tests * chore(termux): prepare v1.17.19 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen Co-authored-by: opencode-agent[bot] Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> * checkpoint: prepare release-1.17.19 for termux-target * release: v1.17.20 * chore(termux): seed release automation * Termux v1.17.20 (#26) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.15 (#18) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * release: v1.17.14 * chore(termux): seed release automation * Termux v1.17.14 (#10) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore(termux): prepare v1.17.14 --------- Co-authored-by: wallentx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * Termux v1.17.14 (#14) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * chore(termux): prepare v1.17.15 * fix(ci): disable upstream housekeeping on forks * chore(codegraph): Ignore generated data files Signed-off-by: wallentx * fix(termux): pin OpenTUI for Android build * chore(termux): prepare v1.17.14 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode-agent[bot] Co-authored-by: opencode Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen * chore(termux): seed release automation * Termux v1.17.14 (#16) * fix(termux): add Android artifact support * fix(termux): make target fork friendly * chore: generate * sync release versions for v1.17.14 * feat(data): improved model usage section * fix(data): refine model trend charts * chore: generate * feat(app): align cmd k menu with v2 styles (#35152) Co-authored-by: Brendan Allan * fix(config): handle unavailable config directories (#35632) Co-authored-by: James Long * feat(app): visual improvements (#35134) * chore: generate * feat(app): reintroduce model context tooltip in model selector (#35087) * chore: generate * feat(app): change traffic light position, fix sequoia bug (#35081) * fix(app): apply settings themes on select (#35011) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(app): persist session tab info (#34934) * chore: generate * fix(app): show unread for pending questions (#34684) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] Co-authored-by: Brendan Allan * fix(app): prioritize shortcuts in terminal (#35668) * chore: generate * fix(app): hide markdown task markers (#35670) * feat(data): redesign model efficiency * chore: generate * fix(core): expand home-relative permission paths (#35737) * chore: generate * fix(core): ensure relevant files survive compaction (#35636) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * fix(llm): classify zai token limit overflow (#35671) * release: v1.17.15 * chore(termux): seed release automation * Termux v1.… * chore(termux): prepare v1.18.26 --------- Signed-off-by: wallentx Co-authored-by: wallentx Co-authored-by: opencode Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: unemployabot[bot] <277198073+unemployabot[bot]@users.noreply.github.com> Co-authored-by: William Allen Co-authored-by: opencode-agent[bot] Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan Co-authored-by: James Long Co-authored-by: James Long Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Dustin Deus Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> --- .codegraph/.gitignore | 5 + .github/actionlint.yaml | 12 + .github/termux-release.json | 15 + .github/workflows/close-issues.yml | 1 + .github/workflows/close-prs.yml | 1 + .github/workflows/compliance-close.yml | 1 + .github/workflows/containers.yml | 4 +- .github/workflows/docs-locale-sync.yml | 5 +- .github/workflows/duplicate-issues.yml | 12 +- .github/workflows/generate.yml | 16 +- .github/workflows/nix-eval.yml | 2 +- .github/workflows/nix-hashes.yml | 5 +- .github/workflows/notify-discord.yml | 4 +- .github/workflows/opencode.yml | 14 +- .github/workflows/pr-management.yml | 6 +- .github/workflows/pr-standards.yml | 2 + .github/workflows/publish-github-action.yml | 3 +- .github/workflows/publish-vscode.yml | 4 +- .github/workflows/release-github-action.yml | 3 +- .github/workflows/review.yml | 4 +- .github/workflows/storybook.yml | 2 +- .github/workflows/triage.yml | 5 +- .github/workflows/typecheck.yml | 2 +- .gitignore | 3 + .termux-release-automation | 1 + bun.lock | 39 +- install | 36 +- package.json | 6 +- packages/core/package.json | 2 + packages/core/src/filesystem/watcher.ts | 1 + packages/core/src/flag/flag.ts | 3 +- packages/desktop/scripts/utils.ts | 10 + packages/opencode/bin/opencode | 3 + packages/opencode/script/build.ts | 57 ++- packages/opencode/script/opentui-android.ts | 262 +++++++++++ packages/opencode/script/patch-android-elf.ts | 421 ++++++++++++++++++ packages/opencode/script/postinstall.mjs | 3 + packages/opencode/script/publish.ts | 2 +- packages/opencode/src/installation/index.ts | 24 +- .../test/installation/installation.test.ts | 52 +++ packages/plugin/package.json | 6 +- 41 files changed, 964 insertions(+), 95 deletions(-) create mode 100644 .codegraph/.gitignore create mode 100644 .github/actionlint.yaml create mode 100644 .github/termux-release.json create mode 160000 .termux-release-automation create mode 100644 packages/opencode/script/opentui-android.ts create mode 100644 packages/opencode/script/patch-android-elf.ts diff --git a/.codegraph/.gitignore b/.codegraph/.gitignore new file mode 100644 index 000000000000..d20c0fe4bdba --- /dev/null +++ b/.codegraph/.gitignore @@ -0,0 +1,5 @@ +# CodeGraph data files — local to each machine, not for committing. +# Ignore everything in .codegraph/ except this file itself, so transient +# files (the database, daemon.pid, sockets, logs) never show up in git. +* +!.gitignore diff --git a/.github/actionlint.yaml b/.github/actionlint.yaml new file mode 100644 index 000000000000..0c3172c605c9 --- /dev/null +++ b/.github/actionlint.yaml @@ -0,0 +1,12 @@ +self-hosted-runner: + labels: + - blacksmith-4vcpu-ubuntu-2404 + - blacksmith-4vcpu-ubuntu-2404-arm + - blacksmith-4vcpu-windows-2025 + +config-variables: null + +paths: + .github/workflows/docs-locale-sync.yml: + ignore: + - 'constant expression "false" in condition' diff --git a/.github/termux-release.json b/.github/termux-release.json new file mode 100644 index 000000000000..be73217e55eb --- /dev/null +++ b/.github/termux-release.json @@ -0,0 +1,15 @@ +{ + "upstream_repo": "anomalyco/opencode", + "upstream_tag": "v1.18.26", + "upstream_name": "v1.18.26", + "upstream_html_url": "https://github.com/anomalyco/opencode/releases/tag/v1.18.26", + "upstream_target": "8100c68b507b53aac6b891edbc3040a6011d8969", + "upstream_release_id": "380823834", + "upstream_prerelease": false, + "release_train": "1.18.26", + "release_branch": "release-1.18.26", + "work_branch": "termux-1.18.26", + "patch_branch": "termux-target", + "patch_source_sha": "c0f163b38a541ee464df28acee5f3c4e707f4a28", + "termux_tag": "v1.18.26-termux" +} diff --git a/.github/workflows/close-issues.yml b/.github/workflows/close-issues.yml index b8a2e3f575d8..99f020620b89 100644 --- a/.github/workflows/close-issues.yml +++ b/.github/workflows/close-issues.yml @@ -7,6 +7,7 @@ on: jobs: close: + if: github.repository == 'anomalyco/opencode' runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/close-prs.yml b/.github/workflows/close-prs.yml index a1e603a88104..7030a5b4909d 100644 --- a/.github/workflows/close-prs.yml +++ b/.github/workflows/close-prs.yml @@ -17,6 +17,7 @@ on: jobs: close: + if: github.repository == 'anomalyco/opencode' runs-on: ubuntu-latest timeout-minutes: 240 permissions: diff --git a/.github/workflows/compliance-close.yml b/.github/workflows/compliance-close.yml index a83824e5cf60..a89ef16f24ac 100644 --- a/.github/workflows/compliance-close.yml +++ b/.github/workflows/compliance-close.yml @@ -13,6 +13,7 @@ permissions: jobs: close-non-compliant: + if: github.repository == 'anomalyco/opencode' runs-on: ubuntu-latest steps: - name: Close non-compliant issues and PRs after 2 hours diff --git a/.github/workflows/containers.yml b/.github/workflows/containers.yml index 15bf0783160e..270b2aabd468 100644 --- a/.github/workflows/containers.yml +++ b/.github/workflows/containers.yml @@ -16,7 +16,8 @@ permissions: jobs: build: - runs-on: blacksmith-4vcpu-ubuntu-2404 + if: github.repository == 'anomalyco/opencode' + runs-on: ${{ github.repository == 'anomalyco/opencode' && 'blacksmith-4vcpu-ubuntu-2404' || 'ubuntu-latest' }} env: REGISTRY: ghcr.io/${{ github.repository_owner }} TAG: "24.04" @@ -32,6 +33,7 @@ jobs: uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3.12.0 - name: Login to GHCR + if: github.repository == 'anomalyco/opencode' uses: docker/login-action@c94ce9fb468520275223c153574b00df6fe4bcc9 # v3.7.0 with: registry: ghcr.io diff --git a/.github/workflows/docs-locale-sync.yml b/.github/workflows/docs-locale-sync.yml index 5f921e8bb717..fb09c2c3a1d3 100644 --- a/.github/workflows/docs-locale-sync.yml +++ b/.github/workflows/docs-locale-sync.yml @@ -11,7 +11,7 @@ jobs: sync-locales: if: false #if: github.actor != 'opencode-agent[bot]' - runs-on: blacksmith-4vcpu-ubuntu-2404 + runs-on: ${{ github.repository == 'anomalyco/opencode' && 'blacksmith-4vcpu-ubuntu-2404' || 'ubuntu-latest' }} permissions: contents: write steps: @@ -26,6 +26,7 @@ jobs: uses: ./.github/actions/setup-bun - name: Setup git committer + if: github.repository == 'anomalyco/opencode' id: committer uses: ./.github/actions/setup-git-committer with: @@ -53,7 +54,7 @@ jobs: run: curl -fsSL https://opencode.ai/install | bash - name: Sync locale docs with OpenCode - if: steps.changes.outputs.has_changes == 'true' + if: github.repository == 'anomalyco/opencode' && (steps.changes.outputs.has_changes == 'true') env: OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }} OPENCODE_CONFIG_CONTENT: | diff --git a/.github/workflows/duplicate-issues.yml b/.github/workflows/duplicate-issues.yml index 3972247dafc6..c2f36eb5dd40 100644 --- a/.github/workflows/duplicate-issues.yml +++ b/.github/workflows/duplicate-issues.yml @@ -6,8 +6,8 @@ on: jobs: check-duplicates: - if: github.event.action == 'opened' - runs-on: blacksmith-4vcpu-ubuntu-2404 + if: github.repository == 'anomalyco/opencode' && github.event.action == 'opened' + runs-on: ${{ github.repository == 'anomalyco/opencode' && 'blacksmith-4vcpu-ubuntu-2404' || 'ubuntu-latest' }} permissions: contents: read issues: write @@ -41,7 +41,7 @@ jobs: run: curl -fsSL https://opencode.ai/install | bash - name: Check duplicates and compliance - if: steps.author.outputs.skip != 'true' + if: github.repository == 'anomalyco/opencode' && (steps.author.outputs.skip != 'true') env: OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -140,8 +140,8 @@ jobs: Remember: post at most ONE comment combining all findings. If everything is fine, post nothing." recheck-compliance: - if: github.event.action == 'edited' && contains(github.event.issue.labels.*.name, 'needs:compliance') - runs-on: blacksmith-4vcpu-ubuntu-2404 + if: github.repository == 'anomalyco/opencode' && github.event.action == 'edited' && contains(github.event.issue.labels.*.name, 'needs:compliance') + runs-on: ${{ github.repository == 'anomalyco/opencode' && 'blacksmith-4vcpu-ubuntu-2404' || 'ubuntu-latest' }} permissions: contents: read issues: write @@ -175,7 +175,7 @@ jobs: run: curl -fsSL https://opencode.ai/install | bash - name: Recheck compliance - if: steps.author.outputs.skip != 'true' + if: github.repository == 'anomalyco/opencode' && (steps.author.outputs.skip != 'true') env: OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/generate.yml b/.github/workflows/generate.yml index 324cfec02001..c2f9486b6bea 100644 --- a/.github/workflows/generate.yml +++ b/.github/workflows/generate.yml @@ -7,7 +7,8 @@ on: jobs: generate: - runs-on: blacksmith-4vcpu-ubuntu-2404 + if: github.repository == 'anomalyco/opencode' + runs-on: ${{ github.repository == 'anomalyco/opencode' && 'blacksmith-4vcpu-ubuntu-2404' || 'ubuntu-latest' }} permissions: contents: write pull-requests: write @@ -19,6 +20,7 @@ jobs: uses: ./.github/actions/setup-bun - name: Setup git committer + if: github.repository == 'anomalyco/opencode' id: committer uses: ./.github/actions/setup-git-committer with: @@ -37,15 +39,3 @@ jobs: git add -A git commit -m "chore: generate" --allow-empty git push origin HEAD:${{ github.ref_name }} --no-verify - # if ! git push origin HEAD:${{ github.event.pull_request.head.ref || github.ref_name }} --no-verify; then - # echo "" - # echo "============================================" - # echo "Failed to push generated code." - # echo "Please run locally and push:" - # echo "" - # echo " ./script/generate.ts" - # echo " git add -A && git commit -m \"chore: generate\" && git push" - # echo "" - # echo "============================================" - # exit 1 - # fi diff --git a/.github/workflows/nix-eval.yml b/.github/workflows/nix-eval.yml index 75332695a1ad..28b9781ac7ce 100644 --- a/.github/workflows/nix-eval.yml +++ b/.github/workflows/nix-eval.yml @@ -16,7 +16,7 @@ permissions: jobs: nix-eval: - runs-on: blacksmith-4vcpu-ubuntu-2404 + runs-on: ${{ github.repository == 'anomalyco/opencode' && 'blacksmith-4vcpu-ubuntu-2404' || 'ubuntu-latest' }} timeout-minutes: 15 steps: - name: Checkout repository diff --git a/.github/workflows/nix-hashes.yml b/.github/workflows/nix-hashes.yml index ce1d9237fde5..67abeb3d5a9c 100644 --- a/.github/workflows/nix-hashes.yml +++ b/.github/workflows/nix-hashes.yml @@ -25,6 +25,7 @@ jobs: # Native runners required: bun install cross-compilation flags (--os/--cpu) # do not produce byte-identical node_modules as native installs. compute-hash: + if: github.repository == 'anomalyco/opencode' strategy: fail-fast: false matrix: @@ -37,7 +38,7 @@ jobs: runner: macos-15-intel - system: aarch64-darwin runner: macos-latest - runs-on: ${{ matrix.runner }} + runs-on: ${{ github.repository == 'anomalyco/opencode' && (matrix.runner) || 'ubuntu-latest' }} steps: - name: Checkout repository @@ -90,7 +91,7 @@ jobs: update-hashes: needs: compute-hash - if: github.event_name != 'pull_request' + if: github.repository == 'anomalyco/opencode' && github.event_name != 'pull_request' runs-on: blacksmith-4vcpu-ubuntu-2404 steps: diff --git a/.github/workflows/notify-discord.yml b/.github/workflows/notify-discord.yml index 0b2b1cde051b..7b5e53c5401e 100644 --- a/.github/workflows/notify-discord.yml +++ b/.github/workflows/notify-discord.yml @@ -6,9 +6,11 @@ on: jobs: notify: - runs-on: blacksmith-4vcpu-ubuntu-2404 + if: github.repository == 'anomalyco/opencode' + runs-on: ${{ github.repository == 'anomalyco/opencode' && 'blacksmith-4vcpu-ubuntu-2404' || 'ubuntu-latest' }} steps: - name: Send nicely-formatted embed to Discord + if: github.repository == 'anomalyco/opencode' uses: SethCohen/github-releases-to-discord@24d166886aee4646d448c8a389ff9e1ebcab3682 # v1.20.0 with: webhook_url: ${{ secrets.DISCORD_WEBHOOK }} diff --git a/.github/workflows/opencode.yml b/.github/workflows/opencode.yml index 3469c21917f8..c0b077e69a22 100644 --- a/.github/workflows/opencode.yml +++ b/.github/workflows/opencode.yml @@ -9,11 +9,14 @@ on: jobs: opencode: if: | - contains(github.event.comment.body, ' /oc') || - startsWith(github.event.comment.body, '/oc') || - contains(github.event.comment.body, ' /opencode') || - startsWith(github.event.comment.body, '/opencode') - runs-on: blacksmith-4vcpu-ubuntu-2404 + github.repository == 'anomalyco/opencode' && + ( + contains(github.event.comment.body, ' /oc') || + startsWith(github.event.comment.body, '/oc') || + contains(github.event.comment.body, ' /opencode') || + startsWith(github.event.comment.body, '/opencode') + ) + runs-on: ${{ github.repository == 'anomalyco/opencode' && 'blacksmith-4vcpu-ubuntu-2404' || 'ubuntu-latest' }} permissions: id-token: write contents: read @@ -26,6 +29,7 @@ jobs: - uses: ./.github/actions/setup-bun - name: Run opencode + if: github.repository == 'anomalyco/opencode' uses: anomalyco/opencode/github@2c14fc5586fe0b88e5c04732d2e846769cc35671 # latest env: OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }} diff --git a/.github/workflows/pr-management.yml b/.github/workflows/pr-management.yml index b6aa4e589d89..117d18a0c6ab 100644 --- a/.github/workflows/pr-management.yml +++ b/.github/workflows/pr-management.yml @@ -6,7 +6,8 @@ on: jobs: check-duplicates: - runs-on: blacksmith-4vcpu-ubuntu-2404 + if: github.repository == 'anomalyco/opencode' + runs-on: ${{ github.repository == 'anomalyco/opencode' && 'blacksmith-4vcpu-ubuntu-2404' || 'ubuntu-latest' }} permissions: contents: read pull-requests: write @@ -57,7 +58,7 @@ jobs: } > pr_info.txt - name: Check for duplicate PRs - if: steps.team-check.outputs.is_team != 'true' + if: github.repository == 'anomalyco/opencode' && (steps.team-check.outputs.is_team != 'true') env: OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -72,6 +73,7 @@ jobs: fi add-contributor-label: + if: github.repository == 'anomalyco/opencode' runs-on: ubuntu-latest permissions: pull-requests: write diff --git a/.github/workflows/pr-standards.yml b/.github/workflows/pr-standards.yml index 06838089d354..53d5a41c96fc 100644 --- a/.github/workflows/pr-standards.yml +++ b/.github/workflows/pr-standards.yml @@ -6,6 +6,7 @@ on: jobs: check-standards: + if: github.repository == 'anomalyco/opencode' runs-on: ubuntu-latest permissions: contents: read @@ -153,6 +154,7 @@ jobs: console.log('PR meets all standards'); check-compliance: + if: github.repository == 'anomalyco/opencode' runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/publish-github-action.yml b/.github/workflows/publish-github-action.yml index e5ca91b5618a..9c6cb168af9f 100644 --- a/.github/workflows/publish-github-action.yml +++ b/.github/workflows/publish-github-action.yml @@ -14,7 +14,8 @@ permissions: jobs: publish: - runs-on: blacksmith-4vcpu-ubuntu-2404 + if: github.repository == 'anomalyco/opencode' + runs-on: ${{ github.repository == 'anomalyco/opencode' && 'blacksmith-4vcpu-ubuntu-2404' || 'ubuntu-latest' }} steps: - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 with: diff --git a/.github/workflows/publish-vscode.yml b/.github/workflows/publish-vscode.yml index 00c7e260482e..1820d224e41f 100644 --- a/.github/workflows/publish-vscode.yml +++ b/.github/workflows/publish-vscode.yml @@ -13,7 +13,8 @@ permissions: jobs: publish: - runs-on: blacksmith-4vcpu-ubuntu-2404 + if: github.repository == 'anomalyco/opencode' + runs-on: ${{ github.repository == 'anomalyco/opencode' && 'blacksmith-4vcpu-ubuntu-2404' || 'ubuntu-latest' }} steps: - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 with: @@ -29,6 +30,7 @@ jobs: working-directory: ./sdks/vscode - name: Publish + if: github.repository == 'anomalyco/opencode' run: | ./script/publish working-directory: ./sdks/vscode diff --git a/.github/workflows/release-github-action.yml b/.github/workflows/release-github-action.yml index 4a1d7218bb2c..ece440691684 100644 --- a/.github/workflows/release-github-action.yml +++ b/.github/workflows/release-github-action.yml @@ -14,7 +14,8 @@ permissions: jobs: release: - runs-on: blacksmith-4vcpu-ubuntu-2404 + if: github.repository == 'anomalyco/opencode' + runs-on: ${{ github.repository == 'anomalyco/opencode' && 'blacksmith-4vcpu-ubuntu-2404' || 'ubuntu-latest' }} steps: - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: diff --git a/.github/workflows/review.yml b/.github/workflows/review.yml index 00a4fba8ca13..4197fc32c876 100644 --- a/.github/workflows/review.yml +++ b/.github/workflows/review.yml @@ -7,10 +7,11 @@ on: jobs: check-guidelines: if: | + github.repository == 'anomalyco/opencode' && github.event.issue.pull_request && startsWith(github.event.comment.body, '/review') && contains(fromJson('["OWNER","MEMBER"]'), github.event.comment.author_association) - runs-on: blacksmith-4vcpu-ubuntu-2404 + runs-on: ${{ github.repository == 'anomalyco/opencode' && 'blacksmith-4vcpu-ubuntu-2404' || 'ubuntu-latest' }} permissions: contents: read pull-requests: write @@ -44,6 +45,7 @@ jobs: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Check PR guidelines compliance + if: github.repository == 'anomalyco/opencode' env: OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/storybook.yml b/.github/workflows/storybook.yml index be2e099d0ed9..9ba6088429a7 100644 --- a/.github/workflows/storybook.yml +++ b/.github/workflows/storybook.yml @@ -28,7 +28,7 @@ concurrency: jobs: build: name: storybook build - runs-on: blacksmith-4vcpu-ubuntu-2404 + runs-on: ${{ github.repository == 'anomalyco/opencode' && 'blacksmith-4vcpu-ubuntu-2404' || 'ubuntu-latest' }} steps: - name: Checkout repository uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 diff --git a/.github/workflows/triage.yml b/.github/workflows/triage.yml index 0350e43877c4..7749b394977f 100644 --- a/.github/workflows/triage.yml +++ b/.github/workflows/triage.yml @@ -6,7 +6,8 @@ on: jobs: triage: - runs-on: blacksmith-4vcpu-ubuntu-2404 + if: github.repository == 'anomalyco/opencode' + runs-on: ${{ github.repository == 'anomalyco/opencode' && 'blacksmith-4vcpu-ubuntu-2404' || 'ubuntu-latest' }} permissions: contents: read issues: write @@ -41,7 +42,7 @@ jobs: run: curl -fsSL https://opencode.ai/install | bash - name: Triage issue - if: steps.author.outputs.skip != 'true' + if: github.repository == 'anomalyco/opencode' && (steps.author.outputs.skip != 'true') env: OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/typecheck.yml b/.github/workflows/typecheck.yml index fc9a52797c1d..0ef6327e7ce7 100644 --- a/.github/workflows/typecheck.yml +++ b/.github/workflows/typecheck.yml @@ -9,7 +9,7 @@ on: jobs: typecheck: - runs-on: blacksmith-4vcpu-ubuntu-2404 + runs-on: ${{ github.repository == 'anomalyco/opencode' && 'blacksmith-4vcpu-ubuntu-2404' || 'ubuntu-latest' }} steps: - name: Checkout repository uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 diff --git a/.gitignore b/.gitignore index 006cab8c276c..d5c4505208b1 100644 --- a/.gitignore +++ b/.gitignore @@ -32,3 +32,6 @@ UPCOMING_CHANGELOG.md logs/ *.bun-build tsconfig.tsbuildinfo +.zig-cache/ +.codegraph/ +.codex/ diff --git a/.termux-release-automation b/.termux-release-automation new file mode 160000 index 000000000000..e85e24430261 --- /dev/null +++ b/.termux-release-automation @@ -0,0 +1 @@ +Subproject commit e85e2443026137806f5365bf44184c945c6b036e diff --git a/bun.lock b/bun.lock index adce8d3bb71d..21df3194e091 100644 --- a/bun.lock +++ b/bun.lock @@ -361,6 +361,7 @@ }, "devDependencies": { "@opencode-ai/http-recorder": "workspace:*", + "@parcel/watcher-android-arm64": "2.5.1", "@parcel/watcher-darwin-arm64": "2.5.1", "@parcel/watcher-darwin-x64": "2.5.1", "@parcel/watcher-linux-arm64-glibc": "2.5.1", @@ -709,9 +710,9 @@ "typescript": "catalog:", }, "peerDependencies": { - "@opentui/core": ">=0.4.5", - "@opentui/keymap": ">=0.4.5", - "@opentui/solid": ">=0.4.5", + "@opentui/core": ">=0.3.4", + "@opentui/keymap": ">=0.3.4", + "@opentui/solid": ">=0.3.4", }, "optionalPeers": [ "@opentui/core", @@ -1099,9 +1100,9 @@ "@npmcli/arborist": "9.4.0", "@octokit/rest": "22.0.0", "@openauthjs/openauth": "0.0.0-20250322224806", - "@opentui/core": "0.4.5", - "@opentui/keymap": "0.4.5", - "@opentui/solid": "0.4.5", + "@opentui/core": "0.3.4", + "@opentui/keymap": "0.3.4", + "@opentui/solid": "0.3.4", "@pierre/diffs": "1.2.10", "@playwright/test": "1.59.1", "@sentry/solid": "10.36.0", @@ -2039,27 +2040,27 @@ "@opentelemetry/semantic-conventions": ["@opentelemetry/semantic-conventions@1.41.1", "", {}, "sha512-/UhIkaZgPutTFmQ7RnIJGgDXZmtEJ7Dvi86xNTFWcnRxVRNk/aotsqDJYeEvDP+FSMB2SdW+pQzNMcWP0rwuNA=="], - "@opentui/core": ["@opentui/core@0.4.5", "", { "dependencies": { "bun-ffi-structs": "0.2.4", "diff": "9.0.0", "marked": "17.0.1", "string-width": "7.2.0", "strip-ansi": "7.1.2" }, "optionalDependencies": { "@opentui/core-darwin-arm64": "0.4.5", "@opentui/core-darwin-x64": "0.4.5", "@opentui/core-linux-arm64": "0.4.5", "@opentui/core-linux-arm64-musl": "0.4.5", "@opentui/core-linux-x64": "0.4.5", "@opentui/core-linux-x64-musl": "0.4.5", "@opentui/core-win32-arm64": "0.4.5", "@opentui/core-win32-x64": "0.4.5" }, "peerDependencies": { "web-tree-sitter": "0.25.10" } }, "sha512-JsgRTPkA6e+Vxmumxai6SElOSlRQkbzNKHlCfemlArRiLhfC1IZ9RXJo2QH4xSu+uBOWAM90uss73/pPlkdEig=="], + "@opentui/core": ["@opentui/core@0.3.4", "", { "dependencies": { "bun-ffi-structs": "0.2.2", "diff": "9.0.0", "marked": "17.0.1", "string-width": "7.2.0", "strip-ansi": "7.1.2", "yoga-layout": "3.2.1" }, "optionalDependencies": { "@opentui/core-darwin-arm64": "0.3.4", "@opentui/core-darwin-x64": "0.3.4", "@opentui/core-linux-arm64": "0.3.4", "@opentui/core-linux-arm64-musl": "0.3.4", "@opentui/core-linux-x64": "0.3.4", "@opentui/core-linux-x64-musl": "0.3.4", "@opentui/core-win32-arm64": "0.3.4", "@opentui/core-win32-x64": "0.3.4" }, "peerDependencies": { "web-tree-sitter": "0.25.10" } }, "sha512-y0DlrChP9lcJ4jC5z/1wMS34+ygfSTW7gD5OJHwJaAScfmlFvuJOZbwmCGrJURZ+5wFBxuOi9LatZsmeAUIKAA=="], - "@opentui/core-darwin-arm64": ["@opentui/core-darwin-arm64@0.4.5", "", { "os": "darwin", "cpu": "arm64" }, "sha512-8KUG0oRidnR+oW1RSZJ72/PhZLl+qRRMk5U/mieF4c0SJ5V3tYACpBZAKzQfHNd1f7QzD8FHZct1lPpQgtmkWg=="], + "@opentui/core-darwin-arm64": ["@opentui/core-darwin-arm64@0.3.4", "", { "os": "darwin", "cpu": "arm64" }, "sha512-4A7JYXUsZqhu9PPCe07E30ourSJYkitkwMujUyNKjM5e/dHNDVnz+5r5cO3M5snofLafc1DN7+9jEPn4UQzchQ=="], - "@opentui/core-darwin-x64": ["@opentui/core-darwin-x64@0.4.5", "", { "os": "darwin", "cpu": "x64" }, "sha512-R2bocsg55gwjOqCp/MWFgFYzRmsduKegB6nzgFAPCvAD/L5Jf30xpWJWFlSg3x8vxe1L9WJ84dfqa4M7mZZ3wA=="], + "@opentui/core-darwin-x64": ["@opentui/core-darwin-x64@0.3.4", "", { "os": "darwin", "cpu": "x64" }, "sha512-Jvm9E8n2sPhKEyKSXn9GlmJcj8WoJXJTooXb3djwjVaiimjihIj0XxHzCWhdqbDtQp+VxDFyCKoQagOOz20qhA=="], - "@opentui/core-linux-arm64": ["@opentui/core-linux-arm64@0.4.5", "", { "os": "linux", "cpu": "arm64" }, "sha512-R4MZ25a4CzOAGVjW9aj1hUfzQGVfCJwrwBDbNs2SXaIvzcZqkxCVtU4FoQ5LsaD0j/BdNQVg2CIfFkFsm1fDuQ=="], + "@opentui/core-linux-arm64": ["@opentui/core-linux-arm64@0.3.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-0uPuHCeZxm/O7+L+iNQl8zRAfehiwYstKkT9J0uTZO64/byBCLvy5lvn1DiE/72s/nTJ5nwpLN+pQs2/WYVKLQ=="], - "@opentui/core-linux-arm64-musl": ["@opentui/core-linux-arm64-musl@0.4.5", "", { "os": "linux", "cpu": "arm64" }, "sha512-ieqdyKI6EIYPalYAETB2wsdP83hr5Ifi+dFnBFUmdEEFHsoKwBmn2S7bsTOYlX7Bg03F4/YPIg+IvRpeC+cUJw=="], + "@opentui/core-linux-arm64-musl": ["@opentui/core-linux-arm64-musl@0.3.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-sJYUzYcSOb5PCXRlhwsse/fdsMiVomNvIwq/2TDhAANef+YPO3Br+OH9kQRbuj0bjVDmUS36SGYWSTFu2lUO+A=="], - "@opentui/core-linux-x64": ["@opentui/core-linux-x64@0.4.5", "", { "os": "linux", "cpu": "x64" }, "sha512-SNyuQoxMKI1vuJhgxSSW96adWM6LqFl2SoS3GM4tGeneGOanVVG2Y06PvlytXvF4cKik97t0rqkVMRetmOs93w=="], + "@opentui/core-linux-x64": ["@opentui/core-linux-x64@0.3.4", "", { "os": "linux", "cpu": "x64" }, "sha512-btYIQeNdPbN4JCrCjVB/RwMGrnRY7qWB2piNEfALSByuULKNjPKQ33PYIj38Yd01zCvCV7FotIeXEGSHx3tgCA=="], - "@opentui/core-linux-x64-musl": ["@opentui/core-linux-x64-musl@0.4.5", "", { "os": "linux", "cpu": "x64" }, "sha512-mKVKcIcPiSVVZZsdPSBoWwoa2/TCeQAaMDeHF7PFw2kt5bTXZPP7xxWfRQLCNIcA1eaGl59UuwUWHDR2Ve548Q=="], + "@opentui/core-linux-x64-musl": ["@opentui/core-linux-x64-musl@0.3.4", "", { "os": "linux", "cpu": "x64" }, "sha512-fhmUey4oJJ2+N62xlIgAPxAl36Fa7wYffqDOT4QLpm0jfyD5xzo+wL/hr2zUqaEI439R8Iq6jHNxf/Nsx1WuuQ=="], - "@opentui/core-win32-arm64": ["@opentui/core-win32-arm64@0.4.5", "", { "os": "win32", "cpu": "arm64" }, "sha512-GHTTsqeR45q2Iek9Rb7ty+x/hAKn2jZ1ujlCgPR8LBKyF7h0E1dNFryoZ7ehMc3kJndP1sKn836IemKFqxuDdQ=="], + "@opentui/core-win32-arm64": ["@opentui/core-win32-arm64@0.3.4", "", { "os": "win32", "cpu": "arm64" }, "sha512-sh432vPU+eLp8eA4I0KWKKn7D0VHbk01YTg6mA9/ihCNYHntc6LZ8/sLvsPv8CvKscMotfIkh3M5YhdS36BuXw=="], - "@opentui/core-win32-x64": ["@opentui/core-win32-x64@0.4.5", "", { "os": "win32", "cpu": "x64" }, "sha512-Y8T/yXCDGagRGiQrtmuB6AhRcPucKFs/Dre3v8kJwNYqDccI4FzUPKclZ7djfmRZNjl7JUqPhZZP/PwDpQocMg=="], + "@opentui/core-win32-x64": ["@opentui/core-win32-x64@0.3.4", "", { "os": "win32", "cpu": "x64" }, "sha512-dw8FcjUZaLAjw25P3/7BarobCh/QOHn3srYaWYQdysoqyvSlPkQumpI8kV/KgpJtdITU1GW02MQC4EeLIFFalA=="], - "@opentui/keymap": ["@opentui/keymap@0.4.5", "", { "dependencies": { "@opentui/core": "0.4.5" }, "peerDependencies": { "@opentui/react": "0.4.5", "@opentui/solid": "0.4.5", "react": ">=19.2.0", "solid-js": "1.9.12" }, "optionalPeers": ["@opentui/react", "@opentui/solid", "react", "solid-js"] }, "sha512-S1wzKHhF70zT6bH+VBFY+lSeTImLcIFW28JNQiME8MoPcy6KGPs7rKFSHrb/U7P8rsTJeRfW5A4d1Cy6PKodDg=="], + "@opentui/keymap": ["@opentui/keymap@0.3.4", "", { "dependencies": { "@opentui/core": "0.3.4" }, "peerDependencies": { "@opentui/react": "0.3.4", "@opentui/solid": "0.3.4", "react": ">=19.2.0", "solid-js": "1.9.12" }, "optionalPeers": ["@opentui/react", "@opentui/solid", "react", "solid-js"] }, "sha512-8fo6BZWQgCjANfbKkzPo0ghAzS1E7TlHjDDS+SUhrX01qEUO1clFTRssKluHbXd2UJY1Ehle01TV5bFmY78f8w=="], - "@opentui/solid": ["@opentui/solid@0.4.5", "", { "dependencies": { "@babel/core": "7.28.0", "@babel/preset-typescript": "7.27.1", "@opentui/core": "0.4.5", "babel-plugin-module-resolver": "5.0.2", "babel-preset-solid": "1.9.12", "entities": "7.0.1", "s-js": "^0.4.9" }, "peerDependencies": { "solid-js": "1.9.12" } }, "sha512-B0RSkXnrtPVfEJOX+Hj+axjLJ3lzbG1BZw5I7Pvb9OPp48Vzg2cW2a3cSa86/q48ndLt647i/XwFPIw/jqnI5g=="], + "@opentui/solid": ["@opentui/solid@0.3.4", "", { "dependencies": { "@babel/core": "7.28.0", "@babel/preset-typescript": "7.27.1", "@opentui/core": "0.3.4", "babel-plugin-module-resolver": "5.0.2", "babel-preset-solid": "1.9.12", "entities": "7.0.1", "s-js": "^0.4.9" }, "peerDependencies": { "solid-js": "1.9.12" } }, "sha512-gin1VnsVBahX0nrU3mpgh5U1qvyJBIZu4NE5mc0YnObWOEf9HVNxKY4/BpUvQPh91kT6zeOzTBvAvYK4R7g9MQ=="], "@oslojs/asn1": ["@oslojs/asn1@1.0.0", "", { "dependencies": { "@oslojs/binary": "1.0.0" } }, "sha512-zw/wn0sj0j0QKbIXfIlnEcTviaCzYOY3V5rAyjR6YtOByFtJiT574+8p9Wlach0lZH9fddD4yb9laEAIl4vXQA=="], @@ -3247,7 +3248,7 @@ "builder-util-runtime": ["builder-util-runtime@9.7.0", "", { "dependencies": { "debug": "^4.3.4", "sax": "^1.2.4" } }, "sha512-g/kR520giAFYkSXTzcmF3kqQq7wi8F6N6SzeDgZrqTBN+VHdmgWOyTdD1yD7AATDId/yXLvuP34CxW46/BwCdw=="], - "bun-ffi-structs": ["bun-ffi-structs@0.2.4", "", { "peerDependencies": { "typescript": "^5" } }, "sha512-AJzsqoVFs1KBbJbWHIYrVZLDC3NhTqqh25awRXqzoLzmBAKr5oqk6+CwuYHAekKx+VBCYVohBoKuRq40dV+TYg=="], + "bun-ffi-structs": ["bun-ffi-structs@0.2.2", "", { "peerDependencies": { "typescript": "^5" } }, "sha512-N/ZWtyN0piZlrXQT7TO0V+q952orYqkfhXRXM1Hcbb+R3QSiBH4vLnib187Mrs1H7pWIYECAmPeapGYDOMCl+w=="], "bun-pty": ["bun-pty@0.4.8", "", {}, "sha512-rO70Mrbr13+jxHHHu2YBkk2pNqrJE5cJn29WE++PUr+GFA0hq/VgtQPZANJ8dJo6d7XImvBk37Innt8GM7O28w=="], @@ -5599,6 +5600,8 @@ "yoctocolors": ["yoctocolors@2.1.2", "", {}, "sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug=="], + "yoga-layout": ["yoga-layout@3.2.1", "", {}, "sha512-0LPOt3AxKqMdFBZA3HBAt/t/8vIKq7VaQYbuA8WxCgung+p9TVyKRYdpvCb80HcdTN2NkbIKbhNwKUfm3tQywQ=="], + "youch": ["youch@4.1.0-beta.10", "", { "dependencies": { "@poppinss/colors": "^4.1.5", "@poppinss/dumper": "^0.6.4", "@speed-highlight/core": "^1.2.7", "cookie": "^1.0.2", "youch-core": "^0.3.3" } }, "sha512-rLfVLB4FgQneDr0dv1oddCVZmKjcJ6yX6mS4pU82Mq/Dt9a3cLZQ62pDBL4AUO+uVrCvtWz3ZFUL2HFAFJ/BXQ=="], "youch-core": ["youch-core@0.3.3", "", { "dependencies": { "@poppinss/exception": "^1.2.2", "error-stack-parser-es": "^1.0.5" } }, "sha512-ho7XuGjLaJ2hWHoK8yFnsUGy2Y5uDpqSTq1FkHLK4/oqKtyUU1AFbOOxY4IpC9f0fTLjwYbslUz0Po5BpD1wrA=="], diff --git a/install b/install index b0716d532082..b7e256a52d02 100755 --- a/install +++ b/install @@ -92,6 +92,12 @@ else arch="x64" fi + if [ "$os" = "linux" ] && [ "$arch" = "arm64" ]; then + if [ -n "${TERMUX_VERSION:-}" ] || [ "${PREFIX:-}" = "/data/data/com.termux/files/usr" ] || [ -d /data/data/com.termux/files/usr ]; then + os="android" + fi + fi + if [ "$os" = "darwin" ] && [ "$arch" = "x64" ]; then rosetta_flag=$(sysctl -n sysctl.proc_translated 2>/dev/null || echo 0) if [ "$rosetta_flag" = "1" ]; then @@ -101,7 +107,7 @@ else combo="$os-$arch" case "$combo" in - linux-x64|linux-arm64|darwin-x64|darwin-arm64|windows-x64) + android-arm64|linux-x64|linux-arm64|darwin-x64|darwin-arm64|windows-x64) ;; *) echo -e "${RED}Unsupported OS/Arch: $os/$arch${NC}" @@ -110,7 +116,7 @@ else esac archive_ext=".zip" - if [ "$os" = "linux" ]; then + if [ "$os" = "linux" ] || [ "$os" = "android" ]; then archive_ext=".tar.gz" fi @@ -166,9 +172,13 @@ else fi filename="$APP-$target$archive_ext" + release_repo="${OPENCODE_RELEASE_REPO:-anomalyco/opencode}" + if [ "$os" = "android" ] && [ -z "${OPENCODE_RELEASE_REPO:-}" ]; then + release_repo="wallentx/opencode-termux" + fi - if [ "$os" = "linux" ]; then + if [ "$os" = "linux" ] || [ "$os" = "android" ]; then if ! command -v tar >/dev/null 2>&1; then echo -e "${RED}Error: 'tar' is required but not installed.${NC}" exit 1 @@ -181,8 +191,8 @@ else fi if [ -z "$requested_version" ]; then - url="https://github.com/anomalyco/opencode/releases/latest/download/$filename" - specific_version=$(curl -s https://api.github.com/repos/anomalyco/opencode/releases/latest | sed -n 's/.*"tag_name": *"v\([^"]*\)".*/\1/p') + url="https://github.com/${release_repo}/releases/latest/download/$filename" + specific_version=$(curl -s "https://api.github.com/repos/${release_repo}/releases/latest" | sed -n 's/.*"tag_name": *"v\([^"]*\)".*/\1/p') if [[ $? -ne 0 || -z "$specific_version" ]]; then echo -e "${RED}Failed to fetch version information${NC}" @@ -191,14 +201,14 @@ else else # Strip leading 'v' if present requested_version="${requested_version#v}" - url="https://github.com/anomalyco/opencode/releases/download/v${requested_version}/$filename" + url="https://github.com/${release_repo}/releases/download/v${requested_version}/$filename" specific_version=$requested_version # Verify the release exists before downloading - http_status=$(curl -sI -o /dev/null -w "%{http_code}" "https://github.com/anomalyco/opencode/releases/tag/v${requested_version}") + http_status=$(curl -sI -o /dev/null -w "%{http_code}" "https://github.com/${release_repo}/releases/tag/v${requested_version}") if [ "$http_status" = "404" ]; then echo -e "${RED}Error: Release v${requested_version} not found${NC}" - echo -e "${MUTED}Available releases: https://github.com/anomalyco/opencode/releases${NC}" + echo -e "${MUTED}Available releases: https://github.com/${release_repo}/releases${NC}" exit 1 fi fi @@ -274,7 +284,9 @@ download_with_progress() { exec 4>/dev/null fi - local tmp_dir=${TMPDIR:-/tmp} + local tmp_dir="${TMPDIR:-${PREFIX:+${PREFIX}/tmp}}" + tmp_dir="${tmp_dir:-/tmp}" + mkdir -p "$tmp_dir" local basename="${tmp_dir}/opencode_install_$$" local tracefile="${basename}.trace" @@ -326,7 +338,9 @@ download_with_progress() { download_and_install() { print_message info "\n${MUTED}Installing ${NC}opencode ${MUTED}version: ${NC}$specific_version" - local tmp_dir="${TMPDIR:-/tmp}/opencode_install_$$" + local tmp_root="${TMPDIR:-${PREFIX:+${PREFIX}/tmp}}" + tmp_root="${tmp_root:-/tmp}" + local tmp_dir="${tmp_root}/opencode_install_$$" mkdir -p "$tmp_dir" if [[ "$os" == "windows" ]] || ! [ -t 2 ] || ! download_with_progress "$url" "$tmp_dir/$filename"; then @@ -334,7 +348,7 @@ download_and_install() { curl -# -L -o "$tmp_dir/$filename" "$url" fi - if [ "$os" = "linux" ]; then + if [ "$os" = "linux" ] || [ "$os" = "android" ]; then tar -xzf "$tmp_dir/$filename" -C "$tmp_dir" else unzip -q "$tmp_dir/$filename" -d "$tmp_dir" diff --git a/package.json b/package.json index 8d58ace1b453..e0c8fe1a0d97 100644 --- a/package.json +++ b/package.json @@ -40,9 +40,9 @@ "@octokit/rest": "22.0.0", "@hono/standard-validator": "0.2.0", "@hono/zod-validator": "0.4.2", - "@opentui/core": "0.4.5", - "@opentui/keymap": "0.4.5", - "@opentui/solid": "0.4.5", + "@opentui/core": "0.3.4", + "@opentui/keymap": "0.3.4", + "@opentui/solid": "0.3.4", "@tanstack/solid-virtual": "3.13.32", "@shikijs/stream": "4.2.0", "ulid": "3.0.1", diff --git a/packages/core/package.json b/packages/core/package.json index ce620bc85baf..3f97587a92e0 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -34,6 +34,7 @@ "default": "./src/pty/pty.bun.ts" }, "#fff": { + "android": "./src/filesystem/fff.node.ts", "bun": "./src/filesystem/fff.bun.ts", "node": "./src/filesystem/fff.node.ts", "default": "./src/filesystem/fff.bun.ts" @@ -49,6 +50,7 @@ "@types/semver": "catalog:", "@types/turndown": "5.0.5", "@types/which": "3.0.4", + "@parcel/watcher-android-arm64": "2.5.1", "@parcel/watcher-darwin-arm64": "2.5.1", "@parcel/watcher-darwin-x64": "2.5.1", "@parcel/watcher-linux-arm64-glibc": "2.5.1", diff --git a/packages/core/src/filesystem/watcher.ts b/packages/core/src/filesystem/watcher.ts index c5e20631917e..c8dd01f5780c 100644 --- a/packages/core/src/filesystem/watcher.ts +++ b/packages/core/src/filesystem/watcher.ts @@ -36,6 +36,7 @@ const watcher = lazy((): typeof import("@parcel/watcher") | undefined => { }) function getBackend() { + if (process.platform === "android") return "inotify" if (process.platform === "win32") return "windows" if (process.platform === "darwin") return "fs-events" if (process.platform === "linux") return "inotify" diff --git a/packages/core/src/flag/flag.ts b/packages/core/src/flag/flag.ts index a0eb78a13e2a..591455818c5d 100644 --- a/packages/core/src/flag/flag.ts +++ b/packages/core/src/flag/flag.ts @@ -31,7 +31,8 @@ export const Flag = { OPENCODE_FAKE_VCS: process.env["OPENCODE_FAKE_VCS"], OPENCODE_SERVER_PASSWORD: process.env["OPENCODE_SERVER_PASSWORD"], OPENCODE_SERVER_USERNAME: process.env["OPENCODE_SERVER_USERNAME"], - OPENCODE_DISABLE_FFF: fff === undefined ? process.platform === "win32" : truthy("OPENCODE_DISABLE_FFF"), + OPENCODE_DISABLE_FFF: + fff === undefined ? process.platform === "android" || process.platform === "win32" : truthy("OPENCODE_DISABLE_FFF"), // Experimental OPENCODE_EXPERIMENTAL_FILEWATCHER: Config.boolean("OPENCODE_EXPERIMENTAL_FILEWATCHER").pipe( diff --git a/packages/desktop/scripts/utils.ts b/packages/desktop/scripts/utils.ts index bf728758ed14..9381571e2370 100644 --- a/packages/desktop/scripts/utils.ts +++ b/packages/desktop/scripts/utils.ts @@ -50,6 +50,16 @@ export const CLI_BINARIES: Array<{ rustTarget: string; package: string; os: stri os: "linux", cpu: "arm64", }, + { + rustTarget: "aarch64-linux-android", + ocBinary: "opencode-android-arm64", + assetExt: "tar.gz", + }, + { + rustTarget: "aarch64-linux-android", + ocBinary: "opencode-android-arm64", + assetExt: "tar.gz", + }, ] export const RUST_TARGET = Bun.env.RUST_TARGET diff --git a/packages/opencode/bin/opencode b/packages/opencode/bin/opencode index a7101f42b0fe..880607c434ff 100755 --- a/packages/opencode/bin/opencode +++ b/packages/opencode/bin/opencode @@ -52,6 +52,7 @@ const scriptDir = path.dirname(scriptPath) const cached = path.join(scriptDir, ".opencode") const platformMap = { + android: "android", darwin: "darwin", linux: "linux", win32: "windows", @@ -127,6 +128,8 @@ const names = (() => { const avx2 = supportsAvx2() const baseline = arch === "x64" && !avx2 + if (platform === "android") return [base] + if (platform === "linux") { const musl = (() => { try { diff --git a/packages/opencode/script/build.ts b/packages/opencode/script/build.ts index ce45f770f04e..c7d679645088 100755 --- a/packages/opencode/script/build.ts +++ b/packages/opencode/script/build.ts @@ -22,6 +22,7 @@ const skipInstall = process.argv.includes("--skip-install") const sourcemapsFlag = process.argv.includes("--sourcemaps") const plugin = createSolidTransformPlugin() const skipEmbedWebUi = process.argv.includes("--skip-embed-web-ui") +const targetFlag = process.argv.find((item) => item.startsWith("--target="))?.slice("--target=".length) const createEmbeddedWebUIBundle = async () => { console.log(`Building Web UI to embed in the binary`) @@ -48,14 +49,20 @@ const createEmbeddedWebUIBundle = async () => { } const embeddedFileMap = skipEmbedWebUi ? null : await createEmbeddedWebUIBundle() -const treeSitterWorker = await Bun.file(fileURLToPath(import.meta.resolve("@opentui/core/parser.worker"))).text() +const treeSitterWorker = await Bun.file( + path.join(path.dirname(fileURLToPath(import.meta.resolve("@opentui/core"))), "parser.worker.js"), +).text() const allTargets: { - os: string + os: "android" | "darwin" | "linux" | "win32" arch: "arm64" | "x64" abi?: "musl" avx2?: false }[] = [ + { + os: "android", + arch: "arm64", + }, { os: "linux", arch: "arm64", @@ -113,6 +120,19 @@ const allTargets: { }, ] +function targetName(item: (typeof allTargets)[number]) { + return [ + pkg.name, + // changing to win32 flags npm for some reason + item.os === "win32" ? "windows" : item.os, + item.arch, + item.avx2 === false ? "baseline" : undefined, + item.abi === undefined ? undefined : item.abi, + ] + .filter(Boolean) + .join("-") +} + const targets = singleFlag ? allTargets.filter((item) => { if (item.os !== process.platform || item.arch !== process.arch) { @@ -132,8 +152,17 @@ const targets = singleFlag return true }) + : targetFlag + ? allTargets.filter((item) => { + const name = targetName(item) + return targetFlag === name || targetFlag === name.replace(`${pkg.name}-`, "") + }) : allTargets +if (targetFlag && targets.length === 0) { + throw new Error(`Unknown build target: ${targetFlag}`) +} + await $`rm -rf dist` const binaries: Record = {} @@ -142,17 +171,11 @@ if (!skipInstall) { await $`bun install --os="*" --cpu="*" @parcel/watcher@${pkg.dependencies["@parcel/watcher"]}` await $`bun install --os="*" --cpu="*" @ff-labs/fff-bun@${pkg.dependencies["@ff-labs/fff-bun"]}` } +if (targets.some((item) => item.os === "android")) { + await import("./opentui-android.ts") +} for (const item of targets) { - const name = [ - pkg.name, - // changing to win32 flags npm for some reason - item.os === "win32" ? "windows" : item.os, - item.arch, - item.avx2 === false ? "baseline" : undefined, - item.abi === undefined ? undefined : item.abi, - ] - .filter(Boolean) - .join("-") + const name = targetName(item) console.log(`building ${name}`) await $`mkdir -p dist/${name}/bin` @@ -161,7 +184,7 @@ for (const item of targets) { const bunfsRoot = item.os === "win32" ? "B:/~BUN/root/" : "/$bunfs/root/" await Bun.build({ - conditions: ["bun", "node"], + conditions: item.os === "android" ? ["android", "bun", "node"] : ["bun", "node"], tsconfig: "./tsconfig.json", plugins: [plugin], external: ["node-gyp"], @@ -175,6 +198,7 @@ for (const item of targets) { autoloadTsconfig: true, autoloadPackageJson: true, target: name.replace(pkg.name, "bun") as any, + executablePath: item.os === "android" ? process.env.OPENCODE_ANDROID_BUN : undefined, outfile: `dist/${name}/bin/opencode`, execArgv: [`--user-agent=opencode/${Script.version}`, "--use-system-ca", "--"], windows: {}, @@ -201,6 +225,11 @@ for (const item of targets) { }, }) + if (item.os === "android") { + const androidElf = await import("./patch-android-elf.ts") + await androidElf.patchAndroidElf(`dist/${name}/bin/opencode`) + } + // Smoke test: only run if binary is for current platform if (item.os === process.platform && item.arch === process.arch && !item.abi) { const binaryPath = `dist/${name}/bin/opencode` @@ -234,7 +263,7 @@ for (const item of targets) { if (Script.release) { for (const key of Object.keys(binaries)) { - if (key.includes("linux")) { + if (key.includes("linux") || key.includes("android")) { await $`tar -czf ../../${key}.tar.gz *`.cwd(`dist/${key}/bin`) } else { await $`zip -r ../../${key}.zip *`.cwd(`dist/${key}/bin`) diff --git a/packages/opencode/script/opentui-android.ts b/packages/opencode/script/opentui-android.ts new file mode 100644 index 000000000000..47edfdd195d2 --- /dev/null +++ b/packages/opencode/script/opentui-android.ts @@ -0,0 +1,262 @@ +#!/usr/bin/env bun + +import { $ } from "bun" +import fs from "fs" +import os from "os" +import path from "path" +import pkg from "../package.json" +import top from "../../../package.json" + +const dir = path.resolve(import.meta.dirname, "..") +const root = path.resolve(dir, "../..") +const dep = pkg.dependencies["@opentui/core"] +const ver = dep === "catalog:" ? top.workspaces.catalog["@opentui/core"] : dep + +if (!ver || ver.includes(":")) { + throw new Error(`Cannot resolve @opentui/core version from ${dep}`) +} + +const core = [path.join(dir, "node_modules/@opentui/core"), path.join(root, "node_modules/@opentui/core")].find((item) => + fs.existsSync(item), +) + +if (!core) { + throw new Error("Cannot find installed @opentui/core") +} + +const name = "@opentui/core-android-arm64" +const native = path.join(core, "android-arm64") +const head = JSON.parse((await $`npm view @opentui/core@${ver} gitHead --json`.text()).trim()) + +if (!head) { + throw new Error(`Cannot resolve @opentui/core@${ver} gitHead`) +} + +const tmp = process.env.RUNNER_TEMP ?? process.env.TMPDIR ?? os.tmpdir() +const src = path.join(tmp, `opentui-${ver}-${head.slice(0, 12)}`) +const ndk = androidNdk() +const libc = path.join(tmp, `android-ndk-${ndk.api}.libc`) + +await Bun.write( + libc, + [ + `include_dir=${path.join(ndk.sysroot, "usr/include")}`, + `sys_include_dir=${ndk.sysInclude}`, + `crt_dir=${ndk.libDir}`, + "msvc_lib_dir=", + "kernel32_lib_dir=", + "gcc_dir=", + "", + ].join("\n"), +) + +if (!fs.existsSync(path.join(src, "packages/core/src/zig/build.zig"))) { + fs.mkdirSync(src, { recursive: true }) + await $`git init`.cwd(src) + await $`git remote add origin https://github.com/anomalyco/opentui`.cwd(src) + await $`git fetch --depth 1 origin ${head}`.cwd(src) + await $`git checkout --detach FETCH_HEAD`.cwd(src) +} + +patchOpenTUIBuild(path.join(src, "packages/core/src/zig/build.zig")) + +await $`OPENCODE_ANDROID_NDK_LIBDIR=${ndk.libDir} zig build -Dtarget=aarch64-linux-android -Doptimize=ReleaseFast --libc ${libc}`.cwd( + path.join(src, "packages/core/src/zig"), +) + +const lib = path.join(src, "packages/core/src/zig/lib/aarch64-linux-android/libopentui.so") + +if (!fs.existsSync(lib)) { + throw new Error(`OpenTUI Android build did not produce ${lib}`) +} + +fs.rmSync(native, { recursive: true, force: true }) +fs.mkdirSync(native, { recursive: true }) +fs.copyFileSync(lib, path.join(native, "libopentui.so")) +fs.chmodSync(path.join(native, "libopentui.so"), 0o755) + +await Bun.write( + path.join(native, "index.js"), + `import { fileURLToPath } from "node:url" + +export default fileURLToPath(new URL("./libopentui.so", import.meta.url)) +`, +) +await Bun.write( + path.join(native, "index.bun.js"), + `const module = await import("./libopentui.so", { with: { type: "file" } }) + +export default module.default +`, +) +await Bun.write(path.join(native, "index.d.ts"), "declare const path: string\nexport default path\n") +await Bun.write( + path.join(native, "package.json"), + JSON.stringify( + { + name, + version: ver, + description: `Prebuilt android-arm64 binaries for @opentui/core`, + type: "module", + main: "index.js", + module: "index.js", + types: "index.d.ts", + license: "MIT", + repository: { + type: "git", + url: "https://github.com/anomalyco/opentui", + directory: "packages/core", + }, + keywords: ["prebuild", "prebuilt"], + exports: { + ".": { + bun: "./index.bun.js", + import: "./index.js", + types: "./index.d.ts", + }, + }, + os: ["android"], + cpu: ["arm64"], + }, + null, + 2, + ) + "\n", +) +await Bun.write(path.join(native, "README.md"), `## ${name}\n\n> Prebuilt android-arm64 binaries for \`@opentui/core\`.\n`) + +const license = path.join(src, "LICENSE") +if (fs.existsSync(license)) { + fs.copyFileSync(license, path.join(native, "LICENSE")) +} + +const marker = "@opentui/core-android-arm64" +const block = ` // ${marker} + if (process.platform === "android") { + if (process.arch === "arm64") return await import("./android-arm64/index.bun.js") + } + +` +let patched = 0 + +for (const file of fs.readdirSync(core)) { + if (!file.endsWith(".js")) continue + + const target = path.join(core, file) + const text = fs.readFileSync(target, "utf8") + + if (text.includes(marker) || text.includes('process.platform === "android"')) continue + if (!text.includes('@opentui/core-linux-arm64')) continue + + const next = text.replace(' if (process.platform === "linux") {\n', block + ' if (process.platform === "linux") {\n') + if (next === text) continue + + fs.writeFileSync(target, next) + patched++ +} + +if (patched === 0) { + throw new Error("Did not patch @opentui/core native loader for Android") +} + +function androidNdk() { + const roots = [ + process.env.ANDROID_NDK_ROOT, + process.env.ANDROID_NDK_HOME, + process.env.NDK_ROOT, + process.env.ANDROID_HOME ? path.join(process.env.ANDROID_HOME, "ndk") : undefined, + process.env.ANDROID_SDK_ROOT ? path.join(process.env.ANDROID_SDK_ROOT, "ndk") : undefined, + "/usr/local/lib/android/sdk/ndk", + ].filter((item): item is string => item !== undefined && item.length > 0) + + const ndkRoots = roots.flatMap((item) => { + if (!fs.existsSync(item)) return [] + if (fs.existsSync(path.join(item, "toolchains/llvm/prebuilt"))) return [item] + return fs + .readdirSync(item, { withFileTypes: true }) + .filter((entry) => entry.isDirectory()) + .map((entry) => path.join(item, entry.name)) + .sort() + .reverse() + }) + const sysroot = ndkRoots + .flatMap((item) => { + const prebuilt = path.join(item, "toolchains/llvm/prebuilt") + if (!fs.existsSync(prebuilt)) return [] + return fs + .readdirSync(prebuilt, { withFileTypes: true }) + .filter((entry) => entry.isDirectory()) + .map((entry) => path.join(prebuilt, entry.name, "sysroot")) + }) + .find( + (item) => + fs.existsSync(path.join(item, "usr/include")) && + fs.existsSync(path.join(item, "usr/lib/aarch64-linux-android")), + ) + + if (!sysroot) { + throw new Error("Cannot find Android NDK sysroot. Set ANDROID_NDK_ROOT or ANDROID_NDK_HOME.") + } + + const libRoot = path.join(sysroot, "usr/lib/aarch64-linux-android") + const api = androidApi(libRoot) + const libDir = path.join(libRoot, api) + const include = path.join(sysroot, "usr/include") + const archInclude = path.join(include, "aarch64-linux-android") + + return { + api, + libDir, + sysroot, + sysInclude: fs.existsSync(archInclude) ? archInclude : include, + } +} + +function androidApi(libRoot: string) { + const requested = process.env.ANDROID_API_LEVEL ?? process.env.ANDROID_NDK_API ?? "24" + + if (fs.existsSync(path.join(libRoot, requested, "libdl.so"))) { + return requested + } + + const fallback = fs + .readdirSync(libRoot, { withFileTypes: true }) + .filter((entry) => entry.isDirectory() && /^\d+$/.test(entry.name)) + .map((entry) => entry.name) + .sort((a, b) => Number(a) - Number(b)) + .findLast((item) => fs.existsSync(path.join(libRoot, item, "libdl.so"))) + + if (!fallback) { + throw new Error(`Cannot find Android NDK libraries under ${libRoot}`) + } + + return fallback +} + +function patchOpenTUIBuild(file: string) { + const marker = "OPENCODE_ANDROID_NDK_LIBDIR" + const text = fs.readFileSync(file, "utf8") + + if (text.includes(marker)) return + + const before = ` .linux => { + artifact.linkSystemLibrary("dl"); + artifact.linkSystemLibrary("pthread"); + },` + const after = ` .linux => { + if (target.result.abi == .android) { + if (b.graph.env_map.get("${marker}")) |lib_path| { + artifact.addLibraryPath(.{ .cwd_relative = lib_path }); + } + artifact.linkSystemLibrary("dl"); + } else { + artifact.linkSystemLibrary("dl"); + artifact.linkSystemLibrary("pthread"); + } + },` + + if (!text.includes(before)) { + throw new Error("Cannot patch OpenTUI Android system library handling") + } + + fs.writeFileSync(file, text.replace(before, after)) +} diff --git a/packages/opencode/script/patch-android-elf.ts b/packages/opencode/script/patch-android-elf.ts new file mode 100644 index 000000000000..29665e5bab49 --- /dev/null +++ b/packages/opencode/script/patch-android-elf.ts @@ -0,0 +1,421 @@ +#!/usr/bin/env bun + +import { readFile, writeFile } from "node:fs/promises" + +const ET_DYN = 3 +const EM_AARCH64 = 183 +const PT_LOAD = 1 +const PT_DYNAMIC = 2 +const PF_W = 2 +const SHT_NOBITS = 8 +const SHF_ALLOC = 2 +const DT_NULL = 0 +const DT_RELA = 7 +const DT_RELASZ = 8 +const DT_RELAENT = 9 +const R_AARCH64_RELATIVE = 1027 + +type LoadSegment = { + offset: number + vaddr: number + filesz: number + flags: number +} + +type DynamicSegment = { + offset: number + filesz: number +} + +type DynamicEntry = { + tag: number + value: number + valueOffset: number +} + +type Section = { + name: string + type: number + flags: number + addr: number + offset: number + size: number +} + +type Elf = { + view: DataView + loadSegments: LoadSegment[] + dynamicSegment: DynamicSegment + sections: Section[] +} + +type PointerSlot = { + offset: number + vaddr: number +} + +export async function patchAndroidElf(file: string) { + const data = new Uint8Array(await readFile(file)) + const elf = parseElf(data) + const dynamic = parseDynamic(elf) + const rela = requireDynamic(dynamic, DT_RELA, "DT_RELA") + const relasz = requireDynamic(dynamic, DT_RELASZ, "DT_RELASZ") + const relaent = dynamic.find((item) => item.tag === DT_RELAENT)?.value ?? 24 + + if (relaent < 24) { + throw new Error(`Unsupported DT_RELAENT ${relaent}`) + } + if (relasz.value % relaent !== 0) { + throw new Error(`DT_RELASZ ${relasz.value} is not divisible by DT_RELAENT ${relaent}`) + } + + const relaOffset = vaddrToOffset(elf.loadSegments, rela.value, relasz.value) + const bun = requireBunSection(elf.sections) + const slot = findBunPointerSlot(data, elf.loadSegments, bun, { offset: relaOffset, size: relasz.value }) + + if (hasPayloadRelocation(elf.view, relaOffset, relasz.value, relaent, slot.vaddr, bun.addr)) { + console.log(`Android ELF already patches Bun standalone payload pointer in ${file}`) + return + } + + const nextSize = relasz.value + relaent + const nextRelaOffset = requireWritablePadding(data, elf, slot.offset, nextSize, { offset: relaOffset, size: relasz.value }) + const nextRelaVaddr = offsetToVaddr(elf.loadSegments, nextRelaOffset, nextSize) + data.set(data.slice(relaOffset, relaOffset + relasz.value), nextRelaOffset) + + const nextEntry = nextRelaOffset + relasz.value + writeU64(elf.view, nextEntry, slot.vaddr) + writeU64(elf.view, nextEntry + 8, R_AARCH64_RELATIVE) + writeI64(elf.view, nextEntry + 16, bun.addr) + writeU64(elf.view, rela.valueOffset, nextRelaVaddr) + writeU64(elf.view, relasz.valueOffset, nextSize) + + await writeFile(file, data) + console.log( + `Patched Android ELF ${file}: relocated Bun payload pointer ${hex(slot.vaddr)} -> ${hex(bun.addr)}`, + ) +} + +function parseElf(data: Uint8Array): Elf { + const view = new DataView(data.buffer, data.byteOffset, data.byteLength) + if ( + data.byteLength < 64 || + data[0] !== 0x7f || + data[1] !== 0x45 || + data[2] !== 0x4c || + data[3] !== 0x46 + ) { + throw new Error("Expected an ELF file") + } + if (data[4] !== 2 || data[5] !== 1) { + throw new Error("Expected a 64-bit little-endian ELF file") + } + if (readU16(view, 0x10) !== ET_DYN || readU16(view, 0x12) !== EM_AARCH64) { + throw new Error("Expected an AArch64 PIE ELF file") + } + + const programHeaderOffset = readU64(view, 0x20, "e_phoff") + const sectionHeaderOffset = readU64(view, 0x28, "e_shoff") + const programHeaderEntrySize = readU16(view, 0x36) + const programHeaderCount = readU16(view, 0x38) + const sectionHeaderEntrySize = readU16(view, 0x3a) + const sectionHeaderCount = readU16(view, 0x3c) + const sectionNameIndex = readU16(view, 0x3e) + + const loadSegments: LoadSegment[] = [] + let dynamicSegment: DynamicSegment | undefined + + for (let i = 0; i < programHeaderCount; i += 1) { + const offset = programHeaderOffset + i * programHeaderEntrySize + const type = readU32(view, offset) + const flags = readU32(view, offset + 4) + if (type === PT_LOAD) { + loadSegments.push({ + flags, + offset: readU64(view, offset + 8, "p_offset"), + vaddr: readU64(view, offset + 16, "p_vaddr"), + filesz: readU64(view, offset + 32, "p_filesz"), + }) + } + if (type === PT_DYNAMIC) { + dynamicSegment = { + offset: readU64(view, offset + 8, "p_offset"), + filesz: readU64(view, offset + 32, "p_filesz"), + } + } + } + + if (!dynamicSegment) { + throw new Error("ELF file has no PT_DYNAMIC segment") + } + + return { + view, + loadSegments, + dynamicSegment, + sections: parseSections(data, view, sectionHeaderOffset, sectionHeaderEntrySize, sectionHeaderCount, sectionNameIndex), + } +} + +function parseSections( + data: Uint8Array, + view: DataView, + sectionHeaderOffset: number, + sectionHeaderEntrySize: number, + sectionHeaderCount: number, + sectionNameIndex: number, +) { + if (!sectionHeaderOffset || !sectionHeaderCount) { + throw new Error("ELF file has no section headers; cannot find Bun payload section") + } + if (sectionNameIndex >= sectionHeaderCount) { + throw new Error(`Invalid section string table index ${sectionNameIndex}`) + } + + const stringHeader = sectionHeaderOffset + sectionNameIndex * sectionHeaderEntrySize + const stringOffset = readU64(view, stringHeader + 24, "sh_offset") + const sections: Section[] = [] + + for (let i = 0; i < sectionHeaderCount; i += 1) { + const offset = sectionHeaderOffset + i * sectionHeaderEntrySize + sections.push({ + name: readString(data, stringOffset + readU32(view, offset)), + type: readU32(view, offset + 4), + flags: readU64(view, offset + 8, "sh_flags"), + addr: readU64(view, offset + 16, "sh_addr"), + offset: readU64(view, offset + 24, "sh_offset"), + size: readU64(view, offset + 32, "sh_size"), + }) + } + + return sections +} + +function parseDynamic(elf: Elf) { + const result: DynamicEntry[] = [] + for (let offset = elf.dynamicSegment.offset; offset < elf.dynamicSegment.offset + elf.dynamicSegment.filesz; offset += 16) { + const tag = readU64(elf.view, offset, "d_tag") + result.push({ + tag, + value: readU64(elf.view, offset + 8, "d_val"), + valueOffset: offset + 8, + }) + if (tag === DT_NULL) break + } + return result +} + +function requireDynamic(dynamic: DynamicEntry[], tag: number, name: string) { + const entry = dynamic.find((item) => item.tag === tag) + if (!entry) { + throw new Error(`ELF dynamic section has no ${name}`) + } + return entry +} + +function requireBunSection(sections: Section[]) { + const matches = sections.filter((item) => item.name === ".bun" && item.type !== SHT_NOBITS && item.size > 0) + if (matches.length !== 1) { + throw new Error(`Expected exactly one .bun section, found ${matches.length}`) + } + return matches[0] +} + +function findBunPointerSlot( + data: Uint8Array, + loadSegments: LoadSegment[], + bun: Section, + rela: { offset: number; size: number }, +): PointerSlot { + const needle = u64Bytes(bun.addr) + const excluded = [ + { offset: bun.offset, size: bun.size }, + rela, + ] + const candidates = loadSegments + .filter((item) => (item.flags & PF_W) !== 0) + .flatMap((segment) => { + const result: PointerSlot[] = [] + const end = segment.offset + segment.filesz - needle.length + for (let offset = align(segment.offset, 8); offset <= end; offset += 8) { + if (excluded.some((item) => contains(item.offset, item.size, offset, needle.length))) continue + if (!matches(data, offset, needle)) continue + result.push({ + offset, + vaddr: offsetToVaddr(loadSegments, offset, needle.length), + }) + } + return result + }) + + if (candidates.length !== 1) { + throw new Error( + `Expected exactly one writable Bun payload pointer slot for ${hex(bun.addr)}, found ${candidates.length}`, + ) + } + return candidates[0] +} + +function hasPayloadRelocation( + view: DataView, + relaOffset: number, + relasz: number, + relaent: number, + slotVaddr: number, + payloadVaddr: number, +) { + for (let offset = relaOffset; offset < relaOffset + relasz; offset += relaent) { + if ( + readU64(view, offset, "r_offset") === slotVaddr && + readU64(view, offset + 8, "r_info") % 0x100000000 === R_AARCH64_RELATIVE && + readI64(view, offset + 16, "r_addend") === payloadVaddr + ) { + return true + } + } + return false +} + +function requireWritablePadding( + data: Uint8Array, + elf: Elf, + slotOffset: number, + size: number, + rela: { offset: number; size: number }, +) { + const occupied = [ + ...elf.sections + .filter((item) => (item.flags & SHF_ALLOC) !== 0 && item.type !== SHT_NOBITS && item.size > 0) + .map((item) => ({ offset: item.offset, size: item.size })), + { offset: slotOffset, size: 8 }, + rela, + ] + + const offset = findWritablePadding(data, elf.loadSegments, occupied, size, slotOffset + 8) + if (offset !== undefined) return offset + + const fallback = findWritablePadding(data, elf.loadSegments, occupied, size, 0) + if (fallback !== undefined) return fallback + + throw new Error(`Could not find ${size} bytes of writable zero padding for patched RELA table`) +} + +function findWritablePadding( + data: Uint8Array, + loadSegments: LoadSegment[], + occupied: Array<{ offset: number; size: number }>, + size: number, + minimumOffset: number, +) { + for (const segment of loadSegments.filter((item) => (item.flags & PF_W) !== 0)) { + const segmentStart = Math.max(segment.offset, minimumOffset) + const segmentEnd = segment.offset + segment.filesz + const ranges = occupied + .map((item) => ({ start: item.offset, end: item.offset + item.size })) + .filter((item) => item.start < segmentEnd && item.end > segmentStart) + .sort((a, b) => a.start - b.start) + let cursor = segmentStart + + for (const range of ranges) { + const offset = align(cursor, 8) + if (offset + size <= range.start && isZero(data, offset, size)) return offset + cursor = Math.max(cursor, range.end) + } + + const offset = align(cursor, 8) + if (offset + size <= segmentEnd && isZero(data, offset, size)) return offset + } +} + +function vaddrToOffset(loadSegments: LoadSegment[], vaddr: number, size: number) { + const segment = loadSegments.find((item) => vaddr >= item.vaddr && vaddr + size <= item.vaddr + item.filesz) + if (!segment) { + throw new Error(`Could not map virtual address ${hex(vaddr)} to a file offset`) + } + return segment.offset + vaddr - segment.vaddr +} + +function offsetToVaddr(loadSegments: LoadSegment[], offset: number, size: number) { + const segment = loadSegments.find((item) => offset >= item.offset && offset + size <= item.offset + item.filesz) + if (!segment) { + throw new Error(`Could not map file offset ${hex(offset)} to a virtual address`) + } + return segment.vaddr + offset - segment.offset +} + +function readU16(view: DataView, offset: number) { + return view.getUint16(offset, true) +} + +function readU32(view: DataView, offset: number) { + return view.getUint32(offset, true) +} + +function readU64(view: DataView, offset: number, label: string) { + const value = view.getBigUint64(offset, true) + if (value > BigInt(Number.MAX_SAFE_INTEGER)) { + throw new Error(`${label} ${value} is too large to handle safely`) + } + return Number(value) +} + +function readI64(view: DataView, offset: number, label: string) { + const value = view.getBigInt64(offset, true) + if (value > BigInt(Number.MAX_SAFE_INTEGER) || value < BigInt(Number.MIN_SAFE_INTEGER)) { + throw new Error(`${label} ${value} is too large to handle safely`) + } + return Number(value) +} + +function writeU64(view: DataView, offset: number, value: number) { + view.setBigUint64(offset, BigInt(value), true) +} + +function writeI64(view: DataView, offset: number, value: number) { + view.setBigInt64(offset, BigInt(value), true) +} + +function readString(data: Uint8Array, offset: number) { + const end = data.indexOf(0, offset) + return new TextDecoder().decode(data.slice(offset, end === -1 ? data.length : end)) +} + +function u64Bytes(value: number) { + const data = new Uint8Array(8) + writeU64(new DataView(data.buffer), 0, value) + return data +} + +function align(value: number, amount: number) { + return Math.ceil(value / amount) * amount +} + +function matches(data: Uint8Array, offset: number, needle: Uint8Array) { + for (let i = 0; i < needle.length; i += 1) { + if (data[offset + i] !== needle[i]) return false + } + return true +} + +function contains(offset: number, size: number, targetOffset: number, targetSize: number) { + return targetOffset < offset + size && targetOffset + targetSize > offset +} + +function isZero(data: Uint8Array, offset: number, size: number) { + for (let i = 0; i < size; i += 1) { + if (data[offset + i] !== 0) return false + } + return true +} + +function hex(value: number) { + return `0x${value.toString(16)}` +} + +if (import.meta.main) { + const file = Bun.argv[2] + if (!file) { + throw new Error("Usage: patch-android-elf.ts ") + } + await patchAndroidElf(file) +} diff --git a/packages/opencode/script/postinstall.mjs b/packages/opencode/script/postinstall.mjs index fa303b746b8c..34a9d5aa0125 100644 --- a/packages/opencode/script/postinstall.mjs +++ b/packages/opencode/script/postinstall.mjs @@ -12,6 +12,7 @@ const require = createRequire(import.meta.url) const packageJson = JSON.parse(fs.readFileSync(path.join(__dirname, "package.json"), "utf8")) const platformMap = { + android: "android", darwin: "darwin", linux: "linux", win32: "windows", @@ -96,6 +97,8 @@ function isMusl() { function packageNames() { const baseline = arch === "x64" && !supportsAvx2() + if (platform === "android") return [base] + if (platform === "linux") { if (isMusl()) { if (arch === "x64") diff --git a/packages/opencode/script/publish.ts b/packages/opencode/script/publish.ts index ac1cafff56f4..7fa73189cb57 100755 --- a/packages/opencode/script/publish.ts +++ b/packages/opencode/script/publish.ts @@ -63,7 +63,7 @@ await Bun.file(`./dist/${pkg.name}/package.json`).write( }, version: version, license: pkg.license, - os: ["darwin", "linux", "win32"], + os: ["android", "darwin", "linux", "win32"], cpu: ["arm64", "x64"], optionalDependencies: binaries, }, diff --git a/packages/opencode/src/installation/index.ts b/packages/opencode/src/installation/index.ts index 4300220255b3..e9fc351985fd 100644 --- a/packages/opencode/src/installation/index.ts +++ b/packages/opencode/src/installation/index.ts @@ -83,6 +83,23 @@ export class Service extends Context.Service()("@opencode/In export const use = serviceUse(Service) +const UPSTREAM_RELEASE_REPO = "anomalyco/opencode" +const TERMUX_RELEASE_REPO = "wallentx/opencode-termux" + +function releaseRepo() { + if (process.env.OPENCODE_RELEASE_REPO) return process.env.OPENCODE_RELEASE_REPO + if (process.platform === "android" || InstallationVersion.endsWith("-termux")) return TERMUX_RELEASE_REPO + return UPSTREAM_RELEASE_REPO +} + +function installScriptUrl(target: string) { + if (process.env.OPENCODE_INSTALL_URL) return process.env.OPENCODE_INSTALL_URL + if (releaseRepo() === TERMUX_RELEASE_REPO) { + return `https://raw.githubusercontent.com/${TERMUX_RELEASE_REPO}/v${target}/install` + } + return "https://opencode.ai/install" +} + const layer: Layer.Layer = Layer.effect( Service, Effect.gen(function* () { @@ -144,14 +161,14 @@ const layer: Layer.Layer { }), ) + const forkReleaseCalls: string[] = [] + testEffect( + testLayer((request) => { + forkReleaseCalls.push(request.url) + return jsonResponse({ tag_name: "v1.17.15-termux" }) + }), + ).effect("reads configured fork release versions", () => + Effect.gen(function* () { + const original = process.env.OPENCODE_RELEASE_REPO + process.env.OPENCODE_RELEASE_REPO = "wallentx/opencode-termux" + try { + const result = yield* Installation.use.latest("curl") + expect(result).toBe("1.17.15-termux") + expect(forkReleaseCalls).toContain("https://api.github.com/repos/wallentx/opencode-termux/releases/latest") + } finally { + if (original === undefined) delete process.env.OPENCODE_RELEASE_REPO + else process.env.OPENCODE_RELEASE_REPO = original + } + }), + ) + const npmCalls: string[] = [] testEffect( testLayer((request) => { @@ -236,5 +257,36 @@ describe("installation", () => { yield* Installation.use.upgrade("curl", "9.9.9") }), ) + + const installCalls: string[] = [] + testEffect( + testLayer( + (request) => { + installCalls.push(request.url) + return new Response("install script", { status: 200 }) + }, + (cmd, args) => { + if (cmd === "bash" && args[0] === "--version") return "GNU bash" + if (cmd === "bash") return "ok" + return "" + }, + ), + ).effect("uses configured install URL for curl upgrade", () => + Effect.gen(function* () { + const originalUrl = process.env.OPENCODE_INSTALL_URL + const originalRepo = process.env.OPENCODE_RELEASE_REPO + process.env.OPENCODE_INSTALL_URL = "https://example.test/install" + process.env.OPENCODE_RELEASE_REPO = "wallentx/opencode-termux" + try { + yield* Installation.use.upgrade("curl", "1.17.15-termux") + expect(installCalls).toContain("https://example.test/install") + } finally { + if (originalUrl === undefined) delete process.env.OPENCODE_INSTALL_URL + else process.env.OPENCODE_INSTALL_URL = originalUrl + if (originalRepo === undefined) delete process.env.OPENCODE_RELEASE_REPO + else process.env.OPENCODE_RELEASE_REPO = originalRepo + } + }), + ) }) }) diff --git a/packages/plugin/package.json b/packages/plugin/package.json index a822e45a2e14..1ba93f34dbf4 100644 --- a/packages/plugin/package.json +++ b/packages/plugin/package.json @@ -27,9 +27,9 @@ "zod": "catalog:" }, "peerDependencies": { - "@opentui/core": ">=0.4.5", - "@opentui/keymap": ">=0.4.5", - "@opentui/solid": ">=0.4.5" + "@opentui/core": ">=0.3.4", + "@opentui/keymap": ">=0.3.4", + "@opentui/solid": ">=0.3.4" }, "peerDependenciesMeta": { "@opentui/core": {