90 lines
2.7 KiB
JavaScript
90 lines
2.7 KiB
JavaScript
import { createAssetService } from './mindspace-assets.mjs';
|
|
import { createConversationPackageRegistry } from './mindspace-conversation-package-registry.mjs';
|
|
import { createConversationPackageStore } from './mindspace-conversation-package-store.mjs';
|
|
import { createCleanupService } from './mindspace-cleanup.mjs';
|
|
import { createAgentJobService } from './mindspace-agent-jobs.mjs';
|
|
import { createAssetAgentService } from './mindspace-asset-agent.mjs';
|
|
import { createPageLiveEditService } from './mindspace-page-live-edit.mjs';
|
|
import { createPageService } from './mindspace-pages.mjs';
|
|
import { createPublicationService } from './mindspace-publications.mjs';
|
|
import { createMindSpaceLocalRuntime } from './mindspace-runtime-config.mjs';
|
|
|
|
export function createMindSpaceLocalRuntimeServices({
|
|
pool,
|
|
h5Root,
|
|
env = process.env,
|
|
maxFileBytes,
|
|
publicPageLimit,
|
|
resolveUserIdForAgentSession,
|
|
conversationPackageBackfill,
|
|
conversationPackagePublicHtmlHydrator,
|
|
logger = console,
|
|
} = {}) {
|
|
let conversationPackageRegistry = null;
|
|
const runtime = createMindSpaceLocalRuntime({
|
|
h5Root,
|
|
env,
|
|
logger,
|
|
conversationPackageBackfill: ({ user, sessionId }) =>
|
|
conversationPackageBackfill?.({
|
|
user,
|
|
sessionId,
|
|
storageRoot: runtime.storageRoot,
|
|
registry: conversationPackageRegistry,
|
|
}),
|
|
conversationPackagePublicHtmlHydrator,
|
|
});
|
|
|
|
conversationPackageRegistry = createConversationPackageRegistry({
|
|
store: createConversationPackageStore(pool),
|
|
service: runtime.serviceFacade,
|
|
});
|
|
|
|
const assetService = createAssetService(pool, {
|
|
h5Root,
|
|
storageRoot: runtime.storageRoot,
|
|
maxFileBytes,
|
|
conversationPackageRegistry,
|
|
});
|
|
const pageService = createPageService(pool, {
|
|
h5Root,
|
|
storageRoot: runtime.storageRoot,
|
|
conversationPackageRegistry,
|
|
});
|
|
const publicationService = createPublicationService(pool, {
|
|
h5Root,
|
|
storageRoot: runtime.storageRoot,
|
|
publicPageLimit,
|
|
conversationPackageRegistry,
|
|
});
|
|
const cleanupService = createCleanupService(pool, {
|
|
storageRoot: runtime.storageRoot,
|
|
h5Root,
|
|
});
|
|
const agentJobService = createAgentJobService(pool, {
|
|
pageService,
|
|
storageRoot: runtime.storageRoot,
|
|
maxOutputBytes: maxFileBytes,
|
|
});
|
|
const pageLiveEditService = createPageLiveEditService({
|
|
pageService,
|
|
resolveUserIdForAgentSession,
|
|
});
|
|
const assetAgentService = createAssetAgentService({
|
|
assetService,
|
|
resolveUserIdForAgentSession,
|
|
});
|
|
|
|
return {
|
|
...runtime,
|
|
conversationPackageRegistry,
|
|
assetService,
|
|
pageService,
|
|
publicationService,
|
|
cleanupService,
|
|
agentJobService,
|
|
pageLiveEditService,
|
|
assetAgentService,
|
|
};
|
|
}
|