feat: fix CI and format + refactor

This commit is contained in:
Ralph Khreish
2025-08-28 17:17:51 +02:00
parent 0cbb0b6a9f
commit 00eb71dce8
10 changed files with 140 additions and 91 deletions

View File

@@ -427,6 +427,19 @@ function getResearchProvider(explicitRoot = null) {
return getModelConfigForRole('research', explicitRoot).provider;
}
/**
* Check if Claude Code is being used as the provider
* @param {boolean} useResearch - Whether to check research provider or main provider
* @param {string|null} projectRoot - Project root path (optional)
* @returns {boolean} True if Claude Code is the current provider
*/
function isClaudeCode(useResearch = false, projectRoot = null) {
const currentProvider = useResearch
? getResearchProvider(projectRoot)
: getMainProvider(projectRoot);
return currentProvider === CUSTOM_PROVIDERS.CLAUDE_CODE;
}
function getResearchModelId(explicitRoot = null) {
return getModelConfigForRole('research', explicitRoot).modelId;
}
@@ -983,6 +996,7 @@ export {
getResearchModelId,
getResearchMaxTokens,
getResearchTemperature,
isClaudeCode,
getFallbackProvider,
getFallbackModelId,
getFallbackMaxTokens,

View File

@@ -25,8 +25,10 @@ import {
markMigrationForNotice
} from '../utils.js';
import { generateObjectService } from '../ai-services-unified.js';
import { getDefaultPriority, getMainProvider, getResearchProvider } from '../config-manager.js';
import { CUSTOM_PROVIDERS } from '../../../src/constants/providers.js';
import {
getDefaultPriority,
isClaudeCode
} from '../config-manager.js';
import { getPromptManager } from '../prompt-manager.js';
import ContextGatherer from '../utils/contextGatherer.js';
import generateTaskFiles from './generate-task-files.js';
@@ -110,15 +112,6 @@ async function addTask(
context;
const isMCP = !!mcpLog;
/**
* Check if Claude Code is being used
*/
const isClaudeCode = () => {
const currentProvider = useResearch
? getResearchProvider(projectRoot)
: getMainProvider(projectRoot);
return currentProvider === CUSTOM_PROVIDERS.CLAUDE_CODE;
};
// Create a consistent logFn object regardless of context
const logFn = isMCP
@@ -437,7 +430,7 @@ async function addTask(
useResearch,
priority: effectivePriority,
dependencies: numericDependencies,
isClaudeCode: isClaudeCode(),
isClaudeCode: isClaudeCode(useResearch, projectRoot),
projectRoot: projectRoot
}
);

View File

@@ -20,8 +20,10 @@ import {
flattenTasksWithSubtasks
} from '../utils.js';
import { generateTextService } from '../ai-services-unified.js';
import { getDebugFlag, getMainProvider, getResearchProvider } from '../config-manager.js';
import { CUSTOM_PROVIDERS } from '../../../src/constants/providers.js';
import {
getDebugFlag,
isClaudeCode
} from '../config-manager.js';
import { getPromptManager } from '../prompt-manager.js';
import generateTaskFiles from './generate-task-files.js';
import { ContextGatherer } from '../utils/contextGatherer.js';
@@ -53,16 +55,6 @@ async function updateSubtaskById(
const logFn = mcpLog || consoleLog;
const isMCP = !!mcpLog;
/**
* Check if Claude Code is being used
*/
const isClaudeCode = () => {
const projectRoot = providedProjectRoot || findProjectRoot();
const currentProvider = useResearch
? getResearchProvider(projectRoot)
: getMainProvider(projectRoot);
return currentProvider === CUSTOM_PROVIDERS.CLAUDE_CODE;
};
// Report helper
const report = (level, ...args) => {
@@ -244,7 +236,7 @@ async function updateSubtaskById(
updatePrompt: prompt,
useResearch: useResearch,
gatheredContext: gatheredContext || '',
isClaudeCode: isClaudeCode(),
isClaudeCode: isClaudeCode(useResearch, projectRoot),
projectRoot: projectRoot
};

View File

@@ -23,8 +23,11 @@ import {
} from '../ui.js';
import { generateTextService } from '../ai-services-unified.js';
import { getDebugFlag, isApiKeySet, getMainProvider, getResearchProvider } from '../config-manager.js';
import { CUSTOM_PROVIDERS } from '../../../src/constants/providers.js';
import {
getDebugFlag,
isApiKeySet,
isClaudeCode
} from '../config-manager.js';
import { getPromptManager } from '../prompt-manager.js';
import { ContextGatherer } from '../utils/contextGatherer.js';
import { FuzzyTaskSearch } from '../utils/fuzzyTaskSearch.js';
@@ -280,16 +283,6 @@ async function updateTaskById(
const logFn = mcpLog || consoleLog;
const isMCP = !!mcpLog;
/**
* Check if Claude Code is being used
*/
const isClaudeCode = () => {
const projectRoot = providedProjectRoot || findProjectRoot();
const currentProvider = useResearch
? getResearchProvider(projectRoot)
: getMainProvider(projectRoot);
return currentProvider === CUSTOM_PROVIDERS.CLAUDE_CODE;
};
// Use report helper for logging
const report = (level, ...args) => {
@@ -466,7 +459,7 @@ async function updateTaskById(
useResearch: useResearch,
currentDetails: taskToUpdate.details || '(No existing details)',
gatheredContext: gatheredContext || '',
isClaudeCode: isClaudeCode(),
isClaudeCode: isClaudeCode(useResearch, projectRoot),
projectRoot: projectRoot
};

View File

@@ -19,8 +19,10 @@ import {
displayAiUsageSummary
} from '../ui.js';
import { getDebugFlag, getMainProvider, getResearchProvider } from '../config-manager.js';
import { CUSTOM_PROVIDERS } from '../../../src/constants/providers.js';
import {
getDebugFlag,
isClaudeCode
} from '../config-manager.js';
import { getPromptManager } from '../prompt-manager.js';
import generateTaskFiles from './generate-task-files.js';
import { generateTextService } from '../ai-services-unified.js';
@@ -301,16 +303,6 @@ async function updateTasks(
// Flag to easily check which logger type we have
const isMCP = !!mcpLog;
/**
* Check if Claude Code is being used
*/
const isClaudeCode = () => {
const projectRoot = providedProjectRoot || findProjectRoot();
const currentProvider = useResearch
? getResearchProvider(projectRoot)
: getMainProvider(projectRoot);
return currentProvider === CUSTOM_PROVIDERS.CLAUDE_CODE;
};
if (isMCP)
logFn.info(`updateTasks called with context: session=${!!session}`);
@@ -448,7 +440,7 @@ async function updateTasks(
updatePrompt: prompt,
useResearch,
projectContext: gatheredContext,
isClaudeCode: isClaudeCode(),
isClaudeCode: isClaudeCode(useResearch, projectRoot),
projectRoot: projectRoot
}
);