Commit Graph

1823 Commits

Author SHA1 Message Date
YeonGyu-Kim c01308872f fix(tasks): use path.isAbsolute() for cross-platform path detection
Fixes Cubic AI review finding: startsWith('/') doesn't work on Windows
where absolute paths use drive letters (e.g., C:\).
2026-02-04 15:37:12 +09:00
YeonGyu-Kim e2660e3103 docs(tasks): update AGENTS.md for global storage architecture 2026-02-04 15:15:08 +09:00
YeonGyu-Kim 21429704b4 refactor(tasks): consolidate task-list path resolution to use getTaskDir 2026-02-04 15:12:28 +09:00
YeonGyu-Kim 829c0c372f chore: regenerate schema after Task 1 changes 2026-02-04 15:10:58 +09:00
YeonGyu-Kim b8f0be87ee feat(tasks): migrate storage to global config dir with ULTRAWORK_TASK_LIST_ID support 2026-02-04 15:08:06 +09:00
YeonGyu-Kim 19991e51a7 feat(config): update task config schema for global storage
- Make storage_path truly optional (remove default)
- Add task_list_id as config alternative to env var
- Fix build-schema.ts to use zodToJsonSchema

🤖 Generated with assistance of OhMyOpenCode
2026-02-04 15:04:49 +09:00
YeonGyu-Kim 390aa5d4f6 fix: remove broken TOC links in translated READMEs
Remove outdated configuration section links that no longer exist.
Applies changes from PR #1386 (pierrecorsini).

Co-authored-by: Pierre CORSINI <pierrecorsini@users.noreply.github.com>
2026-02-04 13:54:50 +09:00
YeonGyu-Kim 0105be4bc4 Merge pull request #1371 from YanzheL/feat/websearch-multi-provider
feat(mcp): add multi-provider websearch support (Exa + Tavily)
2026-02-04 13:52:36 +09:00
YeonGyu-Kim aac6625762 Merge pull request #1470 from Lynricsy/fix/categories-model-precedence
fix(delegate-task): honor explicit category model over sisyphus-junior
2026-02-04 13:52:25 +09:00
YeonGyu-Kim 2e3aafc7dd fix(skill-loader): deterministic collision handling for skill names
- Separate directory and file entries, process directories first
- Use Map to deduplicate skills by name (first-wins)
- Directory skills (SKILL.md, {dir}.md) take precedence over file skills (*.md)
- Add test for collision scenario

Addresses Oracle P2 review feedback from PR #1254
2026-02-04 13:52:06 +09:00
YeonGyu-Kim b775ae7cf2 Merge pull request #1370 from misyuari/fix/refactor-skills
fix: update skill resolution to support disabled skills functionality
2026-02-04 13:47:26 +09:00
YeonGyu-Kim 4e31fae7e6 Merge pull request #1254 from LeekJay/fix/nested-skill-discovery
feat(skill-loader): support nested skill directories
2026-02-04 13:40:03 +09:00
YeonGyu-Kim f7dc4c6f9b hephaestus color improvement 2026-02-04 13:36:45 +09:00
YeonGyu-Kim 2b5244a6d8 fix(background-agent): abort session on model suggestion retry failure
When promptWithModelSuggestionRetry() fails, the session was not being aborted, causing the polling loop to wait forever for an idle state. Added session.abort() calls in startTask() and resume() catch blocks.

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

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-02-04 13:36:45 +09:00
YeonGyu-Kim 833c59d5e7 style(agents): update Hephaestus and Prometheus colors
- Hephaestus: #FF4500 (Magma Orange) → #708090 (Slate Gray)
  Blacksmith's hammer/iron theme, visible in both light and dark modes

- Prometheus: #9D4EDD (Amethyst Purple) → #FF5722 (Deep Orange)
  Fire/flame theme, restoring the original fire color concept
