oh-my-opencode 3.5.3 → 3.5.4

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 (75) hide show
  1. package/README.md +3 -3
  2. package/dist/agents/builtin-agents/agent-overrides.d.ts +2 -2
  3. package/dist/agents/builtin-agents/atlas-agent.d.ts +1 -0
  4. package/dist/agents/builtin-agents/resolve-file-uri.d.ts +1 -0
  5. package/dist/cli/doctor/checks/config.d.ts +2 -8
  6. package/dist/cli/doctor/checks/dependencies.d.ts +1 -5
  7. package/dist/cli/doctor/checks/index.d.ts +4 -16
  8. package/dist/cli/doctor/checks/model-resolution.d.ts +4 -4
  9. package/dist/cli/doctor/checks/{opencode.d.ts → system-binary.d.ts} +6 -12
  10. package/dist/cli/doctor/checks/system-loaded-version.d.ts +9 -0
  11. package/dist/cli/doctor/checks/system-plugin.d.ts +15 -0
  12. package/dist/cli/doctor/checks/system.d.ts +3 -0
  13. package/dist/cli/doctor/checks/{gh.d.ts → tools-gh.d.ts} +0 -3
  14. package/dist/cli/doctor/checks/tools-lsp.d.ts +6 -0
  15. package/dist/cli/doctor/checks/tools-mcp.d.ts +3 -0
  16. package/dist/cli/doctor/checks/tools.d.ts +3 -0
  17. package/dist/cli/doctor/constants.d.ts +4 -17
  18. package/dist/cli/doctor/format-default.d.ts +2 -0
  19. package/dist/cli/doctor/format-shared.d.ts +6 -0
  20. package/dist/cli/doctor/format-status.d.ts +2 -0
  21. package/dist/cli/doctor/format-verbose.d.ts +2 -0
  22. package/dist/cli/doctor/formatter.d.ts +2 -11
  23. package/dist/cli/doctor/index.d.ts +1 -1
  24. package/dist/cli/doctor/runner.d.ts +1 -3
  25. package/dist/cli/doctor/types.d.ts +39 -6
  26. package/dist/cli/index.js +939 -1135
  27. package/dist/cli/run/runner.d.ts +1 -0
  28. package/dist/config/schema/background-task.d.ts +1 -0
  29. package/dist/config/schema/hooks.d.ts +0 -1
  30. package/dist/config/schema/oh-my-opencode-config.d.ts +11 -11
  31. package/dist/config/schema/skills.d.ts +10 -10
  32. package/dist/create-hooks.d.ts +0 -1
  33. package/dist/features/background-agent/constants.d.ts +1 -0
  34. package/dist/features/background-agent/index.d.ts +1 -0
  35. package/dist/features/background-agent/manager.d.ts +2 -0
  36. package/dist/features/background-agent/poll-running-tasks.d.ts +3 -1
  37. package/dist/features/background-agent/task-history.d.ts +18 -0
  38. package/dist/features/background-agent/task-poller.d.ts +4 -0
  39. package/dist/features/background-agent/types.d.ts +4 -0
  40. package/dist/features/claude-code-agent-loader/loader.d.ts +1 -1
  41. package/dist/features/claude-code-command-loader/loader.d.ts +3 -3
  42. package/dist/features/opencode-skill-loader/config-source-discovery.d.ts +7 -0
  43. package/dist/features/opencode-skill-loader/index.d.ts +1 -0
  44. package/dist/features/opencode-skill-loader/loader.d.ts +8 -5
  45. package/dist/features/opencode-skill-loader/merger.d.ts +1 -1
  46. package/dist/features/opencode-skill-loader/skill-resolution-options.d.ts +2 -0
  47. package/dist/features/tmux-subagent/grid-planning.d.ts +1 -1
  48. package/dist/features/tmux-subagent/pane-split-availability.d.ts +3 -3
  49. package/dist/features/tmux-subagent/spawn-action-decider.d.ts +1 -1
  50. package/dist/hooks/claude-code-hooks/transcript.d.ts +8 -13
  51. package/dist/hooks/compaction-context-injector/hook.d.ts +2 -1
  52. package/dist/hooks/index.d.ts +0 -1
  53. package/dist/hooks/keyword-detector/ultrawork/source-detector.d.ts +2 -5
  54. package/dist/hooks/think-mode/switcher.d.ts +1 -2
  55. package/dist/hooks/todo-continuation-enforcer/constants.d.ts +1 -0
  56. package/dist/hooks/todo-continuation-enforcer/session-state.d.ts +1 -0
  57. package/dist/hooks/todo-continuation-enforcer/types.d.ts +2 -0
  58. package/dist/index.js +1835 -1390
  59. package/dist/plugin/hooks/create-core-hooks.d.ts +0 -1
  60. package/dist/plugin/hooks/create-session-hooks.d.ts +1 -2
  61. package/dist/plugin/session-agent-resolver.d.ts +19 -0
  62. package/dist/plugin-config.d.ts +1 -0
  63. package/dist/plugin-handlers/command-config-handler.d.ts +3 -0
  64. package/dist/shared/session-tools-store.d.ts +3 -0
  65. package/dist/tools/call-omo-agent/sync-executor.d.ts +10 -1
  66. package/dist/tools/slashcommand/command-discovery.d.ts +1 -1
  67. package/package.json +8 -8
  68. package/dist/cli/doctor/checks/auth.d.ts +0 -7
  69. package/dist/cli/doctor/checks/lsp.d.ts +0 -8
  70. package/dist/cli/doctor/checks/mcp-oauth.d.ts +0 -15
  71. package/dist/cli/doctor/checks/mcp.d.ts +0 -6
  72. package/dist/cli/doctor/checks/plugin.d.ts +0 -4
  73. package/dist/cli/doctor/checks/version.d.ts +0 -4
  74. package/dist/hooks/subagent-question-blocker/hook.d.ts +0 -2
  75. package/dist/hooks/subagent-question-blocker/index.d.ts +0 -1
