Files

43 lines
1.3 KiB
JavaScript

import { bootstrapMindSpaceService } from './mindspace-service-bootstrap.mjs';
import { startMindSpaceRpcServer } from './mindspace-rpc-server.mjs';
const logger = console;
async function main() {
const service = await bootstrapMindSpaceService({ env: process.env, logger });
const rpc = await startMindSpaceRpcServer({
adapter: service.adapter,
env: process.env,
logger,
serviceMeta: {
operationBasePath: service.runtime.remote.operationBasePath,
},
});
logger.log(
`MindSpace service listening on http://${rpc.host}:${rpc.port}${service.runtime.remote.operationBasePath}`,
);
logger.log(`Memind root: ${service.memindRoot}`);
logger.log(`Standalone data root: ${service.standaloneDataRoot}`);
logger.log(`Standalone agent worker: ${service.backgroundJobs.agentWorker ? 'enabled' : 'disabled'}`);
const shutdown = async (signal) => {
logger.log(`Received ${signal}, shutting down MindSpace service...`);
await rpc.close().catch(() => {});
await service.close().catch(() => {});
process.exit(0);
};
process.on('SIGINT', () => {
void shutdown('SIGINT');
});
process.on('SIGTERM', () => {
void shutdown('SIGTERM');
});
}
main().catch((error) => {
console.error('MindSpace service failed to start:', error);
process.exit(1);
});