oh-my-opencode 3.3.2 → 3.4.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.
Files changed (63) hide show
  1. package/dist/agents/atlas/default.d.ts +1 -1
  2. package/dist/agents/atlas/gpt.d.ts +1 -1
  3. package/dist/agents/dynamic-agent-prompt-builder.d.ts +2 -2
  4. package/dist/agents/prometheus/high-accuracy-mode.d.ts +1 -1
  5. package/dist/agents/prometheus/index.d.ts +1 -1
  6. package/dist/agents/prometheus/interview-mode.d.ts +1 -1
  7. package/dist/agents/prometheus/plan-generation.d.ts +1 -1
  8. package/dist/agents/utils.d.ts +1 -1
  9. package/dist/cli/index.js +51 -34
  10. package/dist/features/background-agent/manager.d.ts +2 -0
  11. package/dist/features/background-agent/spawner/background-session-creator.d.ts +10 -0
  12. package/dist/features/background-agent/spawner/concurrency-key-from-launch-input.d.ts +2 -0
  13. package/dist/features/background-agent/spawner/parent-directory-resolver.d.ts +6 -0
  14. package/dist/features/background-agent/spawner/tmux-callback-invoker.d.ts +8 -0
  15. package/dist/features/builtin-commands/templates/handoff.d.ts +1 -0
  16. package/dist/features/builtin-commands/types.d.ts +1 -1
  17. package/dist/features/claude-tasks/index.d.ts +1 -0
  18. package/dist/features/claude-tasks/session-storage.d.ts +9 -0
  19. package/dist/features/tmux-subagent/manager-cleanup.d.ts +12 -0
  20. package/dist/features/tmux-subagent/manager.d.ts +2 -4
  21. package/dist/features/tmux-subagent/polling-manager.d.ts +12 -0
  22. package/dist/features/tmux-subagent/session-cleaner.d.ts +23 -0
  23. package/dist/features/tmux-subagent/session-spawner.d.ts +34 -0
  24. package/dist/hooks/interactive-bash-session/hook.d.ts +23 -0
  25. package/dist/hooks/interactive-bash-session/index.d.ts +4 -23
  26. package/dist/hooks/interactive-bash-session/parser.d.ts +26 -0
  27. package/dist/hooks/interactive-bash-session/state-manager.d.ts +4 -0
  28. package/dist/hooks/keyword-detector/ultrawork/default.d.ts +1 -1
  29. package/dist/hooks/keyword-detector/ultrawork/gpt5.2.d.ts +1 -1
  30. package/dist/hooks/keyword-detector/ultrawork/planner.d.ts +1 -1
  31. package/dist/hooks/session-recovery/index.d.ts +1 -1
  32. package/dist/index.js +1200 -690
  33. package/dist/plugin-handlers/plan-model-inheritance.d.ts +1 -0
  34. package/dist/shared/git-worktree/collect-git-diff-stats.d.ts +2 -0
  35. package/dist/shared/git-worktree/format-file-changes.d.ts +2 -0
  36. package/dist/shared/git-worktree/index.d.ts +5 -0
  37. package/dist/shared/git-worktree/parse-diff-numstat.d.ts +2 -0
  38. package/dist/shared/git-worktree/parse-status-porcelain.d.ts +2 -0
  39. package/dist/shared/git-worktree/types.d.ts +7 -0
  40. package/dist/shared/index.d.ts +1 -0
  41. package/dist/shared/model-resolution-pipeline.d.ts +1 -0
  42. package/dist/tools/background-task/index.d.ts +1 -2
  43. package/dist/tools/background-task/modules/background-cancel.d.ts +4 -0
  44. package/dist/tools/background-task/modules/background-output.d.ts +3 -0
  45. package/dist/tools/background-task/modules/background-task.d.ts +3 -0
  46. package/dist/tools/background-task/modules/formatters.d.ts +11 -0
  47. package/dist/tools/background-task/modules/message-processing.d.ts +59 -0
  48. package/dist/tools/background-task/modules/utils.d.ts +15 -0
  49. package/dist/tools/background-task/tools.d.ts +7 -47
  50. package/dist/tools/background-task/types.d.ts +70 -0
  51. package/dist/tools/call-omo-agent/background-executor.d.ts +12 -0
  52. package/dist/tools/call-omo-agent/completion-poller.d.ts +11 -0
  53. package/dist/tools/call-omo-agent/message-dir.d.ts +1 -0
  54. package/dist/tools/call-omo-agent/message-processor.d.ts +2 -0
  55. package/dist/tools/call-omo-agent/session-creator.d.ts +15 -0
  56. package/dist/tools/call-omo-agent/sync-executor.d.ts +12 -0
  57. package/dist/tools/call-omo-agent/types.d.ts +10 -0
  58. package/dist/tools/delegate-task/constants.d.ts +11 -4
  59. package/dist/tools/delegate-task/executor.d.ts +5 -1
  60. package/dist/tools/delegate-task/skill-resolver.d.ts +9 -0
  61. package/dist/tools/delegate-task/types.d.ts +15 -1
  62. package/dist/tools/lsp/client.d.ts +1 -0
  63. package/package.json +8 -8
