Files
UHD_Media_Tool/apps/web/package.json
T
rootandClaude Opus 5.5 ceff9cf51f feat(ao): W4-E3 manual organize guard, series completion, engine retry, v0.1.0
- POST /organization-records: sourcePaths must resolve (realpath) under a
  registered library_root or downloader path-mapping host path; `..` and
  symlink escapes rejected (400), dryRun included. Move requires an admin
  session, or an API key with an automation_grant covering the entity or a
  matching one-time approval (consumed on use), else 403. Manual Move from a
  managed download_task with unsatisfied H&R returns 409 and opens a
  decision; never silently downgraded to Copy.
- Series slot completion: total episode count is unknown while units are
  provisional, so the slot is not satisfied and the subscription keeps
  tracking; coverage is registered per actual file (creating provisional
  episode units), and already_in_library files count as verified presence.
- POST /engine/runs/{id}/retry (admin): re-enqueue by original task name and
  raw input with idempotency key retry:<id>:<n>, audited; retry button on
  the run detail page.
- E7 regular series e2e, E8 AT24 tag removal / task disappearance e2e.
- All workspace members and root set to version 0.1.0; CHANGELOG.md.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-27 22:47:11 +08:00

48 lines
1.4 KiB
JSON

{
"name": "@umt/web",
"version": "0.1.0",
"private": true,
"type": "module",
"scripts": {
"dev": "react-router dev --host 0.0.0.0 --port 5180",
"build": "react-router build",
"preview": "vite preview --host 0.0.0.0 --port 5180",
"typecheck": "react-router typegen && tsc -p tsconfig.json",
"test": "vitest run",
"gen:tokens": "deno run -A scripts/gen-design-tokens.mjs",
"check:tokens": "deno run -A scripts/gen-design-tokens.mjs --check && sh scripts/check-design-tokens.sh"
},
"dependencies": {
"@fontsource-variable/inter-tight": "^5.2.7",
"@fontsource-variable/space-grotesk": "^5.2.10",
"@react-router/node": "7.12.0",
"@tanstack/react-query": "^5.90.21",
"@umt/contracts": "workspace:*",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"date-fns": "^4.1.0",
"isbot": "^5.1.31",
"lucide-react": "^0.576.0",
"next-themes": "^0.4.6",
"radix-ui": "^1.4.3",
"react": "^19.2.4",
"react-day-picker": "^10.0.1",
"react-dom": "^19.2.4",
"react-router": "7.12.0",
"sonner": "^2.0.7",
"tailwind-merge": "^3.5.0",
"zod": "^4.3.6"
},
"devDependencies": {
"@react-router/dev": "7.12.0",
"@tailwindcss/vite": "^4.1.13",
"@types/react": "^19.2.7",
"@types/react-dom": "^19.2.3",
"shadcn": "^3.8.5",
"tailwindcss": "^4.1.13",
"tw-animate-css": "^1.4.0",
"vite": "^7.1.7",
"vite-tsconfig-paths": "^5.1.4"
}
}