2026-01-24 22:59:20 +00:00
{
"name" : "neode-ui" ,
"private" : true ,
"version" : "0.0.0" ,
"type" : "module" ,
"scripts" : {
"start" : "./start-dev.sh" ,
"stop" : "./stop-dev.sh" ,
2026-03-10 23:34:14 +00:00
"test" : "vitest run" ,
"test:watch" : "vitest" ,
2026-01-24 22:59:20 +00:00
"dev" : "vite" ,
feat: AIUI chat mode integration with iframe, context broker, overnight loop
- Chat mode: AIUI loads in sandboxed iframe at /dashboard/chat with transparent bg
- Mode switcher: Easy + Pro tabs only, Chat is a launcher button
- Keyboard shortcuts: Cmd+1 (Easy), Cmd+2 (Pro), Cmd+3 (Chat), Cmd+M (cycle)
- Directional transitions: chat slides from/to left, dashboard from/to right
- Context broker: postMessage protocol for quarantined AIUI communication
- AI permissions store: user-controlled toggles for data access categories
- Settings UI: AI Data Access section with per-category toggles
- AIUI container manifest and nginx proxy config for /aiui/
- Deploy script builds AIUI with /aiui/ base path
- Overnight loop infrastructure (loop.sh, prepare.sh, plan.md, prompt.md)
- Security hooks for autonomous overnight runs
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 12:06:20 +00:00
"dev:mock" : "concurrently \"node mock-backend.js\" \"VITE_AIUI_URL=http://localhost:5173 vite\" \"cd ../../AIUI && pnpm dev 2>/dev/null || echo '[AIUI] Not found at ../../AIUI — chat will show placeholder'\"" ,
2026-01-24 22:59:20 +00:00
"dev:real" : "echo 'Start backend: cd ../core && cargo run --release' && vite" ,
"backend:mock" : "node mock-backend.js" ,
"backend:real" : "cd ../core && cargo run --release" ,
"build" : "vue-tsc -b && vite build" ,
"build:docker" : "vite build" ,
2026-01-28 11:12:19 +00:00
"build:production" : "NODE_ENV=production vue-tsc -b && vite build --mode production" ,
2026-01-24 22:59:20 +00:00
"preview" : "vite preview" ,
2026-02-17 19:42:59 +00:00
"type-check" : "vue-tsc --noEmit" ,
2026-02-18 08:18:14 +00:00
"prebuild" : "cp ../../loop-start.mp3 public/assets/audio/ 2>/dev/null || true" ,
2026-02-18 10:10:12 +00:00
"generate-pwa-icons" : "pwa-assets-generator --preset minimal-2023 public/assets/icon/favico-black.svg && cp public/assets/icon/favicon.ico public/favicon.ico" ,
2026-02-18 08:18:14 +00:00
"generate-welcome-speech" : "node scripts/generate-welcome-speech.js"
2026-01-24 22:59:20 +00:00
} ,
"dependencies" : {
2026-03-13 02:55:16 +00:00
"d3" : "^7.9.0" ,
2026-01-27 23:06:18 +00:00
"dockerode" : "^4.0.9" ,
2026-01-24 22:59:20 +00:00
"fast-json-patch" : "^3.1.1" ,
2026-02-17 15:03:34 +00:00
"fuse.js" : "^7.1.0" ,
2026-01-24 22:59:20 +00:00
"pinia" : "^3.0.4" ,
"vue" : "^3.5.24" ,
2026-03-11 13:45:59 +00:00
"vue-i18n" : "^11.3.0" ,
2026-01-24 22:59:20 +00:00
"vue-router" : "^4.6.3"
} ,
"devDependencies" : {
2026-03-11 13:45:59 +00:00
"@playwright/test" : "^1.58.2" ,
2026-03-13 02:55:16 +00:00
"@types/d3" : "^7.4.3" ,
2026-01-24 22:59:20 +00:00
"@types/node" : "^24.10.0" ,
2026-02-18 10:10:12 +00:00
"@vite-pwa/assets-generator" : "^1.0.2" ,
2026-01-24 22:59:20 +00:00
"@vitejs/plugin-vue" : "^6.0.1" ,
2026-03-11 13:45:59 +00:00
"@vitest/coverage-v8" : "^3.2.4" ,
"@vue/test-utils" : "^2.4.6" ,
2026-01-24 22:59:20 +00:00
"@vue/tsconfig" : "^0.8.1" ,
"autoprefixer" : "^10.4.22" ,
"concurrently" : "^9.1.2" ,
"cookie-parser" : "^1.4.7" ,
"cors" : "^2.8.5" ,
"express" : "^4.21.2" ,
2026-03-11 13:45:59 +00:00
"jsdom" : "^25.0.1" ,
2026-01-24 22:59:20 +00:00
"postcss" : "^8.5.6" ,
"tailwindcss" : "^3.4.18" ,
"typescript" : "~5.9.3" ,
"vite" : "^7.2.2" ,
"vite-plugin-pwa" : "^1.2.0" ,
2026-03-11 13:45:59 +00:00
"vitest" : "^3.1.1" ,
2026-01-24 22:59:20 +00:00
"vue-tsc" : "^3.1.3" ,
"ws" : "^8.18.0"
}
2026-02-18 10:10:12 +00:00
}