Commit Graph

118 Commits

Author SHA1 Message Date
YeonGyu-Kim
4e328a937c feat(hooks): integrate directory-agents-injector hook into plugin pipeline
- Add directoryAgentsInjector to plugin event handlers
- Wire up tool.execute.after hook for directory agents injection
- Fix: Format src/index.ts with consistent semicolon style
2025-12-08 17:00:02 +09:00
YeonGyu-Kim
4debb57402 feat(hooks): add pulse-monitor for token stall detection and auto-recovery
- Detect token stalls via message.part.updated heartbeat monitoring
- Support thinking/reasoning block detection with extended timeout
- Auto-recover: abort + 'continue' prompt on 5min stall
- Pause monitoring during tool execution
2025-12-06 11:17:55 +09:00
YeonGyu-Kim
341e5a959d feat(hooks): add grep-output-truncator for context-aware output limiting 2025-12-06 10:54:22 +09:00
YeonGyu-Kim
143dd8aaa9 fix(session-recovery): improve error detection and add continue prompt
- Enhance error type detection for thinking block order issues
- Add continue prompt after successful session recovery
- Improve error message matching logic
2025-12-05 20:01:47 +09:00
YeonGyu-Kim
f10c15d83d feat: wire comment-checker hook to main plugin 2025-12-05 09:29:08 +09:00
YeonGyu-Kim
180d16b977 fix: prevent plugin crash by removing non-function exports from barrel files
BREAKING: OpenCode plugin loader calls all exports as functions.
Exporting non-function values (schemas, constants, types) causes TypeError.

Changes:
- Remove OhMyOpenCodeConfigSchema export from root index.ts
- Replace 'export *' with explicit function exports in hooks/index.ts
- Remove 'export *' from comment-checker/index.ts
2025-12-05 04:08:59 +09:00
YeonGyu-Kim
2e327e9b7a feat(config): integrate Zod schema validation into config loading
- Replace type assertion with safeParse validation
- Add error reporting for invalid config values
- Import types from centralized config module
2025-12-05 02:54:09 +09:00
YeonGyu-Kim
22acb0def1 feat(agents): add agent override configuration support
- Add AgentName, AgentOverrideConfig, AgentOverrides types
- Implement createBuiltinAgents with disabled_agents and overrides support
- Support oh-my-opencode.json config for:
  - disabled_agents: disable specific built-in agents
  - agents: override model, temperature, tools, permission per agent
- Tools and permission objects are shallow-merged with base config
- Export types for external consumers
- Update README with agent override documentation
2025-12-05 02:32:33 +09:00
YeonGyu-Kim
6220fcddcf feat(mcp): add context7 MCP and disabled_mcps config support
- Add context7 MCP for library documentation lookup
- Add oh-my-opencode.json config file support for per-project settings
- Support disabled_mcps array to selectively disable built-in MCPs
- Update documentation with Configuration section
2025-12-05 02:23:34 +09:00
YeonGyu-Kim
6495fae979 feat(mcp): add websearch_exa as built-in MCP
- Add src/mcp/ directory with websearch_exa configuration
- Configure Exa AI remote MCP (https://mcp.exa.ai/mcp)
- Export builtinMcps from plugin config
- Update documentation (EN/KO) with Built-in MCPs section
2025-12-05 02:15:39 +09:00
YeonGyu-Kim
7ac580566a feat(hook): add session-recovery for automatic API error recovery 2025-12-05 02:12:52 +09:00
YeonGyu-Kim
3d29214c29 refactor: move grep blocking from hook to config 2025-12-05 01:19:15 +09:00
YeonGyu-Kim
7090fca0fd feat(lsp): add LSP tools integration with workspace/configuration support
- Add 7 LSP tools: hover, goto_definition, find_references, document_symbols, workspace_symbols, diagnostics, servers
- Support multiple LSP servers: typescript, gopls, pyrefly, basedpyright, ruff, rust-analyzer, clangd, sourcekit-lsp, ruby-lsp
- Read LSP config from opencode.json with disabled server support
- Handle server requests: workspace/configuration, client/registerCapability, window/workDoneProgress/create
- Send workspace/didChangeConfiguration after initialized for basedpyright compatibility
- Uint8Array-based buffer for reliable LSP message parsing
2025-12-04 21:54:02 +09:00
YeonGyu-Kim
b397dd6655 feat(hook): block grep tool and guide to safe-grep 2025-12-04 18:20:01 +09:00
YeonGyu-Kim
9a9351a082 feat(feature): add terminal title renaming with session status 2025-12-04 16:19:12 +09:00
YeonGyu-Kim
9a11901590 feat(hook): add context window monitor for Anthropic token usage tracking 2025-12-04 16:19:12 +09:00
YeonGyu-Kim
a562a78050 feat(hook): add todo-continuation-enforcer for automatic task resumption 2025-12-04 16:19:12 +09:00
YeonGyu-Kim
8febf9411f feat: wire up agents and expose via opencode plugin 2025-12-04 16:19:05 +09:00