oh-my-opencode 3.13.1 → 3.15.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 (256) hide show
  1. package/README.ja.md +2 -2
  2. package/README.ko.md +2 -2
  3. package/README.md +16 -8
  4. package/README.ru.md +2 -2
  5. package/README.zh-cn.md +2 -2
  6. package/bin/oh-my-opencode.js +11 -0
  7. package/bin/platform.js +13 -13
  8. package/bin/platform.test.ts +15 -0
  9. package/dist/agents/atlas/agent.d.ts +1 -1
  10. package/dist/agents/atlas/default-prompt-sections.d.ts +6 -0
  11. package/dist/agents/atlas/default.d.ts +0 -9
  12. package/dist/agents/atlas/gemini-prompt-sections.d.ts +6 -0
  13. package/dist/agents/atlas/gemini.d.ts +0 -9
  14. package/dist/agents/atlas/gpt-prompt-sections.d.ts +6 -0
  15. package/dist/agents/atlas/gpt.d.ts +0 -9
  16. package/dist/agents/atlas/shared-prompt.d.ts +9 -0
  17. package/dist/agents/dynamic-agent-category-skills-guide.d.ts +2 -0
  18. package/dist/agents/dynamic-agent-core-sections.d.ts +10 -0
  19. package/dist/agents/dynamic-agent-policy-sections.d.ts +6 -0
  20. package/dist/agents/dynamic-agent-prompt-builder.d.ts +5 -35
  21. package/dist/agents/dynamic-agent-prompt-types.d.ts +20 -0
  22. package/dist/agents/dynamic-agent-tool-categorization.d.ts +3 -0
  23. package/dist/agents/hephaestus/agent.d.ts +1 -1
  24. package/dist/agents/hephaestus/gpt-5-3-codex.d.ts +1 -1
  25. package/dist/agents/hephaestus/gpt.d.ts +1 -1
  26. package/dist/agents/momus.d.ts +2 -2
  27. package/dist/agents/prometheus/behavioral-summary.d.ts +1 -1
  28. package/dist/agents/prometheus/identity-constraints.d.ts +1 -1
  29. package/dist/agents/prometheus/plan-generation.d.ts +1 -1
  30. package/dist/agents/prometheus/plan-template.d.ts +1 -1
  31. package/dist/agents/sisyphus/gpt-5-4.d.ts +14 -14
  32. package/dist/agents/sisyphus/index.d.ts +1 -1
  33. package/dist/agents/sisyphus.d.ts +1 -1
  34. package/dist/agents/types.d.ts +3 -1
  35. package/dist/cli/doctor/checks/model-resolution-types.d.ts +3 -0
  36. package/dist/cli/doctor/checks/model-resolution.d.ts +2 -1
  37. package/dist/cli/doctor/constants.d.ts +1 -1
  38. package/dist/cli/index.js +42241 -390
  39. package/dist/cli/mcp-oauth/login.d.ts +6 -1
  40. package/dist/cli/refresh-model-capabilities.d.ts +15 -0
  41. package/dist/cli/run/event-state.d.ts +0 -2
  42. package/dist/cli/run/types.d.ts +0 -1
  43. package/dist/config/index.d.ts +1 -1
  44. package/dist/config/schema/agent-names.d.ts +2 -0
  45. package/dist/config/schema/agent-overrides.d.ts +675 -15
  46. package/dist/config/schema/background-task.d.ts +2 -0
  47. package/dist/config/schema/categories.d.ts +90 -2
  48. package/dist/config/schema/commands.d.ts +1 -0
  49. package/dist/config/schema/dynamic-context-pruning.d.ts +1 -1
  50. package/dist/config/schema/experimental.d.ts +2 -1
  51. package/dist/config/schema/fallback-models.d.ts +111 -1
  52. package/dist/config/schema/hooks.d.ts +3 -0
  53. package/dist/config/schema/model-capabilities.d.ts +8 -0
  54. package/dist/config/schema/oh-my-opencode-config.d.ts +696 -17
  55. package/dist/config/schema/sisyphus-agent.d.ts +1 -0
  56. package/dist/config/schema/tmux.d.ts +11 -0
  57. package/dist/config/schema.d.ts +1 -0
  58. package/dist/create-hooks.d.ts +6 -0
  59. package/dist/create-runtime-tmux-config.d.ts +9 -0
  60. package/dist/features/background-agent/abort-with-timeout.d.ts +2 -0
  61. package/dist/features/background-agent/background-task-notification-template.d.ts +10 -4
  62. package/dist/features/background-agent/constants.d.ts +1 -0
  63. package/dist/features/background-agent/fallback-retry-handler.d.ts +1 -1
  64. package/dist/features/background-agent/manager.d.ts +10 -0
  65. package/dist/features/background-agent/process-cleanup.d.ts +1 -1
  66. package/dist/features/background-agent/session-existence.d.ts +3 -0
  67. package/dist/features/background-agent/task-poller.d.ts +1 -0
  68. package/dist/features/background-agent/types.d.ts +5 -10
  69. package/dist/features/builtin-commands/commands.d.ts +4 -1
  70. package/dist/features/builtin-commands/templates/handoff.d.ts +1 -1
  71. package/dist/features/builtin-commands/templates/init-deep.d.ts +1 -1
  72. package/dist/features/builtin-commands/templates/remove-ai-slops.d.ts +1 -0
  73. package/dist/features/builtin-commands/templates/start-work.d.ts +1 -1
  74. package/dist/features/builtin-commands/types.d.ts +1 -1
  75. package/dist/features/builtin-skills/skills/ai-slop-remover.d.ts +2 -0
  76. package/dist/features/builtin-skills/skills/git-master-sections/commit-workflow.d.ts +1 -0
  77. package/dist/features/builtin-skills/skills/git-master-sections/history-search-workflow.d.ts +1 -0
  78. package/dist/features/builtin-skills/skills/git-master-sections/overview.d.ts +1 -0
  79. package/dist/features/builtin-skills/skills/git-master-sections/quick-reference.d.ts +1 -0
  80. package/dist/features/builtin-skills/skills/git-master-sections/rebase-workflow.d.ts +1 -0
  81. package/dist/features/builtin-skills/skills/index.d.ts +2 -0
  82. package/dist/features/builtin-skills/skills/playwright-cli.d.ts +1 -1
  83. package/dist/features/builtin-skills/skills/review-work.d.ts +2 -0
  84. package/dist/features/claude-code-mcp-loader/configure-allowed-env-vars.d.ts +5 -0
  85. package/dist/features/claude-code-mcp-loader/index.d.ts +1 -0
  86. package/dist/features/claude-code-mcp-loader/scope-filter.d.ts +2 -0
  87. package/dist/features/claude-code-mcp-loader/types.d.ts +8 -4
  88. package/dist/features/claude-code-session-state/state.d.ts +2 -0
  89. package/dist/features/context-injector/collector.d.ts +1 -0
  90. package/dist/features/opencode-skill-loader/async-loader.d.ts +2 -2
  91. package/dist/features/opencode-skill-loader/loader.d.ts +2 -0
  92. package/dist/features/skill-mcp-manager/manager.d.ts +4 -1
  93. package/dist/features/skill-mcp-manager/oauth-handler.d.ts +5 -4
  94. package/dist/features/skill-mcp-manager/types.d.ts +7 -0
  95. package/dist/features/tmux-subagent/manager.d.ts +15 -13
  96. package/dist/features/tmux-subagent/polling-manager.d.ts +5 -0
  97. package/dist/features/tmux-subagent/types.d.ts +2 -0
  98. package/dist/hooks/agent-usage-reminder/constants.d.ts +1 -1
  99. package/dist/hooks/anthropic-context-window-limit-recovery/message-builder.d.ts +4 -1
  100. package/dist/hooks/anthropic-context-window-limit-recovery/recovery-hook.d.ts +10 -0
  101. package/dist/hooks/anthropic-context-window-limit-recovery/recovery-hook.test-support.d.ts +29 -0
  102. package/dist/hooks/anthropic-context-window-limit-recovery/session-timeout-map.d.ts +2 -0
  103. package/dist/hooks/anthropic-context-window-limit-recovery/state.d.ts +2 -0
  104. package/dist/hooks/anthropic-context-window-limit-recovery/types.d.ts +1 -0
  105. package/dist/hooks/atlas/subagent-session-id.d.ts +1 -0
  106. package/dist/hooks/atlas/system-reminder-templates.d.ts +2 -2
  107. package/dist/hooks/auto-slash-command/executor.d.ts +1 -0
  108. package/dist/hooks/auto-slash-command/hook.d.ts +1 -0
  109. package/dist/hooks/auto-update-checker/hook/background-update-check.d.ts +29 -1
  110. package/dist/hooks/auto-update-checker/hook/model-capabilities-status.d.ts +2 -0
  111. package/dist/hooks/auto-update-checker/types.d.ts +2 -0
  112. package/dist/hooks/bash-file-read-guard.d.ts +2 -0
  113. package/dist/hooks/claude-code-hooks/claude-code-hooks-hook.d.ts +1 -0
  114. package/dist/hooks/claude-code-hooks/config-loader.d.ts +1 -0
  115. package/dist/hooks/claude-code-hooks/config.d.ts +1 -0
  116. package/dist/hooks/claude-code-hooks/handlers/session-event-handler.d.ts +3 -1
  117. package/dist/hooks/claude-code-hooks/session-hook-state.d.ts +1 -0
  118. package/dist/hooks/claude-code-hooks/tool-input-cache.d.ts +2 -0
  119. package/dist/hooks/claude-code-hooks/transcript.d.ts +1 -3
  120. package/dist/hooks/comment-checker/hook.d.ts +1 -0
  121. package/dist/hooks/comment-checker/pending-calls.d.ts +1 -0
  122. package/dist/hooks/index.d.ts +3 -0
  123. package/dist/hooks/keyword-detector/ultrawork/default.d.ts +1 -1
  124. package/dist/hooks/keyword-detector/ultrawork/gemini.d.ts +1 -1
  125. package/dist/hooks/keyword-detector/ultrawork/gpt.d.ts +1 -1
  126. package/dist/hooks/legacy-plugin-toast/auto-migrate-runner.d.ts +2 -0
  127. package/dist/hooks/legacy-plugin-toast/auto-migrate.d.ts +7 -0
  128. package/dist/hooks/legacy-plugin-toast/hook.d.ts +18 -0
  129. package/dist/hooks/legacy-plugin-toast/index.d.ts +1 -0
  130. package/dist/hooks/legacy-plugin-toast/plugin-entry-migrator.d.ts +1 -0
  131. package/dist/hooks/model-fallback/chat-message-fallback-handler.d.ts +23 -0
  132. package/dist/hooks/model-fallback/hook.d.ts +5 -0
  133. package/dist/hooks/model-fallback/next-fallback.d.ts +6 -0
  134. package/dist/hooks/ralph-loop/completion-promise-detector-test-input.d.ts +11 -0
  135. package/dist/hooks/rules-injector/constants.d.ts +1 -0
  136. package/dist/hooks/rules-injector/finder.d.ts +1 -1
  137. package/dist/hooks/rules-injector/hook.d.ts +2 -0
  138. package/dist/hooks/rules-injector/injector.d.ts +2 -0
  139. package/dist/hooks/rules-injector/rule-file-finder.d.ts +9 -1
  140. package/dist/hooks/runtime-fallback/fallback-models.d.ts +12 -0
  141. package/dist/hooks/runtime-fallback/retry-model-payload.d.ts +5 -1
  142. package/dist/hooks/start-work/context-info-builder.d.ts +12 -0
  143. package/dist/hooks/start-work/start-work-hook.d.ts +7 -0
  144. package/dist/hooks/start-work/worktree-block.d.ts +1 -0
  145. package/dist/hooks/todo-continuation-enforcer/resolve-message-info.d.ts +2 -2
  146. package/dist/hooks/todo-continuation-enforcer/types.d.ts +4 -0
  147. package/dist/hooks/todo-description-override/description.d.ts +1 -1
  148. package/dist/hooks/tool-pair-validator/hook.d.ts +28 -0
  149. package/dist/hooks/tool-pair-validator/index.d.ts +1 -0
  150. package/dist/hooks/write-existing-file-guard/hook.d.ts +12 -0
  151. package/dist/hooks/write-existing-file-guard/session-read-permissions.d.ts +3 -0
  152. package/dist/hooks/write-existing-file-guard/tool-execute-before-handler.d.ts +15 -0
  153. package/dist/index.js +112232 -65637
  154. package/dist/mcp/websearch.d.ts +2 -2
  155. package/dist/oh-my-opencode.schema.json +2034 -4
  156. package/dist/openclaw/dispatcher.d.ts +6 -0
  157. package/dist/plugin/chat-params.d.ts +1 -0
  158. package/dist/plugin/command-execute-before.d.ts +17 -0
  159. package/dist/plugin/hooks/create-core-hooks.d.ts +3 -0
  160. package/dist/plugin/hooks/create-session-hooks.d.ts +2 -1
  161. package/dist/plugin/hooks/create-tool-guard-hooks.d.ts +2 -1
  162. package/dist/plugin/hooks/create-transform-hooks.d.ts +2 -1
  163. package/dist/plugin/tool-registry.d.ts +1 -0
  164. package/dist/plugin/types.d.ts +1 -0
  165. package/dist/plugin-dispose.d.ts +3 -0
  166. package/dist/shared/agent-display-names.d.ts +8 -0
  167. package/dist/shared/archive-entry-validator.d.ts +6 -0
  168. package/dist/shared/background-output-consumption.d.ts +5 -0
  169. package/dist/shared/connected-providers-cache.d.ts +22 -6
  170. package/dist/shared/contains-path.d.ts +2 -0
  171. package/dist/shared/external-plugin-detector.d.ts +14 -0
  172. package/dist/shared/fallback-chain-from-models.d.ts +10 -1
  173. package/dist/shared/index.d.ts +10 -1
  174. package/dist/shared/is-abort-error.d.ts +1 -0
  175. package/dist/shared/json-file-cache-store.d.ts +16 -0
  176. package/dist/shared/jsonc-parser.d.ts +1 -0
  177. package/dist/shared/known-variants.d.ts +6 -0
  178. package/dist/shared/legacy-plugin-warning.d.ts +7 -0
  179. package/dist/shared/load-opencode-plugins.d.ts +1 -0
  180. package/dist/shared/log-legacy-plugin-startup-warning.d.ts +10 -0
  181. package/dist/shared/migrate-legacy-config-file.d.ts +1 -0
  182. package/dist/shared/migrate-legacy-plugin-entry.d.ts +1 -0
  183. package/dist/shared/model-capabilities/bundled-snapshot.d.ts +2 -0
  184. package/dist/shared/model-capabilities/get-model-capabilities.d.ts +2 -0
  185. package/dist/shared/model-capabilities/index.d.ts +3 -0
  186. package/dist/shared/model-capabilities/runtime-model-readers.d.ts +11 -0
  187. package/dist/shared/model-capabilities/types.d.ts +94 -0
  188. package/dist/shared/model-capabilities-cache.d.ts +20 -0
  189. package/dist/shared/model-capability-aliases.d.ts +21 -0
  190. package/dist/shared/model-capability-guardrails.d.ts +38 -0
  191. package/dist/shared/model-capability-heuristics.d.ts +10 -0
  192. package/dist/shared/model-requirements.d.ts +8 -0
  193. package/dist/shared/model-resolution-types.d.ts +13 -0
  194. package/dist/shared/model-resolver.d.ts +10 -3
  195. package/dist/shared/model-settings-compatibility.d.ts +40 -0
  196. package/dist/shared/model-suggestion-retry.d.ts +0 -9
  197. package/dist/shared/plugin-entry-migrator.d.ts +3 -0
  198. package/dist/shared/plugin-identity.d.ts +4 -3
  199. package/dist/shared/project-discovery-dirs.d.ts +4 -0
  200. package/dist/shared/session-category-registry.d.ts +0 -24
  201. package/dist/shared/session-cursor.d.ts +6 -0
  202. package/dist/shared/session-prompt-params-helpers.d.ts +12 -0
  203. package/dist/shared/session-prompt-params-state.d.ts +9 -0
  204. package/dist/shared/skill-path-resolver.d.ts +0 -8
  205. package/dist/shared/task-system-enabled.d.ts +6 -0
  206. package/dist/shared/tmux/tmux-utils/server-health.d.ts +1 -0
  207. package/dist/shared/tmux/tmux-utils/session-spawn.d.ts +3 -0
  208. package/dist/shared/tmux/tmux-utils/window-spawn.d.ts +3 -0
  209. package/dist/shared/tmux/tmux-utils.d.ts +3 -1
  210. package/dist/shared/write-file-atomically.d.ts +1 -0
  211. package/dist/shared/zip-entry-listing/powershell-zip-entry-listing.d.ts +4 -0
  212. package/dist/shared/zip-entry-listing/python-zip-entry-listing.d.ts +3 -0
  213. package/dist/shared/zip-entry-listing/read-zip-symlink-target.d.ts +1 -0
  214. package/dist/shared/zip-entry-listing/tar-zip-entry-listing.d.ts +3 -0
  215. package/dist/shared/zip-entry-listing/zipinfo-zip-entry-listing.d.ts +4 -0
  216. package/dist/shared/zip-entry-listing.d.ts +4 -0
  217. package/dist/tools/call-omo-agent/background-executor.d.ts +2 -1
  218. package/dist/tools/call-omo-agent/sync-executor.d.ts +2 -1
  219. package/dist/tools/delegate-task/anthropic-categories.d.ts +2 -0
  220. package/dist/tools/delegate-task/background-task.d.ts +2 -6
  221. package/dist/tools/delegate-task/builtin-categories.d.ts +4 -0
  222. package/dist/tools/delegate-task/builtin-category-definition.d.ts +7 -0
  223. package/dist/tools/delegate-task/category-resolver.d.ts +2 -5
  224. package/dist/tools/delegate-task/constants.d.ts +1 -12
  225. package/dist/tools/delegate-task/executor-types.d.ts +2 -1
  226. package/dist/tools/delegate-task/google-categories.d.ts +2 -0
  227. package/dist/tools/delegate-task/kimi-categories.d.ts +2 -0
  228. package/dist/tools/delegate-task/model-selection.d.ts +2 -0
  229. package/dist/tools/delegate-task/openai-categories.d.ts +2 -0
  230. package/dist/tools/delegate-task/prompt-builder.d.ts +1 -1
  231. package/dist/tools/delegate-task/subagent-resolver.d.ts +3 -6
  232. package/dist/tools/delegate-task/sync-prompt-sender.d.ts +4 -6
  233. package/dist/tools/delegate-task/sync-session-poller.d.ts +1 -0
  234. package/dist/tools/delegate-task/sync-task.d.ts +2 -6
  235. package/dist/tools/delegate-task/types.d.ts +5 -6
  236. package/dist/tools/delegate-task/unstable-agent-task.d.ts +2 -6
  237. package/dist/tools/grep/cli.d.ts +3 -2
  238. package/dist/tools/grep/constants.d.ts +1 -2
  239. package/dist/tools/hashline-edit/tool-description.d.ts +1 -1
  240. package/dist/tools/look-at/constants.d.ts +1 -1
  241. package/dist/tools/lsp/infer-extension.d.ts +1 -0
  242. package/dist/tools/session-manager/file-storage.d.ts +8 -0
  243. package/dist/tools/session-manager/sdk-storage.d.ts +8 -0
  244. package/dist/tools/session-manager/sdk-unavailable.d.ts +1 -0
  245. package/dist/tools/session-manager/storage.d.ts +1 -1
  246. package/dist/tools/skill/description-formatter.d.ts +3 -0
  247. package/dist/tools/skill/mcp-capability-formatter.d.ts +3 -0
  248. package/dist/tools/skill/native-skills.d.ts +12 -0
  249. package/dist/tools/skill/scope-priority.d.ts +4 -0
  250. package/dist/tools/skill/skill-body.d.ts +2 -0
  251. package/dist/tools/skill/skill-matcher.d.ts +5 -0
  252. package/dist/tools/skill/types.d.ts +30 -2
  253. package/dist/tools/skill-mcp/tools.d.ts +1 -1
  254. package/package.json +16 -14
  255. package/postinstall.mjs +12 -0
  256. package/dist/hooks/openclaw.d.ts +0 -11
