diff --git a/src/features/team-mode/team-runtime/delete-team.ts b/src/features/team-mode/team-runtime/delete-team.ts index 201b44a63..88d4e3df4 100644 --- a/src/features/team-mode/team-runtime/delete-team.ts +++ b/src/features/team-mode/team-runtime/delete-team.ts @@ -103,8 +103,11 @@ export async function deleteTeam( const removedLayout = config.tmux_visualization && tmuxMgr !== undefined && deps.canVisualize() if (removedLayout) { const memberPaneIds = runtimeState.members - .filter((member) => member.agentType !== "leader" && member.tmuxPaneId) - .map((member) => member.tmuxPaneId!) + .flatMap((member) => ( + member.agentType !== "leader" && member.tmuxPaneId + ? [member.tmuxPaneId] + : [] + )) const cleanupTarget = runtimeState.tmuxLayout ? { diff --git a/src/plugin-handlers/command-config-handler.ts b/src/plugin-handlers/command-config-handler.ts index b6dda6178..3d5fafd2c 100644 --- a/src/plugin-handlers/command-config-handler.ts +++ b/src/plugin-handlers/command-config-handler.ts @@ -43,8 +43,8 @@ export async function applyCommandConfig(params: { const includeClaudeSkills = params.pluginConfig.claude_code?.skills ?? true; const externalSkillPlugin = detectExternalSkillPlugin(params.ctx.directory); - if (includeClaudeSkills && externalSkillPlugin.detected) { - log(getSkillPluginConflictWarning(externalSkillPlugin.pluginName!)); + if (includeClaudeSkills && externalSkillPlugin.detected && externalSkillPlugin.pluginName) { + log(getSkillPluginConflictWarning(externalSkillPlugin.pluginName)); } const [ diff --git a/src/plugin/hooks/create-session-hooks.ts b/src/plugin/hooks/create-session-hooks.ts index ae2d7bb11..69208820a 100644 --- a/src/plugin/hooks/create-session-hooks.ts +++ b/src/plugin/hooks/create-session-hooks.ts @@ -101,8 +101,8 @@ export function createSessionHooks(args: { if (isHookEnabled("session-notification")) { const forceEnable = pluginConfig.notification?.force_enable ?? false const externalNotifier = detectExternalNotificationPlugin(ctx.directory) - if (externalNotifier.detected && !forceEnable) { - log(getNotificationConflictWarning(externalNotifier.pluginName!)) + if (externalNotifier.detected && externalNotifier.pluginName && !forceEnable) { + log(getNotificationConflictWarning(externalNotifier.pluginName)) } else { sessionNotification = safeHook("session-notification", () => createSessionNotification(ctx)) } diff --git a/src/shared/log-legacy-plugin-startup-warning.ts b/src/shared/log-legacy-plugin-startup-warning.ts index d1151b122..a1d242adf 100644 --- a/src/shared/log-legacy-plugin-startup-warning.ts +++ b/src/shared/log-legacy-plugin-startup-warning.ts @@ -16,7 +16,7 @@ export function logLegacyPluginStartupWarning(deps: LogLegacyPluginStartupWarnin const migrateLegacyPluginEntryFn = deps.migrateLegacyPluginEntry ?? migrateLegacyPluginEntry const result = checkForLegacyPluginEntryFn() - if (!result.hasLegacyEntry) { + if (!result.hasLegacyEntry || !result.configPath) { return } @@ -34,7 +34,7 @@ export function logLegacyPluginStartupWarning(deps: LogLegacyPluginStartupWarnin + ` Attempting auto-migration...`, ) - const migrated = migrateLegacyPluginEntryFn(result.configPath!) + const migrated = migrateLegacyPluginEntryFn(result.configPath) if (migrated) { console.warn(`[oh-my-openagent] Auto-migrated opencode.json: ${result.legacyEntries.join(", ")} -> ${suggestedEntries.join(", ")}`) } else {