{"_id":"@nativesquare/agoge","_rev":"37-114972d7e5ec992c1baf50658dcc5c5a","name":"@nativesquare/agoge","dist-tags":{"latest":"4.0.2"},"versions":{"1.0.0":{"name":"@nativesquare/agoge","version":"1.0.0","keywords":["convex","component"],"license":"Apache-2.0","_id":"@nativesquare/agoge@1.0.0","maintainers":[{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"}],"homepage":"https://github.com/NativeSquare/agoge#readme","bugs":{"url":"https://github.com/NativeSquare/agoge/issues"},"dist":{"shasum":"23dc0344d527166a4073290c27121e23913a964d","tarball":"https://registry.npmjs.org/@nativesquare/agoge/-/agoge-1.0.0.tgz","fileCount":74,"integrity":"sha512-XMSLfo82Pb2sWK8AgNrZOSJ29+gjtSyfBf3boh0kdH+Dl76BstCGoJKb4kVT+/Xyjuyc18mKE4ixeAb3hmmOGg==","signatures":[{"sig":"MEQCIA5fwjUIJJ3eJ3Z8Azuv9Og+XOkxoNKrwre5/AVg1S7QAiBa5PtcIE8ftpejf3tfBPfO4uVWKMKy83Fos+4EpqYJwg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":306490},"pnpm":{"onlyBuiltDependencies":["esbuild","@tailwindcss/oxide"]},"type":"module","types":"./dist/client/index.d.ts","module":"./dist/client/index.js","exports":{".":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./test":"./src/test.ts","./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./schema":{"types":"./dist/component/validators.d.ts","default":"./dist/component/validators.js"},"./package.json":"./package.json","./convex.config":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./convex.config.js":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./_generated/component":{"types":"./dist/component/_generated/component.d.ts"},"./_generated/component.js":{"types":"./dist/component/_generated/component.d.ts"}},"gitHead":"b5e2c59f9ddf521aee5b840dd5ce31164e4c6991","scripts":{"all":"run-p -r dev:* test:watch","dev":"run-p -r dev:*","lint":"eslint .","test":"vitest run --typecheck","alpha":"npm version prerelease --preid alpha && npm publish --tag alpha && git push --follow-tags","build":"tsc --project ./tsconfig.build.json","predev":"path-exists .env.local dist || (npm run build && convex dev --once)","release":"npm version patch && npm publish && git push --follow-tags","version":"vim -c 'normal o' -c 'normal o## '$npm_package_version CHANGELOG.md && prettier -w CHANGELOG.md && git add CHANGELOG.md","dev:build":"chokidar \"tsconfig*.json\" \"src/**/*.ts\" -i \"**/*.test.ts\" -c \"npm run build:codegen\" --initial","typecheck":"tsc --noEmit && tsc -p example && tsc -p example/convex","preversion":"npm ci && npm run build:clean && run-p test lint typecheck","test:debug":"vitest --inspect-brk --no-file-parallelism","test:watch":"vitest --typecheck --clearScreen false","build:clean":"npx rimraf dist *.tsbuildinfo && npm run build:codegen","dev:backend":"convex dev --typecheck-components","dev:frontend":"cd example && vite --clearScreen false","build:codegen":"npx convex codegen --component-dir ./src/component && npm run build","test:coverage":"vitest run --coverage --coverage.reporter=text","prepublishOnly":"npm whoami || npm login"},"_npmUser":{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"},"repository":{"url":"git+https://github.com/NativeSquare/agoge.git","type":"git"},"_npmVersion":"11.4.2","description":"Agoge — a Convex component for sport training. Models athletes, zones, events, plans, blocks, and workouts with a FIT-shaped step tree.","directories":{},"_nodeVersion":"23.3.0","_hasShrinkwrap":false,"devDependencies":{"zod":"^3.23.8","vite":"7.3.1","react":"^19.2.4","convex":"1.31.7","eslint":"9.39.2","vitest":"4.0.18","globals":"^17.3.0","prettier":"3.8.1","react-dom":"^19.2.4","@eslint/js":"9.39.2","pkg-pr-new":"^0.0.63","typescript":"5.9.3","@types/node":"^24.10.11","convex-test":"0.0.41","@types/react":"^19.2.13","chokidar-cli":"3.0.0","npm-run-all2":"8.0.4","path-exists-cli":"2.0.0","@edge-runtime/vm":"^5.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.2.3","typescript-eslint":"8.54.0","eslint-plugin-react":"^7.37.5","@vitejs/plugin-react":"^5.1.3","@convex-dev/eslint-plugin":"^1.1.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.5.0"},"peerDependencies":{"react":"^18.3.1 || ^19.0.0","convex":"^1.31.7"},"_npmOperationalInternal":{"tmp":"tmp/agoge_1.0.0_1776862764931_0.24956869198628007","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@nativesquare/agoge","version":"1.1.0","keywords":["convex","component"],"license":"Apache-2.0","_id":"@nativesquare/agoge@1.1.0","maintainers":[{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"}],"homepage":"https://github.com/NativeSquare/agoge#readme","bugs":{"url":"https://github.com/NativeSquare/agoge/issues"},"dist":{"shasum":"9768c6e5629240253645748fa4303894666a47f1","tarball":"https://registry.npmjs.org/@nativesquare/agoge/-/agoge-1.1.0.tgz","fileCount":79,"integrity":"sha512-T4WZZp2VZC5TVdpWZlxRQImvV2bwZ0mLI0BsyLSAVF+C98PBQCeo6GhB2nLJeIblHA1aNTQV/Swao1NixtmBEg==","signatures":[{"sig":"MEYCIQDL9w16qZQ6ThzQ4xC+FyDcwPUtxVNfPzO+5HOPWQdx1AIhANLI2QhMrSjV1Y1xaaUDLAJGwTOGKPL00OfjzBl6BvnP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":318141},"pnpm":{"onlyBuiltDependencies":["esbuild","@tailwindcss/oxide"]},"type":"module","types":"./dist/client/index.d.ts","module":"./dist/client/index.js","exports":{".":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./test":"./src/test.ts","./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./schema":{"types":"./dist/component/validators.d.ts","default":"./dist/component/validators.js"},"./package.json":"./package.json","./convex.config":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./convex.config.js":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./_generated/component":{"types":"./dist/component/_generated/component.d.ts"},"./_generated/component.js":{"types":"./dist/component/_generated/component.d.ts"}},"gitHead":"ccf8febbd1eec837c7a31845ec68ec4d03077f4f","scripts":{"all":"run-p -r dev:* test:watch","dev":"run-p -r dev:*","lint":"eslint .","test":"vitest run --typecheck","alpha":"npm version prerelease --preid alpha && npm publish --tag alpha && git push --follow-tags","build":"tsc --project ./tsconfig.build.json","predev":"path-exists .env.local dist || (npm run build && convex dev --once)","release":"npm version patch && npm publish && git push --follow-tags","version":"vim -c 'normal o' -c 'normal o## '$npm_package_version CHANGELOG.md && prettier -w CHANGELOG.md && git add CHANGELOG.md","dev:build":"chokidar \"tsconfig*.json\" \"src/**/*.ts\" -i \"**/*.test.ts\" -c \"npm run build:codegen\" --initial","typecheck":"tsc --noEmit && tsc -p example && tsc -p example/convex","preversion":"npm ci && npm run build:clean && run-p test lint typecheck","test:debug":"vitest --inspect-brk --no-file-parallelism","test:watch":"vitest --typecheck --clearScreen false","build:clean":"npx rimraf dist *.tsbuildinfo && npm run build:codegen","dev:backend":"convex dev --typecheck-components","dev:frontend":"cd example && vite --clearScreen false","build:codegen":"npx convex codegen --component-dir ./src/component && npm run build","test:coverage":"vitest run --coverage --coverage.reporter=text","prepublishOnly":"npm whoami || npm login"},"_npmUser":{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"},"repository":{"url":"git+https://github.com/NativeSquare/agoge.git","type":"git"},"_npmVersion":"11.4.2","description":"Agoge — a Convex component for sport training. Models athletes, zones, events, plans, blocks, and workouts with a FIT-shaped step tree.","directories":{},"_nodeVersion":"23.3.0","_hasShrinkwrap":false,"devDependencies":{"zod":"^3.23.8","vite":"7.3.1","react":"^19.2.4","convex":"1.31.7","eslint":"9.39.2","vitest":"4.0.18","globals":"^17.3.0","prettier":"3.8.1","react-dom":"^19.2.4","@eslint/js":"9.39.2","pkg-pr-new":"^0.0.63","typescript":"5.9.3","@types/node":"^24.10.11","convex-test":"0.0.41","@types/react":"^19.2.13","chokidar-cli":"3.0.0","npm-run-all2":"8.0.4","path-exists-cli":"2.0.0","@edge-runtime/vm":"^5.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.2.3","typescript-eslint":"8.54.0","eslint-plugin-react":"^7.37.5","@vitejs/plugin-react":"^5.1.3","@convex-dev/eslint-plugin":"^1.1.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.5.0"},"peerDependencies":{"react":"^18.3.1 || ^19.0.0","convex":"^1.31.7"},"_npmOperationalInternal":{"tmp":"tmp/agoge_1.1.0_1776943657799_0.9297858130911993","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@nativesquare/agoge","version":"1.1.1","keywords":["convex","component"],"license":"Apache-2.0","_id":"@nativesquare/agoge@1.1.1","maintainers":[{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"}],"homepage":"https://github.com/NativeSquare/agoge#readme","bugs":{"url":"https://github.com/NativeSquare/agoge/issues"},"dist":{"shasum":"5ca58cd1a93adbb8570119bf10113d4f2ddcd58c","tarball":"https://registry.npmjs.org/@nativesquare/agoge/-/agoge-1.1.1.tgz","fileCount":79,"integrity":"sha512-cJuKfivo7GyOVn6G9XW8JR2oTPWy4ImvGmBe3rAuR3pOPEhW35Nr3p+WP3aXPG6NW6hrFwmwWBbr66vGf31LZA==","signatures":[{"sig":"MEQCIEGEDbdqn9buOEn1QAuxpb5S4QM3qvJRzyuoe9CqiBWXAiBaKZBPHYBPkVaSnRCNYmPsICIqxw/pudfJzBB8Xv34TQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":319231},"pnpm":{"onlyBuiltDependencies":["esbuild","@tailwindcss/oxide"]},"type":"module","types":"./dist/client/index.d.ts","module":"./dist/client/index.js","exports":{".":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./test":"./src/test.ts","./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./schema":{"types":"./dist/component/validators.d.ts","default":"./dist/component/validators.js"},"./package.json":"./package.json","./convex.config":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./convex.config.js":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./_generated/component":{"types":"./dist/component/_generated/component.d.ts"},"./_generated/component.js":{"types":"./dist/component/_generated/component.d.ts"}},"gitHead":"0f49b60734801a4220a63ba1a54200181168acd3","scripts":{"all":"run-p -r dev:* test:watch","dev":"run-p -r dev:*","lint":"eslint .","test":"vitest run --typecheck","alpha":"npm version prerelease --preid alpha && npm publish --tag alpha && git push --follow-tags","build":"tsc --project ./tsconfig.build.json","predev":"path-exists .env.local dist || (npm run build && convex dev --once)","release":"npm version patch && npm publish && git push --follow-tags","version":"vim -c 'normal o' -c 'normal o## '$npm_package_version CHANGELOG.md && prettier -w CHANGELOG.md && git add CHANGELOG.md","dev:build":"chokidar \"tsconfig*.json\" \"src/**/*.ts\" -i \"**/*.test.ts\" -c \"npm run build:codegen\" --initial","typecheck":"tsc --noEmit && tsc -p example && tsc -p example/convex","preversion":"npm ci && npm run build:clean && run-p test lint typecheck","test:debug":"vitest --inspect-brk --no-file-parallelism","test:watch":"vitest --typecheck --clearScreen false","build:clean":"npx rimraf dist *.tsbuildinfo && npm run build:codegen","dev:backend":"convex dev --typecheck-components","dev:frontend":"cd example && vite --clearScreen false","build:codegen":"npx convex codegen --component-dir ./src/component && npm run build","test:coverage":"vitest run --coverage --coverage.reporter=text","prepublishOnly":"npm whoami || npm login"},"_npmUser":{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"},"repository":{"url":"git+https://github.com/NativeSquare/agoge.git","type":"git"},"_npmVersion":"11.4.2","description":"Agoge — a Convex component for sport training. Models athletes, zones, events, plans, blocks, and workouts with a FIT-shaped step tree.","directories":{},"_nodeVersion":"23.3.0","_hasShrinkwrap":false,"devDependencies":{"zod":"^3.23.8","vite":"7.3.1","react":"^19.2.4","convex":"1.31.7","eslint":"9.39.2","vitest":"4.0.18","globals":"^17.3.0","prettier":"3.8.1","react-dom":"^19.2.4","@eslint/js":"9.39.2","pkg-pr-new":"^0.0.63","typescript":"5.9.3","@types/node":"^24.10.11","convex-test":"0.0.41","@types/react":"^19.2.13","chokidar-cli":"3.0.0","npm-run-all2":"8.0.4","path-exists-cli":"2.0.0","@edge-runtime/vm":"^5.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.2.3","typescript-eslint":"8.54.0","eslint-plugin-react":"^7.37.5","@vitejs/plugin-react":"^5.1.3","@convex-dev/eslint-plugin":"^1.1.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.5.0"},"peerDependencies":{"react":"^18.3.1 || ^19.0.0","convex":"^1.31.7"},"_npmOperationalInternal":{"tmp":"tmp/agoge_1.1.1_1776946612970_0.15681384070194593","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@nativesquare/agoge","version":"1.1.2","keywords":["convex","component"],"license":"Apache-2.0","_id":"@nativesquare/agoge@1.1.2","maintainers":[{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"}],"homepage":"https://github.com/NativeSquare/agoge#readme","bugs":{"url":"https://github.com/NativeSquare/agoge/issues"},"dist":{"shasum":"27ca518fa29e381d0bedbe010eaec206630a3418","tarball":"https://registry.npmjs.org/@nativesquare/agoge/-/agoge-1.1.2.tgz","fileCount":79,"integrity":"sha512-Lt7c4CuM4Gr4s3K5dkdLz1qa9skyyUiElDiZlPTyMG7VgsA63jVD1J4DUAIaManz7aGTiXWg28eNDr7B4S5M6w==","signatures":[{"sig":"MEQCIGxak5lYJOh5WwdSebwuMarH1cx5e0cvRwJ/ZGLDPPRiAiAtk2TItu+8sTT21zyXhW9InfkO9AvsYmlTfIctON/UBw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":321003},"pnpm":{"onlyBuiltDependencies":["esbuild","@tailwindcss/oxide"]},"type":"module","types":"./dist/client/index.d.ts","module":"./dist/client/index.js","exports":{".":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./test":"./src/test.ts","./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./schema":{"types":"./dist/component/validators.d.ts","default":"./dist/component/validators.js"},"./package.json":"./package.json","./convex.config":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./convex.config.js":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./_generated/component":{"types":"./dist/component/_generated/component.d.ts"},"./_generated/component.js":{"types":"./dist/component/_generated/component.d.ts"}},"gitHead":"0f49b60734801a4220a63ba1a54200181168acd3","scripts":{"all":"run-p -r dev:* test:watch","dev":"run-p -r dev:*","lint":"eslint .","test":"vitest run --typecheck","alpha":"npm version prerelease --preid alpha && npm publish --tag alpha && git push --follow-tags","build":"tsc --project ./tsconfig.build.json","predev":"path-exists .env.local dist || (npm run build && convex dev --once)","release":"npm version patch && npm publish && git push --follow-tags","version":"vim -c 'normal o' -c 'normal o## '$npm_package_version CHANGELOG.md && prettier -w CHANGELOG.md && git add CHANGELOG.md","dev:build":"chokidar \"tsconfig*.json\" \"src/**/*.ts\" -i \"**/*.test.ts\" -c \"npm run build:codegen\" --initial","typecheck":"tsc --noEmit && tsc -p example && tsc -p example/convex","preversion":"npm ci && npm run build:clean && run-p test lint typecheck","test:debug":"vitest --inspect-brk --no-file-parallelism","test:watch":"vitest --typecheck --clearScreen false","build:clean":"npx rimraf dist *.tsbuildinfo && npm run build:codegen","dev:backend":"convex dev --typecheck-components","dev:frontend":"cd example && vite --clearScreen false","build:codegen":"npx convex codegen --component-dir ./src/component && npm run build","test:coverage":"vitest run --coverage --coverage.reporter=text","prepublishOnly":"npm whoami || npm login"},"_npmUser":{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"},"repository":{"url":"git+https://github.com/NativeSquare/agoge.git","type":"git"},"_npmVersion":"11.4.2","description":"Agoge — a Convex component for sport training. Models athletes, zones, events, plans, blocks, and workouts with a FIT-shaped step tree.","directories":{},"_nodeVersion":"23.3.0","_hasShrinkwrap":false,"devDependencies":{"zod":"^3.23.8","vite":"7.3.1","react":"^19.2.4","convex":"1.31.7","eslint":"9.39.2","vitest":"4.0.18","globals":"^17.3.0","prettier":"3.8.1","react-dom":"^19.2.4","@eslint/js":"9.39.2","pkg-pr-new":"^0.0.63","typescript":"5.9.3","@types/node":"^24.10.11","convex-test":"0.0.41","@types/react":"^19.2.13","chokidar-cli":"3.0.0","npm-run-all2":"8.0.4","path-exists-cli":"2.0.0","@edge-runtime/vm":"^5.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.2.3","typescript-eslint":"8.54.0","eslint-plugin-react":"^7.37.5","@vitejs/plugin-react":"^5.1.3","@convex-dev/eslint-plugin":"^1.1.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.5.0"},"peerDependencies":{"react":"^18.3.1 || ^19.0.0","convex":"^1.31.7"},"_npmOperationalInternal":{"tmp":"tmp/agoge_1.1.2_1776947068880_0.04324803712737779","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@nativesquare/agoge","version":"1.2.0","keywords":["convex","component"],"license":"Apache-2.0","_id":"@nativesquare/agoge@1.2.0","maintainers":[{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"}],"homepage":"https://github.com/NativeSquare/agoge#readme","bugs":{"url":"https://github.com/NativeSquare/agoge/issues"},"dist":{"shasum":"156e282c261210caa708475830c1dd911c591425","tarball":"https://registry.npmjs.org/@nativesquare/agoge/-/agoge-1.2.0.tgz","fileCount":79,"integrity":"sha512-q/WbrqRqOOszrByvEAUtE2AqFayDS7ZXyvRNIRwcJ1VqyGqwhJe/AMgr18VfzkHYklsqFKpFe1R8xGGWaEDjqg==","signatures":[{"sig":"MEUCIQD615XZHzdOkWloHx1kDWK8gf8BTLxS0e07RBBwH9rGigIgdbf0eaSEdufwBLnLPVjTfF2jkHkZM1yw7/XCDVnPeeM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":391572},"pnpm":{"onlyBuiltDependencies":["esbuild","@tailwindcss/oxide"]},"type":"module","types":"./dist/client/index.d.ts","module":"./dist/client/index.js","exports":{".":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./test":"./src/test.ts","./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./schema":{"types":"./dist/component/validators.d.ts","default":"./dist/component/validators.js"},"./package.json":"./package.json","./convex.config":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./convex.config.js":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./_generated/component":{"types":"./dist/component/_generated/component.d.ts"},"./_generated/component.js":{"types":"./dist/component/_generated/component.d.ts"}},"gitHead":"98ebca6d3228167081c07395f516b7d6c34c343a","scripts":{"all":"run-p -r dev:* test:watch","dev":"run-p -r dev:*","lint":"eslint .","test":"vitest run --typecheck","alpha":"npm version prerelease --preid alpha && npm publish --tag alpha && git push --follow-tags","build":"tsc --project ./tsconfig.build.json","predev":"path-exists .env.local dist || (npm run build && convex dev --once)","release":"npm version patch && npm publish && git push --follow-tags","version":"vim -c 'normal o' -c 'normal o## '$npm_package_version CHANGELOG.md && prettier -w CHANGELOG.md && git add CHANGELOG.md","dev:build":"chokidar \"tsconfig*.json\" \"src/**/*.ts\" -i \"**/*.test.ts\" -c \"npm run build:codegen\" --initial","typecheck":"tsc --noEmit && tsc -p example && tsc -p example/convex","preversion":"npm ci && npm run build:clean && run-p test lint typecheck","test:debug":"vitest --inspect-brk --no-file-parallelism","test:watch":"vitest --typecheck --clearScreen false","build:clean":"npx rimraf dist *.tsbuildinfo && npm run build:codegen","dev:backend":"convex dev --typecheck-components","dev:frontend":"cd example && vite --clearScreen false","build:codegen":"npx convex codegen --component-dir ./src/component && npm run build","test:coverage":"vitest run --coverage --coverage.reporter=text","prepublishOnly":"npm whoami || npm login"},"_npmUser":{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"},"repository":{"url":"git+https://github.com/NativeSquare/agoge.git","type":"git"},"_npmVersion":"11.4.2","description":"Agoge — a Convex component for sport training. Models athletes, zones, events, plans, blocks, and workouts with a FIT-shaped step tree.","directories":{},"_nodeVersion":"23.3.0","_hasShrinkwrap":false,"devDependencies":{"zod":"^3.23.8","vite":"7.3.1","react":"^19.2.4","convex":"1.31.7","eslint":"9.39.2","vitest":"4.0.18","globals":"^17.3.0","prettier":"3.8.1","react-dom":"^19.2.4","@eslint/js":"9.39.2","pkg-pr-new":"^0.0.63","typescript":"5.9.3","@types/node":"^24.10.11","convex-test":"0.0.41","@types/react":"^19.2.13","chokidar-cli":"3.0.0","npm-run-all2":"8.0.4","path-exists-cli":"2.0.0","@edge-runtime/vm":"^5.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.2.3","typescript-eslint":"8.54.0","eslint-plugin-react":"^7.37.5","@vitejs/plugin-react":"^5.1.3","@convex-dev/eslint-plugin":"^1.1.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.5.0"},"peerDependencies":{"react":"^18.3.1 || ^19.0.0","convex":"^1.31.7"},"_npmOperationalInternal":{"tmp":"tmp/agoge_1.2.0_1777043721998_0.6610211105172008","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@nativesquare/agoge","version":"1.3.0","keywords":["convex","component"],"license":"Apache-2.0","_id":"@nativesquare/agoge@1.3.0","maintainers":[{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"}],"homepage":"https://github.com/NativeSquare/agoge#readme","bugs":{"url":"https://github.com/NativeSquare/agoge/issues"},"dist":{"shasum":"d7224245c3d7c6a06da72226be98fb055e01783c","tarball":"https://registry.npmjs.org/@nativesquare/agoge/-/agoge-1.3.0.tgz","fileCount":74,"integrity":"sha512-AWzAV7GQNbgY/a+eB4irCpcx48cOqYYKi31UREb15TneYGESVnVyQMdIOBMwfvdCBZYu6Ua72XAEIJPZaNgp7Q==","signatures":[{"sig":"MEUCIQDxqO8msCgrWTGXIEnIaKgBAekaPGgkK8lyvlK2tcId+gIgJP52CUYJ8nAzHK2f+OEvjFXgvBREKMRGBDnOfPqh+ug=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":503177},"pnpm":{"onlyBuiltDependencies":["esbuild","@tailwindcss/oxide"]},"type":"module","types":"./dist/client/index.d.ts","module":"./dist/client/index.js","exports":{".":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./test":"./src/test.ts","./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./schema":{"types":"./dist/component/validators.d.ts","default":"./dist/component/validators.js"},"./package.json":"./package.json","./convex.config":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./convex.config.js":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./_generated/component":{"types":"./dist/component/_generated/component.d.ts"},"./_generated/component.js":{"types":"./dist/component/_generated/component.d.ts"}},"gitHead":"4368d92ebb05b1b1f06a512b0816072de34f849f","scripts":{"all":"run-p -r dev:* test:watch","dev":"run-p -r dev:*","lint":"eslint .","test":"vitest run --typecheck","alpha":"npm version prerelease --preid alpha && npm publish --tag alpha && git push --follow-tags","build":"tsc --project ./tsconfig.build.json","predev":"path-exists .env.local dist || (npm run build && convex dev --once)","release":"npm version patch && npm publish && git push --follow-tags","version":"vim -c 'normal o' -c 'normal o## '$npm_package_version CHANGELOG.md && prettier -w CHANGELOG.md && git add CHANGELOG.md","dev:build":"chokidar \"tsconfig*.json\" \"src/**/*.ts\" -i \"**/*.test.ts\" -c \"npm run build:codegen\" --initial","typecheck":"tsc --noEmit && tsc -p example && tsc -p example/convex","preversion":"npm ci && npm run build:clean && run-p test lint typecheck","test:debug":"vitest --inspect-brk --no-file-parallelism","test:watch":"vitest --typecheck --clearScreen false","build:clean":"npx rimraf dist *.tsbuildinfo && npm run build:codegen","dev:backend":"convex dev --typecheck-components","dev:frontend":"cd example && vite --clearScreen false","build:codegen":"npx convex codegen --component-dir ./src/component && npm run build","test:coverage":"vitest run --coverage --coverage.reporter=text","prepublishOnly":"npm whoami || npm login"},"_npmUser":{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"},"repository":{"url":"git+https://github.com/NativeSquare/agoge.git","type":"git"},"_npmVersion":"11.4.2","description":"Agoge — a Convex component for sport training. Models athletes, zones, events, plans, blocks, and workouts with a FIT-shaped step tree.","directories":{},"_nodeVersion":"23.3.0","_hasShrinkwrap":false,"devDependencies":{"zod":"^3.23.8","vite":"7.3.1","react":"^19.2.4","convex":"1.31.7","eslint":"9.39.2","vitest":"4.0.18","globals":"^17.3.0","prettier":"3.8.1","react-dom":"^19.2.4","@eslint/js":"9.39.2","pkg-pr-new":"^0.0.63","typescript":"5.9.3","@types/node":"^24.10.11","convex-test":"0.0.41","@types/react":"^19.2.13","chokidar-cli":"3.0.0","npm-run-all2":"8.0.4","path-exists-cli":"2.0.0","@edge-runtime/vm":"^5.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.2.3","typescript-eslint":"8.54.0","eslint-plugin-react":"^7.37.5","@vitejs/plugin-react":"^5.1.3","@convex-dev/eslint-plugin":"^1.1.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.5.0"},"peerDependencies":{"react":"^18.3.1 || ^19.0.0","convex":"^1.31.7"},"_npmOperationalInternal":{"tmp":"tmp/agoge_1.3.0_1777048385331_0.6271054985302544","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@nativesquare/agoge","version":"1.4.0","keywords":["convex","component"],"license":"Apache-2.0","_id":"@nativesquare/agoge@1.4.0","maintainers":[{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"}],"homepage":"https://github.com/NativeSquare/agoge#readme","bugs":{"url":"https://github.com/NativeSquare/agoge/issues"},"dist":{"shasum":"2539462bcace457cef050f2cc2e8023432d31d10","tarball":"https://registry.npmjs.org/@nativesquare/agoge/-/agoge-1.4.0.tgz","fileCount":74,"integrity":"sha512-wfwEiIKxyG3GAY2Am5qI8QetEb3niI4HlQqccwKcicCOpxYtG0W8S++NgjFyE7D/FYxjE5c35YXYDZHj3svH2A==","signatures":[{"sig":"MEUCIQCyfszY+7m2a8ZYUBlDHfaJ3K5BRsNMIFpDRE98LTY/xQIgMzoZUj+MwJOAO8MXy+SCBYRegHE3BKHFRnFyi0GLYqA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":519063},"pnpm":{"onlyBuiltDependencies":["esbuild","@tailwindcss/oxide"]},"type":"module","types":"./dist/client/index.d.ts","module":"./dist/client/index.js","exports":{".":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./test":"./src/test.ts","./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./schema":{"types":"./dist/component/validators.d.ts","default":"./dist/component/validators.js"},"./package.json":"./package.json","./convex.config":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./convex.config.js":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./_generated/component":{"types":"./dist/component/_generated/component.d.ts"},"./_generated/component.js":{"types":"./dist/component/_generated/component.d.ts"}},"gitHead":"4368d92ebb05b1b1f06a512b0816072de34f849f","scripts":{"all":"run-p -r dev:* test:watch","dev":"run-p -r dev:*","lint":"eslint .","test":"vitest run --typecheck","alpha":"npm version prerelease --preid alpha && npm publish --tag alpha && git push --follow-tags","build":"tsc --project ./tsconfig.build.json","predev":"path-exists .env.local dist || (npm run build && convex dev --once)","release":"npm version patch && npm publish && git push --follow-tags","version":"vim -c 'normal o' -c 'normal o## '$npm_package_version CHANGELOG.md && prettier -w CHANGELOG.md && git add CHANGELOG.md","dev:build":"chokidar \"tsconfig*.json\" \"src/**/*.ts\" -i \"**/*.test.ts\" -c \"npm run build:codegen\" --initial","typecheck":"tsc --noEmit && tsc -p example && tsc -p example/convex","preversion":"npm ci && npm run build:clean && run-p test lint typecheck","test:debug":"vitest --inspect-brk --no-file-parallelism","test:watch":"vitest --typecheck --clearScreen false","build:clean":"npx rimraf dist *.tsbuildinfo && npm run build:codegen","dev:backend":"convex dev --typecheck-components","dev:frontend":"cd example && vite --clearScreen false","build:codegen":"npx convex codegen --component-dir ./src/component && npm run build","test:coverage":"vitest run --coverage --coverage.reporter=text","prepublishOnly":"npm whoami || npm login"},"_npmUser":{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"},"repository":{"url":"git+https://github.com/NativeSquare/agoge.git","type":"git"},"_npmVersion":"11.4.2","description":"Agoge — a Convex component for sport training. Models athletes, zones, events, plans, blocks, and workouts with a FIT-shaped step tree.","directories":{},"_nodeVersion":"23.3.0","_hasShrinkwrap":false,"devDependencies":{"zod":"^3.23.8","vite":"7.3.1","react":"^19.2.4","convex":"1.31.7","eslint":"9.39.2","vitest":"4.0.18","globals":"^17.3.0","prettier":"3.8.1","react-dom":"^19.2.4","@eslint/js":"9.39.2","pkg-pr-new":"^0.0.63","typescript":"5.9.3","@types/node":"^24.10.11","convex-test":"0.0.41","@types/react":"^19.2.13","chokidar-cli":"3.0.0","npm-run-all2":"8.0.4","path-exists-cli":"2.0.0","@edge-runtime/vm":"^5.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.2.3","typescript-eslint":"8.54.0","eslint-plugin-react":"^7.37.5","@vitejs/plugin-react":"^5.1.3","@convex-dev/eslint-plugin":"^1.1.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.5.0"},"peerDependencies":{"react":"^18.3.1 || ^19.0.0","convex":"^1.31.7"},"_npmOperationalInternal":{"tmp":"tmp/agoge_1.4.0_1777116294748_0.04676102600450083","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"@nativesquare/agoge","version":"1.5.0","keywords":["convex","component"],"license":"Apache-2.0","_id":"@nativesquare/agoge@1.5.0","maintainers":[{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"}],"homepage":"https://github.com/NativeSquare/agoge#readme","bugs":{"url":"https://github.com/NativeSquare/agoge/issues"},"dist":{"shasum":"bcd5c133c8b3129ea5c5cd077ba409f449f77cb1","tarball":"https://registry.npmjs.org/@nativesquare/agoge/-/agoge-1.5.0.tgz","fileCount":74,"integrity":"sha512-JQvmgyCvul2tdmtqDXlrh6xmggjxSLp8K808/2Bbv1UNol/mrp3YJMgqZoKerOYaCUHp4/iZ9sss6Iznvr/ssg==","signatures":[{"sig":"MEUCIQC88MlajPmfY/6V+w/UAK4Fld2i+U+XVGy2daC9hp29vQIgIZQ+uUbRqDkpQO7F0RFTTr0Z1FNinW975E2esji3n0k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":654035},"pnpm":{"onlyBuiltDependencies":["esbuild","@tailwindcss/oxide"]},"type":"module","types":"./dist/client/index.d.ts","module":"./dist/client/index.js","exports":{".":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./test":"./src/test.ts","./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./schema":{"types":"./dist/component/validators.d.ts","default":"./dist/component/validators.js"},"./package.json":"./package.json","./convex.config":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./convex.config.js":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./_generated/component":{"types":"./dist/component/_generated/component.d.ts"},"./_generated/component.js":{"types":"./dist/component/_generated/component.d.ts"}},"gitHead":"59957fe9db679c7680860732991a498750a4ec47","scripts":{"all":"run-p -r dev:* test:watch","dev":"run-p -r dev:*","lint":"eslint .","test":"vitest run --typecheck","alpha":"npm version prerelease --preid alpha && npm publish --tag alpha && git push --follow-tags","build":"tsc --project ./tsconfig.build.json","predev":"path-exists .env.local dist || (npm run build && convex dev --once)","release":"npm version patch && npm publish && git push --follow-tags","version":"vim -c 'normal o' -c 'normal o## '$npm_package_version CHANGELOG.md && prettier -w CHANGELOG.md && git add CHANGELOG.md","dev:build":"chokidar \"tsconfig*.json\" \"src/**/*.ts\" -i \"**/*.test.ts\" -c \"npm run build:codegen\" --initial","typecheck":"tsc --noEmit && tsc -p example && tsc -p example/convex","preversion":"npm ci && npm run build:clean && run-p test lint typecheck","test:debug":"vitest --inspect-brk --no-file-parallelism","test:watch":"vitest --typecheck --clearScreen false","build:clean":"npx rimraf dist *.tsbuildinfo && npm run build:codegen","dev:backend":"convex dev --typecheck-components","dev:frontend":"cd example && vite --clearScreen false","build:codegen":"npx convex codegen --component-dir ./src/component && npm run build","test:coverage":"vitest run --coverage --coverage.reporter=text","prepublishOnly":"npm whoami || npm login"},"_npmUser":{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"},"repository":{"url":"git+https://github.com/NativeSquare/agoge.git","type":"git"},"_npmVersion":"11.4.2","description":"Agoge — a Convex component for sport training. Models athletes, zones, events, plans, blocks, and workouts with a FIT-shaped step tree.","directories":{},"_nodeVersion":"23.3.0","_hasShrinkwrap":false,"devDependencies":{"zod":"^3.23.8","vite":"7.3.1","react":"^19.2.4","convex":"1.31.7","eslint":"9.39.2","vitest":"4.0.18","globals":"^17.3.0","prettier":"3.8.1","react-dom":"^19.2.4","@eslint/js":"9.39.2","pkg-pr-new":"^0.0.63","typescript":"5.9.3","@types/node":"^24.10.11","convex-test":"0.0.41","@types/react":"^19.2.13","chokidar-cli":"3.0.0","npm-run-all2":"8.0.4","path-exists-cli":"2.0.0","@edge-runtime/vm":"^5.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.2.3","typescript-eslint":"8.54.0","eslint-plugin-react":"^7.37.5","@vitejs/plugin-react":"^5.1.3","@convex-dev/eslint-plugin":"^1.1.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.5.0"},"peerDependencies":{"react":"^18.3.1 || ^19.0.0","convex":"^1.31.7"},"_npmOperationalInternal":{"tmp":"tmp/agoge_1.5.0_1777135492295_0.050232222775340896","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"@nativesquare/agoge","version":"1.6.0","keywords":["convex","component"],"license":"Apache-2.0","_id":"@nativesquare/agoge@1.6.0","maintainers":[{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"}],"homepage":"https://github.com/NativeSquare/agoge#readme","bugs":{"url":"https://github.com/NativeSquare/agoge/issues"},"dist":{"shasum":"669d7f8fc5d94b280a1b0e0a4bb4e3cad5157f72","tarball":"https://registry.npmjs.org/@nativesquare/agoge/-/agoge-1.6.0.tgz","fileCount":74,"integrity":"sha512-xZcY2AkYxxoadrSOhGy1buQREkpmi1RpVdZ4pbrXp9NhNDUAoAtu40RuGmBkEK8xhSYswpmm26DxuDoWH/TJuQ==","signatures":[{"sig":"MEUCIF7OuMon0JDAeXF/qr25zg5IQ86krVB1aRyJCuCZZG8oAiEA0KajbIkZUfjH5jxVtKnaaSIkX5GN5AC8y5MBr5TjOrg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":636689},"pnpm":{"onlyBuiltDependencies":["esbuild","@tailwindcss/oxide"]},"type":"module","types":"./dist/client/index.d.ts","module":"./dist/client/index.js","exports":{".":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./test":"./src/test.ts","./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./schema":{"types":"./dist/component/validators.d.ts","default":"./dist/component/validators.js"},"./package.json":"./package.json","./convex.config":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./convex.config.js":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./_generated/component":{"types":"./dist/component/_generated/component.d.ts"},"./_generated/component.js":{"types":"./dist/component/_generated/component.d.ts"}},"gitHead":"fdc6ae509cc31c6eb0f9b671480ee8935abc99ac","scripts":{"all":"run-p -r dev:* test:watch","dev":"run-p -r dev:*","lint":"eslint .","test":"vitest run --typecheck","alpha":"npm version prerelease --preid alpha && npm publish --tag alpha && git push --follow-tags","build":"tsc --project ./tsconfig.build.json","predev":"path-exists .env.local dist || (npm run build && convex dev --once)","release":"npm version patch && npm publish && git push --follow-tags","version":"vim -c 'normal o' -c 'normal o## '$npm_package_version CHANGELOG.md && prettier -w CHANGELOG.md && git add CHANGELOG.md","dev:build":"chokidar \"tsconfig*.json\" \"src/**/*.ts\" -i \"**/*.test.ts\" -c \"npm run build:codegen\" --initial","typecheck":"tsc --noEmit && tsc -p example && tsc -p example/convex","preversion":"npm ci && npm run build:clean && run-p test lint typecheck","test:debug":"vitest --inspect-brk --no-file-parallelism","test:watch":"vitest --typecheck --clearScreen false","build:clean":"npx rimraf dist *.tsbuildinfo && npm run build:codegen","dev:backend":"convex dev --typecheck-components","dev:frontend":"cd example && vite --clearScreen false","build:codegen":"npx convex codegen --component-dir ./src/component && npm run build","test:coverage":"vitest run --coverage --coverage.reporter=text","prepublishOnly":"npm whoami || npm login"},"_npmUser":{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"},"repository":{"url":"git+https://github.com/NativeSquare/agoge.git","type":"git"},"_npmVersion":"11.4.2","description":"Agoge — a Convex component for sport training. Models athletes, zones, races, plans, blocks, and workouts with a FIT-shaped step tree.","directories":{},"_nodeVersion":"23.3.0","_hasShrinkwrap":false,"devDependencies":{"zod":"^3.23.8","vite":"7.3.1","react":"^19.2.4","convex":"1.31.7","eslint":"9.39.2","vitest":"4.0.18","globals":"^17.3.0","prettier":"3.8.1","react-dom":"^19.2.4","@eslint/js":"9.39.2","pkg-pr-new":"^0.0.63","typescript":"5.9.3","@types/node":"^24.10.11","convex-test":"0.0.41","@types/react":"^19.2.13","chokidar-cli":"3.0.0","npm-run-all2":"8.0.4","path-exists-cli":"2.0.0","@edge-runtime/vm":"^5.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.2.3","typescript-eslint":"8.54.0","eslint-plugin-react":"^7.37.5","@vitejs/plugin-react":"^5.1.3","@convex-dev/eslint-plugin":"^1.1.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.5.0"},"peerDependencies":{"react":"^18.3.1 || ^19.0.0","convex":"^1.31.7"},"_npmOperationalInternal":{"tmp":"tmp/agoge_1.6.0_1777136312696_0.9376555667068645","host":"s3://npm-registry-packages-npm-production"}},"1.6.1":{"name":"@nativesquare/agoge","version":"1.6.1","keywords":["convex","component"],"license":"Apache-2.0","_id":"@nativesquare/agoge@1.6.1","maintainers":[{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"}],"homepage":"https://github.com/NativeSquare/agoge#readme","bugs":{"url":"https://github.com/NativeSquare/agoge/issues"},"dist":{"shasum":"deeea2e5f63c9ba580ba8532dcf39103b81a2502","tarball":"https://registry.npmjs.org/@nativesquare/agoge/-/agoge-1.6.1.tgz","fileCount":74,"integrity":"sha512-HJ+eRV8GBBvtpUyP+z19Xd8/A+GEHACBtZM1aMi0yi58jWIiJRWQkI98XRc8xogYB6ul4DtCFti5XmlxAZnk8Q==","signatures":[{"sig":"MEQCIGQmRngP0jKQvuMxvKWrCZtICyBs+CM5a7g7D5Iiy3FrAiBbldlt3iHvofMUaQZmG7BoBRHI8AkLuJnkSG3jO3YvJA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":636896},"pnpm":{"onlyBuiltDependencies":["esbuild","@tailwindcss/oxide"]},"type":"module","types":"./dist/client/index.d.ts","module":"./dist/client/index.js","exports":{".":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./test":"./src/test.ts","./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./schema":{"types":"./dist/component/validators.d.ts","default":"./dist/component/validators.js"},"./package.json":"./package.json","./convex.config":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./convex.config.js":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./_generated/component":{"types":"./dist/component/_generated/component.d.ts"},"./_generated/component.js":{"types":"./dist/component/_generated/component.d.ts"}},"gitHead":"03c415de3852057b34bca185b305397814572e23","scripts":{"all":"run-p -r dev:* test:watch","dev":"run-p -r dev:*","lint":"eslint .","test":"vitest run --typecheck","alpha":"npm version prerelease --preid alpha && npm publish --tag alpha && git push --follow-tags","build":"tsc --project ./tsconfig.build.json","predev":"path-exists .env.local dist || (npm run build && convex dev --once)","release":"npm version patch && npm publish && git push --follow-tags","version":"vim -c 'normal o' -c 'normal o## '$npm_package_version CHANGELOG.md && prettier -w CHANGELOG.md && git add CHANGELOG.md","dev:build":"chokidar \"tsconfig*.json\" \"src/**/*.ts\" -i \"**/*.test.ts\" -c \"npm run build:codegen\" --initial","typecheck":"tsc --noEmit && tsc -p example && tsc -p example/convex","preversion":"npm ci && npm run build:clean && run-p test lint typecheck","test:debug":"vitest --inspect-brk --no-file-parallelism","test:watch":"vitest --typecheck --clearScreen false","build:clean":"npx rimraf dist *.tsbuildinfo && npm run build:codegen","dev:backend":"convex dev --typecheck-components","dev:frontend":"cd example && vite --clearScreen false","build:codegen":"npx convex codegen --component-dir ./src/component && npm run build","test:coverage":"vitest run --coverage --coverage.reporter=text","prepublishOnly":"npm whoami || npm login"},"_npmUser":{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"},"repository":{"url":"git+https://github.com/NativeSquare/agoge.git","type":"git"},"_npmVersion":"11.4.2","description":"Agoge — a Convex component for sport training. Models athletes, zones, races, plans, blocks, and workouts with a FIT-shaped step tree.","directories":{},"_nodeVersion":"23.3.0","_hasShrinkwrap":false,"devDependencies":{"zod":"^3.23.8","vite":"7.3.1","react":"^19.2.4","convex":"1.31.7","eslint":"9.39.2","vitest":"4.0.18","globals":"^17.3.0","prettier":"3.8.1","react-dom":"^19.2.4","@eslint/js":"9.39.2","pkg-pr-new":"^0.0.63","typescript":"5.9.3","@types/node":"^24.10.11","convex-test":"0.0.41","@types/react":"^19.2.13","chokidar-cli":"3.0.0","npm-run-all2":"8.0.4","path-exists-cli":"2.0.0","@edge-runtime/vm":"^5.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.2.3","typescript-eslint":"8.54.0","eslint-plugin-react":"^7.37.5","@vitejs/plugin-react":"^5.1.3","@convex-dev/eslint-plugin":"^1.1.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.5.0"},"peerDependencies":{"react":"^18.3.1 || ^19.0.0","convex":"^1.31.7"},"_npmOperationalInternal":{"tmp":"tmp/agoge_1.6.1_1777289436556_0.2678006918175513","host":"s3://npm-registry-packages-npm-production"}},"1.6.2":{"name":"@nativesquare/agoge","version":"1.6.2","keywords":["convex","component"],"license":"Apache-2.0","_id":"@nativesquare/agoge@1.6.2","maintainers":[{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"}],"homepage":"https://github.com/NativeSquare/agoge#readme","bugs":{"url":"https://github.com/NativeSquare/agoge/issues"},"dist":{"shasum":"fef10559cc93566e4f2836296ae14bc3495f8e7e","tarball":"https://registry.npmjs.org/@nativesquare/agoge/-/agoge-1.6.2.tgz","fileCount":74,"integrity":"sha512-ruC/UbwbGgeq9rGpoVHtG7iFvaLCwXBfHixoja8WH8aljXjhMnNEFrZEIQyN3+qw9rzfyxch0Tcb1DGPa50K9A==","signatures":[{"sig":"MEYCIQCxeKfXPN5jrRd+SZlwbbKrq1hqCmHvreFUCprWOlN8xwIhAO5BNfv6pakwfif2fCu9KPxq3TI6kw+n5a4DiwMEqMTz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":638842},"pnpm":{"onlyBuiltDependencies":["esbuild","@tailwindcss/oxide"]},"type":"module","types":"./dist/client/index.d.ts","module":"./dist/client/index.js","exports":{".":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./test":"./src/test.ts","./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./schema":{"types":"./dist/component/validators.d.ts","default":"./dist/component/validators.js"},"./package.json":"./package.json","./convex.config":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./convex.config.js":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./_generated/component":{"types":"./dist/component/_generated/component.d.ts"},"./_generated/component.js":{"types":"./dist/component/_generated/component.d.ts"}},"gitHead":"03c415de3852057b34bca185b305397814572e23","scripts":{"all":"run-p -r dev:* test:watch","dev":"run-p -r dev:*","lint":"eslint .","test":"vitest run --typecheck","alpha":"npm version prerelease --preid alpha && npm publish --tag alpha && git push --follow-tags","build":"tsc --project ./tsconfig.build.json","predev":"path-exists .env.local dist || (npm run build && convex dev --once)","release":"npm version patch && npm publish && git push --follow-tags","version":"vim -c 'normal o' -c 'normal o## '$npm_package_version CHANGELOG.md && prettier -w CHANGELOG.md && git add CHANGELOG.md","dev:build":"chokidar \"tsconfig*.json\" \"src/**/*.ts\" -i \"**/*.test.ts\" -c \"npm run build:codegen\" --initial","typecheck":"tsc --noEmit && tsc -p example && tsc -p example/convex","preversion":"npm ci && npm run build:clean && run-p test lint typecheck","test:debug":"vitest --inspect-brk --no-file-parallelism","test:watch":"vitest --typecheck --clearScreen false","build:clean":"npx rimraf dist *.tsbuildinfo && npm run build:codegen","dev:backend":"convex dev --typecheck-components","dev:frontend":"cd example && vite --clearScreen false","build:codegen":"npx convex codegen --component-dir ./src/component && npm run build","test:coverage":"vitest run --coverage --coverage.reporter=text","prepublishOnly":"npm whoami || npm login"},"_npmUser":{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"},"repository":{"url":"git+https://github.com/NativeSquare/agoge.git","type":"git"},"_npmVersion":"11.4.2","description":"Agoge — a Convex component for sport training. Models athletes, zones, races, plans, blocks, and workouts with a FIT-shaped step tree.","directories":{},"_nodeVersion":"23.3.0","_hasShrinkwrap":false,"devDependencies":{"zod":"^3.23.8","vite":"7.3.1","react":"^19.2.4","convex":"1.31.7","eslint":"9.39.2","vitest":"4.0.18","globals":"^17.3.0","prettier":"3.8.1","react-dom":"^19.2.4","@eslint/js":"9.39.2","pkg-pr-new":"^0.0.63","typescript":"5.9.3","@types/node":"^24.10.11","convex-test":"0.0.41","@types/react":"^19.2.13","chokidar-cli":"3.0.0","npm-run-all2":"8.0.4","path-exists-cli":"2.0.0","@edge-runtime/vm":"^5.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.2.3","typescript-eslint":"8.54.0","eslint-plugin-react":"^7.37.5","@vitejs/plugin-react":"^5.1.3","@convex-dev/eslint-plugin":"^1.1.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.5.0"},"peerDependencies":{"react":"^18.3.1 || ^19.0.0","convex":"^1.31.7"},"_npmOperationalInternal":{"tmp":"tmp/agoge_1.6.2_1777368604382_0.5765008454759348","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@nativesquare/agoge","version":"2.0.0","keywords":["convex","component"],"license":"Apache-2.0","_id":"@nativesquare/agoge@2.0.0","maintainers":[{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"}],"homepage":"https://github.com/NativeSquare/agoge#readme","bugs":{"url":"https://github.com/NativeSquare/agoge/issues"},"dist":{"shasum":"37902ac8aa8b9baf66965da1f1901f1857540354","tarball":"https://registry.npmjs.org/@nativesquare/agoge/-/agoge-2.0.0.tgz","fileCount":175,"integrity":"sha512-6p/uPTAuubn3ezpoVYxrVS+/QHmbe1a7xEiG1zhvoNUFp7DaHrpdCbM+75uJui6mG+PLXQSyM1XCjnbE16cwLg==","signatures":[{"sig":"MEQCIBdMboNw8RMLA1o8B/vu0y8ih0GZhfm7ryNSXbupSHjpAiAT2p1waFibmMZPQPVHTZRdwXjuaKc58jMN55MXU4Sfuw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":926746},"pnpm":{"onlyBuiltDependencies":["esbuild","@tailwindcss/oxide"]},"type":"module","types":"./dist/client/index.d.ts","module":"./dist/client/index.js","exports":{".":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./test":"./src/test.ts","./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./schema":{"types":"./dist/component/validators.d.ts","default":"./dist/component/validators.js"},"./package.json":"./package.json","./convex.config":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./convex.config.js":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./_generated/component":{"types":"./dist/component/_generated/component.d.ts"},"./_generated/component.js":{"types":"./dist/component/_generated/component.d.ts"}},"gitHead":"352f77dc41f64ff30469741e5553acb6d09f4a30","scripts":{"all":"run-p -r dev:* test:watch","dev":"run-p -r dev:*","lint":"eslint .","test":"vitest run --typecheck","alpha":"npm version prerelease --preid alpha && npm publish --tag alpha && git push --follow-tags","build":"tsc --project ./tsconfig.build.json","predev":"path-exists .env.local dist || (npm run build && convex dev --once)","release":"npm version patch && npm publish && git push --follow-tags","version":"vim -c 'normal o' -c 'normal o## '$npm_package_version CHANGELOG.md && prettier -w CHANGELOG.md && git add CHANGELOG.md","dev:build":"chokidar \"tsconfig*.json\" \"src/**/*.ts\" -i \"**/*.test.ts\" -c \"npm run build:codegen\" --initial","typecheck":"tsc --noEmit && tsc -p example && tsc -p example/convex","preversion":"npm ci && npm run build:clean && run-p test lint typecheck","test:debug":"vitest --inspect-brk --no-file-parallelism","test:watch":"vitest --typecheck --clearScreen false","build:clean":"npx rimraf dist *.tsbuildinfo && npm run build:codegen","dev:backend":"convex dev --typecheck-components","dev:frontend":"cd example && vite --clearScreen false","build:codegen":"npx convex codegen --component-dir ./src/component && npm run build","test:coverage":"vitest run --coverage --coverage.reporter=text","prepublishOnly":"npm whoami || npm login","generate:openapi":"openapi-ts"},"_npmUser":{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"},"repository":{"url":"git+https://github.com/NativeSquare/agoge.git","type":"git"},"_npmVersion":"11.4.2","description":"Agoge — a Convex component for sport training. Models athletes, zones, races, plans, blocks, and workouts with a FIT-shaped step tree.","directories":{},"_nodeVersion":"23.3.0","dependencies":{"@hey-api/openapi-ts":"^0.97.0"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.23.8","vite":"7.3.1","react":"^19.2.4","convex":"1.31.7","eslint":"9.39.2","vitest":"4.0.18","globals":"^17.3.0","prettier":"3.8.1","react-dom":"^19.2.4","@eslint/js":"9.39.2","pkg-pr-new":"^0.0.63","typescript":"5.9.3","@types/node":"^24.10.11","convex-test":"0.0.41","@types/react":"^19.2.13","chokidar-cli":"3.0.0","npm-run-all2":"8.0.4","path-exists-cli":"2.0.0","@edge-runtime/vm":"^5.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.2.3","typescript-eslint":"8.54.0","eslint-plugin-react":"^7.37.5","@vitejs/plugin-react":"^5.1.3","@convex-dev/eslint-plugin":"^1.1.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.5.0"},"peerDependencies":{"react":"^18.3.1 || ^19.0.0","convex":"^1.31.7"},"_npmOperationalInternal":{"tmp":"tmp/agoge_2.0.0_1777469262196_0.4662342512143751","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"@nativesquare/agoge","version":"2.1.0","keywords":["convex","component"],"license":"Apache-2.0","_id":"@nativesquare/agoge@2.1.0","maintainers":[{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"}],"homepage":"https://github.com/NativeSquare/agoge#readme","bugs":{"url":"https://github.com/NativeSquare/agoge/issues"},"dist":{"shasum":"3b61653b0f31f14ce4c5c171090354ce063a912a","tarball":"https://registry.npmjs.org/@nativesquare/agoge/-/agoge-2.1.0.tgz","fileCount":175,"integrity":"sha512-15Lwq1AWjUirv3h3QqjPfheGspRZd6Wf+SKtVAUIA0m2Y4LRXz1fSB/BsGHDXBVgj58c+ePIALuk5wpCXcQnfA==","signatures":[{"sig":"MEQCIBzJfNyCsRIGL249fIJtZIxdLatK4u5qDyZrZsX2FqmEAiAgaHbrRguZHGAQJJ6fLhB3KBwA8F4AF7k3D2uvewS0bA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":950071},"pnpm":{"onlyBuiltDependencies":["esbuild","@tailwindcss/oxide"]},"type":"module","types":"./dist/client/index.d.ts","module":"./dist/client/index.js","exports":{".":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./test":"./src/test.ts","./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./schema":{"types":"./dist/component/validators.d.ts","default":"./dist/component/validators.js"},"./package.json":"./package.json","./convex.config":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./convex.config.js":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./_generated/component":{"types":"./dist/component/_generated/component.d.ts"},"./_generated/component.js":{"types":"./dist/component/_generated/component.d.ts"}},"gitHead":"352f77dc41f64ff30469741e5553acb6d09f4a30","scripts":{"all":"run-p -r dev:* test:watch","dev":"run-p -r dev:*","lint":"eslint .","test":"vitest run --typecheck","alpha":"npm version prerelease --preid alpha && npm publish --tag alpha && git push --follow-tags","build":"tsc --project ./tsconfig.build.json","predev":"path-exists .env.local dist || (npm run build && convex dev --once)","release":"npm version patch && npm publish && git push --follow-tags","version":"vim -c 'normal o' -c 'normal o## '$npm_package_version CHANGELOG.md && prettier -w CHANGELOG.md && git add CHANGELOG.md","dev:build":"chokidar \"tsconfig*.json\" \"src/**/*.ts\" -i \"**/*.test.ts\" -c \"npm run build:codegen\" --initial","typecheck":"tsc --noEmit && tsc -p example && tsc -p example/convex","preversion":"npm ci && npm run build:clean && run-p test lint typecheck","test:debug":"vitest --inspect-brk --no-file-parallelism","test:watch":"vitest --typecheck --clearScreen false","build:clean":"npx rimraf dist *.tsbuildinfo && npm run build:codegen","dev:backend":"convex dev --typecheck-components","dev:frontend":"cd example && vite --clearScreen false","build:codegen":"npx convex codegen --component-dir ./src/component && npm run build","test:coverage":"vitest run --coverage --coverage.reporter=text","prepublishOnly":"npm whoami || npm login","generate:openapi":"openapi-ts"},"_npmUser":{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"},"repository":{"url":"git+https://github.com/NativeSquare/agoge.git","type":"git"},"_npmVersion":"11.4.2","description":"Agoge — a Convex component for sport training. Models athletes, zones, races, plans, blocks, and workouts with a FIT-shaped step tree.","directories":{},"_nodeVersion":"23.3.0","dependencies":{"@hey-api/openapi-ts":"^0.97.0"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.23.8","vite":"7.3.1","react":"^19.2.4","convex":"1.31.7","eslint":"9.39.2","vitest":"4.0.18","globals":"^17.3.0","prettier":"3.8.1","react-dom":"^19.2.4","@eslint/js":"9.39.2","pkg-pr-new":"^0.0.63","typescript":"5.9.3","@types/node":"^24.10.11","convex-test":"0.0.41","@types/react":"^19.2.13","chokidar-cli":"3.0.0","npm-run-all2":"8.0.4","path-exists-cli":"2.0.0","@edge-runtime/vm":"^5.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.2.3","typescript-eslint":"8.54.0","eslint-plugin-react":"^7.37.5","@vitejs/plugin-react":"^5.1.3","@convex-dev/eslint-plugin":"^1.1.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.5.0"},"peerDependencies":{"react":"^18.3.1 || ^19.0.0","convex":"^1.31.7"},"_npmOperationalInternal":{"tmp":"tmp/agoge_2.1.0_1777470429159_0.9006478578677592","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"@nativesquare/agoge","version":"2.2.0","keywords":["convex","component"],"license":"Apache-2.0","_id":"@nativesquare/agoge@2.2.0","maintainers":[{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"}],"homepage":"https://github.com/NativeSquare/agoge#readme","bugs":{"url":"https://github.com/NativeSquare/agoge/issues"},"dist":{"shasum":"9db59a3238c45a53d9dee826db65c2d415689d1e","tarball":"https://registry.npmjs.org/@nativesquare/agoge/-/agoge-2.2.0.tgz","fileCount":175,"integrity":"sha512-9qcBxWlU/0QRvLjY4uzH8d9X7+3hfUHUnqfe/JsCnaRb141Di5/wqmLEk4+dvzrjcJo91gmRX6eM6bFULSa7oQ==","signatures":[{"sig":"MEUCIQC9t2m1030TgsdOu55I6XNMvm8E6WC+CCG8YxaG3VU0xQIgUuC1EJoRq4/C/LHGhq7x9mVTuZ6ueROQu/9l01n6EUI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":965278},"pnpm":{"onlyBuiltDependencies":["esbuild","@tailwindcss/oxide"]},"type":"module","types":"./dist/client/index.d.ts","module":"./dist/client/index.js","exports":{".":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./test":"./src/test.ts","./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./schema":{"types":"./dist/component/validators.d.ts","default":"./dist/component/validators.js"},"./package.json":"./package.json","./convex.config":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./convex.config.js":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./_generated/component":{"types":"./dist/component/_generated/component.d.ts"},"./_generated/component.js":{"types":"./dist/component/_generated/component.d.ts"}},"gitHead":"5b42f7fbb504fdd9b8f8c4022a8fcc6bf6a745e4","scripts":{"all":"run-p -r dev:* test:watch","dev":"run-p -r dev:*","lint":"eslint .","test":"vitest run --typecheck","alpha":"npm version prerelease --preid alpha && npm publish --tag alpha && git push --follow-tags","build":"tsc --project ./tsconfig.build.json","predev":"path-exists .env.local dist || (npm run build && convex dev --once)","release":"npm version patch && npm publish && git push --follow-tags","version":"vim -c 'normal o' -c 'normal o## '$npm_package_version CHANGELOG.md && prettier -w CHANGELOG.md && git add CHANGELOG.md","dev:build":"chokidar \"tsconfig*.json\" \"src/**/*.ts\" -i \"**/*.test.ts\" -c \"npm run build:codegen\" --initial","typecheck":"tsc --noEmit && tsc -p example && tsc -p example/convex","preversion":"npm ci && npm run build:clean && run-p test lint typecheck","test:debug":"vitest --inspect-brk --no-file-parallelism","test:watch":"vitest --typecheck --clearScreen false","build:clean":"npx rimraf dist *.tsbuildinfo && npm run build:codegen","dev:backend":"convex dev --typecheck-components","dev:frontend":"cd example && vite --clearScreen false","build:codegen":"npx convex codegen --component-dir ./src/component && npm run build","test:coverage":"vitest run --coverage --coverage.reporter=text","prepublishOnly":"npm whoami || npm login","generate:openapi":"openapi-ts"},"_npmUser":{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"},"repository":{"url":"git+https://github.com/NativeSquare/agoge.git","type":"git"},"_npmVersion":"11.4.2","description":"Agoge — a Convex component for sport training. Models athletes, zones, races, plans, blocks, and workouts with a FIT-shaped step tree.","directories":{},"_nodeVersion":"23.3.0","dependencies":{"@hey-api/openapi-ts":"^0.97.0"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.23.8","vite":"7.3.1","react":"^19.2.4","convex":"1.31.7","eslint":"9.39.2","vitest":"4.0.18","globals":"^17.3.0","prettier":"3.8.1","react-dom":"^19.2.4","@eslint/js":"9.39.2","pkg-pr-new":"^0.0.63","typescript":"5.9.3","@types/node":"^24.10.11","convex-test":"0.0.41","@types/react":"^19.2.13","chokidar-cli":"3.0.0","npm-run-all2":"8.0.4","path-exists-cli":"2.0.0","@edge-runtime/vm":"^5.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.2.3","typescript-eslint":"8.54.0","eslint-plugin-react":"^7.37.5","@vitejs/plugin-react":"^5.1.3","@convex-dev/eslint-plugin":"^1.1.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.5.0"},"peerDependencies":{"react":"^18.3.1 || ^19.0.0","convex":"^1.31.7"},"_npmOperationalInternal":{"tmp":"tmp/agoge_2.2.0_1777628263859_0.025061679365776524","host":"s3://npm-registry-packages-npm-production"}},"2.2.1":{"name":"@nativesquare/agoge","version":"2.2.1","keywords":["convex","component"],"license":"Apache-2.0","_id":"@nativesquare/agoge@2.2.1","maintainers":[{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"}],"homepage":"https://github.com/NativeSquare/agoge#readme","bugs":{"url":"https://github.com/NativeSquare/agoge/issues"},"dist":{"shasum":"809cd623968a092676b3cee21a78b868c7a9ac53","tarball":"https://registry.npmjs.org/@nativesquare/agoge/-/agoge-2.2.1.tgz","fileCount":175,"integrity":"sha512-Hlpq2CxtPKO7BrC5anCIr+LxuFTlnH2lO5YPkDkyrmd4hNvkW9KeL3oD/VVtJvCYlEJ7t1X/ARuuA5PbxzILWQ==","signatures":[{"sig":"MEYCIQCQcgqhr74u630QaJCCqjOOWP3RAoOrUOuMKxWVx5wUyAIhAIQXltYrVa9YVmv0ZwwBlqMuOD3SL8p9mrGInZkwpI9Q","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":967226},"pnpm":{"onlyBuiltDependencies":["esbuild","@tailwindcss/oxide"]},"type":"module","types":"./dist/client/index.d.ts","module":"./dist/client/index.js","exports":{".":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./test":"./src/test.ts","./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./schema":{"types":"./dist/component/validators.d.ts","default":"./dist/component/validators.js"},"./package.json":"./package.json","./convex.config":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./convex.config.js":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./_generated/component":{"types":"./dist/component/_generated/component.d.ts"},"./_generated/component.js":{"types":"./dist/component/_generated/component.d.ts"}},"gitHead":"2ea2a2ea15da5f7ea699060f3f8d4ef1ee8ce645","scripts":{"all":"run-p -r dev:* test:watch","dev":"run-p -r dev:*","lint":"eslint .","test":"vitest run --typecheck","alpha":"npm version prerelease --preid alpha && npm publish --tag alpha && git push --follow-tags","build":"tsc --project ./tsconfig.build.json","predev":"path-exists .env.local dist || (npm run build && convex dev --once)","release":"npm version patch && npm publish && git push --follow-tags","version":"vim -c 'normal o' -c 'normal o## '$npm_package_version CHANGELOG.md && prettier -w CHANGELOG.md && git add CHANGELOG.md","dev:build":"chokidar \"tsconfig*.json\" \"src/**/*.ts\" -i \"**/*.test.ts\" -c \"npm run build:codegen\" --initial","typecheck":"tsc --noEmit && tsc -p example && tsc -p example/convex","preversion":"npm ci && npm run build:clean && run-p test lint typecheck","test:debug":"vitest --inspect-brk --no-file-parallelism","test:watch":"vitest --typecheck --clearScreen false","build:clean":"npx rimraf dist *.tsbuildinfo && npm run build:codegen","dev:backend":"convex dev --typecheck-components","dev:frontend":"cd example && vite --clearScreen false","build:codegen":"npx convex codegen --component-dir ./src/component && npm run build","test:coverage":"vitest run --coverage --coverage.reporter=text","prepublishOnly":"npm whoami || npm login","generate:openapi":"openapi-ts"},"_npmUser":{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"},"repository":{"url":"git+https://github.com/NativeSquare/agoge.git","type":"git"},"_npmVersion":"11.4.2","description":"Agoge — a Convex component for sport training. Models athletes, zones, races, plans, blocks, and workouts with a FIT-shaped step tree.","directories":{},"_nodeVersion":"23.3.0","dependencies":{"@hey-api/openapi-ts":"^0.97.0"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.23.8","vite":"7.3.1","react":"^19.2.4","convex":"1.31.7","eslint":"9.39.2","vitest":"4.0.18","globals":"^17.3.0","prettier":"3.8.1","react-dom":"^19.2.4","@eslint/js":"9.39.2","pkg-pr-new":"^0.0.63","typescript":"5.9.3","@types/node":"^24.10.11","convex-test":"0.0.41","@types/react":"^19.2.13","chokidar-cli":"3.0.0","npm-run-all2":"8.0.4","path-exists-cli":"2.0.0","@edge-runtime/vm":"^5.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.2.3","typescript-eslint":"8.54.0","eslint-plugin-react":"^7.37.5","@vitejs/plugin-react":"^5.1.3","@convex-dev/eslint-plugin":"^1.1.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.5.0"},"peerDependencies":{"react":"^18.3.1 || ^19.0.0","convex":"^1.31.7"},"_npmOperationalInternal":{"tmp":"tmp/agoge_2.2.1_1777629781905_0.7247249944812821","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"@nativesquare/agoge","version":"2.3.0","keywords":["convex","component"],"license":"Apache-2.0","_id":"@nativesquare/agoge@2.3.0","maintainers":[{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"}],"homepage":"https://github.com/NativeSquare/agoge#readme","bugs":{"url":"https://github.com/NativeSquare/agoge/issues"},"dist":{"shasum":"3bd0db551c186a81cd4e92ca9d0b5c4b5f0f67fe","tarball":"https://registry.npmjs.org/@nativesquare/agoge/-/agoge-2.3.0.tgz","fileCount":175,"integrity":"sha512-pPulk5Uvxb+iR07CdM6FT8iNCl41q/h/61fgsllcSnIwvOutGSKxt2DzcsC+pevbYuvwqI5doaUeFFMfUx85XQ==","signatures":[{"sig":"MEQCIDY8j9B7sno7F/uRuIBR3IE37eTcSkoCnqmPqsNs99t7AiBFdWcLTF3H2b97qIYG/fGPaLd1DHpn4boj42T9Pi0zIg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":968295},"pnpm":{"onlyBuiltDependencies":["esbuild","@tailwindcss/oxide"]},"type":"module","types":"./dist/client/index.d.ts","module":"./dist/client/index.js","exports":{".":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./test":"./src/test.ts","./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./schema":{"types":"./dist/component/validators.d.ts","default":"./dist/component/validators.js"},"./package.json":"./package.json","./convex.config":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./convex.config.js":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./_generated/component":{"types":"./dist/component/_generated/component.d.ts"},"./_generated/component.js":{"types":"./dist/component/_generated/component.d.ts"}},"gitHead":"3af63c00654ef25ced3cadc93f9c34dd6c851281","scripts":{"all":"run-p -r dev:* test:watch","dev":"run-p -r dev:*","lint":"eslint .","test":"vitest run --typecheck","alpha":"npm version prerelease --preid alpha && npm publish --tag alpha && git push --follow-tags","build":"tsc --project ./tsconfig.build.json","predev":"path-exists .env.local dist || (npm run build && convex dev --once)","release":"npm version patch && npm publish && git push --follow-tags","version":"vim -c 'normal o' -c 'normal o## '$npm_package_version CHANGELOG.md && prettier -w CHANGELOG.md && git add CHANGELOG.md","dev:build":"chokidar \"tsconfig*.json\" \"src/**/*.ts\" -i \"**/*.test.ts\" -c \"npm run build:codegen\" --initial","typecheck":"tsc --noEmit && tsc -p example && tsc -p example/convex","preversion":"npm ci && npm run build:clean && run-p test lint typecheck","test:debug":"vitest --inspect-brk --no-file-parallelism","test:watch":"vitest --typecheck --clearScreen false","build:clean":"npx rimraf dist *.tsbuildinfo && npm run build:codegen","dev:backend":"convex dev --typecheck-components","dev:frontend":"cd example && vite --clearScreen false","build:codegen":"npx convex codegen --component-dir ./src/component && npm run build","test:coverage":"vitest run --coverage --coverage.reporter=text","prepublishOnly":"npm whoami || npm login","generate:openapi":"openapi-ts"},"_npmUser":{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"},"repository":{"url":"git+https://github.com/NativeSquare/agoge.git","type":"git"},"_npmVersion":"11.4.2","description":"Agoge — a Convex component for sport training. Models athletes, zones, races, plans, blocks, and workouts with a FIT-shaped step tree.","directories":{},"_nodeVersion":"23.3.0","dependencies":{"@hey-api/openapi-ts":"^0.97.0"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.23.8","vite":"7.3.1","react":"^19.2.4","convex":"1.31.7","eslint":"9.39.2","vitest":"4.0.18","globals":"^17.3.0","prettier":"3.8.1","react-dom":"^19.2.4","@eslint/js":"9.39.2","pkg-pr-new":"^0.0.63","typescript":"5.9.3","@types/node":"^24.10.11","convex-test":"0.0.41","@types/react":"^19.2.13","chokidar-cli":"3.0.0","npm-run-all2":"8.0.4","path-exists-cli":"2.0.0","@edge-runtime/vm":"^5.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.2.3","typescript-eslint":"8.54.0","eslint-plugin-react":"^7.37.5","@vitejs/plugin-react":"^5.1.3","@convex-dev/eslint-plugin":"^1.1.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.5.0"},"peerDependencies":{"react":"^18.3.1 || ^19.0.0","convex":"^1.31.7"},"_npmOperationalInternal":{"tmp":"tmp/agoge_2.3.0_1777650763794_0.03682377806229309","host":"s3://npm-registry-packages-npm-production"}},"2.4.0":{"name":"@nativesquare/agoge","version":"2.4.0","keywords":["convex","component"],"license":"Apache-2.0","_id":"@nativesquare/agoge@2.4.0","maintainers":[{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"}],"homepage":"https://github.com/NativeSquare/agoge#readme","bugs":{"url":"https://github.com/NativeSquare/agoge/issues"},"dist":{"shasum":"7d3afb3994723780239e9f17a9aed918513a10b0","tarball":"https://registry.npmjs.org/@nativesquare/agoge/-/agoge-2.4.0.tgz","fileCount":175,"integrity":"sha512-mXyVv9FmNsyYK9BG5RpB8qvuvSlROfP8Oix8bmhYedWQXGzb0Q4o6gEAfgwzYnEoXnkViGOkEwSEQCZRwtSuLQ==","signatures":[{"sig":"MEYCIQCwxhOxebG3uMY9TgBlb1OKcelTqMUn1eZdD3YNKkAKQQIhAOABEKwYWuk+CVHnhaQhjOe/a0+/yfR9B7SFU/FtYO2z","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":888908},"pnpm":{"onlyBuiltDependencies":["esbuild","@tailwindcss/oxide"]},"type":"module","types":"./dist/client/index.d.ts","module":"./dist/client/index.js","exports":{".":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./test":"./src/test.ts","./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./schema":{"types":"./dist/component/validators.d.ts","default":"./dist/component/validators.js"},"./package.json":"./package.json","./convex.config":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./convex.config.js":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./_generated/component":{"types":"./dist/component/_generated/component.d.ts"},"./_generated/component.js":{"types":"./dist/component/_generated/component.d.ts"}},"gitHead":"3af63c00654ef25ced3cadc93f9c34dd6c851281","scripts":{"all":"run-p -r dev:* test:watch","dev":"run-p -r dev:*","lint":"eslint .","test":"vitest run --typecheck","alpha":"npm version prerelease --preid alpha && npm publish --tag alpha && git push --follow-tags","build":"tsc --project ./tsconfig.build.json","predev":"path-exists .env.local dist || (npm run build && convex dev --once)","release":"npm version patch && npm publish && git push --follow-tags","version":"vim -c 'normal o' -c 'normal o## '$npm_package_version CHANGELOG.md && prettier -w CHANGELOG.md && git add CHANGELOG.md","dev:build":"chokidar \"tsconfig*.json\" \"src/**/*.ts\" -i \"**/*.test.ts\" -c \"npm run build:codegen\" --initial","typecheck":"tsc --noEmit && tsc -p example && tsc -p example/convex","preversion":"npm ci && npm run build:clean && run-p test lint typecheck","test:debug":"vitest --inspect-brk --no-file-parallelism","test:watch":"vitest --typecheck --clearScreen false","build:clean":"npx rimraf dist *.tsbuildinfo && npm run build:codegen","dev:backend":"convex dev --typecheck-components","dev:frontend":"cd example && vite --clearScreen false","build:codegen":"npx convex codegen --component-dir ./src/component && npm run build","test:coverage":"vitest run --coverage --coverage.reporter=text","prepublishOnly":"npm whoami || npm login","generate:openapi":"openapi-ts"},"_npmUser":{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"},"repository":{"url":"git+https://github.com/NativeSquare/agoge.git","type":"git"},"_npmVersion":"11.4.2","description":"Agoge — a Convex component for sport training. Models athletes, zones, races, plans, blocks, and workouts with a FIT-shaped step tree.","directories":{},"_nodeVersion":"23.3.0","dependencies":{"@hey-api/openapi-ts":"^0.97.0"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.1.13","vite":"7.3.1","react":"^19.2.4","convex":"1.31.7","eslint":"9.39.2","vitest":"4.0.18","globals":"^17.3.0","prettier":"3.8.1","react-dom":"^19.2.4","@eslint/js":"9.39.2","pkg-pr-new":"^0.0.63","typescript":"5.9.3","@types/node":"^24.10.11","convex-test":"0.0.41","@types/react":"^19.2.13","chokidar-cli":"3.0.0","npm-run-all2":"8.0.4","path-exists-cli":"2.0.0","@edge-runtime/vm":"^5.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.2.3","typescript-eslint":"8.54.0","eslint-plugin-react":"^7.37.5","@vitejs/plugin-react":"^5.1.3","@convex-dev/eslint-plugin":"^1.1.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.5.0"},"peerDependencies":{"react":"^18.3.1 || ^19.0.0","convex":"^1.31.7"},"_npmOperationalInternal":{"tmp":"tmp/agoge_2.4.0_1777654654341_0.9047335918734245","host":"s3://npm-registry-packages-npm-production"}},"2.5.0":{"name":"@nativesquare/agoge","version":"2.5.0","keywords":["convex","component"],"license":"Apache-2.0","_id":"@nativesquare/agoge@2.5.0","maintainers":[{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"}],"homepage":"https://github.com/NativeSquare/agoge#readme","bugs":{"url":"https://github.com/NativeSquare/agoge/issues"},"dist":{"shasum":"1664d090e82ec5390fd7ac1f1997968c9e91f419","tarball":"https://registry.npmjs.org/@nativesquare/agoge/-/agoge-2.5.0.tgz","fileCount":175,"integrity":"sha512-05lAD/t1nIJAb3YLZXGqXe8Rv/G4FIC8zt199uod1CBCTDDW6jN7PzP673ArftQdNZMqblnsDiWLvOtLy6NDfQ==","signatures":[{"sig":"MEYCIQC7WADNALUiEZu+bP6wOEEvCE9ulGg9SdMQ56w81vUtxwIhAKQ2h5AHuPaDbzjFThxs53Ty3pNq4Mr1E0ymZr0h3i+Z","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":886943},"pnpm":{"onlyBuiltDependencies":["esbuild","@tailwindcss/oxide"]},"type":"module","types":"./dist/client/index.d.ts","module":"./dist/client/index.js","exports":{".":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./test":"./src/test.ts","./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./schema":{"types":"./dist/component/validators.d.ts","default":"./dist/component/validators.js"},"./package.json":"./package.json","./convex.config":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./convex.config.js":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./_generated/component":{"types":"./dist/component/_generated/component.d.ts"},"./_generated/component.js":{"types":"./dist/component/_generated/component.d.ts"}},"gitHead":"35a20c1742a30f060eed8ecc9ab73a34bc15769b","scripts":{"all":"run-p -r dev:* test:watch","dev":"run-p -r dev:*","lint":"eslint .","test":"vitest run --typecheck","alpha":"npm version prerelease --preid alpha && npm publish --tag alpha && git push --follow-tags","build":"tsc --project ./tsconfig.build.json","predev":"path-exists .env.local dist || (npm run build && convex dev --once)","release":"npm version patch && npm publish && git push --follow-tags","version":"vim -c 'normal o' -c 'normal o## '$npm_package_version CHANGELOG.md && prettier -w CHANGELOG.md && git add CHANGELOG.md","dev:build":"chokidar \"tsconfig*.json\" \"src/**/*.ts\" -i \"**/*.test.ts\" -c \"npm run build:codegen\" --initial","typecheck":"tsc --noEmit && tsc -p example && tsc -p example/convex","preversion":"npm ci && npm run build:clean && run-p test lint typecheck","test:debug":"vitest --inspect-brk --no-file-parallelism","test:watch":"vitest --typecheck --clearScreen false","build:clean":"npx rimraf dist *.tsbuildinfo && npm run build:codegen","dev:backend":"convex dev --typecheck-components","dev:frontend":"cd example && vite --clearScreen false","build:codegen":"npx convex codegen --component-dir ./src/component && npm run build","test:coverage":"vitest run --coverage --coverage.reporter=text","prepublishOnly":"npm whoami || npm login","generate:openapi":"openapi-ts"},"_npmUser":{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"},"repository":{"url":"git+https://github.com/NativeSquare/agoge.git","type":"git"},"_npmVersion":"11.4.2","description":"Agoge — a Convex component for sport training. Models athletes, zones, races, plans, blocks, and workouts with a FIT-shaped step tree.","directories":{},"_nodeVersion":"23.3.0","dependencies":{"convex-helpers":"^0.1.115","@hey-api/openapi-ts":"^0.97.0"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.1.13","vite":"7.3.1","react":"^19.2.4","convex":"1.37.0","eslint":"9.39.2","vitest":"4.0.18","globals":"^17.3.0","prettier":"3.8.1","react-dom":"^19.2.4","@eslint/js":"9.39.2","pkg-pr-new":"^0.0.63","typescript":"5.9.3","@types/node":"^24.10.11","convex-test":"0.0.41","@types/react":"^19.2.13","chokidar-cli":"3.0.0","npm-run-all2":"8.0.4","path-exists-cli":"2.0.0","@edge-runtime/vm":"^5.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.2.3","typescript-eslint":"8.54.0","eslint-plugin-react":"^7.37.5","@vitejs/plugin-react":"^5.1.3","@convex-dev/eslint-plugin":"^1.1.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.5.0"},"peerDependencies":{"react":"^18.3.1 || ^19.0.0","convex":"^1.31.7"},"_npmOperationalInternal":{"tmp":"tmp/agoge_2.5.0_1777721741578_0.37905249773154837","host":"s3://npm-registry-packages-npm-production"}},"2.6.0":{"name":"@nativesquare/agoge","version":"2.6.0","keywords":["convex","component"],"license":"Apache-2.0","_id":"@nativesquare/agoge@2.6.0","maintainers":[{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"}],"homepage":"https://github.com/NativeSquare/agoge#readme","bugs":{"url":"https://github.com/NativeSquare/agoge/issues"},"dist":{"shasum":"60391197e370ab627709d8e6e7e078d55c52a72d","tarball":"https://registry.npmjs.org/@nativesquare/agoge/-/agoge-2.6.0.tgz","fileCount":175,"integrity":"sha512-Se1z+MHd797mVZq3RJTgcUoH1wlQ/e06sHelqWQDVonXnZjBPJc4nI65z6mSjF0SdMISSYS0aArIAnE8QwKofA==","signatures":[{"sig":"MEUCIQCQMO/w5V6J1k5ZhMbj7un8slM96A/FKSUnhGYZhIqdEAIgd9RpR6k7bToxhWeobmvciWPlDTHXkO75TM+pztJfaHA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":873159},"pnpm":{"onlyBuiltDependencies":["esbuild","@tailwindcss/oxide"]},"type":"module","types":"./dist/client/index.d.ts","module":"./dist/client/index.js","exports":{".":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./test":"./src/test.ts","./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./schema":{"types":"./dist/component/validators.d.ts","default":"./dist/component/validators.js"},"./package.json":"./package.json","./convex.config":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./convex.config.js":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./_generated/component":{"types":"./dist/component/_generated/component.d.ts"},"./_generated/component.js":{"types":"./dist/component/_generated/component.d.ts"}},"gitHead":"243f7398334e85f22789e223a549530ac855621a","scripts":{"all":"run-p -r dev:* test:watch","dev":"run-p -r dev:*","lint":"eslint .","test":"vitest run --typecheck","alpha":"npm version prerelease --preid alpha && npm publish --tag alpha && git push --follow-tags","build":"tsc --project ./tsconfig.build.json","predev":"path-exists .env.local dist || (npm run build && convex dev --once)","release":"npm version patch && npm publish && git push --follow-tags","version":"vim -c 'normal o' -c 'normal o## '$npm_package_version CHANGELOG.md && prettier -w CHANGELOG.md && git add CHANGELOG.md","dev:build":"chokidar \"tsconfig*.json\" \"src/**/*.ts\" -i \"**/*.test.ts\" -c \"npm run build:codegen\" --initial","typecheck":"tsc --noEmit && tsc -p example && tsc -p example/convex","preversion":"npm ci && npm run build:clean && run-p test lint typecheck","test:debug":"vitest --inspect-brk --no-file-parallelism","test:watch":"vitest --typecheck --clearScreen false","build:clean":"npx rimraf dist *.tsbuildinfo && npm run build:codegen","dev:backend":"convex dev --typecheck-components","dev:frontend":"cd example && vite --clearScreen false","build:codegen":"npx convex codegen --component-dir ./src/component && npm run build","test:coverage":"vitest run --coverage --coverage.reporter=text","prepublishOnly":"npm whoami || npm login","generate:openapi":"openapi-ts"},"_npmUser":{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"},"repository":{"url":"git+https://github.com/NativeSquare/agoge.git","type":"git"},"_npmVersion":"11.4.2","description":"Agoge — a Convex component for sport training. Models athletes, zones, races, plans, blocks, and workouts with a FIT-shaped step tree.","directories":{},"_nodeVersion":"23.3.0","dependencies":{"convex-helpers":"^0.1.115","@hey-api/openapi-ts":"^0.97.0"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.1.13","vite":"7.3.1","react":"^19.2.4","convex":"1.37.0","eslint":"9.39.2","vitest":"4.0.18","globals":"^17.3.0","prettier":"3.8.1","react-dom":"^19.2.4","@eslint/js":"9.39.2","pkg-pr-new":"^0.0.63","typescript":"5.9.3","@types/node":"^24.10.11","convex-test":"0.0.41","@types/react":"^19.2.13","chokidar-cli":"3.0.0","npm-run-all2":"8.0.4","path-exists-cli":"2.0.0","@edge-runtime/vm":"^5.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.2.3","typescript-eslint":"8.54.0","eslint-plugin-react":"^7.37.5","@vitejs/plugin-react":"^5.1.3","@convex-dev/eslint-plugin":"^1.1.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.5.0"},"peerDependencies":{"react":"^18.3.1 || ^19.0.0","convex":"^1.31.7"},"_npmOperationalInternal":{"tmp":"tmp/agoge_2.6.0_1777735857368_0.37934284242482486","host":"s3://npm-registry-packages-npm-production"}},"2.6.1":{"name":"@nativesquare/agoge","version":"2.6.1","keywords":["convex","component"],"license":"Apache-2.0","_id":"@nativesquare/agoge@2.6.1","maintainers":[{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"}],"homepage":"https://github.com/NativeSquare/agoge#readme","bugs":{"url":"https://github.com/NativeSquare/agoge/issues"},"dist":{"shasum":"9ea17541f6be1dcf8f1481c8f695951fa8ddd580","tarball":"https://registry.npmjs.org/@nativesquare/agoge/-/agoge-2.6.1.tgz","fileCount":175,"integrity":"sha512-D24SCW+JzpgkNPC1NddjvN6NFSlFfsbt/pPGUQGtL/VMCpgTBh7PJDh8jVYx92rIAgyvqCf6r9Fp/e7res74lw==","signatures":[{"sig":"MEUCIGNB8FouMrRG6+xK6dW0ZNqGNXOBXMAqkQIm+T+BEYweAiEA85QrERARFwEbOZr2llcI1l0oBCc1rWlluXyVWRR+haM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":873183},"pnpm":{"onlyBuiltDependencies":["esbuild","@tailwindcss/oxide"]},"type":"module","types":"./dist/client/index.d.ts","module":"./dist/client/index.js","exports":{".":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./test":"./src/test.ts","./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./schema":{"types":"./dist/component/validators.d.ts","default":"./dist/component/validators.js"},"./package.json":"./package.json","./convex.config":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./convex.config.js":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./_generated/component":{"types":"./dist/component/_generated/component.d.ts"},"./_generated/component.js":{"types":"./dist/component/_generated/component.d.ts"}},"gitHead":"243f7398334e85f22789e223a549530ac855621a","scripts":{"all":"run-p -r dev:* test:watch","dev":"run-p -r dev:*","lint":"eslint .","test":"vitest run --typecheck","alpha":"npm version prerelease --preid alpha && npm publish --tag alpha && git push --follow-tags","build":"tsc --project ./tsconfig.build.json","predev":"path-exists .env.local dist || (npm run build && convex dev --once)","release":"npm version patch && npm publish && git push --follow-tags","version":"vim -c 'normal o' -c 'normal o## '$npm_package_version CHANGELOG.md && prettier -w CHANGELOG.md && git add CHANGELOG.md","dev:build":"chokidar \"tsconfig*.json\" \"src/**/*.ts\" -i \"**/*.test.ts\" -c \"npm run build:codegen\" --initial","typecheck":"tsc --noEmit && tsc -p example && tsc -p example/convex","preversion":"npm ci && npm run build:clean && run-p test lint typecheck","test:debug":"vitest --inspect-brk --no-file-parallelism","test:watch":"vitest --typecheck --clearScreen false","build:clean":"npx rimraf dist *.tsbuildinfo && npm run build:codegen","dev:backend":"convex dev --typecheck-components","dev:frontend":"cd example && vite --clearScreen false","build:codegen":"npx convex codegen --component-dir ./src/component && npm run build","test:coverage":"vitest run --coverage --coverage.reporter=text","prepublishOnly":"npm whoami || npm login","generate:openapi":"openapi-ts"},"_npmUser":{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"},"repository":{"url":"git+https://github.com/NativeSquare/agoge.git","type":"git"},"_npmVersion":"11.4.2","description":"Agoge — a Convex component for sport training. Models athletes, zones, races, plans, blocks, and workouts with a FIT-shaped step tree.","directories":{},"_nodeVersion":"23.3.0","dependencies":{"convex-helpers":"^0.1.115","@hey-api/openapi-ts":"^0.97.0"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.1.13","vite":"7.3.1","react":"^19.2.4","convex":"1.37.0","eslint":"9.39.2","vitest":"4.0.18","globals":"^17.3.0","prettier":"3.8.1","react-dom":"^19.2.4","@eslint/js":"9.39.2","pkg-pr-new":"^0.0.63","typescript":"5.9.3","@types/node":"^24.10.11","convex-test":"0.0.41","@types/react":"^19.2.13","chokidar-cli":"3.0.0","npm-run-all2":"8.0.4","path-exists-cli":"2.0.0","@edge-runtime/vm":"^5.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.2.3","typescript-eslint":"8.54.0","eslint-plugin-react":"^7.37.5","@vitejs/plugin-react":"^5.1.3","@convex-dev/eslint-plugin":"^1.1.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.5.0"},"peerDependencies":{"react":"^18.3.1 || ^19.0.0","convex":"^1.31.7"},"_npmOperationalInternal":{"tmp":"tmp/agoge_2.6.1_1777743717494_0.21895081615681944","host":"s3://npm-registry-packages-npm-production"}},"2.6.2":{"name":"@nativesquare/agoge","version":"2.6.2","keywords":["convex","component"],"license":"Apache-2.0","_id":"@nativesquare/agoge@2.6.2","maintainers":[{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"}],"homepage":"https://github.com/NativeSquare/agoge#readme","bugs":{"url":"https://github.com/NativeSquare/agoge/issues"},"dist":{"shasum":"613f7cc315632fe19574183d49c7f52f67c28923","tarball":"https://registry.npmjs.org/@nativesquare/agoge/-/agoge-2.6.2.tgz","fileCount":175,"integrity":"sha512-w7EhwAsrrvNPOb1HS78ZaoKtZlnh4+22cDQWaE1LlwNbIAmA/dyqHET2OGVLc2eOGzj57ZNvNs3U9wDqZ498sw==","signatures":[{"sig":"MEQCIG3sByzX5TtkAgN7ngkWpDCG5lmUk0yzyrrVC2GzLlsIAiBGtGFmO/hqwiQ0/nVp/8MHUi/brVsx8j89Qafehom4JA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":873243},"pnpm":{"onlyBuiltDependencies":["esbuild","@tailwindcss/oxide"]},"type":"module","types":"./dist/client/index.d.ts","module":"./dist/client/index.js","exports":{".":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./test":"./src/test.ts","./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./schema":{"types":"./dist/component/validators.d.ts","default":"./dist/component/validators.js"},"./package.json":"./package.json","./convex.config":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./convex.config.js":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./_generated/component":{"types":"./dist/component/_generated/component.d.ts"},"./_generated/component.js":{"types":"./dist/component/_generated/component.d.ts"}},"gitHead":"243f7398334e85f22789e223a549530ac855621a","scripts":{"all":"run-p -r dev:* test:watch","dev":"run-p -r dev:*","lint":"eslint .","test":"vitest run --typecheck","alpha":"npm version prerelease --preid alpha && npm publish --tag alpha && git push --follow-tags","build":"tsc --project ./tsconfig.build.json","predev":"path-exists .env.local dist || (npm run build && convex dev --once)","release":"npm version patch && npm publish && git push --follow-tags","version":"vim -c 'normal o' -c 'normal o## '$npm_package_version CHANGELOG.md && prettier -w CHANGELOG.md && git add CHANGELOG.md","dev:build":"chokidar \"tsconfig*.json\" \"src/**/*.ts\" -i \"**/*.test.ts\" -c \"npm run build:codegen\" --initial","typecheck":"tsc --noEmit && tsc -p example && tsc -p example/convex","preversion":"npm ci && npm run build:clean && run-p test lint typecheck","test:debug":"vitest --inspect-brk --no-file-parallelism","test:watch":"vitest --typecheck --clearScreen false","build:clean":"npx rimraf dist *.tsbuildinfo && npm run build:codegen","dev:backend":"convex dev --typecheck-components","dev:frontend":"cd example && vite --clearScreen false","build:codegen":"npx convex codegen --component-dir ./src/component && npm run build","test:coverage":"vitest run --coverage --coverage.reporter=text","prepublishOnly":"npm whoami || npm login","generate:openapi":"openapi-ts"},"_npmUser":{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"},"repository":{"url":"git+https://github.com/NativeSquare/agoge.git","type":"git"},"_npmVersion":"11.4.2","description":"Agoge — a Convex component for sport training. Models athletes, zones, races, plans, blocks, and workouts with a FIT-shaped step tree.","directories":{},"_nodeVersion":"23.3.0","dependencies":{"convex-helpers":"^0.1.115","@hey-api/openapi-ts":"^0.97.0"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.1.13","vite":"7.3.1","react":"^19.2.4","convex":"1.37.0","eslint":"9.39.2","vitest":"4.0.18","globals":"^17.3.0","prettier":"3.8.1","react-dom":"^19.2.4","@eslint/js":"9.39.2","pkg-pr-new":"^0.0.63","typescript":"5.9.3","@types/node":"^24.10.11","convex-test":"0.0.41","@types/react":"^19.2.13","chokidar-cli":"3.0.0","npm-run-all2":"8.0.4","path-exists-cli":"2.0.0","@edge-runtime/vm":"^5.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.2.3","typescript-eslint":"8.54.0","eslint-plugin-react":"^7.37.5","@vitejs/plugin-react":"^5.1.3","@convex-dev/eslint-plugin":"^1.1.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.5.0"},"peerDependencies":{"react":"^18.3.1 || ^19.0.0","convex":"^1.31.7"},"_npmOperationalInternal":{"tmp":"tmp/agoge_2.6.2_1777743818016_0.8632875645927063","host":"s3://npm-registry-packages-npm-production"}},"2.6.3":{"name":"@nativesquare/agoge","version":"2.6.3","keywords":["convex","component"],"license":"Apache-2.0","_id":"@nativesquare/agoge@2.6.3","maintainers":[{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"}],"homepage":"https://github.com/NativeSquare/agoge#readme","bugs":{"url":"https://github.com/NativeSquare/agoge/issues"},"dist":{"shasum":"f26f0a1f197f073a530b8336f9a677fec95d1d66","tarball":"https://registry.npmjs.org/@nativesquare/agoge/-/agoge-2.6.3.tgz","fileCount":175,"integrity":"sha512-Ct3ORCm7Ui2Z0MzfsSvcQmDwgDN14YV1WM5xgWYcLYM1Z3aRtETW368G56uuUsQDs0+we+QpnKLjQ/sfvdIZfQ==","signatures":[{"sig":"MEUCIEs6ghtPcQryaazKxD7W+6pM2d6ReyDmzcO8xrffH6H1AiEA81l84bg9timzG4YUOYk6vT2ZAgDuWuoLfqaoIz4K34s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":873163},"pnpm":{"onlyBuiltDependencies":["esbuild","@tailwindcss/oxide"]},"type":"module","types":"./dist/client/index.d.ts","module":"./dist/client/index.js","exports":{".":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./test":"./src/test.ts","./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./schema":{"types":"./dist/component/validators.d.ts","default":"./dist/component/validators.js"},"./package.json":"./package.json","./convex.config":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./convex.config.js":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./_generated/component":{"types":"./dist/component/_generated/component.d.ts"},"./_generated/component.js":{"types":"./dist/component/_generated/component.d.ts"}},"gitHead":"aad2579a3b73abe39b7e723c5a872d78c1ddc294","scripts":{"all":"run-p -r dev:* test:watch","dev":"run-p -r dev:*","lint":"eslint .","test":"vitest run --typecheck","alpha":"npm version prerelease --preid alpha && npm publish --tag alpha && git push --follow-tags","build":"tsc --project ./tsconfig.build.json","predev":"path-exists .env.local dist || (npm run build && convex dev --once)","release":"npm version patch && npm publish && git push --follow-tags","version":"vim -c 'normal o' -c 'normal o## '$npm_package_version CHANGELOG.md && prettier -w CHANGELOG.md && git add CHANGELOG.md","dev:build":"chokidar \"tsconfig*.json\" \"src/**/*.ts\" -i \"**/*.test.ts\" -c \"npm run build:codegen\" --initial","typecheck":"tsc --noEmit && tsc -p example && tsc -p example/convex","preversion":"npm ci && npm run build:clean && run-p test lint typecheck","test:debug":"vitest --inspect-brk --no-file-parallelism","test:watch":"vitest --typecheck --clearScreen false","build:clean":"npx rimraf dist *.tsbuildinfo && npm run build:codegen","dev:backend":"convex dev --typecheck-components","dev:frontend":"cd example && vite --clearScreen false","build:codegen":"npx convex codegen --component-dir ./src/component && npm run build","test:coverage":"vitest run --coverage --coverage.reporter=text","prepublishOnly":"npm whoami || npm login","generate:openapi":"openapi-ts"},"_npmUser":{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"},"repository":{"url":"git+https://github.com/NativeSquare/agoge.git","type":"git"},"_npmVersion":"11.4.2","description":"Agoge — a Convex component for sport training. Models athletes, zones, races, plans, blocks, and workouts with a FIT-shaped step tree.","directories":{},"_nodeVersion":"23.3.0","dependencies":{"convex-helpers":"^0.1.115","@hey-api/openapi-ts":"^0.97.0"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.1.13","vite":"7.3.1","react":"^19.2.4","convex":"1.37.0","eslint":"9.39.2","vitest":"4.0.18","globals":"^17.3.0","prettier":"3.8.1","react-dom":"^19.2.4","@eslint/js":"9.39.2","pkg-pr-new":"^0.0.63","typescript":"5.9.3","@types/node":"^24.10.11","convex-test":"0.0.41","@types/react":"^19.2.13","chokidar-cli":"3.0.0","npm-run-all2":"8.0.4","path-exists-cli":"2.0.0","@edge-runtime/vm":"^5.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.2.3","typescript-eslint":"8.54.0","eslint-plugin-react":"^7.37.5","@vitejs/plugin-react":"^5.1.3","@convex-dev/eslint-plugin":"^1.1.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.5.0"},"peerDependencies":{"react":"^18.3.1 || ^19.0.0","convex":"^1.31.7"},"_npmOperationalInternal":{"tmp":"tmp/agoge_2.6.3_1777809356396_0.4790576686405872","host":"s3://npm-registry-packages-npm-production"}},"2.7.0":{"name":"@nativesquare/agoge","version":"2.7.0","keywords":["convex","component"],"license":"Apache-2.0","_id":"@nativesquare/agoge@2.7.0","maintainers":[{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"}],"homepage":"https://github.com/NativeSquare/agoge#readme","bugs":{"url":"https://github.com/NativeSquare/agoge/issues"},"dist":{"shasum":"aaef3ce6dd310a288476dab7a0f48a44e521bbb5","tarball":"https://registry.npmjs.org/@nativesquare/agoge/-/agoge-2.7.0.tgz","fileCount":175,"integrity":"sha512-0nwbBAsjT9ikemShUU7/lG0LMWvZwV2KbZJ7l1zAGdATy98JAlSNljiIaoXCyc7RLGsYvB8cw+PiY6sJdnTSCw==","signatures":[{"sig":"MEQCIGFWIPBCXXL+tgoVSnKYPsy0nM89ZhPiMNDGIoc0itkdAiAoVKhh7uKQ2wK9I1gaE55ZQcM4QENwNGN7zOPWNtDlAg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":871572},"pnpm":{"onlyBuiltDependencies":["esbuild","@tailwindcss/oxide"]},"type":"module","types":"./dist/client/index.d.ts","module":"./dist/client/index.js","exports":{".":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./test":"./src/test.ts","./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./schema":{"types":"./dist/component/validators.d.ts","default":"./dist/component/validators.js"},"./package.json":"./package.json","./convex.config":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./convex.config.js":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./_generated/component":{"types":"./dist/component/_generated/component.d.ts"},"./_generated/component.js":{"types":"./dist/component/_generated/component.d.ts"}},"gitHead":"e45db55657400ba7d2809f43c017255891c719ba","scripts":{"all":"run-p -r dev:* test:watch","dev":"run-p -r dev:*","lint":"eslint .","test":"vitest run --typecheck","alpha":"npm version prerelease --preid alpha && npm publish --tag alpha && git push --follow-tags","build":"tsc --project ./tsconfig.build.json","predev":"path-exists .env.local dist || (npm run build && convex dev --once)","release":"npm version patch && npm publish && git push --follow-tags","version":"vim -c 'normal o' -c 'normal o## '$npm_package_version CHANGELOG.md && prettier -w CHANGELOG.md && git add CHANGELOG.md","dev:build":"chokidar \"tsconfig*.json\" \"src/**/*.ts\" -i \"**/*.test.ts\" -c \"npm run build:codegen\" --initial","typecheck":"tsc --noEmit && tsc -p example && tsc -p example/convex","preversion":"npm ci && npm run build:clean && run-p test lint typecheck","test:debug":"vitest --inspect-brk --no-file-parallelism","test:watch":"vitest --typecheck --clearScreen false","build:clean":"npx rimraf dist *.tsbuildinfo && npm run build:codegen","dev:backend":"convex dev --typecheck-components","dev:frontend":"cd example && vite --clearScreen false","build:codegen":"npx convex codegen --component-dir ./src/component && npm run build","test:coverage":"vitest run --coverage --coverage.reporter=text","prepublishOnly":"npm whoami || npm login","generate:openapi":"openapi-ts"},"_npmUser":{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"},"repository":{"url":"git+https://github.com/NativeSquare/agoge.git","type":"git"},"_npmVersion":"11.4.2","description":"Agoge — a Convex component for sport training. Models athletes, zones, races, plans, blocks, and workouts with a FIT-shaped step tree.","directories":{},"_nodeVersion":"23.3.0","dependencies":{"convex-helpers":"^0.1.115","@hey-api/openapi-ts":"^0.97.0"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.1.13","vite":"7.3.1","react":"^19.2.4","convex":"1.37.0","eslint":"9.39.2","vitest":"4.0.18","globals":"^17.3.0","prettier":"3.8.1","react-dom":"^19.2.4","@eslint/js":"9.39.2","pkg-pr-new":"^0.0.63","typescript":"5.9.3","@types/node":"^24.10.11","convex-test":"0.0.41","@types/react":"^19.2.13","chokidar-cli":"3.0.0","npm-run-all2":"8.0.4","path-exists-cli":"2.0.0","@edge-runtime/vm":"^5.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.2.3","typescript-eslint":"8.54.0","eslint-plugin-react":"^7.37.5","@vitejs/plugin-react":"^5.1.3","@convex-dev/eslint-plugin":"^1.1.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.5.0"},"peerDependencies":{"react":"^18.3.1 || ^19.0.0","convex":"^1.31.7"},"_npmOperationalInternal":{"tmp":"tmp/agoge_2.7.0_1778569544593_0.549714909177119","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@nativesquare/agoge","version":"3.0.0","keywords":["convex","component"],"license":"Apache-2.0","_id":"@nativesquare/agoge@3.0.0","maintainers":[{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"}],"homepage":"https://github.com/NativeSquare/agoge#readme","bugs":{"url":"https://github.com/NativeSquare/agoge/issues"},"dist":{"shasum":"d16c3979f583ef87811a55f00c34e8c15ec07f45","tarball":"https://registry.npmjs.org/@nativesquare/agoge/-/agoge-3.0.0.tgz","fileCount":175,"integrity":"sha512-g4hbSwyJTjtUxjcqxHotCxyRKGcQm+bs6jrmMIGw9cqaKt83Ic67KwmyHublDanlx8pFS4SuxeZQGkLqA+oJRA==","signatures":[{"sig":"MEQCIFBQSOj75VEe3+TbSPrPDEShmvXLvYmhSyMjiNkuN4tzAiA/HG9q5BukBGvFlxOv3UmI+P10nBWISixh175iT9JMyA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":866103},"pnpm":{"onlyBuiltDependencies":["esbuild","@tailwindcss/oxide"]},"type":"module","types":"./dist/client/index.d.ts","module":"./dist/client/index.js","exports":{".":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./test":"./src/test.ts","./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./schema":{"types":"./dist/component/validators.d.ts","default":"./dist/component/validators.js"},"./package.json":"./package.json","./convex.config":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./convex.config.js":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./_generated/component":{"types":"./dist/component/_generated/component.d.ts"},"./_generated/component.js":{"types":"./dist/component/_generated/component.d.ts"}},"gitHead":"d5f8fedbb4bf1dfa462ece24371511d72148112e","scripts":{"all":"run-p -r dev:* test:watch","dev":"run-p -r dev:*","lint":"eslint .","test":"vitest run --typecheck","alpha":"npm version prerelease --preid alpha && npm publish --tag alpha && git push --follow-tags","build":"tsc --project ./tsconfig.build.json","predev":"path-exists .env.local dist || (npm run build && convex dev --once)","release":"npm version patch && npm publish && git push --follow-tags","version":"vim -c 'normal o' -c 'normal o## '$npm_package_version CHANGELOG.md && prettier -w CHANGELOG.md && git add CHANGELOG.md","dev:build":"chokidar \"tsconfig*.json\" \"src/**/*.ts\" -i \"**/*.test.ts\" -c \"npm run build:codegen\" --initial","typecheck":"tsc --noEmit && tsc -p example && tsc -p example/convex","preversion":"npm ci && npm run build:clean && run-p test lint typecheck","test:debug":"vitest --inspect-brk --no-file-parallelism","test:watch":"vitest --typecheck --clearScreen false","build:clean":"npx rimraf dist *.tsbuildinfo && npm run build:codegen","dev:backend":"convex dev --typecheck-components","dev:frontend":"cd example && vite --clearScreen false","build:codegen":"npx convex codegen --component-dir ./src/component && npm run build","test:coverage":"vitest run --coverage --coverage.reporter=text","prepublishOnly":"npm whoami || npm login","generate:openapi":"openapi-ts"},"_npmUser":{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"},"repository":{"url":"git+https://github.com/NativeSquare/agoge.git","type":"git"},"_npmVersion":"11.4.2","description":"Agoge — a Convex component for sport training. Models athletes, zones, races, plans, blocks, and workouts with a FIT-shaped step tree.","directories":{},"_nodeVersion":"23.3.0","dependencies":{"convex-helpers":"^0.1.115","@hey-api/openapi-ts":"^0.97.0"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.1.13","vite":"7.3.1","react":"^19.2.4","convex":"1.37.0","eslint":"9.39.2","vitest":"4.0.18","globals":"^17.3.0","prettier":"3.8.1","react-dom":"^19.2.4","@eslint/js":"9.39.2","pkg-pr-new":"^0.0.63","typescript":"5.9.3","@types/node":"^24.10.11","convex-test":"0.0.41","@types/react":"^19.2.13","chokidar-cli":"3.0.0","npm-run-all2":"8.0.4","path-exists-cli":"2.0.0","@edge-runtime/vm":"^5.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.2.3","typescript-eslint":"8.54.0","eslint-plugin-react":"^7.37.5","@vitejs/plugin-react":"^5.1.3","@convex-dev/eslint-plugin":"^1.1.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.5.0"},"peerDependencies":{"react":"^18.3.1 || ^19.0.0","convex":"^1.31.7"},"_npmOperationalInternal":{"tmp":"tmp/agoge_3.0.0_1778574936310_0.8375475313912446","host":"s3://npm-registry-packages-npm-production"}},"3.1.0":{"name":"@nativesquare/agoge","version":"3.1.0","keywords":["convex","component"],"license":"Apache-2.0","_id":"@nativesquare/agoge@3.1.0","maintainers":[{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"}],"homepage":"https://github.com/NativeSquare/agoge#readme","bugs":{"url":"https://github.com/NativeSquare/agoge/issues"},"dist":{"shasum":"562b4a8aeef34e80783100cf023867f0e54c8544","tarball":"https://registry.npmjs.org/@nativesquare/agoge/-/agoge-3.1.0.tgz","fileCount":175,"integrity":"sha512-7Jr6JGgAwZzyc3IIWhsU//FWa3rjx1ll2jbyKHXxDOmDc4aLZbHeyEWu6GiQEmxndIT3cQn0jw7CQ2F0ZUTfJQ==","signatures":[{"sig":"MEQCIAzspvW+rJyatB+1eftHg4h2ThwhO0XurnPzKSeLFPtbAiBi+mYKvqAbaYjnucTQktfksd/8W34C3t5/I6uqOzQrPA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":867934},"pnpm":{"onlyBuiltDependencies":["esbuild","@tailwindcss/oxide"]},"type":"module","types":"./dist/client/index.d.ts","module":"./dist/client/index.js","exports":{".":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./test":"./src/test.ts","./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./schema":{"types":"./dist/component/validators.d.ts","default":"./dist/component/validators.js"},"./package.json":"./package.json","./convex.config":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./convex.config.js":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./_generated/component":{"types":"./dist/component/_generated/component.d.ts"},"./_generated/component.js":{"types":"./dist/component/_generated/component.d.ts"}},"gitHead":"d5f8fedbb4bf1dfa462ece24371511d72148112e","scripts":{"all":"run-p -r dev:* test:watch","dev":"run-p -r dev:*","lint":"eslint .","test":"vitest run --typecheck","alpha":"npm version prerelease --preid alpha && npm publish --tag alpha && git push --follow-tags","build":"tsc --project ./tsconfig.build.json","predev":"path-exists .env.local dist || (npm run build && convex dev --once)","release":"npm version patch && npm publish && git push --follow-tags","version":"vim -c 'normal o' -c 'normal o## '$npm_package_version CHANGELOG.md && prettier -w CHANGELOG.md && git add CHANGELOG.md","dev:build":"chokidar \"tsconfig*.json\" \"src/**/*.ts\" -i \"**/*.test.ts\" -c \"npm run build:codegen\" --initial","typecheck":"tsc --noEmit && tsc -p example && tsc -p example/convex","preversion":"npm ci && npm run build:clean && run-p test lint typecheck","test:debug":"vitest --inspect-brk --no-file-parallelism","test:watch":"vitest --typecheck --clearScreen false","build:clean":"npx rimraf dist *.tsbuildinfo && npm run build:codegen","dev:backend":"convex dev --typecheck-components","dev:frontend":"cd example && vite --clearScreen false","build:codegen":"npx convex codegen --component-dir ./src/component && npm run build","test:coverage":"vitest run --coverage --coverage.reporter=text","prepublishOnly":"npm whoami || npm login","generate:openapi":"openapi-ts"},"_npmUser":{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"},"repository":{"url":"git+https://github.com/NativeSquare/agoge.git","type":"git"},"_npmVersion":"11.4.2","description":"Agoge — a Convex component for sport training. Models athletes, zones, races, plans, blocks, and workouts with a FIT-shaped step tree.","directories":{},"_nodeVersion":"23.3.0","dependencies":{"convex-helpers":"^0.1.115","@hey-api/openapi-ts":"^0.97.0"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.1.13","vite":"7.3.1","react":"^19.2.4","convex":"1.37.0","eslint":"9.39.2","vitest":"4.0.18","globals":"^17.3.0","prettier":"3.8.1","react-dom":"^19.2.4","@eslint/js":"9.39.2","pkg-pr-new":"^0.0.63","typescript":"5.9.3","@types/node":"^24.10.11","convex-test":"0.0.41","@types/react":"^19.2.13","chokidar-cli":"3.0.0","npm-run-all2":"8.0.4","path-exists-cli":"2.0.0","@edge-runtime/vm":"^5.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.2.3","typescript-eslint":"8.54.0","eslint-plugin-react":"^7.37.5","@vitejs/plugin-react":"^5.1.3","@convex-dev/eslint-plugin":"^1.1.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.5.0"},"peerDependencies":{"react":"^18.3.1 || ^19.0.0","convex":"^1.31.7"},"_npmOperationalInternal":{"tmp":"tmp/agoge_3.1.0_1778593483829_0.6135618851411604","host":"s3://npm-registry-packages-npm-production"}},"3.2.0":{"name":"@nativesquare/agoge","version":"3.2.0","keywords":["convex","component"],"license":"Apache-2.0","_id":"@nativesquare/agoge@3.2.0","maintainers":[{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"}],"homepage":"https://github.com/NativeSquare/agoge#readme","bugs":{"url":"https://github.com/NativeSquare/agoge/issues"},"dist":{"shasum":"94f1f388dd681fbe4255d9509cd4a5f4ac4a53e9","tarball":"https://registry.npmjs.org/@nativesquare/agoge/-/agoge-3.2.0.tgz","fileCount":175,"integrity":"sha512-WWUIsudCbp0lzZCzBLa5SrFtR9SLa1Qlzyeqs++pV/hNN9/9w2ztpGLArx3/QzdyxGPilxfYoCpuka/0SDHNVA==","signatures":[{"sig":"MEUCIAy5/zk5X65YhVupntoCtdaQinD2crtNO3l9Q0jA0dWEAiEAhYAjAw8+X0QF4HeaIwDFC2YJcOk6/0rWUMU3K3JpeTw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":872072},"pnpm":{"onlyBuiltDependencies":["esbuild","@tailwindcss/oxide"]},"type":"module","types":"./dist/client/index.d.ts","module":"./dist/client/index.js","exports":{".":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./test":"./src/test.ts","./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./schema":{"types":"./dist/component/validators.d.ts","default":"./dist/component/validators.js"},"./package.json":"./package.json","./convex.config":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./convex.config.js":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./_generated/component":{"types":"./dist/component/_generated/component.d.ts"},"./_generated/component.js":{"types":"./dist/component/_generated/component.d.ts"}},"gitHead":"ad48aec8c409ad4bd83e21af82f3646d34a52bb4","scripts":{"all":"run-p -r dev:* test:watch","dev":"run-p -r dev:*","lint":"eslint .","test":"vitest run --typecheck","alpha":"npm version prerelease --preid alpha && npm publish --tag alpha && git push --follow-tags","build":"tsc --project ./tsconfig.build.json","predev":"path-exists .env.local dist || (npm run build && convex dev --once)","release":"npm version patch && npm publish && git push --follow-tags","version":"vim -c 'normal o' -c 'normal o## '$npm_package_version CHANGELOG.md && prettier -w CHANGELOG.md && git add CHANGELOG.md","dev:build":"chokidar \"tsconfig*.json\" \"src/**/*.ts\" -i \"**/*.test.ts\" -c \"npm run build:codegen\" --initial","typecheck":"tsc --noEmit && tsc -p example && tsc -p example/convex","preversion":"npm ci && npm run build:clean && run-p test lint typecheck","test:debug":"vitest --inspect-brk --no-file-parallelism","test:watch":"vitest --typecheck --clearScreen false","build:clean":"npx rimraf dist *.tsbuildinfo && npm run build:codegen","dev:backend":"convex dev --typecheck-components","dev:frontend":"cd example && vite --clearScreen false","build:codegen":"npx convex codegen --component-dir ./src/component && npm run build","test:coverage":"vitest run --coverage --coverage.reporter=text","prepublishOnly":"npm whoami || npm login","generate:openapi":"openapi-ts"},"_npmUser":{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"},"repository":{"url":"git+https://github.com/NativeSquare/agoge.git","type":"git"},"_npmVersion":"11.4.2","description":"Agoge — a Convex component for sport training. Models athletes, zones, races, plans, blocks, and workouts with a FIT-shaped step tree.","directories":{},"_nodeVersion":"23.3.0","dependencies":{"convex-helpers":"^0.1.115","@hey-api/openapi-ts":"^0.97.0"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.1.13","vite":"7.3.1","react":"^19.2.4","convex":"1.37.0","eslint":"9.39.2","vitest":"4.0.18","globals":"^17.3.0","prettier":"3.8.1","react-dom":"^19.2.4","@eslint/js":"9.39.2","pkg-pr-new":"^0.0.63","typescript":"5.9.3","@types/node":"^24.10.11","convex-test":"0.0.41","@types/react":"^19.2.13","chokidar-cli":"3.0.0","npm-run-all2":"8.0.4","path-exists-cli":"2.0.0","@edge-runtime/vm":"^5.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.2.3","typescript-eslint":"8.54.0","eslint-plugin-react":"^7.37.5","@vitejs/plugin-react":"^5.1.3","@convex-dev/eslint-plugin":"^1.1.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.5.0"},"peerDependencies":{"react":"^18.3.1 || ^19.0.0","convex":"^1.31.7"},"_npmOperationalInternal":{"tmp":"tmp/agoge_3.2.0_1778595665069_0.44805196986571105","host":"s3://npm-registry-packages-npm-production"}},"3.2.1":{"name":"@nativesquare/agoge","version":"3.2.1","keywords":["convex","component"],"license":"Apache-2.0","_id":"@nativesquare/agoge@3.2.1","maintainers":[{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"}],"homepage":"https://github.com/NativeSquare/agoge#readme","bugs":{"url":"https://github.com/NativeSquare/agoge/issues"},"dist":{"shasum":"953c2702dbb18b56bbdf55f56002b93af7ebbb58","tarball":"https://registry.npmjs.org/@nativesquare/agoge/-/agoge-3.2.1.tgz","fileCount":175,"integrity":"sha512-xoZgtwaOufw6Gq2PP8ElRSHKCKQCN4akhGoMJHcVPKxvBxcXA74gpi4jzaa3vlTjLHg58tZubJfJgfBpDcT49Q==","signatures":[{"sig":"MEUCIQCfz3/hxuhz8NemaWi6FTf+nUtlS7n5XhOiEH/Qm8WGQAIgMYa7KofDpmD9pTdM8aE6Xgmqje5K39rEsNWiyCRgvlk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":871688},"pnpm":{"onlyBuiltDependencies":["esbuild","@tailwindcss/oxide"]},"type":"module","types":"./dist/client/index.d.ts","module":"./dist/client/index.js","exports":{".":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./test":"./src/test.ts","./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./schema":{"types":"./dist/component/validators.d.ts","default":"./dist/component/validators.js"},"./package.json":"./package.json","./convex.config":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./convex.config.js":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./_generated/component":{"types":"./dist/component/_generated/component.d.ts"},"./_generated/component.js":{"types":"./dist/component/_generated/component.d.ts"}},"gitHead":"62b8e9d32d1668aa71844827072a511510c78dd5","scripts":{"all":"run-p -r dev:* test:watch","dev":"run-p -r dev:*","lint":"eslint .","test":"vitest run --typecheck","alpha":"npm version prerelease --preid alpha && npm publish --tag alpha && git push --follow-tags","build":"tsc --project ./tsconfig.build.json","predev":"path-exists .env.local dist || (npm run build && convex dev --once)","release":"npm version patch && npm publish && git push --follow-tags","version":"vim -c 'normal o' -c 'normal o## '$npm_package_version CHANGELOG.md && prettier -w CHANGELOG.md && git add CHANGELOG.md","dev:build":"chokidar \"tsconfig*.json\" \"src/**/*.ts\" -i \"**/*.test.ts\" -c \"npm run build:codegen\" --initial","typecheck":"tsc --noEmit && tsc -p example && tsc -p example/convex","preversion":"npm ci && npm run build:clean && run-p test lint typecheck","test:debug":"vitest --inspect-brk --no-file-parallelism","test:watch":"vitest --typecheck --clearScreen false","build:clean":"npx rimraf dist *.tsbuildinfo && npm run build:codegen","dev:backend":"convex dev --typecheck-components","dev:frontend":"cd example && vite --clearScreen false","build:codegen":"npx convex codegen --component-dir ./src/component && npm run build","test:coverage":"vitest run --coverage --coverage.reporter=text","prepublishOnly":"npm whoami || npm login","generate:openapi":"openapi-ts"},"_npmUser":{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"},"repository":{"url":"git+https://github.com/NativeSquare/agoge.git","type":"git"},"_npmVersion":"11.4.2","description":"Agoge — a Convex component for sport training. Models athletes, zones, races, plans, blocks, and workouts with a FIT-shaped step tree.","directories":{},"_nodeVersion":"23.3.0","dependencies":{"convex-helpers":"^0.1.115","@hey-api/openapi-ts":"^0.97.0"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.1.13","vite":"7.3.1","react":"^19.2.4","convex":"1.37.0","eslint":"9.39.2","vitest":"4.0.18","globals":"^17.3.0","prettier":"3.8.1","react-dom":"^19.2.4","@eslint/js":"9.39.2","pkg-pr-new":"^0.0.63","typescript":"5.9.3","@types/node":"^24.10.11","convex-test":"0.0.41","@types/react":"^19.2.13","chokidar-cli":"3.0.0","npm-run-all2":"8.0.4","path-exists-cli":"2.0.0","@edge-runtime/vm":"^5.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.2.3","typescript-eslint":"8.54.0","eslint-plugin-react":"^7.37.5","@vitejs/plugin-react":"^5.1.3","@convex-dev/eslint-plugin":"^1.1.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.5.0"},"peerDependencies":{"react":"^18.3.1 || ^19.0.0","convex":"^1.31.7"},"_npmOperationalInternal":{"tmp":"tmp/agoge_3.2.1_1778660031288_0.14431365095585225","host":"s3://npm-registry-packages-npm-production"}},"3.2.2":{"name":"@nativesquare/agoge","version":"3.2.2","keywords":["convex","component"],"license":"Apache-2.0","_id":"@nativesquare/agoge@3.2.2","maintainers":[{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"}],"homepage":"https://github.com/NativeSquare/agoge#readme","bugs":{"url":"https://github.com/NativeSquare/agoge/issues"},"dist":{"shasum":"28bf3cf062ca4899b4a7780c9a5167cb13b1b68e","tarball":"https://registry.npmjs.org/@nativesquare/agoge/-/agoge-3.2.2.tgz","fileCount":175,"integrity":"sha512-3MeR3LtnO2ylbRoGk7KMvtUmcE87CZWg46sF/6PETmKA9YVRncB2bY5i35pBQHo9c9zJo5Lai3vw7OVV9Norhg==","signatures":[{"sig":"MEUCIBtbaWbwIX4Z73qBSNYqTieipuMOKpVPeg/6u8HOdboZAiEAjBaJQCb+b053HECb8GgZpZ5duYsGj827zrrB3J/O7ds=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":854859},"pnpm":{"onlyBuiltDependencies":["esbuild","@tailwindcss/oxide"]},"type":"module","types":"./dist/client/index.d.ts","module":"./dist/client/index.js","exports":{".":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./test":"./src/test.ts","./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./schema":{"types":"./dist/component/validators.d.ts","default":"./dist/component/validators.js"},"./package.json":"./package.json","./convex.config":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./convex.config.js":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./_generated/component":{"types":"./dist/component/_generated/component.d.ts"},"./_generated/component.js":{"types":"./dist/component/_generated/component.d.ts"}},"gitHead":"81198c03dda37b3e10f065bc71ccfb0e46173a5c","scripts":{"all":"run-p -r dev:* test:watch","dev":"run-p -r dev:*","lint":"eslint .","test":"vitest run --typecheck","alpha":"npm version prerelease --preid alpha && npm publish --tag alpha && git push --follow-tags","build":"tsc --project ./tsconfig.build.json","predev":"path-exists .env.local dist || (npm run build && convex dev --once)","release":"npm version patch && npm publish && git push --follow-tags","version":"vim -c 'normal o' -c 'normal o## '$npm_package_version CHANGELOG.md && prettier -w CHANGELOG.md && git add CHANGELOG.md","dev:build":"chokidar \"tsconfig*.json\" \"src/**/*.ts\" -i \"**/*.test.ts\" -c \"npm run build:codegen\" --initial","typecheck":"tsc --noEmit && tsc -p example && tsc -p example/convex","preversion":"npm ci && npm run build:clean && run-p test lint typecheck","test:debug":"vitest --inspect-brk --no-file-parallelism","test:watch":"vitest --typecheck --clearScreen false","build:clean":"npx rimraf dist *.tsbuildinfo && npm run build:codegen","dev:backend":"convex dev --typecheck-components","dev:frontend":"cd example && vite --clearScreen false","build:codegen":"npx convex codegen --component-dir ./src/component && npm run build","test:coverage":"vitest run --coverage --coverage.reporter=text","prepublishOnly":"npm whoami || npm login","generate:openapi":"openapi-ts"},"_npmUser":{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"},"repository":{"url":"git+https://github.com/NativeSquare/agoge.git","type":"git"},"_npmVersion":"11.4.2","description":"Agoge — a Convex component for sport training. Models athletes, zones, races, plans, blocks, and workouts with a FIT-shaped step tree.","directories":{},"_nodeVersion":"23.3.0","dependencies":{"convex-helpers":"^0.1.115","@hey-api/openapi-ts":"^0.97.0"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.1.13","vite":"7.3.1","react":"^19.2.4","convex":"1.37.0","eslint":"9.39.2","vitest":"4.0.18","globals":"^17.3.0","prettier":"3.8.1","react-dom":"^19.2.4","@eslint/js":"9.39.2","pkg-pr-new":"^0.0.63","typescript":"5.9.3","@types/node":"^24.10.11","convex-test":"0.0.41","@types/react":"^19.2.13","chokidar-cli":"3.0.0","npm-run-all2":"8.0.4","path-exists-cli":"2.0.0","@edge-runtime/vm":"^5.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.2.3","typescript-eslint":"8.54.0","eslint-plugin-react":"^7.37.5","@vitejs/plugin-react":"^5.1.3","@convex-dev/eslint-plugin":"^1.1.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.5.0"},"peerDependencies":{"react":"^18.3.1 || ^19.0.0","convex":"^1.31.7"},"_npmOperationalInternal":{"tmp":"tmp/agoge_3.2.2_1778677418943_0.47877331646116184","host":"s3://npm-registry-packages-npm-production"}},"3.2.3":{"name":"@nativesquare/agoge","version":"3.2.3","keywords":["convex","component"],"license":"Apache-2.0","_id":"@nativesquare/agoge@3.2.3","maintainers":[{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"}],"homepage":"https://github.com/NativeSquare/agoge#readme","bugs":{"url":"https://github.com/NativeSquare/agoge/issues"},"dist":{"shasum":"22377399b48a406c7abf57319787deaf74a77db8","tarball":"https://registry.npmjs.org/@nativesquare/agoge/-/agoge-3.2.3.tgz","fileCount":175,"integrity":"sha512-sBaUt02732bp1QiO6ckFrgzLReKYh6nC7qfgoqmPtHAcpGbzg7qKDsDju9JiAJdEzJK9stqUhE+AsL0aD+jA7Q==","signatures":[{"sig":"MEUCIDMZaFMbuEyy3GjyanqpVtMr47OZaFNwzrCk4fGzffKNAiEApPaWrdzkErUhqF15JNrqOSrrzRwldIZ1iXnhLwaobG4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":853905},"pnpm":{"onlyBuiltDependencies":["esbuild","@tailwindcss/oxide"]},"type":"module","types":"./dist/client/index.d.ts","module":"./dist/client/index.js","exports":{".":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./test":"./src/test.ts","./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./schema":{"types":"./dist/component/validators.d.ts","default":"./dist/component/validators.js"},"./package.json":"./package.json","./convex.config":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./convex.config.js":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./_generated/component":{"types":"./dist/component/_generated/component.d.ts"},"./_generated/component.js":{"types":"./dist/component/_generated/component.d.ts"}},"gitHead":"80f4c15e7433c344da1979af3322383d7cb3728c","scripts":{"all":"run-p -r dev:* test:watch","dev":"run-p -r dev:*","lint":"eslint .","test":"vitest run --typecheck","alpha":"npm version prerelease --preid alpha && npm publish --tag alpha && git push --follow-tags","build":"tsc --project ./tsconfig.build.json","predev":"path-exists .env.local dist || (npm run build && convex dev --once)","release":"npm version patch && npm publish && git push --follow-tags","version":"vim -c 'normal o' -c 'normal o## '$npm_package_version CHANGELOG.md && prettier -w CHANGELOG.md && git add CHANGELOG.md","dev:build":"chokidar \"tsconfig*.json\" \"src/**/*.ts\" -i \"**/*.test.ts\" -c \"npm run build:codegen\" --initial","typecheck":"tsc --noEmit && tsc -p example && tsc -p example/convex","preversion":"npm ci && npm run build:clean && run-p test lint typecheck","test:debug":"vitest --inspect-brk --no-file-parallelism","test:watch":"vitest --typecheck --clearScreen false","build:clean":"npx rimraf dist *.tsbuildinfo && npm run build:codegen","dev:backend":"convex dev --typecheck-components","dev:frontend":"cd example && vite --clearScreen false","build:codegen":"npx convex codegen --component-dir ./src/component && npm run build","test:coverage":"vitest run --coverage --coverage.reporter=text","prepublishOnly":"npm whoami || npm login","generate:openapi":"openapi-ts"},"_npmUser":{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"},"repository":{"url":"git+https://github.com/NativeSquare/agoge.git","type":"git"},"_npmVersion":"11.4.2","description":"Agoge — a Convex component for sport training. Models athletes, zones, races, plans, blocks, and workouts with a FIT-shaped step tree.","directories":{},"_nodeVersion":"23.3.0","dependencies":{"convex-helpers":"^0.1.115","@hey-api/openapi-ts":"^0.97.0"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.1.13","vite":"7.3.1","react":"^19.2.4","convex":"1.37.0","eslint":"9.39.2","vitest":"4.0.18","globals":"^17.3.0","prettier":"3.8.1","react-dom":"^19.2.4","@eslint/js":"9.39.2","pkg-pr-new":"^0.0.63","typescript":"5.9.3","@types/node":"^24.10.11","convex-test":"0.0.41","@types/react":"^19.2.13","chokidar-cli":"3.0.0","npm-run-all2":"8.0.4","path-exists-cli":"2.0.0","@edge-runtime/vm":"^5.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.2.3","typescript-eslint":"8.54.0","eslint-plugin-react":"^7.37.5","@vitejs/plugin-react":"^5.1.3","@convex-dev/eslint-plugin":"^1.1.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.5.0"},"peerDependencies":{"react":"^18.3.1 || ^19.0.0","convex":"^1.31.7"},"_npmOperationalInternal":{"tmp":"tmp/agoge_3.2.3_1778682209396_0.25793104699944713","host":"s3://npm-registry-packages-npm-production"}},"3.3.0":{"name":"@nativesquare/agoge","version":"3.3.0","keywords":["convex","component"],"license":"Apache-2.0","_id":"@nativesquare/agoge@3.3.0","maintainers":[{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"}],"homepage":"https://github.com/NativeSquare/agoge#readme","bugs":{"url":"https://github.com/NativeSquare/agoge/issues"},"dist":{"shasum":"4e4f04140ff132ec4c7ce9369090ff3377c45d1f","tarball":"https://registry.npmjs.org/@nativesquare/agoge/-/agoge-3.3.0.tgz","fileCount":175,"integrity":"sha512-CzdHU9BUf4EQSIwrr6vW15ALWHK3qQeUAbPIUMyi5kQ7ux8mCRy/ALRs441HNmwWKPQ2lhkhvuY4KJWjCwo4vw==","signatures":[{"sig":"MEYCIQDYuwcGH1+W800r2FkXE36f16CZTdSyL3ZpWETHy3FFTQIhAOASNjvoQuRA8p3CAxPI/Qn4AcW6f6WvLRPhnYFjYkyt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":884455},"pnpm":{"onlyBuiltDependencies":["esbuild","@tailwindcss/oxide"]},"type":"module","types":"./dist/client/index.d.ts","module":"./dist/client/index.js","exports":{".":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./test":"./src/test.ts","./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./schema":{"types":"./dist/component/validators.d.ts","default":"./dist/component/validators.js"},"./package.json":"./package.json","./convex.config":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./convex.config.js":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./_generated/component":{"types":"./dist/component/_generated/component.d.ts"},"./_generated/component.js":{"types":"./dist/component/_generated/component.d.ts"}},"gitHead":"ed95347293988ec567302195d0167ee7da1ac7fa","scripts":{"all":"run-p -r dev:* test:watch","dev":"run-p -r dev:*","lint":"eslint .","test":"vitest run --typecheck","alpha":"npm version prerelease --preid alpha && npm publish --tag alpha && git push --follow-tags","build":"tsc --project ./tsconfig.build.json","predev":"path-exists .env.local dist || (npm run build && convex dev --once)","release":"npm version patch && npm publish && git push --follow-tags","version":"vim -c 'normal o' -c 'normal o## '$npm_package_version CHANGELOG.md && prettier -w CHANGELOG.md && git add CHANGELOG.md","dev:build":"chokidar \"tsconfig*.json\" \"src/**/*.ts\" -i \"**/*.test.ts\" -c \"npm run build:codegen\" --initial","typecheck":"tsc --noEmit && tsc -p example && tsc -p example/convex","preversion":"npm ci && npm run build:clean && run-p test lint typecheck","test:debug":"vitest --inspect-brk --no-file-parallelism","test:watch":"vitest --typecheck --clearScreen false","build:clean":"npx rimraf dist *.tsbuildinfo && npm run build:codegen","dev:backend":"convex dev --typecheck-components","dev:frontend":"cd example && vite --clearScreen false","build:codegen":"npx convex codegen --component-dir ./src/component && npm run build","test:coverage":"vitest run --coverage --coverage.reporter=text","prepublishOnly":"npm whoami || npm login","generate:openapi":"openapi-ts"},"_npmUser":{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"},"repository":{"url":"git+https://github.com/NativeSquare/agoge.git","type":"git"},"_npmVersion":"11.4.2","description":"Agoge — a Convex component for sport training. Models athletes, zones, races, plans, blocks, and workouts with a FIT-shaped step tree.","directories":{},"_nodeVersion":"23.3.0","dependencies":{"convex-helpers":"^0.1.115","@hey-api/openapi-ts":"^0.97.0"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.1.13","vite":"7.3.1","react":"^19.2.4","convex":"1.37.0","eslint":"9.39.2","vitest":"4.0.18","globals":"^17.3.0","prettier":"3.8.1","react-dom":"^19.2.4","@eslint/js":"9.39.2","pkg-pr-new":"^0.0.63","typescript":"5.9.3","@types/node":"^24.10.11","convex-test":"0.0.41","@types/react":"^19.2.13","chokidar-cli":"3.0.0","npm-run-all2":"8.0.4","path-exists-cli":"2.0.0","@edge-runtime/vm":"^5.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.2.3","typescript-eslint":"8.54.0","eslint-plugin-react":"^7.37.5","@vitejs/plugin-react":"^5.1.3","@convex-dev/eslint-plugin":"^1.1.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.5.0"},"peerDependencies":{"react":"^18.3.1 || ^19.0.0","convex":"^1.31.7"},"_npmOperationalInternal":{"tmp":"tmp/agoge_3.3.0_1778771323143_0.8772932403750751","host":"s3://npm-registry-packages-npm-production"}},"3.4.0":{"name":"@nativesquare/agoge","version":"3.4.0","keywords":["convex","component"],"license":"Apache-2.0","_id":"@nativesquare/agoge@3.4.0","maintainers":[{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"}],"homepage":"https://github.com/NativeSquare/agoge#readme","bugs":{"url":"https://github.com/NativeSquare/agoge/issues"},"dist":{"shasum":"e0abf5d504524915d1665802d4bbb4d6470bd52c","tarball":"https://registry.npmjs.org/@nativesquare/agoge/-/agoge-3.4.0.tgz","fileCount":175,"integrity":"sha512-K9WgEmvHpF7FYkxfJlOjibzRAR2g6XrRuhZfJPbUNeSIii082f92FX5fQ1h3TaCc1vTY0l+l6XHxfDPvB3sJKg==","signatures":[{"sig":"MEUCIQCAxS17OMcb7h2oV9F1v1wNZsQtTmpP02hg5fTbNf4vLAIgKFQp3ZJUfpGLhUHeyf5spWlX1u0Rhc0sLLq8pllLab8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":888931},"pnpm":{"onlyBuiltDependencies":["esbuild","@tailwindcss/oxide"]},"type":"module","types":"./dist/client/index.d.ts","module":"./dist/client/index.js","exports":{".":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./test":"./src/test.ts","./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./schema":{"types":"./dist/component/validators.d.ts","default":"./dist/component/validators.js"},"./package.json":"./package.json","./convex.config":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./convex.config.js":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./_generated/component":{"types":"./dist/component/_generated/component.d.ts"},"./_generated/component.js":{"types":"./dist/component/_generated/component.d.ts"}},"gitHead":"508d8a23c6cd68b4d4053a0908a4611932d81312","scripts":{"all":"run-p -r dev:* test:watch","dev":"run-p -r dev:*","lint":"eslint .","test":"vitest run --typecheck","alpha":"npm version prerelease --preid alpha && npm publish --tag alpha && git push --follow-tags","build":"tsc --project ./tsconfig.build.json","predev":"path-exists .env.local dist || (npm run build && convex dev --once)","release":"npm version patch && npm publish && git push --follow-tags","version":"vim -c 'normal o' -c 'normal o## '$npm_package_version CHANGELOG.md && prettier -w CHANGELOG.md && git add CHANGELOG.md","dev:build":"chokidar \"tsconfig*.json\" \"src/**/*.ts\" -i \"**/*.test.ts\" -c \"npm run build:codegen\" --initial","typecheck":"tsc --noEmit && tsc -p example && tsc -p example/convex","preversion":"npm ci && npm run build:clean && run-p test lint typecheck","test:debug":"vitest --inspect-brk --no-file-parallelism","test:watch":"vitest --typecheck --clearScreen false","build:clean":"npx rimraf dist *.tsbuildinfo && npm run build:codegen","dev:backend":"convex dev --typecheck-components","dev:frontend":"cd example && vite --clearScreen false","build:codegen":"npx convex codegen --component-dir ./src/component && npm run build","test:coverage":"vitest run --coverage --coverage.reporter=text","prepublishOnly":"npm whoami || npm login","generate:openapi":"openapi-ts"},"_npmUser":{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"},"repository":{"url":"git+https://github.com/NativeSquare/agoge.git","type":"git"},"_npmVersion":"11.4.2","description":"Agoge — a Convex component for sport training. Models athletes, zones, races, plans, blocks, and workouts with a FIT-shaped step tree.","directories":{},"_nodeVersion":"23.3.0","dependencies":{"convex-helpers":"^0.1.115","@hey-api/openapi-ts":"^0.97.0"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.1.13","vite":"7.3.1","react":"^19.2.4","convex":"1.37.0","eslint":"9.39.2","vitest":"4.0.18","globals":"^17.3.0","prettier":"3.8.1","react-dom":"^19.2.4","@eslint/js":"9.39.2","pkg-pr-new":"^0.0.63","typescript":"5.9.3","@types/node":"^24.10.11","convex-test":"0.0.41","@types/react":"^19.2.13","chokidar-cli":"3.0.0","npm-run-all2":"8.0.4","path-exists-cli":"2.0.0","@edge-runtime/vm":"^5.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.2.3","typescript-eslint":"8.54.0","eslint-plugin-react":"^7.37.5","@vitejs/plugin-react":"^5.1.3","@convex-dev/eslint-plugin":"^1.1.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.5.0"},"peerDependencies":{"react":"^18.3.1 || ^19.0.0","convex":"^1.31.7"},"_npmOperationalInternal":{"tmp":"tmp/agoge_3.4.0_1778773322216_0.1221380258667466","host":"s3://npm-registry-packages-npm-production"}},"3.4.1":{"name":"@nativesquare/agoge","version":"3.4.1","keywords":["convex","component"],"license":"Apache-2.0","_id":"@nativesquare/agoge@3.4.1","maintainers":[{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"}],"homepage":"https://github.com/NativeSquare/agoge#readme","bugs":{"url":"https://github.com/NativeSquare/agoge/issues"},"dist":{"shasum":"aa5f225828f5b4ee59082a9d9eda33160561c25c","tarball":"https://registry.npmjs.org/@nativesquare/agoge/-/agoge-3.4.1.tgz","fileCount":175,"integrity":"sha512-VcouTbVPZaCnqICFGikRhbvJ/k7xsuycfbptrcYtN+eqhFrm1nBSywdq8lrZ/RCSUmxaWEQHJI1i6kGQKpF9LQ==","signatures":[{"sig":"MEYCIQDg6W0IXb0xIsDCxHSS4BAthyZPoQj2Tnc6sFMZ15NwWwIhAO7kB0f3VOYdSgpLOS6pQt8/7oDUTHJZaqAfu0wFPCgS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":898347},"pnpm":{"onlyBuiltDependencies":["esbuild","@tailwindcss/oxide"]},"type":"module","types":"./dist/client/index.d.ts","module":"./dist/client/index.js","exports":{".":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./test":"./src/test.ts","./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./schema":{"types":"./dist/component/validators.d.ts","default":"./dist/component/validators.js"},"./package.json":"./package.json","./convex.config":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./convex.config.js":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./_generated/component":{"types":"./dist/component/_generated/component.d.ts"},"./_generated/component.js":{"types":"./dist/component/_generated/component.d.ts"}},"gitHead":"508d8a23c6cd68b4d4053a0908a4611932d81312","scripts":{"all":"run-p -r dev:* test:watch","dev":"run-p -r dev:*","lint":"eslint .","test":"vitest run --typecheck","alpha":"npm version prerelease --preid alpha && npm publish --tag alpha && git push --follow-tags","build":"tsc --project ./tsconfig.build.json","predev":"path-exists .env.local dist || (npm run build && convex dev --once)","release":"npm version patch && npm publish && git push --follow-tags","version":"vim -c 'normal o' -c 'normal o## '$npm_package_version CHANGELOG.md && prettier -w CHANGELOG.md && git add CHANGELOG.md","dev:build":"chokidar \"tsconfig*.json\" \"src/**/*.ts\" -i \"**/*.test.ts\" -c \"npm run build:codegen\" --initial","typecheck":"tsc --noEmit && tsc -p example && tsc -p example/convex","preversion":"npm ci && npm run build:clean && run-p test lint typecheck","test:debug":"vitest --inspect-brk --no-file-parallelism","test:watch":"vitest --typecheck --clearScreen false","build:clean":"npx rimraf dist *.tsbuildinfo && npm run build:codegen","dev:backend":"convex dev --typecheck-components","dev:frontend":"cd example && vite --clearScreen false","build:codegen":"npx convex codegen --component-dir ./src/component && npm run build","test:coverage":"vitest run --coverage --coverage.reporter=text","prepublishOnly":"npm whoami || npm login","generate:openapi":"openapi-ts"},"_npmUser":{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"},"repository":{"url":"git+https://github.com/NativeSquare/agoge.git","type":"git"},"_npmVersion":"11.4.2","description":"Agoge — a Convex component for sport training. Models athletes, zones, races, plans, blocks, and workouts with a FIT-shaped step tree.","directories":{},"_nodeVersion":"23.3.0","dependencies":{"convex-helpers":"^0.1.115","@hey-api/openapi-ts":"^0.97.0"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.1.13","vite":"7.3.1","react":"^19.2.4","convex":"1.37.0","eslint":"9.39.2","vitest":"4.0.18","globals":"^17.3.0","prettier":"3.8.1","react-dom":"^19.2.4","@eslint/js":"9.39.2","pkg-pr-new":"^0.0.63","typescript":"5.9.3","@types/node":"^24.10.11","convex-test":"0.0.41","@types/react":"^19.2.13","chokidar-cli":"3.0.0","npm-run-all2":"8.0.4","path-exists-cli":"2.0.0","@edge-runtime/vm":"^5.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.2.3","typescript-eslint":"8.54.0","eslint-plugin-react":"^7.37.5","@vitejs/plugin-react":"^5.1.3","@convex-dev/eslint-plugin":"^1.1.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.5.0"},"peerDependencies":{"react":"^18.3.1 || ^19.0.0","convex":"^1.31.7"},"_npmOperationalInternal":{"tmp":"tmp/agoge_3.4.1_1778840773342_0.05945033094109742","host":"s3://npm-registry-packages-npm-production"}},"3.5.0":{"name":"@nativesquare/agoge","version":"3.5.0","keywords":["convex","component"],"license":"Apache-2.0","_id":"@nativesquare/agoge@3.5.0","maintainers":[{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"}],"homepage":"https://github.com/NativeSquare/agoge#readme","bugs":{"url":"https://github.com/NativeSquare/agoge/issues"},"dist":{"shasum":"959a98cdf5db4242eb11323346849f4b4b06e937","tarball":"https://registry.npmjs.org/@nativesquare/agoge/-/agoge-3.5.0.tgz","fileCount":175,"integrity":"sha512-APbDaIHaTD+3BlGD/OWSkk1NYpTcHEoQmmt4jDKKRtGMlisnqf7Va8myxAml+f0CJTZoKbxAoikbdXui8rGHig==","signatures":[{"sig":"MEUCIQDD7PuuVFWQylm9J4thUiuQ36wfwv+hmnh05No82dXFNAIgXCcvEMkuXhUt7dxTTa9a9MRlpLF3qNMNU/bRz8trXJo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":868394},"pnpm":{"onlyBuiltDependencies":["esbuild","@tailwindcss/oxide"]},"type":"module","types":"./dist/client/index.d.ts","module":"./dist/client/index.js","exports":{".":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./test":"./src/test.ts","./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./schema":{"types":"./dist/component/validators.d.ts","default":"./dist/component/validators.js"},"./package.json":"./package.json","./convex.config":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./convex.config.js":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./_generated/component":{"types":"./dist/component/_generated/component.d.ts"},"./_generated/component.js":{"types":"./dist/component/_generated/component.d.ts"}},"gitHead":"f98aef99fe42b5f8b8fcd46754ef994c9c92aa1a","scripts":{"all":"run-p -r dev:* test:watch","dev":"run-p -r dev:*","lint":"eslint .","test":"vitest run --typecheck","alpha":"npm version prerelease --preid alpha && npm publish --tag alpha && git push --follow-tags","build":"tsc --project ./tsconfig.build.json","predev":"path-exists .env.local dist || (npm run build && convex dev --once)","release":"npm version patch && npm publish && git push --follow-tags","version":"vim -c 'normal o' -c 'normal o## '$npm_package_version CHANGELOG.md && prettier -w CHANGELOG.md && git add CHANGELOG.md","dev:build":"chokidar \"tsconfig*.json\" \"src/**/*.ts\" -i \"**/*.test.ts\" -c \"npm run build:codegen\" --initial","typecheck":"tsc --noEmit && tsc -p example && tsc -p example/convex","preversion":"npm ci && npm run build:clean && run-p test lint typecheck","test:debug":"vitest --inspect-brk --no-file-parallelism","test:watch":"vitest --typecheck --clearScreen false","build:clean":"npx rimraf dist *.tsbuildinfo && npm run build:codegen","dev:backend":"convex dev --typecheck-components","dev:frontend":"cd example && vite --clearScreen false","build:codegen":"npx convex codegen --component-dir ./src/component && npm run build","test:coverage":"vitest run --coverage --coverage.reporter=text","prepublishOnly":"npm whoami || npm login","generate:openapi":"openapi-ts"},"_npmUser":{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"},"repository":{"url":"git+https://github.com/NativeSquare/agoge.git","type":"git"},"_npmVersion":"11.4.2","description":"Agoge — a Convex component for sport training. Models athletes, races, plans, blocks, and workouts with a FIT-shaped step tree.","directories":{},"_nodeVersion":"23.3.0","dependencies":{"convex-helpers":"^0.1.115","@hey-api/openapi-ts":"^0.97.0"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.1.13","vite":"7.3.1","react":"^19.2.4","convex":"1.37.0","eslint":"9.39.2","vitest":"4.0.18","globals":"^17.3.0","prettier":"3.8.1","react-dom":"^19.2.4","@eslint/js":"9.39.2","pkg-pr-new":"^0.0.63","typescript":"5.9.3","@types/node":"^24.10.11","convex-test":"0.0.41","@types/react":"^19.2.13","chokidar-cli":"3.0.0","npm-run-all2":"8.0.4","path-exists-cli":"2.0.0","@edge-runtime/vm":"^5.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.2.3","typescript-eslint":"8.54.0","eslint-plugin-react":"^7.37.5","@vitejs/plugin-react":"^5.1.3","@convex-dev/eslint-plugin":"^1.1.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.5.0"},"peerDependencies":{"react":"^18.3.1 || ^19.0.0","convex":"^1.31.7"},"_npmOperationalInternal":{"tmp":"tmp/agoge_3.5.0_1778852771414_0.7201580532531437","host":"s3://npm-registry-packages-npm-production"}},"3.6.0":{"name":"@nativesquare/agoge","version":"3.6.0","keywords":["convex","component"],"license":"Apache-2.0","_id":"@nativesquare/agoge@3.6.0","maintainers":[{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"}],"homepage":"https://github.com/NativeSquare/agoge#readme","bugs":{"url":"https://github.com/NativeSquare/agoge/issues"},"dist":{"shasum":"7dc0047dca473a670aadc3d6f965adafae37f0b1","tarball":"https://registry.npmjs.org/@nativesquare/agoge/-/agoge-3.6.0.tgz","fileCount":175,"integrity":"sha512-xzMNcNXEWkmoDzefIEZB84ZzEbRrL71B/reA8yk6EIHmZpGBkG6RKTZ91CWveGL6vNgCQg88I2cca2fYSTn+zg==","signatures":[{"sig":"MEUCIGL0egdtTBXC4Jkx0QA5m3E6l/2zpMSwzLlOGaF03FEkAiEA6mw5HXKV+ocdm6fH2NXFQgY/IHbNzfXXc/jBR0jzRlw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":884054},"pnpm":{"onlyBuiltDependencies":["esbuild","@tailwindcss/oxide"]},"type":"module","types":"./dist/client/index.d.ts","module":"./dist/client/index.js","exports":{".":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./test":"./src/test.ts","./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./schema":{"types":"./dist/component/validators.d.ts","default":"./dist/component/validators.js"},"./package.json":"./package.json","./convex.config":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./convex.config.js":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./_generated/component":{"types":"./dist/component/_generated/component.d.ts"},"./_generated/component.js":{"types":"./dist/component/_generated/component.d.ts"}},"gitHead":"f98aef99fe42b5f8b8fcd46754ef994c9c92aa1a","scripts":{"all":"run-p -r dev:* test:watch","dev":"run-p -r dev:*","lint":"eslint .","test":"vitest run --typecheck","alpha":"npm version prerelease --preid alpha && npm publish --tag alpha && git push --follow-tags","build":"tsc --project ./tsconfig.build.json","predev":"path-exists .env.local dist || (npm run build && convex dev --once)","release":"npm version patch && npm publish && git push --follow-tags","version":"vim -c 'normal o' -c 'normal o## '$npm_package_version CHANGELOG.md && prettier -w CHANGELOG.md && git add CHANGELOG.md","dev:build":"chokidar \"tsconfig*.json\" \"src/**/*.ts\" -i \"**/*.test.ts\" -c \"npm run build:codegen\" --initial","typecheck":"tsc --noEmit && tsc -p example && tsc -p example/convex","preversion":"npm ci && npm run build:clean && run-p test lint typecheck","test:debug":"vitest --inspect-brk --no-file-parallelism","test:watch":"vitest --typecheck --clearScreen false","build:clean":"npx rimraf dist *.tsbuildinfo && npm run build:codegen","dev:backend":"convex dev --typecheck-components","dev:frontend":"cd example && vite --clearScreen false","build:codegen":"npx convex codegen --component-dir ./src/component && npm run build","test:coverage":"vitest run --coverage --coverage.reporter=text","prepublishOnly":"npm whoami || npm login","generate:openapi":"openapi-ts"},"_npmUser":{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"},"repository":{"url":"git+https://github.com/NativeSquare/agoge.git","type":"git"},"_npmVersion":"11.4.2","description":"Agoge — a Convex component for sport training. Models athletes, races, plans, blocks, and workouts with a FIT-shaped step tree.","directories":{},"_nodeVersion":"23.3.0","dependencies":{"convex-helpers":"^0.1.115","@hey-api/openapi-ts":"^0.97.0"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.1.13","vite":"7.3.1","react":"^19.2.4","convex":"1.37.0","eslint":"9.39.2","vitest":"4.0.18","globals":"^17.3.0","prettier":"3.8.1","react-dom":"^19.2.4","@eslint/js":"9.39.2","pkg-pr-new":"^0.0.63","typescript":"5.9.3","@types/node":"^24.10.11","convex-test":"0.0.41","@types/react":"^19.2.13","chokidar-cli":"3.0.0","npm-run-all2":"8.0.4","path-exists-cli":"2.0.0","@edge-runtime/vm":"^5.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.2.3","typescript-eslint":"8.54.0","eslint-plugin-react":"^7.37.5","@vitejs/plugin-react":"^5.1.3","@convex-dev/eslint-plugin":"^1.1.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.5.0"},"peerDependencies":{"react":"^18.3.1 || ^19.0.0","convex":"^1.31.7"},"_npmOperationalInternal":{"tmp":"tmp/agoge_3.6.0_1779302513430_0.11551500324116781","host":"s3://npm-registry-packages-npm-production"}},"4.0.0":{"name":"@nativesquare/agoge","version":"4.0.0","keywords":["convex","component"],"license":"Apache-2.0","_id":"@nativesquare/agoge@4.0.0","maintainers":[{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"}],"homepage":"https://github.com/NativeSquare/agoge#readme","bugs":{"url":"https://github.com/NativeSquare/agoge/issues"},"dist":{"shasum":"e938838661e1dba6bfed92dfdc75ecf0a1d0b282","tarball":"https://registry.npmjs.org/@nativesquare/agoge/-/agoge-4.0.0.tgz","fileCount":175,"integrity":"sha512-0yB0ng7ODRjk4xNopiXJMxXnc1MlngzWBSIeaNgEQjkVh9jOKqKeWVSV3gFQxOwhSCX63qhMz+dWp6jvA6fbnQ==","signatures":[{"sig":"MEUCIAOQ6YfC4SGG2TTyWFrMlc/7wHkhYPJRXj9ehR8vSG/2AiEA6RCNCbMDPxI+3q6vEIARAVgX6SXEZQHiriDYa+BfyAg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":810312},"pnpm":{"onlyBuiltDependencies":["esbuild","@tailwindcss/oxide"]},"type":"module","types":"./dist/client/index.d.ts","module":"./dist/client/index.js","exports":{".":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./test":"./src/test.ts","./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./schema":{"types":"./dist/component/validators.d.ts","default":"./dist/component/validators.js"},"./package.json":"./package.json","./convex.config":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./convex.config.js":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./_generated/component":{"types":"./dist/component/_generated/component.d.ts"},"./_generated/component.js":{"types":"./dist/component/_generated/component.d.ts"}},"gitHead":"d0919524677420c03831e05187fc4e57d97902cf","scripts":{"all":"run-p -r dev:* test:watch","dev":"run-p -r dev:*","lint":"eslint .","test":"vitest run --typecheck","alpha":"npm version prerelease --preid alpha && npm publish --tag alpha && git push --follow-tags","build":"tsc --project ./tsconfig.build.json","predev":"path-exists .env.local dist || (npm run build && convex dev --once)","release":"npm version patch && npm publish && git push --follow-tags","version":"vim -c 'normal o' -c 'normal o## '$npm_package_version CHANGELOG.md && prettier -w CHANGELOG.md && git add CHANGELOG.md","dev:build":"chokidar \"tsconfig*.json\" \"src/**/*.ts\" -i \"**/*.test.ts\" -c \"npm run build:codegen\" --initial","typecheck":"tsc --noEmit && tsc -p example && tsc -p example/convex","preversion":"npm ci && npm run build:clean && run-p test lint typecheck","test:debug":"vitest --inspect-brk --no-file-parallelism","test:watch":"vitest --typecheck --clearScreen false","build:clean":"npx rimraf dist *.tsbuildinfo && npm run build:codegen","dev:backend":"convex dev --typecheck-components","dev:frontend":"cd example && vite --clearScreen false","build:codegen":"npx convex codegen --component-dir ./src/component && npm run build","test:coverage":"vitest run --coverage --coverage.reporter=text","prepublishOnly":"npm whoami || npm login","generate:openapi":"openapi-ts"},"_npmUser":{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"},"repository":{"url":"git+https://github.com/NativeSquare/agoge.git","type":"git"},"_npmVersion":"11.4.2","description":"Agoge — a Convex component for sport training. Models athletes, races, plans, blocks, and workouts with a FIT-shaped step tree.","directories":{},"_nodeVersion":"23.3.0","dependencies":{"convex-helpers":"^0.1.115","@hey-api/openapi-ts":"^0.97.0"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.1.13","vite":"7.3.1","react":"^19.2.4","convex":"1.37.0","eslint":"9.39.2","vitest":"4.0.18","globals":"^17.3.0","prettier":"3.8.1","react-dom":"^19.2.4","@eslint/js":"9.39.2","pkg-pr-new":"^0.0.63","typescript":"5.9.3","@types/node":"^24.10.11","convex-test":"0.0.41","@types/react":"^19.2.13","chokidar-cli":"3.0.0","npm-run-all2":"8.0.4","path-exists-cli":"2.0.0","@edge-runtime/vm":"^5.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.2.3","typescript-eslint":"8.54.0","eslint-plugin-react":"^7.37.5","@vitejs/plugin-react":"^5.1.3","@convex-dev/eslint-plugin":"^1.1.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.5.0"},"peerDependencies":{"react":"^18.3.1 || ^19.0.0","convex":"^1.31.7"},"_npmOperationalInternal":{"tmp":"tmp/agoge_4.0.0_1779311336615_0.4298476878063009","host":"s3://npm-registry-packages-npm-production"}},"4.0.1":{"name":"@nativesquare/agoge","version":"4.0.1","keywords":["convex","component"],"license":"Apache-2.0","_id":"@nativesquare/agoge@4.0.1","maintainers":[{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"}],"homepage":"https://github.com/NativeSquare/agoge#readme","bugs":{"url":"https://github.com/NativeSquare/agoge/issues"},"dist":{"shasum":"ccd3b711ef1c4fd7fedead309a9f29a12341ecc8","tarball":"https://registry.npmjs.org/@nativesquare/agoge/-/agoge-4.0.1.tgz","fileCount":175,"integrity":"sha512-sEbSwz3qoV/5Dj3F5dJDkJWa3pt7LiU+NvG2eMAqI7nsAmulwtMzNO4qLWC1YzaG5knFWeBv/ZRjf2YG3GHdGA==","signatures":[{"sig":"MEUCIAfEWUhamoWnpySXJKqK+3FXG9A5A6l8bdgRXaRs3wxhAiEAriOFU0PFUq0DR5vB1gLW+Lly+3VfjNshvpfeHXGVjsc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":814344},"pnpm":{"onlyBuiltDependencies":["esbuild","@tailwindcss/oxide"]},"type":"module","types":"./dist/client/index.d.ts","module":"./dist/client/index.js","exports":{".":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./test":"./src/test.ts","./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./schema":{"types":"./dist/component/validators.d.ts","default":"./dist/component/validators.js"},"./package.json":"./package.json","./convex.config":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./convex.config.js":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./_generated/component":{"types":"./dist/component/_generated/component.d.ts"},"./_generated/component.js":{"types":"./dist/component/_generated/component.d.ts"}},"gitHead":"1e031f332629094bc189ec4c460817405dee6a1d","scripts":{"all":"run-p -r dev:* test:watch","dev":"run-p -r dev:*","lint":"eslint .","test":"vitest run --typecheck","alpha":"npm version prerelease --preid alpha && npm publish --tag alpha && git push --follow-tags","build":"tsc --project ./tsconfig.build.json","predev":"path-exists .env.local dist || (npm run build && convex dev --once)","release":"npm version patch && npm publish && git push --follow-tags","version":"vim -c 'normal o' -c 'normal o## '$npm_package_version CHANGELOG.md && prettier -w CHANGELOG.md && git add CHANGELOG.md","dev:build":"chokidar \"tsconfig*.json\" \"src/**/*.ts\" -i \"**/*.test.ts\" -c \"npm run build:codegen\" --initial","typecheck":"tsc --noEmit && tsc -p example && tsc -p example/convex","preversion":"npm ci && npm run build:clean && run-p test lint typecheck","test:debug":"vitest --inspect-brk --no-file-parallelism","test:watch":"vitest --typecheck --clearScreen false","build:clean":"npx rimraf dist *.tsbuildinfo && npm run build:codegen","dev:backend":"convex dev --typecheck-components","dev:frontend":"cd example && vite --clearScreen false","build:codegen":"npx convex codegen --component-dir ./src/component && npm run build","test:coverage":"vitest run --coverage --coverage.reporter=text","prepublishOnly":"npm whoami || npm login","generate:openapi":"openapi-ts"},"_npmUser":{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"},"repository":{"url":"git+https://github.com/NativeSquare/agoge.git","type":"git"},"_npmVersion":"11.4.2","description":"Agoge — a Convex component for sport training. Models athletes, races, plans, blocks, and workouts with a FIT-shaped step tree.","directories":{},"_nodeVersion":"23.3.0","dependencies":{"convex-helpers":"^0.1.115","@hey-api/openapi-ts":"^0.97.0"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.1.13","vite":"7.3.1","react":"^19.2.4","convex":"1.37.0","eslint":"9.39.2","vitest":"4.0.18","globals":"^17.3.0","prettier":"3.8.1","react-dom":"^19.2.4","@eslint/js":"9.39.2","pkg-pr-new":"^0.0.63","typescript":"5.9.3","@types/node":"^24.10.11","convex-test":"0.0.41","@types/react":"^19.2.13","chokidar-cli":"3.0.0","npm-run-all2":"8.0.4","path-exists-cli":"2.0.0","@edge-runtime/vm":"^5.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.2.3","typescript-eslint":"8.54.0","eslint-plugin-react":"^7.37.5","@vitejs/plugin-react":"^5.1.3","@convex-dev/eslint-plugin":"^1.1.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.5.0"},"peerDependencies":{"react":"^18.3.1 || ^19.0.0","convex":"^1.31.7"},"_npmOperationalInternal":{"tmp":"tmp/agoge_4.0.1_1779312069097_0.2993277595805808","host":"s3://npm-registry-packages-npm-production"}},"4.0.2":{"name":"@nativesquare/agoge","description":"Agoge — a Convex component for sport training. Models athletes, races, plans, blocks, and workouts with a FIT-shaped step tree.","repository":{"type":"git","url":"git+https://github.com/NativeSquare/agoge.git"},"homepage":"https://github.com/NativeSquare/agoge#readme","bugs":{"url":"https://github.com/NativeSquare/agoge/issues"},"version":"4.0.2","license":"Apache-2.0","keywords":["convex","component"],"type":"module","scripts":{"dev":"run-p -r dev:*","dev:backend":"convex dev --typecheck-components","dev:frontend":"cd example && vite --clearScreen false","dev:build":"chokidar \"tsconfig*.json\" \"src/**/*.ts\" -i \"**/*.test.ts\" -c \"npm run build:codegen\" --initial","predev":"path-exists .env.local dist || (npm run build && convex dev --once)","build":"tsc --project ./tsconfig.build.json","build:codegen":"npx convex codegen --component-dir ./src/component && npm run build","build:clean":"npx rimraf dist *.tsbuildinfo && npm run build:codegen","typecheck":"tsc --noEmit && tsc -p example && tsc -p example/convex","lint":"eslint .","all":"run-p -r dev:* test:watch","test":"vitest run --typecheck","test:watch":"vitest --typecheck --clearScreen false","test:debug":"vitest --inspect-brk --no-file-parallelism","test:coverage":"vitest run --coverage --coverage.reporter=text","preversion":"npm ci && npm run build:clean && run-p test lint typecheck","prepublishOnly":"npm whoami || npm login","alpha":"npm version prerelease --preid alpha && npm publish --tag alpha && git push --follow-tags","release":"npm version patch && npm publish && git push --follow-tags","version":"vim -c 'normal o' -c 'normal o## '$npm_package_version CHANGELOG.md && prettier -w CHANGELOG.md && git add CHANGELOG.md","generate:openapi":"openapi-ts"},"exports":{"./package.json":"./package.json",".":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./schema":{"types":"./dist/component/validators.d.ts","default":"./dist/component/validators.js"},"./test":"./src/test.ts","./_generated/component.js":{"types":"./dist/component/_generated/component.d.ts"},"./_generated/component":{"types":"./dist/component/_generated/component.d.ts"},"./convex.config.js":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"},"./convex.config":{"types":"./dist/component/convex.config.d.ts","default":"./dist/component/convex.config.js"}},"peerDependencies":{"convex":"^1.31.7","react":"^18.3.1 || ^19.0.0"},"devDependencies":{"@convex-dev/eslint-plugin":"^1.1.1","@edge-runtime/vm":"^5.0.0","@eslint/eslintrc":"^3.3.3","@eslint/js":"9.39.2","@types/node":"^24.10.11","@types/react":"^19.2.13","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.1.3","chokidar-cli":"3.0.0","convex":"1.37.0","convex-test":"0.0.41","eslint":"9.39.2","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.5.0","globals":"^17.3.0","npm-run-all2":"8.0.4","path-exists-cli":"2.0.0","pkg-pr-new":"^0.0.63","prettier":"3.8.1","react":"^19.2.4","react-dom":"^19.2.4","typescript":"5.9.3","typescript-eslint":"8.54.0","vite":"7.3.1","vitest":"4.0.18","zod":"^4.1.13"},"types":"./dist/client/index.d.ts","module":"./dist/client/index.js","pnpm":{"onlyBuiltDependencies":["esbuild","@tailwindcss/oxide"]},"dependencies":{"@hey-api/openapi-ts":"^0.97.0","convex-helpers":"^0.1.115"},"_id":"@nativesquare/agoge@4.0.2","gitHead":"b0af48e578ebe8a7f79e01e53abe7adbcecb12b6","_nodeVersion":"23.3.0","_npmVersion":"11.4.2","dist":{"integrity":"sha512-6mwOBVswry+ursBGKNmjfjIgkW5tfxgE8KlgBnwICcXHpB5ioi262jgVHoGMRwiKSv5CFzPvSQ3ULqXO3Z1dWw==","shasum":"f9f9ce6bd75dd37620849cd2eaa9a5bb3e7c136d","tarball":"https://registry.npmjs.org/@nativesquare/agoge/-/agoge-4.0.2.tgz","fileCount":175,"unpackedSize":813977,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDIzBaxJQ0tpjNTuxq/nWKY7dg+cHsS3Xs0ZIFYO1kr1QIgeAdgcD0S023l4KeqSnzIRJ+NXhaQpdLK1nrqqCyfLfc="}]},"_npmUser":{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"},"directories":{},"maintainers":[{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/agoge_4.0.2_1779374822598_0.15230620550410512"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-22T12:59:24.844Z","modified":"2026-05-21T14:47:03.056Z","1.0.0":"2026-04-22T12:59:25.095Z","1.1.0":"2026-04-23T11:27:37.952Z","1.1.1":"2026-04-23T12:16:53.114Z","1.1.2":"2026-04-23T12:24:29.042Z","1.2.0":"2026-04-24T15:15:22.160Z","1.3.0":"2026-04-24T16:33:05.478Z","1.4.0":"2026-04-25T11:24:54.889Z","1.5.0":"2026-04-25T16:44:52.441Z","1.6.0":"2026-04-25T16:58:32.862Z","1.6.1":"2026-04-27T11:30:36.707Z","1.6.2":"2026-04-28T09:30:04.556Z","2.0.0":"2026-04-29T13:27:42.382Z","2.1.0":"2026-04-29T13:47:09.338Z","2.2.0":"2026-05-01T09:37:44.063Z","2.2.1":"2026-05-01T10:03:02.126Z","2.3.0":"2026-05-01T15:52:44.061Z","2.4.0":"2026-05-01T16:57:34.482Z","2.5.0":"2026-05-02T11:35:41.752Z","2.6.0":"2026-05-02T15:30:57.520Z","2.6.1":"2026-05-02T17:41:57.632Z","2.6.2":"2026-05-02T17:43:38.171Z","2.6.3":"2026-05-03T11:55:56.554Z","2.7.0":"2026-05-12T07:05:44.769Z","3.0.0":"2026-05-12T08:35:36.464Z","3.1.0":"2026-05-12T13:44:43.989Z","3.2.0":"2026-05-12T14:21:05.220Z","3.2.1":"2026-05-13T08:13:51.517Z","3.2.2":"2026-05-13T13:03:39.140Z","3.2.3":"2026-05-13T14:23:29.579Z","3.3.0":"2026-05-14T15:08:43.341Z","3.4.0":"2026-05-14T15:42:02.424Z","3.4.1":"2026-05-15T10:26:13.495Z","3.5.0":"2026-05-15T13:46:11.585Z","3.6.0":"2026-05-20T18:41:53.624Z","4.0.0":"2026-05-20T21:08:56.764Z","4.0.1":"2026-05-20T21:21:09.331Z","4.0.2":"2026-05-21T14:47:02.793Z"},"bugs":{"url":"https://github.com/NativeSquare/agoge/issues"},"license":"Apache-2.0","homepage":"https://github.com/NativeSquare/agoge#readme","keywords":["convex","component"],"repository":{"type":"git","url":"git+https://github.com/NativeSquare/agoge.git"},"description":"Agoge — a Convex component for sport training. Models athletes, races, plans, blocks, and workouts with a FIT-shaped step tree.","maintainers":[{"name":"maxime-ns","email":"maxime.gey@nativesquare.fr"}],"readme":"# Agoge\n\nA Convex component for sport training. Agoge models the full training domain:\nathletes, target events, multi-week plans, mesocycle blocks, workouts with a\nFIT-shaped recursive step tree, and a workout-template library.\n\nV1 is running-only. The schema is union-widened (`v.literal(\"run\")` instead of\nhardcoded running fields) so cycling, swimming, and strength can be added later\nwithout a rewrite.\n\nSee [agoge-schema.md](./agoge-schema.md) for the full design: tables, indexes,\nthe step-tree shape, the reasoning behind each decision.\n\n## Status\n\nFoundational pass. The package currently exposes:\n\n- The schema (6 tables with indexes)\n- `parseStepTree` plus types and helpers for the recursive step tree\n\nMutations, queries, and derived helpers (compliance, workout lifecycle) are\nnot yet implemented.\n\n## Installation\n\n```sh\npnpm add @nativesquare/agoge\n```\n\nRegister the component in your app's Convex config:\n\n```ts\n// convex/convex.config.ts\nimport { defineApp } from \"convex/server\";\nimport agoge from \"@nativesquare/agoge/convex.config.js\";\n\nconst app = defineApp();\napp.use(agoge);\n\nexport default app;\n```\n\n## Step-tree validation\n\nThe step tree is validated at the mutation boundary via Zod (Convex validators\ndon't support recursion). When mutations are added, they'll call\n`parseStepTree` before persisting to `workouts.structure` or\n`workoutTemplates.structure`.\n\n```ts\nimport { parseStepTree } from \"@nativesquare/agoge\";\n\nconst tree = parseStepTree(input); // throws ZodError on malformed input\n```\n\n## Development\n\n```sh\npnpm install\npnpm run dev\n```\n\n`pnpm run dev` runs the backend, the example frontend, and a watcher that\nrebuilds the component on change.\n\n## Layout\n\n```\nsrc/\n  component/\n    schema.ts       6 Agoge tables\n    stepTree.ts     Zod schema for the step tree, types, helpers\n    convex.config.ts\n  client/index.ts   Agoge class wrapping the component API\n  react/index.ts    React hooks (placeholder)\n  test.ts           convex-test registration helper\nexample/            Convex app that consumes the component (stub for now)\n```\n","readmeFilename":"README.md"}