收口 Makelore 客户端变更
This commit is contained in:
@@ -24,7 +24,7 @@ import {
|
||||
} from '../../opencode/playwright-mcp';
|
||||
import { NIANCODE_USER_MODEL_ACCOUNT_ID } from '../../../shared/user-model-config';
|
||||
import { listInstalledOpencodeSkills } from '../../opencode/skill-registry';
|
||||
import { BUNDLED_COURSE_SKILL_IDS } from '../../opencode/superpowers';
|
||||
import { BUNDLED_COURSE_SKILL_IDS } from '../../opencode/course-skills';
|
||||
import { logger } from '../../utils/logger';
|
||||
import { getProviderService } from '../../services/providers/provider-service';
|
||||
import { getValidWorksSquareAccessToken } from '../../services/works-square-session';
|
||||
@@ -41,6 +41,7 @@ import {
|
||||
} from '../../opencode/project-conversations';
|
||||
import {
|
||||
completeProjectSession,
|
||||
markProjectSessionRead,
|
||||
removeProjectSessionMetadata,
|
||||
patchProjectSessionMetadata,
|
||||
upsertProjectSessionMetadata,
|
||||
@@ -1017,16 +1018,8 @@ export async function handleOpencodeRoutes(
|
||||
if (!body.projectId || !body.config) throw new Error('Missing project configuration');
|
||||
const project = await findProjectById(ctx, body.projectId);
|
||||
if (!project) throw new Error('Project not found');
|
||||
const previousResult = await readProjectConfig(project.path);
|
||||
const previousConfig = previousResult.status === 'valid' ? previousResult.config : null;
|
||||
const config = await writeProjectConfig(project.path, body.config);
|
||||
let status = ctx.opencodeManager.getStatus();
|
||||
const runtimeSettingsChanged = !previousConfig
|
||||
|| previousConfig.defaultModel !== config.defaultModel
|
||||
|| previousConfig.superpowersEnabled !== config.superpowersEnabled;
|
||||
if (config.initialized && runtimeSettingsChanged && status.state === 'running') {
|
||||
status = await ctx.opencodeManager.restart();
|
||||
}
|
||||
const status = ctx.opencodeManager.getStatus();
|
||||
sendJson(res, 200, { success: true, config, knowledgeFiles: await listProjectKnowledge(project.path), status });
|
||||
} catch (error) {
|
||||
sendJson(res, 500, { success: false, error: error instanceof Error ? error.message : String(error) });
|
||||
@@ -1079,7 +1072,7 @@ export async function handleOpencodeRoutes(
|
||||
nextState = removeProjectSessionMetadata(state, sessionId, now);
|
||||
break;
|
||||
case 'read':
|
||||
nextState = patchProjectSessionMetadata(state, sessionId, { unreadCount: 0 }, now);
|
||||
nextState = markProjectSessionRead(state, sessionId, now);
|
||||
break;
|
||||
case 'increment-unread': {
|
||||
const current = state.sessions.find((item) => item.sessionId === sessionId);
|
||||
|
||||
Reference in New Issue
Block a user