@wolfx/oh-my-openagent 3.17.5 → 3.17.6-patch.1

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 (129) hide show
  1. package/README.ja.md +1 -1
  2. package/README.ko.md +1 -1
  3. package/README.md +1 -1
  4. package/README.ru.md +1 -1
  5. package/README.zh-cn.md +1 -1
  6. package/dist/agents/agent-builder.d.ts +2 -3
  7. package/dist/agents/agent-skill-resolution.d.ts +7 -0
  8. package/dist/agents/frontier-tool-schema-guard.d.ts +3 -0
  9. package/dist/agents/hephaestus/agent.d.ts +1 -1
  10. package/dist/agents/hephaestus/gpt-5-5.d.ts +12 -0
  11. package/dist/agents/sisyphus/claude-opus-4-7.d.ts +20 -0
  12. package/dist/agents/sisyphus/gpt-5-5.d.ts +20 -0
  13. package/dist/agents/sisyphus/index.d.ts +5 -0
  14. package/dist/agents/sisyphus/kimi-k2-6.d.ts +32 -0
  15. package/dist/agents/sisyphus-junior/agent.d.ts +1 -1
  16. package/dist/agents/sisyphus-junior/gpt-5-5.d.ts +14 -0
  17. package/dist/agents/sisyphus-junior/index.d.ts +2 -0
  18. package/dist/agents/sisyphus-junior/kimi-k2-6.d.ts +13 -0
  19. package/dist/agents/types.d.ts +16 -0
  20. package/dist/features/team-mode/types.d.ts +1 -1
  21. package/dist/hooks/auto-update-checker/hook/background-update-check.d.ts +1 -1
  22. package/dist/hooks/ralph-loop/ralph-loop-event-handler.d.ts +1 -6
  23. package/dist/hooks/ralph-loop/session-event-handler.d.ts +2 -6
  24. package/dist/hooks/ralph-loop/types.d.ts +5 -0
  25. package/dist/index.js +3074 -5628
  26. package/dist/plugin/hooks/create-core-hooks.d.ts +2 -0
  27. package/dist/plugin/hooks/create-session-hooks.d.ts +2 -0
  28. package/dist/shared/agent-display-names.d.ts +7 -2
  29. package/dist/shared/agent-sort-shim.d.ts +28 -0
  30. package/dist/{cli/config-manager → shared}/config-context.d.ts +1 -1
  31. package/dist/shared/file-reference-resolver.d.ts +1 -0
  32. package/dist/tools/slashcommand/command-discovery-deps.d.ts +6 -0
  33. package/package.json +1 -4
  34. package/dist/cli/cli-installer.d.ts +0 -2
  35. package/dist/cli/cli-program.d.ts +0 -1
  36. package/dist/cli/config-manager/add-plugin-to-opencode-config.d.ts +0 -2
  37. package/dist/cli/config-manager/backup-config.d.ts +0 -6
  38. package/dist/cli/config-manager/deep-merge-record.d.ts +0 -1
  39. package/dist/cli/config-manager/detect-current-config.d.ts +0 -2
  40. package/dist/cli/config-manager/ensure-config-directory-exists.d.ts +0 -1
  41. package/dist/cli/config-manager/format-error-with-suggestion.d.ts +0 -1
  42. package/dist/cli/config-manager/generate-omo-config.d.ts +0 -2
  43. package/dist/cli/config-manager/npm-dist-tags.d.ts +0 -7
  44. package/dist/cli/config-manager/opencode-binary.d.ts +0 -2
  45. package/dist/cli/config-manager/opencode-config-format.d.ts +0 -5
  46. package/dist/cli/config-manager/parse-opencode-config-file.d.ts +0 -10
  47. package/dist/cli/config-manager/plugin-name-with-version.d.ts +0 -1
  48. package/dist/cli/config-manager/version-compatibility.d.ts +0 -9
  49. package/dist/cli/config-manager/write-omo-config.d.ts +0 -2
  50. package/dist/cli/config-manager.d.ts +0 -15
  51. package/dist/cli/doctor/checks/config.d.ts +0 -2
  52. package/dist/cli/doctor/checks/dependencies.d.ts +0 -4
  53. package/dist/cli/doctor/checks/index.d.ts +0 -7
  54. package/dist/cli/doctor/checks/model-resolution-cache.d.ts +0 -2
  55. package/dist/cli/doctor/checks/model-resolution-config.d.ts +0 -2
  56. package/dist/cli/doctor/checks/model-resolution-details.d.ts +0 -6
  57. package/dist/cli/doctor/checks/model-resolution-effective-model.d.ts +0 -3
  58. package/dist/cli/doctor/checks/model-resolution-types.d.ts +0 -40
  59. package/dist/cli/doctor/checks/model-resolution-variant.d.ts +0 -5
  60. package/dist/cli/doctor/checks/model-resolution.d.ts +0 -7
  61. package/dist/cli/doctor/checks/system-binary.d.ts +0 -13
  62. package/dist/cli/doctor/checks/system-loaded-version.d.ts +0 -10
  63. package/dist/cli/doctor/checks/system-plugin.d.ts +0 -15
  64. package/dist/cli/doctor/checks/system.d.ts +0 -16
  65. package/dist/cli/doctor/checks/tools-gh.d.ts +0 -10
  66. package/dist/cli/doctor/checks/tools-lsp.d.ts +0 -4
  67. package/dist/cli/doctor/checks/tools-mcp.d.ts +0 -3
  68. package/dist/cli/doctor/checks/tools.d.ts +0 -3
  69. package/dist/cli/doctor/constants.d.ts +0 -29
  70. package/dist/cli/doctor/format-default.d.ts +0 -2
  71. package/dist/cli/doctor/format-shared.d.ts +0 -6
  72. package/dist/cli/doctor/format-status.d.ts +0 -2
  73. package/dist/cli/doctor/format-verbose.d.ts +0 -2
  74. package/dist/cli/doctor/formatter.d.ts +0 -3
  75. package/dist/cli/doctor/index.d.ts +0 -5
  76. package/dist/cli/doctor/runner.d.ts +0 -5
  77. package/dist/cli/doctor/spawn-with-timeout.d.ts +0 -8
  78. package/dist/cli/doctor/types.d.ts +0 -120
  79. package/dist/cli/fallback-chain-resolution.d.ts +0 -10
  80. package/dist/cli/get-local-version/formatter.d.ts +0 -3
  81. package/dist/cli/get-local-version/get-local-version.d.ts +0 -2
  82. package/dist/cli/get-local-version/index.d.ts +0 -2
  83. package/dist/cli/get-local-version/types.d.ts +0 -13
  84. package/dist/cli/index.d.ts +0 -2
  85. package/dist/cli/install-validators.d.ts +0 -34
  86. package/dist/cli/install.d.ts +0 -2
  87. package/dist/cli/mcp-oauth/index.d.ts +0 -6
  88. package/dist/cli/mcp-oauth/login.d.ts +0 -11
  89. package/dist/cli/mcp-oauth/logout.d.ts +0 -4
  90. package/dist/cli/mcp-oauth/status.d.ts +0 -1
  91. package/dist/cli/minimum-opencode-version.d.ts +0 -1
  92. package/dist/cli/model-fallback-requirements.d.ts +0 -3
  93. package/dist/cli/model-fallback-types.d.ts +0 -31
  94. package/dist/cli/model-fallback.d.ts +0 -5
  95. package/dist/cli/openai-only-model-catalog.d.ts +0 -3
  96. package/dist/cli/provider-availability.d.ts +0 -4
  97. package/dist/cli/provider-model-id-transform.d.ts +0 -1
  98. package/dist/cli/refresh-model-capabilities.d.ts +0 -15
  99. package/dist/cli/run/agent-profile-colors.d.ts +0 -2
  100. package/dist/cli/run/agent-resolver.d.ts +0 -5
  101. package/dist/cli/run/completion.d.ts +0 -2
  102. package/dist/cli/run/continuation-state.d.ts +0 -10
  103. package/dist/cli/run/display-chars.d.ts +0 -5
  104. package/dist/cli/run/event-formatting.d.ts +0 -3
  105. package/dist/cli/run/event-handlers.d.ts +0 -11
  106. package/dist/cli/run/event-state.d.ts +0 -47
  107. package/dist/cli/run/event-stream-processor.d.ts +0 -3
  108. package/dist/cli/run/events.d.ts +0 -4
  109. package/dist/cli/run/index.d.ts +0 -10
  110. package/dist/cli/run/json-output.d.ts +0 -12
  111. package/dist/cli/run/model-resolver.d.ts +0 -4
  112. package/dist/cli/run/on-complete-hook.d.ts +0 -7
  113. package/dist/cli/run/opencode-binary-resolver.d.ts +0 -5
  114. package/dist/cli/run/output-renderer.d.ts +0 -7
  115. package/dist/cli/run/poll-for-completion.d.ts +0 -10
  116. package/dist/cli/run/runner.d.ts +0 -5
  117. package/dist/cli/run/server-connection.d.ts +0 -6
  118. package/dist/cli/run/session-resolver.d.ts +0 -6
  119. package/dist/cli/run/stdin-suppression.d.ts +0 -12
  120. package/dist/cli/run/timestamp-output.d.ts +0 -5
  121. package/dist/cli/run/tool-input-preview.d.ts +0 -6
  122. package/dist/cli/run/types.d.ts +0 -131
  123. package/dist/cli/tui-install-prompts.d.ts +0 -2
  124. package/dist/cli/tui-installer.d.ts +0 -2
  125. package/dist/cli/types.d.ts +0 -46
  126. package/dist/hooks/ralph-loop/loop-session-recovery.d.ts +0 -7
  127. package/dist/shared/posthog-activity-state.d.ts +0 -8
  128. package/dist/shared/posthog.d.ts +0 -14
  129. /package/dist/{cli/config-manager → shared}/bun-install.d.ts +0 -0