@@ -0,0 +1 @@
1
+ export declare function buildPlanDemoteConfig(prometheusConfig: Record<string, unknown> | undefined, planOverride: Record<string, unknown> | undefined): Record<string, unknown>;
@@ -0,0 +1,2 @@
1
+ import type { GitFileStat } from "./types";
2
+ export declare function collectGitDiffStats(directory: string): GitFileStat[];
@@ -0,0 +1,2 @@
1
+ import type { GitFileStat } from "./types";
2
+ export declare function formatFileChanges(stats: GitFileStat[], notepadPath?: string): string;
@@ -0,0 +1,5 @@
1
+ export type { GitFileStatus, GitFileStat } from "./types";
2
+ export { parseGitStatusPorcelain } from "./parse-status-porcelain";
3
+ export { parseGitDiffNumstat } from "./parse-diff-numstat";
4
+ export { collectGitDiffStats } from "./collect-git-diff-stats";
5
+ export { formatFileChanges } from "./format-file-changes";
@@ -0,0 +1,2 @@
1
+ import type { GitFileStat, GitFileStatus } from "./types";
2
+ export declare function parseGitDiffNumstat(output: string, statusMap: Map<string, GitFileStatus>): GitFileStat[];
@@ -0,0 +1,2 @@
1
+ import type { GitFileStatus } from "./types";
2
+ export declare function parseGitStatusPorcelain(output: string): Map<string, GitFileStatus>;
@@ -0,0 +1,7 @@
1
+ export type GitFileStatus = "modified" | "added" | "deleted";
2
+ export interface GitFileStat {
3
+ path: string;
4
+ added: number;
5
+ removed: number;
6
+ status: GitFileStatus;
7
+ }
@@ -36,5 +36,6 @@ export * from "./tmux";
36
36
  export * from "./model-suggestion-retry";
37
37
  export * from "./opencode-server-auth";
38
38
  export * from "./port-utils";
39
+ export * from "./git-worktree";
39
40
  export * from "./safe-create-hook";
40
41
  export * from "./truncate-description";
@@ -7,6 +7,7 @@ export type ModelResolutionRequest = {
7
7
  };
8
8
  constraints: {
9
9
  availableModels: Set<string>;
10
+ connectedProviders?: string[] | null;
10
11
  };
