Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
535 commits
Select commit Hold shift + click to select a range
fae100f
fix(app): enable composer shortcuts on drafts (#33956)
Brendonovich Jun 25, 2026
a2b847e
refactor(app): split session composer (#33954)
Brendonovich Jun 25, 2026
21c0e03
chore: generate
opencode-agent[bot] Jun 25, 2026
3fbc005
fix(mcp): scope auth status to server URL (#33924)
rekram1-node Jun 25, 2026
0568855
chore: generate
opencode-agent[bot] Jun 25, 2026
5f61d21
feat(llm): pass strict through tool definitions for Codex parity (#33…
rekram1-node Jun 25, 2026
17166b2
fix(app): simplify question prompt (#33968)
opencode-agent[bot] Jun 25, 2026
f428755
feat(core): split MCP timeout configuration (#33977)
opencode-agent[bot] Jun 26, 2026
ded29f0
fix(core): refine small model defaults (#33926)
rekram1-node Jun 26, 2026
0f272d9
tweak: hide MCP access token prefix (#33711)
rekram1-node Jun 26, 2026
28a00ad
fix(app): enable auto-accept in session settings (#33974)
opencode-agent[bot] Jun 26, 2026
45badf7
fix(app): suspend hidden terminal renderer (#33990)
opencode-agent[bot] Jun 26, 2026
9859b19
fix(ui): normalize tooltip trigger layout (#33979)
opencode-agent[bot] Jun 26, 2026
a1f093a
refactor(opencode): stop legacy v2 event emission (#33993)
kitlangton Jun 26, 2026
40ecfce
fix(sdk): wake embedded session execution (#33992)
kitlangton Jun 26, 2026
ef5c9f4
feat(sdk): expose active sessions (#33991)
kitlangton Jun 26, 2026
41f2705
chore: generate
opencode-agent[bot] Jun 26, 2026
077deb9
fix(app): bump ghostty-web to prevent terminal resize hangs (#34020)
opencode-agent[bot] Jun 26, 2026
8a1608e
chore: update nix node_modules hashes
opencode-agent[bot] Jun 26, 2026
19e510f
refactor(app): use dropdown for project selector (#33984)
opencode-agent[bot] Jun 26, 2026
929c4aa
refactor(app): replace tab drag handling with dndkit (#33880)
Brendonovich Jun 26, 2026
1153726
chore: generate
opencode-agent[bot] Jun 26, 2026
e8fea9e
feat(oauth): unify OAuth callback browser pages (#34025)
rekram1-node Jun 26, 2026
219ba24
chore: update nix node_modules hashes
opencode-agent[bot] Jun 26, 2026
78a5a03
feat(app): refine session UI styling (#33860)
usrnk1 Jun 26, 2026
f8ceb30
chore: generate
opencode-agent[bot] Jun 26, 2026
eeb5b1d
core: prevent UI imports compiling TSX source
vimtor Jun 26, 2026
753d312
fix(tui): preserve renderer initialization errors (#33996)
Hona Jun 26, 2026
ae85356
fix(opencode): preserve skill resource paths (#34052)
nexxeln Jun 26, 2026
971518c
fix(core): refresh cached remote skills (#34059)
nexxeln Jun 26, 2026
6e8e772
fix(acp): surface prompt errors (#34061)
nexxeln Jun 26, 2026
9c38b91
feat(app): updates to design system (#34066)
arvsrn Jun 26, 2026
c288226
fix(acp): skip resume transcript replay (#34070)
nexxeln Jun 26, 2026
e3bfd4c
fix(mcp): refresh credentials on reauthentication (#33717)
rekram1-node Jun 26, 2026
639c8e6
tweak: update OAuth callback branding (#34081)
rekram1-node Jun 26, 2026
f254476
fix(llm): omit stateless response item ids (#34027)
rekram1-node Jun 26, 2026
0d3e0fc
fix(core): enlarge OAuth callback card (#34082)
rekram1-node Jun 26, 2026
4a8fee3
feat(app): add new session workspace controls (#34085)
Brendonovich Jun 26, 2026
1aea999
fix(app): consolidate add project action (#34086)
Brendonovich Jun 26, 2026
ebf4007
fix(acp): enrich permission prompts (#34079)
nexxeln Jun 26, 2026
92f1a17
docs(providers): document blacklist and whitelist model filtering (#3…
ariane-emory Jun 26, 2026
36f9015
fix(app): wait for persisted home state before reading collapsed stat…
Brendonovich Jun 26, 2026
1de7368
fix(acp): send partial completed tool updates (#34091)
nexxeln Jun 26, 2026
05ce6bc
fix(data): canonicalize locale pages
adamdotdevin Jun 26, 2026
c72cca8
docs: route enterprise contact links (#34080)
Slickstef11 Jun 26, 2026
7b1fe33
fix(data): clarify unchanged rank
adamdotdevin Jun 26, 2026
82f47cb
feat(stats): add clickable section headings (#34095)
adamdotdevin Jun 26, 2026
18a419e
chore: generate
opencode-agent[bot] Jun 26, 2026
850a0df
fix(core): resolve prompt attachment mime types
thdxr Jun 26, 2026
0befd9b
chore: generate
opencode-agent[bot] Jun 26, 2026
1ac6b4b
fix(core): authorize external read paths
thdxr Jun 26, 2026
11d2f3e
fix(llm): end reasoning before responses
thdxr Jun 26, 2026
0e2dd4a
chore: generate
opencode-agent[bot] Jun 26, 2026
af0b7ff
fix(app): animate prompt selectors after loading (#34101)
Brendonovich Jun 26, 2026
65210f2
feat(api): add finite durable session history pages (#34097)
kitlangton Jun 26, 2026
20f47fe
chore: generate
opencode-agent[bot] Jun 26, 2026
2ec20e5
fix(app): slow tooltip display for models (#30745)
affanali2k3 Jun 26, 2026
2c02f8b
chore: update nix node_modules hashes
opencode-agent[bot] Jun 26, 2026
42e6b7d
feat(sdk): expose live event stream (#34098)
kitlangton Jun 26, 2026
44a6787
chore: generate
opencode-agent[bot] Jun 26, 2026
5acb253
fix(app): centralize notification state (#34105)
Brendonovich Jun 26, 2026
7a17925
zen: new inference
fwang Jun 26, 2026
43e39d7
fix(tui): use generated event union (#34118)
opencode-agent[bot] Jun 26, 2026
cd56c51
fix(app): keep bare slash as plain inline code (#34122)
opencode-agent[bot] Jun 26, 2026
4b948c5
fix(app): hide home session archive action (#34136)
opencode-agent[bot] Jun 27, 2026
ecdfff5
refactor(core): separate out location node functionality and integrat…
jlongster Jun 27, 2026
71c3a7c
chore: generate
opencode-agent[bot] Jun 27, 2026
e1e0304
fix(mcp): surface OAuth completion errors (#34145)
rekram1-node Jun 27, 2026
36c416e
fix(mcp): request refresh token scope (#34125)
rekram1-node Jun 27, 2026
a3035c5
chore: update nix node_modules hashes
opencode-agent[bot] Jun 27, 2026
fab8ec4
fix(app): migrate composer tooltips to v2 (#34147)
opencode-agent[bot] Jun 27, 2026
93159bc
feat(core): port v2 runtime fixes onto dev
thdxr Jun 27, 2026
225a1fb
chore: generate
opencode-agent[bot] Jun 27, 2026
9903abc
fix(opencode): allow empty provider config default (#34167)
opencode-agent[bot] Jun 27, 2026
eb923c2
chore: update nix node_modules hashes
opencode-agent[bot] Jun 27, 2026
8870d36
fix(app): space home sessions from scrollbar (#34132)
opencode-agent[bot] Jun 27, 2026
5a55135
fix(ui): make select hover feedback immediate (#34121)
opencode-agent[bot] Jun 27, 2026
a2d08fb
feat(app): update home screen alignment + markdown styles (#34172)
arvsrn Jun 27, 2026
bdfea04
fix(desktop): recognize normal auth metadata input prompts in connect…
OpeOginni Jun 27, 2026
3d07211
fix(app): reconcile session pages with concurrent events (#34042)
Hona Jun 27, 2026
6861fed
chore: generate
opencode-agent[bot] Jun 27, 2026
2caa016
fix(app): batch new session tab navigation (#34196)
Brendonovich Jun 27, 2026
f5a0b92
feat(app): minor visual updates (#34205)
arvsrn Jun 27, 2026
ecc5c44
refactor(core): make node build bind maps conditionally (#34218)
jlongster Jun 27, 2026
25702e0
feat(app): new debug bar (#34237)
arvsrn Jun 27, 2026
10579cc
chore: generate
opencode-agent[bot] Jun 27, 2026
2b91a6f
fix(tui): register `prompt.skills` keybinds (#34180)
BenGu3 Jun 27, 2026
a76c691
refactor(core): rename app node modules (#34238)
jlongster Jun 27, 2026
062f545
chore: generate
opencode-agent[bot] Jun 27, 2026
5d63020
test(core): cover app node builder graphs (#34244)
jlongster Jun 27, 2026
d25c91e
refactor(core): move session test to nodes (#34245)
jlongster Jun 27, 2026
6248542
chore: generate
opencode-agent[bot] Jun 27, 2026
a31698f
refactor(core): move more tests to nodes (#34248)
jlongster Jun 27, 2026
4120281
chore: generate
opencode-agent[bot] Jun 27, 2026
ae53163
fix(app): transition draft project updates (#34252)
Brendonovich Jun 27, 2026
6446b8a
fix(sdk): preserve V2Event name for SSE streams (#34171)
thdxr Jun 28, 2026
61a7f6d
chore: update nix node_modules hashes
opencode-agent[bot] Jun 28, 2026
dfeb1b5
feat(client): generate complete protocol client (#34164)
kitlangton Jun 28, 2026
6ee817d
fix(app): disable `add project` when given server is offline (#34294)
neriousy Jun 28, 2026
58ba99e
fix(desktop): avoid destroyed window permission checks (#34300)
Brendonovich Jun 28, 2026
bda0ddc
zen: new inference
fwang Jun 28, 2026
b862d17
zen: update alert role
fwang Jun 28, 2026
411e053
fix(mcp): reconnect after OAuth even when server is disabled
MaxAnderson95 Jun 28, 2026
92025e9
fix(mcp): clarify debug oauth probe (#34350)
rekram1-node Jun 28, 2026
683aca5
feat(desktop): Display stored totals for Tokens and Cost in Desktop S…
OpeOginni Jun 28, 2026
5d6aa3b
chore: generate
opencode-agent[bot] Jun 28, 2026
3376229
fix(app): wrap model.set in startTransition (#34351)
Brendonovich Jun 28, 2026
d78f91a
chore: generate
opencode-agent[bot] Jun 28, 2026
01a5c69
feat(tui): integrate ServerAuth headers into transport configuration …
OpeOginni Jun 29, 2026
84336e4
refactor(core): refine layer node replacements (#34377)
jlongster Jun 29, 2026
846d548
chore: generate
opencode-agent[bot] Jun 29, 2026
fb59606
test(core): fix layer node replacement type expectation (#34386)
opencode-agent[bot] Jun 29, 2026
beaaa17
fix(app): disable empty server chevron (#34292)
neriousy Jun 29, 2026
078385d
zen: budget
fwang Jun 29, 2026
f90d154
zen: budget
fwang Jun 29, 2026
5409151
feat(app): sticky session list header (#34220)
arvsrn Jun 29, 2026
56a789d
feat(app): show loader on session hover (#34224)
arvsrn Jun 29, 2026
be8cfa7
chore: generate
opencode-agent[bot] Jun 29, 2026
84bb706
feat(app): new timeline header (#34192)
arvsrn Jun 29, 2026
48dc05e
chore: generate
opencode-agent[bot] Jun 29, 2026
2070fd9
feat(app): improve projects sidebar reactivity (#34391)
arvsrn Jun 29, 2026
b5f92c9
docs: fix Kimi K2.7 Go model ID (#34413)
MrMushrooooom Jun 29, 2026
0a5e617
feat(app): update message part ui to v2 (#34394)
arvsrn Jun 29, 2026
7fac843
feat(app): align slash popover to v2 tokens (#34286)
arvsrn Jun 29, 2026
82a482b
chore: generate
opencode-agent[bot] Jun 29, 2026
48fc9e3
feat(llm): add response reducer (#34417)
nexxeln Jun 29, 2026
c363775
chore: generate
opencode-agent[bot] Jun 29, 2026
b0151e1
test(llm): verify generate reducer law (#34418)
nexxeln Jun 29, 2026
e5101d9
test(llm): lock event reducer laws (#34423)
nexxeln Jun 29, 2026
6d9539f
fix: exempt org issues from compliance close (#34431)
opencode-agent[bot] Jun 29, 2026
1fd8bf5
feat(llm): add model defaults and compatibility data (#34436)
nexxeln Jun 29, 2026
7077c70
chore: generate
opencode-agent[bot] Jun 29, 2026
08c5a2a
feat(llm): enforce request precedence (#34440)
nexxeln Jun 29, 2026
c0e43c0
chore: generate
opencode-agent[bot] Jun 29, 2026
a377642
refactor(core): finish test layer node conversion (#34385)
jlongster Jun 29, 2026
9205dfe
chore: generate
opencode-agent[bot] Jun 29, 2026
f7eeb08
fix(llm): narrow raw overlays (#34448)
nexxeln Jun 29, 2026
71ec022
chore: generate
opencode-agent[bot] Jun 29, 2026
18466b8
feat(llm): add tool schema projections (#34454)
nexxeln Jun 29, 2026
b10d617
chore: generate
opencode-agent[bot] Jun 29, 2026
bc5ce5e
refactor(core): convert opencode tests to nodes (#34453)
jlongster Jun 29, 2026
de18555
chore: generate
opencode-agent[bot] Jun 29, 2026
d4fd528
refactor(core): convert more opencode tests to nodes (#34464)
jlongster Jun 29, 2026
d6e54e9
chore: generate
opencode-agent[bot] Jun 29, 2026
762588c
refactor(core): convert prompt tests to nodes (#34470)
jlongster Jun 29, 2026
be14739
refactor(core): convert config tests to nodes (#34474)
jlongster Jun 29, 2026
d8f9388
chore: generate
opencode-agent[bot] Jun 29, 2026
b9dae85
refactor(opencode): migrate compaction and workspace tests to layer n…
jlongster Jun 29, 2026
0ebe74b
refactor(opencode): migrate llm tests to layer nodes (#34479)
jlongster Jun 29, 2026
93a7b4a
chore: generate
opencode-agent[bot] Jun 29, 2026
aae0e89
refactor(opencode): use layer nodes in plugin tests (#34495)
jlongster Jun 29, 2026
4d32947
chore: generate
opencode-agent[bot] Jun 29, 2026
15bcbb1
refactor(opencode): migrate session tests to layer nodes (#34494)
jlongster Jun 29, 2026
9151af7
chore: generate
opencode-agent[bot] Jun 29, 2026
7a035d7
refactor(opencode): bind instance bootstrap node (#34502)
jlongster Jun 29, 2026
7d33a6f
chore: generate
opencode-agent[bot] Jun 29, 2026
3726052
refactor(opencode): use layer nodes in server tests (#34503)
jlongster Jun 29, 2026
fd213e6
fix(mcp): prefer content over structured output (#34505)
rekram1-node Jun 29, 2026
7823538
chore: generate
opencode-agent[bot] Jun 29, 2026
884c256
fix(console): cancel upstream provider requests (#34467)
StarpTech Jun 29, 2026
d71454c
fix(core): expose models.dev modes as models (#34521)
rekram1-node Jun 29, 2026
e9d4ca7
zen: track region
fwang Jun 29, 2026
4caec80
chore: generate
opencode-agent[bot] Jun 29, 2026
60b6229
zen: track region
fwang Jun 29, 2026
5b62211
refactor(opencode): build runtimes from layer nodes (#34515)
jlongster Jun 30, 2026
2ace237
chore: generate
opencode-agent[bot] Jun 30, 2026
2fe68b5
fix(ui): prevent tool status blank frame (#34547)
Hona Jun 30, 2026
8f1e13f
fix(core): skip fff in node runtime (#34353)
opencode-agent[bot] Jun 30, 2026
cb3e28d
fix(app): collapse review pane by default (#34165)
opencode-agent[bot] Jun 30, 2026
1f37c26
refactor(opencode): use layer nodes in remaining harnesses (#34516)
jlongster Jun 30, 2026
ce82b21
chore: generate
opencode-agent[bot] Jun 30, 2026
018ce34
revert(core): skip fff in node runtime (#34549)
opencode-agent[bot] Jun 30, 2026
91561bb
refactor(opencode): remove app service layer exports (#34517)
jlongster Jun 30, 2026
451876b
refactor(opencode): remove core service layer exports (#34518)
jlongster Jun 30, 2026
ba41dad
ci: skip issue actions for team authors (#34556)
opencode-agent[bot] Jun 30, 2026
0a5bed2
feat(tui): add yolo permission mode (#33279)
thdxr Jun 30, 2026
797cb53
chore: generate
opencode-agent[bot] Jun 30, 2026
e687eb9
fix(app): register export logs globally (#34352)
opencode-agent[bot] Jun 30, 2026
6b074ed
fix(app): suppress middle-click tab auxclick (#34355)
opencode-agent[bot] Jun 30, 2026
b19ae65
sync
fwang Jun 30, 2026
e34822d
fix(desktop): preserve selected model during session promotion (#34466)
usrnk1 Jun 30, 2026
90f0576
fix(session-ui): deselect review line on draft cancel (#34585)
opencode-agent[bot] Jun 30, 2026
1982d98
fix(session-ui): align code copy tooltip with v2 style (#34459)
opencode-agent[bot] Jun 30, 2026
003c22b
fix(desktop): context menu button / tab intermittent issue (#34420)
usrnk1 Jun 30, 2026
8289883
chore: generate
opencode-agent[bot] Jun 30, 2026
f69f677
feat(desktop): add hover background to session title and single-click…
usrnk1 Jun 30, 2026
4aaed42
fix(app): preserve macos titlebar inset (#34594)
opencode-agent[bot] Jun 30, 2026
aa56750
fix(desktop): persist last active url (#34595)
Brendonovich Jun 30, 2026
ad63cf1
feat(app): hide separators around active tabs (#34591)
usrnk1 Jun 30, 2026
3aa2860
fix(app): restore prompt cursor on focus (#34175)
Brendonovich Jun 30, 2026
3ca89ac
fix(app): autocomplete configured references (#34308)
opencode-agent[bot] Jun 30, 2026
06cb0de
feat(app): autocomplete mcp resources (#34597)
Brendonovich Jun 30, 2026
bd83177
chore: generate
opencode-agent[bot] Jun 30, 2026
b329fcc
fix(docs): fix Russian translation for index.mdx (#34001)
runvip Jun 30, 2026
8e10ab0
chore: bump venice provider (#34629)
rekram1-node Jun 30, 2026
eaf42c4
chore: update nix node_modules hashes
opencode-agent[bot] Jun 30, 2026
63e2488
feat(desktop): polish inline session title editing (#34607)
usrnk1 Jun 30, 2026
fa9ba29
feat(desktop): make error view draggable (#34627)
usrnk1 Jun 30, 2026
c86066e
test(opencode): update help snapshots (#34639)
jlongster Jun 30, 2026
6fc9405
refactor(core): route aggregate layers through nodes (#34621)
jlongster Jun 30, 2026
20445ca
fix(cli): hide auto approval aliases in help (#34641)
opencode-agent[bot] Jun 30, 2026
fced9c5
feat(desktop): polish tooltips and session search (#34632)
usrnk1 Jun 30, 2026
74e7a37
chore: generate
opencode-agent[bot] Jun 30, 2026
5691f36
refactor(core): remove tool layer exports (#34622)
jlongster Jun 30, 2026
6387f95
refactor(core): remove session layer exports (#34623)
jlongster Jun 30, 2026
a4b6047
fix(core): drop legacy config filename (#34645)
opencode-agent[bot] Jun 30, 2026
c8fde60
fix(app): hide missing workspace branch (#34649)
Brendonovich Jun 30, 2026
472d0f3
refactor(core): remove infrastructure layer exports (#34624)
jlongster Jun 30, 2026
e787268
chore: generate
opencode-agent[bot] Jun 30, 2026
5a23bdc
refactor(core): remove domain layer exports (#34625)
jlongster Jun 30, 2026
3af9f64
chore: generate
opencode-agent[bot] Jun 30, 2026
6636683
refactor: remove remaining default layer aliases (#34660)
jlongster Jun 30, 2026
6789214
fix(console): remove expired Go MiniMax promo (#34663)
MrMushrooooom Jun 30, 2026
3a669d5
fix(provider): enable sonnet 5 adaptive thinking (#34673)
rekram1-node Jun 30, 2026
afff74e
sync release versions for v1.17.12
Jun 30, 2026
928c37b
zen: kk2.7, mm3, sonnet5
fwang Jun 30, 2026
c88ca97
chore: generate
opencode-agent[bot] Jun 30, 2026
f1407e4
fix(core): stop replaying stale GitHub Copilot Responses item IDs (#3…
rekram1-node Jul 1, 2026
ae3fefb
fix(session-ui): recognize more inline file paths (#34688)
opencode-agent[bot] Jul 1, 2026
439ec9b
chore: generate
opencode-agent[bot] Jul 1, 2026
45a437c
fix(app): clamp virtualizer range to scroll bounds (#34588)
opencode-agent[bot] Jul 1, 2026
2b611a5
chore: update nix node_modules hashes
opencode-agent[bot] Jul 1, 2026
55552c5
fix(provider): force openai reasoning variants (#34702)
rekram1-node Jul 1, 2026
af72cec
feat(desktop): scope tabs to windows (#34669)
Brendonovich Jul 1, 2026
bd7f7ad
chore: generate
opencode-agent[bot] Jul 1, 2026
5e1a1ed
fix(app): scope session page errors (#34254)
Brendonovich Jul 1, 2026
bf18cc9
chore: generate
opencode-agent[bot] Jul 1, 2026
4d91f0c
feat(app): v2 wsl ui (#34233)
arvsrn Jul 1, 2026
34ee942
chore: generate
opencode-agent[bot] Jul 1, 2026
cd00422
fix(app): question UI fixes and UX improvements (#34116)
eXamadeus Jul 1, 2026
6f2ff35
chore: generate
opencode-agent[bot] Jul 1, 2026
2f4d36d
fix(desktop): clean stale draft stores (#34651)
Brendonovich Jul 1, 2026
8b68dc0
chore: generate
opencode-agent[bot] Jul 1, 2026
f014686
feat(desktop): session tab hover preview popover (#34678)
usrnk1 Jul 1, 2026
9410eda
feat(app): composer improvements (#34720)
arvsrn Jul 1, 2026
4b1c7f2
chore: generate
opencode-agent[bot] Jul 1, 2026
246dea3
feat(app): more v2 ui alignment (#34465)
arvsrn Jul 1, 2026
3136b1b
feat(desktop): improve markdown heading spacing in session timeline (…
usrnk1 Jul 1, 2026
87aa62d
chore: generate
opencode-agent[bot] Jul 1, 2026
6697cf3
feat(app): minor fixes (#34748)
arvsrn Jul 1, 2026
1e73b76
sync release versions for v1.17.13
Jul 1, 2026
4e6b1db
chore(sync): merge upstream v1.17.13
KHOAAI-HILL Jul 4, 2026
3b94dea
chore(security): ignore environment files via .env*
KHOAAI-HILL Jul 4, 2026
10a08b1
Merge branch 'main' of https://github.com/KHOAAI-HILL/browsercode int…
KHOAAI-HILL Jul 4, 2026
b8fc828
fix(core): use correct define helper for skill plugin
KHOAAI-HILL Jul 4, 2026
7f3ddcb
fix(core): use callback function for skill plugin effect to align wit…
KHOAAI-HILL Jul 4, 2026
f4ef64f
fix(script): relax bun version requirement to warn instead of crash
KHOAAI-HILL Jul 4, 2026
3e3ee5b
fix(desktop): externalize bcode-skills.gen.ts in rollup config
KHOAAI-HILL Jul 4, 2026
52d669d
fix(bcode-browser): remove Bun global dependency in skills.ts for Nod…
KHOAAI-HILL Jul 4, 2026
c9898d2
fix(bcode-browser): dynamically find DEV_SKILLS_DIR to support Electr…
KHOAAI-HILL Jul 4, 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
  •  
  •  
  •  
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.

3 changes: 1 addition & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,7 @@
node_modules
.worktrees
.sst
.env
.env.local
.env*
.idea
.vscode
.codex
Expand Down
2 changes: 2 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
sst-env.d.ts
packages/desktop/src/bindings.ts
packages/client/src/generated/
packages/client/src/generated-effect/
13 changes: 8 additions & 5 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
- To regenerate the JavaScript SDK, run `./packages/sdk/js/script/build.ts`.
- To regenerate the legacy JavaScript SDK, run `./packages/sdk/js/script/build.ts`.
- After changing the public Protocol or Server `HttpApi`, run `bun run generate` from `packages/client`. Do not edit `src/generated` or `src/generated-effect` directly.
- Keep runtime dependencies directed from Schema to Core and Protocol, then from Core and Protocol to Server. Client runtime code may depend on Schema and Protocol but never Core or Server; `sdk-next` composes Client, Core, and Server.
- ALWAYS USE PARALLEL TOOLS WHEN APPLICABLE.
- Prefer automation: execute requested actions without confirmation unless blocked by missing info or safety/irreversibility.
- The default branch in this fork is `main`; upstream's default branch is `dev`.
Expand Down Expand Up @@ -29,6 +31,7 @@ Examples: `fix(tui): simplify thinking toggle styling`, `docs: update contributi
- Rely on type inference when possible; avoid explicit type annotations or interfaces unless necessary for exports or clarity
- Prefer functional array methods (flatMap, filter, map) over for loops; use type guards on filter to maintain type inference downstream
- In `src/config`, follow the existing self-export pattern at the top of the file (for example `export * as ConfigAgent from "./agent"`) when adding a new config module.
- In Effect generators, bind services to named variables before calling methods. Do not use nested service yields such as `yield* (yield* Foo.Service).bar()`.

Reduce total variable count by inlining when a value is only used once.

Expand Down Expand Up @@ -138,7 +141,7 @@ const table = sqliteTable("session", {

## Testing

- Avoid mocks as much as possible
- Avoid mocks as much as possible, you shouldn't be using globalThis.\* at all unless it's the only option.
- Test actual implementation, do not duplicate logic into tests
- Tests cannot run from repo root (guard: `do-not-run-tests-from-root`); run from package dirs like `packages/opencode`.

Expand Down Expand Up @@ -218,15 +221,15 @@ ship (`@browser-use/browsercode-core`, `@browser-use/bcode-browser`,
`@opencode-ai/{shared,plugin,sdk}`). This avoids upstream packages we
don't build (e.g. `enterprise`, `web`, `console`). The pre-push hook
runs this filtered command.
=======

## V2 Session Core

- Keep durable prompt admission separate from model execution. `SessionV2.prompt(...)` admits one durable `session_input` row before scheduling advisory `SessionExecution.wake(sessionID)` unless `resume: false` requests admit-only behavior. The serialized runner promotes admitted inputs into visible user messages at safe boundaries.
- Reusing a Session ID adopts the existing Session. Reusing a prompt message ID reconciles an exact retry only when Session, prompt, and delivery mode match; conflicting reuse fails. Historical projected prompts lazily synthesize promoted inbox records during exact retry.
- Keep `SessionExecution` process-global and Session-ID based. Its local implementation owns the process-local Session coordinator and discovers placement through `SessionStore` plus `LocationServiceMap.get(session.location)` only when a drain starts; no layer should take a Session ID. V2 interruption targets the active process-local ownership chain for that Session; idle or missing interruption is a no-op.
- Keep `SessionRunner`, model resolution, tool registry, permissions, and filesystem Location-scoped. Omitted `Location.workspaceID` means implicit-local placement; explicit workspace identity remains reserved for future placement semantics.
- Preserve one explicit `llm.stream(request)` call per provider turn and reload projected history before durable continuation. Do not bridge through legacy `SessionPrompt.loop(...)` or delegate orchestration to an in-memory tool loop.
- Keep local Session drains process-local until clustering is implemented. `SessionRunCoordinator` joins explicit same-Session resumes, coalesces prompt wakeups, and allows different Sessions to run concurrently. Advisory wakes drain eligible durable inbox rows only; post-crash activity recovery requires a separate explicit design before it may retry provider work.
- Keep delivery vocabulary explicit. Prompts steer by default and coalesce into the active activity at the next safe provider-turn boundary. Explicit `queue` inputs open FIFO future activities one at a time after the active activity settles.
- Keep local Session drains process-local until clustering is implemented. `SessionRunCoordinator` joins explicit same-Session resumes, coalesces prompt wakeups, and allows different Sessions to run concurrently. Advisory wakes drain eligible durable inbox rows only; post-crash continuation recovery requires a separate explicit design before it may retry provider work. A drain has no durable identity or transcript boundary.
- Keep delivery vocabulary explicit. Prompts steer by default and promote at the next safe provider-turn boundary while the current drain requires continuation. An explicit `queue` input remains pending until the Session would otherwise become idle; promote one queued input at that boundary, then reevaluate continuation before promoting another. Promoting any new user input resets the selected agent's provider-turn allowance; a batch of steers resets it once.
- Keep EventV2 replay owner claims separate from clustered Session execution ownership.
- Keep the System Context algebra, registry, and built-ins in `src/system-context`; keep Context Source producers with their observed domains, and keep Session History selection plus Context Epoch persistence Session-owned.
Loading