Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions packages/jobs/src/plugin.ts
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ export class JobsPlugin implements Plugin {
(this.scheduler as any).logger = context.logger;

// Register jobs service
context.registerService('jobs', this);
context.registerService('job', this);

// Register built-in jobs if enabled
if (this.config.enableBuiltInJobs) {
Expand Down Expand Up @@ -360,7 +360,7 @@ export class JobsPlugin implements Plugin {
*/
export function getJobsAPI(kernel: any): JobsPlugin | null {
try {
return kernel.getService('jobs');
return kernel.getService('job');
} catch {
return null;
}
Expand Down
2 changes: 1 addition & 1 deletion packages/jobs/test/plugin.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ describe('Jobs Plugin', () => {
it('should initialize successfully', async () => {
await plugin.init(mockContext);

expect(mockContext.registerService).toHaveBeenCalledWith('jobs', plugin);
expect(mockContext.registerService).toHaveBeenCalledWith('job', plugin);
expect(mockContext.logger.info).toHaveBeenCalledWith(
expect.stringContaining('Initialized successfully')
);
Expand Down
6 changes: 3 additions & 3 deletions packages/realtime/src/plugin.ts
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ export const createRealtimePlugin = (options: RealtimePluginOptions = {}): Plugi
startedAt = Date.now();

// 1. Register the service so Adapters can find us
ctx.registerService('websocket-server', {
ctx.registerService('realtime', {
broadcast: (eventName: string, payload: any, meta?: { object?: string, userId?: string }) => {
if (!wss) return;

Expand Down Expand Up @@ -187,7 +187,7 @@ export const createRealtimePlugin = (options: RealtimePluginOptions = {}): Plugi
getServer: () => wss
});

ctx.logger.info('[Realtime] Service registered as "websocket-server"');
ctx.logger.info('[Realtime] Service registered as "realtime"');
},

async start(ctx: PluginContext) {
Expand Down Expand Up @@ -338,7 +338,7 @@ export const createRealtimePlugin = (options: RealtimePluginOptions = {}): Plugi
metrics: {
uptime: startedAt ? Date.now() - startedAt : 0,
},
checks: [{ name: 'websocket-server', status: wss ? 'passed' : 'failed', message }],
checks: [{ name: 'realtime', status: wss ? 'passed' : 'failed', message }],
};
},

Expand Down
34 changes: 17 additions & 17 deletions packages/realtime/test/plugin.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ describe('Realtime Plugin', () => {
await plugin.init(mockContext);

expect(mockContext.registerService).toHaveBeenCalledWith(
'websocket-server',
'realtime',
expect.objectContaining({
broadcast: expect.any(Function),
updatePresence: expect.any(Function),
Expand All @@ -131,7 +131,7 @@ describe('Realtime Plugin', () => {
);

// Verify server is accessible via the registered service
const service = mockKernel.services.get('websocket-server');
const service = mockKernel.services.get('realtime');
expect(service.getServer()).toBeDefined();
});

Expand Down Expand Up @@ -196,7 +196,7 @@ describe('Realtime Plugin', () => {
// Wait for the close event to propagate
await new Promise(resolve => setTimeout(resolve, 100));

const service = mockKernel.services.get('websocket-server');
const service = mockKernel.services.get('realtime');
const wss = service.getServer() as WebSocketServer;
expect(wss.clients.size).toBe(0);
});
Expand Down Expand Up @@ -318,7 +318,7 @@ describe('Realtime Plugin', () => {
await waitForMessage(client); // ack

// Broadcast via service
const service = mockKernel.services.get('websocket-server');
const service = mockKernel.services.get('realtime');
service.broadcast('user.created', { name: 'John', email: 'john@test.com' });

const event = await waitForMessage(client);
Expand All @@ -339,7 +339,7 @@ describe('Realtime Plugin', () => {
await waitForMessage(client); // ack

// Broadcast an order event
const service = mockKernel.services.get('websocket-server');
const service = mockKernel.services.get('realtime');
service.broadcast('order.created', { orderId: '123' });

// Should NOT receive anything (use timeout to verify)
Expand All @@ -355,7 +355,7 @@ describe('Realtime Plugin', () => {
}));
await waitForMessage(client); // ack

const service = mockKernel.services.get('websocket-server');
const service = mockKernel.services.get('realtime');
service.broadcast('user.updated', { id: '1', name: 'Jane' });

const event = await waitForMessage(client);
Expand All @@ -372,7 +372,7 @@ describe('Realtime Plugin', () => {
}));
await waitForMessage(client); // ack

const service = mockKernel.services.get('websocket-server');
const service = mockKernel.services.get('realtime');
service.broadcast('anything.goes', { data: true });

const event = await waitForMessage(client);
Expand All @@ -392,7 +392,7 @@ describe('Realtime Plugin', () => {
}));
await waitForMessage(client); // ack

const service = mockKernel.services.get('websocket-server');
const service = mockKernel.services.get('realtime');

// Should match
service.broadcast('record.updated', { name: 'Acme' }, { object: 'Account' });
Expand Down Expand Up @@ -424,7 +424,7 @@ describe('Realtime Plugin', () => {
await waitForMessage(client); // ack

// Broadcast should not reach client
const service = mockKernel.services.get('websocket-server');
const service = mockKernel.services.get('realtime');
service.broadcast('user.created', { name: 'Test' });

await expect(waitForMessage(client, 300)).rejects.toThrow('Message timeout');
Expand Down Expand Up @@ -459,7 +459,7 @@ describe('Realtime Plugin', () => {
}));
await waitForMessage(client); // ack

const service = mockKernel.services.get('websocket-server');
const service = mockKernel.services.get('realtime');

// Should match
service.broadcast('order.updated', { status: 'paid', amount: 100 });
Expand All @@ -484,7 +484,7 @@ describe('Realtime Plugin', () => {
}));
await waitForMessage(client); // ack

const service = mockKernel.services.get('websocket-server');
const service = mockKernel.services.get('realtime');

// Should match (amount > 100)
service.broadcast('order.created', { amount: 200 });
Expand All @@ -509,7 +509,7 @@ describe('Realtime Plugin', () => {
}));
await waitForMessage(client); // ack

const service = mockKernel.services.get('websocket-server');
const service = mockKernel.services.get('realtime');

service.broadcast('user.login', { role: 'admin' });
const event = await waitForMessage(client);
Expand All @@ -532,7 +532,7 @@ describe('Realtime Plugin', () => {
}));
await waitForMessage(client); // ack

const service = mockKernel.services.get('websocket-server');
const service = mockKernel.services.get('realtime');

service.broadcast('log.entry', { message: 'Critical error occurred' });
const event = await waitForMessage(client);
Expand All @@ -555,7 +555,7 @@ describe('Realtime Plugin', () => {
}));
await waitForMessage(client); // ack

const service = mockKernel.services.get('websocket-server');
const service = mockKernel.services.get('realtime');

service.broadcast('email.sent', { to: 'user@company.com' });
const event = await waitForMessage(client);
Expand Down Expand Up @@ -583,7 +583,7 @@ describe('Realtime Plugin', () => {
}));
await waitForMessage(client); // ack

const service = mockKernel.services.get('websocket-server');
const service = mockKernel.services.get('realtime');

// Both conditions met
service.broadcast('order.updated', { status: 'paid', amount: 150 });
Expand Down Expand Up @@ -658,7 +658,7 @@ describe('Realtime Plugin', () => {
});

it('should broadcast presence via service API', async () => {
const service = mockKernel.services.get('websocket-server');
const service = mockKernel.services.get('realtime');
service.updatePresence('user-99', { status: 'busy' }, { page: '/dashboard' });

// Both clients should receive presence update
Expand Down Expand Up @@ -856,7 +856,7 @@ describe('Kernel Compliance', () => {
expect(report.status).toBe('healthy');
expect(report.metrics?.uptime).toBeGreaterThanOrEqual(0);
expect(report.checks).toHaveLength(1);
expect(report.checks![0].name).toBe('websocket-server');
expect(report.checks![0].name).toBe('realtime');
expect(report.timestamp).toBeDefined();
});
});
Expand Down
4 changes: 2 additions & 2 deletions packages/storage/src/plugin.ts
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ export class StoragePlugin implements Plugin {
this.startedAt = Date.now();

// Register storage service
context.registerService('storage', this);
context.registerService('file-storage', this);

// For Redis backend, connect
if (this.backend instanceof RedisStorageBackend) {
Expand Down Expand Up @@ -239,7 +239,7 @@ export class StoragePlugin implements Plugin {
*/
export function getStorageAPI(kernel: any): StoragePlugin | null {
try {
return kernel.getService('storage');
return kernel.getService('file-storage');
} catch {
return null;
}
Expand Down
2 changes: 1 addition & 1 deletion packages/storage/test/plugin.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ describe('Storage Plugin', () => {
it('should initialize successfully', async () => {
await plugin.init(mockContext);

expect(mockContext.registerService).toHaveBeenCalledWith('storage', plugin);
expect(mockContext.registerService).toHaveBeenCalledWith('file-storage', plugin);
expect(mockContext.logger.info).toHaveBeenCalledWith(
expect.stringContaining('Initialized successfully')
);
Expand Down
Loading
Loading