Commit Graph

6727 Commits

Author SHA1 Message Date
YeonGyu-Kim 4ea76365cd refactor(packages): extract hashline-core package
Move the hash-anchored edit core (hash computation, validation, edit operations, text normalization, chunk formatter, diff utilities, and a runtime-aware xxHash32 binding) into a new @oh-my-opencode/hashline-core workspace package.

The src/tools/hashline-edit/ surface becomes a set of thin re-export shims, so existing import paths in the plugin keep working while the pure logic lives behind a stable package boundary that has no opencode runtime dependencies.

Tests: bun test packages/hashline-core src/tools/hashline-edit
2026-05-21 16:19:38 +09:00
YeonGyu-Kim f29411a689 Merge pull request #4235 from code-yeongyu/fix/subagent-timeout-active-output
fix(background-agent): track active subagent output
2026-05-21 16:15:53 +09:00
YeonGyu-Kim dbfde0b056 fix(background-agent): ignore metadata stream output 2026-05-21 16:12:53 +09:00
YeonGyu-Kim 282010f97d fix(background-agent): gate stale timeout on abort success 2026-05-21 15:59:50 +09:00
YeonGyu-Kim 6d15ab86ab fix(background-agent): fail cancellation when abort fails 2026-05-21 15:50:28 +09:00
YeonGyu-Kim bd1a6e3d3b fix(background-agent): forward session stream activity 2026-05-21 15:49:58 +09:00
YeonGyu-Kim 53cabfe44d Merge pull request #3035 from code-yeongyu/fix/issue-2697-v2
fix: strip mcp_ prefix from tool names before dispatch
2026-05-21 15:26:49 +09:00
YeonGyu-Kim 90c38d16b4 Merge remote-tracking branch 'origin/dev' into fix/subagent-timeout-active-output 2026-05-21 15:23:59 +09:00
YeonGyu-Kim 0bf8a9df25 fix(background-agent): fail abort on SDK errors
Treat resolved abort responses with a non-null error payload the same as rejected aborts. This prevents stale-timeout cancellation bookkeeping from reporting success when the child session was not actually aborted.

Plan: .omo/plans/subagent-timeout-active-output.md
2026-05-21 15:23:52 +09:00
YeonGyu-Kim a562d5367f fix: strip mcp_ prefix from tool names before dispatch
The model emits tool names like mcp_background_output but the runtime
registry has them as background_output. While transformToolName already
handles the prefix for display purposes, the tool dispatch path in
tool-execute-before was not stripping it, causing 'unavailable tool' errors.

This adds mcp_ prefix stripping at the earliest point in the tool
execution pipeline, fixing background_output, background_cancel, and
all nocturne-memory_* tools.

Closes #2697
2026-05-21 15:23:28 +09:00
YeonGyu-Kim b68af25e41 fix(background-agent): track session.next activity
Convert OpenCode v2 session.next stream events into the existing message part activity path so child sessions that are still producing text, reasoning, or tool output refresh lastUpdate before stale polling runs.

This keeps the timeout poller from cancelling active subagents and preserves tool-call progress for session.next.tool.called events.