@@ -0,0 +1,8 @@
1
+ import type { PluginInput } from "@opencode-ai/plugin";
2
+ import type { SessionMessage, SessionMetadata, TodoItem } from "./types";
3
+ export declare function getSdkMainSessions(client: PluginInput["client"], directory?: string): Promise<SessionMetadata[]>;
4
+ export declare function getSdkAllSessions(client: PluginInput["client"]): Promise<string[]>;
5
+ export declare function sdkSessionExists(client: PluginInput["client"], sessionID: string): Promise<boolean>;
6
+ export declare function getSdkSessionMessages(client: PluginInput["client"], sessionID: string): Promise<SessionMessage[]>;
7
+ export declare function getSdkSessionTodos(client: PluginInput["client"], sessionID: string): Promise<TodoItem[]>;
8
+ export declare function shouldFallbackFromSdkError(error: unknown): boolean;
@@ -0,0 +1 @@
1
+ export declare function isSessionSdkUnavailableError(value: unknown): boolean;
@@ -1,5 +1,5 @@
1
1
  import type { PluginInput } from "@opencode-ai/plugin";
2
- import type { SessionMessage, SessionInfo, TodoItem, SessionMetadata } from "./types";
2
+ import type { SessionInfo, SessionMessage, SessionMetadata, TodoItem } from "./types";
3
3
  export interface GetMainSessionsOptions {
4
4
  directory?: string;
5
5
  }
