YeonGyu-Kim
20ba83e19e
test(mcp): remove stale lsp exists import
2026-05-21 11:24:18 +09:00
MoerAI
ed6e9955da
fix(mcp): normalize path separators in LSP/ast-grep cli candidate detection ( fixes #4151 )
...
On Windows, path.resolve() returns paths with backslash separators. The previous endsWith("dist/cli.js") check uses forward slashes and always returned false on Windows, causing both LSP and ast-grep MCPs to fall through to the bootstrap path even when the dist cli exists. Result: LSP MCP completely unusable on Windows with MODULE_NOT_FOUND for dist/packages/lsp-tools-mcp/dist/cli.js.
Fix: derive a platform-aware suffix at module load time by replacing forward slashes in DIST_CLI_REL / SOURCE_CLI_REL with path.sep, then use that suffix in the endsWith check.
Verification: all 4 src/mcp/lsp.test.ts cases pass on Windows (previously 2 failed); all 13 src/mcp/ast-grep.test.ts cases pass (previously 2 failed). Total: 17/17 src/mcp tests green. bun run typecheck clean.
2026-05-21 11:20:25 +09:00
YeonGyu-Kim
eea27d6f7e
fix(mcp): resolve local mcp runtimes
...
Resolve built-in local MCP runtime executables before handing command arrays to OpenCode so lsp and ast_grep do not depend on a bare node or bun lookup in the host PATH.
Keep source, dist, bootstrap, workspace-safety, and disabled_mcps behavior covered by focused tests and real OpenCode MCP status QA.
Plan: plans/fix-built-in-mcp-runtime-executables.md
2026-05-20 23:33:32 +09:00
YeonGyu-Kim
d8f6d59dc2
docs: update rules and MCP inventories
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-18 21:28:12 +09:00
YeonGyu-Kim
ef09880e26
feat(mcp): register ast-grep as built-in MCP
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-18 21:27:36 +09:00
YeonGyu-Kim
6fe2f72c76
fix(mcp): bootstrap lsp when cli is unavailable
...
Keep the built-in lsp MCP registered even when the submodule CLI artifact is missing.
The fallback command initializes the lsp-tools-mcp submodule, prefers the source CLI without dirtying the checkout with dist output, and keeps npm build as a last resort when Bun cannot run the source entrypoint.
Plan: plans/fix-lsp-mcp-missing-cli.md
2026-05-18 20:48:24 +09:00
YeonGyu-Kim
ae278eb9f2
fix(mcp): always register lsp server
2026-05-18 16:45:02 +09:00
YeonGyu-Kim
7187db6ede
chore(mcp): move lsp submodule under packages
2026-05-18 16:00:40 +09:00
YeonGyu-Kim
fdf7ba2e6f
Merge pull request #4129 from code-yeongyu/feature/stage-c-lsp-mcp
...
Extract LSP tools into Tier-1 MCP server via lsp-tools-mcp submodule
2026-05-18 13:39:17 +09:00
YeonGyu-Kim
5ae0db042d
fix(websearch): use Bearer auth for Exa MCP
...
Switch from query-param (?exaApiKey=...) to Authorization: Bearer header
for Exa MCP authentication. The MCP SDK's SSE endpoint resolution discards
query parameters when the server replies with a relative path, causing
EXA_API_KEY to be silently lost and falling back to rate-limited free tier.
Bearer auth via header survives URL resolution and is consistent with the
Tavily MCP config pattern already in use.
Fixes #3763
Relands #4090 (CLA unsigned by original author)
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Minsoo Choi <Neo1228@users.noreply.github.com >
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-18 13:28:31 +09:00
YeonGyu-Kim
69371b78b7
test(mcp): stabilize lsp builtin and doctor checks
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-18 13:21:02 +09:00
YeonGyu-Kim
f7b60e360f
fix(mcp): harden lsp cli resolution and doctor disable checks
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-18 13:20:41 +09:00
YeonGyu-Kim
b149ce5331
docs: update AGENTS docs for MCP-backed LSP architecture
2026-05-18 12:24:44 +09:00
YeonGyu-Kim
c2c078fec3
feat(mcp): register lsp tier-1 stdio MCP server
2026-05-18 12:22:54 +09:00
YeonGyu-Kim
9f6d0d2281
docs(agents-md): refresh hierarchical knowledge base for v4.1.2
...
- Bump root AGENTS.md header: 2026-05-14 → 2026-05-15, commit 5ffbe0e24 → 53a740636 , release v4.1.1 → v4.1.2
- Update file counts: 2034 (1337+697) → 2041 (1340+701), LOC ~292k → ~294k
- Fix STRUCTURE: openclaw lives at src/openclaw/ (not src/features/); list more accurate feature modules in the parenthetical
- Clarify interactive_bash gate: tmux binary on PATH via isInteractiveBashEnabled() (not 'tmux enabled')
- Fix docs/reference/features.md hook counts: Tool Guard 14→16, Total base 52→54, total with team-mode 59→61
- Bump 'Generated' date on all 43 subdir AGENTS.md files to 2026-05-15
- Preserve promptAsync injection cautions verbatim (per request)
2026-05-15 13:48:11 +09:00
YeonGyu-Kim
1e7a7600a2
docs(agents-md): regenerate hierarchical AGENTS.md knowledge base for v4.1.1
...
Refresh all AGENTS.md files to reflect codebase state at 5ffbe0e24 (was cd31d2a1a , 197 commits behind).
Key drift corrections across 45 modified + 1 new file:
Root AGENTS.md:
- TS file counts: 1967 -> 2034 in src/ (1337 source + 697 test)
- LOC: 278k -> 292k
- Barrel index.ts: 120 -> 122
- Hook tier composition: 52/59 -> 54/61 (base/with team-mode)
- Tool Guard hooks: 14 -> 16 (add fsync-skip-warning, bash-file-read-guard)
- Add boulder feature, agent-ordering schema, .agents/ directory, v4.1.1 release tag
- Add generated/ directory entry
src/AGENTS.md:
- Subsystem inventory: agents 96->102, hooks 570->581, tools 306->314,
features 389->400, shared 258->278, cli 150->158, plugin 55->56
- LOC totals refreshed for every subsystem
- Schema files: 32 -> 30
src/hooks/AGENTS.md:
- Tier 2 (Tool Guard): 14 -> 16 hooks, add fsyncSkipWarning row
- Total: 52 base / 59 team-mode -> 54 base / 61 team-mode
- zauc-mocks count: 7 -> 5
src/features/AGENTS.md:
- background-agent: 47 -> 57 files, mention archive fallback
- opencode-skill-loader: 33 -> 30
- tmux-subagent: 34 -> 32
src/plugin/AGENTS.md:
- Tool Guard composer count: 14 -> 16
- Aggregator total: 43 -> 45
src/cli/AGENTS.md:
- Add new boulder subcommand (BoulderState inspector)
- Command count: 6 -> 7
NEW: src/features/boulder-state/AGENTS.md
- Document the new Boulder work tracking feature
- Schema v2 with BoulderState/BoulderWorkState/TaskSessionState
- Lifecycle, storage, integration points with atlas/ralph-loop hooks
All other AGENTS.md files: Generated date 2026-05-08 -> 2026-05-14.
2026-05-14 12:57:46 +09:00
YeonGyu-Kim
838b5ae216
docs(agents): refresh hierarchical AGENTS.md with team-mode coverage
...
Update root + 43 directory-level AGENTS.md files to reflect current state:
- Root AGENTS.md rewritten with accurate counts (1967 TS files, 1304 source +
663 test, 278k LOC, 120 barrel index.ts), 7-step init flow, 5-tier hook
composition, and full Team Mode section (12 team_* tools, eligibility,
storage layout, config gate)
- src/AGENTS.md adds team-mode init step, current per-subdir file/LOC table
- src/tools/AGENTS.md documents conditional gates (team-mode +12, task
system +4, hashline +1, interactive_bash +1, look_at +1) with always-on
baseline of 20
- src/hooks/AGENTS.md splits into 5 tiers + 4 conditional team-mode hooks
- src/features/team-mode/AGENTS.md surfaces 12 tools, eligible agents,
spawn-race-safe invariants, and integration points
- src/features/builtin-skills/AGENTS.md tracks 10 skills incl. team-mode
- src/agents/AGENTS.md, src/plugin/AGENTS.md, src/config/AGENTS.md updated
for team-mode awareness, accurate counts, and current schema field list
- All other AGENTS.md files refreshed to 2026-05-08 generation date
2026-05-08 12:08:42 +09:00
YeonGyu-Kim
5759a9c503
docs(agents): refresh AGENTS.md hierarchy via /init-deep
...
Updated root + 14 core subdirectory AGENTS.md files to reflect current
state (commit 2892ca4a on dev). Added 4 new AGENTS.md files for gap
directories: hooks/comment-checker (AI slop blocker), features/claude-
code-plugin-loader (CC compat layer), features/claude-code-mcp-loader
(tier 2 MCP loader), cli/doctor (health diagnostics with 25 check files).
2026-04-18 01:21:20 +09:00
YeonGyu-Kim
0c5cd3a1c4
chore(agents): update all AGENTS.md generation dates to 2026-04-11
...
🤖 Generated with OhMyOpenCode assistance
2026-04-11 22:33:22 +09:00
YeonGyu-Kim
37057f18b9
test(tools): update MCP, delegate-task, skill, and slashcommand tests
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-10 15:53:35 +09:00
YeonGyu-Kim
7b7526e2f6
docs(src): update counts across tools, features, config, cli AGENTS.md
...
- tools: 15 -> 16 dirs, writing model kimi-k2p5 -> gemini-3-flash
- features: builtin skills 6 -> 8 (+review-work, +ai-slop-remover)
- config: schema files 24 -> 27 (+git-env-prefix, model-capabilities, openclaw)
- cli: commands 5 -> 6 (+refresh-model-capabilities)
- plugin-handlers: 13 -> 14 non-test files
- shared: 95+ -> 100+ utility files
2026-04-05 14:12:31 +09:00
YeonGyu-Kim
da86b57f23
test: fix CI test isolation - upgrade Bun, fix mock contamination and fresh-import patterns
2026-04-05 01:01:19 +09:00
YeonGyu-Kim
feaa674963
test: fix imports for mcp-index and subagent-resolver isolation
2026-04-04 21:30:42 +09:00
YeonGyu-Kim
ba26b6f29d
test: isolate skill-tools and mcp-index tests to prevent mock contamination
...
Moves test files with mock.module() calls into zauc-mocks-* directories
to prevent process-global mock pollution affecting subsequent tests.
- src/tools/skill/tools.test.ts -> zauc-mocks-skill-tools/
- src/mcp/index.test.ts -> zauc-mocks-mcp-index/
Fixes remaining 21 CI failures (resolveSubagentExecution + slashcommand).
2026-04-04 20:49:47 +09:00
YeonGyu-Kim
dc695e8776
refactor(cli,mcp,openclaw): remove AI slop from code comments
2026-04-03 21:42:12 +09:00
YeonGyu-Kim
5d68de79d0
fix(types): return type RemoteMcpConfig | undefined for createWebsearchConfig
2026-04-02 13:55:21 +09:00
YeonGyu-Kim
a695730891
fix(mcp): handle missing Tavily API key gracefully
...
Previously, when websearch was configured with Tavily provider and the
TAVILY_API_KEY environment variable was not set, the entire plugin would
fail to load with no visible error to the user.
Changes:
1. createWebsearchConfig now returns undefined when Tavily key is missing
2. Added warning log: '[websearch] Tavily API key not found, skipping websearch MCP'
3. createBuiltinMcps now skips undefined configs instead of adding them
4. Added tests for both missing and present Tavily API key scenarios
Fixes #2996
2026-04-02 13:32:44 +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
33d39597ae
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
YeonGyu-Kim
73453a7191
docs(agents): update hook counts 44→46, add hashline-edit documentation
...
- Update root AGENTS.md: hook count 44→46, commit fcb90d92 , generated 2026-02-24
- Update src/AGENTS.md: core hooks 35→37, session hooks 21→23
- Update src/hooks/AGENTS.md: 46 hooks total, add modelFallback/noSisyphusGpt/noHephaestusNonGpt/runtimeFallback, jsonErrorRecovery moved to tool-guard (tier 2)
- Create src/tools/hashline-edit/AGENTS.md (93 lines): documents three-op model, LINE#ID format, execution pipeline
- Refresh timestamps: 2026-02-21→2026-02-24 on 28 files
- Update plugin/AGENTS.md hook composition counts
🤖 Generated with assistance of [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode )
2026-02-25 00:02:05 +09:00
YeonGyu-Kim
b1eccf7425
docs: update all 31 AGENTS.md files with current project state
2026-02-21 04:38:18 +09:00
YeonGyu-Kim
bd2e23584b
docs: update AGENTS.md metadata
...
🤖 Generated with assistance of [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode )
2026-02-19 10:46:40 +09:00
YeonGyu-Kim
aac79f03b5
docs: regenerate all AGENTS.md files from comprehensive codebase exploration
...
- Fired 33 parallel explore agents across all major directories
- Analyzed 1164 TS files, 133k LOC, 41 hooks, 26 tools, 11 agents, 18 features
- Regenerated 13 AGENTS.md files with 905 total lines
- Root: plugin architecture, initialization flow, 7 OpenCode hook handlers
- src/: entry point orchestration, hook composition pipeline
- agents/: 11 agent inventory with tool restrictions and factory patterns
- hooks/: 41 hooks organized by 5 tiers, key complex hooks documented
- tools/: 26 tools across 14 directories, delegation categories
- features/: 18 modules mapped by complexity (HIGH/MEDIUM/LOW)
- shared/: 101 utilities in 13 categories, model resolution pipeline
- config/: 22 schema files, Zod v4 validation system
- cli/: 5 commands, doctor checks, model fallback system
- mcp/: 3-tier MCP system architecture
- plugin-handlers/: 6-phase config loading pipeline
- claude-code-hooks/: CC settings.json compatibility layer
- claude-tasks/: task schema + file-based persistence
🤖 Generated with assistance of oh-my-opencode
2026-02-17 11:17:01 +09:00
YeonGyu-Kim
9dbb9552b8
refactor: remove unused imports from auto-update-checker, claude-code-hooks, mcp
2026-02-16 22:11:38 +09:00
YeonGyu-Kim
17c56d8814
fix(mcp): restore x-api-key header for EXA websearch alongside query param
...
The header-based auth was removed during refactoring; some MCP server
implementations require it. Now sends both query param and header.
2026-02-11 00:45:51 +09:00
YeonGyu-Kim
83f1304e01
docs(agents): regenerate all AGENTS.md with deep codebase analysis
2026-02-10 14:53:39 +09:00
YeonGyu-Kim
20d009964d
docs: refresh all 13 hierarchical AGENTS.md files with current codebase state
2026-02-09 14:29:53 +09:00
YeonGyu-Kim
1f8f7b592b
docs(AGENTS): update line counts and stats across all AGENTS.md files
...
- Update main AGENTS.md with current file sizes
- Update complexity hotspot line counts
- Update agent count from 11 to 32 files
- Update CLI utility count to 70
- Update test file count from 100+ to 163
🤖 Generated with assistance of OhMyOpenCode
2026-02-08 17:51:30 +09:00
YeonGyu-Kim
a3dd1dbaf9
test(mcp): restore Tavily tests and add encoding edge case ( #1627 )
2026-02-08 15:28:31 +09:00
YeonGyu-Kim
06611a7645
fix(mcp): remove duplicate x-api-key header, add test ( #1627 )
2026-02-08 14:56:43 +09:00
YeonGyu-Kim
44415e3f59
fix(mcp): remove duplicate x-api-key header from Exa config ( #1627 )
2026-02-08 14:19:50 +09:00
YeonGyu-Kim
a85da59358
fix: encode EXA_API_KEY before appending to URL query parameter
2026-02-08 13:28:08 +09:00
YeonGyu-Kim
09999587f5
fix(mcp): append EXA_API_KEY to Exa MCP URL when env var is set ( #1627 )
2026-02-08 12:38:42 +09:00
YeonGyu-Kim
4692809b42
Regenerate AGENTS.md hierarchy with latest codebase state
2026-02-06 19:07:12 +09:00
YanzheL
9a2a6a695a
fix(test): use try/finally for guaranteed env restoration
2026-02-03 23:37:12 +08:00
YanzheL
5a2ab0095d
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
17cb49543a
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
fea7bd2dcf
docs(mcp): document websearch provider configuration
2026-02-03 23:37:12 +08:00
YanzheL
ef3d0afa32
test(mcp): add websearch provider tests
2026-02-03 23:37:12 +08:00
YanzheL
00f576868b
feat(mcp): add multi-provider websearch support
2026-02-03 23:37:12 +08:00