11
12
  policy?: {
12
13
  fallbackChain?: FallbackEntry[];
@@ -1,4 +1,3 @@
1
- export { createBackgroundOutput, createBackgroundCancel, } from "./tools";
1
+ export { createBackgroundTask, createBackgroundOutput, createBackgroundCancel, } from "./tools";
2
2
  export type * from "./types";
3
3
  export * from "./constants";
4
- export type { BackgroundOutputClient, BackgroundOutputManager, BackgroundCancelClient } from "./tools";
@@ -0,0 +1,4 @@
1
+ import { type ToolDefinition } from "@opencode-ai/plugin";
2
+ import type { BackgroundCancelClient } from "../types";
3
+ import type { BackgroundManager } from "../../../features/background-agent";
4
+ export declare function createBackgroundCancel(manager: BackgroundManager, client: BackgroundCancelClient): ToolDefinition;
@@ -0,0 +1,3 @@
1
+ import { type ToolDefinition } from "@opencode-ai/plugin";
2
+ import type { BackgroundOutputManager, BackgroundOutputClient } from "../types";
3
+ export declare function createBackgroundOutput(manager: BackgroundOutputManager, client: BackgroundOutputClient): ToolDefinition;
@@ -0,0 +1,3 @@
1
+ import { type ToolDefinition } from "@opencode-ai/plugin";
2
+ import type { BackgroundManager } from "../../../features/background-agent";
3
+ export declare function createBackgroundTask(manager: BackgroundManager): ToolDefinition;
@@ -0,0 +1,11 @@
1
+ import type { BackgroundTask } from "../../../features/background-agent";
2
+ import type { BackgroundOutputClient } from "../types";
3
+ export declare function formatTaskStatus(task: BackgroundTask): string;
4
+ export declare function formatTaskResult(task: BackgroundTask, client: BackgroundOutputClient): Promise<string>;
5
+ export declare function formatFullSession(task: BackgroundTask, client: BackgroundOutputClient, options: {
6
+ includeThinking: boolean;
7
+ messageLimit?: number;
8
+ sinceMessageId?: string;
9
+ includeToolResults: boolean;
10
+ thinkingMaxChars?: number;
11
+ }): Promise<string>;
@@ -0,0 +1,59 @@
1
+ export type BackgroundOutputMessage = {
2
+ info?: {
3
+ role?: string;
4
+ time?: string | {
5
+ created?: number;
6
+ };
7
+ agent?: string;
8
+ };
9
+ parts?: Array<{
10
+ type?: string;
11
+ text?: string;
12
+ content?: string | Array<{
13
+ type: string;
14
+ text?: string;
15
+ }>;
16
+ name?: string;
17
+ }>;
18
+ };
19
+ export type BackgroundOutputMessagesResult = {
20
+ data?: BackgroundOutputMessage[];
21
+ error?: unknown;
22
+ } | BackgroundOutputMessage[];
23
+ export type FullSessionMessagePart = {
24
+ type?: string;
25
+ text?: string;
26
+ thinking?: string;
27
+ content?: string | Array<{
28
+ type?: string;
29
+ text?: string;
30
+ }>;
31
+ output?: string;
32
+ };
33
+ export type FullSessionMessage = {
34
+ id?: string;
35
+ info?: {
36
+ role?: string;
37
+ time?: string;
38
+ agent?: string;
39
+ };
40
+ parts?: FullSessionMessagePart[];
41
+ };
42
+ export declare function getErrorMessage(value: BackgroundOutputMessagesResult): string | null;
43
+ export declare function isSessionMessage(value: unknown): value is {
44
+ info?: {
45
+ role?: string;
46
+ time?: string;
47
+ };
48
+ parts?: Array<{
49
+ type?: string;
50
+ text?: string;
51
+ content?: string | Array<{
52
+ type: string;
53
+ text?: string;
54
+ }>;
55
+ name?: string;
56
+ }>;
57
+ };
58
+ export declare function extractMessages(value: BackgroundOutputMessagesResult): BackgroundOutputMessage[];
59
+ export declare function extractToolResultText(part: FullSessionMessagePart): string[];
@@ -0,0 +1,15 @@
1
+ export declare function getMessageDir(sessionID: string): string | null;
2
+ export declare function formatDuration(start: Date, end?: Date): string;
3
+ export declare function truncateText(text: string, maxLength: number): string;
4
+ export declare function delay(ms: number): Promise<void>;
5
+ export declare function formatMessageTime(value: unknown): string;
6
+ export type ToolContextWithMetadata = {
7
+ sessionID: string;
8
+ messageID: string;
9
+ agent: string;
10
+ abort: AbortSignal;
11
+ metadata?: (input: {
12
+ title?: string;
13
+ metadata?: Record<string, unknown>;
14
+ }) => void;
15
+ };
@@ -1,47 +1,7 @@
1
- import { type ToolDefinition } from "@opencode-ai/plugin";
2
- import type { BackgroundManager } from "../../features/background-agent";
3
- type BackgroundOutputMessage = {
4
- info?: {
5
- role?: string;
6
- time?: string | {
7
- created?: number;
8
- };
9
- agent?: string;
10
- };
11
- parts?: Array<{
12
- type?: string;
13
- text?: string;
14
- content?: string | Array<{
15
- type: string;
16
- text?: string;
17
- }>;
18
- name?: string;
19
- }>;
20
- };
21
- type BackgroundOutputMessagesResult = {
22
- data?: BackgroundOutputMessage[];
23
- error?: unknown;
24
- } | BackgroundOutputMessage[];
25
- export type BackgroundOutputClient = {
26
- session: {
27
- messages: (args: {
28
- path: {
29
- id: string;
30
- };
31
- }) => Promise<BackgroundOutputMessagesResult>;
32
- };
33
- };
34
- export type BackgroundCancelClient = {
35
- session: {
36
- abort: (args: {
37
- path: {
38
- id: string;
39
- };
40
- }) => Promise<unknown>;
41
- };
42
- };
43
- export type BackgroundOutputManager = Pick<BackgroundManager, "getTask">;
44
- export declare function createBackgroundTask(manager: BackgroundManager): ToolDefinition;
45
- export declare function createBackgroundOutput(manager: BackgroundOutputManager, client: BackgroundOutputClient): ToolDefinition;
46
- export declare function createBackgroundCancel(manager: BackgroundManager, client: BackgroundCancelClient): ToolDefinition;
47
- export {};
1
+ export { createBackgroundTask } from "./modules/background-task";
2
+ export { createBackgroundOutput } from "./modules/background-output";
3
+ export { createBackgroundCancel } from "./modules/background-cancel";
4
+ export type { BackgroundOutputMessage, BackgroundOutputMessagesResult, BackgroundOutputClient, BackgroundCancelClient, BackgroundOutputManager, FullSessionMessagePart, FullSessionMessage, ToolContextWithMetadata, } from "./types";
5
+ export { formatDuration, truncateText, delay, formatMessageTime } from "./modules/utils";
6
+ export { getErrorMessage, isSessionMessage, extractMessages, extractToolResultText } from "./modules/message-processing";
7
+ export { formatTaskStatus, formatTaskResult, formatFullSession } from "./modules/formatters";
@@ -18,3 +18,73 @@ export interface BackgroundCancelArgs {
18
18
  taskId?: string;
19
19
  all?: boolean;
20
20
  }
21
+ export type BackgroundOutputMessage = {
22
+ info?: {
23
+ role?: string;
24
+ time?: string | {
25
+ created?: number;
26
+ };
27
+ agent?: string;
28
+ };
29
+ parts?: Array<{
30
+ type?: string;
31
+ text?: string;
32
+ content?: string | Array<{
33
+ type: string;
34
+ text?: string;
35
+ }>;
36
+ name?: string;
37
+ }>;
38
+ };
39
+ export type BackgroundOutputMessagesResult = {
40
+ data?: BackgroundOutputMessage[];
41
+ error?: unknown;
42
+ } | BackgroundOutputMessage[];
43
+ export type BackgroundOutputClient = {
44
+ session: {
45
+ messages: (args: {
46
+ path: {
47
+ id: string;
48
+ };
49
+ }) => Promise<BackgroundOutputMessagesResult>;
50
+ };
51
+ };
52
+ export type BackgroundCancelClient = {
53
+ session: {
54
+ abort: (args: {
55
+ path: {
56
+ id: string;
57
+ };
58
+ }) => Promise<unknown>;
59
+ };
60
+ };
61
+ export type BackgroundOutputManager = Pick<import("../../features/background-agent").BackgroundManager, "getTask">;
62
+ export type FullSessionMessagePart = {
63
+ type?: string;
64
+ text?: string;
65
+ thinking?: string;
66
+ content?: string | Array<{
67
+ type?: string;
68
+ text?: string;
69
+ }>;
70
+ output?: string;
71
+ };
72
+ export type FullSessionMessage = {
73
+ id?: string;
74
+ info?: {
75
+ role?: string;
76
+ time?: string;
77
+ agent?: string;
78
+ };
79
+ parts?: FullSessionMessagePart[];
80
+ };
81
+ export type ToolContextWithMetadata = {
82
+ sessionID: string;
83
+ messageID: string;
84
+ agent: string;
85
+ abort: AbortSignal;
86
+ metadata?: (input: {
87
+ title?: string;
88
+ metadata?: Record<string, unknown>;
89
+ }) => void;
90
+ };
@@ -0,0 +1,12 @@
1
+ import type { CallOmoAgentArgs } from "./types";
2
+ import type { BackgroundManager } from "../../features/background-agent";
3
+ export declare function executeBackground(args: CallOmoAgentArgs, toolContext: {
4
+ sessionID: string;
5
+ messageID: string;
6
+ agent: string;
7
+ abort: AbortSignal;
8
+ metadata?: (input: {
9
+ title?: string;
10
+ metadata?: Record<string, unknown>;
11
+ }) => void;
12
+ }, manager: BackgroundManager): Promise<string>;
@@ -0,0 +1,11 @@
1
+ import type { PluginInput } from "@opencode-ai/plugin";
2
+ export declare function waitForCompletion(sessionID: string, toolContext: {
3
+ sessionID: string;
4
+ messageID: string;
5
+ agent: string;
6
+ abort: AbortSignal;
7
+ metadata?: (input: {
8
+ title?: string;
9
+ metadata?: Record<string, unknown>;
10
+ }) => void;
11
+ }, ctx: PluginInput): Promise<void>;
@@ -0,0 +1 @@
1
+ export declare function getMessageDir(sessionID: string): string | null;
@@ -0,0 +1,2 @@
1
+ import type { PluginInput } from "@opencode-ai/plugin";
2
+ export declare function processMessages(sessionID: string, ctx: PluginInput): Promise<string>;
@@ -0,0 +1,15 @@
1
+ import type { CallOmoAgentArgs } from "./types";
2
+ import type { PluginInput } from "@opencode-ai/plugin";
3
+ export declare function createOrGetSession(args: CallOmoAgentArgs, toolContext: {
4
+ sessionID: string;
5
+ messageID: string;
6
+ agent: string;
7
+ abort: AbortSignal;
8
+ metadata?: (input: {
9
+ title?: string;
10
+ metadata?: Record<string, unknown>;
11
+ }) => void;
12
+ }, ctx: PluginInput): Promise<{
13
+ sessionID: string;
14
+ isNew: boolean;
15
+ }>;
@@ -0,0 +1,12 @@
1
+ import type { CallOmoAgentArgs } from "./types";
2
+ import type { PluginInput } from "@opencode-ai/plugin";
3
+ export declare function executeSync(args: CallOmoAgentArgs, toolContext: {
4
+ sessionID: string;
5
+ messageID: string;
6
+ agent: string;
7
+ abort: AbortSignal;
8
+ metadata?: (input: {
9
+ title?: string;
10
+ metadata?: Record<string, unknown>;
11
+ }) => void;
12
+ }, ctx: PluginInput): Promise<string>;
@@ -22,3 +22,13 @@ export interface CallOmoAgentSyncResult {
22
22
  };
23
23
  output: string;
24
24
  }
