Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
5a9f4e5
fix: ensure checkUpgrade sets `init:` (#5040)
code-yeongyu Dec 4, 2025
2e63fed
chore: format code
actions-user Dec 4, 2025
6b80fff
ci: use blacksmith runners in review workflow too (#5042)
wsx99outlook Dec 4, 2025
bcf740f
zen: make session provider sticky
Dec 4, 2025
088ebb9
ci: only maintainer can trigger
rekram1-node Dec 4, 2025
45bc7a6
ci: cleaner
rekram1-node Dec 4, 2025
efbb973
ignore: update download stats 2025-12-04
actions-user Dec 4, 2025
1d6e3d4
fix(tui): cursor color
adamdotdevin Dec 4, 2025
27c99b4
Preserve prompt input when creating new session (#4993)
DanielFGray Dec 4, 2025
350a322
fix: model not being passed correctly to tool
rekram1-node Dec 4, 2025
a607f33
tweak: bash tool messages regarding timeouts and truncation more clea…
shantur Dec 4, 2025
a32cf70
tui: fix /new slash command being persisted in prompt input
rekram1-node Dec 4, 2025
7f86fe3
add optional prompt Input to Github Action (#4828)
dbpolito Dec 4, 2025
8a0c86c
bump: builtin plugin versions
rekram1-node Dec 4, 2025
b9c1f10
feat: Add SAP AI Core provider support (#5023)
jerome-benoit Dec 4, 2025
668d5a7
core: ensure model npm package falls back to dev models config when n…
thdxr Dec 4, 2025
48dc520
docs: add CodeCompanion.nvim integration instructions (#5079)
casonadams Dec 4, 2025
d469d7d
tweak: bash tool description re commit stuff
rekram1-node Dec 4, 2025
b1202ac
core: add test for custom model npm package inheritance
thdxr Dec 4, 2025
d763c11
feat(desktop): terminal pane (#5081)
adamdotdevin Dec 4, 2025
f9dcd97
Revert "feat(desktop): terminal pane (#5081)"
rekram1-node Dec 4, 2025
49800a0
release: v1.0.133
Dec 4, 2025
d82bd43
Update Nix flake.lock and hashes
actions-user Dec 4, 2025
09f522f
Reapply "feat(desktop): terminal pane (#5081)"
adamdotdevin Dec 5, 2025
2bc0b46
chore: format code
actions-user Dec 5, 2025
392d469
Update Nix flake.lock and hashes
actions-user Dec 5, 2025
4380727
zen: fix byok
Dec 5, 2025
71e578e
ignore: fix provider credentials query for BYOK
thdxr Dec 5, 2025
095a1ab
docs: llama.cpp docs: `limit` moved under model (#5089)
opencode-agent[bot] Dec 5, 2025
bef4fdf
fix: add getModel to SAP AI Core provider for correct SDK initializat…
jerome-benoit Dec 5, 2025
856e1e2
fix pty builds
thdxr Dec 5, 2025
c264e9c
fix
thdxr Dec 5, 2025
95168b8
increase default scroll speed
thdxr Dec 5, 2025
78046da
ci: review
rekram1-node Dec 5, 2025
767a81f
fix: ensure that vcs is still set to git even if no commits in repo
rekram1-node Dec 5, 2025
5013d64
ignore: rm slop commnand (only for opencode repo this isnt shipping)
rekram1-node Dec 5, 2025
332ebe3
chore: format code
actions-user Dec 5, 2025
e53580c
ignore: cmd tweak
rekram1-node Dec 5, 2025
03324d4
tui: wrap dialog option descriptions (#5083)
ry2009 Dec 5, 2025
a4e5a72
ci: keybinds
rekram1-node Dec 5, 2025
f950de9
fix: ensure projects that go from having no commits to having commits…
rekram1-node Dec 5, 2025
05d2f70
ignore: tweak
rekram1-node Dec 5, 2025
5f7ab83
ignore: update download stats 2025-12-05
actions-user Dec 5, 2025
53ed1c9
Zen: add codex max
Dec 5, 2025
60388f7
do not use required pty for local dev
thdxr Dec 5, 2025
52db0f2
fix: #5064 ProviderInitError github-copilot-enterprise (#5123)
justmejulian Dec 5, 2025
ada7cca
feat(theme): Vercel (#5119)
anthonyshew Dec 5, 2025
87a791f
fix(desktop): new session not selecting tab
adamdotdevin Dec 5, 2025
cfbaf81
fix(desktop): clone pty session on reconnect
adamdotdevin Dec 5, 2025
864c098
add experimental.open_telemetry config option to enable OTEL spans (#…
noamzbr Dec 5, 2025
85974e9
ignore: regen sdk
rekram1-node Dec 5, 2025
81ee2d2
fix(desktop): prompting
adamdotdevin Dec 5, 2025
6e6bd1e
fix(desktop): terminal cursor position
adamdotdevin Dec 5, 2025
40eb8b9
feat: add max steps for supervisor and sub-agents (#4062)
nwthomas Dec 5, 2025
ba417d8
tweak: bash tool improve output metadata for agent consumption, fix s…
shantur Dec 5, 2025
cd6bfb3
OpenCode Desktop app (#5044)
Brendonovich Dec 5, 2025
dfe3fb8
Update Nix flake.lock and hashes
actions-user Dec 5, 2025
73258c6
release: v1.0.134
Dec 5, 2025
d682240
sync: merge upstream v1.0.134 into integration
opencode-agent[bot] Dec 5, 2025
9e2f689
sync: record last synced tag v1.0.134
opencode-agent[bot] Dec 5, 2025
4694ed0
chore: format code
actions-user Dec 5, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/last-synced-tag
Original file line number Diff line number Diff line change
@@ -1 +1 @@
v1.0.133
v1.0.134
4 changes: 2 additions & 2 deletions .github/workflows/review.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ jobs:
OPENCODE_PERMISSION: '{ "bash": { "gh*": "allow", "gh pr review*": "deny", "*": "deny" } }'
run: |
PR_BODY=$(jq -r .body pr_data.json)
opencode run -m anthropic/claude-sonnet-4-5 "A new pull request has been created: '${{ steps.pr-details.outputs.title }}'
opencode run -m anthropic/claude-opus-4-5 "A new pull request has been created: '${{ steps.pr-details.outputs.title }}'

<pr-number>
${{ steps.pr-number.outputs.number }}
Expand All @@ -75,4 +75,4 @@ jobs:
-f 'body=[summary of issue]' -f 'commit_id=${{ steps.pr-details.outputs.sha }}' -f 'path=[path-to-file]' -F \"line=[line]\" -f 'side=RIGHT'
\`\`\`

Only create comments for actual violations. If the code follows all guidelines, don't run any gh commands."
Only create comments for actual violations. If the code follows all guidelines, comment on the issue using gh cli: 'lgtm' AND NOTHING ELSE!!!!."
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,4 @@ refs
Session.vim
opencode.json
a.out
target
15 changes: 15 additions & 0 deletions .opencode/command/rmslop.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
description: Remove AI code slop
---

Check the diff against dev, and remove all AI generated slop introduced in this branch.

This includes:

- Extra comments that a human wouldn't add or is inconsistent with the rest of the file
- Extra defensive checks or try/catch blocks that are abnormal for that area of the codebase (especially if called by trusted / validated codepaths)
- Casts to any to get around type issues
- Any other style that is inconsistent with the file
- Unnecessary emoji usage

Report at the end with only a 1-3 sentence summary of what you changed
1 change: 1 addition & 0 deletions STATS.md
Original file line number Diff line number Diff line change
Expand Up @@ -160,3 +160,4 @@
| 2025-12-02 | 939,250 (+13,352) | 890,919 (+14,419) | 1,830,169 (+27,771) |
| 2025-12-03 | 952,249 (+12,999) | 903,713 (+12,794) | 1,855,962 (+25,793) |
| 2025-12-04 | 965,611 (+13,362) | 916,471 (+12,758) | 1,882,082 (+26,120) |
| 2025-12-05 | 977,996 (+12,385) | 930,616 (+14,145) | 1,908,612 (+26,530) |
701 changes: 537 additions & 164 deletions bun.lock

Large diffs are not rendered by default.

6 changes: 3 additions & 3 deletions flake.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion nix/hashes.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
"nodeModules": "sha256-ZGKC7h4ScHDzVYj8qb1lN/weZhyZivPS8kpNAZvgO0I="
"nodeModules": "sha256-Nem37Y/1kAA2vNOxDsMwE2qfkgneIKPg85JOv8Z0oug="
}
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
"@tailwindcss/vite": "4.1.11",
"diff": "8.0.2",
"ai": "5.0.97",
"hono": "4.7.10",
"hono": "4.10.7",
"hono-openapi": "1.1.1",
"fuzzysort": "3.1.0",
"luxon": "3.6.1",
Expand Down
2 changes: 1 addition & 1 deletion packages/console/app/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@opencode-ai/console-app",
"version": "1.0.133",
"version": "1.0.134",
"type": "module",
"scripts": {
"typecheck": "tsgo --noEmit",
Expand Down
29 changes: 23 additions & 6 deletions packages/console/app/src/routes/zen/util/handler.ts
Original file line number Diff line number Diff line change
Expand Up @@ -73,8 +73,16 @@ export async function handler(
const stickyProvider = await stickyTracker?.get()

const retriableRequest = async (retry: RetryOptions = { excludeProviders: [], retryCount: 0 }) => {
const providerInfo = selectProvider(zenData, modelInfo, sessionId, isTrial ?? false, retry, stickyProvider)
const authInfo = await authenticate(modelInfo, providerInfo)
const authInfo = await authenticate(modelInfo)
const providerInfo = selectProvider(
zenData,
authInfo,
modelInfo,
sessionId,
isTrial ?? false,
retry,
stickyProvider,
)
validateBilling(authInfo, modelInfo)
validateModelSettings(authInfo)
updateProviderKey(authInfo, providerInfo)
Expand Down Expand Up @@ -291,13 +299,18 @@ export async function handler(

function selectProvider(
zenData: ZenData,
authInfo: AuthInfo,
modelInfo: ModelInfo,
sessionId: string,
isTrial: boolean,
retry: RetryOptions,
stickyProvider: string | undefined,
) {
const provider = (() => {
if (authInfo?.provider?.credentials) {
return modelInfo.providers.find((provider) => provider.id === modelInfo.byokProvider)
}

if (isTrial) {
return modelInfo.providers.find((provider) => provider.id === modelInfo.trial!.provider)
}
Expand Down Expand Up @@ -342,7 +355,7 @@ export async function handler(
}
}

async function authenticate(modelInfo: ModelInfo, providerInfo: ProviderInfo) {
async function authenticate(modelInfo: ModelInfo) {
const apiKey = opts.parseApiKey(input.request.headers)
if (!apiKey || apiKey === "public") {
if (modelInfo.allowAnonymous) return
Expand Down Expand Up @@ -380,7 +393,12 @@ export async function handler(
.leftJoin(ModelTable, and(eq(ModelTable.workspaceID, KeyTable.workspaceID), eq(ModelTable.model, modelInfo.id)))
.leftJoin(
ProviderTable,
and(eq(ProviderTable.workspaceID, KeyTable.workspaceID), eq(ProviderTable.provider, providerInfo.id)),
modelInfo.byokProvider
? and(
eq(ProviderTable.workspaceID, KeyTable.workspaceID),
eq(ProviderTable.provider, modelInfo.byokProvider),
)
: sql`false`,
)
.where(and(eq(KeyTable.key, apiKey), isNull(KeyTable.timeDeleted)))
.then((rows) => rows[0]),
Expand Down Expand Up @@ -457,8 +475,7 @@ export async function handler(
}

function updateProviderKey(authInfo: AuthInfo, providerInfo: ProviderInfo) {
if (!authInfo) return
if (!authInfo.provider?.credentials) return
if (!authInfo?.provider?.credentials) return
providerInfo.apiKey = authInfo.provider.credentials
}

Expand Down
2 changes: 1 addition & 1 deletion packages/console/core/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"$schema": "https://json.schemastore.org/package.json",
"name": "@opencode-ai/console-core",
"version": "1.0.133",
"version": "1.0.134",
"private": true,
"type": "module",
"dependencies": {
Expand Down
1 change: 1 addition & 0 deletions packages/console/core/src/model.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ export namespace ZenData {
cost: ModelCostSchema,
cost200K: ModelCostSchema.optional(),
allowAnonymous: z.boolean().optional(),
byokProvider: z.enum(["openai", "anthropic", "google"]).optional(),
stickyProvider: z.boolean().optional(),
trial: z
.object({
Expand Down
2 changes: 1 addition & 1 deletion packages/console/function/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@opencode-ai/console-function",
"version": "1.0.133",
"version": "1.0.134",
"$schema": "https://json.schemastore.org/package.json",
"private": true,
"type": "module",
Expand Down
2 changes: 1 addition & 1 deletion packages/console/mail/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@opencode-ai/console-mail",
"version": "1.0.133",
"version": "1.0.134",
"dependencies": {
"@jsx-email/all": "2.2.3",
"@jsx-email/cli": "1.4.3",
Expand Down
8 changes: 7 additions & 1 deletion packages/desktop/package.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
{
"name": "@opencode-ai/desktop",
"version": "1.0.133",
"version": "1.0.134",
"description": "",
"type": "module",
"exports": {
".": "./src/index.tsx",
"./vite": "./vite.js"
},
"scripts": {
"typecheck": "tsgo --noEmit",
"start": "vite",
Expand Down Expand Up @@ -33,11 +37,13 @@
"@solid-primitives/resize-observer": "2.1.3",
"@solid-primitives/scroll": "2.1.3",
"@solid-primitives/storage": "4.3.3",
"@solid-primitives/websocket": "1.3.1",
"@solidjs/meta": "catalog:",
"@solidjs/router": "catalog:",
"@thisbeyond/solid-dnd": "0.7.5",
"diff": "catalog:",
"fuzzysort": "catalog:",
"ghostty-web": "0.3.0",
"luxon": "catalog:",
"marked": "16.2.0",
"marked-shiki": "1.2.1",
Expand Down
Loading
Loading