Allow each scheduled job to pin its provider and model.

New jobs snapshot the current New Session default so quota is predictable.
cron_create inherits the calling session model unless provider+model are set.
The editor lists configured models; the job row shows which model will run.
This commit is contained in:
Whale-Zhang 2026-08-24 14:31:52 +08:00
parent ef8ff6e10d
commit b0d0db1553
11 changed files with 353 additions and 19 deletions

View file

@ -26,13 +26,16 @@ export {
attachLiveSessionToWorkspace,
bindModelSelection,
createHostService,
currentDefaultModel,
listModelChoices,
listWorkspaceChoices,
makeLiveSessionPort,
resolveDefaultModel,
resolveJobModel,
resolveSessionPlacement,
waitForAgentTurn,
} from './host.js'
export { callerWorkingDirectory, registerCronTools, resolveCreateCwd, scheduleFromArgs } from './tools.js'
export { callerWorkingDirectory, callerModelSelection, registerCronTools, resolveCreateCwd, resolveCreateModel, scheduleFromArgs } from './tools.js'
export { decideDispatch, nextFire, parseCron, tickJobs, validateSchedule } from './scheduler.js'
export {
applyRunIsolation,
@ -43,6 +46,7 @@ export {
workspaceVisibleIds,
} from './isolation.js'
export { wrapScheduledPrompt } from './prompt.js'
export { normalizeJobModel } from './store.js'
export { claimOccurrence, executeClaimedRun, extractAssistantText, TITLE_PREFIX } from './fire.js'
function loadPkg(id) {