25
+ export type ToolContextWithMetadata = {
26
+ sessionID: string;
27
+ messageID: string;
28
+ agent: string;
29
+ abort: AbortSignal;
30
+ metadata?: (input: {
31
+ title?: string;
32
+ metadata?: Record<string, unknown>;
33
+ }) => void;
34
+ };
@@ -22,13 +22,20 @@ export declare const PLAN_AGENT_SYSTEM_PREPEND_STATIC_AFTER_SKILLS = "### REQUIR
22
22
  export declare function buildPlanAgentSkillsSection(categories?: AvailableCategory[], skills?: AvailableSkill[]): string;
23
23
  export declare function buildPlanAgentSystemPrepend(categories?: AvailableCategory[], skills?: AvailableSkill[]): string;
24
24
  /**
25
- * List of agent names that should be treated as plan agents.
25
+ * List of agent names that should be treated as plan agents (receive plan system prompt).
26
26
  * Case-insensitive matching is used.
27
27
  */
28
28
  export declare const PLAN_AGENT_NAMES: string[];
29
29
  /**
30
- * Check if the given agent name is a plan agent.
31
- * @param agentName - The agent name to check
32
- * @returns true if the agent is a plan agent
30
+ * Check if the given agent name is a plan agent (receives plan system prompt).
33
31
  */
