Commit Graph

303 Commits

Author SHA1 Message Date
YeonGyu-Kim 16cbc847ac fix(cli/run): set OPENCODE_CLIENT to 'run' to exclude question tool from registry 2026-03-20 16:12:58 +09:00
YeonGyu-Kim 22fd976eb9 feat(categories): change quick category default model from claude-haiku-4-5 to gpt-5.4-mini
GPT-5.4-mini provides stronger reasoning at comparable speed and cost.
Haiku remains as the next fallback priority in the chain.

Changes:
- DEFAULT_CATEGORIES quick model: anthropic/claude-haiku-4-5 → openai/gpt-5.4-mini
- Fallback chain: gpt-5.4-mini → haiku → gemini-3-flash → minimax-m2.5 → gpt-5-nano
- OpenAI-only catalog: quick uses gpt-5.4-mini directly
- Think-mode: add gpt-5-4-mini and gpt-5-4-nano high variants
- Update all documentation references
2026-03-18 19:03:30 +09:00
YeonGyu-Kim 90aa3a306c perf(hooks,tools): optimize string operations and reduce redundant iterations
- output-renderer, hashline-edit-diff: replace str += with array join (H2)
- auto-slash-command: single-pass Map grouping instead of 6x filter (M1)
- comment-checker: hoist Zod schema to module scope (M2)
- session-last-agent: reverse iterate sorted array instead of sort+reverse (L2)
2026-03-18 14:19:12 +09:00
YeonGyu-Kim fee938d63a fix(cli): cherry-pick glm-4.7-free → gpt-5-nano fallback fix from dev 2026-03-17 16:30:12 +09:00
YeonGyu-Kim 92bc72a90b fix(bun-install): use workspaceDir option instead of hardcoded cache-dir 2026-03-17 16:05:51 +09:00
YeonGyu-Kim e9887dd82f fix(doctor): align auto-update and doctor config paths 2026-03-17 15:56:02 +09:00
YeonGyu-Kim d493f9ec3a fix(cli-run): move resolveRunModel inside try block 2026-03-17 15:49:26 +09:00
YeonGyu-Kim 0471078006 fix(tmux): escape serverUrl in pane shell commands 2026-03-17 15:16:54 +09:00
acamq 1cfc1c8a8b Merge pull request #2596 from cyberprophet/fix/doctor-plugin-version-fallback
fix(doctor): fall back to loadedVersion when pluginVersion is null
2026-03-15 20:22:10 -06:00
acamq a7800a8bf6 Revert "fix(test): update package name to oh-my-openagent in install test" 2026-03-15 20:06:55 -06:00
cyberprophet 5b7ca99b96 fix(doctor): fall back to loadedVersion when pluginVersion is null 2026-03-16 11:00:05 +09:00
YeonGyu-Kim f31f50abec fix(release): revert package identity to oh-my-opencode
Keep installer, config detection, schema generation, and publish workflows aligned with the long-lived oh-my-opencode package so this release does not split across two npm names.

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

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-16 10:38:55 +09:00
YeonGyu-Kim 7f7527047e fix(cli): validate and detect OpenCode Go install settings
Reject invalid --opencode-go values during non-TUI installs and detect existing OpenCode Go usage from the generated oh-my-opencode config so updates preserve the right defaults.

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

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-16 10:38:55 +09:00
YeonGyu-Kim 532995bb51 fix(model-fallback): align OpenAI fallback resolution across CLI and runtime
Keep install-time and runtime model tables in sync, stop OpenAI-only misrouting when OpenCode Go is present, and add valid OpenAI fallbacks for atlas, metis, and sisyphus-junior.

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

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-16 10:38:55 +09:00
acamq 65ccc9b854 Merge pull request #2588 from acamq/refactor/doctor-lsp-extensions
refactor(doctor): show detected LSP extensions instead of hardcoded server counts
2026-03-15 19:12:48 -06:00
acamq 85d812964b chore: remove unused LspServerInfo type 2026-03-15 19:09:47 -06:00
acamq da788d3906 fix(doctor): remove redundant extensions from verbose LSP header
The header line was showing all extensions unioned together which was
redundant with the per-server detail lines below and caused line overflow.
Status mode also simplified to just show server count.
2026-03-15 19:02:21 -06:00
acamq 03da2e94a2 refactor(doctor): show detected LSP servers and extensions instead of hardcoded counts
Replace the hardcoded 4-server list in doctor LSP check with getAllServers()
from server-resolution.ts, which covers all 40+ builtin servers plus user
config. Output now shows server count with supported extensions, and verbose
mode expands to per-server detail lines.

