oh-my-opencode-slim 1.0.1 → 1.0.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/README.md +23 -13
- package/dist/cli/index.js +10 -3
- package/dist/cli/install.d.ts +1 -1
- package/dist/cli/providers.d.ts +4 -4
- package/dist/config/constants.d.ts +1 -1
- package/dist/config/council-schema.d.ts +2 -2
- package/dist/config/schema.d.ts +12 -0
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/phase-reminder/index.d.ts +1 -1
- package/dist/hooks/task-session-manager/index.d.ts +40 -0
- package/dist/index.js +970 -149
- package/dist/multiplexer/session-manager.d.ts +4 -0
- package/dist/tools/council.d.ts +2 -2
- package/dist/utils/agent-variant.d.ts +2 -0
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/logger.d.ts +2 -0
- package/dist/utils/session-manager.d.ts +55 -0
- package/dist/utils/session.d.ts +4 -4
- package/dist/utils/system-collapse.d.ts +6 -0
- package/dist/utils/task.d.ts +4 -0
- package/oh-my-opencode-slim.schema.json +27 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
<p>
|
|
8
8
|
<a href="https://boringdystopia.ai/"><img src="https://img.shields.io/badge/boringdystopia.ai-111111?style=for-the-badge&logo=vercel&logoColor=white" alt="boringdystopia.ai"></a>
|
|
9
9
|
<a href="https://x.com/alvinunreal"><img src="https://img.shields.io/badge/X-@alvinunreal-000000?style=for-the-badge&logo=x&logoColor=white" alt="X @alvinunreal"></a>
|
|
10
|
-
<a href="https://t.me/boringdystopiadevelopment"><img src="https://img.shields.io/badge/Telegram-Join%20channel-2CA5E0?style=for-the-badge&logo=telegram&logoColor=white" alt="Telegram Join channel"></a
|
|
10
|
+
<a href="https://t.me/boringdystopiadevelopment"><img src="https://img.shields.io/badge/Telegram-Join%20channel-2CA5E0?style=for-the-badge&logo=telegram&logoColor=white" alt="Telegram Join channel"></a>
|
|
11
11
|
</p>
|
|
12
12
|
</div>
|
|
13
13
|
|
|
@@ -39,7 +39,7 @@ bunx oh-my-opencode-slim@latest install
|
|
|
39
39
|
|
|
40
40
|
### Getting Started
|
|
41
41
|
|
|
42
|
-
The installer generates an OpenAI preset by default, using `openai/gpt-5.
|
|
42
|
+
The installer generates an OpenAI preset by default, using `openai/gpt-5.5` for the higher-judgment agents and `openai/gpt-5.4-mini` for the faster scoped agents.
|
|
43
43
|
|
|
44
44
|
Then:
|
|
45
45
|
|
|
@@ -68,8 +68,8 @@ The default generated configuration looks like this:
|
|
|
68
68
|
"preset": "openai",
|
|
69
69
|
"presets": {
|
|
70
70
|
"openai": {
|
|
71
|
-
"orchestrator": { "model": "openai/gpt-5.
|
|
72
|
-
"oracle": { "model": "openai/gpt-5.
|
|
71
|
+
"orchestrator": { "model": "openai/gpt-5.5", "skills": ["*"], "mcps": ["*", "!context7"] },
|
|
72
|
+
"oracle": { "model": "openai/gpt-5.5", "variant": "high", "skills": ["simplify"], "mcps": [] },
|
|
73
73
|
"librarian": { "model": "openai/gpt-5.4-mini", "variant": "low", "skills": [], "mcps": ["websearch", "context7", "grep_app"] },
|
|
74
74
|
"explorer": { "model": "openai/gpt-5.4-mini", "variant": "low", "skills": [], "mcps": [] },
|
|
75
75
|
"designer": { "model": "openai/gpt-5.4-mini", "variant": "medium", "skills": ["agent-browser"], "mcps": [] },
|
|
@@ -79,6 +79,10 @@ The default generated configuration looks like this:
|
|
|
79
79
|
}
|
|
80
80
|
```
|
|
81
81
|
|
|
82
|
+
Session management is enabled by default even though it is not shown in the
|
|
83
|
+
starter config. See **[Session Management](docs/session-management.md)** if you
|
|
84
|
+
want to customize how many resumable child-agent sessions are remembered.
|
|
85
|
+
|
|
82
86
|
### For Alternative Providers
|
|
83
87
|
|
|
84
88
|
To use Kimi, GitHub Copilot, ZAI Coding Plan, or a mixed-provider setup, use **[Configuration](docs/configuration.md)** for the full reference. If you want a ready-made starting point, check the **[Author's Preset](docs/authors-preset.md)** and **[$30 Preset](docs/thirty-dollars-preset.md)** - the `$30` preset is the best cheap setup.
|
|
@@ -140,12 +144,12 @@ If any agent fails to respond, check your provider authentication and config fil
|
|
|
140
144
|
</tr>
|
|
141
145
|
<tr>
|
|
142
146
|
<td colspan="2">
|
|
143
|
-
<b>Default Model:</b> <code>openai/gpt-5.
|
|
147
|
+
<b>Default Model:</b> <code>openai/gpt-5.5</code>
|
|
144
148
|
</td>
|
|
145
149
|
</tr>
|
|
146
150
|
<tr>
|
|
147
151
|
<td colspan="2">
|
|
148
|
-
<b>Recommended Models:</b> <code>openai/gpt-5.
|
|
152
|
+
<b>Recommended Models:</b> <code>openai/gpt-5.5</code> <code>anthropic/claude-opus-4.6</code>
|
|
149
153
|
</td>
|
|
150
154
|
</tr>
|
|
151
155
|
<tr>
|
|
@@ -222,12 +226,12 @@ If any agent fails to respond, check your provider authentication and config fil
|
|
|
222
226
|
</tr>
|
|
223
227
|
<tr>
|
|
224
228
|
<td colspan="2">
|
|
225
|
-
<b>Default Model:</b> <code>openai/gpt-5.
|
|
229
|
+
<b>Default Model:</b> <code>openai/gpt-5.5 (high)</code>
|
|
226
230
|
</td>
|
|
227
231
|
</tr>
|
|
228
232
|
<tr>
|
|
229
233
|
<td colspan="2">
|
|
230
|
-
<b>Recommended Models:</b> <code>openai/gpt-5.
|
|
234
|
+
<b>Recommended Models:</b> <code>openai/gpt-5.5 (high)</code> <code>google/gemini-3.1-pro-preview (high)</code>
|
|
231
235
|
</td>
|
|
232
236
|
</tr>
|
|
233
237
|
<tr>
|
|
@@ -251,7 +255,7 @@ If any agent fails to respond, check your provider authentication and config fil
|
|
|
251
255
|
<br><sub><i>Many minds, one verdict.</i></sub>
|
|
252
256
|
</td>
|
|
253
257
|
<td width="70%" valign="top">
|
|
254
|
-
The Council is not a lone being but a chamber of minds summoned when one answer is not enough. It sends your question to multiple models in parallel, gathers their competing judgments, and
|
|
258
|
+
The Council is not a lone being but a chamber of minds summoned when one answer is not enough. It sends your question to multiple models in parallel, gathers their competing judgments, and then the Council agent itself distills the strongest ideas into a single verdict. Where a solitary agent may miss a path, the Council cross-examines possibility itself.
|
|
255
259
|
</td>
|
|
256
260
|
</tr>
|
|
257
261
|
<tr>
|
|
@@ -271,17 +275,17 @@ If any agent fails to respond, check your provider authentication and config fil
|
|
|
271
275
|
</tr>
|
|
272
276
|
<tr>
|
|
273
277
|
<td colspan="2">
|
|
274
|
-
<b>Default Setup:</b> <code>Config-driven</code> — councillors
|
|
278
|
+
<b>Default Setup:</b> <code>Config-driven</code> — councillors come from <code>council.presets</code> and the Council agent model comes from your normal <code>council</code> agent config
|
|
275
279
|
</td>
|
|
276
280
|
</tr>
|
|
277
281
|
<tr>
|
|
278
282
|
<td colspan="2">
|
|
279
|
-
<b>Recommended Setup:</b> <code>Strong
|
|
283
|
+
<b>Recommended Setup:</b> <code>Strong Council model</code> + <code>diverse councillors</code> across providers
|
|
280
284
|
</td>
|
|
281
285
|
</tr>
|
|
282
286
|
<tr>
|
|
283
287
|
<td colspan="2">
|
|
284
|
-
<b>Model Guidance:</b> Use a strong synthesis model
|
|
288
|
+
<b>Model Guidance:</b> Use a strong synthesis model for the Council agent and diverse models as councillors. The value of Council comes from comparing different model perspectives, not just picking the single strongest model everywhere.
|
|
285
289
|
</td>
|
|
286
290
|
</tr>
|
|
287
291
|
</table>
|
|
@@ -472,6 +476,7 @@ Use this section as a map: start with installation, then jump to features, confi
|
|
|
472
476
|
| **[Council](docs/council.md)** | Run multiple models in parallel and synthesize a single answer with `@council` |
|
|
473
477
|
| **[Interview](docs/interview.md)** | Turn rough ideas into a structured markdown spec through a browser-based Q&A flow |
|
|
474
478
|
| **[Multiplexer Integration](docs/multiplexer-integration.md)** | Watch agents work live in Tmux or Zellij panes |
|
|
479
|
+
| **[Session Management](docs/session-management.md)** | Reuse recent child-agent sessions with short aliases instead of starting over |
|
|
475
480
|
| **[Todo Continuation](docs/todo-continuation.md)** | Auto-continue orchestrator sessions with cooldowns and safety checks |
|
|
476
481
|
| **[Preset Switching](docs/preset-switching.md)** | Switch agent model presets at runtime with `/preset` |
|
|
477
482
|
| **[Codemap](docs/codemap.md)** | Generate hierarchical codemaps to understand large codebases faster |
|
|
@@ -502,7 +507,7 @@ Use this section as a map: start with installation, then jump to features, confi
|
|
|
502
507
|
<p><sub>Every merged contribution leaves a mark on the realm.</sub></p>
|
|
503
508
|
|
|
504
509
|
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
|
|
505
|
-
[](#contributors-)
|
|
506
511
|
<!-- ALL-CONTRIBUTORS-BADGE:END -->
|
|
507
512
|
</div>
|
|
508
513
|
|
|
@@ -567,6 +572,11 @@ Use this section as a map: start with installation, then jump to features, confi
|
|
|
567
572
|
<td align="center" valign="top" width="16.66%"><a href="https://zenstudio.cv/"><img src="https://avatars.githubusercontent.com/u/10528635?v=4?s=100" width="100px;" alt="Nguyen Canh Toan"/><br /><sub><b>Nguyen Canh Toan</b></sub></a><br /><a href="https://github.com/alvinunreal/oh-my-opencode-slim/commits?author=ZenStudioLab" title="Code">💻</a></td>
|
|
568
573
|
<td align="center" valign="top" width="16.66%"><a href="https://github.com/tom-dyar"><img src="https://avatars.githubusercontent.com/u/8899513?v=4?s=100" width="100px;" alt="Thomas Dyar"/><br /><sub><b>Thomas Dyar</b></sub></a><br /><a href="https://github.com/alvinunreal/oh-my-opencode-slim/commits?author=tom-dyar" title="Code">💻</a></td>
|
|
569
574
|
<td align="center" valign="top" width="16.66%"><a href="https://github.com/zuuky"><img src="https://avatars.githubusercontent.com/u/6713415?v=4?s=100" width="100px;" alt="zero"/><br /><sub><b>zero</b></sub></a><br /><a href="https://github.com/alvinunreal/oh-my-opencode-slim/commits?author=zuuky" title="Code">💻</a></td>
|
|
575
|
+
<td align="center" valign="top" width="16.66%"><a href="https://github.com/DenisBalan"><img src="https://avatars.githubusercontent.com/u/33955091?v=4?s=100" width="100px;" alt="Denis Balan"/><br /><sub><b>Denis Balan</b></sub></a><br /><a href="https://github.com/alvinunreal/oh-my-opencode-slim/commits?author=DenisBalan" title="Code">💻</a></td>
|
|
576
|
+
</tr>
|
|
577
|
+
<tr>
|
|
578
|
+
<td align="center" valign="top" width="16.66%"><a href="https://github.com/gustavocaiano"><img src="https://avatars.githubusercontent.com/u/104129313?v=4?s=100" width="100px;" alt="Gustavo Caiano"/><br /><sub><b>Gustavo Caiano</b></sub></a><br /><a href="https://github.com/alvinunreal/oh-my-opencode-slim/commits?author=gustavocaiano" title="Code">💻</a></td>
|
|
579
|
+
<td align="center" valign="top" width="16.66%"><a href="https://github.com/ThomasMldr"><img src="https://avatars.githubusercontent.com/u/6631765?v=4?s=100" width="100px;" alt="Thomas Mulder"/><br /><sub><b>Thomas Mulder</b></sub></a><br /><a href="https://github.com/alvinunreal/oh-my-opencode-slim/commits?author=ThomasMldr" title="Code">💻</a></td>
|
|
570
580
|
</tr>
|
|
571
581
|
</tbody>
|
|
572
582
|
</table>
|
package/dist/cli/index.js
CHANGED
|
@@ -259,6 +259,11 @@ var InterviewConfigSchema = z2.object({
|
|
|
259
259
|
port: z2.number().int().min(0).max(65535).default(0),
|
|
260
260
|
dashboard: z2.boolean().default(false)
|
|
261
261
|
});
|
|
262
|
+
var SessionManagerConfigSchema = z2.object({
|
|
263
|
+
maxSessionsPerAgent: z2.number().int().min(1).max(10).default(2),
|
|
264
|
+
readContextMinLines: z2.number().int().min(0).max(1000).default(10),
|
|
265
|
+
readContextMaxFiles: z2.number().int().min(0).max(50).default(8)
|
|
266
|
+
});
|
|
262
267
|
var TodoContinuationConfigSchema = z2.object({
|
|
263
268
|
maxContinuations: z2.number().int().min(1).max(50).default(5).describe("Maximum consecutive auto-continuations before stopping to ask user"),
|
|
264
269
|
cooldownMs: z2.number().int().min(0).max(30000).default(3000).describe("Delay in ms before auto-continuing (gives user time to abort)"),
|
|
@@ -300,6 +305,7 @@ var PluginConfigSchema = z2.object({
|
|
|
300
305
|
scoringEngineVersion: z2.enum(["v1", "v2-shadow", "v2"]).optional(),
|
|
301
306
|
balanceProviderUsage: z2.boolean().optional(),
|
|
302
307
|
showStartupToast: z2.boolean().optional().describe("Show the startup activation toast when OpenCode starts. Defaults to true."),
|
|
308
|
+
autoUpdate: z2.boolean().optional().describe("Disable automatic installation of plugin updates when false. Defaults to true."),
|
|
303
309
|
manualPlan: ManualPlanSchema.optional(),
|
|
304
310
|
presets: z2.record(z2.string(), PresetSchema).optional(),
|
|
305
311
|
agents: z2.record(z2.string(), AgentOverrideConfigSchema).optional(),
|
|
@@ -309,6 +315,7 @@ var PluginConfigSchema = z2.object({
|
|
|
309
315
|
tmux: TmuxConfigSchema.optional(),
|
|
310
316
|
websearch: WebsearchConfigSchema.optional(),
|
|
311
317
|
interview: InterviewConfigSchema.optional(),
|
|
318
|
+
sessionManager: SessionManagerConfigSchema.optional(),
|
|
312
319
|
todoContinuation: TodoContinuationConfigSchema.optional(),
|
|
313
320
|
fallback: FailoverConfigSchema.optional(),
|
|
314
321
|
council: CouncilConfigSchema.optional()
|
|
@@ -453,8 +460,8 @@ function installSkill(skill) {
|
|
|
453
460
|
var SCHEMA_URL = "https://unpkg.com/oh-my-opencode-slim@latest/oh-my-opencode-slim.schema.json";
|
|
454
461
|
var MODEL_MAPPINGS = {
|
|
455
462
|
openai: {
|
|
456
|
-
orchestrator: { model: "openai/gpt-5.
|
|
457
|
-
oracle: { model: "openai/gpt-5.
|
|
463
|
+
orchestrator: { model: "openai/gpt-5.5" },
|
|
464
|
+
oracle: { model: "openai/gpt-5.5", variant: "high" },
|
|
458
465
|
librarian: { model: "openai/gpt-5.4-mini", variant: "low" },
|
|
459
466
|
explorer: { model: "openai/gpt-5.4-mini", variant: "low" },
|
|
460
467
|
designer: { model: "openai/gpt-5.4-mini", variant: "medium" },
|
|
@@ -1135,7 +1142,7 @@ ${JSON.stringify(liteConfig, null, 2)}
|
|
|
1135
1142
|
console.log(" 5. Verify the agents are responding:");
|
|
1136
1143
|
console.log(` ${BLUE}> ping all agents${RESET}`);
|
|
1137
1144
|
console.log();
|
|
1138
|
-
const modelsInfo = "Default configuration uses OpenAI models (gpt-5.
|
|
1145
|
+
const modelsInfo = "Default configuration uses OpenAI models (gpt-5.5 / gpt-5.4-mini).";
|
|
1139
1146
|
console.log(`${modelsInfo}`);
|
|
1140
1147
|
const altProviders = "For the full configuration reference, see:";
|
|
1141
1148
|
console.log(altProviders);
|
package/dist/cli/install.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type { InstallArgs } from
|
|
1
|
+
import type { InstallArgs } from "./types";
|
|
2
2
|
export declare function install(args: InstallArgs): Promise<number>;
|
package/dist/cli/providers.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import type { InstallConfig } from
|
|
1
|
+
import type { InstallConfig } from "./types";
|
|
2
2
|
export declare const MODEL_MAPPINGS: {
|
|
3
3
|
readonly openai: {
|
|
4
4
|
readonly orchestrator: {
|
|
5
|
-
readonly model: "openai/gpt-5.
|
|
5
|
+
readonly model: "openai/gpt-5.5";
|
|
6
6
|
};
|
|
7
7
|
readonly oracle: {
|
|
8
|
-
readonly model: "openai/gpt-5.
|
|
8
|
+
readonly model: "openai/gpt-5.5";
|
|
9
9
|
readonly variant: "high";
|
|
10
10
|
};
|
|
11
11
|
readonly librarian: {
|
|
@@ -75,7 +75,7 @@ export declare const MODEL_MAPPINGS: {
|
|
|
75
75
|
readonly variant: "low";
|
|
76
76
|
};
|
|
77
77
|
};
|
|
78
|
-
readonly
|
|
78
|
+
readonly "zai-plan": {
|
|
79
79
|
readonly orchestrator: {
|
|
80
80
|
readonly model: "zai-coding-plan/glm-5";
|
|
81
81
|
};
|
|
@@ -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 = "!IMPORTANT! Recall the workflow rules:\nUnderstand \u2192 choose the best parallelized path based on your agents delegation rules \u2192
|
|
23
|
+
export declare const PHASE_REMINDER_TEXT = "!IMPORTANT! Recall the workflow rules:\nUnderstand \u2192 choose the best parallelized path based on your capabilities and agents delegation rules \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;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { z } from
|
|
1
|
+
import { z } from "zod";
|
|
2
2
|
/**
|
|
3
3
|
* Configuration for a single councillor within a preset.
|
|
4
4
|
* Each councillor is an independent LLM that processes the same prompt.
|
|
@@ -120,7 +120,7 @@ export interface CouncilResult {
|
|
|
120
120
|
councillorResults: Array<{
|
|
121
121
|
name: string;
|
|
122
122
|
model: string;
|
|
123
|
-
status:
|
|
123
|
+
status: "completed" | "failed" | "timed_out";
|
|
124
124
|
result?: string;
|
|
125
125
|
error?: string;
|
|
126
126
|
}>;
|
package/dist/config/schema.d.ts
CHANGED
|
@@ -158,6 +158,12 @@ export declare const InterviewConfigSchema: z.ZodObject<{
|
|
|
158
158
|
dashboard: z.ZodDefault<z.ZodBoolean>;
|
|
159
159
|
}, z.core.$strip>;
|
|
160
160
|
export type InterviewConfig = z.infer<typeof InterviewConfigSchema>;
|
|
161
|
+
export declare const SessionManagerConfigSchema: z.ZodObject<{
|
|
162
|
+
maxSessionsPerAgent: z.ZodDefault<z.ZodNumber>;
|
|
163
|
+
readContextMinLines: z.ZodDefault<z.ZodNumber>;
|
|
164
|
+
readContextMaxFiles: z.ZodDefault<z.ZodNumber>;
|
|
165
|
+
}, z.core.$strip>;
|
|
166
|
+
export type SessionManagerConfig = z.infer<typeof SessionManagerConfigSchema>;
|
|
161
167
|
export declare const TodoContinuationConfigSchema: z.ZodObject<{
|
|
162
168
|
maxContinuations: z.ZodDefault<z.ZodNumber>;
|
|
163
169
|
cooldownMs: z.ZodDefault<z.ZodNumber>;
|
|
@@ -190,6 +196,7 @@ export declare const PluginConfigSchema: z.ZodObject<{
|
|
|
190
196
|
}>>;
|
|
191
197
|
balanceProviderUsage: z.ZodOptional<z.ZodBoolean>;
|
|
192
198
|
showStartupToast: z.ZodOptional<z.ZodBoolean>;
|
|
199
|
+
autoUpdate: z.ZodOptional<z.ZodBoolean>;
|
|
193
200
|
manualPlan: z.ZodOptional<z.ZodObject<{
|
|
194
201
|
orchestrator: z.ZodObject<{
|
|
195
202
|
primary: z.ZodString;
|
|
@@ -298,6 +305,11 @@ export declare const PluginConfigSchema: z.ZodObject<{
|
|
|
298
305
|
port: z.ZodDefault<z.ZodNumber>;
|
|
299
306
|
dashboard: z.ZodDefault<z.ZodBoolean>;
|
|
300
307
|
}, z.core.$strip>>;
|
|
308
|
+
sessionManager: z.ZodOptional<z.ZodObject<{
|
|
309
|
+
maxSessionsPerAgent: z.ZodDefault<z.ZodNumber>;
|
|
310
|
+
readContextMinLines: z.ZodDefault<z.ZodNumber>;
|
|
311
|
+
readContextMaxFiles: z.ZodDefault<z.ZodNumber>;
|
|
312
|
+
}, z.core.$strip>>;
|
|
301
313
|
todoContinuation: z.ZodOptional<z.ZodObject<{
|
|
302
314
|
maxContinuations: z.ZodDefault<z.ZodNumber>;
|
|
303
315
|
cooldownMs: z.ZodDefault<z.ZodNumber>;
|
package/dist/hooks/index.d.ts
CHANGED
|
@@ -9,4 +9,5 @@ export { processImageAttachments } from './image-hook';
|
|
|
9
9
|
export { createJsonErrorRecoveryHook } from './json-error-recovery';
|
|
10
10
|
export { createPhaseReminderHook } from './phase-reminder';
|
|
11
11
|
export { createPostFileToolNudgeHook } from './post-file-tool-nudge';
|
|
12
|
+
export { createTaskSessionManagerHook } from './task-session-manager';
|
|
12
13
|
export { createTodoContinuationHook } from './todo-continuation';
|
|
@@ -1,4 +1,4 @@
|
|
|
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
|
|
1
|
+
export declare const PHASE_REMINDER = "<reminder>!IMPORTANT! Recall the workflow rules:\nUnderstand \u2192 choose the best parallelized path based on your capabilities and agents delegation rules \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;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { PluginInput } from '@opencode-ai/plugin';
|
|
2
|
+
export declare function createTaskSessionManagerHook(_ctx: PluginInput, options: {
|
|
3
|
+
maxSessionsPerAgent: number;
|
|
4
|
+
readContextMinLines?: number;
|
|
5
|
+
readContextMaxFiles?: number;
|
|
6
|
+
shouldManageSession: (sessionID: string) => boolean;
|
|
7
|
+
}): {
|
|
8
|
+
'tool.execute.before': (input: {
|
|
9
|
+
tool: string;
|
|
10
|
+
sessionID?: string;
|
|
11
|
+
callID?: string;
|
|
12
|
+
}, output: {
|
|
13
|
+
args?: unknown;
|
|
14
|
+
}) => Promise<void>;
|
|
15
|
+
'tool.execute.after': (input: {
|
|
16
|
+
tool: string;
|
|
17
|
+
sessionID?: string;
|
|
18
|
+
callID?: string;
|
|
19
|
+
}, output: {
|
|
20
|
+
output: unknown;
|
|
21
|
+
metadata?: unknown;
|
|
22
|
+
}) => Promise<void>;
|
|
23
|
+
'experimental.chat.system.transform': (input: {
|
|
24
|
+
sessionID?: string;
|
|
25
|
+
}, output: {
|
|
26
|
+
system: string[];
|
|
27
|
+
}) => Promise<void>;
|
|
28
|
+
event: (input: {
|
|
29
|
+
event: {
|
|
30
|
+
type: string;
|
|
31
|
+
properties?: {
|
|
32
|
+
info?: {
|
|
33
|
+
id?: string;
|
|
34
|
+
parentID?: string;
|
|
35
|
+
};
|
|
36
|
+
sessionID?: string;
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
}) => Promise<void>;
|
|
40
|
+
};
|