oh-my-opencode 2.5.1 → 2.5.3
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/LICENSE.md +82 -0
- package/README.ja.md +79 -40
- package/README.ko.md +78 -39
- package/README.md +79 -40
- package/README.zh-cn.md +79 -40
- package/dist/agents/build-prompt.d.ts +31 -0
- package/dist/agents/document-writer.d.ts +1 -0
- package/dist/agents/explore.d.ts +1 -0
- package/dist/agents/frontend-ui-ux-engineer.d.ts +1 -0
- package/dist/agents/librarian.d.ts +1 -0
- package/dist/agents/multimodal-looker.d.ts +1 -0
- package/dist/agents/types.d.ts +3 -1
- package/dist/cli/config-manager.d.ts +0 -1
- package/dist/cli/index.js +1664 -3
- package/dist/cli/run/completion.d.ts +2 -0
- package/dist/cli/run/completion.test.d.ts +1 -0
- package/dist/cli/run/events.d.ts +7 -0
- package/dist/cli/run/events.test.d.ts +1 -0
- package/dist/cli/run/index.d.ts +2 -0
- package/dist/cli/run/runner.d.ts +2 -0
- package/dist/cli/run/types.d.ts +45 -0
- package/dist/config/schema.d.ts +126 -2
- package/dist/hooks/claude-code-hooks/config-loader.d.ts +1 -0
- package/dist/hooks/claude-code-hooks/index.d.ts +5 -0
- package/dist/hooks/claude-code-hooks/pre-compact.d.ts +16 -0
- package/dist/hooks/claude-code-hooks/types.d.ts +17 -1
- package/dist/hooks/non-interactive-env/detector.d.ts +1 -0
- package/dist/hooks/non-interactive-env/index.d.ts +1 -0
- package/dist/hooks/session-notification.test.d.ts +1 -0
- package/dist/hooks/todo-continuation-enforcer.d.ts +5 -1
- package/dist/index.js +1143 -339
- package/dist/shared/data-path.d.ts +15 -0
- package/dist/shared/index.d.ts +1 -0
- package/dist/tools/index.d.ts +52 -0
- package/dist/tools/session-manager/constants.d.ts +11 -0
- package/dist/tools/session-manager/index.d.ts +3 -0
- package/dist/tools/session-manager/storage.d.ts +8 -0
- package/dist/tools/session-manager/storage.test.d.ts +1 -0
- package/dist/tools/session-manager/tools.d.ts +52 -0
- package/dist/tools/session-manager/tools.test.d.ts +1 -0
- package/dist/tools/session-manager/types.d.ts +71 -0
- package/dist/tools/session-manager/utils.d.ts +11 -0
- package/dist/tools/session-manager/utils.test.d.ts +1 -0
- package/package.json +3 -2
- package/LICENSE +0 -21
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { RunContext } from "./types";
|
|
2
|
+
export interface EventState {
|
|
3
|
+
mainSessionIdle: boolean;
|
|
4
|
+
lastOutput: string;
|
|
5
|
+
}
|
|
6
|
+
export declare function createEventState(): EventState;
|
|
7
|
+
export declare function processEvents(ctx: RunContext, stream: AsyncIterable<unknown>, state: EventState): Promise<void>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { OpencodeClient } from "@opencode-ai/sdk";
|
|
2
|
+
export interface RunOptions {
|
|
3
|
+
message: string;
|
|
4
|
+
agent?: string;
|
|
5
|
+
directory?: string;
|
|
6
|
+
timeout?: number;
|
|
7
|
+
}
|
|
8
|
+
export interface RunContext {
|
|
9
|
+
client: OpencodeClient;
|
|
10
|
+
sessionID: string;
|
|
11
|
+
directory: string;
|
|
12
|
+
abortController: AbortController;
|
|
13
|
+
}
|
|
14
|
+
export interface Todo {
|
|
15
|
+
id: string;
|
|
16
|
+
content: string;
|
|
17
|
+
status: string;
|
|
18
|
+
priority: string;
|
|
19
|
+
}
|
|
20
|
+
export interface SessionStatus {
|
|
21
|
+
type: "idle" | "busy" | "retry";
|
|
22
|
+
}
|
|
23
|
+
export interface ChildSession {
|
|
24
|
+
id: string;
|
|
25
|
+
}
|
|
26
|
+
export interface EventPayload {
|
|
27
|
+
type: string;
|
|
28
|
+
properties?: Record<string, unknown>;
|
|
29
|
+
}
|
|
30
|
+
export interface SessionIdleProps {
|
|
31
|
+
sessionID?: string;
|
|
32
|
+
}
|
|
33
|
+
export interface SessionStatusProps {
|
|
34
|
+
sessionID?: string;
|
|
35
|
+
status?: {
|
|
36
|
+
type?: string;
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
export interface MessageUpdatedProps {
|
|
40
|
+
info?: {
|
|
41
|
+
sessionID?: string;
|
|
42
|
+
role?: string;
|
|
43
|
+
};
|
|
44
|
+
content?: string;
|
|
45
|
+
}
|
package/dist/config/schema.d.ts
CHANGED
|
@@ -18,6 +18,7 @@ export declare const OverridableAgentNameSchema: z.ZodEnum<{
|
|
|
18
18
|
"multimodal-looker": "multimodal-looker";
|
|
19
19
|
build: "build";
|
|
20
20
|
plan: "plan";
|
|
21
|
+
"Builder-Sisyphus": "Builder-Sisyphus";
|
|
21
22
|
"Planner-Sisyphus": "Planner-Sisyphus";
|
|
22
23
|
}>;
|
|
23
24
|
export declare const AgentNameSchema: z.ZodEnum<{
|
|
@@ -57,6 +58,7 @@ export declare const AgentOverrideConfigSchema: z.ZodObject<{
|
|
|
57
58
|
temperature: z.ZodOptional<z.ZodNumber>;
|
|
58
59
|
top_p: z.ZodOptional<z.ZodNumber>;
|
|
59
60
|
prompt: z.ZodOptional<z.ZodString>;
|
|
61
|
+
prompt_append: z.ZodOptional<z.ZodString>;
|
|
60
62
|
tools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
|
|
61
63
|
disable: z.ZodOptional<z.ZodBoolean>;
|
|
62
64
|
description: z.ZodOptional<z.ZodString>;
|
|
@@ -104,6 +106,7 @@ export declare const AgentOverridesSchema: z.ZodObject<{
|
|
|
104
106
|
temperature: z.ZodOptional<z.ZodNumber>;
|
|
105
107
|
top_p: z.ZodOptional<z.ZodNumber>;
|
|
106
108
|
prompt: z.ZodOptional<z.ZodString>;
|
|
109
|
+
prompt_append: z.ZodOptional<z.ZodString>;
|
|
107
110
|
tools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
|
|
108
111
|
disable: z.ZodOptional<z.ZodBoolean>;
|
|
109
112
|
description: z.ZodOptional<z.ZodString>;
|
|
@@ -150,6 +153,7 @@ export declare const AgentOverridesSchema: z.ZodObject<{
|
|
|
150
153
|
temperature: z.ZodOptional<z.ZodNumber>;
|
|
151
154
|
top_p: z.ZodOptional<z.ZodNumber>;
|
|
152
155
|
prompt: z.ZodOptional<z.ZodString>;
|
|
156
|
+
prompt_append: z.ZodOptional<z.ZodString>;
|
|
153
157
|
tools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
|
|
154
158
|
disable: z.ZodOptional<z.ZodBoolean>;
|
|
155
159
|
description: z.ZodOptional<z.ZodString>;
|
|
@@ -196,6 +200,54 @@ export declare const AgentOverridesSchema: z.ZodObject<{
|
|
|
196
200
|
temperature: z.ZodOptional<z.ZodNumber>;
|
|
197
201
|
top_p: z.ZodOptional<z.ZodNumber>;
|
|
198
202
|
prompt: z.ZodOptional<z.ZodString>;
|
|
203
|
+
prompt_append: z.ZodOptional<z.ZodString>;
|
|
204
|
+
tools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
|
|
205
|
+
disable: z.ZodOptional<z.ZodBoolean>;
|
|
206
|
+
description: z.ZodOptional<z.ZodString>;
|
|
207
|
+
mode: z.ZodOptional<z.ZodEnum<{
|
|
208
|
+
primary: "primary";
|
|
209
|
+
subagent: "subagent";
|
|
210
|
+
all: "all";
|
|
211
|
+
}>>;
|
|
212
|
+
color: z.ZodOptional<z.ZodString>;
|
|
213
|
+
permission: z.ZodOptional<z.ZodObject<{
|
|
214
|
+
edit: z.ZodOptional<z.ZodEnum<{
|
|
215
|
+
allow: "allow";
|
|
216
|
+
deny: "deny";
|
|
217
|
+
ask: "ask";
|
|
218
|
+
}>>;
|
|
219
|
+
bash: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
|
|
220
|
+
allow: "allow";
|
|
221
|
+
deny: "deny";
|
|
222
|
+
ask: "ask";
|
|
223
|
+
}>, z.ZodRecord<z.ZodString, z.ZodEnum<{
|
|
224
|
+
allow: "allow";
|
|
225
|
+
deny: "deny";
|
|
226
|
+
ask: "ask";
|
|
227
|
+
}>>]>>;
|
|
228
|
+
webfetch: z.ZodOptional<z.ZodEnum<{
|
|
229
|
+
allow: "allow";
|
|
230
|
+
deny: "deny";
|
|
231
|
+
ask: "ask";
|
|
232
|
+
}>>;
|
|
233
|
+
doom_loop: z.ZodOptional<z.ZodEnum<{
|
|
234
|
+
allow: "allow";
|
|
235
|
+
deny: "deny";
|
|
236
|
+
ask: "ask";
|
|
237
|
+
}>>;
|
|
238
|
+
external_directory: z.ZodOptional<z.ZodEnum<{
|
|
239
|
+
allow: "allow";
|
|
240
|
+
deny: "deny";
|
|
241
|
+
ask: "ask";
|
|
242
|
+
}>>;
|
|
243
|
+
}, z.core.$strip>>;
|
|
244
|
+
}, z.core.$strip>>;
|
|
245
|
+
"Builder-Sisyphus": z.ZodOptional<z.ZodObject<{
|
|
246
|
+
model: z.ZodOptional<z.ZodString>;
|
|
247
|
+
temperature: z.ZodOptional<z.ZodNumber>;
|
|
248
|
+
top_p: z.ZodOptional<z.ZodNumber>;
|
|
249
|
+
prompt: z.ZodOptional<z.ZodString>;
|
|
250
|
+
prompt_append: z.ZodOptional<z.ZodString>;
|
|
199
251
|
tools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
|
|
200
252
|
disable: z.ZodOptional<z.ZodBoolean>;
|
|
201
253
|
description: z.ZodOptional<z.ZodString>;
|
|
@@ -242,6 +294,7 @@ export declare const AgentOverridesSchema: z.ZodObject<{
|
|
|
242
294
|
temperature: z.ZodOptional<z.ZodNumber>;
|
|
243
295
|
top_p: z.ZodOptional<z.ZodNumber>;
|
|
244
296
|
prompt: z.ZodOptional<z.ZodString>;
|
|
297
|
+
prompt_append: z.ZodOptional<z.ZodString>;
|
|
245
298
|
tools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
|
|
246
299
|
disable: z.ZodOptional<z.ZodBoolean>;
|
|
247
300
|
description: z.ZodOptional<z.ZodString>;
|
|
@@ -288,6 +341,7 @@ export declare const AgentOverridesSchema: z.ZodObject<{
|
|
|
288
341
|
temperature: z.ZodOptional<z.ZodNumber>;
|
|
289
342
|
top_p: z.ZodOptional<z.ZodNumber>;
|
|
290
343
|
prompt: z.ZodOptional<z.ZodString>;
|
|
344
|
+
prompt_append: z.ZodOptional<z.ZodString>;
|
|
291
345
|
tools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
|
|
292
346
|
disable: z.ZodOptional<z.ZodBoolean>;
|
|
293
347
|
description: z.ZodOptional<z.ZodString>;
|
|
@@ -334,6 +388,7 @@ export declare const AgentOverridesSchema: z.ZodObject<{
|
|
|
334
388
|
temperature: z.ZodOptional<z.ZodNumber>;
|
|
335
389
|
top_p: z.ZodOptional<z.ZodNumber>;
|
|
336
390
|
prompt: z.ZodOptional<z.ZodString>;
|
|
391
|
+
prompt_append: z.ZodOptional<z.ZodString>;
|
|
337
392
|
tools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
|
|
338
393
|
disable: z.ZodOptional<z.ZodBoolean>;
|
|
339
394
|
description: z.ZodOptional<z.ZodString>;
|
|
@@ -380,6 +435,7 @@ export declare const AgentOverridesSchema: z.ZodObject<{
|
|
|
380
435
|
temperature: z.ZodOptional<z.ZodNumber>;
|
|
381
436
|
top_p: z.ZodOptional<z.ZodNumber>;
|
|
382
437
|
prompt: z.ZodOptional<z.ZodString>;
|
|
438
|
+
prompt_append: z.ZodOptional<z.ZodString>;
|
|
383
439
|
tools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
|
|
384
440
|
disable: z.ZodOptional<z.ZodBoolean>;
|
|
385
441
|
description: z.ZodOptional<z.ZodString>;
|
|
@@ -426,6 +482,7 @@ export declare const AgentOverridesSchema: z.ZodObject<{
|
|
|
426
482
|
temperature: z.ZodOptional<z.ZodNumber>;
|
|
427
483
|
top_p: z.ZodOptional<z.ZodNumber>;
|
|
428
484
|
prompt: z.ZodOptional<z.ZodString>;
|
|
485
|
+
prompt_append: z.ZodOptional<z.ZodString>;
|
|
429
486
|
tools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
|
|
430
487
|
disable: z.ZodOptional<z.ZodBoolean>;
|
|
431
488
|
description: z.ZodOptional<z.ZodString>;
|
|
@@ -472,6 +529,7 @@ export declare const AgentOverridesSchema: z.ZodObject<{
|
|
|
472
529
|
temperature: z.ZodOptional<z.ZodNumber>;
|
|
473
530
|
top_p: z.ZodOptional<z.ZodNumber>;
|
|
474
531
|
prompt: z.ZodOptional<z.ZodString>;
|
|
532
|
+
prompt_append: z.ZodOptional<z.ZodString>;
|
|
475
533
|
tools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
|
|
476
534
|
disable: z.ZodOptional<z.ZodBoolean>;
|
|
477
535
|
description: z.ZodOptional<z.ZodString>;
|
|
@@ -518,6 +576,7 @@ export declare const AgentOverridesSchema: z.ZodObject<{
|
|
|
518
576
|
temperature: z.ZodOptional<z.ZodNumber>;
|
|
519
577
|
top_p: z.ZodOptional<z.ZodNumber>;
|
|
520
578
|
prompt: z.ZodOptional<z.ZodString>;
|
|
579
|
+
prompt_append: z.ZodOptional<z.ZodString>;
|
|
521
580
|
tools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
|
|
522
581
|
disable: z.ZodOptional<z.ZodBoolean>;
|
|
523
582
|
description: z.ZodOptional<z.ZodString>;
|
|
@@ -569,13 +628,17 @@ export declare const ClaudeCodeConfigSchema: z.ZodObject<{
|
|
|
569
628
|
}, z.core.$strip>;
|
|
570
629
|
export declare const SisyphusAgentConfigSchema: z.ZodObject<{
|
|
571
630
|
disabled: z.ZodOptional<z.ZodBoolean>;
|
|
631
|
+
builder_enabled: z.ZodOptional<z.ZodBoolean>;
|
|
632
|
+
planner_enabled: z.ZodOptional<z.ZodBoolean>;
|
|
633
|
+
replace_build: z.ZodOptional<z.ZodBoolean>;
|
|
634
|
+
replace_plan: z.ZodOptional<z.ZodBoolean>;
|
|
572
635
|
}, z.core.$strip>;
|
|
573
636
|
export declare const ExperimentalConfigSchema: z.ZodObject<{
|
|
574
637
|
aggressive_truncation: z.ZodOptional<z.ZodBoolean>;
|
|
575
638
|
auto_resume: z.ZodOptional<z.ZodBoolean>;
|
|
576
639
|
preemptive_compaction: z.ZodOptional<z.ZodBoolean>;
|
|
577
640
|
preemptive_compaction_threshold: z.ZodOptional<z.ZodNumber>;
|
|
578
|
-
truncate_all_tool_outputs: z.
|
|
641
|
+
truncate_all_tool_outputs: z.ZodDefault<z.ZodBoolean>;
|
|
579
642
|
}, z.core.$strip>;
|
|
580
643
|
export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
|
|
581
644
|
$schema: z.ZodOptional<z.ZodString>;
|
|
@@ -622,6 +685,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
|
|
|
622
685
|
temperature: z.ZodOptional<z.ZodNumber>;
|
|
623
686
|
top_p: z.ZodOptional<z.ZodNumber>;
|
|
624
687
|
prompt: z.ZodOptional<z.ZodString>;
|
|
688
|
+
prompt_append: z.ZodOptional<z.ZodString>;
|
|
625
689
|
tools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
|
|
626
690
|
disable: z.ZodOptional<z.ZodBoolean>;
|
|
627
691
|
description: z.ZodOptional<z.ZodString>;
|
|
@@ -668,6 +732,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
|
|
|
668
732
|
temperature: z.ZodOptional<z.ZodNumber>;
|
|
669
733
|
top_p: z.ZodOptional<z.ZodNumber>;
|
|
670
734
|
prompt: z.ZodOptional<z.ZodString>;
|
|
735
|
+
prompt_append: z.ZodOptional<z.ZodString>;
|
|
671
736
|
tools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
|
|
672
737
|
disable: z.ZodOptional<z.ZodBoolean>;
|
|
673
738
|
description: z.ZodOptional<z.ZodString>;
|
|
@@ -714,6 +779,54 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
|
|
|
714
779
|
temperature: z.ZodOptional<z.ZodNumber>;
|
|
715
780
|
top_p: z.ZodOptional<z.ZodNumber>;
|
|
716
781
|
prompt: z.ZodOptional<z.ZodString>;
|
|
782
|
+
prompt_append: z.ZodOptional<z.ZodString>;
|
|
783
|
+
tools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
|
|
784
|
+
disable: z.ZodOptional<z.ZodBoolean>;
|
|
785
|
+
description: z.ZodOptional<z.ZodString>;
|
|
786
|
+
mode: z.ZodOptional<z.ZodEnum<{
|
|
787
|
+
primary: "primary";
|
|
788
|
+
subagent: "subagent";
|
|
789
|
+
all: "all";
|
|
790
|
+
}>>;
|
|
791
|
+
color: z.ZodOptional<z.ZodString>;
|
|
792
|
+
permission: z.ZodOptional<z.ZodObject<{
|
|
793
|
+
edit: z.ZodOptional<z.ZodEnum<{
|
|
794
|
+
allow: "allow";
|
|
795
|
+
deny: "deny";
|
|
796
|
+
ask: "ask";
|
|
797
|
+
}>>;
|
|
798
|
+
bash: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
|
|
799
|
+
allow: "allow";
|
|
800
|
+
deny: "deny";
|
|
801
|
+
ask: "ask";
|
|
802
|
+
}>, z.ZodRecord<z.ZodString, z.ZodEnum<{
|
|
803
|
+
allow: "allow";
|
|
804
|
+
deny: "deny";
|
|
805
|
+
ask: "ask";
|
|
806
|
+
}>>]>>;
|
|
807
|
+
webfetch: z.ZodOptional<z.ZodEnum<{
|
|
808
|
+
allow: "allow";
|
|
809
|
+
deny: "deny";
|
|
810
|
+
ask: "ask";
|
|
811
|
+
}>>;
|
|
812
|
+
doom_loop: z.ZodOptional<z.ZodEnum<{
|
|
813
|
+
allow: "allow";
|
|
814
|
+
deny: "deny";
|
|
815
|
+
ask: "ask";
|
|
816
|
+
}>>;
|
|
817
|
+
external_directory: z.ZodOptional<z.ZodEnum<{
|
|
818
|
+
allow: "allow";
|
|
819
|
+
deny: "deny";
|
|
820
|
+
ask: "ask";
|
|
821
|
+
}>>;
|
|
822
|
+
}, z.core.$strip>>;
|
|
823
|
+
}, z.core.$strip>>;
|
|
824
|
+
"Builder-Sisyphus": z.ZodOptional<z.ZodObject<{
|
|
825
|
+
model: z.ZodOptional<z.ZodString>;
|
|
826
|
+
temperature: z.ZodOptional<z.ZodNumber>;
|
|
827
|
+
top_p: z.ZodOptional<z.ZodNumber>;
|
|
828
|
+
prompt: z.ZodOptional<z.ZodString>;
|
|
829
|
+
prompt_append: z.ZodOptional<z.ZodString>;
|
|
717
830
|
tools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
|
|
718
831
|
disable: z.ZodOptional<z.ZodBoolean>;
|
|
719
832
|
description: z.ZodOptional<z.ZodString>;
|
|
@@ -760,6 +873,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
|
|
|
760
873
|
temperature: z.ZodOptional<z.ZodNumber>;
|
|
761
874
|
top_p: z.ZodOptional<z.ZodNumber>;
|
|
762
875
|
prompt: z.ZodOptional<z.ZodString>;
|
|
876
|
+
prompt_append: z.ZodOptional<z.ZodString>;
|
|
763
877
|
tools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
|
|
764
878
|
disable: z.ZodOptional<z.ZodBoolean>;
|
|
765
879
|
description: z.ZodOptional<z.ZodString>;
|
|
@@ -806,6 +920,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
|
|
|
806
920
|
temperature: z.ZodOptional<z.ZodNumber>;
|
|
807
921
|
top_p: z.ZodOptional<z.ZodNumber>;
|
|
808
922
|
prompt: z.ZodOptional<z.ZodString>;
|
|
923
|
+
prompt_append: z.ZodOptional<z.ZodString>;
|
|
809
924
|
tools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
|
|
810
925
|
disable: z.ZodOptional<z.ZodBoolean>;
|
|
811
926
|
description: z.ZodOptional<z.ZodString>;
|
|
@@ -852,6 +967,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
|
|
|
852
967
|
temperature: z.ZodOptional<z.ZodNumber>;
|
|
853
968
|
top_p: z.ZodOptional<z.ZodNumber>;
|
|
854
969
|
prompt: z.ZodOptional<z.ZodString>;
|
|
970
|
+
prompt_append: z.ZodOptional<z.ZodString>;
|
|
855
971
|
tools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
|
|
856
972
|
disable: z.ZodOptional<z.ZodBoolean>;
|
|
857
973
|
description: z.ZodOptional<z.ZodString>;
|
|
@@ -898,6 +1014,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
|
|
|
898
1014
|
temperature: z.ZodOptional<z.ZodNumber>;
|
|
899
1015
|
top_p: z.ZodOptional<z.ZodNumber>;
|
|
900
1016
|
prompt: z.ZodOptional<z.ZodString>;
|
|
1017
|
+
prompt_append: z.ZodOptional<z.ZodString>;
|
|
901
1018
|
tools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
|
|
902
1019
|
disable: z.ZodOptional<z.ZodBoolean>;
|
|
903
1020
|
description: z.ZodOptional<z.ZodString>;
|
|
@@ -944,6 +1061,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
|
|
|
944
1061
|
temperature: z.ZodOptional<z.ZodNumber>;
|
|
945
1062
|
top_p: z.ZodOptional<z.ZodNumber>;
|
|
946
1063
|
prompt: z.ZodOptional<z.ZodString>;
|
|
1064
|
+
prompt_append: z.ZodOptional<z.ZodString>;
|
|
947
1065
|
tools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
|
|
948
1066
|
disable: z.ZodOptional<z.ZodBoolean>;
|
|
949
1067
|
description: z.ZodOptional<z.ZodString>;
|
|
@@ -990,6 +1108,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
|
|
|
990
1108
|
temperature: z.ZodOptional<z.ZodNumber>;
|
|
991
1109
|
top_p: z.ZodOptional<z.ZodNumber>;
|
|
992
1110
|
prompt: z.ZodOptional<z.ZodString>;
|
|
1111
|
+
prompt_append: z.ZodOptional<z.ZodString>;
|
|
993
1112
|
tools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
|
|
994
1113
|
disable: z.ZodOptional<z.ZodBoolean>;
|
|
995
1114
|
description: z.ZodOptional<z.ZodString>;
|
|
@@ -1036,6 +1155,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
|
|
|
1036
1155
|
temperature: z.ZodOptional<z.ZodNumber>;
|
|
1037
1156
|
top_p: z.ZodOptional<z.ZodNumber>;
|
|
1038
1157
|
prompt: z.ZodOptional<z.ZodString>;
|
|
1158
|
+
prompt_append: z.ZodOptional<z.ZodString>;
|
|
1039
1159
|
tools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
|
|
1040
1160
|
disable: z.ZodOptional<z.ZodBoolean>;
|
|
1041
1161
|
description: z.ZodOptional<z.ZodString>;
|
|
@@ -1088,13 +1208,17 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
|
|
|
1088
1208
|
google_auth: z.ZodOptional<z.ZodBoolean>;
|
|
1089
1209
|
sisyphus_agent: z.ZodOptional<z.ZodObject<{
|
|
1090
1210
|
disabled: z.ZodOptional<z.ZodBoolean>;
|
|
1211
|
+
builder_enabled: z.ZodOptional<z.ZodBoolean>;
|
|
1212
|
+
planner_enabled: z.ZodOptional<z.ZodBoolean>;
|
|
1213
|
+
replace_build: z.ZodOptional<z.ZodBoolean>;
|
|
1214
|
+
replace_plan: z.ZodOptional<z.ZodBoolean>;
|
|
1091
1215
|
}, z.core.$strip>>;
|
|
1092
1216
|
experimental: z.ZodOptional<z.ZodObject<{
|
|
1093
1217
|
aggressive_truncation: z.ZodOptional<z.ZodBoolean>;
|
|
1094
1218
|
auto_resume: z.ZodOptional<z.ZodBoolean>;
|
|
1095
1219
|
preemptive_compaction: z.ZodOptional<z.ZodBoolean>;
|
|
1096
1220
|
preemptive_compaction_threshold: z.ZodOptional<z.ZodNumber>;
|
|
1097
|
-
truncate_all_tool_outputs: z.
|
|
1221
|
+
truncate_all_tool_outputs: z.ZodDefault<z.ZodBoolean>;
|
|
1098
1222
|
}, z.core.$strip>>;
|
|
1099
1223
|
auto_update: z.ZodOptional<z.ZodBoolean>;
|
|
1100
1224
|
}, z.core.$strip>;
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import type { PluginInput } from "@opencode-ai/plugin";
|
|
2
2
|
import type { PluginConfig } from "./types";
|
|
3
3
|
export declare function createClaudeCodeHooksHook(ctx: PluginInput, config?: PluginConfig): {
|
|
4
|
+
"experimental.session.compacting": (input: {
|
|
5
|
+
sessionID: string;
|
|
6
|
+
}, output: {
|
|
7
|
+
context: string[];
|
|
8
|
+
}) => Promise<void>;
|
|
4
9
|
"chat.message": (input: {
|
|
5
10
|
sessionID: string;
|
|
6
11
|
agent?: string;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { ClaudeHooksConfig } from "./types";
|
|
2
|
+
import { type PluginExtendedConfig } from "./config-loader";
|
|
3
|
+
export interface PreCompactContext {
|
|
4
|
+
sessionId: string;
|
|
5
|
+
cwd: string;
|
|
6
|
+
}
|
|
7
|
+
export interface PreCompactResult {
|
|
8
|
+
context: string[];
|
|
9
|
+
elapsedMs?: number;
|
|
10
|
+
hookName?: string;
|
|
11
|
+
continue?: boolean;
|
|
12
|
+
stopReason?: string;
|
|
13
|
+
suppressOutput?: boolean;
|
|
14
|
+
systemMessage?: string;
|
|
15
|
+
}
|
|
16
|
+
export declare function executePreCompactHooks(ctx: PreCompactContext, config: ClaudeHooksConfig | null, extendedConfig?: PluginExtendedConfig | null): Promise<PreCompactResult>;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Claude Code Hooks Type Definitions
|
|
3
3
|
* Maps Claude Code hook concepts to OpenCode plugin events
|
|
4
4
|
*/
|
|
5
|
-
export type ClaudeHookEvent = "PreToolUse" | "PostToolUse" | "UserPromptSubmit" | "Stop";
|
|
5
|
+
export type ClaudeHookEvent = "PreToolUse" | "PostToolUse" | "UserPromptSubmit" | "Stop" | "PreCompact";
|
|
6
6
|
export interface HookMatcher {
|
|
7
7
|
matcher: string;
|
|
8
8
|
hooks: HookCommand[];
|
|
@@ -16,6 +16,7 @@ export interface ClaudeHooksConfig {
|
|
|
16
16
|
PostToolUse?: HookMatcher[];
|
|
17
17
|
UserPromptSubmit?: HookMatcher[];
|
|
18
18
|
Stop?: HookMatcher[];
|
|
19
|
+
PreCompact?: HookMatcher[];
|
|
19
20
|
}
|
|
20
21
|
export interface PreToolUseInput {
|
|
21
22
|
session_id: string;
|
|
@@ -67,6 +68,12 @@ export interface StopInput {
|
|
|
67
68
|
todo_path?: string;
|
|
68
69
|
hook_source?: HookSource;
|
|
69
70
|
}
|
|
71
|
+
export interface PreCompactInput {
|
|
72
|
+
session_id: string;
|
|
73
|
+
cwd: string;
|
|
74
|
+
hook_event_name: "PreCompact";
|
|
75
|
+
hook_source?: HookSource;
|
|
76
|
+
}
|
|
70
77
|
export type PermissionDecision = "allow" | "deny" | "ask";
|
|
71
78
|
/**
|
|
72
79
|
* Common JSON fields for all hook outputs (Claude Code spec)
|
|
@@ -141,6 +148,15 @@ export interface StopOutput {
|
|
|
141
148
|
permission_mode?: PermissionMode;
|
|
142
149
|
inject_prompt?: string;
|
|
143
150
|
}
|
|
151
|
+
export interface PreCompactOutput extends HookCommonOutput {
|
|
152
|
+
/** Additional context to inject into compaction prompt */
|
|
153
|
+
context?: string[];
|
|
154
|
+
hookSpecificOutput?: {
|
|
155
|
+
hookEventName: "PreCompact";
|
|
156
|
+
/** Additional context strings to inject */
|
|
157
|
+
additionalContext?: string[];
|
|
158
|
+
};
|
|
159
|
+
}
|
|
144
160
|
export type ClaudeCodeContent = {
|
|
145
161
|
type: "text";
|
|
146
162
|
text: string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function isNonInteractive(): boolean;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import type { PluginInput } from "@opencode-ai/plugin";
|
|
2
|
+
import type { BackgroundManager } from "../features/background-agent";
|
|
3
|
+
export interface TodoContinuationEnforcerOptions {
|
|
4
|
+
backgroundManager?: BackgroundManager;
|
|
5
|
+
}
|
|
2
6
|
export interface TodoContinuationEnforcer {
|
|
3
7
|
handler: (input: {
|
|
4
8
|
event: {
|
|
@@ -9,4 +13,4 @@ export interface TodoContinuationEnforcer {
|
|
|
9
13
|
markRecovering: (sessionID: string) => void;
|
|
10
14
|
markRecoveryComplete: (sessionID: string) => void;
|
|
11
15
|
}
|
|
12
|
-
export declare function createTodoContinuationEnforcer(ctx: PluginInput): TodoContinuationEnforcer;
|
|
16
|
+
export declare function createTodoContinuationEnforcer(ctx: PluginInput, options?: TodoContinuationEnforcerOptions): TodoContinuationEnforcer;
|