oh-my-opencode 0.3.2 → 0.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.ko.md +27 -1
- package/README.md +27 -1
- package/dist/config/schema.d.ts +442 -68
- package/dist/index.js +463 -96
- package/package.json +1 -1
package/README.ko.md
CHANGED
|
@@ -174,7 +174,7 @@ OpenCode 는 아주 확장가능하고 아주 커스터마이저블합니다.
|
|
|
174
174
|
|
|
175
175
|
### Agents
|
|
176
176
|
|
|
177
|
-
- **oracle** (`openai/gpt-5.
|
|
177
|
+
- **oracle** (`openai/gpt-5.2`): 아키텍처, 코드 리뷰, 전략 수립을 위한 전문가 조언자. GPT-5.2의 뛰어난 논리적 추론과 깊은 분석 능력을 활용합니다. AmpCode 에서 영감을 받았습니다.
|
|
178
178
|
- **librarian** (`anthropic/claude-haiku-4-5`): 멀티 레포 분석, 문서 조회, 구현 예제 담당. Haiku의 빠른 속도, 적절한 지능, 훌륭한 도구 호출 능력, 저렴한 비용을 활용합니다. AmpCode 에서 영감을 받았습니다.
|
|
179
179
|
- **explore** (`opencode/grok-code`): 빠른 코드베이스 탐색, 파일 패턴 매칭. Claude Code는 Haiku를 쓰지만, 우리는 Grok을 씁니다. 현재 무료이고, 극도로 빠르며, 파일 탐색 작업에 충분한 지능을 갖췄기 때문입니다. Claude Code 에서 영감을 받았습니다.
|
|
180
180
|
- **frontend-ui-ux-engineer** (`google/gemini-3-pro-preview`): 개발자로 전향한 디자이너라는 설정을 갖고 있습니다. 멋진 UI를 만듭니다. 아름답고 창의적인 UI 코드를 생성하는 데 탁월한 Gemini를 사용합니다.
|
|
@@ -242,6 +242,32 @@ OpenCode 는 아주 확장가능하고 아주 커스터마이저블합니다.
|
|
|
242
242
|
|
|
243
243
|
Oh My OpenCode는 Claude Code 설정과 완벽하게 호환됩니다. Claude Code를 사용하셨다면, 기존 설정을 그대로 사용할 수 있습니다.
|
|
244
244
|
|
|
245
|
+
#### 호환성 토글
|
|
246
|
+
|
|
247
|
+
특정 Claude Code 호환 기능을 비활성화하려면 `claude_code` 설정 객체를 사용하세요:
|
|
248
|
+
|
|
249
|
+
```json
|
|
250
|
+
{
|
|
251
|
+
"claude_code": {
|
|
252
|
+
"mcp": false,
|
|
253
|
+
"commands": false,
|
|
254
|
+
"skills": false,
|
|
255
|
+
"agents": false,
|
|
256
|
+
"hooks": false
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
| 토글 | `false`일 때 로딩 비활성화 경로 | 영향 받지 않음 |
|
|
262
|
+
|------|-------------------------------|---------------|
|
|
263
|
+
| `mcp` | `~/.claude/.mcp.json`, `./.mcp.json`, `./.claude/.mcp.json` | 내장 MCP (context7, websearch_exa) |
|
|
264
|
+
| `commands` | `~/.claude/commands/*.md`, `./.claude/commands/*.md` | `~/.config/opencode/command/`, `./.opencode/command/` |
|
|
265
|
+
| `skills` | `~/.claude/skills/*/SKILL.md`, `./.claude/skills/*/SKILL.md` | - |
|
|
266
|
+
| `agents` | `~/.claude/agents/*.md`, `./.claude/agents/*.md` | 내장 에이전트 (oracle, librarian 등) |
|
|
267
|
+
| `hooks` | `~/.claude/settings.json`, `./.claude/settings.json`, `./.claude/settings.local.json` | - |
|
|
268
|
+
|
|
269
|
+
모든 토글은 기본값이 `true` (활성화)입니다. 완전한 Claude Code 호환성을 원하면 `claude_code` 객체를 생략하세요.
|
|
270
|
+
|
|
245
271
|
#### Hooks 통합
|
|
246
272
|
|
|
247
273
|
Claude Code의 `settings.json` 훅 시스템을 통해 커스텀 스크립트를 실행합니다. Oh My OpenCode는 다음 위치의 훅을 읽고 실행합니다:
|
package/README.md
CHANGED
|
@@ -170,7 +170,7 @@ I believe in the right tool for the job. For your wallet's sake, use CLIProxyAPI
|
|
|
170
170
|
- **Grep Output Truncator**: Prevents grep output from overwhelming the context by truncating excessively long results.
|
|
171
171
|
|
|
172
172
|
### Agents
|
|
173
|
-
- **oracle** (`openai/gpt-5.
|
|
173
|
+
- **oracle** (`openai/gpt-5.2`): The architect. Expert in code reviews and strategy. Uses GPT-5.2 for its unmatched logic and reasoning capabilities. Inspired by AmpCode.
|
|
174
174
|
- **librarian** (`anthropic/claude-haiku-4-5`): Multi-repo analysis, documentation lookup, and implementation examples. Haiku is chosen for its speed, competence, excellent tool usage, and cost-efficiency. Inspired by AmpCode.
|
|
175
175
|
- **explore** (`opencode/grok-code`): Fast exploration and pattern matching. Claude Code uses Haiku; we use Grok. It is currently free, blazing fast, and intelligent enough for file traversal. Inspired by Claude Code.
|
|
176
176
|
- **frontend-ui-ux-engineer** (`google/gemini-3-pro-preview`): A designer turned developer. Creates stunning UIs. Uses Gemini because its creativity and UI code generation are superior.
|
|
@@ -240,6 +240,32 @@ Don't need these? Disable them via `oh-my-opencode.json`:
|
|
|
240
240
|
|
|
241
241
|
Oh My OpenCode provides seamless Claude Code configuration compatibility. If you've been using Claude Code, your existing setup works out of the box.
|
|
242
242
|
|
|
243
|
+
#### Compatibility Toggles
|
|
244
|
+
|
|
245
|
+
If you want to disable specific Claude Code compatibility features, use the `claude_code` configuration object:
|
|
246
|
+
|
|
247
|
+
```json
|
|
248
|
+
{
|
|
249
|
+
"claude_code": {
|
|
250
|
+
"mcp": false,
|
|
251
|
+
"commands": false,
|
|
252
|
+
"skills": false,
|
|
253
|
+
"agents": false,
|
|
254
|
+
"hooks": false
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
| Toggle | When `false`, disables loading from... | NOT affected |
|
|
260
|
+
|--------|----------------------------------------|--------------|
|
|
261
|
+
| `mcp` | `~/.claude/.mcp.json`, `./.mcp.json`, `./.claude/.mcp.json` | Built-in MCPs (context7, websearch_exa) |
|
|
262
|
+
| `commands` | `~/.claude/commands/*.md`, `./.claude/commands/*.md` | `~/.config/opencode/command/`, `./.opencode/command/` |
|
|
263
|
+
| `skills` | `~/.claude/skills/*/SKILL.md`, `./.claude/skills/*/SKILL.md` | - |
|
|
264
|
+
| `agents` | `~/.claude/agents/*.md`, `./.claude/agents/*.md` | Built-in agents (oracle, librarian, etc.) |
|
|
265
|
+
| `hooks` | `~/.claude/settings.json`, `./.claude/settings.json`, `./.claude/settings.local.json` | - |
|
|
266
|
+
|
|
267
|
+
All toggles default to `true` (enabled). Omit the entire `claude_code` object for full Claude Code compatibility.
|
|
268
|
+
|
|
243
269
|
#### Hooks Integration
|
|
244
270
|
|
|
245
271
|
Execute custom scripts via Claude Code's `settings.json` hook system. Oh My OpenCode reads and executes hooks defined in:
|
package/dist/config/schema.d.ts
CHANGED
|
@@ -52,78 +52,192 @@ export declare const AgentOverrideConfigSchema: z.ZodObject<{
|
|
|
52
52
|
}>>;
|
|
53
53
|
}, z.core.$strip>>;
|
|
54
54
|
}, z.core.$strip>;
|
|
55
|
-
export declare const AgentOverridesSchema: z.
|
|
56
|
-
oracle:
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
description: z.ZodOptional<z.ZodString>;
|
|
69
|
-
mode: z.ZodOptional<z.ZodEnum<{
|
|
70
|
-
subagent: "subagent";
|
|
71
|
-
primary: "primary";
|
|
72
|
-
all: "all";
|
|
73
|
-
}>>;
|
|
74
|
-
color: z.ZodOptional<z.ZodString>;
|
|
75
|
-
permission: z.ZodOptional<z.ZodObject<{
|
|
76
|
-
edit: z.ZodOptional<z.ZodEnum<{
|
|
77
|
-
ask: "ask";
|
|
78
|
-
allow: "allow";
|
|
79
|
-
deny: "deny";
|
|
55
|
+
export declare const AgentOverridesSchema: z.ZodObject<{
|
|
56
|
+
oracle: z.ZodOptional<z.ZodOptional<z.ZodObject<{
|
|
57
|
+
model: z.ZodOptional<z.ZodString>;
|
|
58
|
+
temperature: z.ZodOptional<z.ZodNumber>;
|
|
59
|
+
top_p: z.ZodOptional<z.ZodNumber>;
|
|
60
|
+
prompt: z.ZodOptional<z.ZodString>;
|
|
61
|
+
tools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
|
|
62
|
+
disable: z.ZodOptional<z.ZodBoolean>;
|
|
63
|
+
description: z.ZodOptional<z.ZodString>;
|
|
64
|
+
mode: z.ZodOptional<z.ZodEnum<{
|
|
65
|
+
subagent: "subagent";
|
|
66
|
+
primary: "primary";
|
|
67
|
+
all: "all";
|
|
80
68
|
}>>;
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
69
|
+
color: z.ZodOptional<z.ZodString>;
|
|
70
|
+
permission: z.ZodOptional<z.ZodObject<{
|
|
71
|
+
edit: z.ZodOptional<z.ZodEnum<{
|
|
72
|
+
ask: "ask";
|
|
73
|
+
allow: "allow";
|
|
74
|
+
deny: "deny";
|
|
75
|
+
}>>;
|
|
76
|
+
bash: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
|
|
77
|
+
ask: "ask";
|
|
78
|
+
allow: "allow";
|
|
79
|
+
deny: "deny";
|
|
80
|
+
}>, z.ZodRecord<z.ZodString, z.ZodEnum<{
|
|
81
|
+
ask: "ask";
|
|
82
|
+
allow: "allow";
|
|
83
|
+
deny: "deny";
|
|
84
|
+
}>>]>>;
|
|
85
|
+
webfetch: z.ZodOptional<z.ZodEnum<{
|
|
86
|
+
ask: "ask";
|
|
87
|
+
allow: "allow";
|
|
88
|
+
deny: "deny";
|
|
89
|
+
}>>;
|
|
90
|
+
doom_loop: z.ZodOptional<z.ZodEnum<{
|
|
91
|
+
ask: "ask";
|
|
92
|
+
allow: "allow";
|
|
93
|
+
deny: "deny";
|
|
94
|
+
}>>;
|
|
95
|
+
external_directory: z.ZodOptional<z.ZodEnum<{
|
|
96
|
+
ask: "ask";
|
|
97
|
+
allow: "allow";
|
|
98
|
+
deny: "deny";
|
|
99
|
+
}>>;
|
|
100
|
+
}, z.core.$strip>>;
|
|
101
|
+
}, z.core.$strip>>>;
|
|
102
|
+
librarian: z.ZodOptional<z.ZodOptional<z.ZodObject<{
|
|
103
|
+
model: z.ZodOptional<z.ZodString>;
|
|
104
|
+
temperature: z.ZodOptional<z.ZodNumber>;
|
|
105
|
+
top_p: z.ZodOptional<z.ZodNumber>;
|
|
106
|
+
prompt: z.ZodOptional<z.ZodString>;
|
|
107
|
+
tools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
|
|
108
|
+
disable: z.ZodOptional<z.ZodBoolean>;
|
|
109
|
+
description: z.ZodOptional<z.ZodString>;
|
|
110
|
+
mode: z.ZodOptional<z.ZodEnum<{
|
|
111
|
+
subagent: "subagent";
|
|
112
|
+
primary: "primary";
|
|
113
|
+
all: "all";
|
|
94
114
|
}>>;
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
115
|
+
color: z.ZodOptional<z.ZodString>;
|
|
116
|
+
permission: z.ZodOptional<z.ZodObject<{
|
|
117
|
+
edit: z.ZodOptional<z.ZodEnum<{
|
|
118
|
+
ask: "ask";
|
|
119
|
+
allow: "allow";
|
|
120
|
+
deny: "deny";
|
|
121
|
+
}>>;
|
|
122
|
+
bash: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
|
|
123
|
+
ask: "ask";
|
|
124
|
+
allow: "allow";
|
|
125
|
+
deny: "deny";
|
|
126
|
+
}>, z.ZodRecord<z.ZodString, z.ZodEnum<{
|
|
127
|
+
ask: "ask";
|
|
128
|
+
allow: "allow";
|
|
129
|
+
deny: "deny";
|
|
130
|
+
}>>]>>;
|
|
131
|
+
webfetch: z.ZodOptional<z.ZodEnum<{
|
|
132
|
+
ask: "ask";
|
|
133
|
+
allow: "allow";
|
|
134
|
+
deny: "deny";
|
|
135
|
+
}>>;
|
|
136
|
+
doom_loop: z.ZodOptional<z.ZodEnum<{
|
|
137
|
+
ask: "ask";
|
|
138
|
+
allow: "allow";
|
|
139
|
+
deny: "deny";
|
|
140
|
+
}>>;
|
|
141
|
+
external_directory: z.ZodOptional<z.ZodEnum<{
|
|
142
|
+
ask: "ask";
|
|
143
|
+
allow: "allow";
|
|
144
|
+
deny: "deny";
|
|
145
|
+
}>>;
|
|
146
|
+
}, z.core.$strip>>;
|
|
147
|
+
}, z.core.$strip>>>;
|
|
148
|
+
explore: z.ZodOptional<z.ZodOptional<z.ZodObject<{
|
|
149
|
+
model: z.ZodOptional<z.ZodString>;
|
|
150
|
+
temperature: z.ZodOptional<z.ZodNumber>;
|
|
151
|
+
top_p: z.ZodOptional<z.ZodNumber>;
|
|
152
|
+
prompt: z.ZodOptional<z.ZodString>;
|
|
153
|
+
tools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
|
|
154
|
+
disable: z.ZodOptional<z.ZodBoolean>;
|
|
155
|
+
description: z.ZodOptional<z.ZodString>;
|
|
156
|
+
mode: z.ZodOptional<z.ZodEnum<{
|
|
157
|
+
subagent: "subagent";
|
|
158
|
+
primary: "primary";
|
|
159
|
+
all: "all";
|
|
99
160
|
}>>;
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
161
|
+
color: z.ZodOptional<z.ZodString>;
|
|
162
|
+
permission: z.ZodOptional<z.ZodObject<{
|
|
163
|
+
edit: z.ZodOptional<z.ZodEnum<{
|
|
164
|
+
ask: "ask";
|
|
165
|
+
allow: "allow";
|
|
166
|
+
deny: "deny";
|
|
167
|
+
}>>;
|
|
168
|
+
bash: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
|
|
169
|
+
ask: "ask";
|
|
170
|
+
allow: "allow";
|
|
171
|
+
deny: "deny";
|
|
172
|
+
}>, z.ZodRecord<z.ZodString, z.ZodEnum<{
|
|
173
|
+
ask: "ask";
|
|
174
|
+
allow: "allow";
|
|
175
|
+
deny: "deny";
|
|
176
|
+
}>>]>>;
|
|
177
|
+
webfetch: z.ZodOptional<z.ZodEnum<{
|
|
178
|
+
ask: "ask";
|
|
179
|
+
allow: "allow";
|
|
180
|
+
deny: "deny";
|
|
181
|
+
}>>;
|
|
182
|
+
doom_loop: z.ZodOptional<z.ZodEnum<{
|
|
183
|
+
ask: "ask";
|
|
184
|
+
allow: "allow";
|
|
185
|
+
deny: "deny";
|
|
186
|
+
}>>;
|
|
187
|
+
external_directory: z.ZodOptional<z.ZodEnum<{
|
|
188
|
+
ask: "ask";
|
|
189
|
+
allow: "allow";
|
|
190
|
+
deny: "deny";
|
|
191
|
+
}>>;
|
|
192
|
+
}, z.core.$strip>>;
|
|
193
|
+
}, z.core.$strip>>>;
|
|
194
|
+
"frontend-ui-ux-engineer": z.ZodOptional<z.ZodOptional<z.ZodObject<{
|
|
195
|
+
model: z.ZodOptional<z.ZodString>;
|
|
196
|
+
temperature: z.ZodOptional<z.ZodNumber>;
|
|
197
|
+
top_p: z.ZodOptional<z.ZodNumber>;
|
|
198
|
+
prompt: z.ZodOptional<z.ZodString>;
|
|
199
|
+
tools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
|
|
200
|
+
disable: z.ZodOptional<z.ZodBoolean>;
|
|
201
|
+
description: z.ZodOptional<z.ZodString>;
|
|
202
|
+
mode: z.ZodOptional<z.ZodEnum<{
|
|
203
|
+
subagent: "subagent";
|
|
204
|
+
primary: "primary";
|
|
205
|
+
all: "all";
|
|
104
206
|
}>>;
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
207
|
+
color: z.ZodOptional<z.ZodString>;
|
|
208
|
+
permission: z.ZodOptional<z.ZodObject<{
|
|
209
|
+
edit: z.ZodOptional<z.ZodEnum<{
|
|
210
|
+
ask: "ask";
|
|
211
|
+
allow: "allow";
|
|
212
|
+
deny: "deny";
|
|
213
|
+
}>>;
|
|
214
|
+
bash: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
|
|
215
|
+
ask: "ask";
|
|
216
|
+
allow: "allow";
|
|
217
|
+
deny: "deny";
|
|
218
|
+
}>, z.ZodRecord<z.ZodString, z.ZodEnum<{
|
|
219
|
+
ask: "ask";
|
|
220
|
+
allow: "allow";
|
|
221
|
+
deny: "deny";
|
|
222
|
+
}>>]>>;
|
|
223
|
+
webfetch: z.ZodOptional<z.ZodEnum<{
|
|
224
|
+
ask: "ask";
|
|
225
|
+
allow: "allow";
|
|
226
|
+
deny: "deny";
|
|
227
|
+
}>>;
|
|
228
|
+
doom_loop: z.ZodOptional<z.ZodEnum<{
|
|
229
|
+
ask: "ask";
|
|
230
|
+
allow: "allow";
|
|
231
|
+
deny: "deny";
|
|
232
|
+
}>>;
|
|
233
|
+
external_directory: z.ZodOptional<z.ZodEnum<{
|
|
234
|
+
ask: "ask";
|
|
235
|
+
allow: "allow";
|
|
236
|
+
deny: "deny";
|
|
237
|
+
}>>;
|
|
238
|
+
}, z.core.$strip>>;
|
|
239
|
+
}, z.core.$strip>>>;
|
|
240
|
+
"document-writer": z.ZodOptional<z.ZodOptional<z.ZodObject<{
|
|
127
241
|
model: z.ZodOptional<z.ZodString>;
|
|
128
242
|
temperature: z.ZodOptional<z.ZodNumber>;
|
|
129
243
|
top_p: z.ZodOptional<z.ZodNumber>;
|
|
@@ -170,6 +284,266 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
|
|
|
170
284
|
}, z.core.$strip>>;
|
|
171
285
|
}, z.core.$strip>>>;
|
|
172
286
|
}, z.core.$strip>;
|
|
287
|
+
export declare const ClaudeCodeConfigSchema: z.ZodObject<{
|
|
288
|
+
mcp: z.ZodOptional<z.ZodBoolean>;
|
|
289
|
+
commands: z.ZodOptional<z.ZodBoolean>;
|
|
290
|
+
skills: z.ZodOptional<z.ZodBoolean>;
|
|
291
|
+
agents: z.ZodOptional<z.ZodBoolean>;
|
|
292
|
+
hooks: z.ZodOptional<z.ZodBoolean>;
|
|
293
|
+
}, z.core.$strip>;
|
|
294
|
+
export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
|
|
295
|
+
$schema: z.ZodOptional<z.ZodString>;
|
|
296
|
+
disabled_mcps: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
297
|
+
websearch_exa: "websearch_exa";
|
|
298
|
+
context7: "context7";
|
|
299
|
+
}>>>;
|
|
300
|
+
disabled_agents: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
301
|
+
oracle: "oracle";
|
|
302
|
+
librarian: "librarian";
|
|
303
|
+
explore: "explore";
|
|
304
|
+
"frontend-ui-ux-engineer": "frontend-ui-ux-engineer";
|
|
305
|
+
"document-writer": "document-writer";
|
|
306
|
+
}>>>;
|
|
307
|
+
agents: z.ZodOptional<z.ZodObject<{
|
|
308
|
+
oracle: z.ZodOptional<z.ZodOptional<z.ZodObject<{
|
|
309
|
+
model: z.ZodOptional<z.ZodString>;
|
|
310
|
+
temperature: z.ZodOptional<z.ZodNumber>;
|
|
311
|
+
top_p: z.ZodOptional<z.ZodNumber>;
|
|
312
|
+
prompt: z.ZodOptional<z.ZodString>;
|
|
313
|
+
tools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
|
|
314
|
+
disable: z.ZodOptional<z.ZodBoolean>;
|
|
315
|
+
description: z.ZodOptional<z.ZodString>;
|
|
316
|
+
mode: z.ZodOptional<z.ZodEnum<{
|
|
317
|
+
subagent: "subagent";
|
|
318
|
+
primary: "primary";
|
|
319
|
+
all: "all";
|
|
320
|
+
}>>;
|
|
321
|
+
color: z.ZodOptional<z.ZodString>;
|
|
322
|
+
permission: z.ZodOptional<z.ZodObject<{
|
|
323
|
+
edit: z.ZodOptional<z.ZodEnum<{
|
|
324
|
+
ask: "ask";
|
|
325
|
+
allow: "allow";
|
|
326
|
+
deny: "deny";
|
|
327
|
+
}>>;
|
|
328
|
+
bash: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
|
|
329
|
+
ask: "ask";
|
|
330
|
+
allow: "allow";
|
|
331
|
+
deny: "deny";
|
|
332
|
+
}>, z.ZodRecord<z.ZodString, z.ZodEnum<{
|
|
333
|
+
ask: "ask";
|
|
334
|
+
allow: "allow";
|
|
335
|
+
deny: "deny";
|
|
336
|
+
}>>]>>;
|
|
337
|
+
webfetch: z.ZodOptional<z.ZodEnum<{
|
|
338
|
+
ask: "ask";
|
|
339
|
+
allow: "allow";
|
|
340
|
+
deny: "deny";
|
|
341
|
+
}>>;
|
|
342
|
+
doom_loop: z.ZodOptional<z.ZodEnum<{
|
|
343
|
+
ask: "ask";
|
|
344
|
+
allow: "allow";
|
|
345
|
+
deny: "deny";
|
|
346
|
+
}>>;
|
|
347
|
+
external_directory: z.ZodOptional<z.ZodEnum<{
|
|
348
|
+
ask: "ask";
|
|
349
|
+
allow: "allow";
|
|
350
|
+
deny: "deny";
|
|
351
|
+
}>>;
|
|
352
|
+
}, z.core.$strip>>;
|
|
353
|
+
}, z.core.$strip>>>;
|
|
354
|
+
librarian: z.ZodOptional<z.ZodOptional<z.ZodObject<{
|
|
355
|
+
model: z.ZodOptional<z.ZodString>;
|
|
356
|
+
temperature: z.ZodOptional<z.ZodNumber>;
|
|
357
|
+
top_p: z.ZodOptional<z.ZodNumber>;
|
|
358
|
+
prompt: z.ZodOptional<z.ZodString>;
|
|
359
|
+
tools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
|
|
360
|
+
disable: z.ZodOptional<z.ZodBoolean>;
|
|
361
|
+
description: z.ZodOptional<z.ZodString>;
|
|
362
|
+
mode: z.ZodOptional<z.ZodEnum<{
|
|
363
|
+
subagent: "subagent";
|
|
364
|
+
primary: "primary";
|
|
365
|
+
all: "all";
|
|
366
|
+
}>>;
|
|
367
|
+
color: z.ZodOptional<z.ZodString>;
|
|
368
|
+
permission: z.ZodOptional<z.ZodObject<{
|
|
369
|
+
edit: z.ZodOptional<z.ZodEnum<{
|
|
370
|
+
ask: "ask";
|
|
371
|
+
allow: "allow";
|
|
372
|
+
deny: "deny";
|
|
373
|
+
}>>;
|
|
374
|
+
bash: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
|
|
375
|
+
ask: "ask";
|
|
376
|
+
allow: "allow";
|
|
377
|
+
deny: "deny";
|
|
378
|
+
}>, z.ZodRecord<z.ZodString, z.ZodEnum<{
|
|
379
|
+
ask: "ask";
|
|
380
|
+
allow: "allow";
|
|
381
|
+
deny: "deny";
|
|
382
|
+
}>>]>>;
|
|
383
|
+
webfetch: z.ZodOptional<z.ZodEnum<{
|
|
384
|
+
ask: "ask";
|
|
385
|
+
allow: "allow";
|
|
386
|
+
deny: "deny";
|
|
387
|
+
}>>;
|
|
388
|
+
doom_loop: z.ZodOptional<z.ZodEnum<{
|
|
389
|
+
ask: "ask";
|
|
390
|
+
allow: "allow";
|
|
391
|
+
deny: "deny";
|
|
392
|
+
}>>;
|
|
393
|
+
external_directory: z.ZodOptional<z.ZodEnum<{
|
|
394
|
+
ask: "ask";
|
|
395
|
+
allow: "allow";
|
|
396
|
+
deny: "deny";
|
|
397
|
+
}>>;
|
|
398
|
+
}, z.core.$strip>>;
|
|
399
|
+
}, z.core.$strip>>>;
|
|
400
|
+
explore: z.ZodOptional<z.ZodOptional<z.ZodObject<{
|
|
401
|
+
model: z.ZodOptional<z.ZodString>;
|
|
402
|
+
temperature: z.ZodOptional<z.ZodNumber>;
|
|
403
|
+
top_p: z.ZodOptional<z.ZodNumber>;
|
|
404
|
+
prompt: z.ZodOptional<z.ZodString>;
|
|
405
|
+
tools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
|
|
406
|
+
disable: z.ZodOptional<z.ZodBoolean>;
|
|
407
|
+
description: z.ZodOptional<z.ZodString>;
|
|
408
|
+
mode: z.ZodOptional<z.ZodEnum<{
|
|
409
|
+
subagent: "subagent";
|
|
410
|
+
primary: "primary";
|
|
411
|
+
all: "all";
|
|
412
|
+
}>>;
|
|
413
|
+
color: z.ZodOptional<z.ZodString>;
|
|
414
|
+
permission: z.ZodOptional<z.ZodObject<{
|
|
415
|
+
edit: z.ZodOptional<z.ZodEnum<{
|
|
416
|
+
ask: "ask";
|
|
417
|
+
allow: "allow";
|
|
418
|
+
deny: "deny";
|
|
419
|
+
}>>;
|
|
420
|
+
bash: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
|
|
421
|
+
ask: "ask";
|
|
422
|
+
allow: "allow";
|
|
423
|
+
deny: "deny";
|
|
424
|
+
}>, z.ZodRecord<z.ZodString, z.ZodEnum<{
|
|
425
|
+
ask: "ask";
|
|
426
|
+
allow: "allow";
|
|
427
|
+
deny: "deny";
|
|
428
|
+
}>>]>>;
|
|
429
|
+
webfetch: z.ZodOptional<z.ZodEnum<{
|
|
430
|
+
ask: "ask";
|
|
431
|
+
allow: "allow";
|
|
432
|
+
deny: "deny";
|
|
433
|
+
}>>;
|
|
434
|
+
doom_loop: z.ZodOptional<z.ZodEnum<{
|
|
435
|
+
ask: "ask";
|
|
436
|
+
allow: "allow";
|
|
437
|
+
deny: "deny";
|
|
438
|
+
}>>;
|
|
439
|
+
external_directory: z.ZodOptional<z.ZodEnum<{
|
|
440
|
+
ask: "ask";
|
|
441
|
+
allow: "allow";
|
|
442
|
+
deny: "deny";
|
|
443
|
+
}>>;
|
|
444
|
+
}, z.core.$strip>>;
|
|
445
|
+
}, z.core.$strip>>>;
|
|
446
|
+
"frontend-ui-ux-engineer": z.ZodOptional<z.ZodOptional<z.ZodObject<{
|
|
447
|
+
model: z.ZodOptional<z.ZodString>;
|
|
448
|
+
temperature: z.ZodOptional<z.ZodNumber>;
|
|
449
|
+
top_p: z.ZodOptional<z.ZodNumber>;
|
|
450
|
+
prompt: z.ZodOptional<z.ZodString>;
|
|
451
|
+
tools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
|
|
452
|
+
disable: z.ZodOptional<z.ZodBoolean>;
|
|
453
|
+
description: z.ZodOptional<z.ZodString>;
|
|
454
|
+
mode: z.ZodOptional<z.ZodEnum<{
|
|
455
|
+
subagent: "subagent";
|
|
456
|
+
primary: "primary";
|
|
457
|
+
all: "all";
|
|
458
|
+
}>>;
|
|
459
|
+
color: z.ZodOptional<z.ZodString>;
|
|
460
|
+
permission: z.ZodOptional<z.ZodObject<{
|
|
461
|
+
edit: z.ZodOptional<z.ZodEnum<{
|
|
462
|
+
ask: "ask";
|
|
463
|
+
allow: "allow";
|
|
464
|
+
deny: "deny";
|
|
465
|
+
}>>;
|
|
466
|
+
bash: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
|
|
467
|
+
ask: "ask";
|
|
468
|
+
allow: "allow";
|
|
469
|
+
deny: "deny";
|
|
470
|
+
}>, z.ZodRecord<z.ZodString, z.ZodEnum<{
|
|
471
|
+
ask: "ask";
|
|
472
|
+
allow: "allow";
|
|
473
|
+
deny: "deny";
|
|
474
|
+
}>>]>>;
|
|
475
|
+
webfetch: z.ZodOptional<z.ZodEnum<{
|
|
476
|
+
ask: "ask";
|
|
477
|
+
allow: "allow";
|
|
478
|
+
deny: "deny";
|
|
479
|
+
}>>;
|
|
480
|
+
doom_loop: z.ZodOptional<z.ZodEnum<{
|
|
481
|
+
ask: "ask";
|
|
482
|
+
allow: "allow";
|
|
483
|
+
deny: "deny";
|
|
484
|
+
}>>;
|
|
485
|
+
external_directory: z.ZodOptional<z.ZodEnum<{
|
|
486
|
+
ask: "ask";
|
|
487
|
+
allow: "allow";
|
|
488
|
+
deny: "deny";
|
|
489
|
+
}>>;
|
|
490
|
+
}, z.core.$strip>>;
|
|
491
|
+
}, z.core.$strip>>>;
|
|
492
|
+
"document-writer": z.ZodOptional<z.ZodOptional<z.ZodObject<{
|
|
493
|
+
model: z.ZodOptional<z.ZodString>;
|
|
494
|
+
temperature: z.ZodOptional<z.ZodNumber>;
|
|
495
|
+
top_p: z.ZodOptional<z.ZodNumber>;
|
|
496
|
+
prompt: z.ZodOptional<z.ZodString>;
|
|
497
|
+
tools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
|
|
498
|
+
disable: z.ZodOptional<z.ZodBoolean>;
|
|
499
|
+
description: z.ZodOptional<z.ZodString>;
|
|
500
|
+
mode: z.ZodOptional<z.ZodEnum<{
|
|
501
|
+
subagent: "subagent";
|
|
502
|
+
primary: "primary";
|
|
503
|
+
all: "all";
|
|
504
|
+
}>>;
|
|
505
|
+
color: z.ZodOptional<z.ZodString>;
|
|
506
|
+
permission: z.ZodOptional<z.ZodObject<{
|
|
507
|
+
edit: z.ZodOptional<z.ZodEnum<{
|
|
508
|
+
ask: "ask";
|
|
509
|
+
allow: "allow";
|
|
510
|
+
deny: "deny";
|
|
511
|
+
}>>;
|
|
512
|
+
bash: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
|
|
513
|
+
ask: "ask";
|
|
514
|
+
allow: "allow";
|
|
515
|
+
deny: "deny";
|
|
516
|
+
}>, z.ZodRecord<z.ZodString, z.ZodEnum<{
|
|
517
|
+
ask: "ask";
|
|
518
|
+
allow: "allow";
|
|
519
|
+
deny: "deny";
|
|
520
|
+
}>>]>>;
|
|
521
|
+
webfetch: z.ZodOptional<z.ZodEnum<{
|
|
522
|
+
ask: "ask";
|
|
523
|
+
allow: "allow";
|
|
524
|
+
deny: "deny";
|
|
525
|
+
}>>;
|
|
526
|
+
doom_loop: z.ZodOptional<z.ZodEnum<{
|
|
527
|
+
ask: "ask";
|
|
528
|
+
allow: "allow";
|
|
529
|
+
deny: "deny";
|
|
530
|
+
}>>;
|
|
531
|
+
external_directory: z.ZodOptional<z.ZodEnum<{
|
|
532
|
+
ask: "ask";
|
|
533
|
+
allow: "allow";
|
|
534
|
+
deny: "deny";
|
|
535
|
+
}>>;
|
|
536
|
+
}, z.core.$strip>>;
|
|
537
|
+
}, z.core.$strip>>>;
|
|
538
|
+
}, z.core.$strip>>;
|
|
539
|
+
claude_code: z.ZodOptional<z.ZodObject<{
|
|
540
|
+
mcp: z.ZodOptional<z.ZodBoolean>;
|
|
541
|
+
commands: z.ZodOptional<z.ZodBoolean>;
|
|
542
|
+
skills: z.ZodOptional<z.ZodBoolean>;
|
|
543
|
+
agents: z.ZodOptional<z.ZodBoolean>;
|
|
544
|
+
hooks: z.ZodOptional<z.ZodBoolean>;
|
|
545
|
+
}, z.core.$strip>>;
|
|
546
|
+
}, z.core.$strip>;
|
|
173
547
|
export type OhMyOpenCodeConfig = z.infer<typeof OhMyOpenCodeConfigSchema>;
|
|
174
548
|
export type AgentOverrideConfig = z.infer<typeof AgentOverrideConfigSchema>;
|
|
175
549
|
export type AgentOverrides = z.infer<typeof AgentOverridesSchema>;
|