Skip to content

Commit bdf5342

Browse files
Copilothotlong
andcommitted
fix: align plugin service names with CoreServiceName enum from @objectstack/spec
- realtime: 'websocket-server' → 'realtime' - storage: 'storage' → 'file-storage' - jobs: 'jobs' → 'job' Updates registration, getService helpers, health checks, and all tests. Co-authored-by: hotlong <50353452+hotlong@users.noreply.github.com>
1 parent 7be0b4c commit bdf5342

6 files changed

Lines changed: 26 additions & 26 deletions

File tree

packages/jobs/src/plugin.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ export class JobsPlugin implements Plugin {
8989
(this.scheduler as any).logger = context.logger;
9090

9191
// Register jobs service
92-
context.registerService('jobs', this);
92+
context.registerService('job', this);
9393

9494
// Register built-in jobs if enabled
9595
if (this.config.enableBuiltInJobs) {
@@ -360,7 +360,7 @@ export class JobsPlugin implements Plugin {
360360
*/
361361
export function getJobsAPI(kernel: any): JobsPlugin | null {
362362
try {
363-
return kernel.getService('jobs');
363+
return kernel.getService('job');
364364
} catch {
365365
return null;
366366
}

packages/jobs/test/plugin.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ describe('Jobs Plugin', () => {
9797
it('should initialize successfully', async () => {
9898
await plugin.init(mockContext);
9999

100-
expect(mockContext.registerService).toHaveBeenCalledWith('jobs', plugin);
100+
expect(mockContext.registerService).toHaveBeenCalledWith('job', plugin);
101101
expect(mockContext.logger.info).toHaveBeenCalledWith(
102102
expect.stringContaining('Initialized successfully')
103103
);

packages/realtime/src/plugin.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ export const createRealtimePlugin = (options: RealtimePluginOptions = {}): Plugi
117117
startedAt = Date.now();
118118

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

@@ -187,7 +187,7 @@ export const createRealtimePlugin = (options: RealtimePluginOptions = {}): Plugi
187187
getServer: () => wss
188188
});
189189

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

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

packages/realtime/test/plugin.test.ts

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ describe('Realtime Plugin', () => {
110110
await plugin.init(mockContext);
111111

112112
expect(mockContext.registerService).toHaveBeenCalledWith(
113-
'websocket-server',
113+
'realtime',
114114
expect.objectContaining({
115115
broadcast: expect.any(Function),
116116
updatePresence: expect.any(Function),
@@ -131,7 +131,7 @@ describe('Realtime Plugin', () => {
131131
);
132132

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

664664
// Both clients should receive presence update
@@ -856,7 +856,7 @@ describe('Kernel Compliance', () => {
856856
expect(report.status).toBe('healthy');
857857
expect(report.metrics?.uptime).toBeGreaterThanOrEqual(0);
858858
expect(report.checks).toHaveLength(1);
859-
expect(report.checks![0].name).toBe('websocket-server');
859+
expect(report.checks![0].name).toBe('realtime');
860860
expect(report.timestamp).toBeDefined();
861861
});
862862
});

packages/storage/src/plugin.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ export class StoragePlugin implements Plugin {
9595
this.startedAt = Date.now();
9696

9797
// Register storage service
98-
context.registerService('storage', this);
98+
context.registerService('file-storage', this);
9999

100100
// For Redis backend, connect
101101
if (this.backend instanceof RedisStorageBackend) {
@@ -239,7 +239,7 @@ export class StoragePlugin implements Plugin {
239239
*/
240240
export function getStorageAPI(kernel: any): StoragePlugin | null {
241241
try {
242-
return kernel.getService('storage');
242+
return kernel.getService('file-storage');
243243
} catch {
244244
return null;
245245
}

packages/storage/test/plugin.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ describe('Storage Plugin', () => {
7272
it('should initialize successfully', async () => {
7373
await plugin.init(mockContext);
7474

75-
expect(mockContext.registerService).toHaveBeenCalledWith('storage', plugin);
75+
expect(mockContext.registerService).toHaveBeenCalledWith('file-storage', plugin);
7676
expect(mockContext.logger.info).toHaveBeenCalledWith(
7777
expect.stringContaining('Initialized successfully')
7878
);

0 commit comments

Comments
 (0)