34
32
  export declare function isPlanAgent(agentName: string | undefined): boolean;
33
+ /**
34
+ * Plan family: plan + prometheus. Shares mutual delegation blocking and task tool permission.
35
+ * Does NOT share system prompt (only isPlanAgent controls that).
36
+ */
37
+ export declare const PLAN_FAMILY_NAMES: string[];
38
+ /**
39
+ * Check if the given agent belongs to the plan family (blocking + task permission).
40
+ */
41
+ export declare function isPlanFamily(agentName: string | undefined): boolean;
@@ -1,15 +1,18 @@
1
1
  import type { BackgroundManager } from "../../features/background-agent";
2
- import type { CategoriesConfig, GitMasterConfig, BrowserAutomationProvider } from "../../config/schema";
2
+ import type { CategoriesConfig, GitMasterConfig, BrowserAutomationProvider, AgentOverrides } from "../../config/schema";
3
3
  import type { ModelFallbackInfo } from "../../features/task-toast-manager/types";
4
4
  import type { DelegateTaskArgs, ToolContextWithMetadata, OpencodeClient } from "./types";
5
5
  export interface ExecutorContext {
6
6
  manager: BackgroundManager;
7
7
  client: OpencodeClient;
8
8
  directory: string;
9
+ connectedProvidersOverride?: string[] | null;
10
+ availableModelsOverride?: Set<string>;
9
11
  userCategories?: CategoriesConfig;
10
12
  gitMasterConfig?: GitMasterConfig;
11
13
  sisyphusJuniorModel?: string;
12
14
  browserProvider?: BrowserAutomationProvider;
15
+ agentOverrides?: AgentOverrides;
13
16
  onSyncSessionCreated?: (event: {
14
17
  sessionID: string;
15
18
  parentID: string;
@@ -71,6 +74,7 @@ export declare function resolveSubagentExecution(args: DelegateTaskArgs, executo
71
74
  categoryModel: {
72
75
  providerID: string;
73
76
  modelID: string;
77
+ variant?: string;
74
78
  } | undefined;
75
79
  error?: string;
76
80
  }>;
@@ -0,0 +1,9 @@
1
+ import type { GitMasterConfig, BrowserAutomationProvider } from "../../config/schema";
2
+ export declare function resolveSkillContent(skills: string[], options: {
3
+ gitMasterConfig?: GitMasterConfig;
4
+ browserProvider?: BrowserAutomationProvider;
5
+ disabledSkills?: Set<string>;
6
+ }): Promise<{
7
+ content: string | undefined;
8
+ error: string | null;
9
+ }>;
@@ -1,6 +1,6 @@
1
1
  import type { PluginInput } from "@opencode-ai/plugin";
2
2
  import type { BackgroundManager } from "../../features/background-agent";
3
- import type { CategoriesConfig, GitMasterConfig, BrowserAutomationProvider } from "../../config/schema";
3
+ import type { CategoriesConfig, GitMasterConfig, BrowserAutomationProvider, AgentOverrides } from "../../config/schema";
4
4
  import type { AvailableCategory, AvailableSkill } from "../../agents/dynamic-agent-prompt-builder";
5
5
  export type OpencodeClient = PluginInput["client"];
6
6
  export interface DelegateTaskArgs {
@@ -31,6 +31,10 @@ export interface ToolContextWithMetadata {
31
31
  * but present at runtime via spread in fromPlugin()). Used for metadata store keying.
32
32
  */
33
33
  callID?: string;
34
+ /** @deprecated OpenCode internal naming may vary across versions */
35
+ callId?: string;
36
+ /** @deprecated OpenCode internal naming may vary across versions */
37
+ call_id?: string;
34
38
  }
35
39
  export interface SyncSessionCreatedEvent {
36
40
  sessionID: string;
@@ -41,6 +45,15 @@ export interface DelegateTaskToolOptions {
41
45
  manager: BackgroundManager;
42
46
  client: OpencodeClient;
43
47
  directory: string;
48
+ /**
49
+ * Test hook: bypass global cache reads (Bun runs tests in parallel).
50
+ * If provided, resolveCategoryExecution/resolveSubagentExecution uses this instead of reading from disk cache.
51
+ */
52
+ connectedProvidersOverride?: string[] | null;
53
+ /**
54
+ * Test hook: bypass fetchAvailableModels() by providing an explicit available model set.
55
+ */
56
+ availableModelsOverride?: Set<string>;
44
57
  userCategories?: CategoriesConfig;
45
58
  gitMasterConfig?: GitMasterConfig;
46
59
  sisyphusJuniorModel?: string;
@@ -48,6 +61,7 @@ export interface DelegateTaskToolOptions {
48
61
  disabledSkills?: Set<string>;
49
62
  availableCategories?: AvailableCategory[];
50
63
  availableSkills?: AvailableSkill[];
64
+ agentOverrides?: AgentOverrides;
51
65
  onSyncSessionCreated?: (event: SyncSessionCreatedEvent) => Promise<void>;
52
66
  }
53
67
  export interface BuildSystemContentInput {
@@ -8,6 +8,7 @@ declare class LSPServerManager {
8
8
  private clients;
9
9
  private cleanupInterval;
10
10
  private readonly IDLE_TIMEOUT;
11
+ private readonly INIT_TIMEOUT;
11
12
  private constructor();
12
13
  private registerProcessCleanup;
13
14
  static getInstance(): LSPServerManager;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "oh-my-opencode",
3
- "version": "3.3.2",
3
+ "version": "3.4.0",
4
4
  "description": "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -74,13 +74,13 @@
74
74
  "typescript": "^5.7.3"
75
75
  },
76
76
  "optionalDependencies": {
77
- "oh-my-opencode-darwin-arm64": "3.3.2",
78
- "oh-my-opencode-darwin-x64": "3.3.2",
79
- "oh-my-opencode-linux-arm64": "3.3.2",
80
- "oh-my-opencode-linux-arm64-musl": "3.3.2",
81
- "oh-my-opencode-linux-x64": "3.3.2",
82
- "oh-my-opencode-linux-x64-musl": "3.3.2",
83
- "oh-my-opencode-windows-x64": "3.3.2"
77
+ "oh-my-opencode-darwin-arm64": "3.4.0",
78
+ "oh-my-opencode-darwin-x64": "3.4.0",
79
+ "oh-my-opencode-linux-arm64": "3.4.0",
80
+ "oh-my-opencode-linux-arm64-musl": "3.4.0",
81
+ "oh-my-opencode-linux-x64": "3.4.0",
82
+ "oh-my-opencode-linux-x64-musl": "3.4.0",
83
+ "oh-my-opencode-windows-x64": "3.4.0"
84
84
  },
85
85
  "trustedDependencies": [
86
86
  "@ast-grep/cli",