oh-my-opencode 0.4.0 → 0.4.2
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 +3 -6
- package/README.md +3 -6
- package/dist/config/schema.d.ts +67 -66
- package/dist/hooks/index.d.ts +2 -2
- package/dist/hooks/session-recovery/index.d.ts +4 -2
- package/dist/hooks/todo-continuation-enforcer.d.ts +11 -6
- package/dist/index.js +3585 -2058
- package/dist/shared/deep-merge.d.ts +12 -0
- package/dist/shared/index.d.ts +1 -0
- package/package.json +1 -1
package/README.ko.md
CHANGED
|
@@ -43,7 +43,7 @@ OpenCode 가 낭만이 사라진것같은 오늘날의 시대에, 당신에게
|
|
|
43
43
|
- 이 플러그인은 [OpenCode Zen](https://opencode.ai/docs/zen/), Google, OpenAI, Anthropic 의 모델을 사용합니다.
|
|
44
44
|
- Anthropic 모델들을 사용하기 위해 [OpenCode 의 내장 Claude Code Max Plan 로그인 기능](https://opencode.ai/docs/providers/#anthropic)을 사용하세요.
|
|
45
45
|
- OpenAI 모델 (ChatGPT Plus/Pro)을 사용하기 위해 [OpenCode-OpenAI-Codex-Auth 플러그인](https://github.com/numman-ali/opencode-openai-codex-auth)을 설치하세요.
|
|
46
|
-
- Google Gemini 모델을 위해 `oh-my-opencode
|
|
46
|
+
- Google Gemini 모델을 위해 `oh-my-opencode.json`에서 `google_auth: true`를 활성화하세요 (**내장 Antigravity OAuth**).
|
|
47
47
|
- 다른 프로바이더를 위해 [VibeProxy (macOS Only)](https://github.com/automazeio/vibeproxy) 또는 [CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)를 대안으로 사용할 수 있습니다.
|
|
48
48
|
- **사실 밑의 내용은 읽지 않아도 됩니다. 그냥 설치하시면 됩니다. 모델 설정하고나면 추가로 공부하거나 알 필요가 없고, 설치하고 나면 그냥 더 좋아집니다.**
|
|
49
49
|
- **이 문서도 그냥 Claude Code, OpenCode, Cursor에 붙여넣고, 설치하고, 사용자의 개입이 필요할 때 알려달라고 프롬프팅하세요. 그럼 그냥 깔립니다.**
|
|
@@ -123,14 +123,11 @@ opencode auth login
|
|
|
123
123
|
|
|
124
124
|
#### 4.2 Google Gemini (내장 Antigravity OAuth)
|
|
125
125
|
|
|
126
|
-
먼저
|
|
126
|
+
먼저 `~/.config/opencode/oh-my-opencode.json` (또는 프로젝트 레벨의 `.opencode/oh-my-opencode.json`)에서 Google auth를 활성화:
|
|
127
127
|
|
|
128
128
|
```json
|
|
129
129
|
{
|
|
130
|
-
"
|
|
131
|
-
"oh-my-opencode",
|
|
132
|
-
"oh-my-opencode/google-auth"
|
|
133
|
-
]
|
|
130
|
+
"google_auth": true
|
|
134
131
|
}
|
|
135
132
|
```
|
|
136
133
|
|
package/README.md
CHANGED
|
@@ -42,7 +42,7 @@ Even if you don't, invest a little time. Boost your skills and productivity by m
|
|
|
42
42
|
- This plugin utilizes models from [OpenCode Zen](https://opencode.ai/docs/zen/), Google, OpenAI, and Anthropic.
|
|
43
43
|
- For Anthropic models, use [OpenCode's built-in Claude Code Max Plan login](https://opencode.ai/docs/providers/#anthropic).
|
|
44
44
|
- For OpenAI models (ChatGPT Plus/Pro), install the [OpenCode-OpenAI-Codex-Auth plugin](https://github.com/numman-ali/opencode-openai-codex-auth).
|
|
45
|
-
- For Google Gemini models,
|
|
45
|
+
- For Google Gemini models, enable `google_auth: true` in `oh-my-opencode.json` for **built-in Antigravity OAuth**.
|
|
46
46
|
- For other providers, [VibeProxy (macOS Only)](https://github.com/automazeio/vibeproxy) or [CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI) remain available as alternatives.
|
|
47
47
|
- **Truth be told, the rest is optional. Just install it. Once set up, no further learning is required. It simply evolves.**
|
|
48
48
|
- **Paste this document into Claude Code, OpenCode, or Cursor, instruct it to install, and ask for assistance if needed. It just installs.**
|
|
@@ -122,14 +122,11 @@ opencode auth login
|
|
|
122
122
|
|
|
123
123
|
#### 4.2 Google Gemini (Built-in Antigravity OAuth)
|
|
124
124
|
|
|
125
|
-
First,
|
|
125
|
+
First, enable Google auth in `~/.config/opencode/oh-my-opencode.json` (or `.opencode/oh-my-opencode.json` for project-level):
|
|
126
126
|
|
|
127
127
|
```json
|
|
128
128
|
{
|
|
129
|
-
"
|
|
130
|
-
"oh-my-opencode",
|
|
131
|
-
"oh-my-opencode/google-auth"
|
|
132
|
-
]
|
|
129
|
+
"google_auth": true
|
|
133
130
|
}
|
|
134
131
|
```
|
|
135
132
|
|
package/dist/config/schema.d.ts
CHANGED
|
@@ -23,32 +23,32 @@ export declare const AgentOverrideConfigSchema: z.ZodObject<{
|
|
|
23
23
|
permission: z.ZodOptional<z.ZodObject<{
|
|
24
24
|
edit: z.ZodOptional<z.ZodEnum<{
|
|
25
25
|
allow: "allow";
|
|
26
|
-
ask: "ask";
|
|
27
26
|
deny: "deny";
|
|
27
|
+
ask: "ask";
|
|
28
28
|
}>>;
|
|
29
29
|
bash: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
|
|
30
30
|
allow: "allow";
|
|
31
|
-
ask: "ask";
|
|
32
31
|
deny: "deny";
|
|
32
|
+
ask: "ask";
|
|
33
33
|
}>, z.ZodRecord<z.ZodString, z.ZodEnum<{
|
|
34
34
|
allow: "allow";
|
|
35
|
-
ask: "ask";
|
|
36
35
|
deny: "deny";
|
|
36
|
+
ask: "ask";
|
|
37
37
|
}>>]>>;
|
|
38
38
|
webfetch: z.ZodOptional<z.ZodEnum<{
|
|
39
39
|
allow: "allow";
|
|
40
|
-
ask: "ask";
|
|
41
40
|
deny: "deny";
|
|
41
|
+
ask: "ask";
|
|
42
42
|
}>>;
|
|
43
43
|
doom_loop: z.ZodOptional<z.ZodEnum<{
|
|
44
44
|
allow: "allow";
|
|
45
|
-
ask: "ask";
|
|
46
45
|
deny: "deny";
|
|
46
|
+
ask: "ask";
|
|
47
47
|
}>>;
|
|
48
48
|
external_directory: z.ZodOptional<z.ZodEnum<{
|
|
49
49
|
allow: "allow";
|
|
50
|
-
ask: "ask";
|
|
51
50
|
deny: "deny";
|
|
51
|
+
ask: "ask";
|
|
52
52
|
}>>;
|
|
53
53
|
}, z.core.$strip>>;
|
|
54
54
|
}, z.core.$strip>;
|
|
@@ -70,32 +70,32 @@ export declare const AgentOverridesSchema: z.ZodObject<{
|
|
|
70
70
|
permission: z.ZodOptional<z.ZodObject<{
|
|
71
71
|
edit: z.ZodOptional<z.ZodEnum<{
|
|
72
72
|
allow: "allow";
|
|
73
|
-
ask: "ask";
|
|
74
73
|
deny: "deny";
|
|
74
|
+
ask: "ask";
|
|
75
75
|
}>>;
|
|
76
76
|
bash: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
|
|
77
77
|
allow: "allow";
|
|
78
|
-
ask: "ask";
|
|
79
78
|
deny: "deny";
|
|
79
|
+
ask: "ask";
|
|
80
80
|
}>, z.ZodRecord<z.ZodString, z.ZodEnum<{
|
|
81
81
|
allow: "allow";
|
|
82
|
-
ask: "ask";
|
|
83
82
|
deny: "deny";
|
|
83
|
+
ask: "ask";
|
|
84
84
|
}>>]>>;
|
|
85
85
|
webfetch: z.ZodOptional<z.ZodEnum<{
|
|
86
86
|
allow: "allow";
|
|
87
|
-
ask: "ask";
|
|
88
87
|
deny: "deny";
|
|
88
|
+
ask: "ask";
|
|
89
89
|
}>>;
|
|
90
90
|
doom_loop: z.ZodOptional<z.ZodEnum<{
|
|
91
91
|
allow: "allow";
|
|
92
|
-
ask: "ask";
|
|
93
92
|
deny: "deny";
|
|
93
|
+
ask: "ask";
|
|
94
94
|
}>>;
|
|
95
95
|
external_directory: z.ZodOptional<z.ZodEnum<{
|
|
96
96
|
allow: "allow";
|
|
97
|
-
ask: "ask";
|
|
98
97
|
deny: "deny";
|
|
98
|
+
ask: "ask";
|
|
99
99
|
}>>;
|
|
100
100
|
}, z.core.$strip>>;
|
|
101
101
|
}, z.core.$strip>>>;
|
|
@@ -116,32 +116,32 @@ export declare const AgentOverridesSchema: z.ZodObject<{
|
|
|
116
116
|
permission: z.ZodOptional<z.ZodObject<{
|
|
117
117
|
edit: z.ZodOptional<z.ZodEnum<{
|
|
118
118
|
allow: "allow";
|
|
119
|
-
ask: "ask";
|
|
120
119
|
deny: "deny";
|
|
120
|
+
ask: "ask";
|
|
121
121
|
}>>;
|
|
122
122
|
bash: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
|
|
123
123
|
allow: "allow";
|
|
124
|
-
ask: "ask";
|
|
125
124
|
deny: "deny";
|
|
125
|
+
ask: "ask";
|
|
126
126
|
}>, z.ZodRecord<z.ZodString, z.ZodEnum<{
|
|
127
127
|
allow: "allow";
|
|
128
|
-
ask: "ask";
|
|
129
128
|
deny: "deny";
|
|
129
|
+
ask: "ask";
|
|
130
130
|
}>>]>>;
|
|
131
131
|
webfetch: z.ZodOptional<z.ZodEnum<{
|
|
132
132
|
allow: "allow";
|
|
133
|
-
ask: "ask";
|
|
134
133
|
deny: "deny";
|
|
134
|
+
ask: "ask";
|
|
135
135
|
}>>;
|
|
136
136
|
doom_loop: z.ZodOptional<z.ZodEnum<{
|
|
137
137
|
allow: "allow";
|
|
138
|
-
ask: "ask";
|
|
139
138
|
deny: "deny";
|
|
139
|
+
ask: "ask";
|
|
140
140
|
}>>;
|
|
141
141
|
external_directory: z.ZodOptional<z.ZodEnum<{
|
|
142
142
|
allow: "allow";
|
|
143
|
-
ask: "ask";
|
|
144
143
|
deny: "deny";
|
|
144
|
+
ask: "ask";
|
|
145
145
|
}>>;
|
|
146
146
|
}, z.core.$strip>>;
|
|
147
147
|
}, z.core.$strip>>>;
|
|
@@ -162,32 +162,32 @@ export declare const AgentOverridesSchema: z.ZodObject<{
|
|
|
162
162
|
permission: z.ZodOptional<z.ZodObject<{
|
|
163
163
|
edit: z.ZodOptional<z.ZodEnum<{
|
|
164
164
|
allow: "allow";
|
|
165
|
-
ask: "ask";
|
|
166
165
|
deny: "deny";
|
|
166
|
+
ask: "ask";
|
|
167
167
|
}>>;
|
|
168
168
|
bash: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
|
|
169
169
|
allow: "allow";
|
|
170
|
-
ask: "ask";
|
|
171
170
|
deny: "deny";
|
|
171
|
+
ask: "ask";
|
|
172
172
|
}>, z.ZodRecord<z.ZodString, z.ZodEnum<{
|
|
173
173
|
allow: "allow";
|
|
174
|
-
ask: "ask";
|
|
175
174
|
deny: "deny";
|
|
175
|
+
ask: "ask";
|
|
176
176
|
}>>]>>;
|
|
177
177
|
webfetch: z.ZodOptional<z.ZodEnum<{
|
|
178
178
|
allow: "allow";
|
|
179
|
-
ask: "ask";
|
|
180
179
|
deny: "deny";
|
|
180
|
+
ask: "ask";
|
|
181
181
|
}>>;
|
|
182
182
|
doom_loop: z.ZodOptional<z.ZodEnum<{
|
|
183
183
|
allow: "allow";
|
|
184
|
-
ask: "ask";
|
|
185
184
|
deny: "deny";
|
|
185
|
+
ask: "ask";
|
|
186
186
|
}>>;
|
|
187
187
|
external_directory: z.ZodOptional<z.ZodEnum<{
|
|
188
188
|
allow: "allow";
|
|
189
|
-
ask: "ask";
|
|
190
189
|
deny: "deny";
|
|
190
|
+
ask: "ask";
|
|
191
191
|
}>>;
|
|
192
192
|
}, z.core.$strip>>;
|
|
193
193
|
}, z.core.$strip>>>;
|
|
@@ -208,32 +208,32 @@ export declare const AgentOverridesSchema: z.ZodObject<{
|
|
|
208
208
|
permission: z.ZodOptional<z.ZodObject<{
|
|
209
209
|
edit: z.ZodOptional<z.ZodEnum<{
|
|
210
210
|
allow: "allow";
|
|
211
|
-
ask: "ask";
|
|
212
211
|
deny: "deny";
|
|
212
|
+
ask: "ask";
|
|
213
213
|
}>>;
|
|
214
214
|
bash: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
|
|
215
215
|
allow: "allow";
|
|
216
|
-
ask: "ask";
|
|
217
216
|
deny: "deny";
|
|
217
|
+
ask: "ask";
|
|
218
218
|
}>, z.ZodRecord<z.ZodString, z.ZodEnum<{
|
|
219
219
|
allow: "allow";
|
|
220
|
-
ask: "ask";
|
|
221
220
|
deny: "deny";
|
|
221
|
+
ask: "ask";
|
|
222
222
|
}>>]>>;
|
|
223
223
|
webfetch: z.ZodOptional<z.ZodEnum<{
|
|
224
224
|
allow: "allow";
|
|
225
|
-
ask: "ask";
|
|
226
225
|
deny: "deny";
|
|
226
|
+
ask: "ask";
|
|
227
227
|
}>>;
|
|
228
228
|
doom_loop: z.ZodOptional<z.ZodEnum<{
|
|
229
229
|
allow: "allow";
|
|
230
|
-
ask: "ask";
|
|
231
230
|
deny: "deny";
|
|
231
|
+
ask: "ask";
|
|
232
232
|
}>>;
|
|
233
233
|
external_directory: z.ZodOptional<z.ZodEnum<{
|
|
234
234
|
allow: "allow";
|
|
235
|
-
ask: "ask";
|
|
236
235
|
deny: "deny";
|
|
236
|
+
ask: "ask";
|
|
237
237
|
}>>;
|
|
238
238
|
}, z.core.$strip>>;
|
|
239
239
|
}, z.core.$strip>>>;
|
|
@@ -254,32 +254,32 @@ export declare const AgentOverridesSchema: z.ZodObject<{
|
|
|
254
254
|
permission: z.ZodOptional<z.ZodObject<{
|
|
255
255
|
edit: z.ZodOptional<z.ZodEnum<{
|
|
256
256
|
allow: "allow";
|
|
257
|
-
ask: "ask";
|
|
258
257
|
deny: "deny";
|
|
258
|
+
ask: "ask";
|
|
259
259
|
}>>;
|
|
260
260
|
bash: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
|
|
261
261
|
allow: "allow";
|
|
262
|
-
ask: "ask";
|
|
263
262
|
deny: "deny";
|
|
263
|
+
ask: "ask";
|
|
264
264
|
}>, z.ZodRecord<z.ZodString, z.ZodEnum<{
|
|
265
265
|
allow: "allow";
|
|
266
|
-
ask: "ask";
|
|
267
266
|
deny: "deny";
|
|
267
|
+
ask: "ask";
|
|
268
268
|
}>>]>>;
|
|
269
269
|
webfetch: z.ZodOptional<z.ZodEnum<{
|
|
270
270
|
allow: "allow";
|
|
271
|
-
ask: "ask";
|
|
272
271
|
deny: "deny";
|
|
272
|
+
ask: "ask";
|
|
273
273
|
}>>;
|
|
274
274
|
doom_loop: z.ZodOptional<z.ZodEnum<{
|
|
275
275
|
allow: "allow";
|
|
276
|
-
ask: "ask";
|
|
277
276
|
deny: "deny";
|
|
277
|
+
ask: "ask";
|
|
278
278
|
}>>;
|
|
279
279
|
external_directory: z.ZodOptional<z.ZodEnum<{
|
|
280
280
|
allow: "allow";
|
|
281
|
-
ask: "ask";
|
|
282
281
|
deny: "deny";
|
|
282
|
+
ask: "ask";
|
|
283
283
|
}>>;
|
|
284
284
|
}, z.core.$strip>>;
|
|
285
285
|
}, z.core.$strip>>>;
|
|
@@ -322,32 +322,32 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
|
|
|
322
322
|
permission: z.ZodOptional<z.ZodObject<{
|
|
323
323
|
edit: z.ZodOptional<z.ZodEnum<{
|
|
324
324
|
allow: "allow";
|
|
325
|
-
ask: "ask";
|
|
326
325
|
deny: "deny";
|
|
326
|
+
ask: "ask";
|
|
327
327
|
}>>;
|
|
328
328
|
bash: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
|
|
329
329
|
allow: "allow";
|
|
330
|
-
ask: "ask";
|
|
331
330
|
deny: "deny";
|
|
331
|
+
ask: "ask";
|
|
332
332
|
}>, z.ZodRecord<z.ZodString, z.ZodEnum<{
|
|
333
333
|
allow: "allow";
|
|
334
|
-
ask: "ask";
|
|
335
334
|
deny: "deny";
|
|
335
|
+
ask: "ask";
|
|
336
336
|
}>>]>>;
|
|
337
337
|
webfetch: z.ZodOptional<z.ZodEnum<{
|
|
338
338
|
allow: "allow";
|
|
339
|
-
ask: "ask";
|
|
340
339
|
deny: "deny";
|
|
340
|
+
ask: "ask";
|
|
341
341
|
}>>;
|
|
342
342
|
doom_loop: z.ZodOptional<z.ZodEnum<{
|
|
343
343
|
allow: "allow";
|
|
344
|
-
ask: "ask";
|
|
345
344
|
deny: "deny";
|
|
345
|
+
ask: "ask";
|
|
346
346
|
}>>;
|
|
347
347
|
external_directory: z.ZodOptional<z.ZodEnum<{
|
|
348
348
|
allow: "allow";
|
|
349
|
-
ask: "ask";
|
|
350
349
|
deny: "deny";
|
|
350
|
+
ask: "ask";
|
|
351
351
|
}>>;
|
|
352
352
|
}, z.core.$strip>>;
|
|
353
353
|
}, z.core.$strip>>>;
|
|
@@ -368,32 +368,32 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
|
|
|
368
368
|
permission: z.ZodOptional<z.ZodObject<{
|
|
369
369
|
edit: z.ZodOptional<z.ZodEnum<{
|
|
370
370
|
allow: "allow";
|
|
371
|
-
ask: "ask";
|
|
372
371
|
deny: "deny";
|
|
372
|
+
ask: "ask";
|
|
373
373
|
}>>;
|
|
374
374
|
bash: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
|
|
375
375
|
allow: "allow";
|
|
376
|
-
ask: "ask";
|
|
377
376
|
deny: "deny";
|
|
377
|
+
ask: "ask";
|
|
378
378
|
}>, z.ZodRecord<z.ZodString, z.ZodEnum<{
|
|
379
379
|
allow: "allow";
|
|
380
|
-
ask: "ask";
|
|
381
380
|
deny: "deny";
|
|
381
|
+
ask: "ask";
|
|
382
382
|
}>>]>>;
|
|
383
383
|
webfetch: z.ZodOptional<z.ZodEnum<{
|
|
384
384
|
allow: "allow";
|
|
385
|
-
ask: "ask";
|
|
386
385
|
deny: "deny";
|
|
386
|
+
ask: "ask";
|
|
387
387
|
}>>;
|
|
388
388
|
doom_loop: z.ZodOptional<z.ZodEnum<{
|
|
389
389
|
allow: "allow";
|
|
390
|
-
ask: "ask";
|
|
391
390
|
deny: "deny";
|
|
391
|
+
ask: "ask";
|
|
392
392
|
}>>;
|
|
393
393
|
external_directory: z.ZodOptional<z.ZodEnum<{
|
|
394
394
|
allow: "allow";
|
|
395
|
-
ask: "ask";
|
|
396
395
|
deny: "deny";
|
|
396
|
+
ask: "ask";
|
|
397
397
|
}>>;
|
|
398
398
|
}, z.core.$strip>>;
|
|
399
399
|
}, z.core.$strip>>>;
|
|
@@ -414,32 +414,32 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
|
|
|
414
414
|
permission: z.ZodOptional<z.ZodObject<{
|
|
415
415
|
edit: z.ZodOptional<z.ZodEnum<{
|
|
416
416
|
allow: "allow";
|
|
417
|
-
ask: "ask";
|
|
418
417
|
deny: "deny";
|
|
418
|
+
ask: "ask";
|
|
419
419
|
}>>;
|
|
420
420
|
bash: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
|
|
421
421
|
allow: "allow";
|
|
422
|
-
ask: "ask";
|
|
423
422
|
deny: "deny";
|
|
423
|
+
ask: "ask";
|
|
424
424
|
}>, z.ZodRecord<z.ZodString, z.ZodEnum<{
|
|
425
425
|
allow: "allow";
|
|
426
|
-
ask: "ask";
|
|
427
426
|
deny: "deny";
|
|
427
|
+
ask: "ask";
|
|
428
428
|
}>>]>>;
|
|
429
429
|
webfetch: z.ZodOptional<z.ZodEnum<{
|
|
430
430
|
allow: "allow";
|
|
431
|
-
ask: "ask";
|
|
432
431
|
deny: "deny";
|
|
432
|
+
ask: "ask";
|
|
433
433
|
}>>;
|
|
434
434
|
doom_loop: z.ZodOptional<z.ZodEnum<{
|
|
435
435
|
allow: "allow";
|
|
436
|
-
ask: "ask";
|
|
437
436
|
deny: "deny";
|
|
437
|
+
ask: "ask";
|
|
438
438
|
}>>;
|
|
439
439
|
external_directory: z.ZodOptional<z.ZodEnum<{
|
|
440
440
|
allow: "allow";
|
|
441
|
-
ask: "ask";
|
|
442
441
|
deny: "deny";
|
|
442
|
+
ask: "ask";
|
|
443
443
|
}>>;
|
|
444
444
|
}, z.core.$strip>>;
|
|
445
445
|
}, z.core.$strip>>>;
|
|
@@ -460,32 +460,32 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
|
|
|
460
460
|
permission: z.ZodOptional<z.ZodObject<{
|
|
461
461
|
edit: z.ZodOptional<z.ZodEnum<{
|
|
462
462
|
allow: "allow";
|
|
463
|
-
ask: "ask";
|
|
464
463
|
deny: "deny";
|
|
464
|
+
ask: "ask";
|
|
465
465
|
}>>;
|
|
466
466
|
bash: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
|
|
467
467
|
allow: "allow";
|
|
468
|
-
ask: "ask";
|
|
469
468
|
deny: "deny";
|
|
469
|
+
ask: "ask";
|
|
470
470
|
}>, z.ZodRecord<z.ZodString, z.ZodEnum<{
|
|
471
471
|
allow: "allow";
|
|
472
|
-
ask: "ask";
|
|
473
472
|
deny: "deny";
|
|
473
|
+
ask: "ask";
|
|
474
474
|
}>>]>>;
|
|
475
475
|
webfetch: z.ZodOptional<z.ZodEnum<{
|
|
476
476
|
allow: "allow";
|
|
477
|
-
ask: "ask";
|
|
478
477
|
deny: "deny";
|
|
478
|
+
ask: "ask";
|
|
479
479
|
}>>;
|
|
480
480
|
doom_loop: z.ZodOptional<z.ZodEnum<{
|
|
481
481
|
allow: "allow";
|
|
482
|
-
ask: "ask";
|
|
483
482
|
deny: "deny";
|
|
483
|
+
ask: "ask";
|
|
484
484
|
}>>;
|
|
485
485
|
external_directory: z.ZodOptional<z.ZodEnum<{
|
|
486
486
|
allow: "allow";
|
|
487
|
-
ask: "ask";
|
|
488
487
|
deny: "deny";
|
|
488
|
+
ask: "ask";
|
|
489
489
|
}>>;
|
|
490
490
|
}, z.core.$strip>>;
|
|
491
491
|
}, z.core.$strip>>>;
|
|
@@ -506,32 +506,32 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
|
|
|
506
506
|
permission: z.ZodOptional<z.ZodObject<{
|
|
507
507
|
edit: z.ZodOptional<z.ZodEnum<{
|
|
508
508
|
allow: "allow";
|
|
509
|
-
ask: "ask";
|
|
510
509
|
deny: "deny";
|
|
510
|
+
ask: "ask";
|
|
511
511
|
}>>;
|
|
512
512
|
bash: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
|
|
513
513
|
allow: "allow";
|
|
514
|
-
ask: "ask";
|
|
515
514
|
deny: "deny";
|
|
515
|
+
ask: "ask";
|
|
516
516
|
}>, z.ZodRecord<z.ZodString, z.ZodEnum<{
|
|
517
517
|
allow: "allow";
|
|
518
|
-
ask: "ask";
|
|
519
518
|
deny: "deny";
|
|
519
|
+
ask: "ask";
|
|
520
520
|
}>>]>>;
|
|
521
521
|
webfetch: z.ZodOptional<z.ZodEnum<{
|
|
522
522
|
allow: "allow";
|
|
523
|
-
ask: "ask";
|
|
524
523
|
deny: "deny";
|
|
524
|
+
ask: "ask";
|
|
525
525
|
}>>;
|
|
526
526
|
doom_loop: z.ZodOptional<z.ZodEnum<{
|
|
527
527
|
allow: "allow";
|
|
528
|
-
ask: "ask";
|
|
529
528
|
deny: "deny";
|
|
529
|
+
ask: "ask";
|
|
530
530
|
}>>;
|
|
531
531
|
external_directory: z.ZodOptional<z.ZodEnum<{
|
|
532
532
|
allow: "allow";
|
|
533
|
-
ask: "ask";
|
|
534
533
|
deny: "deny";
|
|
534
|
+
ask: "ask";
|
|
535
535
|
}>>;
|
|
536
536
|
}, z.core.$strip>>;
|
|
537
537
|
}, z.core.$strip>>>;
|
|
@@ -543,6 +543,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
|
|
|
543
543
|
agents: z.ZodOptional<z.ZodBoolean>;
|
|
544
544
|
hooks: z.ZodOptional<z.ZodBoolean>;
|
|
545
545
|
}, z.core.$strip>>;
|
|
546
|
+
google_auth: z.ZodOptional<z.ZodBoolean>;
|
|
546
547
|
}, z.core.$strip>;
|
|
547
548
|
export type OhMyOpenCodeConfig = z.infer<typeof OhMyOpenCodeConfigSchema>;
|
|
548
549
|
export type AgentOverrideConfig = z.infer<typeof AgentOverrideConfigSchema>;
|
package/dist/hooks/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export { createTodoContinuationEnforcer } from "./todo-continuation-enforcer";
|
|
1
|
+
export { createTodoContinuationEnforcer, type TodoContinuationEnforcer } from "./todo-continuation-enforcer";
|
|
2
2
|
export { createContextWindowMonitorHook } from "./context-window-monitor";
|
|
3
3
|
export { createSessionNotification } from "./session-notification";
|
|
4
|
-
export { createSessionRecoveryHook } from "./session-recovery";
|
|
4
|
+
export { createSessionRecoveryHook, type SessionRecoveryHook } from "./session-recovery";
|
|
5
5
|
export { createCommentCheckerHooks } from "./comment-checker";
|
|
6
6
|
export { createGrepOutputTruncatorHook } from "./grep-output-truncator";
|
|
7
7
|
export { createDirectoryAgentsInjectorHook } from "./directory-agents-injector";
|
|
@@ -6,9 +6,11 @@ interface MessageInfo {
|
|
|
6
6
|
parentID?: string;
|
|
7
7
|
error?: unknown;
|
|
8
8
|
}
|
|
9
|
-
export
|
|
9
|
+
export interface SessionRecoveryHook {
|
|
10
10
|
handleSessionRecovery: (info: MessageInfo) => Promise<boolean>;
|
|
11
11
|
isRecoverableError: (error: unknown) => boolean;
|
|
12
12
|
setOnAbortCallback: (callback: (sessionID: string) => void) => void;
|
|
13
|
-
|
|
13
|
+
setOnRecoveryCompleteCallback: (callback: (sessionID: string) => void) => void;
|
|
14
|
+
}
|
|
15
|
+
export declare function createSessionRecoveryHook(ctx: PluginInput): SessionRecoveryHook;
|
|
14
16
|
export {};
|
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
import type { PluginInput } from "@opencode-ai/plugin";
|
|
2
|
-
export
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
}
|
|
2
|
+
export interface TodoContinuationEnforcer {
|
|
3
|
+
handler: (input: {
|
|
4
|
+
event: {
|
|
5
|
+
type: string;
|
|
6
|
+
properties?: unknown;
|
|
7
|
+
};
|
|
8
|
+
}) => Promise<void>;
|
|
9
|
+
markRecovering: (sessionID: string) => void;
|
|
10
|
+
markRecoveryComplete: (sessionID: string) => void;
|
|
11
|
+
}
|
|
12
|
+
export declare function createTodoContinuationEnforcer(ctx: PluginInput): TodoContinuationEnforcer;
|