{ "name": "@d3ro/desktop", "version": "1.0.0", "productName": "d3ro-voice", "description": "로컬 AI 음성 어시스턴트 (Electron)", "main": "./out/main/index.js", "scripts": { "dev": "electron-vite dev", "build": "electron-vite build", "preview": "electron-vite preview", "typecheck": "tsc --noEmit", "lint": "eslint . --ext .ts,.tsx", "format": "prettier --write \"src/**/*.{ts,tsx,css}\"", "test": "vitest run --config vitest.config.ts", "test:unit": "vitest run --config vitest.config.ts", "test:watch": "vitest --config vitest.config.ts", "pack": "electron-vite build && electron-builder --dir", "dist": "electron-vite build && electron-builder", "build:sidecar": "python scripts/build-sidecar.py", "setup:sox": "powershell -ExecutionPolicy Bypass -File scripts/download-sox.ps1" }, "author": "D3RO", "license": "MIT", "build": { "extends": null, "configFile": "electron-builder.yml" }, "devDependencies": { "@electron-toolkit/tsconfig": "^1.0.1", "@types/better-sqlite3": "^7.6.13", "@types/fluent-ffmpeg": "^2.1.28", "@types/node": "^22.13.0", "@types/react": "^19.0.0", "@types/react-dom": "^19.0.0", "@vitejs/plugin-react": "^4.3.0", "electron": "^33.3.0", "electron-builder": "^26.8.1", "electron-vite": "^2.3.0", "vite": "^5.4.0", "vitest": "^2.1.0" }, "dependencies": { "@d3ro/core": "*", "@electron-toolkit/preload": "^3.0.2", "@electron-toolkit/utils": "^4.0.0", "@emotion/react": "^11.14.0", "@emotion/styled": "^11.14.0", "@ffmpeg-installer/ffmpeg": "^1.1.0", "@mui/icons-material": "^7.0.0", "@mui/material": "^7.0.0", "@nut-tree-fork/nut-js": "^4.2.6", "@rollup/rollup-win32-x64-msvc": "^4.60.1", "better-sqlite3": "^12.8.0", "docx": "^9.6.1", "drizzle-orm": "^0.45.2", "electron-audio-loopback": "^1.0.6", "electron-log": "^5.2.0", "electron-store": "^10.0.0", "fluent-ffmpeg": "^2.1.3", "nanoid": "^5.1.7", "node-record-lpcm16": "^1.0.1", "pdf-parse": "^2.4.5", "react": "^19.0.0", "react-dom": "^19.0.0", "react-markdown": "^10.1.0", "remark-gfm": "^4.0.1", "uiohook-napi": "^1.5.5" } }