Plan: .omo/plans/subagent-timeout-active-output.md
2026-05-21 15:23:26 +09:00
YeonGyu-Kim 6c0252fae4 Merge pull request #3742 from mrosnerr/fix/schema-preserve-custom-agent-overrides
fix(schema): preserve custom agent overrides
2026-05-21 15:14:04 +09:00
YeonGyu-Kim 6e1e01ebe0 Merge pull request #4219 from sjawhar/fix/skill-discovery-opencode-config
fix(skill-discovery): load native OpenCode skills in task delegation
2026-05-21 15:07:39 +09:00
YeonGyu-Kim baa07dc912 Merge pull request #4232 from MoerAI/fix/hyperplan-hpp-file-extension
fix(keyword-detector): stop hyperplan firing on '.hpp' C++ header paths (fixes #4215)
2026-05-21 14:56:32 +09:00
MoerAI 61b812ffa9 fix(keyword-detector): stop hyperplan firing on '.hpp' C++ header paths (fixes #4215)
The hyperplan trigger \b(hyperplan|hpp)\b/i matched 'hpp' inside common C++ header references like 'check interface.hpp' or 'open buffer.hpp'. The leading '.' is a non-word character, so \b is already satisfied and the false positive fires the hyperplan-mode prompt on routine code questions.

Split the alternation so 'hpp' additionally requires that the preceding character is neither a word character nor a '.'. This preserves every existing trigger ('hpp do this', '/hpp ...', mid-sentence usage, mixed case) while rejecting filename uses of the .hpp extension. The longer 'hyperplan' keyword keeps the original \b boundary semantics.

Reproduction (added regression tests):
- 'please help to check interface.hpp' must NOT fire
- 'open src/include/audio/buffer.hpp and fix the leak' must NOT fire

All 14 cases in hyperplan.test.ts pass (12 existing + 2 new), broader keyword-detector suite stays green (92 pass), typecheck clean.
2026-05-21 13:39:34 +09:00
YeonGyu-Kim 94d6d5b495 Merge pull request #4231 from code-yeongyu/fix/post-4228-test-and-session-gone
Fix post-4228 test and session-gone follow-ups
2026-05-21 13:18:10 +09:00
YeonGyu-Kim 0feb125079 fix(background-agent): preserve missed polls on lookup errors 2026-05-21 13:13:14 +09:00
YeonGyu-Kim 98d475f95e test(agent): align remapper fallback display name 2026-05-21 13:12:57 +09:00
YeonGyu-Kim 7e8a61aed8 Merge pull request #2307 from SwiggitySwerve/feat/prometheus-spec-awareness
feat(prometheus): add spec-driven development framework awareness
2026-05-21 13:07:33 +09:00
YeonGyu-Kim b2971a6ac3 Merge pull request #2827 from z-traveler/feat/per-agent-skill-filtering
feat: filter agent-restricted skills from prompts and tool description
2026-05-21 13:07:30 +09:00
YeonGyu-Kim a7af82a83a Merge pull request #4230 from code-yeongyu/fix/post-merge-debugging-cleanup-20260521
chore: remove reintroduced debugging artifact
2026-05-21 13:04:10 +09:00
YeonGyu-Kim 80d726bf4e chore: remove reintroduced debugging artifact
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-21 13:01:05 +09:00
YeonGyu-Kim 3d40264456 Merge pull request #4228 from code-yeongyu/fix/delegate-stale-activity
Fix delegate stale timeout activity checks
2026-05-21 12:59:11 +09:00
YeonGyu-Kim deb13d8e86 Merge pull request #3241 from cpkt9762/fix/configurable-task-cleanup-delay
feat(background-task): make taskCleanupDelayMs configurable
2026-05-21 12:58:54 +09:00
YeonGyu-Kim 4b6877cb4a Merge pull request #3294 from kilhyeonjun/fix/doctor-custom-provider-regression
test(doctor): cover custom provider config regression
2026-05-21 12:58:51 +09:00
YeonGyu-Kim d78ebc1280 Merge pull request #3370 from Zireael/fix/git-bash-shell-detection-on-windows
fix: detect Git Bash/WSL/MSYS2 shell on Windows (non-interactive-env hook)
2026-05-21 12:58:48 +09:00
YeonGyu-Kim 6678c2ae04 Merge pull request #3884 from leeyazhou/i18n
feat(i18n): add toast i18n with en/zh locale and plugin config support
2026-05-21 12:58:45 +09:00
YeonGyu-Kim c5f8fd4060 Merge pull request #4031 from PeterPonyu/feat/config-disabled-providers
feat(config): add disabled_providers schema + helper
2026-05-21 12:58:42 +09:00
YeonGyu-Kim e4a60b8cd2 Merge pull request #4048 from PeterPonyu/feat/doctor-check-tui-plugin
feat(doctor): warn when oh-my-openagent/tui is missing from tui.json
2026-05-21 12:58:39 +09:00
YeonGyu-Kim 735b4d2997 Merge pull request #4070 from PeterPonyu/fix/4036-prompt-shield-system-directive-marker
fix(prometheus-md-only): replace SYSTEM DIRECTIVE marker with XML tag in external prompts (#4036)
2026-05-21 12:58:36 +09:00
YeonGyu-Kim 45e5d5ddfc Merge pull request #4071 from PeterPonyu/fix/4027-role-coordinator-subagent-selection
fix(team-mode): reject coordinator agents as subagent targets (#4027)
2026-05-21 12:58:33 +09:00
YeonGyu-Kim d7d023bf27 Merge pull request #4072 from PeterPonyu/fix/3645-runtime-fallback-git-silent-fail
fix(runtime-fallback): fall back to synthetic continuation when session messages are empty (#3645)
2026-05-21 12:58:30 +09:00
YeonGyu-Kim 689ad9970b Merge pull request #4079 from PeterPonyu/refactor/3694-extract-analyze-constants
refactor(keyword-detector): consolidate analyze pattern/message into analyze/default and document delegate_task params (#3694)
2026-05-21 12:58:27 +09:00
YeonGyu-Kim c5b1bff33f Merge pull request #4080 from PeterPonyu/docs/3469-mcp-list-plugin-vs-native
docs(mcp): clarify plugin-injected MCPs do not appear in opencode mcp list (#3469)
2026-05-21 12:58:24 +09:00
YeonGyu-Kim 9cca6848c9 Merge pull request #4081 from PeterPonyu/feat/4004-agent-display-name-i18n
feat(agents): support per-agent displayName for i18n (#4004)
2026-05-21 12:58:21 +09:00
YeonGyu-Kim acedacc5e7 Merge pull request #4084 from pizzav-xyz/feature/keyword-detector-enabled-expansions
feat(keyword-detector): add enabled_expansions config for allowlist control
2026-05-21 12:58:18 +09:00
YeonGyu-Kim ba5bc0ef4f Merge pull request #4092 from code-yeongyu/fix/status-timeout-hang
fix(shared): add timeout to isSessionActive to prevent infinite hang
2026-05-21 12:58:14 +09:00
YeonGyu-Kim a7401a34ac Merge pull request #4157 from ririnto/docs/config-reference-alignment
docs: align config reference with implementation
2026-05-21 12:58:11 +09:00
YeonGyu-Kim 323e53f3a5 Merge pull request #4181 from devswha/docs/add-vibetip-docs-link
docs(readme): add docs site badge linking to omo.vibetip.help/docs
2026-05-21 12:58:07 +09:00
YeonGyu-Kim b40426ca1b Merge pull request #4190 from herjarsa/feat/default-mode
feat(default-mode): auto-activate ultrawork and ralph loop without commands
2026-05-21 12:58:04 +09:00
YeonGyu-Kim d502900201 Merge pull request #4221 from heunghingwan/feat/plan-format-validator
Add plan format validator hook to detect malformed task labels
2026-05-21 12:58:01 +09:00
YeonGyu-Kim e4049b7ab3 Merge pull request #4222 from andomeder/wip/pr1-skip-disconnected-explicit-provider-fallbacks
fix(background-agent): skip disconnected explicit-provider fallbacks
2026-05-21 12:57:58 +09:00
YeonGyu-Kim bd55396266 fix(look-at): avoid empty stable idle completion 2026-05-21 12:54:56 +09:00
YeonGyu-Kim bd61479315 Merge pull request #4227 from code-yeongyu/fix/post-4106-cleanup-20260521
fix: clean up post-4106 prompt gate artifacts
2026-05-21 12:53:17 +09:00
YeonGyu-Kim 95291fa4ed chore(evidence): refresh package layering refactor notes 2026-05-21 12:50:10 +09:00
YeonGyu-Kim fc0f4cc9ee chore(model-core): remove unused generated snapshot (DI strategy makes it dead) 2026-05-21 12:50:10 +09:00
YeonGyu-Kim f6a2ff3541 test(coupling-audit): allowlist dual-runtime spawn shims 2026-05-21 12:50:10 +09:00
YeonGyu-Kim 2f26f78f0d chore(evidence): backfill PASS sentinels in empty evidence files
Backfilled explicit PASS sentinel content in 14 evidence files:
- .omo/evidence/task-1-baseline.txt
- .omo/evidence/task-2-package-exists.txt
- .omo/evidence/task-2-no-coupling.txt
- .omo/evidence/task-2-reexports.txt
- .omo/evidence/task-2-tests.txt
- .omo/evidence/task-3-no-coupling.txt
- .omo/evidence/task-3-di-interface.txt
- .omo/evidence/task-3-tests.txt
- .omo/evidence/task-5-tests.txt
- .omo/evidence/task-5-no-coupling.txt
- .omo/evidence/task-9-loc-check.txt
- .omo/evidence/task-9-tests.txt
- .omo/evidence/task-9-no-coupling.txt
- .omo/evidence/w2-qa-coupling-sweep.txt
2026-05-21 12:50:10 +09:00
YeonGyu-Kim 017f05dddb refactor(packages/model-core): eliminate src/ back-imports via dependency injection 2026-05-21 12:50:10 +09:00
YeonGyu-Kim e15461febc refactor(model-core): inject bundled capabilities snapshot from harness
- remove bundled snapshot dependency on src/generated in model-core

- make shared harness provide runtime bundled snapshot

- update guardrail and capability tests to pass explicit snapshot

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-21 12:50:10 +09:00