Ship Assistent 0.15.3: user-owned Generate, SwarmUI aspects, HF import UX.

Chips and quick patches apply params without auto-Generate; aspect sizes match Swarm Side Length 1024. HF import shows drafts after switching filter from approved-only; training status and job polling improved.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Leonid Pershin
2026-08-23 19:13:36 +03:00
co-authored by Cursor
parent e53f483a00
commit 65a0982b9d
24 changed files with 1088 additions and 275 deletions
+11 -5
View File
@@ -345,18 +345,24 @@ export function fullSettingsDump(session, extras = {}) {
};
}
/** Model generate/actions, or askGenerateFn when a prompt/delta exists. vetoFn / fromAutoCritique cancel. */
export function resolveTurnIntent(patch, userText, { vetoFn, askGenerateFn, fromAutoCritique } = {}) {
/**
* Generate is user-owned. Model generate:true is advisory (Qwen dumps it on chat questions).
* askGenerateFn / userWantsGenerate start Generate; vetoFn / fromAutoCritique cancel.
*/
export function resolveTurnIntent(patch, userText, {
vetoFn, askGenerateFn, fromAutoCritique, sessionPrompt, userWantsGenerate,
} = {}) {
const delta = normalizeDelta(patch) || {};
const vetoed = typeof vetoFn === 'function' ? !!vetoFn(userText) : false;
const modelAsked = patchWantsGenerate(delta);
const hasPrompt = !!(String(delta.prompt || '').trim() || String(sessionPrompt || '').trim());
const userAsked = typeof askGenerateFn === 'function' && !!askGenerateFn(userText)
&& !!(modelAsked || String(delta.prompt || '').trim());
const generate = !vetoed && !fromAutoCritique && (modelAsked || userAsked);
&& (modelAsked || hasPrompt);
const generate = !vetoed && !fromAutoCritique && (userAsked || !!userWantsGenerate);
const hasLook = delta.look_at != null || delta.vision_from != null || delta.vision_slots != null;
const look = !!(hasLook && !generate && !vetoed);
const ask = patchAskList(delta);
return { generate, look, vetoed, ask };
return { generate, look, vetoed, ask, modelAsked };
}
/** Params the client fills from Exact on Generate when the LLM omits them (sparse contract). */