- 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]>
48 lines
1.4 KiB
JSON
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"
|
|
}
|
|
}
|