Commit Graph

4983 Commits

Author SHA1 Message Date
YeonGyu-Kim 0ea701286e Merge pull request #3394 from code-yeongyu/docs/update-ollama
docs(ollama): update issue status notation
2026-04-13 21:30:28 +09:00
YeonGyu-Kim b57a79750f docs(ollama): verify troubleshooting steps and issue links 2026-04-13 21:23:05 +09:00
YeonGyu-Kim 678011c790 docs(contributing): update tool/hook counts and version references 2026-04-13 21:21:53 +09:00
YeonGyu-Kim 01a1b141e9 fix(delegate-task): reject primary agents in task subagent resolution
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-13 17:03:37 +09:00
YeonGyu-Kim f1cd4d73d6 Merge pull request #3376 from matchai/feat/vercel-ai-gateway
feat(provider): add Vercel AI Gateway support
2026-04-13 15:58:29 +09:00
YeonGyu-Kim e3b5c2be2e fix: address review feedback for Vercel AI Gateway PR
- Add --vercel-ai-gateway CLI option to install command
- Fix librarian/explore priority: native providers (ZAI, Copilot) now take precedence over Vercel gateway
- Add hasVercelAiGateway to installer no-provider warning conditions
- Add hasVercelAiGateway: false to all test file InstallConfig fixtures
- Fix test expectations for model ID format (claude-opus-4.6 vs claude-opus-4-6)
2026-04-13 15:31:28 +09:00
YeonGyu-Kim 680d05a28b Prometheus: keep planner primary-only 2026-04-13 14:28:07 +09:00
Matan Kushner 569addd3b0 docs(provider): add comments to vercel transform logic 2026-04-13 14:05:29 +09:00
Matan Kushner effae16c14 refactor(provider): replace per-model string replacements with generic regex
Claude version transforms now use a single regex
claude-(\w+)-(\d+)-(\d+) -> claude-$1-$2.$3 instead of one
.replace() per model. New claude models need zero changes.
2026-04-13 14:01:17 +09:00
Matan Kushner 34e334eabe feat(provider): add vercel to all gateway-supported fallback entries
Adds vercel to every fallback entry where the model exists on the
gateway (kimi-k2.5, glm-5, glm-4.6v, minimax-m2.7, grok-code-fast-1,
gpt-5-nano). Adds inferSubProvider mappings for minimax, moonshotai,
and zai. Updates librarian/explore special cases to prefer minimax
via gateway over claude-haiku.
2026-04-13 13:44:50 +09:00
Matan Kushner 542dc890f9 fix(provider): use gateway-specific model IDs for vercel transform
The gateway uses google/gemini-3-flash (no -preview suffix) unlike the
direct Google API. Give the vercel provider its own transform instead
of delegating to sub-provider transforms blindly.
2026-04-13 12:51:56 +09:00
github-actions[bot] 84f980c95e @matchai has signed the CLA in code-yeongyu/oh-my-openagent#3376 2026-04-13 02:28:06 +00:00
Matan Kushner 6f72ec754d test: add integration tests for Vercel AI Gateway model resolution 2026-04-13 11:26:30 +09:00
Matan Kushner aac1713583 test: add vercel provider transform tests 2026-04-13 11:23:11 +09:00
Matan Kushner dac0c99e8c feat: add Vercel AI Gateway as a provider
Adds 'vercel' as a recognized provider throughout the model resolution
system, enabling users with Vercel AI Gateway to use it as a universal
fallback for OpenAI, Anthropic, and Google models.