Status:  LSP 3 servers (.go, .py, .pyi, .ts, .tsx)
Verbose: LSP 3 servers (.go, .py, .pyi, .ts, .tsx)
           typescript (.ts, .tsx, .js, .jsx)
           pyright (.py, .pyi)
           gopls (.go)

Closes #2587
2026-03-15 19:00:17 -06:00
acamq 2fd6f4bf57 Merge pull request #2582 from acamq/fix/fix-install-test
fix(test): update package name to oh-my-openagent in install test
2026-03-15 16:31:56 -06:00
acamq 0f0e4c649b fix(test): update package name to oh-my-openagent in install test
The test was checking for the old package name 'oh-my-opencode'
but the plugin registration now uses 'oh-my-openagent'.
2026-03-15 16:26:35 -06:00
acamq b7c68080b4 Merge pull request #2532 from ricatix/fix/doctor-verbose-models
fix(cli): render verbose doctor check details
2026-03-15 16:19:08 -06:00
YeonGyu-Kim 0dcfcd372b feat(cli): support both oh-my-opencode and oh-my-openagent package names
Update CLI config manager to detect and handle both legacy (oh-my-opencode)
and new (oh-my-openagent) package names during installation. Migration
will automatically replace old plugin entries with the new name.

🤖 Generated with assistance of OhMyOpenCode
2026-03-14 12:45:58 +09:00
YeonGyu-Kim 38938508fa test(model-fallback): update snapshots and kimi model expectations for opencode-go integration 2026-03-13 10:48:05 +09:00
ricatix 63ac37cd29 fix(cli): render verbose doctor check details
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-12 22:20:48 +07:00
YeonGyu-Kim 53c65a7e63 feat(cli): add sisyphus-junior model fallback requirements
Add CLI_AGENT_MODEL_REQUIREMENTS entry for sisyphus-junior with
fallback chain: claude-sonnet-4-6 -> kimi-k2.5 -> big-pickle.

🤖 Generated with assistance of OhMyOpenCode
2026-03-12 18:19:06 +09:00
YeonGyu-Kim a9fde452ac feat(opencode-go): update on-complete hook for provider display 2026-03-12 18:19:06 +09:00
YeonGyu-Kim 338379941d feat(opencode-go): integrate into model fallback chain resolution 2026-03-12 18:19:06 +09:00
YeonGyu-Kim 44d602b7e5 feat(opencode-go): integrate installer with config detection 2026-03-12 18:19:06 +09:00
YeonGyu-Kim 66ec9f58ee feat(opencode-go): add CLI install flag and TUI prompts 2026-03-12 18:19:06 +09:00
YeonGyu-Kim 89d1e105a8 feat(opencode-go): add model requirements for go-tier models 2026-03-12 18:19:06 +09:00
YeonGyu-Kim 504b68f2ac feat(opencode-go): add provider type and availability detection 2026-03-12 18:19:06 +09:00
YeonGyu-Kim ca7c0e391e fix(bun-install): default outputMode to "pipe" to prevent TUI stdout leak
runBunInstallWithDetails() defaulted to outputMode:"inherit", causing
bun install stdout/stderr to leak into the TUI when callers omitted the
option. Changed default to "pipe" so output is captured silently.

Also fixed stale mock in background-update-check.test.ts: the test was
mocking runBunInstall (unused) instead of runBunInstallWithDetails, and
returning boolean instead of BunInstallResult.
2026-03-12 18:19:06 +09:00
YeonGyu-Kim de2b073fce test(auto-update-checker): type background update bun install mock
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-11 21:01:16 +09:00
YeonGyu-Kim 522ae81960 test(config-manager): add bun types reference for bun install test
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-11 20:56:22 +09:00
YeonGyu-Kim 3ccf378b2d fix(config-manager): support silent bun install execution
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-11 20:50:25 +09:00
YeonGyu-Kim 0eb447113e feat(cli): add --model option to run command for model override
Add -m, --model <provider/model> option to oh-my-opencode run command.
Allows users to override the model while keeping the agent unchanged.

Changes:
- Add model?: string to RunOptions interface
- Create model-resolver.ts to parse provider/model format
- Add model-resolver.test.ts with 7 test cases (TDD)
- Add --model CLI option with help text examples
- Wire resolveRunModel in runner.ts and pass to promptAsync
- Export resolveRunModel from barrel (index.ts)

Example usage:
  bunx oh-my-opencode run --model anthropic/claude-sonnet-4 "Fix the bug"
  bunx oh-my-opencode run --agent Sisyphus --model openai/gpt-5.4 "Task"
