oh-my-opencode-slim 0.9.15 → 1.0.1
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.md +38 -18
- package/dist/agents/council.d.ts +7 -8
- package/dist/agents/orchestrator.d.ts +1 -1
- package/dist/background/background-manager.d.ts +11 -0
- package/dist/background/index.d.ts +1 -1
- package/dist/cli/index.js +309 -13804
- package/dist/cli/types.d.ts +1 -1
- package/dist/config/constants.d.ts +3 -3
- package/dist/config/council-schema.d.ts +46 -69
- package/dist/config/index.d.ts +1 -1
- package/dist/config/schema.d.ts +48 -33
- package/dist/config/utils.d.ts +7 -0
- package/dist/council/council-manager.d.ts +9 -13
- package/dist/hooks/auto-update-checker/types.d.ts +1 -1
- package/dist/hooks/foreground-fallback/index.d.ts +1 -1
- package/dist/hooks/phase-reminder/index.d.ts +1 -1
- package/dist/hooks/todo-continuation/todo-hygiene.d.ts +0 -1
- package/dist/index.js +7670 -26628
- package/dist/interview/service.d.ts +1 -0
- package/dist/multiplexer/index.d.ts +1 -0
- package/dist/multiplexer/session-manager.d.ts +46 -0
- package/dist/multiplexer/types.d.ts +1 -1
- package/dist/tools/ast-grep/index.d.ts +1 -1
- package/dist/tools/background.d.ts +1 -1
- package/dist/tools/council.d.ts +2 -1
- package/dist/tools/index.d.ts +2 -2
- package/dist/tools/lsp/types.d.ts +1 -1
- package/dist/tools/preset-manager.d.ts +27 -0
- package/dist/utils/subagent-depth.d.ts +35 -0
- package/dist/utils/tmux-debug-log.d.ts +2 -0
- package/oh-my-opencode-slim.schema.json +35 -50
- package/package.json +9 -10
- package/src/skills/{cartography → codemap}/README.md +11 -9
- package/src/skills/{cartography → codemap}/SKILL.md +21 -18
- package/src/skills/codemap/codemap.md +36 -0
- package/src/skills/codemap/scripts/codemap.mjs +483 -0
- package/src/skills/codemap/scripts/codemap.test.ts +129 -0
- package/src/skills/codemap.md +40 -0
- package/src/skills/simplify/codemap.md +36 -0
- package/src/skills/cartography/scripts/cartographer.py +0 -456
- package/src/skills/cartography/scripts/test_cartographer.py +0 -87
package/dist/cli/types.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export declare const AGENT_ALIASES: Record<string, string>;
|
|
2
|
-
export declare const SUBAGENT_NAMES: readonly ["explorer", "librarian", "oracle", "designer", "fixer", "observer", "council", "councillor"
|
|
2
|
+
export declare const SUBAGENT_NAMES: readonly ["explorer", "librarian", "oracle", "designer", "fixer", "observer", "council", "councillor"];
|
|
3
3
|
export declare const ORCHESTRATOR_NAME: "orchestrator";
|
|
4
|
-
export declare const ALL_AGENT_NAMES: readonly ["orchestrator", "explorer", "librarian", "oracle", "designer", "fixer", "observer", "council", "councillor"
|
|
4
|
+
export declare const ALL_AGENT_NAMES: readonly ["orchestrator", "explorer", "librarian", "oracle", "designer", "fixer", "observer", "council", "councillor"];
|
|
5
5
|
export type AgentName = (typeof ALL_AGENT_NAMES)[number];
|
|
6
6
|
export declare const ORCHESTRATABLE_AGENTS: readonly ["explorer", "librarian", "oracle", "designer", "fixer", "observer", "council"];
|
|
7
7
|
/** Agents that cannot be disabled even if listed in disabled_agents config. */
|
|
@@ -20,7 +20,7 @@ export declare const DEFAULT_TIMEOUT_MS: number;
|
|
|
20
20
|
export declare const MAX_POLL_TIME_MS: number;
|
|
21
21
|
export declare const FALLBACK_FAILOVER_TIMEOUT_MS = 15000;
|
|
22
22
|
export declare const DEFAULT_MAX_SUBAGENT_DEPTH = 3;
|
|
23
|
-
export declare const PHASE_REMINDER_TEXT = "Recall
|
|
23
|
+
export declare const PHASE_REMINDER_TEXT = "!IMPORTANT! Recall the workflow rules:\nUnderstand \u2192 choose the best parallelized path based on your agents delegation rules \u2192 don't prefer solo \u2192 execute \u2192 verify.\nIf delegating, launch the specialist in the same turn you mention it !END!";
|
|
24
24
|
export declare const TMUX_SPAWN_DELAY_MS = 500;
|
|
25
25
|
export declare const COUNCILLOR_STAGGER_MS = 250;
|
|
26
26
|
export declare const STABLE_POLLS_THRESHOLD = 3;
|
|
@@ -14,53 +14,18 @@ export declare const CouncillorConfigSchema: z.ZodObject<{
|
|
|
14
14
|
}, z.core.$strip>;
|
|
15
15
|
export type CouncillorConfig = z.infer<typeof CouncillorConfigSchema>;
|
|
16
16
|
/**
|
|
17
|
-
*
|
|
18
|
-
* provided here overrides the global `council.master` for this preset.
|
|
19
|
-
* Fields not provided fall back to the global master config.
|
|
20
|
-
*/
|
|
21
|
-
export declare const PresetMasterOverrideSchema: z.ZodObject<{
|
|
22
|
-
model: z.ZodOptional<z.ZodString>;
|
|
23
|
-
variant: z.ZodOptional<z.ZodString>;
|
|
24
|
-
prompt: z.ZodOptional<z.ZodString>;
|
|
25
|
-
}, z.core.$strip>;
|
|
26
|
-
export type PresetMasterOverride = z.infer<typeof PresetMasterOverrideSchema>;
|
|
27
|
-
/**
|
|
28
|
-
* A named preset grouping several councillors with an optional master override.
|
|
29
|
-
*
|
|
30
|
-
* The reserved key `"master"` provides per-preset overrides for the council
|
|
31
|
-
* master (model, variant, prompt). All other keys are treated as councillor
|
|
32
|
-
* names mapping to councillor configs.
|
|
17
|
+
* A named preset grouping several councillors.
|
|
33
18
|
*
|
|
34
|
-
*
|
|
35
|
-
* `
|
|
19
|
+
* All keys are treated as councillor names mapping to councillor configs.
|
|
20
|
+
* The reserved key `"master"` is silently ignored (legacy from when
|
|
21
|
+
* council-master was a separate agent).
|
|
36
22
|
*/
|
|
37
|
-
export declare const CouncilPresetSchema: z.ZodPipe<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>>, z.ZodTransform<{
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
}>;
|
|
43
|
-
master: {
|
|
44
|
-
model?: string | undefined;
|
|
45
|
-
variant?: string | undefined;
|
|
46
|
-
prompt?: string | undefined;
|
|
47
|
-
} | undefined;
|
|
48
|
-
}, Record<string, Record<string, unknown>>>>;
|
|
23
|
+
export declare const CouncilPresetSchema: z.ZodPipe<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>>, z.ZodTransform<Record<string, {
|
|
24
|
+
model: string;
|
|
25
|
+
variant?: string | undefined;
|
|
26
|
+
prompt?: string | undefined;
|
|
27
|
+
}>, Record<string, Record<string, unknown>>>>;
|
|
49
28
|
export type CouncilPreset = z.infer<typeof CouncilPresetSchema>;
|
|
50
|
-
/**
|
|
51
|
-
* Council Master configuration.
|
|
52
|
-
* The master receives all councillor responses and produces the final synthesis.
|
|
53
|
-
*
|
|
54
|
-
* Note: The master runs as a council-master agent session with zero
|
|
55
|
-
* permissions (deny all). Synthesis is a text-in/text-out operation —
|
|
56
|
-
* no tools or MCPs are needed.
|
|
57
|
-
*/
|
|
58
|
-
export declare const CouncilMasterConfigSchema: z.ZodObject<{
|
|
59
|
-
model: z.ZodString;
|
|
60
|
-
variant: z.ZodOptional<z.ZodString>;
|
|
61
|
-
prompt: z.ZodOptional<z.ZodString>;
|
|
62
|
-
}, z.core.$strip>;
|
|
63
|
-
export type CouncilMasterConfig = z.infer<typeof CouncilMasterConfigSchema>;
|
|
64
29
|
/**
|
|
65
30
|
* Execution mode for councillors.
|
|
66
31
|
* - parallel: Run all councillors concurrently (default, fastest for multi-model systems)
|
|
@@ -77,7 +42,6 @@ export declare const CouncillorExecutionModeSchema: z.ZodDefault<z.ZodEnum<{
|
|
|
77
42
|
* ```jsonc
|
|
78
43
|
* {
|
|
79
44
|
* "council": {
|
|
80
|
-
* "master": { "model": "anthropic/claude-opus-4-6" },
|
|
81
45
|
* "presets": {
|
|
82
46
|
* "default": {
|
|
83
47
|
* "alpha": { "model": "openai/gpt-5.4-mini" },
|
|
@@ -85,41 +49,54 @@ export declare const CouncillorExecutionModeSchema: z.ZodDefault<z.ZodEnum<{
|
|
|
85
49
|
* "gamma": { "model": "google/gemini-3-pro" }
|
|
86
50
|
* }
|
|
87
51
|
* },
|
|
88
|
-
* "
|
|
89
|
-
* "councillors_timeout": 180000,
|
|
52
|
+
* "timeout": 180000,
|
|
90
53
|
* "councillor_execution_mode": "serial"
|
|
91
54
|
* }
|
|
92
55
|
* }
|
|
93
56
|
* ```
|
|
94
57
|
*/
|
|
95
|
-
export declare const CouncilConfigSchema: z.ZodObject<{
|
|
96
|
-
|
|
97
|
-
model:
|
|
98
|
-
variant
|
|
99
|
-
prompt
|
|
100
|
-
},
|
|
101
|
-
|
|
102
|
-
councillors: Record<string, {
|
|
103
|
-
model: string;
|
|
104
|
-
variant?: string | undefined;
|
|
105
|
-
prompt?: string | undefined;
|
|
106
|
-
}>;
|
|
107
|
-
master: {
|
|
108
|
-
model?: string | undefined;
|
|
109
|
-
variant?: string | undefined;
|
|
110
|
-
prompt?: string | undefined;
|
|
111
|
-
} | undefined;
|
|
112
|
-
}, Record<string, Record<string, unknown>>>>>;
|
|
113
|
-
master_timeout: z.ZodDefault<z.ZodNumber>;
|
|
114
|
-
councillors_timeout: z.ZodDefault<z.ZodNumber>;
|
|
58
|
+
export declare const CouncilConfigSchema: z.ZodPipe<z.ZodObject<{
|
|
59
|
+
presets: z.ZodRecord<z.ZodString, z.ZodPipe<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>>, z.ZodTransform<Record<string, {
|
|
60
|
+
model: string;
|
|
61
|
+
variant?: string | undefined;
|
|
62
|
+
prompt?: string | undefined;
|
|
63
|
+
}>, Record<string, Record<string, unknown>>>>>;
|
|
64
|
+
timeout: z.ZodDefault<z.ZodNumber>;
|
|
115
65
|
default_preset: z.ZodDefault<z.ZodString>;
|
|
116
|
-
master_fallback: z.ZodPipe<z.ZodOptional<z.ZodArray<z.ZodString>>, z.ZodTransform<string[] | undefined, string[] | undefined>>;
|
|
117
66
|
councillor_execution_mode: z.ZodDefault<z.ZodEnum<{
|
|
118
67
|
parallel: "parallel";
|
|
119
68
|
serial: "serial";
|
|
120
69
|
}>>;
|
|
121
70
|
councillor_retries: z.ZodDefault<z.ZodNumber>;
|
|
122
|
-
|
|
71
|
+
master: z.ZodOptional<z.ZodUnknown>;
|
|
72
|
+
master_timeout: z.ZodOptional<z.ZodUnknown>;
|
|
73
|
+
master_fallback: z.ZodOptional<z.ZodUnknown>;
|
|
74
|
+
}, z.core.$strip>, z.ZodTransform<{
|
|
75
|
+
presets: Record<string, Record<string, {
|
|
76
|
+
model: string;
|
|
77
|
+
variant?: string | undefined;
|
|
78
|
+
prompt?: string | undefined;
|
|
79
|
+
}>>;
|
|
80
|
+
timeout: number;
|
|
81
|
+
default_preset: string;
|
|
82
|
+
councillor_execution_mode: "parallel" | "serial";
|
|
83
|
+
councillor_retries: number;
|
|
84
|
+
_deprecated: string[] | undefined;
|
|
85
|
+
_legacyMasterModel: string | undefined;
|
|
86
|
+
}, {
|
|
87
|
+
presets: Record<string, Record<string, {
|
|
88
|
+
model: string;
|
|
89
|
+
variant?: string | undefined;
|
|
90
|
+
prompt?: string | undefined;
|
|
91
|
+
}>>;
|
|
92
|
+
timeout: number;
|
|
93
|
+
default_preset: string;
|
|
94
|
+
councillor_execution_mode: "parallel" | "serial";
|
|
95
|
+
councillor_retries: number;
|
|
96
|
+
master?: unknown;
|
|
97
|
+
master_timeout?: unknown;
|
|
98
|
+
master_fallback?: unknown;
|
|
99
|
+
}>>;
|
|
123
100
|
export type CouncilConfig = z.infer<typeof CouncilConfigSchema>;
|
|
124
101
|
export type CouncillorExecutionMode = z.infer<typeof CouncillorExecutionModeSchema>;
|
|
125
102
|
/**
|
package/dist/config/index.d.ts
CHANGED
package/dist/config/schema.d.ts
CHANGED
|
@@ -59,9 +59,11 @@ export declare const AgentOverrideConfigSchema: z.ZodObject<{
|
|
|
59
59
|
variant: z.ZodCatch<z.ZodOptional<z.ZodString>>;
|
|
60
60
|
skills: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
61
61
|
mcps: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
62
|
+
prompt: z.ZodOptional<z.ZodString>;
|
|
63
|
+
orchestratorPrompt: z.ZodOptional<z.ZodString>;
|
|
62
64
|
options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
63
65
|
displayName: z.ZodOptional<z.ZodString>;
|
|
64
|
-
}, z.core.$
|
|
66
|
+
}, z.core.$strict>;
|
|
65
67
|
export declare const MultiplexerTypeSchema: z.ZodEnum<{
|
|
66
68
|
auto: "auto";
|
|
67
69
|
tmux: "tmux";
|
|
@@ -129,9 +131,11 @@ export declare const PresetSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
|
129
131
|
variant: z.ZodCatch<z.ZodOptional<z.ZodString>>;
|
|
130
132
|
skills: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
131
133
|
mcps: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
134
|
+
prompt: z.ZodOptional<z.ZodString>;
|
|
135
|
+
orchestratorPrompt: z.ZodOptional<z.ZodString>;
|
|
132
136
|
options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
133
137
|
displayName: z.ZodOptional<z.ZodString>;
|
|
134
|
-
}, z.core.$
|
|
138
|
+
}, z.core.$strict>>;
|
|
135
139
|
export type Preset = z.infer<typeof PresetSchema>;
|
|
136
140
|
export declare const WebsearchConfigSchema: z.ZodObject<{
|
|
137
141
|
provider: z.ZodDefault<z.ZodEnum<{
|
|
@@ -146,10 +150,6 @@ export declare const McpNameSchema: z.ZodEnum<{
|
|
|
146
150
|
grep_app: "grep_app";
|
|
147
151
|
}>;
|
|
148
152
|
export type McpName = z.infer<typeof McpNameSchema>;
|
|
149
|
-
export declare const BackgroundTaskConfigSchema: z.ZodObject<{
|
|
150
|
-
maxConcurrentStarts: z.ZodDefault<z.ZodNumber>;
|
|
151
|
-
}, z.core.$strip>;
|
|
152
|
-
export type BackgroundTaskConfig = z.infer<typeof BackgroundTaskConfigSchema>;
|
|
153
153
|
export declare const InterviewConfigSchema: z.ZodObject<{
|
|
154
154
|
maxQuestions: z.ZodDefault<z.ZodNumber>;
|
|
155
155
|
outputFolder: z.ZodDefault<z.ZodString>;
|
|
@@ -237,9 +237,11 @@ export declare const PluginConfigSchema: z.ZodObject<{
|
|
|
237
237
|
variant: z.ZodCatch<z.ZodOptional<z.ZodString>>;
|
|
238
238
|
skills: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
239
239
|
mcps: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
240
|
+
prompt: z.ZodOptional<z.ZodString>;
|
|
241
|
+
orchestratorPrompt: z.ZodOptional<z.ZodString>;
|
|
240
242
|
options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
241
243
|
displayName: z.ZodOptional<z.ZodString>;
|
|
242
|
-
}, z.core.$
|
|
244
|
+
}, z.core.$strict>>>>;
|
|
243
245
|
agents: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
244
246
|
model: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
245
247
|
id: z.ZodString;
|
|
@@ -249,9 +251,11 @@ export declare const PluginConfigSchema: z.ZodObject<{
|
|
|
249
251
|
variant: z.ZodCatch<z.ZodOptional<z.ZodString>>;
|
|
250
252
|
skills: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
251
253
|
mcps: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
254
|
+
prompt: z.ZodOptional<z.ZodString>;
|
|
255
|
+
orchestratorPrompt: z.ZodOptional<z.ZodString>;
|
|
252
256
|
options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
253
257
|
displayName: z.ZodOptional<z.ZodString>;
|
|
254
|
-
}, z.core.$
|
|
258
|
+
}, z.core.$strict>>>;
|
|
255
259
|
disabled_agents: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
256
260
|
disabled_mcps: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
257
261
|
multiplexer: z.ZodOptional<z.ZodObject<{
|
|
@@ -287,9 +291,6 @@ export declare const PluginConfigSchema: z.ZodObject<{
|
|
|
287
291
|
tavily: "tavily";
|
|
288
292
|
}>>;
|
|
289
293
|
}, z.core.$strip>>;
|
|
290
|
-
background: z.ZodOptional<z.ZodObject<{
|
|
291
|
-
maxConcurrentStarts: z.ZodDefault<z.ZodNumber>;
|
|
292
|
-
}, z.core.$strip>>;
|
|
293
294
|
interview: z.ZodOptional<z.ZodObject<{
|
|
294
295
|
maxQuestions: z.ZodDefault<z.ZodNumber>;
|
|
295
296
|
outputFolder: z.ZodDefault<z.ZodString>;
|
|
@@ -317,34 +318,48 @@ export declare const PluginConfigSchema: z.ZodObject<{
|
|
|
317
318
|
}, z.core.$catchall<z.ZodArray<z.ZodString>>>>;
|
|
318
319
|
retry_on_empty: z.ZodDefault<z.ZodBoolean>;
|
|
319
320
|
}, z.core.$strip>>;
|
|
320
|
-
council: z.ZodOptional<z.ZodObject<{
|
|
321
|
-
|
|
322
|
-
model:
|
|
323
|
-
variant
|
|
324
|
-
prompt
|
|
325
|
-
},
|
|
326
|
-
|
|
327
|
-
councillors: Record<string, {
|
|
328
|
-
model: string;
|
|
329
|
-
variant?: string | undefined;
|
|
330
|
-
prompt?: string | undefined;
|
|
331
|
-
}>;
|
|
332
|
-
master: {
|
|
333
|
-
model?: string | undefined;
|
|
334
|
-
variant?: string | undefined;
|
|
335
|
-
prompt?: string | undefined;
|
|
336
|
-
} | undefined;
|
|
337
|
-
}, Record<string, Record<string, unknown>>>>>;
|
|
338
|
-
master_timeout: z.ZodDefault<z.ZodNumber>;
|
|
339
|
-
councillors_timeout: z.ZodDefault<z.ZodNumber>;
|
|
321
|
+
council: z.ZodOptional<z.ZodPipe<z.ZodObject<{
|
|
322
|
+
presets: z.ZodRecord<z.ZodString, z.ZodPipe<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>>, z.ZodTransform<Record<string, {
|
|
323
|
+
model: string;
|
|
324
|
+
variant?: string | undefined;
|
|
325
|
+
prompt?: string | undefined;
|
|
326
|
+
}>, Record<string, Record<string, unknown>>>>>;
|
|
327
|
+
timeout: z.ZodDefault<z.ZodNumber>;
|
|
340
328
|
default_preset: z.ZodDefault<z.ZodString>;
|
|
341
|
-
master_fallback: z.ZodPipe<z.ZodOptional<z.ZodArray<z.ZodString>>, z.ZodTransform<string[] | undefined, string[] | undefined>>;
|
|
342
329
|
councillor_execution_mode: z.ZodDefault<z.ZodEnum<{
|
|
343
330
|
parallel: "parallel";
|
|
344
331
|
serial: "serial";
|
|
345
332
|
}>>;
|
|
346
333
|
councillor_retries: z.ZodDefault<z.ZodNumber>;
|
|
347
|
-
|
|
334
|
+
master: z.ZodOptional<z.ZodUnknown>;
|
|
335
|
+
master_timeout: z.ZodOptional<z.ZodUnknown>;
|
|
336
|
+
master_fallback: z.ZodOptional<z.ZodUnknown>;
|
|
337
|
+
}, z.core.$strip>, z.ZodTransform<{
|
|
338
|
+
presets: Record<string, Record<string, {
|
|
339
|
+
model: string;
|
|
340
|
+
variant?: string | undefined;
|
|
341
|
+
prompt?: string | undefined;
|
|
342
|
+
}>>;
|
|
343
|
+
timeout: number;
|
|
344
|
+
default_preset: string;
|
|
345
|
+
councillor_execution_mode: "parallel" | "serial";
|
|
346
|
+
councillor_retries: number;
|
|
347
|
+
_deprecated: string[] | undefined;
|
|
348
|
+
_legacyMasterModel: string | undefined;
|
|
349
|
+
}, {
|
|
350
|
+
presets: Record<string, Record<string, {
|
|
351
|
+
model: string;
|
|
352
|
+
variant?: string | undefined;
|
|
353
|
+
prompt?: string | undefined;
|
|
354
|
+
}>>;
|
|
355
|
+
timeout: number;
|
|
356
|
+
default_preset: string;
|
|
357
|
+
councillor_execution_mode: "parallel" | "serial";
|
|
358
|
+
councillor_retries: number;
|
|
359
|
+
master?: unknown;
|
|
360
|
+
master_timeout?: unknown;
|
|
361
|
+
master_fallback?: unknown;
|
|
362
|
+
}>>>;
|
|
348
363
|
}, z.core.$strip>;
|
|
349
364
|
export type PluginConfig = z.infer<typeof PluginConfigSchema>;
|
|
350
365
|
export type { AgentName } from './constants';
|
package/dist/config/utils.d.ts
CHANGED
|
@@ -8,3 +8,10 @@ import type { AgentOverrideConfig, PluginConfig } from './schema';
|
|
|
8
8
|
* @returns The agent-specific override configuration if found
|
|
9
9
|
*/
|
|
10
10
|
export declare function getAgentOverride(config: PluginConfig | undefined, name: string): AgentOverrideConfig | undefined;
|
|
11
|
+
/**
|
|
12
|
+
* Get custom agent names declared in config.agents.
|
|
13
|
+
*
|
|
14
|
+
* Custom agents are unknown keys that are neither built-in agent names nor
|
|
15
|
+
* legacy aliases.
|
|
16
|
+
*/
|
|
17
|
+
export declare function getCustomAgentNames(config: PluginConfig | undefined): string[];
|
|
@@ -2,27 +2,32 @@
|
|
|
2
2
|
* Council Manager
|
|
3
3
|
*
|
|
4
4
|
* Orchestrates multi-LLM council sessions: launches councillors in
|
|
5
|
-
* parallel
|
|
5
|
+
* parallel and collects their results for the council agent to synthesize.
|
|
6
6
|
*/
|
|
7
7
|
import type { PluginInput } from '@opencode-ai/plugin';
|
|
8
|
-
import type { SubagentDepthTracker } from '../background/subagent-depth';
|
|
9
8
|
import type { PluginConfig } from '../config';
|
|
10
9
|
import type { CouncilResult } from '../config/council-schema';
|
|
10
|
+
import type { SubagentDepthTracker } from '../utils/subagent-depth';
|
|
11
11
|
export declare class CouncilManager {
|
|
12
12
|
private client;
|
|
13
13
|
private directory;
|
|
14
14
|
private config?;
|
|
15
15
|
private depthTracker?;
|
|
16
16
|
private tmuxEnabled;
|
|
17
|
+
private deprecatedFields?;
|
|
18
|
+
private legacyMasterModel?;
|
|
17
19
|
constructor(ctx: PluginInput, config?: PluginConfig, depthTracker?: SubagentDepthTracker, tmuxEnabled?: boolean);
|
|
20
|
+
/** Return deprecated config fields detected during parsing (for tool warnings). */
|
|
21
|
+
getDeprecatedFields(): string[] | undefined;
|
|
22
|
+
/** Return the legacy master.model if it was used as fallback. */
|
|
23
|
+
getLegacyMasterModel(): string | undefined;
|
|
18
24
|
/**
|
|
19
25
|
* Run a full council session.
|
|
20
26
|
*
|
|
21
27
|
* 1. Look up the preset
|
|
22
28
|
* 2. Launch all councillors in parallel
|
|
23
29
|
* 3. Collect results (respecting timeout)
|
|
24
|
-
* 4.
|
|
25
|
-
* 5. Return combined result
|
|
30
|
+
* 4. Return formatted councillor results for synthesis
|
|
26
31
|
*/
|
|
27
32
|
runCouncil(prompt: string, presetName: string | undefined, parentSessionId: string): Promise<CouncilResult>;
|
|
28
33
|
/**
|
|
@@ -32,7 +37,6 @@ export declare class CouncilManager {
|
|
|
32
37
|
private sendStartNotification;
|
|
33
38
|
/**
|
|
34
39
|
* Run a single agent session: create → register → prompt → extract → cleanup.
|
|
35
|
-
* Both councillors and the master follow this identical lifecycle.
|
|
36
40
|
*/
|
|
37
41
|
private runAgentSession;
|
|
38
42
|
private runCouncillors;
|
|
@@ -42,12 +46,4 @@ export declare class CouncilManager {
|
|
|
42
46
|
* and other failures are returned immediately.
|
|
43
47
|
*/
|
|
44
48
|
private runCouncillorWithRetry;
|
|
45
|
-
/**
|
|
46
|
-
* Run a single master model with retry logic for empty responses.
|
|
47
|
-
* Only retries on "Empty response from provider" — timeouts and
|
|
48
|
-
* other failures throw immediately so runMaster can try the next
|
|
49
|
-
* fallback model.
|
|
50
|
-
*/
|
|
51
|
-
private runMasterModelWithRetry;
|
|
52
|
-
private runMaster;
|
|
53
49
|
}
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* with the new model — promptAsync returns immediately so we never
|
|
10
10
|
* block the event handler waiting for a full LLM response.
|
|
11
11
|
*
|
|
12
|
-
* This mirrors the
|
|
12
|
+
* This mirrors the same fallback loop used for delegated sessions, but operates
|
|
13
13
|
* reactively through the event system instead of wrapping prompt() in a
|
|
14
14
|
* try/catch, which is not possible for interactive (foreground) sessions.
|
|
15
15
|
*/
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const PHASE_REMINDER = "<reminder
|
|
1
|
+
export declare const PHASE_REMINDER = "<reminder>!IMPORTANT! Recall the workflow rules:\nUnderstand \u2192 choose the best parallelized path based on your agents delegation rules \u2192 don't prefer solo \u2192 execute \u2192 verify.\nIf delegating, launch the specialist in the same turn you mention it !END!</reminder>";
|
|
2
2
|
interface MessageInfo {
|
|
3
3
|
role: string;
|
|
4
4
|
agent?: string;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
export declare const TODO_HYGIENE_REMINDER = "If the active task changed or finished, update the todo list to match the current work state.";
|
|
2
2
|
export declare const TODO_FINAL_ACTIVE_REMINDER = "If you are finishing now, do not leave the active todo in_progress. Mark it completed, or move unfinished work back to pending.";
|
|
3
|
-
export declare const TODO_DELEGATION_RESUME_REMINDER = "A delegated result just returned. Reconcile the todo list before continuing or delegating again.";
|
|
4
3
|
interface ToolInput {
|
|
5
4
|
tool: string;
|
|
6
5
|
sessionID?: string;
|