moadim 3.2.7

Loop engine for AI agents — routines over REST, MCP, and a built-in web UI
{
  "name": "client",
  "version": "0.1.5",
  "private": true,
  "type": "module",
  "scripts": {
    "generate:api": "pnpm --package=typescript@5.9.3 --package=openapi-typescript@7.13.0 dlx openapi-typescript ../apis/openapi.json -o src/api/schema.gen.ts",
    "build": "pnpm run generate:api && tsc --noEmit && vite build",
    "dev": "pnpm run generate:api && vite",
    "preview": "vite preview",
    "pretypecheck": "pnpm run generate:api",
    "typecheck": "tsc --noEmit",
    "prelint": "pnpm run generate:api",
    "lint": "node scripts/eslint-with-typescript6.cjs .",
    "pretest": "pnpm run generate:api",
    "test": "vitest run",
    "pretest:coverage": "pnpm run generate:api",
    "test:coverage": "vitest run --coverage",
    "test:e2e:screenshots": "playwright test --config playwright.config.ts",
    "test:e2e:screenshots:check": "pnpm run test:e2e:screenshots && (test -z \"$(git -C .. status --porcelain -- docs/screenshots/ui-e2e)\" || (git -C .. status --short -- docs/screenshots/ui-e2e && exit 1))"
  },
  "dependencies": {
    "@tanstack/react-query": "^5.101.4",
    "cron-parser": "^5.10.0",
    "cronstrue": "^3.0.0",
    "openapi-fetch": "^0.17.0",
    "react": "^19.2.8",
    "react-dom": "^19.2.8",
    "react-hook-form": "^7.86.0",
    "react-router-dom": "^7.18.2",
    "zod": "^4.4.3"
  },
  "devDependencies": {
    "@eslint/js": "^10.0.1",
    "@playwright/test": "^1.62.1",
    "@testing-library/jest-dom": "^7.0.1",
    "@testing-library/react": "^16.1.0",
    "@types/react": "^19.2.18",
    "@types/react-dom": "^19.2.4",
    "@vitejs/plugin-react": "^6.1.0",
    "@vitest/coverage-v8": "4.1.11",
    "eslint": "^10.9.0",
    "eslint-plugin-react-hooks": "^7.1.1",
    "jsdom": "^30.0.1",
    "openapi-typescript": "^7.5.0",
    "typescript": "^7.0.2",
    "typescript-eslint": "^8.67.0",
    "vite": "^8.2.2",
    "vite-plugin-singlefile": "^2.1.0",
    "vitest": "^4.1.11",
    "@typescript/typescript6": "6.0.2"
  }
}