Commit graph

14,583 commits

Author SHA1 Message Date
Kit Langton
7ac3128c74 feat(core): wire v2 subagent tool 2026-06-28 11:15:36 -04:00
Kit Langton
5e90a68d6a wip(core): v2 subagent foundations (awaitIdle, wait, create parentID)
Checkpoint of the safe subagent slice:
- SessionExecution.awaitIdle (coordinator drain-to-quiescence loop)
- SessionV2.wait delegates to awaitIdle; drop unavailable error + handler catch
- SessionV2.create: parentID/title, optional location inherited from parent
- subagent tool file (core/src/tool/subagent.ts) NOT yet wired into the node
  graph; wiring the global SessionV2 dep from a location-scoped tool is the open
  problem being experimented on next.
2026-06-27 23:46:07 -04:00
Kit Langton
727f9f46a0 chore: merge origin/dev into v2
Brings the latest dev (45 commits) into v2. Conflict resolutions:

- core/src/session.ts: keep v2's Service (BusyError active-checks in
  revert.stage/clear/commit, rename method + Renamed event) and add
  dev's history method. v2's Renamed event flows through the merged
  SessionEvent.Definitions into the OpenCodeEvent union, so it encodes
  correctly on the SSE stream.
- server/src/handlers/event.ts: take dev's OpenCodeEvent encoder, which
  supersedes v2's PublicEventManifest handler wiring. This also brings
  dev's live event stream (allBounded + heartbeat + keepalive headers)
  onto v2.
