feat(automation): add isolated job delivery mode

This commit is contained in:
William Valentin
2026-02-15 19:23:15 -08:00
parent 0470647ee7
commit 421942f66d
13 changed files with 183 additions and 11 deletions
+15
View File
@@ -78,6 +78,21 @@ describe('CronScheduler', () => {
expect(messages[0].text).toBe('Hello from cron');
});
it('uses isolated sender IDs when delivery mode is isolated_job', async () => {
const jobs = [makeCronJob()];
scheduler = new CronScheduler(jobs, mockChannelRegistry as any, 'isolated_job');
const messages: InboundMessage[] = [];
scheduler.onMessage((msg: InboundMessage) => messages.push(msg));
await scheduler.connect();
scheduler.triggerJob('test-job');
expect(messages).toHaveLength(1);
expect(messages[0].senderId).toMatch(/^test-job:run-/);
expect(messages[0].metadata?.replyPeerId).toBe('test-job');
expect(messages[0].metadata?.deliveryMode).toBe('isolated_job');
});
it('forwards response to output channel on send()', async () => {
const mockOutputAdapter = {
send: vi.fn().mockResolvedValue(undefined),