feat: integrate image_make with MindSpace assets

This commit is contained in:
john
2026-07-19 18:34:50 +08:00
parent 2f4366e882
commit 5b88f8ece5
14 changed files with 768 additions and 14 deletions
+22
View File
@@ -16,6 +16,10 @@ import { createDbPool, initSchema, isDatabaseConfigured } from './db.mjs';
import { createWorkspacePageDeliverService } from './mindspace-workspace-page-deliver.mjs';
import { createUserDataSpaceService } from './user-data-space-service.mjs';
import { createToolGateway } from './tool-gateway.mjs';
import { createAssetGatewayConfigService } from './asset-gateway.mjs';
import { createImageMakeClientFromEnv } from './image-make-client.mjs';
import { createMindSpaceImageGenerationService } from './mindspace-image-generation.mjs';
import { attachMindSpaceImageGenerationRoutes } from './mindspace-image-generation-routes.mjs';
import { createAgentRunGateway } from './agent-run-gateway.mjs';
import {
createAgentRunEventsHandler,
@@ -362,6 +366,8 @@ function endSessionPageDelivery(sessionId) {
}
let chatIntentRouter = null;
let toolGateway = null;
let assetGatewayConfigService = null;
let mindSpaceImageGeneration = null;
let directChatService = null;
let sessionSnapshotService = null;
let conversationMemoryService = null;
@@ -663,6 +669,19 @@ async function bootstrapUserAuth() {
apiTargets: API_TARGETS,
apiSecret: API_SECRET,
});
assetGatewayConfigService = createAssetGatewayConfigService(pool, { llmProviderService });
let imageMakeClient = null;
try {
imageMakeClient = createImageMakeClientFromEnv(process.env);
} catch (error) {
console.warn('[image_make] invalid local configuration; integration stays disabled:', error?.message ?? error);
}
mindSpaceImageGeneration = createMindSpaceImageGenerationService({
configService: assetGatewayConfigService,
assetService: mindSpaceAssets,
imageMakeClient,
logger: console,
});
wordFilterService = createWordFilterService(pool);
void llmProviderService
.ensureBootstrapRelay()
@@ -2106,6 +2125,9 @@ api.use(async (req, res, next) => {
});
attachAsrRoutes(api, { sendError, sendData });
attachMindSpaceImageGenerationRoutes(api, {
getService: () => mindSpaceImageGeneration,
});
attachPageDataRoutes(api, {
sendError,
sendData,