d3239ff292
Ensure page sync runs via pageSyncService in remote mode, fall back to workspace HTML when storage assets are missing, and prevent production Portal from linking to loopback Plaza URLs baked in at build time. Co-authored-by: Cursor <cursoragent@cursor.com>
40 lines
1.4 KiB
JavaScript
40 lines
1.4 KiB
JavaScript
import assert from 'node:assert/strict';
|
|
import test from 'node:test';
|
|
import { createMindSpaceLocalRuntimeServices } from './mindspace-local-runtime-services.mjs';
|
|
|
|
test('createMindSpaceLocalRuntimeServices assembles local runtime-backed service bindings', () => {
|
|
const pool = {
|
|
query: async () => {
|
|
throw new Error('not implemented in unit test');
|
|
},
|
|
};
|
|
const services = createMindSpaceLocalRuntimeServices({
|
|
pool,
|
|
h5Root: '/tmp/h5',
|
|
env: {
|
|
MINDSPACE_STORAGE_ROOT: '/srv/mindspace-data',
|
|
H5_PUBLIC_BASE_URL: 'https://example.com',
|
|
},
|
|
maxFileBytes: 8192,
|
|
publicPageLimit: 8,
|
|
resolveUserIdForAgentSession: async () => 'user-1',
|
|
conversationPackageBackfill: () => [],
|
|
conversationPackagePublicHtmlHydrator: () => [],
|
|
logger: { info() {}, warn() {}, error() {} },
|
|
});
|
|
|
|
assert.equal(services.storageRoot, '/srv/mindspace-data');
|
|
assert.equal(services.publicBaseUrl, 'https://example.com');
|
|
assert.equal(services.storageAdapter.kind, 'local-fs');
|
|
assert.ok(services.serviceFacade);
|
|
assert.ok(services.conversationPackageRegistry);
|
|
assert.ok(services.assetService);
|
|
assert.ok(services.pageService);
|
|
assert.ok(services.pageSyncService);
|
|
assert.ok(services.publicationService);
|
|
assert.ok(services.cleanupService);
|
|
assert.ok(services.agentJobService);
|
|
assert.ok(services.pageLiveEditService);
|
|
assert.ok(services.assetAgentService);
|
|
});
|