2026-02-04 13:36:45 +09:00
YeonGyu-Kim b321b7926f Merge pull request #1280 from Zacks-Zhang/fix/fix-stale-lsp-diagnostics
fix(lsp): prevent stale diagnostics by syncing didChange
2026-02-04 13:35:07 +09:00
YeonGyu-Kim 4d0ef274a5 Merge pull request #1297 from khduy/fix/deduplicate-settings-paths
fix(claude-code-hooks): deduplicate settings paths to prevent double hook execution
2026-02-04 13:35:06 +09:00
YeonGyu-Kim 61f0b17c5b Merge pull request #1289 from KonaEspresso94/fix/agent-tools-bug
fix: honor tools overrides via permission migration
2026-02-04 13:34:53 +09:00
YeonGyu-Kim b00114bafb Merge pull request #1393 from ualtinok/dev
fix: grep and glob tools usage without path param under Opencode Desktop
2026-02-04 13:34:52 +09:00
YeonGyu-Kim 11a08eda3f Merge pull request #1388 from boguan/dev
fix: remove redundant removeCodeBlocks call
2026-02-04 13:34:51 +09:00
YeonGyu-Kim f042390576 Merge pull request #1384 from devxoul/fix/readme-toc-links
fix: remove broken TOC links in README
2026-02-04 13:34:40 +09:00
Lynricsy 176f15ce5b fix(delegate-task): honor explicit category model over sisyphus-junior 2026-02-04 11:51:20 +08:00
YeonGyu-Kim 06522a96fe revert(call-omo-agent): remove metis/momus from ALLOWED_AGENTS
call_omo_agent is for lightweight exploration agents (explore, librarian).
metis/momus are consultation agents that should be invoked via delegate_task.