@@ -1,4 +1,5 @@
1
1
  import type { HookName, OhMyOpenCodeConfig } from "../../config";
2
+ import type { BackgroundManager } from "../../features/background-agent";
2
3
  import type { ModelFallbackControllerAccessor } from "../../hooks/model-fallback";
3
4
  import type { PluginContext } from "../types";
4
5
  import type { ModelCacheState } from "../../plugin-state";
@@ -6,6 +7,7 @@ export declare function createCoreHooks(args: {
6
7
  ctx: PluginContext;
7
8
  pluginConfig: OhMyOpenCodeConfig;
8
9
  modelCacheState: ModelCacheState;
10
+ backgroundManager: BackgroundManager;
9
11
  modelFallbackControllerAccessor?: ModelFallbackControllerAccessor;
10
12
  isHookEnabled: (hookName: HookName) => boolean;
11
13
  safeHookEnabled: boolean;
@@ -1,4 +1,5 @@
1
1
  import type { OhMyOpenCodeConfig, HookName } from "../../config";
2
+ import type { BackgroundManager } from "../../features/background-agent";
2
3
  import type { ModelFallbackControllerAccessor } from "../../hooks/model-fallback";
3
4
  import type { ModelCacheState } from "../../plugin-state";
4
5
  import type { PluginContext } from "../types";
@@ -34,6 +35,7 @@ export declare function createSessionHooks(args: {
34
35
  ctx: PluginContext;
35
36
  pluginConfig: OhMyOpenCodeConfig;
36
37
  modelCacheState: ModelCacheState;
38
+ backgroundManager: BackgroundManager;
37
39
  modelFallbackControllerAccessor?: ModelFallbackControllerAccessor;
38
40
  isHookEnabled: (hookName: HookName) => boolean;
39
41
  safeHookEnabled: boolean;
@@ -12,7 +12,6 @@
12
12
  export declare const AGENT_DISPLAY_NAMES: Record<string, string>;
13
13
  export declare function stripInvisibleAgentCharacters(agentName: string): string;
14
14
  export declare function stripAgentListSortPrefix(agentName: string): string;
15
- export declare function getAgentRuntimeName(configKey: string): string;
16
15
  /**
17
16
  * Get display name for an agent config key.
18
17
  * Uses case-insensitive lookup for backward compatibility.
@@ -20,7 +19,13 @@ export declare function getAgentRuntimeName(configKey: string): string;
20
19
  */
21
20
  export declare function getAgentDisplayName(configKey: string): string;
22
21
  /**
23
- * Runtime-facing agent name used for OpenCode list ordering.
22
+ * Thin alias for `getAgentDisplayName` preserved for external imports.
23
+ *
24
+ * Earlier versions injected zero-width prefixes here to bias OpenCode's
25
+ * `agent.name` sort. Sort ordering is now enforced by
26
+ * `src/shared/agent-sort-shim.ts`, so this function emits the canonical
27
+ * display name verbatim. Kept exported because downstream modules still
28
+ * import this symbol; do not collapse the call sites without coordinating.
24
29
  */
25
30
  export declare function getAgentListDisplayName(configKey: string): string;
26
31
  /**
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Agent sort shim.
3
+ *
4
+ * OpenCode 1.4.x ignores the agent `order` field (sst/opencode#19127) and
5
+ * sorts the agent list by `agent.name` via Remeda `sortBy(x => x.name, "asc")`
6
+ * at packages/opencode/src/agent/agent.ts. Without intervention, the four
7
+ * core agents collapse into Atlas -> Hephaestus -> Prometheus -> Sisyphus,
8
+ * which inverts the canonical sisyphus -> hephaestus -> prometheus -> atlas
9
+ * order this project ships.
10
+ *
11
+ * Earlier attempts to bias the sort key with invisible characters (ZWSP,
12
+ * U+2060 WORD JOINER, U+00AD SOFT HYPHEN, ANSI escape) caused visible-gap
13
+ * and column-truncation regressions in the TUI status bar (#3259, #3238).
14
+ *
15
+ * This shim is the narrowly-scoped alternative from PR #3267 with the Cubic
16
+ * P1 mitigations applied:
17
+ * 1. `isAgentArray` rejects any array element that is null, non-object, or
18
+ * lacks a string `name`, eliminating the throw-on-mixed-array failure
19
+ * mode that closed the original PR.
20
+ * 2. The activation predicate requires >= 2 elements whose `.name` is one
21
+ * of the four canonical core display names, so unrelated `.sort()` and
22
+ * `.toSorted()` calls (string arrays, number arrays, generic objects)
23
+ * execute native behavior unchanged.
24
+ *
25
+ * Remove this shim once OpenCode honors the agent `order` field
26
+ * (sst/opencode#19127).
27
+ */
28
+ export declare function installAgentSortShim(): void;
@@ -1,4 +1,4 @@
1
- import type { OpenCodeBinaryType, OpenCodeConfigPaths } from "../../shared/opencode-config-dir-types";
1
+ import type { OpenCodeBinaryType, OpenCodeConfigPaths } from "./opencode-config-dir-types";
2
2
  export interface ConfigContext {
3
3
  binary: OpenCodeBinaryType;
4
4
  version: string | null;
@@ -1 +1,2 @@
1
+ export declare function resolveFilePath(filePath: string, cwd: string): string;
1
2
  export declare function resolveFileReferencesInText(text: string, cwd?: string, depth?: number, maxDepth?: number): Promise<string>;
@@ -0,0 +1,6 @@
1
+ export { EXCLUDED_DIRS } from "../../shared/excluded-dirs";
2
+ export { parseFrontmatter } from "../../shared/frontmatter";
3
+ export { sanitizeModelField } from "../../shared/model-sanitizer";
4
+ export { getOpenCodeCommandDirs } from "../../shared/opencode-command-dirs";
5
+ export { discoverPluginCommandDefinitions } from "../../shared/plugin-command-discovery";
6
+ export { findProjectOpencodeCommandDirs } from "../../shared/project-discovery-dirs";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wolfx/oh-my-openagent",
3
- "version": "3.17.5",
3
+ "version": "3.17.6-patch.1",
4
4
  "description": "A fork of oh-my-openagent",
5
5
  "main": "./dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -57,13 +57,10 @@
57
57
  "@modelcontextprotocol/sdk": "^1.25.2",
58
58
  "@opencode-ai/plugin": "^1.4.0",
59
59
  "@opencode-ai/sdk": "^1.4.0",
60
- "commander": "^14.0.2",
61
60
  "diff": "^8.0.3",
62
61
  "js-yaml": "^4.1.1",
63
62
  "jsonc-parser": "^3.3.1",
64
- "picocolors": "^1.1.1",
65
63
  "picomatch": "^4.0.2",
66
- "posthog-node": "^5.29.2",
67
64
  "vscode-jsonrpc": "^8.2.0",
68
65
  "zod": "^4.3.0"
69
66
  },
@@ -1,2 +0,0 @@
1
- import type { InstallArgs } from "./types";
2
- export declare function runCliInstaller(args: InstallArgs, version: string): Promise<number>;
@@ -1 +0,0 @@
1
- export declare function runCli(): void;
@@ -1,2 +0,0 @@
1
- import type { ConfigMergeResult } from "../types";
2
- export declare function addPluginToOpenCodeConfig(currentVersion: string): Promise<ConfigMergeResult>;
@@ -1,6 +0,0 @@
1
- export interface BackupResult {
2
- success: boolean;
3
- backupPath?: string;
4
- error?: string;
5
- }
6
- export declare function backupConfigFile(configPath: string): BackupResult;
@@ -1 +0,0 @@
1
- export declare function deepMergeRecord<TTarget extends Record<string, unknown>>(target: TTarget, source: Partial<TTarget>): TTarget;
@@ -1,2 +0,0 @@
1
- import type { DetectedConfig } from "../types";
2
- export declare function detectCurrentConfig(): DetectedConfig;
@@ -1 +0,0 @@
1
- export declare function ensureConfigDirectoryExists(): void;
@@ -1 +0,0 @@
1
- export declare function formatErrorWithSuggestion(err: unknown, context: string): string;
@@ -1,2 +0,0 @@
1
- import type { InstallConfig } from "../types";
2
- export declare function generateOmoConfig(installConfig: InstallConfig): Record<string, unknown>;
@@ -1,7 +0,0 @@
1
- export interface NpmDistTags {
2
- latest?: string;
3
- beta?: string;
4
- next?: string;
5
- [tag: string]: string | undefined;
6
- }
7
- export declare function fetchNpmDistTags(packageName: string): Promise<NpmDistTags | null>;
@@ -1,2 +0,0 @@
1
- export declare function isOpenCodeInstalled(): Promise<boolean>;
2
- export declare function getOpenCodeVersion(): Promise<string | null>;
@@ -1,5 +0,0 @@
1
- export type ConfigFormat = "json" | "jsonc" | "none";
2
- export declare function detectConfigFormat(): {
3
- format: ConfigFormat;
4
- path: string;
5
- };
@@ -1,10 +0,0 @@
1
- interface ParseConfigResult {
2
- config: OpenCodeConfig | null;
3
- error?: string;
4
- }
5
- export interface OpenCodeConfig {
6
- plugin?: string[];
7
- [key: string]: unknown;
8
- }
9
- export declare function parseOpenCodeConfigFileWithError(path: string): ParseConfigResult;
10
- export {};
@@ -1 +0,0 @@
1
- export declare function getPluginNameWithVersion(currentVersion: string, packageName?: string): Promise<string>;
@@ -1,9 +0,0 @@
1
- export interface VersionCompatibility {
2
- canUpgrade: boolean;
3
- reason?: string;
4
- isDowngrade: boolean;
5
- isMajorBump: boolean;
6
- requiresMigration: boolean;
7
- }
8
- export declare function checkVersionCompatibility(currentVersion: string | null, newVersion: string): VersionCompatibility;
9
- export declare function extractVersionFromPluginEntry(entry: string): string | null;
@@ -1,2 +0,0 @@
1
- import type { ConfigMergeResult, InstallConfig } from "../types";
2
- export declare function writeOmoConfig(installConfig: InstallConfig): ConfigMergeResult;
@@ -1,15 +0,0 @@
1
- export type { ConfigContext } from "./config-manager/config-context";
2
- export { initConfigContext, getConfigContext, resetConfigContext, } from "./config-manager/config-context";
3
- export { fetchNpmDistTags } from "./config-manager/npm-dist-tags";
4
- export { getPluginNameWithVersion } from "./config-manager/plugin-name-with-version";
5
- export { addPluginToOpenCodeConfig } from "./config-manager/add-plugin-to-opencode-config";
6
- export { generateOmoConfig } from "./config-manager/generate-omo-config";
7
- export { writeOmoConfig } from "./config-manager/write-omo-config";
8
- export { isOpenCodeInstalled, getOpenCodeVersion } from "./config-manager/opencode-binary";
9
- export { detectCurrentConfig } from "./config-manager/detect-current-config";
10
- export type { BunInstallResult } from "./config-manager/bun-install";
11
- export { runBunInstall, runBunInstallWithDetails } from "./config-manager/bun-install";
12
- export type { VersionCompatibility } from "./config-manager/version-compatibility";
13
- export { checkVersionCompatibility, extractVersionFromPluginEntry, } from "./config-manager/version-compatibility";
14
- export type { BackupResult } from "./config-manager/backup-config";
15
- export { backupConfigFile } from "./config-manager/backup-config";
@@ -1,2 +0,0 @@
1
- import type { CheckResult } from "../types";
2
- export declare function checkConfig(): Promise<CheckResult>;
@@ -1,4 +0,0 @@
1
- import type { DependencyInfo } from "../types";
2
- export declare function checkAstGrepCli(): Promise<DependencyInfo>;
3
- export declare function checkAstGrepNapi(): Promise<DependencyInfo>;
4
- export declare function checkCommentChecker(): Promise<DependencyInfo>;
@@ -1,7 +0,0 @@
1
- import type { CheckDefinition } from "../types";
2
- import { gatherSystemInfo } from "./system";
3
- import { gatherToolsSummary } from "./tools";
4
- export type { CheckDefinition };
5
- export * from "./model-resolution-types";
6
- export { gatherSystemInfo, gatherToolsSummary };
7
- export declare function getAllCheckDefinitions(): CheckDefinition[];
@@ -1,2 +0,0 @@
1
- import type { AvailableModelsInfo } from "./model-resolution-types";
2
- export declare function loadAvailableModelsFromCache(): AvailableModelsInfo;
@@ -1,2 +0,0 @@
1
- import type { OmoConfig } from "./model-resolution-types";
2
- export declare function loadOmoConfig(): OmoConfig | null;
@@ -1,6 +0,0 @@
1
- import type { AvailableModelsInfo, ModelResolutionInfo, OmoConfig } from "./model-resolution-types";
2
- export declare function buildModelResolutionDetails(options: {
3
- info: ModelResolutionInfo;
4
- available: AvailableModelsInfo;
5
- config: OmoConfig;
6
- }): string[];
@@ -1,3 +0,0 @@
1
- import type { ModelRequirement } from "../../../shared/model-requirements";
2
- export declare function getEffectiveModel(requirement: ModelRequirement, userOverride?: string): string;
3
- export declare function buildEffectiveResolution(requirement: ModelRequirement, userOverride?: string): string;
@@ -1,40 +0,0 @@
1
- import type { ModelCapabilitiesDiagnostics } from "../../../shared/model-capabilities";
2
- import type { ModelRequirement } from "../../../shared/model-requirements";
3
- export interface AgentResolutionInfo {
4
- name: string;
5
- requirement: ModelRequirement;
6
- userOverride?: string;
7
- userVariant?: string;
8
- effectiveModel: string;
9
- effectiveResolution: string;
10
- capabilityDiagnostics?: ModelCapabilitiesDiagnostics;
11
- }
12
- export interface CategoryResolutionInfo {
13
- name: string;
14
- requirement: ModelRequirement;
15
- userOverride?: string;
16
- userVariant?: string;
17
- effectiveModel: string;
18
- effectiveResolution: string;
19
- capabilityDiagnostics?: ModelCapabilitiesDiagnostics;
20
- }
21
- export interface ModelResolutionInfo {
22
- agents: AgentResolutionInfo[];
23
- categories: CategoryResolutionInfo[];
24
- }
25
- export interface OmoConfig {
26
- agents?: Record<string, {
27
- model?: string;
28
- variant?: string;
29
- category?: string;
30
- }>;
31
- categories?: Record<string, {
32
- model?: string;
33
- variant?: string;
34
- }>;
35
- }
36
- export interface AvailableModelsInfo {
37
- providers: string[];
38
- modelCount: number;
39
- cacheExists: boolean;
40
- }
@@ -1,5 +0,0 @@
1
- import type { ModelRequirement } from "../../../shared/model-requirements";
2
- import type { OmoConfig } from "./model-resolution-types";
3
- export declare function formatModelWithVariant(model: string, variant?: string): string;
4
- export declare function getEffectiveVariant(agentName: string, requirement: ModelRequirement, config: OmoConfig): string | undefined;
5
- export declare function getCategoryEffectiveVariant(categoryName: string, requirement: ModelRequirement, config: OmoConfig): string | undefined;
@@ -1,7 +0,0 @@
1
- import type { CheckResult, DoctorIssue } from "../types";
2
- import type { ModelResolutionInfo, OmoConfig } from "./model-resolution-types";
3
- export declare function getModelResolutionInfo(): ModelResolutionInfo;
4
- export declare function getModelResolutionInfoWithOverrides(config: OmoConfig): ModelResolutionInfo;
5
- export declare function collectCapabilityResolutionIssues(info: ModelResolutionInfo): DoctorIssue[];
6
- export declare function checkModels(): Promise<CheckResult>;
7
- export declare const checkModelResolution: typeof checkModels;
@@ -1,13 +0,0 @@
1
- export interface OpenCodeBinaryInfo {
2
- binary: string;
3
- path: string;
4
- }
5
- export declare function getDesktopAppPaths(platform: NodeJS.Platform): string[];
6
- export declare function getBinaryLookupCommand(platform: NodeJS.Platform): "which" | "where";
7
- export declare function parseBinaryPaths(output: string): string[];
8
- export declare function selectBinaryPath(paths: string[], platform: NodeJS.Platform): string | null;
9
- export declare function buildVersionCommand(binaryPath: string, platform: NodeJS.Platform): string[];
10
- export declare function findDesktopBinary(platform?: NodeJS.Platform, checkExists?: (path: string) => boolean): OpenCodeBinaryInfo | null;
11
- export declare function findOpenCodeBinary(): Promise<OpenCodeBinaryInfo | null>;
12
- export declare function getOpenCodeVersion(binaryPath: string, platform?: NodeJS.Platform): Promise<string | null>;
13
- export declare function compareVersions(current: string, minimum: string): boolean;
@@ -1,10 +0,0 @@
1
- export interface LoadedVersionInfo {
2
- cacheDir: string;
3
- cachePackagePath: string;
4
- installedPackagePath: string;
5
- expectedVersion: string | null;
6
- loadedVersion: string | null;
7
- }
8
- export declare function getLoadedPluginVersion(): LoadedVersionInfo;
9
- export declare function getLatestPluginVersion(currentVersion: string | null): Promise<string | null>;
10
- export declare function getSuggestedInstallTag(currentVersion: string | null): string;
@@ -1,15 +0,0 @@
1
- export interface PluginInfo {
2
- registered: boolean;
3
- configPath: string | null;
4
- entry: string | null;
5
- isPinned: boolean;
6
- pinnedVersion: string | null;
7
- isLocalDev: boolean;
8
- }
9
- declare function detectConfigPath(): string | null;
10
- declare function findPluginEntry(entries: string[]): {
11
- entry: string;
12
- isLocalDev: boolean;
13
- } | null;
14
- export declare function getPluginInfo(): PluginInfo;
15
- export { detectConfigPath, findPluginEntry };
@@ -1,16 +0,0 @@
1
- import type { CheckResult, SystemInfo } from "../types";
2
- import { findOpenCodeBinary, getOpenCodeVersion, compareVersions } from "./system-binary";
3
- import { getPluginInfo } from "./system-plugin";
4
- import { getLatestPluginVersion, getLoadedPluginVersion, getSuggestedInstallTag } from "./system-loaded-version";
5
- interface SystemCheckDeps {
6
- findOpenCodeBinary: typeof findOpenCodeBinary;
7
- getOpenCodeVersion: typeof getOpenCodeVersion;
8
- compareVersions: typeof compareVersions;
9
- getPluginInfo: typeof getPluginInfo;
10
- getLoadedPluginVersion: typeof getLoadedPluginVersion;
11
- getLatestPluginVersion: typeof getLatestPluginVersion;
12
- getSuggestedInstallTag: typeof getSuggestedInstallTag;
13
- }
14
- export declare function gatherSystemInfo(deps?: SystemCheckDeps): Promise<SystemInfo>;
15
- export declare function checkSystem(deps?: SystemCheckDeps): Promise<CheckResult>;
16
- export {};
@@ -1,10 +0,0 @@
1
- export interface GhCliInfo {
2
- installed: boolean;
3
- version: string | null;
4
- path: string | null;
5
- authenticated: boolean;
6
- username: string | null;
7
- scopes: string[];
8
- error: string | null;
9
- }
10
- export declare function getGhCliInfo(): Promise<GhCliInfo>;
@@ -1,4 +0,0 @@
1
- export declare function getInstalledLspServers(): Array<{
2
- id: string;
3
- extensions: string[];
4
- }>;
@@ -1,3 +0,0 @@
1
- import type { McpServerInfo } from "../types";
2
- export declare function getBuiltinMcpInfo(): McpServerInfo[];
3
- export declare function getUserMcpInfo(): McpServerInfo[];
@@ -1,3 +0,0 @@
1
- import type { CheckResult, ToolsSummary } from "../types";
2
- export declare function gatherToolsSummary(): Promise<ToolsSummary>;
3
- export declare function checkTools(): Promise<CheckResult>;
@@ -1,29 +0,0 @@
1
- export declare const SYMBOLS: {
2
- readonly check: string;
3
- readonly cross: string;
4
- readonly warn: string;
5
- readonly info: string;
6
- readonly arrow: string;
7
- readonly bullet: string;
8
- readonly skip: string;
9
- };
10
- export declare const STATUS_COLORS: {
11
- readonly pass: import("picocolors/types").Formatter;
12
- readonly fail: import("picocolors/types").Formatter;
13
- readonly warn: import("picocolors/types").Formatter;
14
- readonly skip: import("picocolors/types").Formatter;
15
- };
16
- export declare const CHECK_IDS: {
17
- readonly SYSTEM: "system";
18
- readonly CONFIG: "config";
19
- readonly TOOLS: "tools";
20
- readonly MODELS: "models";
21
- };
22
- export declare const CHECK_NAMES: Record<string, string>;
23
- export declare const EXIT_CODES: {
24
- readonly SUCCESS: 0;
25
- readonly FAILURE: 1;
26
- };
27
- export declare const MIN_OPENCODE_VERSION = "1.4.0";
28
- export declare const PACKAGE_NAME = "oh-my-opencode";
29
- export declare const OPENCODE_BINARIES: readonly ["opencode", "opencode-desktop"];
@@ -1,2 +0,0 @@
1
- import type { DoctorResult } from "./types";
2
- export declare function formatDefault(result: DoctorResult): string;
@@ -1,6 +0,0 @@
1
- import type { CheckStatus, DoctorIssue } from "./types";
2
- export declare function formatStatusSymbol(status: CheckStatus): string;
3
- export declare function formatStatusMark(available: boolean): string;
4
- export declare function stripAnsi(str: string): string;
5
- export declare function formatHeader(): string;
6
- export declare function formatIssue(issue: DoctorIssue, index: number): string;
@@ -1,2 +0,0 @@
1
- import type { DoctorResult } from "./types";
2
- export declare function formatStatus(result: DoctorResult): string;
@@ -1,2 +0,0 @@
1
- import type { DoctorResult } from "./types";
2
- export declare function formatVerbose(result: DoctorResult): string;
@@ -1,3 +0,0 @@
1
- import type { DoctorResult, DoctorMode } from "./types";
2
- export declare function formatDoctorOutput(result: DoctorResult, mode: DoctorMode): string;
3
- export declare function formatJsonOutput(result: DoctorResult): string;
@@ -1,5 +0,0 @@
1
- import type { DoctorOptions } from "./types";
2
- export declare function doctor(options?: DoctorOptions): Promise<number>;
3
- export * from "./types";
4
- export { runDoctor } from "./runner";
5
- export { formatDoctorOutput, formatJsonOutput } from "./formatter";
@@ -1,5 +0,0 @@
1
- import type { DoctorOptions, DoctorResult, CheckDefinition, CheckResult, DoctorSummary } from "./types";
2
- export declare function runCheck(check: CheckDefinition): Promise<CheckResult>;
3
- export declare function calculateSummary(results: CheckResult[], duration: number): DoctorSummary;
4
- export declare function determineExitCode(results: CheckResult[]): number;
5
- export declare function runDoctor(options: DoctorOptions): Promise<DoctorResult>;
@@ -1,8 +0,0 @@
1
- import type { SpawnOptions } from "../../shared/spawn-with-windows-hide";
2
- export interface SpawnWithTimeoutResult {
3
- stdout: string;
4
- stderr: string;
5
- exitCode: number;
6
- timedOut: boolean;
7
- }
8
- export declare function spawnWithTimeout(command: string[], options: SpawnOptions, timeoutMs?: number): Promise<SpawnWithTimeoutResult>;
@@ -1,120 +0,0 @@
1
- export type DoctorMode = "default" | "status" | "verbose";
2
- export interface DoctorOptions {
3
- mode: DoctorMode;
4
- json?: boolean;
5
- }
6
- export interface DoctorIssue {
7
- title: string;
8
- description: string;
9
- fix?: string;
10
- affects?: string[];
11
- severity: "error" | "warning";
12
- }
13
- export type CheckStatus = "pass" | "fail" | "warn" | "skip";
14
- export interface CheckResult {
15
- name: string;
16
- status: CheckStatus;
17
- message: string;
18
- details?: string[];
19
- issues: DoctorIssue[];
20
- duration?: number;
21
- }
22
- export type CheckFunction = () => Promise<CheckResult>;
23
- export interface CheckDefinition {
24
- id: string;
25
- name: string;
26
- check: CheckFunction;
27
- critical?: boolean;
28
- }
29
- export interface SystemInfo {
30
- opencodeVersion: string | null;
31
- opencodePath: string | null;
32
- pluginVersion: string | null;
33
- loadedVersion: string | null;
34
- bunVersion: string | null;
35
- configPath: string | null;
36
- configValid: boolean;
37
- isLocalDev: boolean;
38
- }
39
- export interface ToolsSummary {
40
- lspServers: Array<{
41
- id: string;
42
- extensions: string[];
43
- }>;
44
- astGrepCli: boolean;
45
- astGrepNapi: boolean;
46
- commentChecker: boolean;
47
- ghCli: {
48
- installed: boolean;
49
- authenticated: boolean;
50
- username: string | null;
51
- };
52
- mcpBuiltin: string[];
53
- mcpUser: string[];
54
- }
55
- export interface DoctorSummary {
56
- total: number;
57
- passed: number;
58
- failed: number;
59
- warnings: number;
60
- skipped: number;
61
- duration: number;
62
- }
63
- export interface DoctorResult {
64
- results: CheckResult[];
65
- systemInfo: SystemInfo;
66
- tools: ToolsSummary;
67
- summary: DoctorSummary;
68
- exitCode: number;
69
- }
70
- export type CheckCategory = "installation" | "configuration" | "authentication" | "dependencies" | "tools" | "updates";
71
- export interface OpenCodeInfo {
72
- installed: boolean;
73
- version: string | null;
74
- path: string | null;
75
- binary: "opencode" | "opencode-desktop" | null;
76
- }
77
- export interface PluginInfo {
78
- registered: boolean;
79
- configPath: string | null;
80
- entry: string | null;
81
- isPinned: boolean;
82
- pinnedVersion: string | null;
83
- }
84
- export interface ConfigInfo {
85
- exists: boolean;
86
- path: string | null;
87
- format: "json" | "jsonc" | null;
88
- valid: boolean;
89
- errors: string[];
90
- }
91
- export type AuthProviderId = "anthropic" | "openai" | "google";
92
- export interface AuthProviderInfo {
93
- id: AuthProviderId;
94
- name: string;
95
- pluginInstalled: boolean;
96
- configured: boolean;
97
- error?: string;
98
- }
99
- export interface DependencyInfo {
100
- name: string;
101
- required: boolean;
102
- installed: boolean;
103
- version: string | null;
104
- path: string | null;
105
- installHint?: string;
106
- }
107
- export interface McpServerInfo {
108
- id: string;
109
- type: "builtin" | "user";
110
- enabled: boolean;
111
- valid: boolean;
112
- error?: string;
113
- }
114
- export interface VersionCheckInfo {
115
- currentVersion: string | null;
116
- latestVersion: string | null;
117
- isUpToDate: boolean;
118
- isLocalDev: boolean;
119
- isPinned: boolean;
120
- }
@@ -1,10 +0,0 @@
1
- import type { FallbackEntry } from "../shared/model-requirements";
2
- import type { ProviderAvailability } from "./model-fallback-types";
3
- export declare function resolveModelFromChain(fallbackChain: FallbackEntry[], availability: ProviderAvailability): {
4
- model: string;
5
- variant?: string;
6
- } | null;
7
- export declare function getSisyphusFallbackChain(): FallbackEntry[];
8
- export declare function isAnyFallbackEntryAvailable(fallbackChain: FallbackEntry[], availability: ProviderAvailability): boolean;
9
- export declare function isRequiredModelAvailable(requiresModel: string, fallbackChain: FallbackEntry[], availability: ProviderAvailability): boolean;
10
- export declare function isRequiredProviderAvailable(requiredProviders: string[], availability: ProviderAvailability): boolean;
@@ -1,3 +0,0 @@
1
- import type { VersionInfo } from "./types";
2
- export declare function formatVersionOutput(info: VersionInfo): string;
3
- export declare function formatJsonOutput(info: VersionInfo): string;