-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathtypes.ts
More file actions
110 lines (101 loc) · 2.69 KB
/
Copy pathtypes.ts
File metadata and controls
110 lines (101 loc) · 2.69 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
export type AgentMode = "primary" | "subagent" | "all";
export interface AgentConfig {
name: string;
description: string;
mode: AgentMode;
model?: string;
prompt: string;
hidden?: boolean;
temperature?: number;
thinking?: { type: string; budgetTokens?: number };
delegate_to?: string[];
}
export interface AgentOverrides {
model?: string;
prompt_append?: string;
}
export interface CavemanConfig {
enabled: boolean;
level?: "minimal" | "balanced" | "full";
bob_internal?: boolean;
bob_to_agents?: boolean;
agents_to_bob?: boolean;
final_user_output?: "normal";
target_agents?: string[];
exclude_agents?: string[];
min_messages_to_compress?: number;
}
export interface CompletionConfig {
enabled: boolean;
max_auto_continues: number;
require_critic: boolean;
ui_globs: string[];
reset_on_user_message: boolean;
}
export interface LspServerConfig {
enabled?: boolean;
command?: string;
args?: string[];
initializationOptions?: Record<string, unknown>;
env?: Record<string, string>;
}
export interface BobConfig {
/** Maximum nested Task depth accepted by OpenCode. Bob → Manager → worker needs 2. */
subagent_depth?: number;
models?: Record<string, { model: string; recommended?: string }>;
mcp?: Record<string, { enabled: boolean }>;
lsp?: Record<string, LspServerConfig>;
agent_restrictions?: Record<string, Record<string, boolean>>;
hooks?: { disabled?: string[] };
tools?: { disabled?: string[] };
agent_overrides?: Record<string, AgentOverrides>;
disabled_agents?: string[];
disabled_hooks?: string[];
auth?: Record<string, string>;
background_manager?: {
concurrency_limit?: number;
stale_timeout_ms?: number;
circuit_breaker?: {
enabled?: boolean;
max_tool_calls?: number;
consecutive_threshold?: number;
};
};
telemetry?: {
enabled: boolean;
endpoint?: string;
serviceName?: string;
sampleRate?: number;
};
completion?: CompletionConfig;
caveman?: CavemanConfig;
dream?: {
auto?: boolean;
interval_days?: number;
model?: string;
burst_cooldown_ms?: number;
};
distill?: { auto?: boolean; interval_days?: number; model?: string };
worktreeConfig?: WorktreeConfig;
workspace?: {
enabled?: boolean;
cache_results?: boolean;
};
loop?: Record<string, unknown>;
tool_settings?: Record<string, number>;
shell_env?: {
variables?: string[];
inject_in?: string[];
env_file?: string;
};
}
export interface WorktreeConfig {
enabled: boolean;
base_dir: string;
}
export interface ClosureBlock {
reasoning: string;
evidence: string[];
readiness: "accept" | "reject" | "done";
}
export type HookSet = import("@opencode-ai/plugin").Hooks;