diff --git a/packages/cli/src/ui/commands/planCommand.ts b/packages/cli/src/ui/commands/planCommand.ts index f439b8535b..3de3a09519 100644 --- a/packages/cli/src/ui/commands/planCommand.ts +++ b/packages/cli/src/ui/commands/planCommand.ts @@ -27,7 +27,9 @@ export const planCommand: SlashCommand = { const plansDir = config.storage.getProjectTempPlansDir(); try { - const securityCheck = await isDirectorySecure(plansDir); + const securityCheck = await isDirectorySecure(plansDir, { + owner: 'user', + }); if (!securityCheck.secure) { context.ui.addItem( { diff --git a/packages/cli/src/ui/contexts/UIStateContext.tsx b/packages/cli/src/ui/contexts/UIStateContext.tsx index d912bbb66d..9e0202c864 100644 --- a/packages/cli/src/ui/contexts/UIStateContext.tsx +++ b/packages/cli/src/ui/contexts/UIStateContext.tsx @@ -25,7 +25,8 @@ import type { FallbackIntent, ValidationIntent, AgentDefinition, - Todo } from '@google/gemini-cli-core'; + Todo, +} from '@google/gemini-cli-core'; import type { DOMElement } from 'ink'; import type { SessionStatsState } from '../contexts/SessionContext.js'; import type { ExtensionUpdateState } from '../state/extensions.js'; diff --git a/packages/cli/src/ui/hooks/usePlanMonitoring.ts b/packages/cli/src/ui/hooks/usePlanMonitoring.ts index 75e231f86a..d1dcbd4fa6 100644 --- a/packages/cli/src/ui/hooks/usePlanMonitoring.ts +++ b/packages/cli/src/ui/hooks/usePlanMonitoring.ts @@ -26,7 +26,9 @@ export function usePlanMonitoring(config: Config) { const updatePlan = async () => { try { - const securityCheck = await isDirectorySecure(plansDir); + const securityCheck = await isDirectorySecure(plansDir, { + owner: 'user', + }); if (!securityCheck.secure) { debugLogger.warn( 'Security check failed for plans directory', diff --git a/packages/core/src/utils/planUtils.ts b/packages/core/src/utils/planUtils.ts index ba4d251046..2c013e2d2b 100644 --- a/packages/core/src/utils/planUtils.ts +++ b/packages/core/src/utils/planUtils.ts @@ -44,7 +44,7 @@ export function parseMarkdownTodos(content: string): Todo[] { const description = taskMarkerMatch[2].split('\n')[0].trim(); // Take only the first line as description let status: TodoStatus = 'pending'; - if (marker === 'x') { + if (marker?.toLowerCase() === 'x') { status = 'completed'; } else if (marker === '/' || marker === '>') { status = 'in_progress';