Ship Assistent 0.15.2: apply closed generate patches immediately, recover stalled streams, and skip repeat greetings when a chat already has replies.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Leonid Pershin
2026-08-23 09:28:04 +03:00
co-authored by Cursor
parent 4b36850e2b
commit e53f483a00
19 changed files with 790 additions and 287 deletions
+14 -3
View File
@@ -3,6 +3,7 @@ import assert from 'node:assert/strict';
import {
userAsksLook,
userAsksNoGenerate,
userAsksGenerate,
resolveTurnIntent,
packWantsVision,
} from '../src/intent.js';
@@ -19,7 +20,14 @@ describe('intent.js', () => {
assert.equal(userAsksNoGenerate('нарисуй лису'), false);
});
it('resolveTurnIntent uses model generate only + veto', () => {
it('userAsksGenerate detects сгенерируй', () => {
assert.equal(userAsksGenerate('сгенерируй'), true);
assert.equal(userAsksGenerate('нарисуй лису'), true);
assert.equal(userAsksGenerate('что ты умеешь'), false);
assert.equal(userAsksGenerate('не генерируй'), false);
});
it('resolveTurnIntent uses model generate + user generate ask + veto', () => {
const lookOnly = resolveTurnIntent({ look_at: ['generate'] }, 'что не так с кадром?', {});
assert.equal(lookOnly.generate, false);
assert.equal(lookOnly.look, true);
@@ -27,12 +35,15 @@ describe('intent.js', () => {
const gen = resolveTurnIntent({ prompt: 'fox', generate: true }, 'нарисуй лису', {});
assert.equal(gen.generate, true);
const userGen = resolveTurnIntent({ prompt: 'A slender redhead in leather' }, 'сгенерируй', {});
assert.equal(userGen.generate, true);
const vetoed = resolveTurnIntent({ prompt: 'fox', generate: true }, 'только запомни промпт', {});
assert.equal(vetoed.generate, false);
assert.equal(vetoed.vetoed, true);
const noHeuristic = resolveTurnIntent({ prompt: 'fox' }, 'нарисуй красивую лису в снегу', {});
assert.equal(noHeuristic.generate, false);
const chatOnly = resolveTurnIntent({ prompt: 'fox' }, 'что ты умеешь про генерацию?', {});
assert.equal(chatOnly.generate, false);
});
it('packWantsVision for critique pack', () => {