@@ -0,0 +1,3 @@
1
+ import type { SkillInfo } from "./types";
2
+ import type { CommandInfo } from "../slashcommand/types";
3
+ export declare function formatCombinedDescription(skills: SkillInfo[], commands: CommandInfo[]): string;
@@ -0,0 +1,3 @@
1
+ import type { SkillMcpManager } from "../../features/skill-mcp-manager";
2
+ import type { LoadedSkill } from "../../features/opencode-skill-loader";
3
+ export declare function formatMcpCapabilities(skill: LoadedSkill, manager: SkillMcpManager, sessionID: string): Promise<string | null>;
@@ -0,0 +1,12 @@
1
+ import type { SkillInfo } from "./types";
2
+ import type { LoadedSkill } from "../../features/opencode-skill-loader";
3
+ export type NativeSkillEntry = {
4
+ name: string;
5
+ description: string;
6
+ location: string;
7
+ content: string;
8
+ };
9
+ export declare function loadedSkillToInfo(skill: LoadedSkill): SkillInfo;
10
+ export declare function mergeNativeSkills(skills: LoadedSkill[], nativeSkills: NativeSkillEntry[]): void;
11
+ export declare function mergeNativeSkillInfos(skillInfos: SkillInfo[], nativeSkills: NativeSkillEntry[]): void;
12
+ export declare function isPromiseLike<TValue>(value: TValue | Promise<TValue>): value is Promise<TValue>;
@@ -0,0 +1,4 @@
1
+ export declare const SCOPE_PRIORITY: Record<string, number>;
2
+ export declare function sortByScopePriority<TItem extends {
3
+ scope: string;
4
+ }>(items: TItem[]): TItem[];
@@ -0,0 +1,2 @@
1
+ import type { LoadedSkill } from "../../features/opencode-skill-loader";
2
+ export declare function extractSkillBody(skill: LoadedSkill): Promise<string>;
@@ -0,0 +1,5 @@
1
+ import type { CommandInfo } from "../slashcommand/types";
2
+ import type { LoadedSkill } from "../../features/opencode-skill-loader";
3
+ export declare function matchSkillByName(skills: LoadedSkill[], requestedName: string): LoadedSkill | undefined;
4
+ export declare function matchCommandByName(commands: CommandInfo[], requestedName: string): CommandInfo | undefined;
5
+ export declare function findPartialMatches(skills: LoadedSkill[], commands: CommandInfo[], requestedName: string): string[];
@@ -1,6 +1,6 @@
1
1
  import type { SkillScope, LoadedSkill } from "../../features/opencode-skill-loader/types";
