Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
3304 commits
Select commit Hold shift + click to select a range
1ec6bdc
sync release versions for v1.18.15
Aug 7, 2026
b467518
fix(desktop): preserve macOS app on window close (#40974)
opencode-agent[bot] Aug 7, 2026
5347b5e
fix(app): register new home projects (#41018)
Brendonovich Aug 7, 2026
be25c90
docs(zen): replace Ling Flash with Tiny (#41027)
MrMushrooooom Aug 7, 2026
b05a0d1
fix(i18n): use 词元 instead of 令牌 for token in zh locale (#40977)
Speechlessmanbilibili Aug 7, 2026
284214c
feat(app): open project menu on right-click (#41013)
arvsrn Aug 7, 2026
2ea728f
fix(app): populate project picker from home (#41158)
Brendonovich Aug 8, 2026
fe82a1b
chore: generate
opencode-agent[bot] Aug 8, 2026
38e10eb
fix(opencode): ignore unknown config fields (#41312)
opencode-agent[bot] Aug 8, 2026
0bff28d
fix(stats): fall back after full sync failure (#41411)
opencode-agent[bot] Aug 9, 2026
d90532a
sync release versions for v1.18.16
Aug 10, 2026
941e71d
fix(app): use current default model (#38603)
Brendonovich Aug 10, 2026
550d1ff
fix(i18n): use widely recognized developer terminology (#41532)
opencode-agent[bot] Aug 10, 2026
b9f3b38
fix(session): route all Muse family models to the Meta system prompt …
mreso Aug 10, 2026
3a90639
fix(ui): correct OC-2 weak icon color (#41504)
OpeOginni Aug 10, 2026
5d95348
fix(provider): scope DeepSeek V4 Flash sampling defaults (#41620)
opencode-agent[bot] Aug 11, 2026
d62e500
chore: build beta from v2 (#41627)
Hona Aug 11, 2026
d041eee
chore: use DeepSeek for beta conflicts (#41669)
opencode-agent[bot] Aug 11, 2026
9fdd482
docs(zen): add Nemotron 3.5 Lightning (#41750)
MrMushrooooom Aug 11, 2026
0d927ba
chore: generate
opencode-agent[bot] Aug 11, 2026
6afef2f
fix(console): update blocked account message (#41819)
opencode-agent[bot] Aug 11, 2026
36b2053
docs(zen): add Hy3 Free (#41814)
MrMushrooooom Aug 11, 2026
2b8a596
feat(console): add go usage endpoint (#16513)
peculiarnewbie Aug 11, 2026
561afb4
fix(opencode): detect Copilot PDF input support (#41522)
stevenao Aug 11, 2026
d470434
refactor(console): simplify go usage response
vimtor Aug 11, 2026
c789868
fix(opencode): cap session retries with jitter (#41939)
rekram1-node Aug 12, 2026
1f94d8a
docs(zen): remove expired free models (#41943)
MrMushrooooom Aug 12, 2026
46a14e6
feat(stats): query r2 data catalog
adamdotdevin Aug 12, 2026
d92d1e6
docs(zen): add Grok 4.6
fwang Aug 12, 2026
8571a92
fix(provider): add Merge Gateway reasoning variants (#41867)
MatthewFeroz Aug 12, 2026
ca3df21
docs: fix broken DigitalOcean and Daytona links (#42048)
skyzhao1223 Aug 12, 2026
959c8bd
docs: fix provider display name and PAT typos (#42034)
skyzhao1223 Aug 12, 2026
7e0353c
fix(stats): correct r2 daily totals
adamdotdevin Aug 12, 2026
284187a
fix(ci): authenticate pulumi downloads
adamdotdevin Aug 12, 2026
6d3ae4d
chore: generate
opencode-agent[bot] Aug 12, 2026
df09c3e
update ds v4 pro
fwang Aug 12, 2026
069165e
Merge branch 'dev' of github.com:anomalyco/opencode into dev
fwang Aug 12, 2026
521906f
docs(go): clarify DeepSeek ZDR coverage (#42085)
opencode-agent[bot] Aug 12, 2026
999be62
chore: generate
opencode-agent[bot] Aug 12, 2026
39fb919
chore: add neriousy to team members (#42107)
opencode-agent[bot] Aug 12, 2026
dab2637
fix(compaction): adjust instructions and structure to be more clear t…
rekram1-node Aug 12, 2026
37fe5c8
sync release versions for v1.18.17
Aug 12, 2026
502310f
fix(xai): pass through reasoning effort (#42160)
opencode-agent[bot] Aug 12, 2026
beeabe2
fix(mistral): pass through reasoning effort (#42164)
opencode-agent[bot] Aug 12, 2026
6fea419
fix(groq): pass through reasoning effort (#42166)
opencode-agent[bot] Aug 12, 2026
91df883
fix(opencode): select Kimi prompt by provider (#42161)
opencode-agent[bot] Aug 12, 2026
14b37df
chore: update nix node_modules hashes
opencode-agent[bot] Aug 12, 2026
cc4b456
sync release versions for v1.18.18
Aug 13, 2026
864889a
docs: remove Ling 3.0 Tiny free model (#42314)
MrMushrooooom Aug 13, 2026
62387f3
fix(skills): Update global config path in documentation (#42337)
TechyAditya Aug 13, 2026
ab7cbc8
chore: generate
opencode-agent[bot] Aug 13, 2026
6c035e1
fix(core): preserve unicode in grep previews (#42356)
kitlangton Aug 13, 2026
c7af47f
update grok endpoint
fwang Aug 13, 2026
d0c2b41
docs(go): use responses API for Grok 4.5 (#42373)
MrMushrooooom Aug 13, 2026
f06e949
feat(go): add Gemini 3.7 Flash (#42390)
MrMushrooooom Aug 13, 2026
3e25e80
chore: generate
opencode-agent[bot] Aug 13, 2026
2449581
fix(go): remove Gemini 3.7 Flash (#42393)
MrMushrooooom Aug 13, 2026
8a55ba7
chore: generate
opencode-agent[bot] Aug 13, 2026
d8bf792
fix(opencode): preserve v1 database compatibility (#42444)
thdxr Aug 14, 2026
0e34745
docs: sort Gemini 3.7 before 3.6 (#42473)
opencode-agent[bot] Aug 14, 2026
6d63500
chore(deps): update ai-gateway-provider to 3.2.0 (#42488)
rekram1-node Aug 14, 2026
722e717
chore: update nix node_modules hashes
opencode-agent[bot] Aug 14, 2026
886fd98
docs(zen): add Muse Spark 1.2 (#42508)
MrMushrooooom Aug 14, 2026
92d29ba
chore: generate
opencode-agent[bot] Aug 14, 2026
e23586a
feat(go): add GLM 5.3 (#42518)
MrMushrooooom Aug 14, 2026
4643e65
fix(opencode): enable web search for Go (#42630)
opencode-agent[bot] Aug 14, 2026
976c185
docs(go): remove DeepSeek Flash promotion (#42858)
MrMushrooooom Aug 16, 2026
3fd77ae
zen: peak pricing
fwang Aug 16, 2026
fb8344f
chore: remove scheduled beta sync
thdxr Aug 16, 2026
a0f8dcc
docs: update DeepSeek V4 pricing (#42881)
MrMushrooooom Aug 16, 2026
1c96545
fix(stats): correct YouTube footer link (#42941)
opencode-agent[bot] Aug 16, 2026
cba6b5f
feat(opencode): native OpenAI and Anthropic passthroughs for Cloudfla…
rekram1-node Aug 17, 2026
5a0e07e
chore: generate
opencode-agent[bot] Aug 17, 2026
4d68d30
tweak: match codex limits for openai models exactly when using chatgp…
GameOn223 Aug 17, 2026
2cba7e2
fix(cli): update default console URL (#43043)
opencode-agent[bot] Aug 17, 2026
a97fec8
fix: codex data residency (#42432)
neriousy Aug 17, 2026
7af274a
fix(core): fall back on oversized websocket requests (#43099)
neriousy Aug 17, 2026
e14acea
update ds flash limit
fwang Aug 17, 2026
57075d8
fix(provider): update Google Vertex SDK (#43108)
opencode-agent[bot] Aug 17, 2026
65c3597
chore: update nix node_modules hashes
opencode-agent[bot] Aug 17, 2026
040b856
fix(cli): stop legacy preview publishing
thdxr Aug 18, 2026
3232040
fix(app): keep server details editable (#43169)
opencode-agent[bot] Aug 18, 2026
4e81a0b
fix(console): preserve inference sessions (#43124)
adamdotdevin Aug 18, 2026
9b0dd36
fix(session): ignore malformed model costs (#43248)
nexxeln Aug 18, 2026
ad905f8
fix(opencode): properly show authed providers on /connect command (#3…
OpeOginni Aug 18, 2026
0033bb3
fix(core): restore session request headers (#43188)
neriousy Aug 18, 2026
8b65fa2
fix(opencode): remove Qwen sampling defaults (#43310)
opencode-agent[bot] Aug 18, 2026
7774461
docs: add SCX.ai to the providers list (#42520)
bhuvan2134686 Aug 19, 2026
64b4f7d
sync
fwang Aug 19, 2026
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
39f9110
WIP(sync): upstream v1.18.25 — manual conflict resolution required
github-actions[bot] Aug 31, 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