feat: add announce delivery mode for automation runs
This commit is contained in:
@@ -9,7 +9,7 @@ interface ChannelLookup {
|
||||
get(name: string): { send(peerId: string, message: OutboundMessage): Promise<void> } | undefined;
|
||||
}
|
||||
|
||||
type DeliveryMode = 'shared_session' | 'isolated_job';
|
||||
type DeliveryMode = 'shared_session' | 'isolated_job' | 'announce';
|
||||
|
||||
export class CronScheduler implements ChannelAdapter {
|
||||
readonly name = 'cron';
|
||||
@@ -99,7 +99,11 @@ export class CronScheduler implements ChannelAdapter {
|
||||
this.lastTriggeredLocalDateByJob.set(jobName, dayKey);
|
||||
}
|
||||
const runId = `run-${randomUUID()}`;
|
||||
const senderId = this.deliveryMode === 'isolated_job' ? `${jobName}:${runId}` : jobName;
|
||||
const senderId = this.deliveryMode === 'shared_session'
|
||||
? jobName
|
||||
: this.deliveryMode === 'announce'
|
||||
? `${jobName}:announce:${runId}`
|
||||
: `${jobName}:${runId}`;
|
||||
|
||||
const msg: InboundMessage = {
|
||||
id: `cron-${jobName}-${Date.now()}`,
|
||||
@@ -113,6 +117,7 @@ export class CronScheduler implements ChannelAdapter {
|
||||
scheduled: true,
|
||||
modelTier: job.model_tier,
|
||||
deliveryMode: this.deliveryMode,
|
||||
announce: this.deliveryMode === 'announce',
|
||||
runId,
|
||||
replyPeerId: jobName,
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user