2026-03-11 19:42:46 +09:00
YeonGyu-Kim 24f4e14f07 Simplify poll completion test setup
Move repeated console suppression and abort scheduling into shared helpers so each test focuses on completion state transitions instead of harness noise.

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

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-11 19:42:46 +09:00
YeonGyu-Kim 398b556f23 Merge pull request #2364 from code-yeongyu/fix/issue-2240
fix(doctor): prefer config dir for loaded plugin version
2026-03-11 18:29:51 +09:00
YeonGyu-Kim a2fd6d77bd docs: update all GitHub URLs from oh-my-opencode to oh-my-openagent
The GitHub repository was renamed from oh-my-opencode to oh-my-openagent,
but all documentation, scripts, and source code references still pointed
to the old repository name. This caused confusion for users who saw
'oh-my-opencode' in docs but a different repo name on GitHub.

Updated all references across:
- README files (en, ko, ja, zh-cn, ru)
- CONTRIBUTING.md
- docs/ (installation, overview, configuration, etc.)
- Source code (schema URLs, GitHub API calls, issue links)
- Test snapshots

The npm package name remains 'oh-my-opencode' (unchanged).

Fixes: https://x.com/Dhruv14588676/status/2031216617762468348
2026-03-10 15:18:16 +09:00
YeonGyu-Kim 2919ec7256 Tune OpenAI-only model catalog variants
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-09 18:31:17 +09:00
acamq c4112f80db fix(auto-updater): handle bun.lockb and add workspace validation
- Support binary bun.lockb format by deleting entire file (cannot parse)
- Add workspace check: verify package.json exists before bun install
- Quote paths in error messages for Windows/paths with spaces
2026-03-08 09:15:13 -06:00
acamq a7d5e683c7 fix(auto-update-checker): use OpenCode cache paths for updates
Align version lookup, invalidation, and bun install with OpenCode's cache directory so updates target the loaded plugin location. Keep dependency declarations intact during invalidation so auto-update can reinstall instead of converging to uninstall.
2026-03-07 15:56:21 -07:00
YeonGyu-Kim 26ae247f4f test(doctor): isolate loaded version module import
Load the doctor loaded-version module through a unique test-only specifier so Bun module mocks from system tests cannot leak into the real module assertions in CI.

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

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-08 07:07:06 +09:00
YeonGyu-Kim 740d39e13a fix(doctor): prefer config dir for loaded plugin version
Check the OpenCode config install before the legacy cache install so doctor reports the actual loaded plugin version for bun-based installs.

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

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-08 02:08:37 +09:00
YeonGyu-Kim 01efda454f feat(model-requirements): set multimodal-looker primary model to gpt-5.4 medium
Change multimodal-looker's primary model from gpt-5.3-codex to gpt-5.4 medium
in both runtime and CLI fallback chains.

Changes:
- Runtime chain (src/shared/model-requirements.ts): primary now gpt-5.4
- CLI chain (src/cli/model-fallback-requirements.ts): primary now gpt-5.4
- Updated test expectations in model-requirements.test.ts
- Updated config-manager.test.ts assertion
- Updated model-fallback snapshots
2026-03-08 01:53:30 +09:00
YeonGyu-Kim 60bc9a7609 feat(model-requirements): add k2p5, kimi-k2.5, gpt-5.4 medium to Sisyphus fallback chain
Sisyphus can now fall back through Kimi and OpenAI models when Claude
is unavailable, enabling OpenAI-only users to use Sisyphus directly
instead of being redirected to Hephaestus.

Runtime chain: claude-opus-4-6 max → k2p5 → kimi-k2.5 → gpt-5.4 medium → glm-5 → big-pickle
CLI chain: claude-opus-4-6 max → k2p5 → gpt-5.4 medium → glm-5
2026-03-08 01:41:45 +09:00
YeonGyu-Kim fade6740ae chore: update GPT-5.2 references to GPT-5.4
Align runtime defaults, tests, docs, and generated artifacts with the newer GPT-5.4 baseline. Keep think-mode and prompt-routing expectations consistent after the model version bump.
2026-03-07 05:46:05 +09:00
YeonGyu-Kim 23dcd99c9a docs(agents): refresh generated AGENTS guides
🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode)
2026-03-06 17:59:05 +09:00
YeonGyu-Kim 7718969317 feat(model-requirements): prefer GPT-5.4 and glm-5 in agent fallback chains
Align Prometheus, Momus, and Atlas with newer GPT-5.4 fallback tiers and replace Sisyphus install-time GLM-4.7 fallbacks with GLM-5 only.

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

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-06 17:43:48 +09:00
YeonGyu-Kim b062fc45cb fix: address Cubic P2 review - fake timers in tests, add opencode provider to glm-5
Replace real setTimeout(7000) with fake timer interception in atlas
retry tests (35s -> 227ms). Add missing opencode provider to glm-5
fallback in unspecified-high category.
2026-03-06 16:55:02 +09:00