fix(cli): resolve repo-wide tsc --noEmit type errors (#512)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -3,7 +3,7 @@ import os from "os"
|
||||
import path from "path"
|
||||
import { loadClaudePlugin } from "../parsers/claude"
|
||||
import { targets, validateScope } from "../targets"
|
||||
import type { PermissionMode } from "../converters/claude-to-opencode"
|
||||
import type { ClaudeToOpenCodeOptions, PermissionMode } from "../converters/claude-to-opencode"
|
||||
import { ensureCodexAgentsFile } from "../utils/codex-agents"
|
||||
import { expandHome, resolveTargetHome } from "../utils/resolve-home"
|
||||
import { resolveTargetOutputRoot } from "../utils/resolve-output"
|
||||
@@ -92,7 +92,7 @@ export default defineCommand({
|
||||
const openclawHome = resolveTargetHome(args.openclawHome, path.join(os.homedir(), ".openclaw", "extensions"))
|
||||
const qwenHome = resolveTargetHome(args.qwenHome, path.join(os.homedir(), ".qwen", "extensions"))
|
||||
|
||||
const options = {
|
||||
const options: ClaudeToOpenCodeOptions = {
|
||||
agentMode: String(args.agentMode) === "primary" ? "primary" : "subagent",
|
||||
inferTemperature: Boolean(args.inferTemperature),
|
||||
permissions: permissions as PermissionMode,
|
||||
|
||||
@@ -6,7 +6,7 @@ import { fileURLToPath } from "url"
|
||||
import { loadClaudePlugin } from "../parsers/claude"
|
||||
import { targets, validateScope } from "../targets"
|
||||
import { pathExists } from "../utils/files"
|
||||
import type { PermissionMode } from "../converters/claude-to-opencode"
|
||||
import type { ClaudeToOpenCodeOptions, PermissionMode } from "../converters/claude-to-opencode"
|
||||
import { ensureCodexAgentsFile } from "../utils/codex-agents"
|
||||
import { expandHome, resolveTargetHome } from "../utils/resolve-home"
|
||||
import { resolveTargetOutputRoot } from "../utils/resolve-output"
|
||||
@@ -103,7 +103,7 @@ export default defineCommand({
|
||||
const openclawHome = resolveTargetHome(args.openclawHome, path.join(os.homedir(), ".openclaw", "extensions"))
|
||||
const qwenHome = resolveTargetHome(args.qwenHome, path.join(os.homedir(), ".qwen", "extensions"))
|
||||
|
||||
const options = {
|
||||
const options: ClaudeToOpenCodeOptions = {
|
||||
agentMode: String(args.agentMode) === "primary" ? "primary" : "subagent",
|
||||
inferTemperature: Boolean(args.inferTemperature),
|
||||
permissions: permissions as PermissionMode,
|
||||
|
||||
@@ -350,7 +350,7 @@ function applyPermissions(
|
||||
}
|
||||
}
|
||||
|
||||
const permission: Record<string, "allow" | "deny"> = {}
|
||||
const permission: Record<string, "allow" | "deny" | Record<string, "allow" | "deny">> = {}
|
||||
const tools: Record<string, boolean> = {}
|
||||
|
||||
for (const tool of sourceTools) {
|
||||
@@ -369,7 +369,7 @@ function applyPermissions(
|
||||
for (const pattern of toolPatterns) {
|
||||
patternPermission[pattern] = "allow"
|
||||
}
|
||||
;(permission as Record<string, typeof patternPermission>)[tool] = patternPermission
|
||||
;(permission)[tool] = patternPermission
|
||||
} else {
|
||||
permission[tool] = enabled.has(tool) ? "allow" : "deny"
|
||||
}
|
||||
@@ -383,7 +383,7 @@ function applyPermissions(
|
||||
for (const pattern of toolPatterns) {
|
||||
patternPermission[pattern] = "allow"
|
||||
}
|
||||
;(permission as Record<string, typeof patternPermission>)[tool] = patternPermission
|
||||
;(permission)[tool] = patternPermission
|
||||
}
|
||||
}
|
||||
|
||||
@@ -399,8 +399,8 @@ function applyPermissions(
|
||||
for (const pattern of combined) {
|
||||
combinedPermission[pattern] = "allow"
|
||||
}
|
||||
;(permission as Record<string, typeof combinedPermission>).edit = combinedPermission
|
||||
;(permission as Record<string, typeof combinedPermission>).write = combinedPermission
|
||||
;(permission).edit = combinedPermission
|
||||
;(permission).write = combinedPermission
|
||||
}
|
||||
|
||||
config.permission = permission
|
||||
|
||||
@@ -1,14 +1,4 @@
|
||||
import type { ClaudePlugin } from "../types/claude"
|
||||
import type { OpenCodeBundle } from "../types/opencode"
|
||||
import type { CodexBundle } from "../types/codex"
|
||||
import type { DroidBundle } from "../types/droid"
|
||||
import type { PiBundle } from "../types/pi"
|
||||
import type { CopilotBundle } from "../types/copilot"
|
||||
import type { GeminiBundle } from "../types/gemini"
|
||||
import type { KiroBundle } from "../types/kiro"
|
||||
import type { WindsurfBundle } from "../types/windsurf"
|
||||
import type { OpenClawBundle } from "../types/openclaw"
|
||||
import type { QwenBundle } from "../types/qwen"
|
||||
import { convertClaudeToOpenCode, type ClaudeToOpenCodeOptions } from "../converters/claude-to-opencode"
|
||||
import { convertClaudeToCodex } from "../converters/claude-to-codex"
|
||||
import { convertClaudeToDroid } from "../converters/claude-to-droid"
|
||||
@@ -72,62 +62,62 @@ export const targets: Record<string, TargetHandler> = {
|
||||
name: "opencode",
|
||||
implemented: true,
|
||||
convert: convertClaudeToOpenCode,
|
||||
write: writeOpenCodeBundle,
|
||||
write: writeOpenCodeBundle as TargetHandler["write"],
|
||||
},
|
||||
codex: {
|
||||
name: "codex",
|
||||
implemented: true,
|
||||
convert: convertClaudeToCodex as TargetHandler<CodexBundle>["convert"],
|
||||
write: writeCodexBundle as TargetHandler<CodexBundle>["write"],
|
||||
convert: convertClaudeToCodex as TargetHandler["convert"],
|
||||
write: writeCodexBundle as TargetHandler["write"],
|
||||
},
|
||||
droid: {
|
||||
name: "droid",
|
||||
implemented: true,
|
||||
convert: convertClaudeToDroid as TargetHandler<DroidBundle>["convert"],
|
||||
write: writeDroidBundle as TargetHandler<DroidBundle>["write"],
|
||||
convert: convertClaudeToDroid as TargetHandler["convert"],
|
||||
write: writeDroidBundle as TargetHandler["write"],
|
||||
},
|
||||
pi: {
|
||||
name: "pi",
|
||||
implemented: true,
|
||||
convert: convertClaudeToPi as TargetHandler<PiBundle>["convert"],
|
||||
write: writePiBundle as TargetHandler<PiBundle>["write"],
|
||||
convert: convertClaudeToPi as TargetHandler["convert"],
|
||||
write: writePiBundle as TargetHandler["write"],
|
||||
},
|
||||
copilot: {
|
||||
name: "copilot",
|
||||
implemented: true,
|
||||
convert: convertClaudeToCopilot as TargetHandler<CopilotBundle>["convert"],
|
||||
write: writeCopilotBundle as TargetHandler<CopilotBundle>["write"],
|
||||
convert: convertClaudeToCopilot as TargetHandler["convert"],
|
||||
write: writeCopilotBundle as TargetHandler["write"],
|
||||
},
|
||||
gemini: {
|
||||
name: "gemini",
|
||||
implemented: true,
|
||||
convert: convertClaudeToGemini as TargetHandler<GeminiBundle>["convert"],
|
||||
write: writeGeminiBundle as TargetHandler<GeminiBundle>["write"],
|
||||
convert: convertClaudeToGemini as TargetHandler["convert"],
|
||||
write: writeGeminiBundle as TargetHandler["write"],
|
||||
},
|
||||
kiro: {
|
||||
name: "kiro",
|
||||
implemented: true,
|
||||
convert: convertClaudeToKiro as TargetHandler<KiroBundle>["convert"],
|
||||
write: writeKiroBundle as TargetHandler<KiroBundle>["write"],
|
||||
convert: convertClaudeToKiro as TargetHandler["convert"],
|
||||
write: writeKiroBundle as TargetHandler["write"],
|
||||
},
|
||||
windsurf: {
|
||||
name: "windsurf",
|
||||
implemented: true,
|
||||
defaultScope: "global",
|
||||
supportedScopes: ["global", "workspace"],
|
||||
convert: convertClaudeToWindsurf as TargetHandler<WindsurfBundle>["convert"],
|
||||
write: writeWindsurfBundle as TargetHandler<WindsurfBundle>["write"],
|
||||
convert: convertClaudeToWindsurf as TargetHandler["convert"],
|
||||
write: writeWindsurfBundle as TargetHandler["write"],
|
||||
},
|
||||
openclaw: {
|
||||
name: "openclaw",
|
||||
implemented: true,
|
||||
convert: convertClaudeToOpenClaw as TargetHandler<OpenClawBundle>["convert"],
|
||||
write: writeOpenClawBundle as TargetHandler<OpenClawBundle>["write"],
|
||||
convert: convertClaudeToOpenClaw as TargetHandler["convert"],
|
||||
write: writeOpenClawBundle as TargetHandler["write"],
|
||||
},
|
||||
qwen: {
|
||||
name: "qwen",
|
||||
implemented: true,
|
||||
convert: convertClaudeToQwen as TargetHandler<QwenBundle>["convert"],
|
||||
write: writeQwenBundle as TargetHandler<QwenBundle>["write"],
|
||||
convert: convertClaudeToQwen as TargetHandler["convert"],
|
||||
write: writeQwenBundle as TargetHandler["write"],
|
||||
},
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user