Reverts part of #1462 that incorrectly added metis/momus to call_omo_agent.
2026-02-04 11:38:24 +09:00
YeonGyu-Kim 1f44b3e04f fix(agent-restrictions): add read-only restrictions for metis and momus
- Add metis and momus to AGENT_RESTRICTIONS with same pattern as oracle
- Deny write, edit, task, and delegate_task tools
- Enforces read-only design for these advisor agents
- Addresses cubic review feedback on #1462
2026-02-04 11:36:34 +09:00
YeonGyu-Kim 8d7879c2a9 fix(call-omo-agent): allow Prometheus to call Metis and Momus (#1462)
* fix(call-omo-agent): allow Prometheus to call Metis and Momus

* fix(call-omo-agent): update help text and remove unrelated bun.lock

- Update subagent_type description to include metis and momus
- Remove unrelated bun.lock changes (keeps PR scope tight)
- Addresses Oracle review feedback
2026-02-04 11:27:14 +09:00
YeonGyu-Kim 3297cf94cc fix(skill-mcp): avoid propertyNames for Gemini compatibility (#1465)
- Replace record(string, unknown) with object({}) in arguments schema
- record() generates propertyNames which Gemini rejects with 400 error
- object({}) generates plain { type: 'object' } without propertyNames
- Runtime parseArguments() already handles arbitrary object keys

Fixes #1315
2026-02-04 11:26:34 +09:00
YeonGyu-Kim 1c050852a0 fix(model-requirements): use supported variant for gemini-3-pro (#1463)
* fix(model-requirements): use supported variant for gemini-3-pro

* fix(delegate-task): update artistry variant to high for gemini-3-pro

- Update DEFAULT_CATEGORIES artistry variant from 'max' to 'high'
- Update related test comment
- gemini-3-pro only supports low/high thinking levels, not max
- Addresses Oracle review feedback
2026-02-04 11:26:17 +09:00
YeonGyu-Kim ed8ee3b212 fix(model-availability): prefer exact model ID match in fuzzyMatchModel (#1460)
* fix(model-availability): prefer exact model ID match in fuzzyMatchModel

* fix(model-availability): use filter+shortest for multi-provider tie-break

- Change Priority 2 from find() to filter()+reduce()
- Preserves shortest-match tie-break when multiple providers share model ID
- Add test for multi-provider same model ID case
- Addresses Oracle review feedback
2026-02-04 11:25:59 +09:00
YeonGyu-Kim 1faff00593 docs: clarify Prometheus invocation workflow (#1466) 2026-02-04 11:25:46 +09:00
YeonGyu-Kim d7dd9e482f fix(doctor): respect user-configured agent variant (#1464)
* fix(doctor): respect user-configured agent variant

* fix(doctor): align variant resolution with agent-variant.ts

- Add case-insensitive agent key lookup (matches canonical logic)
- Support category-based variant inheritance (agent.category -> categories[cat].variant)
- Separate getCategoryEffectiveVariant for category-specific resolution
- Addresses Oracle review feedback
2026-02-04 11:25:37 +09:00
YeonGyu-Kim 4682dacfea fix(docs): instruct curl over WebFetch for installation (#1461) 2026-02-04 11:25:25 +09:00
dan a7262000ff fix(auth): opencode desktop server unauthorized bugfix on subagent spawn (#1399)
* fix(auth): opencode desktop server unauthorized bugfix on subagent spawn

* refactor(auth): add runtime guard and throw on SDK mismatch

- Add JSDoc with SDK API documentation reference
- Replace silent failure with explicit Error throw when OPENCODE_SERVER_PASSWORD is set but client structure is incompatible
- Add runtime type guard for SDK client structure
- Add tests for error cases (missing _client, missing setConfig)
- Remove unrelated bun.lock changes

Co-authored-by: dan-myles <dan-myles@users.noreply.github.com>

---------

Co-authored-by: YeonGyu-Kim <code.yeon.gyu@gmail.com>
Co-authored-by: dan-myles <dan-myles@users.noreply.github.com>
2026-02-04 11:07:02 +09:00
Rishi Vhavle 2dc241cbbe fix: block bash commands in Prometheus mode to respect permission config (#1449)
Fixes #1428 - Prometheus bash bypass security issue
2026-02-04 11:06:54 +09:00
YeonGyu-Kim df784c4f83 fix(non-interactive-env): use detectShellType() instead of hardcoded 'unix' (#1459)
The shellType was hardcoded to 'unix' which breaks on native Windows shells
(cmd.exe, PowerShell) when running without Git Bash or WSL.

This change uses the existing detectShellType() function to dynamically
determine the correct shell type, enabling proper env var syntax for all
supported shell environments.
2026-02-04 10:52:46 +09:00
github-actions[bot] 99f83a844f @kaizen403 has signed the CLA in code-yeongyu/oh-my-opencode#1449 2026-02-03 20:44:35 +00:00
github-actions[bot] 3905adf5ea @wydrox has signed the CLA in code-yeongyu/oh-my-opencode#1436 2026-02-03 16:39:46 +00:00
YanzheL 8340a18c31 fix(test): use try/finally for guaranteed env restoration 2026-02-03 23:37:12 +08:00
YanzheL 37447a5ff3 fix(mcp): lazy evaluation prevents crash when websearch disabled
createWebsearchConfig was called eagerly before checking disabledMcps,
causing Tavily missing-key error even when websearch was disabled.
Now each MCP is only created if not in disabledMcps list.
2026-02-03 23:37:12 +08:00
YanzheL 695604cb3b fix(mcp): rewrite tests to call createWebsearchConfig directly
Previously tests were tautological - they defined local logic
instead of invoking the actual implementation. Now all tests
properly exercise createWebsearchConfig.
2026-02-03 23:37:12 +08:00
YanzheL 54e0877113 docs(mcp): document websearch provider configuration 2026-02-03 23:37:12 +08:00
YanzheL 1b1de43c24 test(mcp): add websearch provider tests 2026-02-03 23:37:12 +08:00
YanzheL 6f83c58c96 feat(mcp): add multi-provider websearch support 2026-02-03 23:37:12 +08:00
YanzheL 967b2d0581 feat(config): add websearch provider schema 2026-02-03 23:37:12 +08:00
github-actions[bot] c93027ef66 @filipemsilv4 has signed the CLA in code-yeongyu/oh-my-opencode#1435 2026-02-03 14:38:23 +00:00
github-actions[bot] 26a70f5ada @sk0x0y has signed the CLA in code-yeongyu/oh-my-opencode#1434 2026-02-03 14:21:40 +00:00
github-actions[bot] ff43ef3f50 @Stranmor has signed the CLA in code-yeongyu/oh-my-opencode#1432 2026-02-03 13:53:27 +00:00
github-actions[bot] 3bc3a3dcf0 @ualtinok has signed the CLA in code-yeongyu/oh-my-opencode#1393 2026-02-03 12:43:21 +00:00
Muhammad Noor Misyuari 0be288494c fix: update tests to reflect changes in skill resolution for async handling and disabled skills 2026-02-03 15:19:08 +07:00
Muhammad Noor Misyuari b363300b94 fix: update skill resolution to support disabled skills functionality 2026-02-03 15:19:08 +07:00
Muhammad Noor Misyuari c67f8bde43 fix: implement disabled skills functionality in skill resolution 2026-02-03 15:19:01 +07:00