The gateway transform infers the sub-provider from canonical model names
(claude->anthropic, gpt->openai, gemini->google) and delegates to the
appropriate provider-specific transform, producing model strings like
vercel/anthropic/claude-opus-4.6.
2026-04-13 11:22:22 +09:00
github-actions[bot] 42df1c3cbb @FuDesign2008 has signed the CLA in code-yeongyu/oh-my-openagent#3371 2026-04-12 23:02:52 +00:00
github-actions[bot] c6deb6d6b9 @Zireael has signed the CLA in code-yeongyu/oh-my-openagent#3370 2026-04-12 22:52:36 +00:00
YeonGyu-Kim 3d2eb6e471 fix(config): preserve explicit git_master overrides during merge
Prevent project config defaults from re-enabling git_master fields that users explicitly disabled. Rebuild git_master from explicit user and project keys so include_co_authored_by and commit_footer merge predictably.

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

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-12 18:18:37 +09:00
YeonGyu-Kim 051ab840d6 Merge pull request #3348 from code-yeongyu/refactor/ulw-repo-cleanup-20260411
refactor: simplify nullish guards and remove dead no-op paths
2026-04-12 18:04:43 +09:00
github-actions[bot] 5b33cd225f @lrq3000 has signed the CLA in code-yeongyu/oh-my-openagent#3358 2026-04-12 01:51:28 +00:00
YeonGyu-Kim 7f5059d5b9 Merge pull request #2974 from trafgals/fix/user-agents-callable-v2
fix: include user/project agents in task(subagent_type) resolution
2026-04-12 06:17:26 +09:00
code-yeongyu 3053d5901a Merge branch 'dev' into fix/user-agents-callable-v2
Resolves conflicts with ZWSP agent ordering, display name unification, and test file migration to zauc-mocks split.
2026-04-12 06:13:52 +09:00
github-actions[bot] 6a0d515dcc @divlook has signed the CLA in code-yeongyu/oh-my-openagent#3353 2026-04-11 18:44:14 +00:00
YeonGyu-Kim c5c5bc36bc fix(delegate-task): consume fallback chain on sendSyncPrompt failure (#2691)
setSessionFallbackChain stored the fallback chain but the sync path
never consumed it when sendSyncPrompt returned an error. Added a
retry loop that iterates getNextFallback() until the prompt succeeds
or the chain is exhausted, preserving the finally-block cleanup.

🤖 Generated with OhMyOpenCode assistance
https://github.com/code-yeongyu/oh-my-opencode
2026-04-12 02:30:32 +09:00
YeonGyu-Kim aed8dbfa3e fix(delegate-task): fetch session result before honoring abort signal (#2702)
The sync poller returned 'Task aborted' immediately when the abort
signal fired, even when a terminal assistant message had already
arrived during the previous wait. Now attempts one final fetch and
returns the completion result if available before emitting the
abort message.

🤖 Generated with OhMyOpenCode assistance
https://github.com/code-yeongyu/oh-my-opencode
2026-04-12 02:30:22 +09:00
YeonGyu-Kim eb495793db fix(event): prefer real session.idle over recent synthetic dedup (#2667)
The dedup logic dropped real session.idle events when a synthetic
idle had fired within the dedup window, losing data that downstream
hooks needed. Now real idle events always reach dispatchToHooks while
synthetic duplicates are still dropped when a real event came first.

🤖 Generated with OhMyOpenCode assistance
https://github.com/code-yeongyu/oh-my-opencode
2026-04-12 02:30:11 +09:00
YeonGyu-Kim 3bfa3bd608 fix(background-agent): pass query directory to session.get in 4 call-sites (#2937)
resolveSubagentSpawnContext and related lookups called client.session.get
without the query.directory parameter, causing project-scoped sessions
to 404 under newer OpenCode SDK versions. Threaded directory through
SpawnerContext/BackgroundManager so all four call-sites pass it.

🤖 Generated with OhMyOpenCode assistance
https://github.com/code-yeongyu/oh-my-opencode
2026-04-12 02:30:01 +09:00
YeonGyu-Kim d8b9bf1aad fix(doctor): check comment-checker lazy-download cache path (#2911, #3315)
Doctor's comment-checker probe only checked system PATH and the
package binary while the runtime resolution path checks the
lazy-download cache first. Aligned the doctor resolution order
with runtime so the cached binary is recognized as installed.

🤖 Generated with OhMyOpenCode assistance
https://github.com/code-yeongyu/oh-my-opencode
2026-04-12 02:29:49 +09:00
YeonGyu-Kim 64e5593697 fix(multimodal-looker): instruct explicit Read tool usage for PDFs (#2998)
The agent prompt described PDF handling but did not tell the agent
to call the Read tool, which is its only allowed tool. Added
explicit instruction so PDFs and documents are actually loaded
before extraction.

🤖 Generated with OhMyOpenCode assistance
https://github.com/code-yeongyu/oh-my-opencode
2026-04-12 02:29:39 +09:00
YeonGyu-Kim 796a646c63 fix(non-interactive-env): use detectShellType instead of hardcoded win32 check (#3310, #3338)
Hardcoded platform check forced PowerShell env syntax on Windows
regardless of the actual shell. Replaced with detectShellType() so
Git Bash, WSL, and similar environments use unix prefixes while
native PowerShell continues to get powershell prefixes.

🤖 Generated with OhMyOpenCode assistance
https://github.com/code-yeongyu/oh-my-opencode
2026-04-12 02:29:28 +09:00
YeonGyu-Kim 2d8b4a9d53 fix(anthropic-effort): skip effort injection for github-copilot provider (#3270)
github-copilot routes Claude models but rejects the Anthropic effort
parameter. Added an explicit guard so effort is no longer injected
when the provider ID is github-copilot, while preserving native
Anthropic provider support.

🤖 Generated with OhMyOpenCode assistance
https://github.com/code-yeongyu/oh-my-opencode
2026-04-12 02:29:18 +09:00
YeonGyu-Kim 7e96af5f28 fix(atlas): exclude node_modules from verification git diff --stat (#3215)
Atlas verification reminders instructed 'git diff --stat' which
included node_modules noise in the output. Added pathspec exclude
to both VERIFICATION_REMINDER and VERIFICATION_REMINDER_GEMINI
templates.

🤖 Generated with OhMyOpenCode assistance
https://github.com/code-yeongyu/oh-my-opencode
2026-04-12 02:29:08 +09:00
YeonGyu-Kim d7b4bec58b fix(hooks,tools): replace /plan example with prometheus delegation and rename code-review example to review-work (#2633, #3285, #2873)
- context-info-builder referenced a non-existent /plan command;
  now directs users to the Prometheus agent for planning
- skill tool description example referenced 'code-review' which
  does not exist; changed to 'review-work' (actual built-in skill)
- skill tool execute path now surfaces the missing host permission
  gap so callers understand OpenCode plugin context limits

🤖 Generated with OhMyOpenCode assistance
https://github.com/code-yeongyu/oh-my-opencode
2026-04-12 02:28:58 +09:00
YeonGyu-Kim c750781be4 fix(shared): avoid false-positive skill path resolution on npm scoped packages (#2857)
The @scope/path regex incorrectly matched npm scoped package references
like 'require(\"@scope/pkg\")' or '--package=@scope/pkg'. Added context
filtering to exclude matches preceded by npm/import indicators.

🤖 Generated with OhMyOpenCode assistance
https://github.com/code-yeongyu/oh-my-opencode
2026-04-12 02:28:46 +09:00
YeonGyu-Kim 4f02ace7de fix(shared): guard maxOutputTokens <= 0 in model settings compatibility (#3305)
When model metadata reports maxOutputTokens as 0 or negative, the
clamp logic would set maxTokens to 0 and break generation. Added
a positive-value guard so invalid metadata is ignored and the
user-requested maxTokens is preserved.

🤖 Generated with OhMyOpenCode assistance
https://github.com/code-yeongyu/oh-my-opencode
2026-04-12 02:28:36 +09:00
YeonGyu-Kim a6e4f211a3 fix(shared): normalize claude model IDs for anthropic provider (#3290)
Anthropic API accepts claude-opus-4.6 (dot format) but not
claude-opus-4-6 (dash format). Added anthropic case to
transformModelForProvider to normalize dash-format model IDs before
they reach the provider. Updated model config snapshots and test
expectations to match the new dot-format output.

🤖 Generated with OhMyOpenCode assistance
https://github.com/code-yeongyu/oh-my-opencode
2026-04-12 02:28:27 +09:00
YeonGyu-Kim 9ef133a8c7 fix(migration): register parenthesized legacy agent aliases in AGENT_NAME_MAP (#3281)
Old sessions and configs reference agent names in parenthesized format
like 'Sisyphus (Ultraworker)' and 'Atlas (Plan Executor)' which failed
to map during migration. Added entries for all six core agents.

🤖 Generated with OhMyOpenCode assistance
https://github.com/code-yeongyu/oh-my-opencode
2026-04-12 02:28:15 +09:00
YeonGyu-Kim 7accb53cbb fix(shared): handle Windows rename-over-existing in write-file-atomically (#3222)
On Windows, renameSync fails with EPERM/EACCES when the target file
already exists. Fall back to unlink + rename on Windows permission
errors while preserving atomic semantics on other platforms.

🤖 Generated with OhMyOpenCode assistance
https://github.com/code-yeongyu/oh-my-opencode
2026-04-12 02:28:05 +09:00
YeonGyu-Kim e71c34acb2 fix(migration): return true when canonical config write succeeds regardless of archive status (#3133)
Previously returned archivedLegacyConfig which was false when archive
rename failed, even though the canonical file was successfully written.
Archive failure is secondary cleanup and should not be reported as
migration failure.

🤖 Generated with OhMyOpenCode assistance
https://github.com/code-yeongyu/oh-my-opencode
2026-04-12 02:27:56 +09:00
YeonGyu-Kim 141798efed refactor(background-agent): standardize loop detector null guards
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-12 00:42:52 +09:00
YeonGyu-Kim 4de02094ab test(background-agent): lock nullish loop detector behavior
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-12 00:42:25 +09:00
YeonGyu-Kim 21cad26c08 docs(config): remove redundant schema default comments
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-12 00:07:10 +09:00
YeonGyu-Kim 6713b30cc1 refactor(hooks): drop no-op directory injector callbacks
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-12 00:07:10 +09:00
YeonGyu-Kim a0d5131ee1 refactor(plugin): remove dead chat params code
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-12 00:07:10 +09:00
YeonGyu-Kim 668bc8e83d refactor(config-manager): simplify config parsing guards
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-12 00:07:10 +09:00
YeonGyu-Kim 50df6f0d3e test(claude-code-plugin-loader): cover plugin path nullish resolution
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-12 00:07:10 +09:00
YeonGyu-Kim cd8352c108 refactor(claude-code-mcp-loader): simplify env expansion null guard
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-12 00:07:10 +09:00
YeonGyu-Kim 79a475d60f refactor(background-agent): simplify loop detector null guard
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-12 00:07:10 +09:00
YeonGyu-Kim 2d65896bbd refactor(shared): simplify normalize SDK null guards
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-12 00:07:10 +09:00
YeonGyu-Kim 470ed8b13a fix(ci): remove existing signature before ad-hoc signing darwin binary
Bun-compiled binaries contain a malformed LC_CODE_SIGNATURE load
command that prevents codesign from directly replacing it. Remove
the existing signature first, then apply a fresh ad-hoc signature.
2026-04-11 23:55:02 +09:00