oh-my-opencode-slim 2.1.0 → 2.2.0
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.ja-JP.md +31 -30
- package/README.ko-KR.md +31 -30
- package/README.md +57 -33
- package/README.zh-CN.md +29 -28
- package/dist/agents/index.d.ts +0 -4
- package/dist/cli/index.js +90 -16
- package/dist/cli/providers.d.ts +7 -7
- package/dist/companion/manager.d.ts +3 -0
- package/dist/config/constants.d.ts +12 -1
- package/dist/config/council-schema.d.ts +37 -12
- package/dist/config/schema.d.ts +691 -6
- package/dist/config/strip-orchestrator-model.d.ts +9 -0
- package/dist/council/council-manager.d.ts +7 -3
- package/dist/hooks/command-hook-utils.d.ts +5 -0
- package/dist/hooks/foreground-fallback/index.d.ts +53 -7
- package/dist/hooks/image-hook.d.ts +1 -0
- package/dist/hooks/index.d.ts +2 -1
- package/dist/hooks/phase-reminder/index.d.ts +3 -1
- package/dist/hooks/post-file-tool-nudge/index.d.ts +15 -9
- package/dist/hooks/session-lifecycle.d.ts +11 -0
- package/dist/hooks/task-session-manager/index.d.ts +14 -2
- package/dist/index.js +2804 -801
- package/dist/interview/document.d.ts +2 -1
- package/dist/interview/service.d.ts +2 -0
- package/dist/interview/ui.d.ts +0 -1
- package/dist/multiplexer/cmux/close-policy.d.ts +20 -0
- package/dist/multiplexer/cmux/index.d.ts +102 -0
- package/dist/multiplexer/cmux/session-lifecycle.d.ts +92 -0
- package/dist/multiplexer/cmux/session-state.d.ts +45 -0
- package/dist/multiplexer/factory.d.ts +0 -9
- package/dist/multiplexer/herdr/index.d.ts +7 -3
- package/dist/multiplexer/index.d.ts +3 -1
- package/dist/multiplexer/session-manager.d.ts +14 -6
- package/dist/multiplexer/shared.d.ts +31 -0
- package/dist/multiplexer/tmux/index.d.ts +0 -1
- package/dist/multiplexer/types.d.ts +5 -2
- package/dist/multiplexer/zellij/index.d.ts +0 -1
- package/dist/tools/cancel-task.d.ts +2 -2
- package/dist/tools/smartfetch/utils.d.ts +3 -1
- package/dist/tui-state.d.ts +5 -5
- package/dist/tui.d.ts +1 -0
- package/dist/tui.js +130 -29
- package/dist/utils/background-job-board.d.ts +5 -1
- package/dist/utils/background-job-coordinator.d.ts +72 -0
- package/dist/utils/background-job-store.d.ts +46 -0
- package/dist/utils/councillor-models.d.ts +20 -0
- package/dist/utils/escape-html.d.ts +1 -0
- package/dist/utils/frontmatter.d.ts +6 -0
- package/dist/utils/index.d.ts +3 -1
- package/dist/utils/internal-initiator.d.ts +6 -1
- package/dist/utils/logger.d.ts +0 -2
- package/dist/utils/session.d.ts +1 -1
- package/oh-my-opencode-slim.schema.json +728 -1
- package/package.json +1 -1
- package/src/skills/clonedeps/SKILL.md +32 -29
- package/src/skills/codemap.md +7 -3
- package/src/skills/deepwork/SKILL.md +17 -6
- package/src/skills/oh-my-opencode-slim/SKILL.md +3 -3
- package/src/skills/release-smoke-test/SKILL.md +2 -2
- package/src/skills/verification-planning/SKILL.md +103 -0
- package/src/skills/worktrees/SKILL.md +14 -7
package/dist/cli/providers.d.ts
CHANGED
|
@@ -3,28 +3,28 @@ export declare const GENERATED_PRESETS: readonly ["openai", "opencode-go"];
|
|
|
3
3
|
export declare const MODEL_MAPPINGS: {
|
|
4
4
|
readonly openai: {
|
|
5
5
|
readonly orchestrator: {
|
|
6
|
-
readonly model: "openai/gpt-5.
|
|
6
|
+
readonly model: "openai/gpt-5.6-terra";
|
|
7
7
|
readonly variant: "medium";
|
|
8
8
|
};
|
|
9
9
|
readonly oracle: {
|
|
10
|
-
readonly model: "openai/gpt-5.
|
|
10
|
+
readonly model: "openai/gpt-5.6-sol";
|
|
11
11
|
readonly variant: "high";
|
|
12
12
|
};
|
|
13
13
|
readonly librarian: {
|
|
14
|
-
readonly model: "openai/gpt-5.
|
|
14
|
+
readonly model: "openai/gpt-5.6-luna";
|
|
15
15
|
readonly variant: "low";
|
|
16
16
|
};
|
|
17
17
|
readonly explorer: {
|
|
18
|
-
readonly model: "openai/gpt-5.
|
|
18
|
+
readonly model: "openai/gpt-5.6-luna";
|
|
19
19
|
readonly variant: "low";
|
|
20
20
|
};
|
|
21
21
|
readonly designer: {
|
|
22
|
-
readonly model: "openai/gpt-5.
|
|
22
|
+
readonly model: "openai/gpt-5.6-luna";
|
|
23
23
|
readonly variant: "medium";
|
|
24
24
|
};
|
|
25
25
|
readonly fixer: {
|
|
26
|
-
readonly model: "openai/gpt-5.
|
|
27
|
-
readonly variant: "
|
|
26
|
+
readonly model: "openai/gpt-5.6-luna";
|
|
27
|
+
readonly variant: "medium";
|
|
28
28
|
};
|
|
29
29
|
};
|
|
30
30
|
readonly kimi: {
|
|
@@ -17,6 +17,8 @@ export declare class CompanionManager {
|
|
|
17
17
|
private readonly busyAgentSessions;
|
|
18
18
|
private readonly config?;
|
|
19
19
|
private companionProcess;
|
|
20
|
+
private wasSpawner;
|
|
21
|
+
private spawnedCompanionPid;
|
|
20
22
|
constructor(sessionId: string, cwd: string, config?: CompanionConfig);
|
|
21
23
|
onLoad(): void;
|
|
22
24
|
/**
|
|
@@ -40,6 +42,7 @@ export declare class CompanionManager {
|
|
|
40
42
|
onWaitingInput(): void;
|
|
41
43
|
onInputResolved(): void;
|
|
42
44
|
onExit(): void;
|
|
45
|
+
private removeOwnedPidFileIfNoSessionsRemain;
|
|
43
46
|
/** One entry per running agent instance (two fixers → two cells). */
|
|
44
47
|
private activeAgents;
|
|
45
48
|
private flush;
|
|
@@ -15,7 +15,8 @@ export declare const POLL_INTERVAL_BACKGROUND_MS = 2000;
|
|
|
15
15
|
export declare const MAX_POLL_TIME_MS: number;
|
|
16
16
|
export declare const DEFAULT_MAX_SUBAGENT_DEPTH = 3;
|
|
17
17
|
export declare const PHASE_REMINDER_TEXT = "!IMPORTANT! Scheduler workflow: plan lanes/dependencies \u2192 dispatch background specialists \u2192 track task IDs \u2192 wait for hook-driven completion \u2192 reconcile terminal results \u2192 verify. Do not poll running jobs, consume running-job output, or advance dependent work. !END!";
|
|
18
|
-
export declare
|
|
18
|
+
export declare function formatSystemReminder(text: string): string;
|
|
19
|
+
export declare const PHASE_REMINDER: string;
|
|
19
20
|
export declare const WRITABLE_FILE_OPERATIONS_RULES = "**File Operations Rules**:\n- Prefer dedicated file tools for normal code work: glob/grep/ast_grep_search for discovery, read for file contents, and edit/write/apply_patch for targeted source changes.\n- Use bash for execution and automation: git, package managers, tests, builds, scripts, diagnostics, and shell-native filesystem operations.\n- Shell is acceptable for bulk or mechanical filesystem changes when it is clearer or safer than many individual edits (for example: truncate generated logs, remove build artifacts, batch rename/move files), especially when the user explicitly asks for that shell operation.\n- Before destructive or broad shell operations, verify the target set and quote paths. Prefer a dry-run/listing first when practical.\n- Do not use cat/head/tail/sed/awk only to read code into context; use read/grep unless a shell pipeline is genuinely the better diagnostic.";
|
|
20
21
|
export declare const READONLY_FILE_OPERATIONS_RULES = "**File Operations Rules**:\n- READ-ONLY: inspect and report; do not modify files.\n- Prefer dedicated file tools for codebase inspection: glob/grep/ast_grep_search for discovery and read for file contents.\n- Bash is allowed for non-mutating diagnostics and shell-native inspection when it is the clearest tool, but not for modifying files.\n- Do not use cat/head/tail/sed/awk only to read code into context; use read/grep unless a shell pipeline is genuinely the better diagnostic.";
|
|
21
22
|
export declare const NO_SHELL_READONLY_FILE_OPERATIONS_RULES = "**File Operations Rules**:\n- READ-ONLY: inspect and report; do not modify files.\n- Use glob/grep/ast_grep_search for discovery and read for file contents.\n- Do not use bash or shell commands.";
|
|
@@ -25,3 +26,13 @@ export declare const STABLE_POLLS_THRESHOLD = 3;
|
|
|
25
26
|
/** Agents that are disabled by default. Users must explicitly enable them
|
|
26
27
|
* by removing from disabled_agents and configuring an appropriate model. */
|
|
27
28
|
export declare const DEFAULT_DISABLED_AGENTS: string[];
|
|
29
|
+
export declare const DEFAULT_MAX_SESSIONS_PER_AGENT = 2;
|
|
30
|
+
export declare const DEFAULT_READ_CONTEXT_MIN_LINES = 10;
|
|
31
|
+
export declare const DEFAULT_READ_CONTEXT_MAX_FILES = 8;
|
|
32
|
+
export type ImageRouting = 'auto' | 'direct';
|
|
33
|
+
/**
|
|
34
|
+
* Used when image_routing is omitted, preserving legacy conditional Observer
|
|
35
|
+
* routing. Explicit "auto" is validated separately after config layers merge.
|
|
36
|
+
*/
|
|
37
|
+
export declare const DEFAULT_IMAGE_ROUTING: ImageRouting;
|
|
38
|
+
export declare function resolveImageRouting(imageRouting: ImageRouting | undefined): ImageRouting;
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
+
import { type CouncillorModelEntry } from '../utils/councillor-models';
|
|
3
|
+
export type { CouncillorModelEntry };
|
|
2
4
|
/**
|
|
3
5
|
* Configuration for a single councillor within a preset.
|
|
4
6
|
* Each councillor is an independent LLM that processes the same prompt.
|
|
@@ -6,12 +8,31 @@ import { z } from 'zod';
|
|
|
6
8
|
* Councillors run as agent sessions with read-only codebase access
|
|
7
9
|
* (read, glob, grep, lsp, list). They can examine the codebase but
|
|
8
10
|
* cannot modify files or spawn subagents.
|
|
11
|
+
*
|
|
12
|
+
* `model` accepts a single ID or an ordered fallback chain. The parsed config
|
|
13
|
+
* exposes `models` (the normalized chain) plus `model` (the primary, for
|
|
14
|
+
* backward compatibility).
|
|
9
15
|
*/
|
|
10
|
-
export declare const CouncillorConfigSchema: z.ZodObject<{
|
|
11
|
-
model: z.ZodString
|
|
16
|
+
export declare const CouncillorConfigSchema: z.ZodPipe<z.ZodObject<{
|
|
17
|
+
model: z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
18
|
+
id: z.ZodString;
|
|
19
|
+
variant: z.ZodOptional<z.ZodString>;
|
|
20
|
+
}, z.core.$strip>]>>]>;
|
|
12
21
|
variant: z.ZodOptional<z.ZodString>;
|
|
13
22
|
prompt: z.ZodOptional<z.ZodString>;
|
|
14
|
-
}, z.core.$strip
|
|
23
|
+
}, z.core.$strip>, z.ZodTransform<{
|
|
24
|
+
model: string;
|
|
25
|
+
variant: string | undefined;
|
|
26
|
+
prompt: string | undefined;
|
|
27
|
+
models: CouncillorModelEntry[];
|
|
28
|
+
}, {
|
|
29
|
+
model: string | (string | {
|
|
30
|
+
id: string;
|
|
31
|
+
variant?: string | undefined;
|
|
32
|
+
})[];
|
|
33
|
+
variant?: string | undefined;
|
|
34
|
+
prompt?: string | undefined;
|
|
35
|
+
}>>;
|
|
15
36
|
export type CouncillorConfig = z.infer<typeof CouncillorConfigSchema>;
|
|
16
37
|
/**
|
|
17
38
|
* A named preset grouping several councillors.
|
|
@@ -22,8 +43,9 @@ export type CouncillorConfig = z.infer<typeof CouncillorConfigSchema>;
|
|
|
22
43
|
*/
|
|
23
44
|
export declare const CouncilPresetSchema: z.ZodPipe<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>>, z.ZodTransform<Record<string, {
|
|
24
45
|
model: string;
|
|
25
|
-
variant
|
|
26
|
-
prompt
|
|
46
|
+
variant: string | undefined;
|
|
47
|
+
prompt: string | undefined;
|
|
48
|
+
models: CouncillorModelEntry[];
|
|
27
49
|
}>, Record<string, Record<string, unknown>>>>;
|
|
28
50
|
export type CouncilPreset = z.infer<typeof CouncilPresetSchema>;
|
|
29
51
|
/**
|
|
@@ -44,7 +66,7 @@ export declare const CouncillorExecutionModeSchema: z.ZodDefault<z.ZodEnum<{
|
|
|
44
66
|
* "council": {
|
|
45
67
|
* "presets": {
|
|
46
68
|
* "default": {
|
|
47
|
-
* "alpha": { "model": "openai/gpt-5.
|
|
69
|
+
* "alpha": { "model": "openai/gpt-5.6-luna" },
|
|
48
70
|
* "beta": { "model": "openai/gpt-5.3-codex" },
|
|
49
71
|
* "gamma": { "model": "google/gemini-3-pro" }
|
|
50
72
|
* }
|
|
@@ -58,8 +80,9 @@ export declare const CouncillorExecutionModeSchema: z.ZodDefault<z.ZodEnum<{
|
|
|
58
80
|
export declare const CouncilConfigSchema: z.ZodPipe<z.ZodObject<{
|
|
59
81
|
presets: z.ZodRecord<z.ZodString, z.ZodPipe<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>>, z.ZodTransform<Record<string, {
|
|
60
82
|
model: string;
|
|
61
|
-
variant
|
|
62
|
-
prompt
|
|
83
|
+
variant: string | undefined;
|
|
84
|
+
prompt: string | undefined;
|
|
85
|
+
models: CouncillorModelEntry[];
|
|
63
86
|
}>, Record<string, Record<string, unknown>>>>>;
|
|
64
87
|
timeout: z.ZodDefault<z.ZodNumber>;
|
|
65
88
|
default_preset: z.ZodDefault<z.ZodString>;
|
|
@@ -72,8 +95,9 @@ export declare const CouncilConfigSchema: z.ZodPipe<z.ZodObject<{
|
|
|
72
95
|
}, z.core.$strip>, z.ZodTransform<{
|
|
73
96
|
presets: Record<string, Record<string, {
|
|
74
97
|
model: string;
|
|
75
|
-
variant
|
|
76
|
-
prompt
|
|
98
|
+
variant: string | undefined;
|
|
99
|
+
prompt: string | undefined;
|
|
100
|
+
models: CouncillorModelEntry[];
|
|
77
101
|
}>>;
|
|
78
102
|
timeout: number;
|
|
79
103
|
default_preset: string;
|
|
@@ -84,8 +108,9 @@ export declare const CouncilConfigSchema: z.ZodPipe<z.ZodObject<{
|
|
|
84
108
|
}, {
|
|
85
109
|
presets: Record<string, Record<string, {
|
|
86
110
|
model: string;
|
|
87
|
-
variant
|
|
88
|
-
prompt
|
|
111
|
+
variant: string | undefined;
|
|
112
|
+
prompt: string | undefined;
|
|
113
|
+
models: CouncillorModelEntry[];
|
|
89
114
|
}>>;
|
|
90
115
|
timeout: number;
|
|
91
116
|
default_preset: string;
|