5759a9c503
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).
55 lines
2.5 KiB
Markdown
55 lines
2.5 KiB
Markdown
# src/shared/ — 100+ Utility Files
|
|
|
|
**Generated:** 2026-04-18
|
|
|
|
## OVERVIEW
|
|
|
|
Cross-cutting utilities used throughout the plugin. Barrel-exported from `index.ts`. Logger writes to `/tmp/oh-my-opencode.log`.
|
|
|
|
## CATEGORY MAP
|
|
|
|
| Category | Files | Key Exports |
|
|
|----------|-------|-------------|
|
|
| **Model Resolution** | ~22 | `resolveModel()`, `checkModelAvailability()`, `AGENT_MODEL_REQUIREMENTS` |
|
|
| **Tmux Integration** | 11 | `createTmuxSession()`, `spawnPane()`, `closePane()`, server health |
|
|
| **Configuration & Paths** | 10 | `resolveOpenCodeConfigDir()`, `getDataPath()`, `parseJSONC()` |
|
|
| **Session Management** | 8 | `SessionCursor`, `trackInjectedPath()`, `SessionToolsStore` |
|
|
| **Git Worktree** | 7 | `parseGitStatusPorcelain()`, `collectGitDiffStats()`, `formatFileChanges()` |
|
|
| **Command Execution** | 7 | `executeCommand()`, `executeHookCommand()`, embedded command registry |
|
|
| **Migration** | 6 | `migrateConfigFile()`, AGENT_NAME_MAP, HOOK_NAME_MAP, MODEL_VERSION_MAP |
|
|
| **String & Tool Utils** | 6 | `toSnakeCase()`, `normalizeToolName()`, `parseFrontmatter()` |
|
|
| **Agent Configuration** | 5 | `getAgentVariant()`, `AGENT_DISPLAY_NAMES`, `AGENT_TOOL_RESTRICTIONS` |
|
|
| **OpenCode Integration** | 5 | `injectServerAuth()`, `detectExternalPlugins()`, client accessors |
|
|
| **Type Helpers** | 4 | `deepMerge()`, `DynamicTruncator`, `matchPattern()`, `isRecord()` |
|
|
| **Misc** | 8 | `log()`, `readFile()`, `extractZip()`, `downloadBinary()`, `findAvailablePort()` |
|
|
|
|
## MODEL RESOLUTION PIPELINE
|
|
|
|
```
|
|
resolveModel(input)
|
|
1. Override: UI-selected model (primary agents only)
|
|
2. Category default: From category config
|
|
3. Provider fallback: AGENT_MODEL_REQUIREMENTS chains
|
|
4. System default: Ultimate fallback
|
|
```
|
|
|
|
Key files: `model-resolver.ts` (entry), `model-resolution-pipeline.ts` (orchestration), `model-requirements.ts` (fallback chains), `model-availability.ts` (fuzzy matching).
|
|
|
|
## MIGRATION SYSTEM
|
|
|
|
Automatically transforms legacy config on load:
|
|
- `agent-names.ts`: Old agent names → new (e.g., `junior` → `sisyphus-junior`)
|
|
- `hook-names.ts`: Old hook names → new
|
|
- `model-versions.ts`: Old model IDs → current
|
|
- `agent-category.ts`: Legacy agent configs → category system
|
|
|
|
## MOST IMPORTED
|
|
|
|
| Utility | Import Count | Purpose |
|
|
|---------|-------------|---------|
|
|
| `logger.ts` | 62 | `/tmp/oh-my-opencode.log` |
|
|
| `data-path.ts` | 11 | XDG storage resolution |
|
|
| `model-requirements.ts` | 11 | Agent fallback chains |
|
|
| `system-directive.ts` | 11 | System message filtering |
|
|
| `frontmatter.ts` | 10 | YAML metadata extraction |
|