YeonGyu-Kim
4a82ff40fb
Consolidate duplicate patterns and simplify codebase ( #1317 )
...
* refactor(shared): unify binary downloader and session path storage
- Create binary-downloader.ts for common download/extract logic
- Create session-injected-paths.ts for unified path tracking
- Refactor comment-checker, ast-grep, grep downloaders to use shared util
- Consolidate directory injector types into shared module
* feat(shared): implement unified model resolution pipeline
- Create ModelResolutionPipeline for centralized model selection
- Refactor model-resolver to use pipeline
- Update delegate-task and config-handler to use unified logic
- Ensure consistent model resolution across all agent types
* refactor(agents): simplify agent utils and metadata management
- Extract helper functions for config merging and env context
- Register prompt metadata for all agents
- Simplify agent variant detection logic
* cleanup: inline utilities and remove unused exports
- Remove case-insensitive.ts (inline with native JS)
- Simplify opencode-version helpers
- Remove unused getModelLimit, createCompactionContextInjector exports
- Inline transcript entry creation in claude-code-hooks
- Update tests accordingly
---------
Co-authored-by: justsisyphus <justsisyphus@users.noreply.github.com>
2026-01-31 15:46:14 +09:00
YeonGyu-Kim
acc19fcd41
feat(hooks): auto-disable directory-agents-injector for OpenCode 1.1.37+ native support ( #1204 )
...
* feat(delegate-task): add prometheus self-delegation block and delegate_task permission
- Block prometheus from delegating to itself via delegate_task
- Grant delegate_task permission to prometheus when called as subagent
- Other subagents still have delegate_task disabled
* feat(version): add OPENCODE_NATIVE_AGENTS_INJECTION_VERSION constant
* docs: add deprecation notes for directory-agents-injector
* feat(hooks): auto-disable directory-agents-injector for OpenCode 1.1.37+
---------
Co-authored-by: justsisyphus <justsisyphus@users.noreply.github.com>
2026-01-28 18:46:51 +09:00
justsisyphus
83cbc56709
refactor: remove legacy tools format, use permission only
...
BREAKING: Requires OpenCode 1.1.1+
- Remove supportsNewPermissionSystem/usesLegacyToolsSystem checks
- Simplify permission-compat.ts to permission format only
- Unify explore/librarian deny lists: write, edit, task, sisyphus_task, call_omo_agent
- Add sisyphus_task to oracle deny list
- Update agent-tool-restrictions.ts with correct per-agent restrictions
- Clean config-handler.ts conditional version checks
- Update tests for simplified API
2026-01-16 17:11:34 +09:00
YeonGyu-Kim
09f72e2902
feat: OpenCode v1.1.1 permission system compatibility ( #489 )
...
* feat: add OpenCode v1.1.1 version detection and permission compatibility utilities
- Add opencode-version.ts: Detect installed OpenCode version and support API
- Add permission-compat.ts: Compatibility layer for permission system migration
- Add comprehensive tests (418 lines total)
- Export new utilities from shared/index.ts
🤖 Generated with assistance of OhMyOpenCode (https://github.com/code-yeongyu/oh-my-opencode )
* fix: update agent permission configs for OpenCode v1.1.1 compatibility
- Fix document-writer: change invalid 'permission: { background_task: deny }' to 'tools: { background_task: false }'
- Fix explore: split 'permission' and 'tools' config, move tool-level denials to 'tools' key
- Fix oracle: split 'permission' and 'tools' config, move tool-level denials to 'tools' key
- Align all agents with v1.1.1 permission system structure
🤖 Generated with assistance of OhMyOpenCode (https://github.com/code-yeongyu/oh-my-opencode )
2026-01-05 04:26:26 +09:00