diff --git a/static/panels.js b/static/panels.js index d942fac0..e27f548b 100644 --- a/static/panels.js +++ b/static/panels.js @@ -425,11 +425,13 @@ async function loadCrons(animate) { item.id = 'cron-' + job.id; const status = _cronStatusMeta(job); const isNewRun = _cronNewJobIds.has(String(job.id)); + const isAgentMode = !job.no_agent; const profileLabel = _cronProfileLabel(job.profile); const profileTitle = _cronProfileTitle(job.profile); item.innerHTML = `
${isNewRun ? '' : ''} + ${isAgentMode ? '🤖' : ''} ${esc(job.name)} ${esc(profileLabel)} ${esc(status.label)} @@ -468,6 +470,11 @@ function _renderCronDetail(job){ const deliver = job.deliver || 'local'; const isNoAgent = !!job.no_agent; const cronJobMode = isNoAgent ? 'no-agent' : 'agent'; + const modelProvider = + job.provider && job.model ? `${esc(job.provider)}/${esc(job.model)}` : + job.model ? esc(job.model) : + job.provider ? esc(job.provider) : + isNoAgent ? '' : 'default'; const script = job.script || ''; const profileLabel = _cronProfileLabel(job.profile); const profileTitle = _cronProfileTitle(job.profile); @@ -498,7 +505,7 @@ function _renderCronDetail(job){
${esc(t('cron_next'))}
${esc(nextRun)}
${esc(t('cron_last'))}
${esc(lastRun)}
Deliver
${esc(deliver)}
-
Mode
${esc(cronJobMode)}
+
Mode
${esc(cronJobMode)}${modelProvider ? ` ${modelProvider}` : ''}
${isNoAgent ? `
No-agent script
${esc(script || '—')}
` : ''}
${esc(t('cron_profile_label') || 'Profile')}
${esc(profileLabel)}
${esc(t('cron_toast_notifications_label') || 'Completion toasts')}
${esc(toastNotifications ? (t('cron_toast_notifications_enabled') || 'Enabled') : (t('cron_toast_notifications_disabled') || 'Disabled'))}
diff --git a/static/style.css b/static/style.css index 98661718..2b4e04e3 100644 --- a/static/style.css +++ b/static/style.css @@ -2700,6 +2700,7 @@ main.main.showing-logs > #mainLogs{display:flex;} /* ── Cron alert badge ── */ .cron-badge{position:absolute;top:2px;right:2px;background:#e53e3e;color:#fff;font-size:9px;font-weight:700;min-width:14px;height:14px;line-height:14px;text-align:center;border-radius:7px;padding:0 3px;} .cron-new-dot{width:7px;height:7px;border-radius:50%;background:var(--success,#22c55e);flex-shrink:0;animation:cron-dot-pulse 2s ease-in-out infinite;} +.cron-agent-badge{flex-shrink:0;font-size:12px;line-height:1;} @keyframes cron-dot-pulse{0%,100%{opacity:1;}50%{opacity:.4;}} .has-new-run{border-color:var(--success,#22c55e)!important;box-shadow:0 0 0 1px var(--success,#22c55e);}