- Removed the now-orphaned public-event-manifest.ts (only self-referenced
  after taking dev's handler).
- Generated client + sdk types regenerated via codegen (not hand-merged);
  they pick up dev's effect SSE OpenAPI-naming patch (V2EventStream).
2026-06-27 22:43:38 -04:00
Kit Langton
dfeb1b5051
feat(client): generate complete protocol client (#34164) 2026-06-27 22:25:40 -04:00
opencode-agent[bot]
61a7f6db35 chore: update nix node_modules hashes 2026-06-28 01:20:08 +00:00
Dax
6446b8ae3b
fix(sdk): preserve V2Event name for SSE streams (#34171) 2026-06-27 21:05:47 -04:00
Dax Raad
11bf8d8a42 refactor(cli): simplify updater, remove cache and confirmation
- Remove the 24h disk cache (State, readState/writeState, checkInterval)
  that served stale latest versions within the TTL window
- Remove file lock (Flock) and confirmation prompt (Prompt/Terminal)
- Every check now hits the npm registry directly
- Updates always auto-install on any version mismatch within the same
  major, including rollbacks where the registry version is lower
- Drop the interactive option from check() and the confirm/declined/
  dismissed action concepts
2026-06-27 20:52:03 -04:00
Dax Raad
c22973ab9f fix(server): log undo revert operations 2026-06-27 20:32:58 -04:00
Dax Raad
612009e0f1 fix(tui): use span for inline styled hotkey in revert footer 2026-06-27 20:32:14 -04:00
Dax Raad
a0a6c9545e fix(tui): style redo hotkey as normal text in revert footer 2026-06-27 20:30:52 -04:00
Dax Raad
bceb6d0a9e feat(tui): add redo hotkey footer and pad file list in revert banner 2026-06-27 20:30:26 -04:00
Dax Raad
49e7dc191f fix(tui): make undo inclusive of last user message and simplify revert banner 2026-06-27 20:25:08 -04:00
Dax
f4720be08e
feat(tui): add session rename (#34264) 2026-06-27 20:07:23 -04:00
Dax
d1d7ebc2c6
feat(tui): wire up undo/redo and revert for V2 sessions (#34263) 2026-06-28 00:04:53 +00:00
Dax Raad
cd942d0669 fix(tui): normalize abbreviated home paths to forward slashes 2026-06-27 18:54:06 -04:00
Brendan Allan
ae53163cad
fix(app): transition draft project updates (#34252) 2026-06-28 02:58:07 +08:00
opencode-agent[bot]
41202819a4 chore: generate 2026-06-27 18:11:37 +00:00
James Long
a31698f99b
refactor(core): move more tests to nodes (#34248) 2026-06-27 18:10:07 +00:00
Dax Raad
4741e3ee6b fix(tui): remove redundant top spacer in session history 2026-06-27 13:54:16 -04:00
Dax Raad
4673bfbaa0 feat(cli): log startup info
Emit a log entry on CLI startup with version, channel, and local flag
so every CLI process is visible in opencode.log from the start.
2026-06-27 13:45:42 -04:00
Dax Raad
b458dd8c63 feat(cli): log updater check decisions
Add Effect.logInfo at every previously-silent path in the updater
check so each run is observable in opencode.log: skip reasons
(local install, disabled, policy), the resolved version with source
(cached vs registry), and the final action (up-to-date, dismissed,
declined).
2026-06-27 13:29:46 -04:00
opencode-agent[bot]
6248542c49 chore: generate 2026-06-27 17:20:42 +00:00
James Long
d25c91e5eb
refactor(core): move session test to nodes (#34245) 2026-06-27 13:19:14 -04:00
Dax Raad
7edd6c3a1d feat(cli): use installation version and document API debugging
- Replace hardcoded "local" version string with InstallationVersion
- Document DESCRIPTION
  Make a request to the running server

USAGE
  opencode api [flags] <operation | method path...>

ARGUMENTS
  operation | method path... stringOpenAPI operation ID, or an HTTP method followed by a path

FLAGS
  --data, -d string      Request body
  --header, -H string    Request header in name:value form
  --param key=value      OpenAPI path or query parameter

GLOBAL FLAGS
  --help, -h                                                          Show help information
  --version, -v                                                       Show version information
  --completions <bash|zsh|fish|sh>                                    Print shell completion script (choices: bash, zsh, fish, sh)
  --log-level <all|trace|debug|info|warn|warning|error|fatal|none>    Sets the minimum log level (choices: all, trace, debug, info, warn, warning, error, fatal, none) server/API debugging command in AGENTS.md
2026-06-27 13:18:22 -04:00
Dax Raad
f43f066741 fix(tui): stop bash spinner when tool errors before command received 2026-06-27 13:17:21 -04:00
James Long
5d63020dcd
test(core): cover app node builder graphs (#34244) 2026-06-27 16:54:18 +00:00
opencode-agent[bot]
062f54590e chore: generate 2026-06-27 16:30:47 +00:00
James Long
a76c6918d2
refactor(core): rename app node modules (#34238) 2026-06-27 12:29:21 -04:00
Ben Guthrie
2b91a6f210
fix(tui): register prompt.skills keybinds (#34180) 2026-06-27 11:06:14 -05:00
opencode-agent[bot]
10579cceb2 chore: generate 2026-06-27 15:38:27 +00:00
Aarav Sareen
25702e01ce
feat(app): new debug bar (#34237) 2026-06-27 15:37:02 +00:00
James Long
ecc5c44d9a
refactor(core): make node build bind maps conditionally (#34218) 2026-06-27 11:09:07 -04:00
Aarav Sareen
f5a0b920a2
feat(app): minor visual updates (#34205) 2026-06-27 18:07:17 +08:00
Brendan Allan
2caa016fe1
fix(app): batch new session tab navigation (#34196) 2026-06-27 17:13:09 +08:00
opencode-agent[bot]
6861fedd09 chore: generate 2026-06-27 07:43:42 +00:00
Luke Parker
3d072112ce
fix(app): reconcile session pages with concurrent events (#34042) 2026-06-27 17:42:17 +10:00
OpeOginni
bdfea046db
fix(desktop): recognize normal auth metadata input prompts in connect provider dialog (#33024) 2026-06-27 05:19:59 +00:00
Dax Raad
b6553d14e1 fix(core): fail interrupted session steps 2026-06-27 01:16:30 -04:00
Dax Raad
ab0042a666 docs(opencode): mark package as v1 2026-06-27 01:16:30 -04:00
Aarav Sareen
a2d08fb63b
feat(app): update home screen alignment + markdown styles (#34172) 2026-06-27 13:00:52 +08:00
Dax Raad
5df049d081 feat(cli): add self-update service
Check the npm registry (at most once per 24h, file-locked) for newer
@opencode-ai/cli releases and act on a host-level autoupdate policy read
from config. Apply patch updates automatically, confirm minor updates
interactively, and never auto-update across majors. Skip local installs
and honor the disable flag. Wired into the default TUI command
(interactive) and serve (background).
2026-06-27 00:51:45 -04:00
opencode-agent[bot]
5a55135d89
fix(ui): make select hover feedback immediate (#34121)
Co-authored-by: 𝓛𝓲𝓽𝓽𝓵𝓮 𝓕𝓻𝓪𝓷𝓴 <little-frank@opencord.local>
2026-06-27 12:47:32 +08:00
opencode-agent[bot]
8870d36e0f
fix(app): space home sessions from scrollbar (#34132)
Co-authored-by: 𝓛𝓲𝓽𝓽𝓵𝓮 𝓕𝓻𝓪𝓷𝓴 <little-frank@opencord.local>
2026-06-27 12:46:33 +08:00
opencode-agent[bot]
eb923c27ca chore: update nix node_modules hashes 2026-06-27 04:27:56 +00:00
opencode-agent[bot]
9903abc704
fix(opencode): allow empty provider config default (#34167)
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
2026-06-26 23:19:42 -05:00
opencode-agent[bot]
225a1fbf35 chore: generate 2026-06-27 04:10:30 +00:00
Dax Raad
93159bccbf feat(core): port v2 runtime fixes onto dev
Cherry-picks the packages/core changes from the v2 branch onto dev:
- combined ordered stdout/stderr in AppProcess + bash structured output
- edit/apply-patch return FileDiff info with status and line stats
- ignore no-op model switches; record reasoning timestamps
- return unexpected local tool defects to the model and continue
- keep OAuth account metadata out of request bodies
- nest OpenAI reasoning effort/summary options
- load OpenCode provider config asynchronously; batch plugin boot
- export latest public event manifest

Includes the supporting schema reasoning time field and regenerated
client/SDK types.
2026-06-27 00:07:25 -04:00
opencode-agent[bot]
fab8ec4f54
fix(app): migrate composer tooltips to v2 (#34147)
Co-authored-by: Jay V <air@live.ca>
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
2026-06-27 14:01:45 +10:00
opencode-agent[bot]
a3035c53ea chore: update nix node_modules hashes 2026-06-27 03:47:28 +00:00
Aiden Cline
36c416e143
fix(mcp): request refresh token scope (#34125) 2026-06-26 22:27:43 -05:00