@@ -35,7 +35,6 @@ export declare function createCoreHooks(args: {
35
35
  prometheusMdOnly: ReturnType<typeof import("../../hooks").createPrometheusMdOnlyHook> | null;
36
36
  sisyphusJuniorNotepad: ReturnType<typeof import("../../hooks").createSisyphusJuniorNotepadHook> | null;
37
37
  questionLabelTruncator: ReturnType<typeof import("../../hooks").createQuestionLabelTruncatorHook>;
38
- subagentQuestionBlocker: ReturnType<typeof import("../../hooks").createSubagentQuestionBlockerHook>;
39
38
  taskResumeInfo: ReturnType<typeof import("../../hooks").createTaskResumeInfoHook>;
40
39
  anthropicEffort: ReturnType<typeof import("../../hooks/anthropic-effort").createAnthropicEffortHook> | null;
41
40
  };
@@ -1,6 +1,6 @@
1
1
  import type { OhMyOpenCodeConfig, HookName } from "../../config";
2
2
  import type { PluginContext } from "../types";
3
- import { createContextWindowMonitorHook, createSessionRecoveryHook, createSessionNotification, createThinkModeHook, createAnthropicContextWindowLimitRecoveryHook, createAutoUpdateCheckerHook, createAgentUsageReminderHook, createNonInteractiveEnvHook, createInteractiveBashSessionHook, createRalphLoopHook, createEditErrorRecoveryHook, createDelegateTaskRetryHook, createTaskResumeInfoHook, createStartWorkHook, createPrometheusMdOnlyHook, createSisyphusJuniorNotepadHook, createQuestionLabelTruncatorHook, createSubagentQuestionBlockerHook, createPreemptiveCompactionHook } from "../../hooks";
3
+ import { createContextWindowMonitorHook, createSessionRecoveryHook, createSessionNotification, createThinkModeHook, createAnthropicContextWindowLimitRecoveryHook, createAutoUpdateCheckerHook, createAgentUsageReminderHook, createNonInteractiveEnvHook, createInteractiveBashSessionHook, createRalphLoopHook, createEditErrorRecoveryHook, createDelegateTaskRetryHook, createTaskResumeInfoHook, createStartWorkHook, createPrometheusMdOnlyHook, createSisyphusJuniorNotepadHook, createQuestionLabelTruncatorHook, createPreemptiveCompactionHook } from "../../hooks";
4
4
  import { createAnthropicEffortHook } from "../../hooks/anthropic-effort";
5
5
  export type SessionHooks = {
6
6
  contextWindowMonitor: ReturnType<typeof createContextWindowMonitorHook> | null;
@@ -20,7 +20,6 @@ export type SessionHooks = {
20
20
  prometheusMdOnly: ReturnType<typeof createPrometheusMdOnlyHook> | null;
21
21
  sisyphusJuniorNotepad: ReturnType<typeof createSisyphusJuniorNotepadHook> | null;
22
22
  questionLabelTruncator: ReturnType<typeof createQuestionLabelTruncatorHook>;
23
- subagentQuestionBlocker: ReturnType<typeof createSubagentQuestionBlockerHook>;
24
23
  taskResumeInfo: ReturnType<typeof createTaskResumeInfoHook>;
25
24
  anthropicEffort: ReturnType<typeof createAnthropicEffortHook> | null;
26
25
  };
@@ -0,0 +1,19 @@
1
+ interface SessionMessage {
2
+ info?: {
3
+ agent?: string;
4
+ role?: string;
5
+ };
6
+ }
7
+ type SessionClient = {
8
+ session: {
9
+ messages: (opts: {
10
+ path: {
11
+ id: string;
12
+ };
13
+ }) => Promise<{
14
+ data?: SessionMessage[];
15
+ }>;
16
+ };
17
+ };
18
+ export declare function resolveSessionAgent(client: SessionClient, sessionId: string): Promise<string | undefined>;
19
+ export {};
@@ -1,4 +1,5 @@
1
1
  import { type OhMyOpenCodeConfig } from "./config";
2
+ export declare function parseConfigPartially(rawConfig: Record<string, unknown>): OhMyOpenCodeConfig | null;
2
3
  export declare function loadConfigFromPath(configPath: string, ctx: unknown): OhMyOpenCodeConfig | null;
3
4
  export declare function mergeConfigs(base: OhMyOpenCodeConfig, override: OhMyOpenCodeConfig): OhMyOpenCodeConfig;
4
5
  export declare function loadPluginConfig(directory: string, ctx: unknown): OhMyOpenCodeConfig;
@@ -3,5 +3,8 @@ import type { PluginComponents } from "./plugin-components-loader";
3
3
  export declare function applyCommandConfig(params: {
4
4
  config: Record<string, unknown>;
5
5
  pluginConfig: OhMyOpenCodeConfig;
6
+ ctx: {
7
+ directory: string;
8
+ };
6
9
  pluginComponents: PluginComponents;
7
10
  }): Promise<void>;
@@ -0,0 +1,3 @@
1
+ export declare function setSessionTools(sessionID: string, tools: Record<string, boolean>): void;
2
+ export declare function getSessionTools(sessionID: string): Record<string, boolean> | undefined;
3
+ export declare function clearSessionTools(): void;
@@ -1,5 +1,13 @@
1
1
  import type { CallOmoAgentArgs } from "./types";
2
2
  import type { PluginInput } from "@opencode-ai/plugin";
3
+ import { createOrGetSession } from "./session-creator";
4
+ import { waitForCompletion } from "./completion-poller";
5
+ import { processMessages } from "./message-processor";
6
+ type ExecuteSyncDeps = {
7
+ createOrGetSession: typeof createOrGetSession;
8
+ waitForCompletion: typeof waitForCompletion;
9
+ processMessages: typeof processMessages;
10
+ };
3
11
  export declare function executeSync(args: CallOmoAgentArgs, toolContext: {
4
12
  sessionID: string;
5
13
  messageID: string;
@@ -9,4 +17,5 @@ export declare function executeSync(args: CallOmoAgentArgs, toolContext: {
9
17
  title?: string;
10
18
  metadata?: Record<string, unknown>;
11
19
  }) => void;
12
- }, ctx: PluginInput): Promise<string>;
20
+ }, ctx: PluginInput, deps?: ExecuteSyncDeps): Promise<string>;
21
+ export {};
@@ -1,2 +1,2 @@
1
1
  import type { CommandInfo } from "./types";
