YeonGyu-Kim
cd76428649
test(look-at): stabilize image-converter tests across platforms
2026-03-03 00:47:21 +09:00
YeonGyu-Kim
0c903858f1
fix(look-at): temp dir cleanup, Windows compat, argument injection prevention
2026-03-03 00:38:47 +09:00
YeonGyu-Kim
e461c81cec
Merge pull request #2244 from code-yeongyu/fix/pr-2021-issues
...
fix(dispatch): resolve 3 bugs from PR #2021 plugin command wiring
2026-03-03 00:36:56 +09:00
YeonGyu-Kim
3d9ddd45d6
fix(test): resolve test failure in PR #2021 fixes
2026-03-03 00:27:53 +09:00
YeonGyu-Kim
3de05a55d5
fix(dispatch): resolve plugin namespace parsing, template substitution, and discovery duplication
2026-03-03 00:14:01 +09:00
YeonGyu-Kim
813973041e
Revert "Merge pull request #1951 from edxeth/feat/custom-agents"
...
This reverts commit 47e300b17e , reversing
changes made to 243ce1b7e8 .
2026-03-02 23:55:48 +09:00
YeonGyu-Kim
314532de6a
docs(agents): regenerate AGENTS.md hierarchy with updated metrics and model configs
...
- 1208→1243 TS files (+35), 143k→155k LOC (+12k)
- Update all agent models: Sisyphus, Hephaestus, Oracle, Librarian, Atlas, Metis, Momus
- Add 6 new hook directories (39→45 dirs): beast-mode-system, hashline-edit-diff-enhancer, anthropic-image-context, task-reminder, compaction-todo-preserver, runtime-fallback
- Update category models: visual-engineering/artistry gemini-3-pro→gemini-3.1-pro
- Add 2 config schema files: fallback-models.ts, runtime-fallback.ts
- Timestamp: 2026-03-02 | Commit: 1c2caa09
🤖 Generated with assistance of [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode )
2026-03-02 23:40:38 +09:00
sisyphus-dev-ai
09d30ea432
chore: changes by sisyphus-dev-ai
2026-03-02 14:40:25 +00:00
YeonGyu-Kim
6d7030e760
Merge pull request #1951 from edxeth/feat/custom-agents
...
feat(config): make custom agents first-class for planning and delegation
2026-03-02 23:28:57 +09:00
YeonGyu-Kim
4aaf89ad21
Merge pull request #1977 from iyoda/fix/doctor-cache-dir-fix-message
...
fix(doctor): point fix messages to actual OpenCode cache directory
2026-03-02 23:28:52 +09:00
YeonGyu-Kim
cce36e7a56
Merge pull request #1906 from xinpengdr/feat/auto-convert-heic-images
...
feat: Add automatic image format conversion for HEIC/RAW/PSD files
2026-03-02 23:28:45 +09:00
YeonGyu-Kim
235dd86f29
Merge pull request #1984 from MoerAI/fix/respect-user-external-directory-permission
...
fix(config): respect user's external_directory permission setting
2026-03-02 23:28:22 +09:00
YeonGyu-Kim
3c1b0b344c
fix(model-fallback): apply transformModelForProvider in getNextFallback
...
fix(model-fallback): apply transformModelForProvider in getNextFallback
2026-03-02 23:28:20 +09:00
YeonGyu-Kim
1840de8459
Merge pull request #2021 from cruzanstx/feat/marketplace-plugin-dispatch
...
feat(dispatch): wire marketplace plugin commands into slash command dispatch
2026-03-02 23:28:20 +09:00
YeonGyu-Kim
3339ef52e4
Merge pull request #2173 from Lynricsy/feat/sync-poll-timeout-config
...
feat(delegate-task): ⚙️ make sync subagent timeout configurable via syncPollTimeoutMs
2026-03-02 23:28:15 +09:00
YeonGyu-Kim
de6c81b8a3
Merge pull request #2080 from Firstbober/dev
...
fix: model format normalization and explicit config cache bypass
2026-03-02 23:28:06 +09:00
YeonGyu-Kim
42d52f652f
Merge pull request #2068 from DMax1314/patch-1
...
Update Kimi Code Subscription link in README
2026-03-02 23:28:03 +09:00
YeonGyu-Kim
b180dfa11c
Merge pull request #2125 from zhzy0077/fix/copilot-invalid-initiator
...
fix(chat-headers): skip x-initiator override for @ai-sdk/github-copilot models
2026-03-02 23:27:59 +09:00
YeonGyu-Kim
8610c359b8
Merge pull request #2131 from maou-shonen/fix/comment-checker-dependency-version
...
fix(comment-checker): bump dependency to ^0.7.0 for --prompt support
2026-03-02 23:27:59 +09:00
YeonGyu-Kim
3e0f67632a
Merge pull request #2166 from 1noilimrev/fix/macos-notification-click-target
...
fix(hooks): use terminal-notifier for macOS notification click-to-focus
2026-03-02 23:27:57 +09:00
YeonGyu-Kim
1deb13230f
Merge pull request #2237 from iyoda/refactor/model-resolution-dedup
...
refactor(shared): deduplicate model resolution utility functions
2026-03-02 23:27:49 +09:00
YeonGyu-Kim
af70ec7449
Merge pull request #2198 from acamq/feat/no-auto-commit-work-plan
...
feat(start-work): add auto_commit config option
2026-03-02 23:27:44 +09:00
YeonGyu-Kim
622e8b6792
Merge pull request #2184 from mertyldrm/fix/config-context-warning-leak
...
fix: remove config-context console.warn that leaks into TUI textbox
2026-03-02 23:27:43 +09:00
YeonGyu-Kim
066c665c49
Merge pull request #2176 from YLRong/fix/replace-pos-only-description
...
fix: remove misleading hint from replace pos only description
2026-03-02 23:27:41 +09:00
YeonGyu-Kim
540cd22e8c
fix: initialize config context in plugin runtime to prevent warnings
...
fix: initialize config context in plugin runtime to prevent warnings
2026-03-02 23:27:39 +09:00
YeonGyu-Kim
10662c7a33
Merge pull request #2193 from acamq/fix/load-mcp-hint
...
fix(skill_mcp): improve hint for builtin MCP names
2026-03-02 23:27:37 +09:00
YeonGyu-Kim
930ec52fd1
fix(preemptive-compaction): allow re-compaction after context grows and use model-specific limits
...
compactedSessions permanently blocked re-compaction after first success,
causing unbounded context growth (e.g. 500k on Kimi K2.5 with 256k limit).
- Clear compactedSessions flag on new message.updated so compaction can
re-trigger when context exceeds threshold again
- Use modelContextLimitsCache for model-specific context limits instead
of always falling back to 200k for non-Anthropic providers
2026-03-02 23:07:39 +09:00
IYODA Atsushi
51d53f9976
refactor(shared): deduplicate model resolution utility functions
...
Extract normalizeModel() (3 identical copies) and normalizeModelID()
(2 identical copies) into canonical src/shared/model-normalization.ts.
Delete dead-end duplicate model-name-matcher.ts. Update all consumers.
2026-03-02 16:38:22 +09:00
github-actions[bot]
e4e13cdebf
release: v3.10.0
2026-03-02 06:27:47 +00:00
YeonGyu-Kim
66b8b7e576
feat(hashline): change hashline_edit default from true to false
...
Hashline edit tool and companion hooks now require explicit opt-in
via `"hashline_edit": true` in config. Previously enabled by default.
- tool-registry: hashline edit tool not registered unless opted in
- create-tool-guard-hooks: hashline-read-enhancer disabled by default
- Updated config schema comment and documentation
- Added TDD tests for default behavior
2026-03-02 15:20:31 +09:00
YeonGyu-Kim
5f0aec81e5
perf(read-image-resizer): decode only first 32KB of base64 for dimension parsing
...
Previously decoded entire image buffer to read headers. Now slices base64
to 32KB prefix before decoding — sufficient for PNG/GIF/WebP/JPEG headers.
Dramatically reduces memory allocation for large images.
2026-03-02 15:20:31 +09:00
YeonGyu-Kim
d495604129
fix(hook-message-injector): add process-unique prefix to message/part IDs to prevent storage collisions
...
IDs now include a random 8-hex-char prefix per process (e.g. msg_a1b2c3d4_000001)
preventing collisions when counters reset across process restarts.
2026-03-02 15:20:31 +09:00
YeonGyu-Kim
7224433790
fix(hooks): prevent SSRF via URL scheme validation and extend disable mechanism to HTTP hooks
...
- Restrict HTTP hook URLs to http: and https: schemes only (blocks file://, data://, ftp://)
- Extend hook disable config to cover HTTP hooks by matching against hook URL identifier
- Update all 5 hook executors (pre-tool-use, post-tool-use, stop, pre-compact, user-prompt-submit)
- Add 6 new tests for URL scheme validation (file, data, ftp rejection + http, https, invalid URL)
2026-03-02 15:20:31 +09:00
github-actions[bot]
2c0b29ec15
@mathew-cf has signed the CLA in code-yeongyu/oh-my-opencode#2233
2026-03-01 20:19:41 +00:00
github-actions[bot]
96e52348e8
@Chocothin has signed the CLA in code-yeongyu/oh-my-opencode#2230
2026-03-01 13:52:22 +00:00
github-actions[bot]
6d6431ebc4
@DEAN-Cherry has signed the CLA in code-yeongyu/oh-my-opencode#2227
2026-03-01 08:13:56 +00:00
github-actions[bot]
485382e950
@laciferin2024 has signed the CLA in code-yeongyu/oh-my-opencode#2222
2026-03-01 01:16:35 +00:00
YeonGyu-Kim
5ebd779b46
Merge pull request #2212 from code-yeongyu/fix/h5-collector-ordering
...
fix(context-injector): use monotonic registration order instead of timestamp for deterministic sorting
2026-02-28 13:40:20 +09:00
YeonGyu-Kim
e9f5424260
Merge pull request #2211 from code-yeongyu/fix/c2-hook-message-ids
...
fix(hook-message-injector): use monotonic counter for deterministic message/part IDs
2026-02-28 13:40:18 +09:00
YeonGyu-Kim
f1174cd47d
Merge pull request #2210 from code-yeongyu/fix/c1-synthetic-part-id
...
fix(context-injector): use deterministic synthetic part ID for cache stability
2026-02-28 13:40:16 +09:00
YeonGyu-Kim
ae5c7a4fa7
Merge pull request #2151 from ualtinok/fix/agent-usage-reminder-subagent-exclusion
...
[Bug]: agent-usage-reminder hook sends circular reminders to explore/librarian subagents
2026-02-28 13:37:14 +09:00
YeonGyu-Kim
bb3e5071df
fix(context-injector): use monotonic registration order instead of timestamp for deterministic sorting
2026-02-28 13:30:57 +09:00
YeonGyu-Kim
5981eff841
fix(context-injector): use deterministic synthetic part ID for cache stability
2026-02-28 13:30:49 +09:00
YeonGyu-Kim
ad2599112f
fix(hook-message-injector): use monotonic counter for deterministic message/part IDs
2026-02-28 13:30:14 +09:00
YeonGyu-Kim
c8b0d17f65
Merge pull request #2204 from ualtinok/fix/glob-directory-prefix
...
fix(glob): use cwd-relative search for ripgrep to fix directory prefix patterns
2026-02-28 13:27:00 +09:00
ismeth
cec148f874
fix(glob): use cwd-relative search for ripgrep to fix directory prefix patterns
...
Ripgrep's --glob flag silently returns zero results when the search target
is an absolute path and the pattern contains directory prefixes (e.g.
'apps/backend/**/*.ts' with '/project'). This is a known ripgrep behavior
where glob matching fails against paths rooted at absolute arguments.
Fix by running ripgrep with cwd set to the search path and '.' as the
search target, matching how the find backend already operates. Ripgrep
then sees relative paths internally, so directory-prefixed globs match
correctly. Output paths are resolved back to absolute via resolve().
2026-02-28 13:26:30 +09:00
YeonGyu-Kim
4b69667aa8
feat(hooks): add read-image-resizer hook
...
Intercepts Read tool output with image attachments and resizes to comply with Anthropic API limits (≤1568px long edge, ≤5MB). Only activates for Anthropic provider sessions and appends resize metadata (original/new resolution, token count) to tool output.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-02-28 13:21:40 +09:00
YeonGyu-Kim
aba68d9555
feat(agents): add Gemini tool guide and few-shot examples to system prompt
...
Embed tool usage guide (per-tool parallel/sequential signals) and 5 concrete tool-calling examples directly in Gemini system prompt. Modeled after Antigravity's inline schema approach to improve Gemini tool-call quality.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-02-28 13:21:40 +09:00
YeonGyu-Kim
4554f608ed
feat(agents): add Plan Agent dependency and strengthen Deep Parallel Delegation for non-Claude models
...
Non-Claude models skip planning and under-parallelize. Two new sections
injected only when model is not Claude:
- Plan Agent Dependency: multi-step tasks MUST consult Plan Agent first,
use session_id for follow-ups, ask aggressively when ambiguous
- Deep Parallel Delegation (rewrite): explicit '4 units = 4 agents'
pattern, each with clear GOAL + success criteria, all run_in_background
2026-02-28 13:21:40 +09:00
YeonGyu-Kim
5770efc595
Merge pull request #2202 from ualtinok/fix/glob-grep-relative-path
...
fix(tools): resolve relative paths in glob/grep against project directory
2026-02-28 13:17:53 +09:00