mirror of
https://github.com/linshenkx/prompt-optimizer.git
synced 2026-06-06 06:29:44 +08:00
## 核心功能
### 变量系统重构
- 移除会话变量系统,实现独立的测试变量功能
- 将 useContextManagement 从 web 模块迁移到 ui 模块
- 升级 usePromptTester 支持测试变量注入和上下文
### 测试区临时变量管理
- 临时变量数据结构升级为 { value, timestamp }
- 按时间戳降序排序显示(最新在前)
- 支持手动增删改操作
- 添加变量对话框,支持变量名验证
- 删除按钮,支持单个变量删除
- 与优化后提示词解耦,不再自动绑定
### 变量提取功能
- 新增 variable-extraction 组件目录
- VariableAwareInput: 支持文本选择提取变量
- VariableExtractionDialog: 变量提取对话框
- useTextSelection: 文本选择管理
- useInputHistory: 输入历史管理
- 支持全局/临时变量类型选择
- 支持全部替换功能
## 技术改进
### 组件优化
- TestAreaPanel.vue: testVariables 从 Record<string, string> 升级为 Record<string, TestVariable>
- InputPanel.vue: 集成 VariableAwareInput 组件,支持变量提取
- ContextUserWorkspace.vue: 新增 temporaryVariables 状态管理
### 国际化完善
- 补充缺失的 test.invalidVariables 和 test.getVariablesFailed 键
- 新增变量提取相关的完整国际化文本
- 覆盖中文简体/繁体/英文三种语言
- 同步三语言国际化键值(en-US/zh-CN/zh-TW)
## 其他更新
- 修复 web/extension 中未使用变量和错误 API 调用
- 更新测试文件的组件导入路径
- 清理过度 debug 日志
- 更新相关文档(ui-refactor-plan.md, variable-system-redesign.md)
## 相关 Issue
- 解决测试区变量显示依赖优化结果的问题
- 实现变量独立管理需求
- 补充缺失的国际化文本
**测试:所有测试通过(core: 367, ui: 95)**
40 lines
982 B
TypeScript
40 lines
982 B
TypeScript
/// <reference types="vitest" />
|
|
import { defineConfig } from 'vitest/config'
|
|
import vue from '@vitejs/plugin-vue'
|
|
|
|
export default defineConfig({
|
|
plugins: [vue()],
|
|
test: {
|
|
// 全局超时设置为5秒
|
|
testTimeout: 5000,
|
|
// 环境设置
|
|
environment: 'jsdom',
|
|
// 包含的文件模式
|
|
include: ['tests/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'],
|
|
// 排除的文件模式
|
|
exclude: [
|
|
'**/node_modules/**',
|
|
'**/dist/**',
|
|
'**/.{idea,git,cache,output,temp}/**',
|
|
'**/tests/e2e/**', // 排除 Playwright E2E 测试
|
|
],
|
|
// 全局测试设置
|
|
globals: true,
|
|
// 测试覆盖率配置
|
|
coverage: {
|
|
provider: 'v8',
|
|
reporter: ['text', 'json', 'html'],
|
|
exclude: [
|
|
'coverage/**',
|
|
'dist/**',
|
|
'**/[.]**',
|
|
'packages/*/test?(s)/**',
|
|
'**/*.d.ts',
|
|
'**/virtual:*',
|
|
'**/__x00__*',
|
|
'**/\x00*',
|
|
'cypress/**',
|
|
],
|
|
},
|
|
},
|
|
})
|