wip: agui integration

This commit is contained in:
2026-02-25 19:51:58 +01:00
parent 5efbcfe03a
commit fcdf869a7c
59 changed files with 3467 additions and 267 deletions

View File

@@ -0,0 +1,47 @@
import { describe, expect, it } from 'vitest';
import { buildAssistantStartPrompt } from '../../../src/renderer/navigation/assistantPromptContext';
describe('assistantPromptContext', () => {
it('enriches prompt with active post context', () => {
const result = buildAssistantStartPrompt({
userPrompt: 'Find weak tags',
context: {
tabType: 'post',
id: 'post-1',
title: 'Launch Notes',
},
});
expect(result).toContain('User request: Find weak tags');
expect(result).toContain('Current editor context type: post');
expect(result).toContain('Current editor context id: post-1');
expect(result).toContain('Current editor context title: Launch Notes');
});
it('enriches prompt with active media context', () => {
const result = buildAssistantStartPrompt({
userPrompt: 'Suggest alt text variants',
context: {
tabType: 'media',
id: 'media-4',
title: 'cover.jpg',
},
});
expect(result).toContain('User request: Suggest alt text variants');
expect(result).toContain('Current editor context type: media');
expect(result).toContain('Current editor context id: media-4');
expect(result).toContain('Current editor context title: cover.jpg');
});
it('falls back to none when no active editor context is available', () => {
const result = buildAssistantStartPrompt({
userPrompt: 'Summarize current project health',
context: null,
});
expect(result).toContain('User request: Summarize current project health');
expect(result).toContain('Current editor context type: none');
expect(result).not.toContain('Current editor context id:');
});
});