Commit Graph
366 Commits
Author SHA1 Message Date
b06251bd53 fix: stream opencode reasoning updates (#661)
Emit throttled ACP reasoning snapshots with stable stream ids so OpenCode reasoning updates render live without one row per token.

Collapse matching reasoning snapshots in the web timeline and avoid stale session 404 redirects during refetch.

Tests: targeted Vitest suite and bun typecheck.

Co-authored-by: twshe <twshe@outlook.com>
2026-05-22 08:57:50 +08:00
CoColateandGitHub 611c4eec49 fix(codex): honor yolo for MCP elicitation (#655)
Route Codex app-server MCP elicitation decisions through the live session permission mode. HAPI bridge elicitation remains accepted, non-HAPI elicitation stays cancelled in non-yolo modes, and yolo accepts future non-HAPI prompts after mode changes.\n\nAdds adapter and launcher seam tests covering default -> yolo -> default behavior.\n\nTests:\n- bunx vitest run src/codex/utils/appServerPermissionAdapter.test.ts src/codex/codexRemoteLauncher.test.ts\n- bun run typecheck
2026-05-21 17:09:10 +08:00
weishu 1284385d38 refactor: share remote agent command parsing 2026-05-21 14:42:40 +08:00
weishu b0a3397601 refactor: share session config RPC handling 2026-05-21 14:40:00 +08:00
weishu e88a9075df refactor: share core REST payload types 2026-05-21 14:35:47 +08:00
weishu 7c26c1e749 refactor: reuse shared machine socket types 2026-05-21 14:32:28 +08:00
weishu 9704227ce2 refactor: share machine runner schemas 2026-05-21 14:29:42 +08:00
weishu 7d5a5ee919 chore: remove obsolete spawn leftovers 2026-05-21 14:25:10 +08:00
weishu b79f50f815 Share RPC method constants 2026-05-21 10:53:31 +08:00
weishu 2e1e2d39db Share slash command definitions 2026-05-21 10:36:25 +08:00
weishu d6f97065c1 Share REST and RPC response types 2026-05-21 10:31:50 +08:00
weishu 9698aa9f4c Unify agent flavor definitions 2026-05-21 10:23:57 +08:00
weishu 15113668cc Release version 0.18.3 2026-05-20 20:50:49 +08:00
weishu 64d1a4de1c Cap resume picker redraw height 2026-05-20 20:44:12 +08:00
weishu 30c9d34cf8 Size resume picker rows by terminal height 2026-05-20 20:43:04 +08:00
weishu e90ef52078 Show more resume picker rows 2026-05-20 20:41:57 +08:00
weishu f41be3a420 Reduce resume picker redraw flicker 2026-05-20 20:41:05 +08:00
weishu 5264599908 Recover first prompt for resume sessions 2026-05-20 20:35:03 +08:00
weishu 856af6d8b2 Show first user message in resume picker 2026-05-20 20:31:40 +08:00
weishu 2ef90f84fb Move resume picker directory to status bar 2026-05-20 20:26:38 +08:00
weishu 62ac4e7b0a Show relative time in resume picker 2026-05-20 20:24:46 +08:00
weishu 1bd0bb2cf7 Add interactive resume session picker 2026-05-20 20:20:27 +08:00
weishu 1954920753 Release version 0.18.2 2026-05-20 20:06:33 +08:00
weishu fbd7527cf4 Stop hub cleanly from CLI command 2026-05-20 19:55:40 +08:00
weishu 83795c0630 Clean up cross-package build coupling 2026-05-20 19:29:43 +08:00
weishu 9324598cd5 chore: remove dead UI and agent entrypoints 2026-05-20 17:32:08 +08:00
SmallSpiderandGitHub 25631d971c fix(codex): stabilize goal status updates (#651) 2026-05-20 11:31:28 +08:00
SmallSpiderandGitHub 2aaae25d0a fix(codex): dedupe repeated goal updates (#649) 2026-05-20 10:00:51 +08:00
lekoandGitHub 197f327590 feat: add hapi resume command (#647) 2026-05-20 06:18:42 +08:00
SmallSpiderandGitHub 79d919675e fix(codex): handle subagent spawn startup failures (#648) 2026-05-19 21:35:50 +08:00
weishu c070cdef28 Fix probe failure 2026-05-19 17:07:15 +08:00
lekoandGitHub ce2e76a42e Add Windows remote terminal support (#642) 2026-05-19 07:54:12 +08:00
lekoandGitHub bb04247127 Fix CLI tests on Windows paths (#643) 2026-05-19 07:53:28 +08:00
weishu ff866c2069 Release version 0.18.1 2026-05-18 11:06:32 +08:00
Junmo KimandGitHub b2a30c2e39 feat(hub,web): support scheduling messages for future delivery (#590) 2026-05-18 09:09:17 +08:00
Junmo KimandGitHub c5e80e9a66 fix: restore opencode hook plugin channel and coalesce ACP reasoning chunks across all consumers (#631) 2026-05-17 20:04:14 +08:00
MapleStoryIdleandGitHub 86780e94d0 feat(codex): preview generated images in chat (#630) 2026-05-17 11:52:03 +08:00
MapleStoryIdleandGitHub 84ba7044a8 fix(codex): truncate large unhandled notification logs (#626) 2026-05-16 07:47:36 +08:00
weishu c07b3a2ed2 Release version 0.18.0 2026-05-15 23:05:39 +08:00
0935b13c80 [OpenCode] fix: Add SQLite support to OpenCode storage scanner (#589)
* feat(opencode): integrate SQLite database for session management and data retrieval

* fix(opencode): rehydrate DB IDs and maintain storage fallback

* fix opencode storage source selection

* fix opencode db scanner replay edge cases

* fix opencode db session candidate scan

---------

Co-authored-by: weishu <twsxtd@gmail.com>
2026-05-15 23:00:53 +08:00
f1accabb29 [codex] improve Codex plan mode compatibility (#538)
* fix: improve codex plan mode compatibility

* fix: tighten codex collaboration retry detection

---------

Co-authored-by: weishu <twsxtd@gmail.com>
2026-05-15 22:46:35 +08:00
weishu 089ddad476 feat: support Codex goal slash command 2026-05-15 22:15:17 +08:00
weishu a099ae9199 fix(codex): apply reasoning effort correctly 2026-05-15 19:03:07 +08:00
NightWatcher314andGitHub 66e41c90d4 fix(codex): support app-server plan mode (#622)
* fix(codex): support app-server plan mode

* fix(codex): broaden plan mode compatibility checks
2026-05-15 10:56:05 +08:00
SmallSpiderandGitHub 088a712f1e Stop active Codex child agents on abort (#615)
* fix(cli): stop active codex child agents

* chore: refresh bun lockfile for deploy

* fix(web): enable stop for active codex child agents

* test(cli): cover aborting active codex child agents
2026-05-12 23:25:41 +08:00
SmallSpiderandGitHub 3eac3456b4 Fix Codex subagent final result preservation (#602) 2026-05-09 08:58:31 +08:00
weishu 752a505973 Release version 0.17.4 2026-05-08 19:12:59 +08:00
weishu 2fe1a2ed45 fix(cli): trust injected Codex session hook
Codex now requires hook trust before non-managed hooks can run. HAPI relies on the runtime-injected SessionStart hook to receive the Codex thread/session id, so leaving that hook untrusted breaks local Codex startup without manual /hooks review.\n\nGenerate the same trusted_hash Codex derives for the injected SessionStart command and pass it through the runtime hooks.state override. The trust is scoped to the synthetic session-flags hook key and the exact generated command, so user, project, and plugin hooks still go through Codex review normally.\n\nAlso cover the generated config args so future changes keep both the hook declaration and its trust state together.\n\nValidation:\n- bun test cli/src/codex/utils/codexMcpConfig.test.ts\n- bun typecheck
2026-05-08 19:09:38 +08:00
SmallSpiderandGitHub 293f944724 fix: omit reasoning summary for codex spark subagents (#594) 2026-05-07 16:44:56 +08:00
Xing WangandGitHub b17269d9e9 fix(cli): match claude code 2.x AskUserQuestion answer shape (#579)
The built-in AskUserQuestion tool in claude code 2.x reads
`updatedInput.answers` keyed by the question text and expects each
value to be a single string (multi-select selections joined by
commas), then echoes them verbatim from
`mapToolResultToToolResultBlockParam`. HAPI was filling `answers` as
`Record<questionIndex, string[]>`, so claude's lookup
`answers[question.question]` missed every entry, every question fell
through to `(no option selected)`, the filter dropped them all, and
the tool result content arrived as

    "User has answered your questions: . You can now continue with
     the user's answers in mind."

— a sentence with no answers. Sessions appeared to hang after the
user clicked an option, because claude had nothing actionable to act
on and never produced another turn.

Walk `input.questions` and rebuild the answers map keyed by the
question text, joining multi-select selections with commas. The
codex `request_user_input` path keeps its existing nested-shape
builder.

Verified end-to-end: re-spawned a HAPI session with the patched
binary, asked claude to use AskUserQuestion, picked options in the
web UI, and the turn resumed normally with answers visible in the
tool result content.
2026-05-07 10:47:19 +08:00