2
- export declare function discoverCommandsSync(): CommandInfo[];
2
+ export declare function discoverCommandsSync(directory?: string): CommandInfo[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "oh-my-opencode",
3
- "version": "3.5.3",
3
+ "version": "3.5.4",
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.5.3",
78
- "oh-my-opencode-darwin-x64": "3.5.3",
79
- "oh-my-opencode-linux-arm64": "3.5.3",
80
- "oh-my-opencode-linux-arm64-musl": "3.5.3",
81
- "oh-my-opencode-linux-x64": "3.5.3",
82
- "oh-my-opencode-linux-x64-musl": "3.5.3",
83
- "oh-my-opencode-windows-x64": "3.5.3"
77
+ "oh-my-opencode-darwin-arm64": "3.5.4",
78
+ "oh-my-opencode-darwin-x64": "3.5.4",
79
+ "oh-my-opencode-linux-arm64": "3.5.4",
80
+ "oh-my-opencode-linux-arm64-musl": "3.5.4",
81
+ "oh-my-opencode-linux-x64": "3.5.4",
82
+ "oh-my-opencode-linux-x64-musl": "3.5.4",
83
+ "oh-my-opencode-windows-x64": "3.5.4"
84
84
  },
85
85
  "trustedDependencies": [
86
86
  "@ast-grep/cli",
@@ -1,7 +0,0 @@
1
- import type { CheckResult, CheckDefinition, AuthProviderInfo, AuthProviderId } from "../types";
2
- export declare function getAuthProviderInfo(providerId: AuthProviderId): AuthProviderInfo;
3
- export declare function checkAuthProvider(providerId: AuthProviderId): Promise<CheckResult>;
4
- export declare function checkAnthropicAuth(): Promise<CheckResult>;
5
- export declare function checkOpenAIAuth(): Promise<CheckResult>;
6
- export declare function checkGoogleAuth(): Promise<CheckResult>;
7
- export declare function getAuthCheckDefinitions(): CheckDefinition[];
@@ -1,8 +0,0 @@
1
- import type { CheckResult, CheckDefinition, LspServerInfo } from "../types";
2
- export declare function getLspServersInfo(): Promise<LspServerInfo[]>;
3
- export declare function getLspServerStats(servers: LspServerInfo[]): {
4
- installed: number;
5
- total: number;
6
- };
7
- export declare function checkLspServers(): Promise<CheckResult>;
8
- export declare function getLspCheckDefinition(): CheckDefinition;
@@ -1,15 +0,0 @@
1
- import type { CheckResult, CheckDefinition } from "../types";
2
- interface OAuthTokenData {
3
- accessToken: string;
4
- refreshToken?: string;
5
- expiresAt?: number;
6
- clientInfo?: {
7
- clientId: string;
8
- clientSecret?: string;
9
- };
10
- }
11
- type TokenStore = Record<string, OAuthTokenData>;
12
- export declare function readTokenStore(): TokenStore | null;
13
- export declare function checkMcpOAuthTokens(): Promise<CheckResult>;
14
- export declare function getMcpOAuthCheckDefinition(): CheckDefinition;
15
- export {};
@@ -1,6 +0,0 @@
1
- import type { CheckResult, CheckDefinition, McpServerInfo } from "../types";
2
- export declare function getBuiltinMcpInfo(): McpServerInfo[];
3
- export declare function getUserMcpInfo(): McpServerInfo[];
4
- export declare function checkBuiltinMcpServers(): Promise<CheckResult>;
5
- export declare function checkUserMcpServers(): Promise<CheckResult>;
6
- export declare function getMcpCheckDefinitions(): CheckDefinition[];
@@ -1,4 +0,0 @@
1
- import type { CheckResult, CheckDefinition, PluginInfo } from "../types";
2
- export declare function getPluginInfo(): PluginInfo;
3
- export declare function checkPluginRegistration(): Promise<CheckResult>;
4
- export declare function getPluginCheckDefinition(): CheckDefinition;
@@ -1,4 +0,0 @@
1
- import type { CheckResult, CheckDefinition, VersionCheckInfo } from "../types";
2
- export declare function getVersionInfo(): Promise<VersionCheckInfo>;
3
- export declare function checkVersionStatus(): Promise<CheckResult>;
4
- export declare function getVersionCheckDefinition(): CheckDefinition;
@@ -1,2 +0,0 @@
1
- import type { Hooks } from "@opencode-ai/plugin";
2
- export declare function createSubagentQuestionBlockerHook(): Hooks;
@@ -1 +0,0 @@
1
- export { createSubagentQuestionBlockerHook } from "./hook";