Files
CEQ151 782f67ba63 feat(ai): add slash-activated chart runtime with EChart init fix
- Add ChartSpec validation and chart data normalization (bar/line/pie/heatmap)
- Add render_chart analysis tool with SQL safety (readonly check, outer LIMIT wrapper, CTE write rejection)
- Add chart content block type and ChartBlockRenderer for inline chart rendering
- Add slash menu chart capability activation (single-use per message)
- Add chart payload transport through Electron and CLI Web tool adapters
- Add error block handling for render-only chart tool failures
- Add chart payload persistence through content_blocks JSON storage
- Fix EChart.vue init timing: defer initChart() to nextTick so container
  layout completes before ECharts reads width (was rendering 92px canvases)
- Add comprehensive test coverage: core, integration, agent flow, frontend, smoke
- Add i18n for render_chart and get_schema in 4 locales
- Add project handoff documentation
2026-06-05 11:12:42 +08:00

23 lines
585 B
TypeScript

import { fileURLToPath } from 'node:url'
import path from 'node:path'
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
const root = fileURLToPath(new URL('.', import.meta.url))
const projectRoot = fileURLToPath(new URL('../..', import.meta.url))
export default defineConfig({
root,
plugins: [vue()],
resolve: {
alias: {
'@': path.join(projectRoot, 'src'),
'@openchatlab/core': path.join(projectRoot, 'packages/core/src'),
},
},
build: {
outDir: path.join(projectRoot, 'tmp/chart-smoke-build'),
emptyOutDir: true,
},
})