Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
3393 commits
Select commit Hold shift + click to select a range
72824fe
sync
fwang Aug 19, 2026
e2a2bc3
sync
fwang Aug 19, 2026
da3ba63
sync
fwang Aug 19, 2026
fbcd4fa
sync
fwang Aug 19, 2026
4e29e04
sync
fwang Aug 19, 2026
fb772e8
sync
fwang Aug 19, 2026
3477d28
Merge branch 'muse-spark' of github.com:anomalyco/opencode into muse-…
fwang Aug 19, 2026
0a63972
Merge branch 'muse-spark' into dev
fwang Aug 19, 2026
1b18a50
chore: generate
opencode-agent[bot] Aug 19, 2026
20ad497
docs(console): end Luna usage promotion (#43351)
MrMushrooooom Aug 19, 2026
101ff6d
chore: generate
opencode-agent[bot] Aug 19, 2026
18fc3ee
update zen model name
fwang Aug 19, 2026
da4730e
chore: generate
opencode-agent[bot] Aug 19, 2026
d545d8f
feat(go): promote Hy3 usage (#43429)
MrMushrooooom Aug 19, 2026
16af134
update go models
fwang Aug 19, 2026
6386e67
chore: generate
opencode-agent[bot] Aug 19, 2026
a466a35
Revert "chore: generate"
fwang Aug 19, 2026
e2505d4
Revert "update go models"
fwang Aug 19, 2026
4c5960d
feat(stats): include free tier usage
adamdotdevin Aug 20, 2026
1b77242
country check for muse spark in free
fwang Aug 20, 2026
3d26b12
zen: muse spark contributor
fwang Aug 20, 2026
fc80874
chore: generate
opencode-agent[bot] Aug 20, 2026
be469f3
sync
fwang Aug 20, 2026
5ccb1e8
fix(stats): normalize routed model ids (#43582)
opencode-agent[bot] Aug 20, 2026
e0e9bd7
fix(tui): show encrypted reasoning status (#43578)
opencode-agent[bot] Aug 20, 2026
f715478
doc muse regions
fwang Aug 20, 2026
f4a8968
fix(tui): remove encrypted label from thought header (#43588)
rekram1-node Aug 20, 2026
03d65f3
sync
fwang Aug 20, 2026
ccccd75
Merge branch 'dev' of github.com:anomalyco/opencode into dev
fwang Aug 20, 2026
d06bf48
sync
fwang Aug 20, 2026
b155b15
sync release versions for v1.18.19
Aug 20, 2026
71d08e9
fix(opencode): retry xAI capacity stream errors (#43640)
opencode-agent[bot] Aug 20, 2026
ad192a5
fix(stats): clarify market share providers (#43647)
adamdotdevin Aug 20, 2026
82dee24
docs(zen): add Ox Alpha free model (#43690)
MrMushrooooom Aug 20, 2026
11e8110
fix(docs): align Ox Alpha free model ID (#43695)
MrMushrooooom Aug 20, 2026
5cc5b62
update muse country list
fwang Aug 20, 2026
5e75e5e
Merge branch 'dev' of github.com:anomalyco/opencode into dev
fwang Aug 20, 2026
08faeb3
fix(opencode): answer subagent permissions in run (#43675)
opencode-agent[bot] Aug 21, 2026
e49772a
fix(opencode): preserve Cerebras completion limit (#43736)
opencode-agent[bot] Aug 21, 2026
c313504
fix(opencode): surface resumable subagent errors (#43657)
opencode-agent[bot] Aug 21, 2026
2859603
chore: generate
opencode-agent[bot] Aug 21, 2026
7b11ef5
docs(go): add Ox Alpha Free (#43798)
MrMushrooooom Aug 21, 2026
e11dbd0
chore: generate
opencode-agent[bot] Aug 21, 2026
40282c1
fix(opencode): retry network error variants (#43806)
opencode-agent[bot] Aug 21, 2026
c9dc1a1
feat(go): add Ox Alpha to usage graph (#43809)
MrMushrooooom Aug 21, 2026
1e4c153
chore: generate
opencode-agent[bot] Aug 21, 2026
e0b9e68
fix(opencode): retry raw network finish errors (#43813)
opencode-agent[bot] Aug 21, 2026
62cb3f7
test(opencode): remove flaky subagent test (#43819)
opencode-agent[bot] Aug 21, 2026
35fe5b7
fix(opencode): surface subagent tool errors (#43821)
rekram1-node Aug 21, 2026
a9cac91
sync release versions for v1.18.20
Aug 21, 2026
f357e70
fix(app): register archive session command in both layouts (#41741)
NathanTCode Aug 21, 2026
b6a1f95
fix(app): preserve file search results while loading (#43836)
Brendonovich Aug 21, 2026
ba72a6f
fix(go): align Ox Alpha model ID (#43837)
MrMushrooooom Aug 21, 2026
813e6f3
docs(go): add DeepSeek vision model (#43866)
MrMushrooooom Aug 21, 2026
fa8f170
chore: generate
opencode-agent[bot] Aug 21, 2026
361a71f
fix(opencode): route Vertex multi-regions through REP (#42648)
opencode-agent[bot] Aug 21, 2026
8ecd4c2
chore: generate
opencode-agent[bot] Aug 21, 2026
0af9dd6
fix(stats): merge renamed model data (#43883)
adamdotdevin Aug 21, 2026
57fa34f
fix(opencode): continue unknown finish responses (#43892)
opencode-agent[bot] Aug 21, 2026
487d584
docs(zen): reflect GPT 5.6 Sol discount (#43874)
opencode-agent[bot] Aug 21, 2026
ad0bb6d
sync release versions for v1.18.21
Aug 21, 2026
1b937c8
test(opencode): align unknown finish coverage (#43895)
opencode-agent[bot] Aug 21, 2026
9cb6fb6
fix(console): cache desktop downloads
thdxr Aug 21, 2026
bcf1103
docs(zen): update GPT 5.6 Sol pricing (#43986)
opencode-agent[bot] Aug 21, 2026
e2ec62d
fix: bump Amazon Bedrock provider (#43909)
opencode-agent[bot] Aug 21, 2026
ff3ef6e
chore: update nix node_modules hashes
opencode-agent[bot] Aug 21, 2026
34a83b2
fix(stats): improve chart tooltip truncation
adamdotdevin Aug 21, 2026
3a4c253
fix(provider): guard textVerbosity injection for @ai-sdk/openai-compa…
joelstucki-taulia Aug 21, 2026
e00890c
fix: resolve console device URLs (#44029)
kitlangton Aug 22, 2026
3a31c4e
fix(app): keep model provider headers visible (#44115)
Brendonovich Aug 22, 2026
dc13c6b
fix(console): reduce zen request memory (#44403)
thdxr Aug 23, 2026
e3bd6e0
chore: generate
opencode-agent[bot] Aug 23, 2026
9d466cd
fix(stats): normalize model casing
thdxr Aug 23, 2026
32c3637
fix(console): stream zen request bodies (#44429)
thdxr Aug 23, 2026
bb72277
chore: generate
opencode-agent[bot] Aug 23, 2026
3d31e4b
fix(console): revert streamed zen request bodies (#44444)
thdxr Aug 23, 2026
17b4730
feat(console): add unblock workspace action
fwang Aug 23, 2026
fa11755
fix(console): scan zen model before streaming (#44463)
thdxr Aug 23, 2026
c11c41b
chore: generate
opencode-agent[bot] Aug 23, 2026
dd3f915
fix(console): release streamed zen prefixes (#44465)
thdxr Aug 23, 2026
ca10088
chore: generate
opencode-agent[bot] Aug 23, 2026
b3bad6b
fix(console): revert scanned zen request streaming (#44470)
thdxr Aug 23, 2026
63a883a
refactor(console): stream zen bodies without modifiers (#44472)
thdxr Aug 23, 2026
03bba46
chore: generate
opencode-agent[bot] Aug 23, 2026
b1ce938
fix(console): support DeepSeek weekend pricing (#44305)
opencode-agent[bot] Aug 24, 2026
f2a1d54
fix(console): set duplex for streamed zen requests
fwang Aug 24, 2026
7bbfe42
always allow ox alpha in go
fwang Aug 24, 2026
4161695
Merge branch 'dev' of github.com:anomalyco/opencode into dev
fwang Aug 24, 2026
4dbeedd
discontinue first month discount
fwang Aug 24, 2026
3f2e0e8
chore: generate
opencode-agent[bot] Aug 24, 2026
4371298
fix(console): discontinue first-month Go discount (#44633)
fwang Aug 24, 2026
754bb7e
delay removing first month discount
fwang Aug 24, 2026
0352100
docs(go): clarify DeepSeek weekend pricing (#44637)
MrMushrooooom Aug 24, 2026
6bb7722
docs(go): add LongCat-2.0 (#44636)
MrMushrooooom Aug 24, 2026
9fa27bd
chore: generate
opencode-agent[bot] Aug 24, 2026
105b398
docs(acp): update Zed custom agent config (#44658)
opencode-agent[bot] Aug 24, 2026
2a36236
fix(opencode): normalize upgrade endpoint (#44686)
thdxr Aug 24, 2026
2a6be0a
chore: generate
opencode-agent[bot] Aug 24, 2026
55f9841
sync release versions for v1.18.22
Aug 24, 2026
be15db5
Revert "delay removing first month discount"
fwang Aug 24, 2026
7cde832
update model parser
fwang Aug 24, 2026
611cc73
fix(opencode): send parent session header (#44752)
opencode-agent[bot] Aug 24, 2026
f8b4dd7
fix(provider): send Anthropic's dashed native slug through the AI Gat…
superhighfives Aug 24, 2026
f4019ca
fix(github): support immutable OIDC subjects (#44776)
neriousy Aug 24, 2026
0561bac
add client header replacement
fwang Aug 24, 2026
18b4cb6
docs(github): correct action token configuration (#44793)
neriousy Aug 24, 2026
51070b6
docs: clarify prompt data handling (#44854)
opencode-agent[bot] Aug 25, 2026
3ef72fe
fix(provider): route non-native Cloudflare AI Gateway providers via t…
superhighfives Aug 25, 2026
d0ceaef
docs(console): prohibit abusive multi-account use
thdxr Aug 25, 2026
31c409a
update inference headers
fwang Aug 25, 2026
2f36ffe
sync release versions for v1.18.23
Aug 25, 2026
bdcb6be
update inference headers
fwang Aug 25, 2026
6bb1a76
update inference headers
fwang Aug 25, 2026
a57230b
fix(app): drop archived sessions from home list right away (#44905)
NathanTCode Aug 25, 2026
1e86be2
update inference headers
fwang Aug 25, 2026
afd6f3b
zen: display quota usage breakdown
fwang Aug 25, 2026
322e2b9
chore: generate
opencode-agent[bot] Aug 25, 2026
69aaa22
zen: void invoice of cancelled subscription
fwang Aug 25, 2026
a7444bf
fix(ui): restore focus in stacked dialogs (#44928)
OpeOginni Aug 25, 2026
8615731
fix(console): rate limit checkout session creation (#45007)
thdxr Aug 25, 2026
ac1c048
docs(go): add Grok 4.6 (#45042)
MrMushrooooom Aug 25, 2026
b72b500
fix(core): recover legacy database migration history (#45061)
opencode-agent[bot] Aug 25, 2026
fd9bd44
docs: mention Exa and Parallel as web search backends (#38395)
dondetir Aug 26, 2026
2564a4f
remove map
fwang Aug 26, 2026
13c2759
Merge branch 'dev' of github.com:anomalyco/opencode into dev
fwang Aug 26, 2026
3f31551
fix map inaccuracy
fwang Aug 26, 2026
ae2ea3c
fix map inaccuracy
fwang Aug 26, 2026
1cc5389
chore: update nix node_modules hashes
opencode-agent[bot] Aug 26, 2026
ba4d0ea
fix(console): validate auth redirects (#45027)
adamdotdevin Aug 26, 2026
c7134cb
chore: update nix node_modules hashes
opencode-agent[bot] Aug 26, 2026
ec25388
docs: remove Ox Alpha Free (#45221)
MrMushrooooom Aug 26, 2026
1216c55
chore: generate
opencode-agent[bot] Aug 26, 2026
a0f36c9
feat(stats): add retention metrics
adamdotdevin Aug 26, 2026
830aaf2
docs(go): add GLM-5.3-Flash (#45269)
MrMushrooooom Aug 26, 2026
902e67e
feat(stats): add weekly retention
adamdotdevin Aug 26, 2026
023620b
chore: add sst unlock workflow
adamdotdevin Aug 26, 2026
530535c
fix(stats): reduce retention query scan
adamdotdevin Aug 26, 2026
c5ef753
fix(stats): align retention columns
adamdotdevin Aug 26, 2026
c2eacd7
fix(console): secure server action redirects (#45374)
adamdotdevin Aug 26, 2026
6568a82
fix(console): merge duplicate Go usage rows (#45503)
opencode-agent[bot] Aug 27, 2026
1120d07
fix(stats): map ox alpha to glm 5.3 flash (#45542)
adamdotdevin Aug 27, 2026
5f5ea53
chore: generate
opencode-agent[bot] Aug 27, 2026
05ea507
fix(console): improve Go comparison chart on mobile (#45044)
opencode-agent[bot] Aug 27, 2026
03afae5
feat(opencode): load supported v2 config in v1 (#45421)
jlongster Aug 27, 2026
c77100a
chore: generate
opencode-agent[bot] Aug 27, 2026
517ee73
fix(provider): filter unreplayable Bedrock reasoning before caching (…
opencode-agent[bot] Aug 27, 2026
790fb5b
feat(opencode): support Azure CLI authentication (#45079)
opencode-agent[bot] Aug 27, 2026
15537a4
fix(opencode): compare config snapshots as JSON (#45784)
opencode-agent[bot] Aug 28, 2026
19db518
sync release versions for v1.18.24
Aug 28, 2026
8a7cc0c
docs(go): add Qwen3.8 Flash (#45836)
MrMushrooooom Aug 28, 2026
733562e
fix(opencode): remove Bun dependency from Azure authentication (#45845)
opencode-agent[bot] Aug 28, 2026
c2e39bb
test(opencode): use native config path in permission assertion (#45849)
opencode-agent[bot] Aug 28, 2026
755ebdb
sync release versions for v1.18.25
Aug 28, 2026
1be9fd5
docs(go): add Hy4 preview (#45904)
MrMushrooooom Aug 28, 2026
df35e84
docs(zen): add Ling 3.0 Flash Fin Free (#45923)
MrMushrooooom Aug 28, 2026
62a2f0e
feat(console): animate Go usage allowances and bonuses (#46055)
kitlangton Aug 29, 2026
dc4449d
chore: update nix node_modules hashes
opencode-agent[bot] Aug 29, 2026
be53e17
docs(go): end Hy3 usage promotion (#46213)
MrMushrooooom Aug 30, 2026
10765ff
fix: remove Hy3 Free docs and correct Go chart rendering (#46221)
MrMushrooooom Aug 30, 2026
9f69463
fix(app): backport session rename and tab menu fixes to v1 (#46116)
opencode-agent[bot] Aug 31, 2026
26ff3ed
fix(tui): keep home shortcuts right-aligned (#36906)
opencode-agent[bot] Aug 31, 2026
b639de0
fix(stats): merge deepseek flash variants (#46446)
adamdotdevin Aug 31, 2026
0428492
chore: generate
opencode-agent[bot] Aug 31, 2026
ba79057
docs on proper usage of OpenCode Go
thdxr Sep 1, 2026
2386fce
chore: generate
opencode-agent[bot] Sep 1, 2026
5c5c709
fix(tui): pin diff highlights query (#46519)
opencode-agent[bot] Sep 1, 2026
f7da00f
fix(opencode): omit empty apply patch move path (#45329)
altendky Sep 1, 2026
be3b703
fix(web): restore documentation list markers
thdxr Sep 1, 2026
1ead9e3
fix(web): number Go usage requirements
thdxr Sep 1, 2026
ebece6e
docs(web): update Qwen3.7 Max Go usage (#46555)
MrMushrooooom Sep 1, 2026
5341a5e
feat(console): add workspace migration timestamp (#46627)
vimtor Sep 1, 2026
1ce281b
fix(stats): prevent comparison legend collapse
adamdotdevin Sep 1, 2026
df6aecd
chore: generate
opencode-agent[bot] Sep 1, 2026
216ba8f
fix(opencode): stop Azure model discovery from logging to stdout (#46…
rekram1-node Sep 1, 2026
2da5a4b
refactor(tui): use OpenTUI Dynamic in session view (#46649)
rekram1-node Sep 1, 2026
55c54d1
chore: use native runtime conditions in development (#46644)
rekram1-node Sep 1, 2026
4502ee5
fix(core): bump @ai-sdk/amazon-bedrock to 4.0.166 for reasoning and r…
pengzh1 Sep 1, 2026
dc8753f
chore: update nix node_modules hashes
opencode-agent[bot] Sep 1, 2026
3f39a32
feat(opencode): tolerate Anthropic thinking block binding (#46653)
rekram1-node Sep 1, 2026
2961956
chore: update nix node_modules hashes
opencode-agent[bot] Sep 1, 2026
af1f9e6
remove azure discovery stuff (#46666)
neriousy Sep 1, 2026
1542195
fix(opencode): allow none reasoning effort in Bedrock SDK (#46671)
rekram1-node Sep 1, 2026
c066339
test(opencode): guard patched dependency versions (#46673)
rekram1-node Sep 1, 2026
765ae64
fix(core): Fix for incorrect time.start reset in tool call logging (#…
bartlettroscoe Sep 1, 2026
c10d676
chore: update nix node_modules hashes
opencode-agent[bot] Sep 1, 2026
86387e9
test(opencode): fix session tools test typecheck and runtime (#46677)
rekram1-node Sep 1, 2026
8100c68
fix(app): bump happy-dom to fix GC-dependent MutationObserver flake (…
rekram1-node Sep 1, 2026
8ff796f
chore: update nix node_modules hashes
opencode-agent[bot] Sep 1, 2026
8e0f1c2
sync release versions for v1.18.26
Sep 1, 2026
82b6650
docs(zen): add Claude Fable 5.1 (#46728)
MrMushrooooom Sep 2, 2026
69c172e
fix(provider): handle SSE reader cancel rejections (#44944)
AlexanderWillner Sep 2, 2026
50efc05
feat(console): keep migrated teams on the new Console (#46830)
vimtor Sep 2, 2026
77aec36
feat(console): add Muse Spark 1.3 and Gemini 3.8 Flash (#46836)
MrMushrooooom Sep 2, 2026
ffbdee7
chore: generate
opencode-agent[bot] Sep 2, 2026
9a71624
fix(provider): scope thinking binding to Claude 5.1+ (#46848)
rekram1-node Sep 2, 2026
ef27925
fix(console): restore migrated inference proxy requests (#46854)
vimtor Sep 2, 2026
68abdce
fix(opencode): let config opt out of Anthropic thinking blockBinding …
dkindlund Sep 2, 2026
4eb29a6
fix(opencode): default chunk timeout to five minutes (#46890)
rekram1-node Sep 2, 2026
b046973
fix(opencode): default header timeout to five minutes (#46903)
rekram1-node Sep 2, 2026
0502833
sync release versions for v1.18.27
Sep 2, 2026
8d1f891
chore: bump gitlab-ai-provider to 6.13.0 (#46914)
vglafirov Sep 2, 2026
3a9d4e7
chore: update nix node_modules hashes
opencode-agent[bot] Sep 2, 2026
bbe4c95
docs: add Eden AI to the providers list (#43386)
MVS-source Sep 3, 2026
b578b72
fix(app): increase open-in icon size (#46540)
iamdavidhill Sep 3, 2026
f12e14c
fix(app): identify desktop in Console device auth (v1) (#47000)
opencode-agent[bot] Sep 3, 2026
79d5031
docs(web): translate Go usage requirements (#47057)
MrMushrooooom Sep 3, 2026
d2efd81
fix(console): proxy migrated model discovery to v1 endpoint (#47065)
vimtor Sep 3, 2026
08c483d
fix(stats): reduce database query load
adamdotdevin Sep 3, 2026
d8eb3b8
chore: generate
opencode-agent[bot] Sep 3, 2026
7561b4a
fix(tui): use unicode ellipses in interface text (#45126)
iamdavidhill Sep 3, 2026
a935432
chore: generate
opencode-agent[bot] Sep 3, 2026
8a6cf2c
feat(stats): improve market share chart (#47115)
adamdotdevin Sep 3, 2026
c0f09af
feat(copilot): send X-Interaction-Id header with session id (#47215)
opencode-agent[bot] Sep 4, 2026
8b9f89e
docs(go): add Omen Alpha (#47220)
MrMushrooooom Sep 4, 2026
dd417f1
chore: generate
opencode-agent[bot] Sep 4, 2026
03cb632
test(core): disable npm audits in the test preload (#47222)
opencode-agent[bot] Sep 4, 2026
70f7411
fix(stats): keep omen-alpha under unknown provider (#47248)
opencode-agent[bot] Sep 4, 2026
475b408
fix(console): backport usage reset boundary fix to dev (#47267)
MrMushrooooom Sep 4, 2026
3f31139
feat(console): route migrated BYOK through provider connections (#47266)
vimtor Sep 4, 2026
4178fd7
fix(stats): hide stealth model providers
adamdotdevin Sep 4, 2026
31afdd5
chore: generate
opencode-agent[bot] Sep 4, 2026
20a7743
docs(go): renew DeepSeek ZDR through September 2026 (#47288)
MrMushrooooom Sep 4, 2026
51f86c8
sync release versions for v1.18.28
Sep 4, 2026
5d5c35e
docs(zh): fix bold rendering by adding spaces around asterisks (#46231)
Peter267 Sep 4, 2026
5cf9f51
feat(console): add quota reset support action (#47313)
heimoshuiyu Sep 4, 2026
500c46e
fix(opencode): allow integer GPT versions in Codex model filter (#47384)
rekram1-node Sep 4, 2026
02a167e
fix(opencode): compare Codex GPT versions by major and minor (#47385)
rekram1-node Sep 4, 2026
5b1e319
sync release versions for v1.18.29
Sep 4, 2026
7774580
zen: add muse spark
fwang Sep 5, 2026
e8548ae
update zen models
fwang Sep 5, 2026
79903a4
chore: generate
opencode-agent[bot] Sep 5, 2026
4db1eec
update zen docs
fwang Sep 5, 2026
70b4ca8
Merge branch 'dev' of github.com:anomalyco/opencode into dev
fwang Sep 5, 2026
e289456
fix(console): openai usage normalization and tier threshold config (#…
heimoshuiyu Sep 5, 2026
bbd72fb
fix(console): connect enterprise form to Chatwoot (#47488)
Slickstef11 Sep 5, 2026
7c2199d
fix(opencode): add GitLab reasoning variants (#47306)
far-ouq Sep 5, 2026
1ddaeec
docs(console): add localized refund FAQs for Go and Zen (#47575)
MrMushrooooom Sep 6, 2026
337fd14
chore: generate
opencode-agent[bot] Sep 6, 2026
23ec4f5
fix(provider): bump OpenAI SDK to 3.0.88 (#47659)
opencode-agent[bot] Sep 6, 2026
c470c79
chore: update nix node_modules hashes
opencode-agent[bot] Sep 6, 2026
bec9ee4
fix(provider): bump Azure SDK to 3.0.93 (#47664)
opencode-agent[bot] Sep 6, 2026
ea2d59d
fix(provider): preserve explicit OpenAI service tiers (#47671)
opencode-agent[bot] Sep 6, 2026
e207624
chore: update nix node_modules hashes
opencode-agent[bot] Sep 6, 2026
13e3744
docs(go): document client session compatibility
thdxr Sep 7, 2026
56d4fb2
chore: generate
opencode-agent[bot] Sep 7, 2026
a03bba5
docs
thdxr Sep 7, 2026
53fec37
chore: generate
opencode-agent[bot] Sep 7, 2026
f914cac
docs
thdxr Sep 7, 2026
57ef382
feat(console): publish oauth client metadata document (#47737)
rekram1-node Sep 7, 2026
d742758
WIP(sync): upstream v1.18.29 — manual conflict resolution required
github-actions[bot] Sep 7, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
12 changes: 12 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
.git
.opencode
.sst
.turbo
.wrangler
node_modules
**/node_modules
**/.output
**/dist
**/.turbo
**/.vite
**/coverage
2 changes: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
packages/core/migration/**/snapshot.json linguist-generated
packages/core/src/database/migration.gen.ts linguist-generated
6 changes: 2 additions & 4 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
# web + desktop packages
packages/app/ @adamdotdevin
packages/tauri/ @adamdotdevin
packages/desktop/src-tauri/ @brendonovich
packages/desktop/ @adamdotdevin
packages/app/ @Hona @Brendonovich
packages/desktop/ @Hona @Brendonovich
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug-report.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: Bug report
description: Report an issue that should be fixed
description: Report an issue that should be fixed (avoid pasting giant AI generated summaries or your issue may be closed/ignored)
body:
- type: textarea
id: description
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@ blank_issues_enabled: false
contact_links:
- name: 💬 Discord Community
url: https://discord.gg/opencode
about: For quick questions or real-time discussion. Note that issues are searchable and help others with the same question.
about: For support, troubleshooting, how-to questions, and real-time discussion.
10 changes: 0 additions & 10 deletions .github/ISSUE_TEMPLATE/question.yml

This file was deleted.

6 changes: 6 additions & 0 deletions .github/TEAM_MEMBERS
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
adamdotdevin
arvsrn
Brendonovich
fwang
Hona
Expand All @@ -7,10 +8,15 @@ jayair
jlongster
kitlangton
kommander
ludvigrask
MrMushrooooom
neriousy
nexxeln
R44VC0RP
rekram1-node
thdxr
simonklee
Slickstef11
usrnk1
vimtor
StarpTech
21 changes: 18 additions & 3 deletions .github/actions/setup-bun/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,13 @@ inputs:
runs:
using: "composite"
steps:
# node-gyp@latest (invoked via bunx for native install scripts) requires Node >=22;
# some runner images ship an older system Node on PATH
- name: Setup Node
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: "24"

- name: Get baseline download URL
id: bun-url
shell: bash
Expand All @@ -23,7 +30,7 @@ runs:
fi

- name: Setup Bun
uses: oven-sh/setup-bun@v2
uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2.2.0
with:
bun-version-file: ${{ !steps.bun-url.outputs.url && 'package.json' || '' }}
bun-download-url: ${{ steps.bun-url.outputs.url }}
Expand All @@ -33,8 +40,9 @@ runs:
shell: bash
run: echo "dir=$(bun pm cache)" >> "$GITHUB_OUTPUT"

- name: Cache Bun dependencies
uses: actions/cache@v4
- name: Restore Bun dependencies
id: bun-cache
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
path: ${{ steps.cache.outputs.dir }}
key: ${{ runner.os }}-bun-${{ hashFiles('**/bun.lock') }}
Expand All @@ -56,3 +64,10 @@ runs:
bun install ${{ inputs.install-flags }}
fi
shell: bash

- name: Save Bun dependencies
if: steps.bun-cache.outputs.cache-hit != 'true' && github.event_name != 'pull_request' && github.event_name != 'pull_request_target'
uses: actions/cache/save@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
path: ${{ steps.cache.outputs.dir }}
key: ${{ runner.os }}-bun-${{ hashFiles('**/bun.lock') }}
2 changes: 1 addition & 1 deletion .github/actions/setup-git-committer/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ runs:
steps:
- name: Create app token
id: apptoken
uses: actions/create-github-app-token@v2
uses: actions/create-github-app-token@fee1f7d63c2ff003460e3d139729b119787bc349 # v2.2.2
with:
app-id: ${{ inputs.opencode-app-id }}
private-key: ${{ inputs.opencode-app-secret }}
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/close-issues.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@ jobs:
contents: read
issues: write
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1

- uses: oven-sh/setup-bun@v2
- uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2.2.0
with:
bun-version: latest

Expand Down
50 changes: 50 additions & 0 deletions .github/workflows/close-prs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: close-prs

on:
schedule:
- cron: "0 22 * * *" # Daily at 10:00 PM UTC
workflow_dispatch:
inputs:
dry-run:
description: "Log matching PRs without closing them"
type: boolean
default: true
max-close:
description: "Maximum matching PRs to close"
type: string
required: false
default: "50"

jobs:
close:
runs-on: ubuntu-latest
timeout-minutes: 240
permissions:
contents: read
issues: write
pull-requests: write
steps:
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1

- uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2.2.0
with:
bun-version: latest

- name: Close old PRs without enough positive reactions
env:
GITHUB_TOKEN: ${{ github.token }}
run: |
max_close="${{ inputs['max-close'] }}"
if [ -z "$max_close" ]; then
max_close="50"
fi

args=("--threshold" "2" "--age-months" "1" "--sleep-ms" "20000" "--max-close" "$max_close")

if [ "${{ github.event_name }}" = "schedule" ]; then
args+=("--execute")
elif [ "${{ inputs['dry-run'] }}" = "false" ]; then
args+=("--execute")
fi

bun script/github/close-prs.ts "${args[@]}"
40 changes: 39 additions & 1 deletion .github/workflows/compliance-close.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
if: github.repository == 'anomalyco/opencode'
steps:
- name: Close non-compliant issues and PRs after 2 hours
uses: actions/github-script@v7
uses: actions/github-script@f28e40c7f34bde8b3046d885e986cb6290c5673b # v7.1.0
with:
script: |
const { data: items } = await github.rest.issues.listForRepo({
Expand All @@ -35,10 +35,48 @@ jobs:

const now = Date.now();
const twoHours = 2 * 60 * 60 * 1000;
const orgMemberAssociations = new Set(['OWNER', 'MEMBER']);
const agentLogin = 'opencode-agent[bot]';
const { data: file } = await github.rest.repos.getContent({
owner: context.repo.owner,
repo: context.repo.repo,
path: '.github/TEAM_MEMBERS',
ref: 'dev',
});
const teamMembers = new Set(
Buffer.from(file.content, 'base64')
.toString()
.split('\n')
.map((line) => line.trim().toLowerCase())
.filter(Boolean)
);

function isExempt(item) {
const login = item.user?.login?.toLowerCase();
return (
login === agentLogin ||
orgMemberAssociations.has(item.author_association) ||
(login && teamMembers.has(login))
);
}

for (const item of items) {
const isPR = !!item.pull_request;
const kind = isPR ? 'PR' : 'issue';
const login = item.user?.login;

if (isExempt(item)) {
core.info(`Skipping ${kind} #${item.number}; author ${login || 'unknown'} is exempt`);
try {
await github.rest.issues.removeLabel({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: item.number,
name: 'needs:compliance',
});
} catch (e) {}
continue;
}

const { data: comments } = await github.rest.issues.listComments({
owner: context.repo.owner,
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/containers.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,18 +21,18 @@ jobs:
REGISTRY: ghcr.io/${{ github.repository_owner }}
TAG: "24.04"
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1

- uses: ./.github/actions/setup-bun

- name: Set up QEMU
uses: docker/setup-qemu-action@v3
uses: docker/setup-qemu-action@c7c53464625b32c7a7e944ae62b3e17d2b600130 # v3.7.0

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3.12.0

- name: Login to GHCR
uses: docker/login-action@v3
uses: docker/login-action@c94ce9fb468520275223c153574b00df6fe4bcc9 # v3.7.0
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
Expand Down
28 changes: 17 additions & 11 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,36 +9,42 @@ on:

concurrency: ${{ github.workflow }}-${{ github.ref }}

permissions:
contents: read
id-token: write

jobs:
deploy:
if: github.repository == 'anomalyco/opencode' && (github.ref_name == 'dev' || github.ref_name == 'production')
runs-on: ubuntu-latest
<<<<<<< HEAD
if: github.repository == 'anomalyco/opencode'
=======
environment: ${{ github.ref_name }}
>>>>>>> upstream/dev
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0

- uses: ./.github/actions/setup-bun

- uses: actions/setup-node@v4
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: "24"

# Workaround for Pulumi version conflict:
# GitHub runners have Pulumi 3.212.0+ pre-installed, which removed the -root flag
# from pulumi-language-nodejs (see https://github.com/pulumi/pulumi/pull/21065).
# SST 3.17.x uses Pulumi SDK 3.210.0 which still passes -root, causing a conflict.
# Removing the system language plugin forces SST to use its bundled compatible version.
# TODO: Remove when sst supports Pulumi >3.210.0
- name: Fix Pulumi version conflict
run: sudo rm -f /usr/local/bin/pulumi-language-nodejs
- uses: aws-actions/configure-aws-credentials@7474bc4690e29a8392af63c5b98e7449536d5c3a # v4.3.1
with:
role-to-assume: ${{ vars.AWS_DEPLOY_ROLE_ARN }}
role-session-name: opencode-${{ github.run_id }}
aws-region: us-east-1

- run: bun sst deploy --stage=${{ github.ref_name }}
env:
GITHUB_TOKEN: ${{ github.token }}
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
PLANETSCALE_SERVICE_TOKEN_NAME: ${{ secrets.PLANETSCALE_SERVICE_TOKEN_NAME }}
PLANETSCALE_SERVICE_TOKEN: ${{ secrets.PLANETSCALE_SERVICE_TOKEN }}
STRIPE_SECRET_KEY: ${{ github.ref_name == 'production' && secrets.STRIPE_SECRET_KEY_PROD || secrets.STRIPE_SECRET_KEY_DEV }}
HONEYCOMB_API_KEY: ${{ secrets.HONEYCOMB_API_KEY }}
INCIDENT_API_KEY: ${{ secrets.INCIDENT_API_KEY }}
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
SENTRY_ORG: ${{ vars.SENTRY_ORG }}
SENTRY_PROJECT: ${{ vars.WEB_SENTRY_PROJECT }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/docs-locale-sync.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
contents: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
with:
persist-credentials: false
fetch-depth: 0
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/docs-update.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
pull-requests: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
with:
fetch-depth: 0 # Fetch full history to access commits

Expand All @@ -43,7 +43,7 @@ jobs:

- name: Run opencode
if: steps.commits.outputs.has_commits == 'true'
uses: sst/opencode/github@latest
uses: sst/opencode/github@2c14fc5586fe0b88e5c04732d2e846769cc35671 # latest
env:
OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }}
with:
Expand Down
Loading