2
2
  import type { SkillMcpManager } from "../../features/skill-mcp-manager";
3
- import type { GitMasterConfig } from "../../config/schema";
3
+ import type { BrowserAutomationProvider, GitMasterConfig } from "../../config/schema";
4
4
  import type { CommandInfo } from "../slashcommand/types";
5
5
  export interface SkillArgs {
6
6
  name: string;
@@ -26,12 +26,40 @@ export interface SkillLoadOptions {
26
26
  /** MCP manager for querying skill-embedded MCP servers */
27
27
  mcpManager?: SkillMcpManager;
28
28
  /** Session ID getter for MCP client identification */
29
- getSessionID?: () => string;
29
+ getSessionID?: () => string | undefined;
30
30
  /** Git master configuration for watermark/co-author settings */
31
31
  gitMasterConfig?: GitMasterConfig;
32
32
  disabledSkills?: Set<string>;
33
+ /** Browser automation provider for provider-gated skill filtering */
34
+ browserProvider?: BrowserAutomationProvider;
33
35
  /** Include Claude marketplace plugin commands in discovery (default: true) */
34
36
  pluginsEnabled?: boolean;
35
37
  /** Override plugin enablement from Claude settings by plugin key */
36
38
  enabledPluginsOverride?: Record<string, boolean>;
39
+ /** Native skill accessor from PluginInput for discovering skills registered via config.skills.paths */
40
+ nativeSkills?: {
41
+ all(): {
42
+ name: string;
43
+ description: string;
44
+ location: string;
45
+ content: string;
46
+ }[] | Promise<{
47
+ name: string;
48
+ description: string;
49
+ location: string;
50
+ content: string;
51
+ }[]>;
52
+ get(name: string): {
53
+ name: string;
54
+ description: string;
55
+ location: string;
56
+ content: string;
57
+ } | undefined | Promise<{
58
+ name: string;
59
+ description: string;
60
+ location: string;
61
+ content: string;
62
+ } | undefined>;
63
+ dirs(): string[] | Promise<string[]>;
64
+ };
37
65
  }
@@ -4,7 +4,7 @@ import type { LoadedSkill } from "../../features/opencode-skill-loader/types";
4
4
  interface SkillMcpToolOptions {
5
5
  manager: SkillMcpManager;
6
6
  getLoadedSkills: () => LoadedSkill[];
7
- getSessionID: () => string;
7
+ getSessionID?: () => string | undefined;
8
8
  }
9
9
  export declare function applyGrepFilter(output: string, pattern: string | undefined): string;
10
10
  export declare function createSkillMcpTool(options: SkillMcpToolOptions): ToolDefinition;
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "oh-my-opencode",
3
- "version": "3.13.1",
3
+ "version": "3.15.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
- "main": "dist/index.js",
5
+ "main": "./dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "type": "module",
8
8
  "bin": {
@@ -25,10 +25,12 @@
25
25
  "build:all": "bun run build && bun run build:binaries",
26
26
  "build:binaries": "bun run script/build-binaries.ts",
27
27
  "build:schema": "bun run script/build-schema.ts",
28
+ "build:model-capabilities": "bun run script/build-model-capabilities.ts",
28
29
  "clean": "rm -rf dist",
29
30
  "prepare": "bun run build",
30
31
  "postinstall": "node postinstall.mjs",
31
32
  "prepublishOnly": "bun run clean && bun run build",
33
+ "test:model-capabilities": "bun test src/shared/model-capability-aliases.test.ts src/shared/model-capability-guardrails.test.ts src/shared/model-capabilities.test.ts src/cli/doctor/checks/model-resolution.test.ts --bail",
32
34
  "typecheck": "tsc --noEmit",
33
35
  "test": "bun test"
34
36
  },
@@ -72,21 +74,21 @@
72
74
  "devDependencies": {
73
75
  "@types/js-yaml": "^4.0.9",
74
76
  "@types/picomatch": "^3.0.2",
75
- "bun-types": "1.3.10",
77
+ "bun-types": "1.3.11",
76
78
  "typescript": "^5.7.3"
77
79
  },
78
80
  "optionalDependencies": {
79
- "oh-my-opencode-darwin-arm64": "3.13.1",
80
- "oh-my-opencode-darwin-x64": "3.13.1",
81
- "oh-my-opencode-darwin-x64-baseline": "3.13.1",
82
- "oh-my-opencode-linux-arm64": "3.13.1",
83
- "oh-my-opencode-linux-arm64-musl": "3.13.1",
84
- "oh-my-opencode-linux-x64": "3.13.1",
85
- "oh-my-opencode-linux-x64-baseline": "3.13.1",
86
- "oh-my-opencode-linux-x64-musl": "3.13.1",
87
- "oh-my-opencode-linux-x64-musl-baseline": "3.13.1",
88
- "oh-my-opencode-windows-x64": "3.13.1",
89
- "oh-my-opencode-windows-x64-baseline": "3.13.1"
81
+ "oh-my-opencode-darwin-arm64": "3.15.0",
82
+ "oh-my-opencode-darwin-x64": "3.15.0",
83
+ "oh-my-opencode-darwin-x64-baseline": "3.15.0",
84
+ "oh-my-opencode-linux-arm64": "3.15.0",
85
+ "oh-my-opencode-linux-arm64-musl": "3.15.0",
86
+ "oh-my-opencode-linux-x64": "3.15.0",
87
+ "oh-my-opencode-linux-x64-baseline": "3.15.0",
88
+ "oh-my-opencode-linux-x64-musl": "3.15.0",
89
+ "oh-my-opencode-linux-x64-musl-baseline": "3.15.0",
90
+ "oh-my-opencode-windows-x64": "3.15.0",
91
+ "oh-my-opencode-windows-x64-baseline": "3.15.0"
90
92
  },
91
93
  "overrides": {
92
94
  "@opencode-ai/sdk": "^1.2.24"
package/postinstall.mjs CHANGED
@@ -1,6 +1,7 @@
1
1
  // postinstall.mjs
2
2
  // Runs after npm install to verify platform binary is available
3
3
 
4
+ import { readFileSync } from "node:fs";
4
5
  import { createRequire } from "node:module";
5
6
  import { getPlatformPackageCandidates, getBinaryPath } from "./bin/platform.js";
6
7
 
@@ -22,15 +23,26 @@ function getLibcFamily() {
22
23
  }
23
24
  }
24
25
 
26
+ function getPackageBaseName() {
27
+ try {
28
+ const packageJson = JSON.parse(readFileSync(new URL("./package.json", import.meta.url), "utf8"));
29
+ return packageJson.name || "oh-my-opencode";
30
+ } catch {
31
+ return "oh-my-opencode";
32
+ }
33
+ }
34
+
25
35
  function main() {
26
36
  const { platform, arch } = process;
27
37
  const libcFamily = getLibcFamily();
38
+ const packageBaseName = getPackageBaseName();
28
39
 
29
40
  try {
30
41
  const packageCandidates = getPlatformPackageCandidates({
31
42
  platform,
32
43
  arch,
33
44
  libcFamily,
45
+ packageBaseName,
34
46
  });
35
47
 
36
48
  const resolvedPackage = packageCandidates.find((pkg) => {
@@ -1,11 +0,0 @@
1
- import type { PluginContext } from "../plugin/types";
2
- import type { OhMyOpenCodeConfig } from "../config";
3
- export declare function createOpenClawHook(ctx: PluginContext, pluginConfig: OhMyOpenCodeConfig): {
4
- event: (input: any) => Promise<void>;
5
- "tool.execute.before": (input: {
6
- tool: string;
7
- sessionID: string;
8
- }, output: {
9
- args: Record<string, unknown>;
10
- }) => Promise<void>;
11
- } | null;