Files
VoiceStudio/frontend/package.json
T
debpalashandClaude Opus 4.8 abae6e290a chore(license): relicense from FSL-1.1-ALv2 to AGPL-3.0 (open-core)
Replace the Functional Source License with the GNU Affero General Public
License v3 across the project, with a paid commercial license retained for
proprietary/closed-source use without AGPL obligations (open-core, like
Firecrawl).

- LICENSE: verbatim AGPL-3.0 text under an AGPL Notice + Scope header;
  drops the FSL "Competing Use" framing and the 2-year Apache-2.0 conversion.
  The bundled omnivoice/ TTS model stays Apache-2.0 upstream (AGPL-compatible).
- Manifests now declare SPDX AGPL-3.0-only: pyproject.toml, Cargo.toml
  (normalized from bare AGPL-3.0), and both package.json (added license field).
- README.md / README_CN.md: badge, pricing, commercial-use FAQ, License section.
- en.json: in-app Commercial License copy reworded to AGPL; the false
  "converts to Apache 2.0" FAQ removed (+ its renderer block in SupportPage.jsx).

Non-English locale strings still describe the old FSL model and are left for a
follow-up translation pass.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-06 13:00:19 +05:30

77 lines
2.4 KiB
JSON

{
"name": "omnivoice-studio",
"private": true,
"version": "0.3.5",
"license": "AGPL-3.0-only",
"type": "module",
"scripts": {
"dev": "vite",
"desktop": "tauri dev",
"build": "vite build",
"lint": "eslint .",
"typecheck": "tsc --noEmit",
"typecheck:ci": "tsc --noEmit --checkJs false",
"test": "vitest run",
"test:watch": "vitest",
"test:legacy": "node --experimental-strip-types --no-warnings --test ../tests/frontend/*.test.mjs",
"preview": "vite preview",
"tauri": "tauri",
"e2e": "playwright test"
},
"dependencies": {
"@fontsource-variable/inter": "^5.2.8",
"@fontsource-variable/source-serif-4": "^5.2.9",
"@fontsource/ibm-plex-mono": "^5.2.7",
"@radix-ui/react-dialog": "^1.1.15",
"@radix-ui/react-dropdown-menu": "^2.1.16",
"@radix-ui/react-popover": "^1.1.15",
"@radix-ui/react-progress": "^1.1.8",
"@radix-ui/react-select": "^2.2.6",
"@radix-ui/react-slider": "^1.3.6",
"@radix-ui/react-tabs": "^1.1.13",
"@radix-ui/react-toggle-group": "^1.1.11",
"@radix-ui/react-tooltip": "^1.2.8",
"@tailwindcss/vite": "^4.2.4",
"@tanstack/react-query": "^5.100.8",
"@tanstack/react-table": "^8.21.3",
"@tanstack/react-virtual": "^3.13.24",
"@tauri-apps/plugin-dialog": "^2.7.1",
"@tauri-apps/plugin-opener": "^2.5.4",
"@tauri-apps/plugin-process": "^2.3.1",
"@tauri-apps/plugin-updater": "^2.10.1",
"@tauri-apps/plugin-window-state": "^2.4.1",
"country-flag-icons": "^1.6.17",
"i18next": "^26.0.8",
"i18next-browser-languagedetector": "^8.2.1",
"lucide-react": "^1.14.0",
"qrcode": "^1.5.4",
"react": "^19.2.5",
"react-dom": "^19.2.5",
"react-hot-toast": "^2.6.0",
"react-i18next": "^17.0.6",
"react-window": "^2.2.7",
"tailwindcss": "^4.2.4",
"wavesurfer.js": "^7.12.6",
"zustand": "^5.0.12"
},
"devDependencies": {
"@eslint/js": "^10.0.1",
"@playwright/test": "^1.60.0",
"@tauri-apps/api": "^2.11.0",
"@tauri-apps/cli": "^2.11.0",
"@testing-library/jest-dom": "^6.9.1",
"@testing-library/react": "^16.3.2",
"@types/react": "^19.2.14",
"@types/react-dom": "^19.2.3",
"@vitejs/plugin-react": "^6.0.1",
"eslint": "^10.3.0",
"eslint-plugin-react-hooks": "^7.1.1",
"eslint-plugin-react-refresh": "^0.5.2",
"globals": "^17.6.0",
"jsdom": "^29.1.1",
"typescript": "^6.0.3",
"vite": "^8.0.10",
"vitest": "^4.1.5"
}
}