{"_id":"@aiquants/daily-report","_rev":"37-1d1c75b1f943e45c5f8ede3c60ba2fe4","name":"@aiquants/daily-report","dist-tags":{"latest":"0.21.0"},"versions":{"0.1.1":{"name":"@aiquants/daily-report","version":"0.1.1","keywords":["daily-report","react-router","drizzle","mssql","sse","virtual-scroll","typescript"],"author":"AI Quants","license":"MIT","_id":"@aiquants/daily-report@0.1.1","maintainers":[{"name":"fehde-k","email":"owner@aiquants.co.jp"},{"name":"fehde","email":"genbu0498@gmail.com"}],"dist":{"shasum":"a2e7871617cc1c6069fc1a1bd77a1444427bf8ef","tarball":"https://registry.npmjs.org/@aiquants/daily-report/-/daily-report-0.1.1.tgz","fileCount":73,"integrity":"sha512-xFB9i/VCx5BBTkbT98EQREuVSONZl2LerRaX6vLaDBfkhpYXeOmUS75iLutTIkgmNGx8Y37DDiWcS+awFb740w==","signatures":[{"sig":"MEUCIQDxHOG1BRtWxAbDhKgvViaffILQl2rASmSe7PJ0c6ndrgIgNaMHz6CpVGymy5Bw8b/p9xRLarCGP5RuRB3nngQN7oo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1951351},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.mjs","require":"./dist/client.js"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.mjs","require":"./dist/server.js"}},"scripts":{"dev":"tsup --watch","lint":"biome lint src/","test":"vitest run","build":"tsup","check":"biome check src/","clean":"rimraf dist","check:fix":"biome check --write src/","typecheck":"tsc --noEmit","build:watch":"tsup --watch","publish:major":"pnpm version major --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:minor":"pnpm version minor --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:patch":"pnpm version patch --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"fehde","email":"genbu0498@gmail.com"},"description":"Reusable daily-report feature package: shared types/schemas, React (Router v7) UI with virtual scrolling + optimistic updates + SSE sync, and a drizzle (mssql) server layer with DI ports (auth, user resolution, redis, external sources).","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"clsx":"^2.1.1","lucide-react":"^0.561.0","tailwind-merge":"^3.5.0","@heroicons/react":"^2.2.0","@radix-ui/react-slot":"^1.2.4","@radix-ui/react-tabs":"^1.1.13","@radix-ui/react-label":"^2.1.8","@radix-ui/react-switch":"^1.2.6","class-variance-authority":"^0.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.25.76","tsup":"^8.5.1","jsdom":"^27.4.0","react":"^19.2.7","rimraf":"^6.1.2","vitest":"^4.1.8","react-dom":"^19.2.7","typescript":"^5.9.3","@types/node":"^25.9.1","drizzle-orm":"1.0.0-rc.4","@types/react":"^19.2.7","react-router":"^7.13.0","@testing-library/react":"^16.3.2","@aiquants/swipe-overlay":"1.2.3","@aiquants/virtualscroll":"1.18.3","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"zod":">=3.25.0 <5.0.0","react":">=18","react-dom":">=18","drizzle-orm":">=1.0.0-beta.4 <2.0.0","react-router":"^7.0.0","@aiquants/swipe-overlay":"^1.2.3","@aiquants/virtualscroll":"^1.18.3"},"peerDependenciesMeta":{"drizzle-orm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/daily-report_0.1.1_1784686235804_0.8038576062935365","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@aiquants/daily-report","version":"0.2.0","keywords":["daily-report","react-router","drizzle","mssql","sse","virtual-scroll","typescript"],"author":"AI Quants","license":"MIT","_id":"@aiquants/daily-report@0.2.0","maintainers":[{"name":"fehde-k","email":"owner@aiquants.co.jp"},{"name":"fehde","email":"genbu0498@gmail.com"}],"dist":{"shasum":"82aa7dfc7fee282d0fb8d5941def341b52618e94","tarball":"https://registry.npmjs.org/@aiquants/daily-report/-/daily-report-0.2.0.tgz","fileCount":73,"integrity":"sha512-EFQFAdWa7/wyi98IgvYjiTIaghPK+deo3v0rxbz6p8DfDNW+7zzXGJySWmQSQw2dKhCw6MwOCyNpT9xHhp0leg==","signatures":[{"sig":"MEQCICnMIjCtdUxHyqekzUoXopiF+ilhZmbCb+KbTOIotmOiAiAIZOpR5yl7vmyCjMvfivgup8MA64nM/YDkbBNG2OU9bQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1964521},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.mjs","require":"./dist/client.js"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.mjs","require":"./dist/server.js"}},"scripts":{"dev":"tsup --watch","lint":"biome lint src/","test":"vitest run","build":"tsup","check":"biome check src/","clean":"rimraf dist","check:fix":"biome check --write src/","typecheck":"tsc --noEmit","build:watch":"tsup --watch","publish:major":"pnpm version major --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:minor":"pnpm version minor --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:patch":"pnpm version patch --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"fehde","email":"genbu0498@gmail.com"},"description":"Reusable daily-report feature package: shared types/schemas, React (Router v7) UI with virtual scrolling + optimistic updates + SSE sync, and a drizzle (mssql) server layer with DI ports (auth, user resolution, redis, external sources).","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"clsx":"^2.1.1","lucide-react":"^0.561.0","tailwind-merge":"^3.5.0","@heroicons/react":"^2.2.0","@radix-ui/react-slot":"^1.2.4","@radix-ui/react-tabs":"^1.1.13","@radix-ui/react-label":"^2.1.8","@radix-ui/react-switch":"^1.2.6","class-variance-authority":"^0.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.25.76","tsup":"^8.5.1","jsdom":"^27.4.0","react":"^19.2.7","rimraf":"^6.1.2","vitest":"^4.1.8","react-dom":"^19.2.7","typescript":"^5.9.3","@types/node":"^25.9.1","drizzle-orm":"1.0.0-rc.4","@types/react":"^19.2.7","react-router":"^7.13.0","@testing-library/react":"^16.3.2","@aiquants/swipe-overlay":"1.2.3","@aiquants/virtualscroll":"1.18.3","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"zod":">=3.25.0 <5.0.0","react":">=18","react-dom":">=18","drizzle-orm":">=1.0.0-beta.4 <2.0.0","react-router":"^7.0.0","@aiquants/swipe-overlay":"^1.2.3","@aiquants/virtualscroll":"^1.18.3"},"peerDependenciesMeta":{"drizzle-orm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/daily-report_0.2.0_1784695365958_0.5549153493529599","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@aiquants/daily-report","version":"0.3.0","keywords":["daily-report","react-router","drizzle","mssql","sse","virtual-scroll","typescript"],"author":"AI Quants","license":"MIT","_id":"@aiquants/daily-report@0.3.0","maintainers":[{"name":"fehde-k","email":"owner@aiquants.co.jp"},{"name":"fehde","email":"genbu0498@gmail.com"}],"dist":{"shasum":"0bf488fb29110e9d92021248544bf7313f6bb741","tarball":"https://registry.npmjs.org/@aiquants/daily-report/-/daily-report-0.3.0.tgz","fileCount":73,"integrity":"sha512-aEtpov8ODSJUYD3HlgA+KtNGQ1jhZcLY3ZqBkHTZ3u5z3uEL/93odoVdumhjbi/BkSYAoilinaLpURKOAGa7Vw==","signatures":[{"sig":"MEUCIGCedfVYfSMapmyZq+OFqLgLMcl8TNHfTHqlHQw/+s23AiEAgYxx7IhOFA3TNm/fFW0yAJHTwstR072Ydy3esV5FGEM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1965487},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.mjs","require":"./dist/client.js"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.mjs","require":"./dist/server.js"}},"scripts":{"dev":"tsup --watch","lint":"biome lint src/","test":"vitest run","build":"tsup","check":"biome check src/","clean":"rimraf dist","check:fix":"biome check --write src/","typecheck":"tsc --noEmit","build:watch":"tsup --watch","publish:major":"pnpm version major --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:minor":"pnpm version minor --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:patch":"pnpm version patch --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"fehde","email":"genbu0498@gmail.com"},"description":"Reusable daily-report feature package: shared types/schemas, React (Router v7) UI with virtual scrolling + optimistic updates + SSE sync, and a drizzle (mssql) server layer with DI ports (auth, user resolution, redis, external sources).","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"clsx":"^2.1.1","lucide-react":"^0.561.0","tailwind-merge":"^3.5.0","@heroicons/react":"^2.2.0","@radix-ui/react-slot":"^1.2.4","@radix-ui/react-tabs":"^1.1.13","@radix-ui/react-label":"^2.1.8","@radix-ui/react-switch":"^1.2.6","class-variance-authority":"^0.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.25.76","tsup":"^8.5.1","jsdom":"^27.4.0","react":"^19.2.7","rimraf":"^6.1.2","vitest":"^4.1.8","react-dom":"^19.2.7","typescript":"^5.9.3","@types/node":"^25.9.1","drizzle-orm":"1.0.0-rc.4","@types/react":"^19.2.7","react-router":"^7.13.0","@testing-library/react":"^16.3.2","@aiquants/swipe-overlay":"1.2.3","@aiquants/virtualscroll":"1.18.3","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"zod":">=3.25.0 <5.0.0","react":">=18","react-dom":">=18","drizzle-orm":">=1.0.0-beta.4 <2.0.0","react-router":"^7.0.0","@aiquants/swipe-overlay":"^1.2.3","@aiquants/virtualscroll":"^1.18.3"},"peerDependenciesMeta":{"drizzle-orm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/daily-report_0.3.0_1784710733839_0.40317550339370767","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@aiquants/daily-report","version":"0.3.1","keywords":["daily-report","react-router","drizzle","mssql","sse","virtual-scroll","typescript"],"author":"AI Quants","license":"MIT","_id":"@aiquants/daily-report@0.3.1","maintainers":[{"name":"fehde-k","email":"owner@aiquants.co.jp"},{"name":"fehde","email":"genbu0498@gmail.com"}],"dist":{"shasum":"fe826179daa3a60292f23f0eefad699103614f6f","tarball":"https://registry.npmjs.org/@aiquants/daily-report/-/daily-report-0.3.1.tgz","fileCount":74,"integrity":"sha512-cPLgseONPm7z7OK1Lab07SicbASZb7C8MQbnmyifjCckgC2IuFIyTON7PGr/+W9ZOYOMHTkGpHGN/oMH7v310Q==","signatures":[{"sig":"MEYCIQCPXf1ESMS2Ou73/4lLT/tnE7Vitis2gzHHmjSp2K0AbgIhAP+osV6BUc+i8TxOc0v4ewKFSc3tmttcM6sjMvpA7mIb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1970893},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.mjs","require":"./dist/client.js"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.mjs","require":"./dist/server.js"}},"scripts":{"dev":"tsup --watch","lint":"biome lint src/","test":"vitest run","build":"tsup","check":"biome check src/","clean":"rimraf dist","check:fix":"biome check --write src/","typecheck":"tsc --noEmit","build:watch":"tsup --watch","publish:major":"pnpm version major --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:minor":"pnpm version minor --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:patch":"pnpm version patch --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"fehde","email":"genbu0498@gmail.com"},"description":"Reusable daily-report feature package: shared types/schemas, React (Router v7) UI with virtual scrolling + optimistic updates + SSE sync, and a drizzle (mssql) server layer with DI ports (auth, user resolution, redis, external sources).","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"clsx":"^2.1.1","lucide-react":"^0.561.0","tailwind-merge":"^3.5.0","@heroicons/react":"^2.2.0","@radix-ui/react-slot":"^1.2.4","@radix-ui/react-tabs":"^1.1.13","@radix-ui/react-label":"^2.1.8","@radix-ui/react-switch":"^1.2.6","class-variance-authority":"^0.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.25.76","tsup":"^8.5.1","jsdom":"^27.4.0","react":"^19.2.7","rimraf":"^6.1.2","vitest":"^4.1.8","react-dom":"^19.2.7","typescript":"^5.9.3","@types/node":"^25.9.1","drizzle-orm":"1.0.0-rc.4","@types/react":"^19.2.7","react-router":"^7.13.0","@testing-library/react":"^16.3.2","@aiquants/swipe-overlay":"1.2.3","@aiquants/virtualscroll":"1.18.3","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"zod":">=3.25.0 <5.0.0","react":">=18","react-dom":">=18","drizzle-orm":">=1.0.0-beta.4 <2.0.0","react-router":"^7.0.0","@aiquants/swipe-overlay":"^1.2.3","@aiquants/virtualscroll":"^1.18.3"},"peerDependenciesMeta":{"drizzle-orm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/daily-report_0.3.1_1784712759756_0.25007225537800304","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@aiquants/daily-report","version":"0.3.2","keywords":["daily-report","react-router","drizzle","mssql","sse","virtual-scroll","typescript"],"author":"AI Quants","license":"MIT","_id":"@aiquants/daily-report@0.3.2","maintainers":[{"name":"fehde-k","email":"owner@aiquants.co.jp"},{"name":"fehde","email":"genbu0498@gmail.com"}],"dist":{"shasum":"52106493882a2ecfd31b8ae769086887e17ed6ad","tarball":"https://registry.npmjs.org/@aiquants/daily-report/-/daily-report-0.3.2.tgz","fileCount":73,"integrity":"sha512-BuBvzAUz4s3aRC/SeasQHMaI4OBPENyMTzpNdgxSZ64xskwKUvzs5lSnPZ2OAZyeCZu+B5Q1UiTdPsHDJJcNwg==","signatures":[{"sig":"MEQCIHiV4dgZak6EjCwSa0FvYKpvIg4bStLV59bW9cFsPkezAiBI2VxQYN7vvjsEHVQrHPXry/HIaKL1GV4BwheK9A7RIg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1951507},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.mjs","require":"./dist/client.js"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.mjs","require":"./dist/server.js"}},"scripts":{"dev":"tsup --watch","lint":"biome lint src/","test":"vitest run","build":"tsup","check":"biome check src/","clean":"rimraf dist","check:fix":"biome check --write src/","typecheck":"tsc --noEmit","build:watch":"tsup --watch","publish:major":"pnpm run typecheck && pnpm run --if-present test && pnpm version major --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:minor":"pnpm run typecheck && pnpm run --if-present test && pnpm version minor --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:patch":"pnpm run typecheck && pnpm run --if-present test && pnpm version patch --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"fehde","email":"genbu0498@gmail.com"},"description":"Reusable daily-report feature package: shared types/schemas, React (Router v7) UI with virtual scrolling + optimistic updates + SSE sync, and a drizzle (mssql) server layer with DI ports (auth, user resolution, redis, external sources).","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"clsx":"^2.1.1","lucide-react":"^0.561.0","tailwind-merge":"^3.5.0","@heroicons/react":"^2.2.0","@radix-ui/react-slot":"^1.2.4","@radix-ui/react-tabs":"^1.1.13","@radix-ui/react-label":"^2.1.8","@radix-ui/react-switch":"^1.2.6","class-variance-authority":"^0.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.25.76","tsup":"^8.5.1","jsdom":"^27.4.0","react":"^19.2.7","rimraf":"^6.1.2","vitest":"^4.1.8","react-dom":"^19.2.7","typescript":"^5.9.3","@types/node":"^25.9.1","drizzle-orm":"1.0.0-rc.4","@types/react":"^19.2.7","react-router":"^7.13.0","@testing-library/react":"^16.3.2","@aiquants/swipe-overlay":"1.2.4","@aiquants/virtualscroll":"1.18.5","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"zod":">=3.25.0 <5.0.0","react":">=18","react-dom":">=18","drizzle-orm":">=1.0.0-beta.4 <2.0.0","react-router":"^7.0.0","@aiquants/swipe-overlay":"^1.2.4","@aiquants/virtualscroll":"^1.18.5"},"peerDependenciesMeta":{"drizzle-orm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/daily-report_0.3.2_1784773496550_0.34663162202004494","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@aiquants/daily-report","version":"0.4.0","keywords":["daily-report","react-router","drizzle","mssql","sse","virtual-scroll","typescript"],"author":"AI Quants","license":"MIT","_id":"@aiquants/daily-report@0.4.0","maintainers":[{"name":"fehde-k","email":"owner@aiquants.co.jp"},{"name":"fehde","email":"genbu0498@gmail.com"}],"dist":{"shasum":"8e1eb8dfcbcbeba2c3ce8d060ac7c007812109d5","tarball":"https://registry.npmjs.org/@aiquants/daily-report/-/daily-report-0.4.0.tgz","fileCount":75,"integrity":"sha512-EhW9TF5YEDF77w58rpxe8xsyr90DEU4Vl3mQyreipTPkqGz7mYtM2/q59v3kWJs+jPCe+YHbAkBALX3RLrQ63w==","signatures":[{"sig":"MEYCIQD9+8JBhFwlhdQEJSwhwsvLrOdqASGVLaemXUPFHRjdfgIhAN2EJH9cyD8PstQRjkxi2niDPbq5z/ovWPiOiyCeNM5J","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1993132},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.mjs","require":"./dist/client.js"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.mjs","require":"./dist/server.js"},"./styles/daily-report.standalone.css":"./dist/styles/daily-report.standalone.css"},"scripts":{"dev":"tsup --watch --onSuccess \"pnpm build:css\"","lint":"biome lint src/","test":"vitest run","build":"tsup && pnpm build:css","check":"biome check src/","clean":"rimraf dist","build:css":"tailwindcss -i src/styles/standalone.entry.css -o dist/styles/daily-report.standalone.css --minify","check:fix":"biome check --write src/","typecheck":"tsc --noEmit","watch:css":"tailwindcss -i src/styles/standalone.entry.css -o dist/styles/daily-report.standalone.css --minify --watch","build:watch":"tsup --watch --onSuccess \"pnpm build:css\"","publish:major":"pnpm run typecheck && pnpm run --if-present test && pnpm version major --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:minor":"pnpm run typecheck && pnpm run --if-present test && pnpm version minor --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:patch":"pnpm run typecheck && pnpm run --if-present test && pnpm version patch --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"fehde","email":"genbu0498@gmail.com"},"description":"Reusable daily-report feature package: shared types/schemas, React (Router v7) UI with virtual scrolling + optimistic updates + SSE sync, and a drizzle (mssql) server layer with DI ports (auth, user resolution, redis, external sources).","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"26.0.0","dependencies":{"clsx":"^2.1.1","lucide-react":"^0.561.0","tailwind-merge":"^3.5.0","@heroicons/react":"^2.2.0","@radix-ui/react-slot":"^1.2.4","@radix-ui/react-tabs":"^1.1.13","@radix-ui/react-label":"^2.1.8","@radix-ui/react-switch":"^1.2.6","class-variance-authority":"^0.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.25.76","tsup":"^8.5.1","jsdom":"^27.4.0","react":"^19.2.7","rimraf":"^6.1.2","vitest":"^4.1.8","react-dom":"^19.2.7","typescript":"^5.9.3","@types/node":"^25.9.1","drizzle-orm":"1.0.0-rc.4","tailwindcss":"^4.1.18","@types/react":"^19.2.7","react-router":"^7.13.0","@tailwindcss/cli":"^4.1.18","tailwindcss-animate":"^1.0.7","@testing-library/react":"^16.3.2","@aiquants/swipe-overlay":"1.2.4","@aiquants/virtualscroll":"1.19.0","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"zod":">=3.25.0 <5.0.0","react":">=18","react-dom":">=18","drizzle-orm":">=1.0.0-beta.4 <2.0.0","react-router":"^7.0.0","@aiquants/swipe-overlay":"^1.2.4","@aiquants/virtualscroll":"^1.19.0"},"peerDependenciesMeta":{"drizzle-orm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/daily-report_0.4.0_1784848692882_0.7776414649072572","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@aiquants/daily-report","version":"0.4.2","keywords":["daily-report","react-router","drizzle","mssql","sse","virtual-scroll","typescript"],"author":"AI Quants","license":"MIT","_id":"@aiquants/daily-report@0.4.2","maintainers":[{"name":"fehde-k","email":"owner@aiquants.co.jp"},{"name":"fehde","email":"genbu0498@gmail.com"}],"dist":{"shasum":"ac0d0e5c50588f050b8b45edfd49d850bd6686a9","tarball":"https://registry.npmjs.org/@aiquants/daily-report/-/daily-report-0.4.2.tgz","fileCount":75,"integrity":"sha512-E986k0bA9J7oGkuEYISoQV9Le+R1/E1ETph1nZt1sGbMPAUrL4QX0zz7SitxPfETqqiKTCH87pTBymYdTA+Bgw==","signatures":[{"sig":"MEUCIQD2YQSIok/j+r7ivkbOh0+5dHLyMSC0LZzLuvKS9Pt0XQIgQVZT3W8YG0by60JGDQENIHQ3Rjf+D9YFXU7BejTSoRo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1996785},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.mjs","require":"./dist/client.js"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.mjs","require":"./dist/server.js"},"./styles/daily-report.standalone.css":"./dist/styles/daily-report.standalone.css"},"scripts":{"dev":"tsup --watch --onSuccess \"pnpm build:css\"","lint":"biome lint src/","test":"vitest run","build":"tsup && pnpm build:css","check":"biome check src/","clean":"rimraf dist","build:css":"tailwindcss -i src/styles/standalone.entry.css -o dist/styles/daily-report.standalone.css --minify","check:fix":"biome check --write src/","typecheck":"tsc --noEmit","watch:css":"tailwindcss -i src/styles/standalone.entry.css -o dist/styles/daily-report.standalone.css --minify --watch","build:watch":"tsup --watch --onSuccess \"pnpm build:css\"","publish:major":"pnpm run typecheck && pnpm run --if-present test && pnpm version major --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:minor":"pnpm run typecheck && pnpm run --if-present test && pnpm version minor --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:patch":"pnpm run typecheck && pnpm run --if-present test && pnpm version patch --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"fehde","email":"genbu0498@gmail.com"},"description":"Reusable daily-report feature package: shared types/schemas, React (Router v7) UI with virtual scrolling + optimistic updates + SSE sync, and a drizzle (mssql) server layer with DI ports (auth, user resolution, redis, external sources).","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"26.0.0","dependencies":{"clsx":"^2.1.1","lucide-react":"^0.561.0","tailwind-merge":"^3.5.0","@heroicons/react":"^2.2.0","@radix-ui/react-slot":"^1.2.4","@radix-ui/react-tabs":"^1.1.13","@radix-ui/react-label":"^2.1.8","@radix-ui/react-switch":"^1.2.6","class-variance-authority":"^0.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.25.76","tsup":"^8.5.1","jsdom":"^27.4.0","react":"^19.2.7","rimraf":"^6.1.2","vitest":"^4.1.8","react-dom":"^19.2.7","typescript":"^5.9.3","@types/node":"^25.9.1","drizzle-orm":"1.0.0-rc.4","tailwindcss":"^4.1.18","@types/react":"^19.2.7","react-router":"^7.13.0","@tailwindcss/cli":"^4.1.18","tailwindcss-animate":"^1.0.7","@testing-library/react":"^16.3.2","@aiquants/swipe-overlay":"1.2.4","@aiquants/virtualscroll":"1.19.1","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"zod":">=3.25.0 <5.0.0","react":">=18","react-dom":">=18","drizzle-orm":">=1.0.0-beta.4 <2.0.0","react-router":"^7.0.0","@aiquants/swipe-overlay":"^1.2.4","@aiquants/virtualscroll":"^1.19.1"},"peerDependenciesMeta":{"drizzle-orm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/daily-report_0.4.2_1784872873818_0.3419626135857854","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@aiquants/daily-report","version":"0.5.0","keywords":["daily-report","react-router","drizzle","mssql","sse","virtual-scroll","typescript"],"author":"AI Quants","license":"MIT","_id":"@aiquants/daily-report@0.5.0","maintainers":[{"name":"fehde-k","email":"owner@aiquants.co.jp"},{"name":"fehde","email":"genbu0498@gmail.com"}],"dist":{"shasum":"3e91ba2dd98bd9d8fb6513d92891cc75c6e6024f","tarball":"https://registry.npmjs.org/@aiquants/daily-report/-/daily-report-0.5.0.tgz","fileCount":76,"integrity":"sha512-lOAk2hLf6t2bQHkTMhaq8G8uwmau05P1QxrWXuojqLA8aIVjVUzP83bUoVyoW8F83LV5zkf2bzZXQIzR0VDBwg==","signatures":[{"sig":"MEYCIQCnEP3J/qT2w6ubuAX5Ed/vCHBbpJsw8/r3tBoxgqBYpAIhAKdvn3JtJfDN7v5pra4x8NHOXce5dU3Mz8I8531hD9ch","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2058764},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.mjs","require":"./dist/client.js"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.mjs","require":"./dist/server.js"},"./styles/daily-report.standalone.css":"./dist/styles/daily-report.standalone.css"},"scripts":{"dev":"tsup --watch --onSuccess \"pnpm build:css\"","lint":"biome lint src/","test":"vitest run","build":"tsup && pnpm build:css","check":"biome check src/","clean":"rimraf dist","build:css":"tailwindcss -i src/styles/standalone.entry.css -o dist/styles/daily-report.standalone.css --minify","check:fix":"biome check --write src/","typecheck":"tsc --noEmit","watch:css":"tailwindcss -i src/styles/standalone.entry.css -o dist/styles/daily-report.standalone.css --minify --watch","build:watch":"tsup --watch --onSuccess \"pnpm build:css\"","publish:major":"pnpm run typecheck && pnpm run --if-present test && pnpm version major --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:minor":"pnpm run typecheck && pnpm run --if-present test && pnpm version minor --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:patch":"pnpm run typecheck && pnpm run --if-present test && pnpm version patch --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"fehde","email":"genbu0498@gmail.com"},"description":"Reusable daily-report feature package: shared types/schemas, React (Router v7) UI with virtual scrolling + optimistic updates + SSE sync, and a drizzle (mssql) server layer with DI ports (auth, user resolution, redis, external sources).","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"26.0.0","dependencies":{"clsx":"^2.1.1","lucide-react":"^0.561.0","tailwind-merge":"^3.5.0","@heroicons/react":"^2.2.0","@radix-ui/react-slot":"^1.2.4","@radix-ui/react-tabs":"^1.1.13","@radix-ui/react-label":"^2.1.8","@radix-ui/react-switch":"^1.2.6","class-variance-authority":"^0.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.25.76","tsup":"^8.5.1","jsdom":"^27.4.0","react":"^19.2.7","rimraf":"^6.1.2","vitest":"^4.1.8","react-dom":"^19.2.7","typescript":"^5.9.3","@types/node":"^25.9.1","drizzle-orm":"1.0.0-rc.4","tailwindcss":"^4.1.18","@types/react":"^19.2.7","react-router":"^7.13.0","@tailwindcss/cli":"^4.1.18","tailwindcss-animate":"^1.0.7","@testing-library/react":"^16.3.2","@aiquants/swipe-overlay":"1.2.4","@aiquants/virtualscroll":"1.19.1","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"zod":">=3.25.0 <5.0.0","react":">=18","react-dom":">=18","drizzle-orm":">=1.0.0-beta.4 <2.0.0","react-router":"^7.0.0","@aiquants/swipe-overlay":"^1.2.4","@aiquants/virtualscroll":"^1.19.1"},"peerDependenciesMeta":{"drizzle-orm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/daily-report_0.5.0_1784958074110_0.6159834992782158","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@aiquants/daily-report","version":"0.6.0","keywords":["daily-report","react-router","drizzle","mssql","sse","virtual-scroll","typescript"],"author":"AI Quants","license":"MIT","_id":"@aiquants/daily-report@0.6.0","maintainers":[{"name":"fehde-k","email":"owner@aiquants.co.jp"},{"name":"fehde","email":"genbu0498@gmail.com"}],"dist":{"shasum":"2f55519f0b2236515b6bdeae422bb7ffe613b4c6","tarball":"https://registry.npmjs.org/@aiquants/daily-report/-/daily-report-0.6.0.tgz","fileCount":76,"integrity":"sha512-Rqximhmyo66o5oaP+BcY3UyY8q2bOX+50BtSZnzr6DpyVwB6VasHZu1Ni2iXtvJKt9tuaHHMuhUDABcFVZi3EQ==","signatures":[{"sig":"MEYCIQCjkLwsXdnYtdht7mJVytb0+Wr0YKDxHynm9cYehl67kwIhAOl+U5gEKiaXcf7AnzlCYfCAjXtTaCBVQsQtBDxayzHU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2098076},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.mjs","require":"./dist/client.js"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.mjs","require":"./dist/server.js"},"./styles/daily-report.standalone.css":"./dist/styles/daily-report.standalone.css"},"scripts":{"dev":"tsup --watch --onSuccess \"pnpm build:css\"","lint":"biome lint src/","test":"vitest run","build":"tsup && pnpm build:css","check":"biome check src/","clean":"rimraf dist","build:css":"tailwindcss -i src/styles/standalone.entry.css -o dist/styles/daily-report.standalone.css --minify","check:fix":"biome check --write src/","typecheck":"tsc --noEmit","watch:css":"tailwindcss -i src/styles/standalone.entry.css -o dist/styles/daily-report.standalone.css --minify --watch","build:watch":"tsup --watch --onSuccess \"pnpm build:css\"","publish:major":"pnpm run typecheck && pnpm run --if-present test && pnpm version major --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:minor":"pnpm run typecheck && pnpm run --if-present test && pnpm version minor --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:patch":"pnpm run typecheck && pnpm run --if-present test && pnpm version patch --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"fehde","email":"genbu0498@gmail.com"},"description":"Reusable daily-report feature package: shared types/schemas, React (Router v7) UI with virtual scrolling + optimistic updates + SSE sync, and a drizzle (mssql) server layer with DI ports (auth, user resolution, redis, external sources).","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"26.0.0","dependencies":{"clsx":"^2.1.1","lucide-react":"^0.561.0","tailwind-merge":"^3.5.0","@heroicons/react":"^2.2.0","@radix-ui/react-slot":"^1.2.4","@radix-ui/react-tabs":"^1.1.13","@radix-ui/react-label":"^2.1.8","@radix-ui/react-switch":"^1.2.6","class-variance-authority":"^0.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.25.76","tsup":"^8.5.1","jsdom":"^27.4.0","react":"^19.2.7","rimraf":"^6.1.2","vitest":"^4.1.8","react-dom":"^19.2.7","typescript":"^5.9.3","@types/node":"^25.9.1","drizzle-orm":"1.0.0-rc.4","tailwindcss":"^4.1.18","@types/react":"^19.2.7","react-router":"^7.13.0","@tailwindcss/cli":"^4.1.18","tailwindcss-animate":"^1.0.7","@testing-library/react":"^16.3.2","@aiquants/swipe-overlay":"1.2.4","@aiquants/virtualscroll":"1.19.1","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"zod":">=3.25.0 <5.0.0","react":">=18","react-dom":">=18","drizzle-orm":">=1.0.0-beta.4 <2.0.0","react-router":"^7.0.0","@aiquants/swipe-overlay":"^1.2.4","@aiquants/virtualscroll":"^1.19.1"},"peerDependenciesMeta":{"drizzle-orm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/daily-report_0.6.0_1784962854482_0.21810329424341046","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@aiquants/daily-report","version":"0.6.1","keywords":["daily-report","react-router","drizzle","mssql","sse","virtual-scroll","typescript"],"author":"AI Quants","license":"MIT","_id":"@aiquants/daily-report@0.6.1","maintainers":[{"name":"fehde-k","email":"owner@aiquants.co.jp"},{"name":"fehde","email":"genbu0498@gmail.com"}],"dist":{"shasum":"8b866e594232225383b87a0b62829f38c1073097","tarball":"https://registry.npmjs.org/@aiquants/daily-report/-/daily-report-0.6.1.tgz","fileCount":78,"integrity":"sha512-5GMZLbOtSdt27HdK98ubA8YvZxlDxcbEPVkGONF71+ojIjrviLcwL5W4Vmqczg7wACKHQ3oMLSmIS1zKYxVQYQ==","signatures":[{"sig":"MEMCHwXv/hdNlcyemlRP/gEDokGXtSC19Kht17pG2XX4BAMCICyb6hsuA3seYDNnyMvgMwwHreZFwXjkVUuTuQAQXRYE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2141640},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.mjs","require":"./dist/client.js"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.mjs","require":"./dist/server.js"},"./styles/daily-report.standalone.css":"./dist/styles/daily-report.standalone.css"},"scripts":{"dev":"tsup --watch --onSuccess \"pnpm build:css\"","lint":"biome lint src/","test":"vitest run","build":"tsup && pnpm build:css","check":"biome check src/","clean":"rimraf dist","build:css":"tailwindcss -i src/styles/standalone.entry.css -o dist/styles/daily-report.standalone.css --minify","check:fix":"biome check --write src/","typecheck":"tsc --noEmit","watch:css":"tailwindcss -i src/styles/standalone.entry.css -o dist/styles/daily-report.standalone.css --minify --watch","build:watch":"tsup --watch --onSuccess \"pnpm build:css\"","publish:major":"pnpm run typecheck && pnpm run --if-present test && pnpm version major --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:minor":"pnpm run typecheck && pnpm run --if-present test && pnpm version minor --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:patch":"pnpm run typecheck && pnpm run --if-present test && pnpm version patch --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"fehde","email":"genbu0498@gmail.com"},"description":"Reusable daily-report feature package: shared types/schemas, React (Router v7) UI with virtual scrolling + optimistic updates + SSE sync, and a drizzle (mssql) server layer with DI ports (auth, user resolution, redis, external sources).","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"26.0.0","dependencies":{"clsx":"^2.1.1","lucide-react":"^0.561.0","tailwind-merge":"^3.5.0","@heroicons/react":"^2.2.0","@radix-ui/react-slot":"^1.2.4","@radix-ui/react-tabs":"^1.1.13","@radix-ui/react-label":"^2.1.8","@radix-ui/react-switch":"^1.2.6","class-variance-authority":"^0.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.25.76","tsup":"^8.5.1","jsdom":"^27.4.0","react":"^19.2.7","rimraf":"^6.1.2","vitest":"^4.1.8","react-dom":"^19.2.7","typescript":"^5.9.3","@types/node":"^25.9.1","drizzle-orm":"1.0.0-rc.4","tailwindcss":"^4.1.18","@types/react":"^19.2.7","react-router":"^7.13.0","@tailwindcss/cli":"^4.1.18","tailwindcss-animate":"^1.0.7","@testing-library/react":"^16.3.2","@aiquants/swipe-overlay":"1.2.4","@aiquants/virtualscroll":"1.19.2","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"zod":">=3.25.0 <5.0.0","react":">=18","react-dom":">=18","drizzle-orm":">=1.0.0-beta.4 <2.0.0","react-router":"^7.0.0","@aiquants/swipe-overlay":"^1.2.4","@aiquants/virtualscroll":"^1.19.2"},"peerDependenciesMeta":{"drizzle-orm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/daily-report_0.6.1_1785109594539_0.5899660211521351","host":"s3://npm-registry-packages-npm-production"}},"0.6.2":{"name":"@aiquants/daily-report","version":"0.6.2","keywords":["daily-report","react-router","drizzle","mssql","sse","virtual-scroll","typescript"],"author":"AI Quants","license":"MIT","_id":"@aiquants/daily-report@0.6.2","maintainers":[{"name":"fehde-k","email":"owner@aiquants.co.jp"},{"name":"fehde","email":"genbu0498@gmail.com"}],"dist":{"shasum":"02f6eef39ac816401aa618257412ab440746e3c5","tarball":"https://registry.npmjs.org/@aiquants/daily-report/-/daily-report-0.6.2.tgz","fileCount":78,"integrity":"sha512-fkkUkyAxt/Si3BZdnXyubPeCyxgJ6gpTC5NxfCa/Mm7G8J/xm1Jy/bX6Of5HH/K40hQaH5f2pQw76EwirBakFQ==","signatures":[{"sig":"MEQCIErnxCgk2XMDWaIGCN/WEbKUwf/cPbg49nV9DmZfK09XAiAPAfriXpAY55w1Aubqsy/ADjMSOI785dNKmK/9kQz2bA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2141640},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.mjs","require":"./dist/client.js"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.mjs","require":"./dist/server.js"},"./styles/daily-report.standalone.css":"./dist/styles/daily-report.standalone.css"},"scripts":{"dev":"tsup --watch --onSuccess \"pnpm build:css\"","lint":"biome lint src/","test":"vitest run","build":"tsup && pnpm build:css","check":"biome check src/","clean":"rimraf dist","build:css":"tailwindcss -i src/styles/standalone.entry.css -o dist/styles/daily-report.standalone.css --minify","check:fix":"biome check --write src/","typecheck":"tsc --noEmit","watch:css":"tailwindcss -i src/styles/standalone.entry.css -o dist/styles/daily-report.standalone.css --minify --watch","build:watch":"tsup --watch --onSuccess \"pnpm build:css\"","publish:major":"pnpm run typecheck && pnpm run --if-present test && pnpm version major --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:minor":"pnpm run typecheck && pnpm run --if-present test && pnpm version minor --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:patch":"pnpm run typecheck && pnpm run --if-present test && pnpm version patch --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"fehde","email":"genbu0498@gmail.com"},"description":"Reusable daily-report feature package: shared types/schemas, React (Router v7) UI with virtual scrolling + optimistic updates + SSE sync, and a drizzle (mssql) server layer with DI ports (auth, user resolution, redis, external sources).","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"26.0.0","dependencies":{"clsx":"^2.1.1","lucide-react":"^0.561.0","tailwind-merge":"^3.5.0","@heroicons/react":"^2.2.0","@radix-ui/react-slot":"^1.2.4","@radix-ui/react-tabs":"^1.1.13","@radix-ui/react-label":"^2.1.8","@radix-ui/react-switch":"^1.2.6","class-variance-authority":"^0.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.25.76","tsup":"^8.5.1","jsdom":"^27.4.0","react":"^19.2.7","rimraf":"^6.1.2","vitest":"^4.1.8","react-dom":"^19.2.7","typescript":"^5.9.3","@types/node":"^25.9.1","drizzle-orm":"1.0.0-rc.4","tailwindcss":"^4.1.18","@types/react":"^19.2.7","react-router":"^7.13.0","@tailwindcss/cli":"^4.1.18","tailwindcss-animate":"^1.0.7","@testing-library/react":"^16.3.2","@aiquants/swipe-overlay":"1.2.4","@aiquants/virtualscroll":"1.19.3","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"zod":">=3.25.0 <5.0.0","react":">=18","react-dom":">=18","drizzle-orm":">=1.0.0-beta.4 <2.0.0","react-router":"^7.0.0","@aiquants/swipe-overlay":"^1.2.4","@aiquants/virtualscroll":"^1.19.3"},"peerDependenciesMeta":{"drizzle-orm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/daily-report_0.6.2_1785110087782_0.6966858427511711","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@aiquants/daily-report","version":"0.7.0","keywords":["daily-report","react-router","drizzle","mssql","sse","virtual-scroll","typescript"],"author":"AI Quants","license":"MIT","_id":"@aiquants/daily-report@0.7.0","maintainers":[{"name":"fehde-k","email":"owner@aiquants.co.jp"},{"name":"fehde","email":"genbu0498@gmail.com"}],"dist":{"shasum":"0c1fb0c9a2727749f01adc519df284d3920864b5","tarball":"https://registry.npmjs.org/@aiquants/daily-report/-/daily-report-0.7.0.tgz","fileCount":89,"integrity":"sha512-6V4tZ9WbXD0wKUhEl9bDl1Vhjghm9VfQf3HpS6/ZwxZ0PsAOIT5ufs8UxAGVGyWzyPBdCySk7nGcvc/HyIM8Gw==","signatures":[{"sig":"MEUCIQCVnmFHg2YGZszlWZVxh3WlKeG8FoYGD7T7WC7uQ46TxgIgXvRoJgK0FLmAqigy43DT5QtVzgvea+6B/OcBGRPjo1E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2577945},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.mjs","require":"./dist/client.js"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.mjs","require":"./dist/server.js"},"./styles/daily-report.standalone.css":"./dist/styles/daily-report.standalone.css"},"scripts":{"dev":"tsup --watch --onSuccess \"pnpm build:css\"","lint":"biome lint src/","test":"vitest run","build":"tsup && pnpm build:css","check":"biome check src/","clean":"rimraf dist","build:css":"tailwindcss -i src/styles/standalone.entry.css -o dist/styles/daily-report.standalone.css --minify","check:fix":"biome check --write src/","typecheck":"tsc --noEmit","watch:css":"tailwindcss -i src/styles/standalone.entry.css -o dist/styles/daily-report.standalone.css --minify --watch","build:watch":"tsup --watch --onSuccess \"pnpm build:css\"","publish:major":"pnpm run typecheck && pnpm run --if-present test && pnpm version major --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:minor":"pnpm run typecheck && pnpm run --if-present test && pnpm version minor --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:patch":"pnpm run typecheck && pnpm run --if-present test && pnpm version patch --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"fehde","email":"genbu0498@gmail.com"},"description":"Reusable daily-report feature package: shared types/schemas, React (Router v7) UI with virtual scrolling + optimistic updates + SSE sync, and a drizzle (mssql) server layer with DI ports (auth, user resolution, redis, external sources).","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"26.0.0","dependencies":{"clsx":"^2.1.1","lucide-react":"^0.561.0","tailwind-merge":"^3.5.0","@heroicons/react":"^2.2.0","@radix-ui/react-slot":"^1.2.4","@radix-ui/react-tabs":"^1.1.13","@radix-ui/react-label":"^2.1.8","@radix-ui/react-switch":"^1.2.6","class-variance-authority":"^0.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.25.76","tsup":"^8.5.1","jsdom":"^27.4.0","react":"^19.2.7","rimraf":"^6.1.2","vitest":"^4.1.8","react-dom":"^19.2.7","typescript":"^5.9.3","@types/node":"^25.9.1","drizzle-orm":"1.0.0-rc.4","tailwindcss":"^4.1.18","@types/react":"^19.2.7","react-router":"^7.13.0","@tailwindcss/cli":"^4.1.18","tailwindcss-animate":"^1.0.7","@testing-library/react":"^16.3.2","@aiquants/swipe-overlay":"1.2.4","@aiquants/virtualscroll":"1.22.0","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"zod":">=3.25.0 <5.0.0","react":">=18","react-dom":">=18","drizzle-orm":">=1.0.0-beta.4 <2.0.0","react-router":"^7.0.0","@aiquants/swipe-overlay":"^1.2.4","@aiquants/virtualscroll":"^1.22.0"},"peerDependenciesMeta":{"drizzle-orm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/daily-report_0.7.0_1785811617878_0.14441589269769306","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@aiquants/daily-report","version":"0.8.0","keywords":["daily-report","react-router","drizzle","mssql","sse","virtual-scroll","typescript"],"author":"AI Quants","license":"MIT","_id":"@aiquants/daily-report@0.8.0","maintainers":[{"name":"fehde-k","email":"owner@aiquants.co.jp"},{"name":"fehde","email":"genbu0498@gmail.com"}],"dist":{"shasum":"90d61c59d8cc760a7ac339f5e1db19f261061dfb","tarball":"https://registry.npmjs.org/@aiquants/daily-report/-/daily-report-0.8.0.tgz","fileCount":102,"integrity":"sha512-jhH6W+xdQK5IVCzgdGA4WXcWF7Z5P1uewcBBfFZOvfD8Krnu2FcmwVpI04N57Fe0H9RjoRhtUyqYyxGcQf26QA==","signatures":[{"sig":"MEUCIQCph6TTnMCLiFz1qSjhTAhl+cr1ByhDYgmLsj5Bd30YXgIgOTT/9wuy96bhdM9uBQ2pCjdxYcIm6aWGcik0EC+ZxAA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3068776},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.mjs","require":"./dist/client.js"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.mjs","require":"./dist/server.js"},"./styles/daily-report.standalone.css":"./dist/styles/daily-report.standalone.css"},"scripts":{"dev":"tsup --watch --onSuccess \"pnpm build:css\"","lint":"biome lint src/","test":"vitest run","build":"tsup && pnpm build:css","check":"biome check src/","clean":"rimraf dist","build:css":"tailwindcss -i src/styles/standalone.entry.css -o dist/styles/daily-report.standalone.css --minify","check:fix":"biome check --write src/","typecheck":"tsc --noEmit","watch:css":"tailwindcss -i src/styles/standalone.entry.css -o dist/styles/daily-report.standalone.css --minify --watch","build:watch":"tsup --watch --onSuccess \"pnpm build:css\"","publish:major":"pnpm run typecheck && pnpm run --if-present test && pnpm version major --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:minor":"pnpm run typecheck && pnpm run --if-present test && pnpm version minor --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:patch":"pnpm run typecheck && pnpm run --if-present test && pnpm version patch --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"fehde","email":"genbu0498@gmail.com"},"description":"Reusable daily-report feature package: shared types/schemas, React (Router v7) UI with virtual scrolling + optimistic updates + SSE sync, and a drizzle (mssql) server layer with DI ports (auth, user resolution, redis, external sources).","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"26.0.0","dependencies":{"clsx":"^2.1.1","lucide-react":"^0.561.0","tailwind-merge":"^3.5.0","@heroicons/react":"^2.2.0","@radix-ui/react-slot":"^1.2.4","@radix-ui/react-tabs":"^1.1.13","@radix-ui/react-label":"^2.1.8","@radix-ui/react-switch":"^1.2.6","class-variance-authority":"^0.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.25.76","tsup":"^8.5.1","jsdom":"^27.4.0","react":"^19.2.7","rimraf":"^6.1.2","vitest":"^4.1.8","react-dom":"^19.2.7","typescript":"^5.9.3","@types/node":"^25.9.1","drizzle-orm":"1.0.0-rc.4","tailwindcss":"^4.1.18","@types/react":"^19.2.7","react-router":"^7.13.0","@tailwindcss/cli":"^4.1.18","tailwindcss-animate":"^1.0.7","@testing-library/react":"^16.3.2","@aiquants/swipe-overlay":"1.2.4","@aiquants/virtualscroll":"1.23.0","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"zod":">=3.25.0 <5.0.0","react":">=18","react-dom":">=18","drizzle-orm":">=1.0.0-beta.4 <2.0.0","react-router":"^7.0.0","@aiquants/swipe-overlay":"^1.2.4","@aiquants/virtualscroll":"^1.23.0"},"peerDependenciesMeta":{"drizzle-orm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/daily-report_0.8.0_1786153877568_0.4849657660527509","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@aiquants/daily-report","version":"0.9.0","keywords":["daily-report","react-router","drizzle","mssql","sse","virtual-scroll","typescript"],"author":"AI Quants","license":"MIT","_id":"@aiquants/daily-report@0.9.0","maintainers":[{"name":"fehde-k","email":"owner@aiquants.co.jp"},{"name":"fehde","email":"genbu0498@gmail.com"}],"dist":{"shasum":"922ab104e7d60a63c027c3c5266c82c023a9ac30","tarball":"https://registry.npmjs.org/@aiquants/daily-report/-/daily-report-0.9.0.tgz","fileCount":109,"integrity":"sha512-/kuiikzf7bq1AJAedgF3gnIM24sZg0B6rZ5ybNXH/fB4Ch0DOhJcJYWraKkIT9CbgNz9d28BCdvr7HYlNylasg==","signatures":[{"sig":"MEYCIQDO11U9Ew/D3q9uxgh387X9vviav2dTXKXsGJX4eyMS1AIhAK53DXzPzW223o7jcVF8Z1mmGB/0nE+Ziq5k9dAxjlH7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3273681},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.mjs","require":"./dist/client.js"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.mjs","require":"./dist/server.js"},"./styles/daily-report.standalone.css":"./dist/styles/daily-report.standalone.css"},"scripts":{"dev":"tsup --watch --onSuccess \"pnpm build:css\"","lint":"biome lint src/","test":"vitest run","build":"tsup && pnpm build:css","check":"biome check src/","clean":"rimraf dist","build:css":"tailwindcss -i src/styles/standalone.entry.css -o dist/styles/daily-report.standalone.css --minify","check:fix":"biome check --write src/","typecheck":"tsc --noEmit","watch:css":"tailwindcss -i src/styles/standalone.entry.css -o dist/styles/daily-report.standalone.css --minify --watch","build:watch":"tsup --watch --onSuccess \"pnpm build:css\"","publish:major":"pnpm run typecheck && pnpm run --if-present test && pnpm version major --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:minor":"pnpm run typecheck && pnpm run --if-present test && pnpm version minor --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:patch":"pnpm run typecheck && pnpm run --if-present test && pnpm version patch --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"fehde","email":"genbu0498@gmail.com"},"description":"Reusable daily-report feature package: shared types/schemas, React (Router v7) UI with virtual scrolling + optimistic updates + SSE sync, and a drizzle (mssql) server layer with DI ports (auth, user resolution, redis, external sources).","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"26.0.0","dependencies":{"clsx":"^2.1.1","lucide-react":"^0.561.0","tailwind-merge":"^3.5.0","@heroicons/react":"^2.2.0","@radix-ui/react-slot":"^1.2.4","@radix-ui/react-tabs":"^1.1.13","@radix-ui/react-label":"^2.1.8","@radix-ui/react-switch":"^1.2.6","class-variance-authority":"^0.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.25.76","tsup":"^8.5.1","jsdom":"^27.4.0","react":"^19.2.7","rimraf":"^6.1.2","vitest":"^4.1.8","react-dom":"^19.2.7","typescript":"^5.9.3","@types/node":"^25.9.1","drizzle-orm":"1.0.0-rc.4","tailwindcss":"^4.1.18","@types/react":"^19.2.7","react-router":"^7.13.0","@tailwindcss/cli":"^4.1.18","tailwindcss-animate":"^1.0.7","@testing-library/react":"^16.3.2","@aiquants/swipe-overlay":"1.2.4","@aiquants/virtualscroll":"1.23.0","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"zod":">=3.25.0 <5.0.0","react":">=18","react-dom":">=18","drizzle-orm":">=1.0.0-beta.4 <2.0.0","react-router":"^7.0.0","@aiquants/swipe-overlay":"^1.2.4","@aiquants/virtualscroll":"^1.23.0"},"peerDependenciesMeta":{"drizzle-orm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/daily-report_0.9.0_1786174982617_0.34766541255284644","host":"s3://npm-registry-packages-npm-production"}},"0.9.1":{"name":"@aiquants/daily-report","version":"0.9.1","keywords":["daily-report","react-router","drizzle","mssql","sse","virtual-scroll","typescript"],"author":"AI Quants","license":"MIT","_id":"@aiquants/daily-report@0.9.1","maintainers":[{"name":"fehde-k","email":"owner@aiquants.co.jp"},{"name":"fehde","email":"genbu0498@gmail.com"}],"dist":{"shasum":"fc303a63cf0bd867eb1a0341e1904533f0057cf2","tarball":"https://registry.npmjs.org/@aiquants/daily-report/-/daily-report-0.9.1.tgz","fileCount":109,"integrity":"sha512-Ho3osicHO7Ok9pt5eD3v44RnDjbVYjxD1RXIc7h+RjArHeeho9qx4dzv6z7ICqeUqNHC5Z/F6oCQl3MvoF7q+g==","signatures":[{"sig":"MEUCIQCyci4Lp3Ki1brsR/HqL/NwV3vF8MIt5rpqjvvXJCnvYQIgBwsLYRrachZIsVpUbjbe+lty9P20F3rS7DVfpvn7nkM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3289521},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.mjs","require":"./dist/client.js"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.mjs","require":"./dist/server.js"},"./styles/daily-report.standalone.css":"./dist/styles/daily-report.standalone.css"},"scripts":{"dev":"tsup --watch --onSuccess \"pnpm build:css\"","lint":"biome lint src/","test":"vitest run","build":"tsup && pnpm build:css","check":"biome check src/","clean":"rimraf dist","build:css":"tailwindcss -i src/styles/standalone.entry.css -o dist/styles/daily-report.standalone.css --minify","check:fix":"biome check --write src/","typecheck":"tsc --noEmit","watch:css":"tailwindcss -i src/styles/standalone.entry.css -o dist/styles/daily-report.standalone.css --minify --watch","build:watch":"tsup --watch --onSuccess \"pnpm build:css\"","publish:major":"pnpm run typecheck && pnpm run --if-present test && pnpm version major --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:minor":"pnpm run typecheck && pnpm run --if-present test && pnpm version minor --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:patch":"pnpm run typecheck && pnpm run --if-present test && pnpm version patch --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"fehde","email":"genbu0498@gmail.com"},"description":"Reusable daily-report feature package: shared types/schemas, React (Router v7) UI with virtual scrolling + optimistic updates + SSE sync, and a drizzle (mssql) server layer with DI ports (auth, user resolution, redis, external sources).","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"26.0.0","dependencies":{"clsx":"^2.1.1","lucide-react":"^0.561.0","tailwind-merge":"^3.5.0","@heroicons/react":"^2.2.0","@radix-ui/react-slot":"^1.2.4","@radix-ui/react-tabs":"^1.1.13","@radix-ui/react-label":"^2.1.8","@radix-ui/react-switch":"^1.2.6","class-variance-authority":"^0.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.25.76","tsup":"^8.5.1","jsdom":"^27.4.0","react":"^19.2.7","rimraf":"^6.1.2","vitest":"^4.1.8","react-dom":"^19.2.7","typescript":"^5.9.3","@types/node":"^25.9.1","drizzle-orm":"1.0.0-rc.4","tailwindcss":"^4.1.18","@types/react":"^19.2.7","react-router":"^7.13.0","@tailwindcss/cli":"^4.1.18","tailwindcss-animate":"^1.0.7","@testing-library/react":"^16.3.2","@aiquants/swipe-overlay":"1.2.4","@aiquants/virtualscroll":"1.23.0","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"zod":">=3.25.0 <5.0.0","react":">=18","react-dom":">=18","drizzle-orm":">=1.0.0-beta.4 <2.0.0","react-router":"^7.0.0","@aiquants/swipe-overlay":"^1.2.4","@aiquants/virtualscroll":"^1.23.0"},"peerDependenciesMeta":{"drizzle-orm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/daily-report_0.9.1_1786190261109_0.0046144172016333584","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@aiquants/daily-report","version":"0.10.0","keywords":["daily-report","react-router","drizzle","mssql","sse","virtual-scroll","typescript"],"author":"AI Quants","license":"MIT","_id":"@aiquants/daily-report@0.10.0","maintainers":[{"name":"fehde-k","email":"owner@aiquants.co.jp"},{"name":"fehde","email":"genbu0498@gmail.com"}],"dist":{"shasum":"beb6c56d384c350cc9d36cd27814d14d5a32df93","tarball":"https://registry.npmjs.org/@aiquants/daily-report/-/daily-report-0.10.0.tgz","fileCount":109,"integrity":"sha512-RGMhvTfLTsqta9OwxXuBvpb5FFtOoGuEzxDfx2VTsNw/pbkV3PXdQJ1Z+KtHqkNBKBdvQUuy075YH9FU3LkS6g==","signatures":[{"sig":"MEQCIFLfLpqmoBHllTl0zm2xqHKVOGXyqwmxG/Xayupqqt3iAiAA7AqKTsfw6aEqC7e+Y1ykzsN5Q+oohJkMLuKBFCcYtg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3374558},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.mjs","require":"./dist/client.js"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.mjs","require":"./dist/server.js"},"./styles/daily-report.standalone.css":"./dist/styles/daily-report.standalone.css"},"scripts":{"dev":"tsup --watch --onSuccess \"pnpm build:css\"","lint":"biome lint src/","test":"vitest run","build":"tsup && pnpm build:css","check":"biome check src/","clean":"rimraf dist","build:css":"tailwindcss -i src/styles/standalone.entry.css -o dist/styles/daily-report.standalone.css --minify","check:fix":"biome check --write src/","typecheck":"tsc --noEmit","watch:css":"tailwindcss -i src/styles/standalone.entry.css -o dist/styles/daily-report.standalone.css --minify --watch","build:watch":"tsup --watch --onSuccess \"pnpm build:css\"","publish:major":"pnpm run typecheck && pnpm run --if-present test && pnpm version major --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:minor":"pnpm run typecheck && pnpm run --if-present test && pnpm version minor --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:patch":"pnpm run typecheck && pnpm run --if-present test && pnpm version patch --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"fehde","email":"genbu0498@gmail.com"},"description":"Reusable daily-report feature package: shared types/schemas, React (Router v7) UI with virtual scrolling + optimistic updates + SSE sync, and a drizzle (mssql) server layer with DI ports (auth, user resolution, redis, external sources).","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"26.0.0","dependencies":{"clsx":"^2.1.1","lucide-react":"^0.561.0","tailwind-merge":"^3.5.0","@heroicons/react":"^2.2.0","@radix-ui/react-slot":"^1.2.4","@radix-ui/react-tabs":"^1.1.13","@radix-ui/react-label":"^2.1.8","@radix-ui/react-switch":"^1.2.6","class-variance-authority":"^0.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.25.76","tsup":"^8.5.1","jsdom":"^27.4.0","react":"^19.2.7","rimraf":"^6.1.2","vitest":"^4.1.8","react-dom":"^19.2.7","typescript":"^5.9.3","@types/node":"^25.9.1","drizzle-orm":"1.0.0-rc.4","tailwindcss":"^4.1.18","@types/react":"^19.2.7","react-router":"^7.13.0","@tailwindcss/cli":"^4.1.18","tailwindcss-animate":"^1.0.7","@testing-library/react":"^16.3.2","@aiquants/swipe-overlay":"1.2.4","@aiquants/virtualscroll":"1.23.0","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"zod":">=3.25.0 <5.0.0","react":">=18","react-dom":">=18","drizzle-orm":">=1.0.0-beta.4 <2.0.0","react-router":"^7.0.0","@aiquants/swipe-overlay":"^1.2.4","@aiquants/virtualscroll":"^1.23.0"},"peerDependenciesMeta":{"drizzle-orm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/daily-report_0.10.0_1786326738891_0.3903718720479197","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"@aiquants/daily-report","version":"0.11.0","keywords":["daily-report","react-router","drizzle","mssql","sse","virtual-scroll","typescript"],"author":"AI Quants","license":"MIT","_id":"@aiquants/daily-report@0.11.0","maintainers":[{"name":"fehde-k","email":"owner@aiquants.co.jp"},{"name":"fehde","email":"genbu0498@gmail.com"}],"dist":{"shasum":"0637f55ddac15523a5f50ef47874125cac2217be","tarball":"https://registry.npmjs.org/@aiquants/daily-report/-/daily-report-0.11.0.tgz","fileCount":110,"integrity":"sha512-xBjaLBy7jKo558Xc8DHmQHbabVy6+WXHxGlKK99xZhSGrBzcLkaNCXSsCNvwsTlSbQuVcpCXjEhrCNoKIcdE9g==","signatures":[{"sig":"MEUCIGldIJFYC5qwD4T4fE/MaulCs/B2gCripdcwNo1hRS8rAiEAwoJVv3W6dD71qx4uNdanvhAZHhY9asMWbcwrs7hat1Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3419910},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.mjs","require":"./dist/client.js"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.mjs","require":"./dist/server.js"},"./styles/daily-report.standalone.css":"./dist/styles/daily-report.standalone.css"},"scripts":{"dev":"tsup --watch --onSuccess \"pnpm build:css\"","lint":"biome lint src/","test":"vitest run","build":"tsup && pnpm build:css","check":"biome check src/","clean":"rimraf dist","build:css":"tailwindcss -i src/styles/standalone.entry.css -o dist/styles/daily-report.standalone.css --minify","check:fix":"biome check --write src/","typecheck":"tsc --noEmit","watch:css":"tailwindcss -i src/styles/standalone.entry.css -o dist/styles/daily-report.standalone.css --minify --watch","build:watch":"tsup --watch --onSuccess \"pnpm build:css\"","publish:major":"pnpm run typecheck && pnpm run --if-present test && pnpm version major --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:minor":"pnpm run typecheck && pnpm run --if-present test && pnpm version minor --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:patch":"pnpm run typecheck && pnpm run --if-present test && pnpm version patch --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"fehde","email":"genbu0498@gmail.com"},"description":"Reusable daily-report feature package: shared types/schemas, React (Router v7) UI with virtual scrolling + optimistic updates + SSE sync, and a drizzle (mssql) server layer with DI ports (auth, user resolution, redis, external sources).","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"26.0.0","dependencies":{"clsx":"^2.1.1","lucide-react":"^0.561.0","tailwind-merge":"^3.5.0","@heroicons/react":"^2.2.0","@radix-ui/react-slot":"^1.2.4","@radix-ui/react-tabs":"^1.1.13","@radix-ui/react-label":"^2.1.8","@radix-ui/react-switch":"^1.2.6","class-variance-authority":"^0.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.25.76","tsup":"^8.5.1","jsdom":"^27.4.0","react":"^19.2.7","rimraf":"^6.1.2","vitest":"^4.1.8","react-dom":"^19.2.7","typescript":"^5.9.3","@types/node":"^25.9.1","drizzle-orm":"1.0.0-rc.4","tailwindcss":"^4.1.18","@types/react":"^19.2.7","react-router":"^7.13.0","@tailwindcss/cli":"^4.1.18","tailwindcss-animate":"^1.0.7","@testing-library/react":"^16.3.2","@aiquants/swipe-overlay":"1.2.4","@aiquants/virtualscroll":"1.24.0","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"zod":">=3.25.0 <5.0.0","react":">=18","react-dom":">=18","drizzle-orm":">=1.0.0-beta.4 <2.0.0","react-router":"^7.0.0","@aiquants/swipe-overlay":"^1.2.4","@aiquants/virtualscroll":"^1.24.0"},"peerDependenciesMeta":{"drizzle-orm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/daily-report_0.11.0_1786417723552_0.39725149892274647","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"@aiquants/daily-report","version":"0.12.0","keywords":["daily-report","react-router","drizzle","mssql","sse","virtual-scroll","typescript"],"author":"AI Quants","license":"MIT","_id":"@aiquants/daily-report@0.12.0","maintainers":[{"name":"fehde-k","email":"owner@aiquants.co.jp"},{"name":"fehde","email":"genbu0498@gmail.com"}],"dist":{"shasum":"b6b52ccd8a6d53c5dc233df29a257da821020499","tarball":"https://registry.npmjs.org/@aiquants/daily-report/-/daily-report-0.12.0.tgz","fileCount":110,"integrity":"sha512-xRxKLSkg8tt+q2j1Mf1jFMmwpFaV+khkAFNUURhMBbYWAlxvrPPm+dfzwVfQwakRxbVbTgnHzYD291tKEpKcVQ==","signatures":[{"sig":"MEYCIQDJlbxW9QdmnqCgzPrbjzGqR3yUOUoXh6ahPNyeDAZB3wIhALPbti6oW+ZfOv6db1rySGZS//7DunK2qXJB6go4PtU9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3430935},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.mjs","require":"./dist/client.js"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.mjs","require":"./dist/server.js"},"./styles/daily-report.standalone.css":"./dist/styles/daily-report.standalone.css"},"scripts":{"dev":"tsup --watch --onSuccess \"pnpm build:css\"","lint":"biome lint src/","test":"vitest run","build":"tsup && pnpm build:css","check":"biome check src/","clean":"rimraf dist","build:css":"tailwindcss -i src/styles/standalone.entry.css -o dist/styles/daily-report.standalone.css --minify","check:fix":"biome check --write src/","typecheck":"tsc --noEmit","watch:css":"tailwindcss -i src/styles/standalone.entry.css -o dist/styles/daily-report.standalone.css --minify --watch","build:watch":"tsup --watch --onSuccess \"pnpm build:css\"","publish:major":"pnpm run typecheck && pnpm run --if-present test && pnpm version major --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:minor":"pnpm run typecheck && pnpm run --if-present test && pnpm version minor --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:patch":"pnpm run typecheck && pnpm run --if-present test && pnpm version patch --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"fehde","email":"genbu0498@gmail.com"},"description":"Reusable daily-report feature package: shared types/schemas, React (Router v7) UI with virtual scrolling + optimistic updates + SSE sync, and a drizzle (mssql) server layer with DI ports (auth, user resolution, redis, external sources).","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"26.0.0","dependencies":{"clsx":"^2.1.1","lucide-react":"^0.561.0","tailwind-merge":"^3.5.0","@heroicons/react":"^2.2.0","@radix-ui/react-slot":"^1.2.4","@radix-ui/react-tabs":"^1.1.13","@radix-ui/react-label":"^2.1.8","@radix-ui/react-switch":"^1.2.6","class-variance-authority":"^0.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.25.76","tsup":"^8.5.1","jsdom":"^27.4.0","react":"^19.2.7","rimraf":"^6.1.2","vitest":"^4.1.10","react-dom":"^19.2.7","typescript":"^5.9.3","@types/node":"^25.9.1","drizzle-orm":"1.0.0-rc.4","tailwindcss":"^4.1.18","@types/react":"^19.2.7","react-router":"^7.13.0","@tailwindcss/cli":"^4.1.18","tailwindcss-animate":"^1.0.7","@testing-library/react":"^16.3.2","@aiquants/swipe-overlay":"1.2.4","@aiquants/virtualscroll":"1.25.0","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"zod":">=3.25.0 <5.0.0","react":">=18","react-dom":">=18","drizzle-orm":">=1.0.0-beta.4 <2.0.0","react-router":"^7.0.0","@aiquants/swipe-overlay":"^1.2.4","@aiquants/virtualscroll":"^1.25.0"},"peerDependenciesMeta":{"drizzle-orm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/daily-report_0.12.0_1786435974652_0.21998833572107834","host":"s3://npm-registry-packages-npm-production"}},"0.12.1":{"name":"@aiquants/daily-report","version":"0.12.1","keywords":["daily-report","react-router","drizzle","mssql","sse","virtual-scroll","typescript"],"author":"AI Quants","license":"MIT","_id":"@aiquants/daily-report@0.12.1","maintainers":[{"name":"fehde-k","email":"owner@aiquants.co.jp"},{"name":"fehde","email":"genbu0498@gmail.com"}],"dist":{"shasum":"8583a591365fc73eca696a3f65e0b944829041cf","tarball":"https://registry.npmjs.org/@aiquants/daily-report/-/daily-report-0.12.1.tgz","fileCount":110,"integrity":"sha512-avg6aI9B5W2hhO57tC6g8uzW+v/9YML4FyNrEd9tAL4+c2CK2TMtP41YEWaSfF/vGzq+Cg5scQZUPw0JODXqnA==","signatures":[{"sig":"MEUCICDdZ7oZAY7v78PoCQ32ar6dm/YbmYRHabtMwkY9C/ohAiEAjddP3lWU/CWxQ+BSqkYZiyqPlBJx/DLIryp4zHI+JiM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3431615},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.mjs","require":"./dist/client.js"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.mjs","require":"./dist/server.js"},"./styles/daily-report.standalone.css":"./dist/styles/daily-report.standalone.css"},"scripts":{"dev":"tsup --watch --onSuccess \"pnpm build:css\"","lint":"biome lint src/","test":"vitest run","build":"tsup && pnpm build:css","check":"biome check src/","clean":"rimraf dist","build:css":"tailwindcss -i src/styles/standalone.entry.css -o dist/styles/daily-report.standalone.css --minify","check:fix":"biome check --write src/","typecheck":"tsc --noEmit","watch:css":"tailwindcss -i src/styles/standalone.entry.css -o dist/styles/daily-report.standalone.css --minify --watch","build:watch":"tsup --watch --onSuccess \"pnpm build:css\"","publish:major":"pnpm run typecheck && pnpm run --if-present test && pnpm version major --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:minor":"pnpm run typecheck && pnpm run --if-present test && pnpm version minor --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:patch":"pnpm run typecheck && pnpm run --if-present test && pnpm version patch --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"fehde","email":"genbu0498@gmail.com"},"description":"Reusable daily-report feature package: shared types/schemas, React (Router v7) UI with virtual scrolling + optimistic updates + SSE sync, and a drizzle (mssql) server layer with DI ports (auth, user resolution, redis, external sources).","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"26.0.0","dependencies":{"clsx":"^2.1.1","lucide-react":"^0.561.0","tailwind-merge":"^3.5.0","@heroicons/react":"^2.2.0","@radix-ui/react-slot":"^1.2.4","@radix-ui/react-tabs":"^1.1.13","@radix-ui/react-label":"^2.1.8","@radix-ui/react-switch":"^1.2.6","class-variance-authority":"^0.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.25.76","tsup":"^8.5.1","jsdom":"^27.4.0","react":"^19.2.7","rimraf":"^6.1.2","vitest":"^4.1.10","react-dom":"^19.2.7","typescript":"^5.9.3","@types/node":"^25.9.1","drizzle-orm":"1.0.0-rc.4","tailwindcss":"^4.1.18","@types/react":"^19.2.7","react-router":"^7.13.0","@tailwindcss/cli":"^4.1.18","tailwindcss-animate":"^1.0.7","@testing-library/react":"^16.3.2","@aiquants/swipe-overlay":"1.2.4","@aiquants/virtualscroll":"^2.0.0","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"zod":">=3.25.0 <5.0.0","react":">=18","react-dom":">=18","drizzle-orm":">=1.0.0-beta.4 <2.0.0","react-router":"^7.0.0","@aiquants/swipe-overlay":"^1.2.4","@aiquants/virtualscroll":"^2.0.0"},"peerDependenciesMeta":{"drizzle-orm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/daily-report_0.12.1_1786457914794_0.38871803973307895","host":"s3://npm-registry-packages-npm-production"}},"0.12.3":{"name":"@aiquants/daily-report","version":"0.12.3","keywords":["daily-report","react-router","drizzle","mssql","sse","virtual-scroll","typescript"],"author":"AI Quants","license":"MIT","_id":"@aiquants/daily-report@0.12.3","maintainers":[{"name":"fehde-k","email":"owner@aiquants.co.jp"},{"name":"fehde","email":"genbu0498@gmail.com"}],"dist":{"shasum":"077fae8374d13d59aac01b4247fd1f4022d1de3b","tarball":"https://registry.npmjs.org/@aiquants/daily-report/-/daily-report-0.12.3.tgz","fileCount":111,"integrity":"sha512-yrlQlIK1hJM2nP/LHM+OxuS7SQML7aYA26050+hJzVCcqE0R4jw66pAJd518lxJI9Q764fXUMEGDdnAasv4Lww==","signatures":[{"sig":"MEUCIQCDvGGhqI6f0rlKIcW/dewHnMuZX07PI64ft7TnLRkZkgIgCE45FO20VFzjl/tflch7ctMJXmTXveV17wzJz9njRtk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3434291},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.mjs","require":"./dist/client.js"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.mjs","require":"./dist/server.js"},"./styles/daily-report.standalone.css":"./dist/styles/daily-report.standalone.css"},"scripts":{"dev":"tsup --watch --onSuccess \"pnpm build:css\"","lint":"biome lint src/","test":"vitest run","build":"tsup && pnpm build:css","check":"biome check src/","clean":"rimraf dist","build:css":"tailwindcss -i src/styles/standalone.entry.css -o dist/styles/daily-report.standalone.css --minify","check:fix":"biome check --write src/","typecheck":"tsc --noEmit","watch:css":"tailwindcss -i src/styles/standalone.entry.css -o dist/styles/daily-report.standalone.css --minify --watch","build:watch":"tsup --watch --onSuccess \"pnpm build:css\"","publish:major":"pnpm run typecheck && pnpm run --if-present test && pnpm version major --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:minor":"pnpm run typecheck && pnpm run --if-present test && pnpm version minor --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:patch":"pnpm run typecheck && pnpm run --if-present test && pnpm version patch --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"fehde","email":"genbu0498@gmail.com"},"description":"Reusable daily-report feature package: shared types/schemas, React (Router v7 / v8) UI with virtual scrolling + optimistic updates + SSE sync, and a drizzle (mssql) server layer with DI ports (auth, user resolution, redis, external sources).","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"26.0.0","dependencies":{"clsx":"^2.1.1","lucide-react":"^0.561.0","tailwind-merge":"^3.5.0","@heroicons/react":"^2.2.0","@radix-ui/react-slot":"^1.2.4","@radix-ui/react-tabs":"^1.1.13","@radix-ui/react-label":"^2.1.8","@radix-ui/react-switch":"^1.2.6","class-variance-authority":"^0.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.25.76","tsup":"^8.5.1","jsdom":"^27.4.0","react":"^19.2.7","rimraf":"^6.1.2","vitest":"^4.1.10","react-dom":"^19.2.7","typescript":"^5.9.3","@types/node":"^25.9.1","drizzle-orm":"1.0.0-rc.4","tailwindcss":"^4.1.18","@types/react":"^19.2.7","react-router":"^8.3.0","@tailwindcss/cli":"^4.1.18","tailwindcss-animate":"^1.0.7","@testing-library/react":"^16.3.2","@aiquants/swipe-overlay":"1.2.4","@aiquants/virtualscroll":"^2.0.0","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"zod":">=3.25.0 <5.0.0","react":">=18","react-dom":">=18","drizzle-orm":">=1.0.0-beta.4 <2.0.0","react-router":"^7.0.0 || ^8.0.0","@aiquants/swipe-overlay":"^1.2.4","@aiquants/virtualscroll":"^2.0.0"},"peerDependenciesMeta":{"drizzle-orm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/daily-report_0.12.3_1786505105304_0.2900836497037098","host":"s3://npm-registry-packages-npm-production"}},"0.12.4":{"name":"@aiquants/daily-report","version":"0.12.4","keywords":["daily-report","react-router","drizzle","mssql","sse","virtual-scroll","typescript"],"author":"AI Quants","license":"MIT","_id":"@aiquants/daily-report@0.12.4","maintainers":[{"name":"fehde-k","email":"owner@aiquants.co.jp"},{"name":"fehde","email":"genbu0498@gmail.com"}],"dist":{"shasum":"f2c9e5ae5c601c0c31b6b81b6e53fc06bbd93a84","tarball":"https://registry.npmjs.org/@aiquants/daily-report/-/daily-report-0.12.4.tgz","fileCount":111,"integrity":"sha512-/1V7hP30OTVLReF2ur9sJHk1jh4Sq/phVbZGqC6njx0vrsVP5/NmFeqFe/edUgac8Uk4wPzbt1ICPHA2dV9FzA==","signatures":[{"sig":"MEYCIQCSqC1XEQHUUQecFLpOYsAoC9giJwoXXDg+KkDe0r9o9gIhAOlujEd6VjDm+N86bTgcpuCVwu0ppGSmXTB9FmChMWZ3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3434415},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.mjs","require":"./dist/client.js"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.mjs","require":"./dist/server.js"},"./styles/daily-report.standalone.css":"./dist/styles/daily-report.standalone.css"},"scripts":{"dev":"tsup --watch --onSuccess \"pnpm build:css\"","lint":"biome lint src/","test":"vitest run","build":"tsup && pnpm build:css","check":"biome check src/","clean":"rimraf dist","build:css":"tailwindcss -i src/styles/standalone.entry.css -o dist/styles/daily-report.standalone.css --minify","check:fix":"biome check --write src/","typecheck":"tsc --noEmit","watch:css":"tailwindcss -i src/styles/standalone.entry.css -o dist/styles/daily-report.standalone.css --minify --watch","build:watch":"tsup --watch --onSuccess \"pnpm build:css\"","publish:major":"pnpm run typecheck && pnpm run --if-present test && pnpm version major --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:minor":"pnpm run typecheck && pnpm run --if-present test && pnpm version minor --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:patch":"pnpm run typecheck && pnpm run --if-present test && pnpm version patch --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"fehde","email":"genbu0498@gmail.com"},"description":"Reusable daily-report feature package: shared types/schemas, React (Router v7 / v8) UI with virtual scrolling + optimistic updates + SSE sync, and a drizzle (mssql) server layer with DI ports (auth, user resolution, redis, external sources).","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"26.0.0","dependencies":{"clsx":"^2.1.1","lucide-react":"^0.561.0","tailwind-merge":"^3.5.0","@heroicons/react":"^2.2.0","@radix-ui/react-slot":"^1.2.4","@radix-ui/react-tabs":"^1.1.13","@radix-ui/react-label":"^2.1.8","@radix-ui/react-switch":"^1.2.6","class-variance-authority":"^0.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.25.76","tsup":"^8.5.1","jsdom":"^27.4.0","react":"^19.2.7","rimraf":"^6.1.2","vitest":"^4.1.10","react-dom":"^19.2.7","typescript":"^5.9.3","@types/node":"^25.9.1","drizzle-orm":"1.0.0-rc.4","tailwindcss":"^4.1.18","@types/react":"^19.2.7","react-router":"^8.3.0","@tailwindcss/cli":"^4.1.18","tailwindcss-animate":"^1.0.7","@testing-library/react":"^16.3.2","@aiquants/swipe-overlay":"1.2.4","@aiquants/virtualscroll":"^2.0.0","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"zod":">=3.25.0 <5.0.0","react":">=18","react-dom":">=18","drizzle-orm":">=1.0.0-beta.4 <2.0.0","react-router":"^7.0.0 || ^8.0.0","@aiquants/swipe-overlay":"^1.2.4","@aiquants/virtualscroll":"^2.0.0"},"peerDependenciesMeta":{"drizzle-orm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/daily-report_0.12.4_1786538595781_0.7370718768317843","host":"s3://npm-registry-packages-npm-production"}},"0.13.0":{"name":"@aiquants/daily-report","version":"0.13.0","keywords":["daily-report","react-router","drizzle","mssql","sse","virtual-scroll","typescript"],"author":"AI Quants","license":"MIT","_id":"@aiquants/daily-report@0.13.0","maintainers":[{"name":"fehde-k","email":"owner@aiquants.co.jp"},{"name":"fehde","email":"genbu0498@gmail.com"}],"dist":{"shasum":"03a09c79c24ac3798582a339e7cf3e47ae8650d3","tarball":"https://registry.npmjs.org/@aiquants/daily-report/-/daily-report-0.13.0.tgz","fileCount":114,"integrity":"sha512-OIduS25fKagnjg9IudpOoodMJ5tk7qpHQQCUffhBZP5CUN+JHMmENiTOiwTPF0SCGw7w9vB5+W9GemRPgFD9AQ==","signatures":[{"sig":"MEUCIQCPgVvKCZb80a/smlaS/9ipL1OiHRQ7TQxDNSQCGa7EtAIgPUCLR70EAjIpUYo/PtcEZXjXE82ogDfr+bJ6WWOpH0c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3648838},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.mjs","require":"./dist/client.js"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.mjs","require":"./dist/server.js"},"./styles/daily-report.standalone.css":"./dist/styles/daily-report.standalone.css"},"scripts":{"dev":"tsup --watch --onSuccess \"pnpm build:css\"","lint":"biome lint src/","test":"vitest run","build":"tsup && pnpm build:css","check":"biome check src/","clean":"rimraf dist","build:css":"tailwindcss -i src/styles/standalone.entry.css -o dist/styles/daily-report.standalone.css --minify","check:fix":"biome check --write src/","typecheck":"tsc --noEmit","watch:css":"tailwindcss -i src/styles/standalone.entry.css -o dist/styles/daily-report.standalone.css --minify --watch","build:watch":"tsup --watch --onSuccess \"pnpm build:css\"","publish:major":"pnpm run typecheck && pnpm run --if-present test && pnpm version major --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:minor":"pnpm run typecheck && pnpm run --if-present test && pnpm version minor --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:patch":"pnpm run typecheck && pnpm run --if-present test && pnpm version patch --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"fehde","email":"genbu0498@gmail.com"},"description":"Reusable daily-report feature package: shared types/schemas, React (Router v7 / v8) UI with virtual scrolling + optimistic updates + SSE sync, and a drizzle (mssql) server layer with DI ports (auth, user resolution, redis, external sources).","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"26.0.0","dependencies":{"clsx":"^2.1.1","lucide-react":"^0.561.0","tailwind-merge":"^3.5.0","@heroicons/react":"^2.2.0","@radix-ui/react-slot":"^1.2.4","@radix-ui/react-tabs":"^1.1.13","@radix-ui/react-label":"^2.1.8","@radix-ui/react-switch":"^1.2.6","class-variance-authority":"^0.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.25.76","tsup":"^8.5.1","jsdom":"^27.4.0","react":"^19.2.7","rimraf":"^6.1.2","vitest":"^4.1.10","react-dom":"^19.2.7","typescript":"^5.9.3","@types/node":"^25.9.1","drizzle-orm":"1.0.0-rc.4","tailwindcss":"^4.1.18","@types/react":"^19.2.7","react-router":"^8.3.0","@tailwindcss/cli":"^4.1.18","tailwindcss-animate":"^1.0.7","@testing-library/react":"^16.3.2","@aiquants/swipe-overlay":"1.2.4","@aiquants/virtualscroll":"^2.0.0","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"zod":">=3.25.0 <5.0.0","react":">=18","react-dom":">=18","drizzle-orm":">=1.0.0-beta.4 <2.0.0","react-router":"^7.0.0 || ^8.0.0","@aiquants/swipe-overlay":"^1.2.4","@aiquants/virtualscroll":"^2.0.0"},"peerDependenciesMeta":{"drizzle-orm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/daily-report_0.13.0_1786570818324_0.20001074762069804","host":"s3://npm-registry-packages-npm-production"}},"0.14.0":{"name":"@aiquants/daily-report","version":"0.14.0","keywords":["daily-report","react-router","drizzle","mssql","sse","virtual-scroll","typescript"],"author":"AI Quants","license":"MIT","_id":"@aiquants/daily-report@0.14.0","maintainers":[{"name":"fehde-k","email":"owner@aiquants.co.jp"},{"name":"fehde","email":"genbu0498@gmail.com"}],"dist":{"shasum":"1f82d49a256285fd352bc45fc7f1894baa0d8eac","tarball":"https://registry.npmjs.org/@aiquants/daily-report/-/daily-report-0.14.0.tgz","fileCount":114,"integrity":"sha512-ngCFYC6tmevzoHBaX3b980E3U+2w/KIzIBXbcRqU7BIIFnIF6mzEIpbAVsygbZc0TVxMTw6Q+LsLfvQ2by9xRA==","signatures":[{"sig":"MEYCIQDMMACJh8yCljl05en/i0KM/bXIZtyrpGLxS5Qn7/1O6QIhAMCSey4JDsM9vN70O9ZIvyael0pVnPvchQ5f+DgMIv7o","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3697941},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.mjs","require":"./dist/client.js"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.mjs","require":"./dist/server.js"},"./styles/daily-report.standalone.css":"./dist/styles/daily-report.standalone.css"},"scripts":{"dev":"tsup --watch --onSuccess \"pnpm build:css\"","lint":"biome lint src/","test":"vitest run","build":"tsup && pnpm build:css","check":"biome check src/","clean":"rimraf dist","build:css":"tailwindcss -i src/styles/standalone.entry.css -o dist/styles/daily-report.standalone.css --minify","check:fix":"biome check --write src/","typecheck":"tsc --noEmit","watch:css":"tailwindcss -i src/styles/standalone.entry.css -o dist/styles/daily-report.standalone.css --minify --watch","build:watch":"tsup --watch --onSuccess \"pnpm build:css\"","publish:major":"pnpm run typecheck && pnpm run typecheck:spec && pnpm run --if-present test && pnpm version major --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:minor":"pnpm run typecheck && pnpm run typecheck:spec && pnpm run --if-present test && pnpm version minor --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:patch":"pnpm run typecheck && pnpm run typecheck:spec && pnpm run --if-present test && pnpm version patch --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","test:coverage":"vitest run --coverage","typecheck:spec":"tsc --noEmit -p tsconfig.spec.json"},"_npmUser":{"name":"fehde","email":"genbu0498@gmail.com"},"description":"Reusable daily-report feature package: shared types/schemas, React (Router v7 / v8) UI with virtual scrolling + optimistic updates + SSE sync, and a drizzle (mssql) server layer with DI ports (auth, user resolution, redis, external sources).","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"26.0.0","dependencies":{"clsx":"^2.1.1","lucide-react":"^0.561.0","tailwind-merge":"^3.5.0","@heroicons/react":"^2.2.0","@radix-ui/react-slot":"^1.2.4","@radix-ui/react-tabs":"^1.1.13","@radix-ui/react-label":"^2.1.8","@radix-ui/react-switch":"^1.2.6","class-variance-authority":"^0.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.25.76","tsup":"^8.5.1","jsdom":"^27.4.0","react":"^19.2.7","rimraf":"^6.1.2","vitest":"^4.1.10","react-dom":"^19.2.7","typescript":"^5.9.3","@types/node":"^25.9.1","drizzle-orm":"1.0.0-rc.4","tailwindcss":"^4.1.18","@types/react":"^19.2.7","react-router":"^8.3.0","@tailwindcss/cli":"^4.1.18","@vitest/coverage-v8":"^4.1.10","tailwindcss-animate":"^1.0.7","@testing-library/react":"^16.3.2","@aiquants/swipe-overlay":"1.2.4","@aiquants/virtualscroll":"^2.0.0","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"zod":">=3.25.0 <5.0.0","react":">=18","react-dom":">=18","drizzle-orm":">=1.0.0-beta.4 <2.0.0","react-router":"^7.0.0 || ^8.0.0","@aiquants/swipe-overlay":"^1.2.4","@aiquants/virtualscroll":"^2.0.0"},"peerDependenciesMeta":{"drizzle-orm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/daily-report_0.14.0_1786579713863_0.6481745842204882","host":"s3://npm-registry-packages-npm-production"}},"0.14.1":{"name":"@aiquants/daily-report","version":"0.14.1","keywords":["daily-report","react-router","drizzle","mssql","sse","virtual-scroll","typescript"],"author":"AI Quants","license":"MIT","_id":"@aiquants/daily-report@0.14.1","maintainers":[{"name":"fehde-k","email":"owner@aiquants.co.jp"},{"name":"fehde","email":"genbu0498@gmail.com"}],"dist":{"shasum":"c1aa2cacc770f460f178bf8253946a8091a4c1e9","tarball":"https://registry.npmjs.org/@aiquants/daily-report/-/daily-report-0.14.1.tgz","fileCount":114,"integrity":"sha512-8fFPhDEPLcLfQJdKLte23frpYDlct+Q6nXpScY5YRafU3Cd3uQPjrOGhAUmjMysKI+hWLPWHYsjELt7+EPJf7w==","signatures":[{"sig":"MEUCICal2bdw56N06Qhe9+LhyyLISnzaXGKKZhGvdv2KZaulAiEAwVco3NGPpg82ipTKP086xT2n/lPC6q3ml6xWbhEKjBg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3715419},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.mjs","require":"./dist/client.js"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.mjs","require":"./dist/server.js"},"./styles/daily-report.standalone.css":"./dist/styles/daily-report.standalone.css"},"scripts":{"dev":"tsup --watch --onSuccess \"pnpm build:css\"","lint":"biome lint src/","test":"vitest run","build":"tsup && pnpm build:css","check":"biome check src/","clean":"rimraf dist","build:css":"tailwindcss -i src/styles/standalone.entry.css -o dist/styles/daily-report.standalone.css --minify","check:fix":"biome check --write src/","typecheck":"tsc --noEmit","watch:css":"tailwindcss -i src/styles/standalone.entry.css -o dist/styles/daily-report.standalone.css --minify --watch","build:watch":"tsup --watch --onSuccess \"pnpm build:css\"","publish:major":"pnpm run typecheck && pnpm run typecheck:spec && pnpm run --if-present test && pnpm version major --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:minor":"pnpm run typecheck && pnpm run typecheck:spec && pnpm run --if-present test && pnpm version minor --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:patch":"pnpm run typecheck && pnpm run typecheck:spec && pnpm run --if-present test && pnpm version patch --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","test:coverage":"vitest run --coverage","typecheck:spec":"tsc --noEmit -p tsconfig.spec.json"},"_npmUser":{"name":"fehde","email":"genbu0498@gmail.com"},"description":"Reusable daily-report feature package: shared types/schemas, React (Router v7 / v8) UI with virtual scrolling + optimistic updates + SSE sync, and a drizzle (mssql) server layer with DI ports (auth, user resolution, redis, external sources).","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"26.0.0","dependencies":{"clsx":"^2.1.1","lucide-react":"^0.561.0","tailwind-merge":"^3.5.0","@heroicons/react":"^2.2.0","@radix-ui/react-slot":"^1.2.4","@radix-ui/react-tabs":"^1.1.13","@radix-ui/react-label":"^2.1.8","@radix-ui/react-switch":"^1.2.6","class-variance-authority":"^0.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.25.76","tsup":"^8.5.1","jsdom":"^27.4.0","react":"^19.2.7","rimraf":"^6.1.2","vitest":"^4.1.10","react-dom":"^19.2.7","typescript":"^5.9.3","@types/node":"^25.9.1","drizzle-orm":"1.0.0-rc.4","tailwindcss":"^4.1.18","@types/react":"^19.2.7","react-router":"^8.3.0","@tailwindcss/cli":"^4.1.18","@vitest/coverage-v8":"^4.1.10","tailwindcss-animate":"^1.0.7","@testing-library/react":"^16.3.2","@aiquants/swipe-overlay":"1.2.4","@aiquants/virtualscroll":"^2.0.0","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"zod":">=3.25.0 <5.0.0","react":">=18","react-dom":">=18","drizzle-orm":">=1.0.0-beta.4 <2.0.0","react-router":"^7.0.0 || ^8.0.0","@aiquants/swipe-overlay":"^1.2.4","@aiquants/virtualscroll":"^2.0.0"},"peerDependenciesMeta":{"drizzle-orm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/daily-report_0.14.1_1786583456529_0.039491894687611495","host":"s3://npm-registry-packages-npm-production"}},"0.15.0":{"name":"@aiquants/daily-report","version":"0.15.0","keywords":["daily-report","react-router","drizzle","mssql","sse","virtual-scroll","typescript"],"author":"AI Quants","license":"MIT","_id":"@aiquants/daily-report@0.15.0","maintainers":[{"name":"fehde-k","email":"owner@aiquants.co.jp"},{"name":"fehde","email":"genbu0498@gmail.com"}],"dist":{"shasum":"4b4331f297ec51b382b1692c08b6271a1bb93f56","tarball":"https://registry.npmjs.org/@aiquants/daily-report/-/daily-report-0.15.0.tgz","fileCount":114,"integrity":"sha512-kOpiaJfbtNL9HmjVQ1oEUQdH4EM2fXYM9G9k5ZXBX6MgJUyJDbKSSdUmzkYjxmKh6bB0GVdyf9Ud28BhyDC6Mg==","signatures":[{"sig":"MEYCIQDservoVAuct2gFSnDmGZwU/EBi00sGuTum4qzgxmxm5QIhANV3SrOJ9d4faULqwOW3cuLfoNrEXpJf6BKs5WQFFtrs","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3807090},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.mjs","require":"./dist/client.js"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.mjs","require":"./dist/server.js"},"./styles/daily-report.standalone.css":"./dist/styles/daily-report.standalone.css"},"scripts":{"dev":"tsup --watch --onSuccess \"pnpm build:css\"","lint":"biome lint src/","test":"vitest run","build":"tsup && pnpm build:css","check":"biome check src/","clean":"rimraf dist","build:css":"tailwindcss -i src/styles/standalone.entry.css -o dist/styles/daily-report.standalone.css --minify","check:fix":"biome check --write src/","typecheck":"tsc --noEmit","watch:css":"tailwindcss -i src/styles/standalone.entry.css -o dist/styles/daily-report.standalone.css --minify --watch","build:watch":"tsup --watch --onSuccess \"pnpm build:css\"","publish:major":"pnpm run typecheck && pnpm run typecheck:spec && pnpm run --if-present test && pnpm version major --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:minor":"pnpm run typecheck && pnpm run typecheck:spec && pnpm run --if-present test && pnpm version minor --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:patch":"pnpm run typecheck && pnpm run typecheck:spec && pnpm run --if-present test && pnpm version patch --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","test:coverage":"vitest run --coverage","typecheck:spec":"tsc --noEmit -p tsconfig.spec.json"},"_npmUser":{"name":"fehde","email":"genbu0498@gmail.com"},"description":"Reusable daily-report feature package: shared types/schemas, React (Router v7 / v8) UI with virtual scrolling + optimistic updates + SSE sync, and a drizzle (mssql) server layer with DI ports (auth, user resolution, redis, external sources).","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"26.0.0","dependencies":{"clsx":"^2.1.1","lucide-react":"^0.561.0","tailwind-merge":"^3.5.0","@heroicons/react":"^2.2.0","@radix-ui/react-slot":"^1.2.4","@radix-ui/react-tabs":"^1.1.13","@radix-ui/react-label":"^2.1.8","@radix-ui/react-switch":"^1.2.6","class-variance-authority":"^0.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.25.76","tsup":"^8.5.1","jsdom":"^27.4.0","react":"^19.2.7","rimraf":"^6.1.2","vitest":"^4.1.10","react-dom":"^19.2.7","typescript":"^5.9.3","@types/node":"^25.9.1","drizzle-orm":"1.0.0-rc.4","tailwindcss":"^4.1.18","@types/react":"^19.2.7","react-router":"^8.3.0","@tailwindcss/cli":"^4.1.18","@vitest/coverage-v8":"^4.1.10","tailwindcss-animate":"^1.0.7","@testing-library/react":"^16.3.2","@aiquants/swipe-overlay":"1.2.4","@aiquants/virtualscroll":"^2.0.0","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"zod":">=3.25.0 <5.0.0","react":">=18","react-dom":">=18","drizzle-orm":">=1.0.0-beta.4 <2.0.0","react-router":"^7.0.0 || ^8.0.0","@aiquants/swipe-overlay":"^1.2.4","@aiquants/virtualscroll":"^2.0.0"},"peerDependenciesMeta":{"drizzle-orm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/daily-report_0.15.0_1786592467503_0.901162467569617","host":"s3://npm-registry-packages-npm-production"}},"0.16.0":{"name":"@aiquants/daily-report","version":"0.16.0","keywords":["daily-report","react-router","drizzle","mssql","sse","virtual-scroll","typescript"],"author":"AI Quants","license":"MIT","_id":"@aiquants/daily-report@0.16.0","maintainers":[{"name":"fehde-k","email":"owner@aiquants.co.jp"},{"name":"fehde","email":"genbu0498@gmail.com"}],"dist":{"shasum":"50aac39a786192473e0d3c3765a16b042932435d","tarball":"https://registry.npmjs.org/@aiquants/daily-report/-/daily-report-0.16.0.tgz","fileCount":114,"integrity":"sha512-Jw8GMqVefXnXT98x9qQI/nFzdgYJZlrB6KEidu/tp1nxWFBscAsnFm7X3QayWH+9stVB2dqBWpksJgwlN9uRRA==","signatures":[{"sig":"MEUCIQCcOq7FxNgAfjOz8d/1HkHPeKQBrW/6mSccZOJ5+y7nIgIgbW7nZ8jsAbaM1wfunt03O3k1ja4KDXl9CzPkjCJbtow=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3883443},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.mjs","require":"./dist/client.js"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.mjs","require":"./dist/server.js"},"./styles/daily-report.standalone.css":"./dist/styles/daily-report.standalone.css"},"scripts":{"dev":"tsup --watch --onSuccess \"pnpm build:css\"","lint":"biome lint src/","test":"vitest run","build":"tsup && pnpm build:css","check":"biome check src/","clean":"rimraf dist","build:css":"tailwindcss -i src/styles/standalone.entry.css -o dist/styles/daily-report.standalone.css --minify","check:fix":"biome check --write src/","typecheck":"tsc --noEmit","watch:css":"tailwindcss -i src/styles/standalone.entry.css -o dist/styles/daily-report.standalone.css --minify --watch","build:watch":"tsup --watch --onSuccess \"pnpm build:css\"","publish:major":"pnpm run typecheck && pnpm run typecheck:spec && pnpm run --if-present test && pnpm version major --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:minor":"pnpm run typecheck && pnpm run typecheck:spec && pnpm run --if-present test && pnpm version minor --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:patch":"pnpm run typecheck && pnpm run typecheck:spec && pnpm run --if-present test && pnpm version patch --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","test:coverage":"vitest run --coverage","typecheck:spec":"tsc --noEmit -p tsconfig.spec.json"},"_npmUser":{"name":"fehde","email":"genbu0498@gmail.com"},"description":"Reusable daily-report feature package: shared types/schemas, React (Router v7 / v8) UI with virtual scrolling + optimistic updates + SSE sync, and a drizzle (mssql) server layer with DI ports (auth, user resolution, redis, external sources).","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"26.0.0","dependencies":{"clsx":"^2.1.1","lucide-react":"^0.561.0","tailwind-merge":"^3.5.0","@heroicons/react":"^2.2.0","@radix-ui/react-slot":"^1.2.4","@radix-ui/react-tabs":"^1.1.13","@radix-ui/react-label":"^2.1.8","@radix-ui/react-switch":"^1.2.6","class-variance-authority":"^0.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.25.76","tsup":"^8.5.1","jsdom":"^27.4.0","react":"^19.2.7","rimraf":"^6.1.2","vitest":"^4.1.10","react-dom":"^19.2.7","typescript":"^5.9.3","@types/node":"^25.9.1","drizzle-orm":"1.0.0-rc.4","tailwindcss":"^4.1.18","@types/react":"^19.2.7","react-router":"^8.3.0","@tailwindcss/cli":"^4.1.18","@vitest/coverage-v8":"^4.1.10","tailwindcss-animate":"^1.0.7","@testing-library/react":"^16.3.2","@aiquants/swipe-overlay":"1.2.4","@aiquants/virtualscroll":"^2.0.0","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"zod":">=3.25.0 <5.0.0","react":">=18","react-dom":">=18","drizzle-orm":">=1.0.0-beta.4 <2.0.0","react-router":"^7.0.0 || ^8.0.0","@aiquants/swipe-overlay":"^1.2.4","@aiquants/virtualscroll":"^2.0.0"},"peerDependenciesMeta":{"drizzle-orm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/daily-report_0.16.0_1786618528985_0.27891860497256094","host":"s3://npm-registry-packages-npm-production"}},"0.17.0":{"name":"@aiquants/daily-report","version":"0.17.0","keywords":["daily-report","react-router","drizzle","mssql","sse","virtual-scroll","typescript"],"author":"AI Quants","license":"MIT","_id":"@aiquants/daily-report@0.17.0","maintainers":[{"name":"fehde-k","email":"owner@aiquants.co.jp"},{"name":"fehde","email":"genbu0498@gmail.com"}],"dist":{"shasum":"e345b768edf07dac1db60b953844c94af35e079c","tarball":"https://registry.npmjs.org/@aiquants/daily-report/-/daily-report-0.17.0.tgz","fileCount":115,"integrity":"sha512-0AiO0rerzPPw2QguWbdRNRk7+mP1aezz/PBg7KnuTIsTPrDIxbIr2ukLj3ez291Gtu4lFpX6ck2MkEDn5fm/vg==","signatures":[{"sig":"MEUCIQCAb4xHQGe5ablIR6JiSzyB8Q+DyTz5rhf3Mqfxto4kFAIgLH2v2qSn4HP2l2CKleGUev+7GJGQhdsLBufAQKmX6jI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4050057},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.mjs","require":"./dist/client.js"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.mjs","require":"./dist/server.js"},"./styles/daily-report.standalone.css":"./dist/styles/daily-report.standalone.css"},"scripts":{"dev":"tsup --watch --onSuccess \"pnpm build:css\"","lint":"biome lint src/","test":"vitest run","build":"tsup && pnpm build:css","check":"biome check src/","clean":"rimraf dist","verify":"node_modules/.bin/tsc --noEmit && node_modules/.bin/tsc --noEmit -p tsconfig.spec.json && ../../node_modules/.bin/biome check src/ && pnpm run check:md && node_modules/.bin/vitest run","check:md":"cd ../.. && node_modules/.bin/markdownlint-cli2 \"packages/daily-report/**/*.md\"","build:css":"tailwindcss -i src/styles/standalone.entry.css -o dist/styles/daily-report.standalone.css --minify","check:fix":"biome check --write src/","typecheck":"tsc --noEmit","watch:css":"tailwindcss -i src/styles/standalone.entry.css -o dist/styles/daily-report.standalone.css --minify --watch","build:watch":"tsup --watch --onSuccess \"pnpm build:css\"","publish:major":"pnpm run verify && pnpm version major --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:minor":"pnpm run verify && pnpm version minor --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:patch":"pnpm run verify && pnpm version patch --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","test:coverage":"vitest run --coverage","typecheck:spec":"tsc --noEmit -p tsconfig.spec.json"},"_npmUser":{"name":"fehde","email":"genbu0498@gmail.com"},"description":"Reusable daily-report feature package: shared types/schemas, React (Router v7 / v8) UI with virtual scrolling + optimistic updates + SSE sync, and a drizzle (mssql) server layer with DI ports (auth, user resolution, redis, external sources).","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"26.0.0","dependencies":{"clsx":"^2.1.1","lucide-react":"^0.561.0","tailwind-merge":"^3.5.0","@heroicons/react":"^2.2.0","@radix-ui/react-slot":"^1.2.4","@radix-ui/react-tabs":"^1.1.13","@radix-ui/react-label":"^2.1.8","@radix-ui/react-switch":"^1.2.6","class-variance-authority":"^0.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.25.76","tsup":"^8.5.1","jsdom":"^27.4.0","react":"^19.2.7","rimraf":"^6.1.2","vitest":"^4.1.10","react-dom":"^19.2.7","typescript":"^5.9.3","@types/node":"^25.9.1","drizzle-orm":"1.0.0-rc.4","tailwindcss":"^4.1.18","@types/react":"^19.2.7","react-router":"^8.3.0","@tailwindcss/cli":"^4.1.18","@vitest/coverage-v8":"^4.1.10","tailwindcss-animate":"^1.0.7","@testing-library/react":"^16.3.2","@aiquants/swipe-overlay":"1.2.4","@aiquants/virtualscroll":"^2.0.0","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"zod":">=3.25.0 <5.0.0","react":">=18","react-dom":">=18","drizzle-orm":">=1.0.0-beta.4 <2.0.0","react-router":"^7.0.0 || ^8.0.0","@aiquants/swipe-overlay":"^1.2.4","@aiquants/virtualscroll":"^2.0.0"},"peerDependenciesMeta":{"drizzle-orm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/daily-report_0.17.0_1786676394733_0.6246687219942151","host":"s3://npm-registry-packages-npm-production"}},"0.17.1":{"name":"@aiquants/daily-report","version":"0.17.1","keywords":["daily-report","react-router","drizzle","mssql","sse","virtual-scroll","typescript"],"author":"AI Quants","license":"MIT","_id":"@aiquants/daily-report@0.17.1","maintainers":[{"name":"fehde-k","email":"owner@aiquants.co.jp"},{"name":"fehde","email":"genbu0498@gmail.com"}],"dist":{"shasum":"483f925bd3dc7b36cb60c4362d228daad1731d15","tarball":"https://registry.npmjs.org/@aiquants/daily-report/-/daily-report-0.17.1.tgz","fileCount":115,"integrity":"sha512-nl5JjbX20T/DQXaLQCzP96fkRlrdFnjzHyNHkDQfIqkm+JR+firMvGtVV9UEpRPzdRhK2Tk43H2Ma8hvS18Hjg==","signatures":[{"sig":"MEYCIQCN+sqltVGJ7jwZHhUuIPtT/dIiMLH6ciOE6Kzi+3/vygIhAOTT77XTMdTcYWxAODTNbo/cu6pS64oBldGs9k5Rwh5B","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4050586},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.mjs","require":"./dist/client.js"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.mjs","require":"./dist/server.js"},"./styles/daily-report.standalone.css":"./dist/styles/daily-report.standalone.css"},"scripts":{"dev":"tsup --watch --onSuccess \"pnpm build:css\"","lint":"biome lint src/","test":"vitest run","build":"tsup && pnpm build:css","check":"biome check src/","clean":"rimraf dist","verify":"node_modules/.bin/tsc --noEmit && node_modules/.bin/tsc --noEmit -p tsconfig.spec.json && ../../node_modules/.bin/biome check src/ && pnpm run check:md && node_modules/.bin/vitest run","check:md":"cd ../.. && node_modules/.bin/markdownlint-cli2 \"packages/daily-report/**/*.md\"","build:css":"tailwindcss -i src/styles/standalone.entry.css -o dist/styles/daily-report.standalone.css --minify","check:fix":"biome check --write src/","typecheck":"tsc --noEmit","watch:css":"tailwindcss -i src/styles/standalone.entry.css -o dist/styles/daily-report.standalone.css --minify --watch","build:watch":"tsup --watch --onSuccess \"pnpm build:css\"","publish:major":"pnpm run verify && pnpm version major --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:minor":"pnpm run verify && pnpm version minor --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:patch":"pnpm run verify && pnpm version patch --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","test:coverage":"vitest run --coverage","typecheck:spec":"tsc --noEmit -p tsconfig.spec.json"},"_npmUser":{"name":"fehde","email":"genbu0498@gmail.com"},"description":"Reusable daily-report feature package: shared types/schemas, React (Router v7 / v8) UI with virtual scrolling + optimistic updates + SSE sync, and a drizzle (mssql) server layer with DI ports (auth, user resolution, redis, external sources).","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"26.0.0","dependencies":{"clsx":"^2.1.1","lucide-react":"^0.561.0","tailwind-merge":"^3.5.0","@heroicons/react":"^2.2.0","@radix-ui/react-slot":"^1.2.4","@radix-ui/react-tabs":"^1.1.13","@radix-ui/react-label":"^2.1.8","@radix-ui/react-switch":"^1.2.6","class-variance-authority":"^0.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.25.76","tsup":"^8.5.1","jsdom":"^27.4.0","react":"^19.2.7","rimraf":"^6.1.2","vitest":"^4.1.10","react-dom":"^19.2.7","typescript":"^5.9.3","@types/node":"^25.9.1","drizzle-orm":"1.0.0-rc.4","tailwindcss":"^4.1.18","@types/react":"^19.2.7","react-router":"^8.3.0","@tailwindcss/cli":"^4.1.18","@vitest/coverage-v8":"^4.1.10","tailwindcss-animate":"^1.0.7","@testing-library/react":"^16.3.2","@aiquants/swipe-overlay":"1.2.4","@aiquants/virtualscroll":"^2.2.0","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"zod":">=3.25.0 <5.0.0","react":">=18","react-dom":">=18","drizzle-orm":">=1.0.0-beta.4 <2.0.0","react-router":"^7.0.0 || ^8.0.0","@aiquants/swipe-overlay":"^1.2.4","@aiquants/virtualscroll":"^2.2.0"},"peerDependenciesMeta":{"drizzle-orm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/daily-report_0.17.1_1786770480794_0.7788426257795944","host":"s3://npm-registry-packages-npm-production"}},"0.17.2":{"name":"@aiquants/daily-report","version":"0.17.2","keywords":["daily-report","react-router","drizzle","mssql","sse","virtual-scroll","typescript"],"author":"AI Quants","license":"MIT","_id":"@aiquants/daily-report@0.17.2","maintainers":[{"name":"fehde-k","email":"owner@aiquants.co.jp"},{"name":"fehde","email":"genbu0498@gmail.com"}],"dist":{"shasum":"92fcfe1aa9de28ceb901da42d78945976f64f5d9","tarball":"https://registry.npmjs.org/@aiquants/daily-report/-/daily-report-0.17.2.tgz","fileCount":115,"integrity":"sha512-uzKljyYWNcZHJfr9eQkR8HP2lpzj7eK+JSUvLUiXbE62nmdrnZDvJtQd8VRtXqiNoNPpHz5gcTOuMvfKY0jr/w==","signatures":[{"sig":"MEUCIQCB90PKU+EOCSM/Z3BJdYAl59k/RY6NNeblJ8RYOFQ0bwIgYsIVwp1LbIAIT0S8ljugmzgcpx0+TReXAHZq25m9JrU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4052782},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.mjs","require":"./dist/client.js"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.mjs","require":"./dist/server.js"},"./styles/daily-report.standalone.css":"./dist/styles/daily-report.standalone.css"},"scripts":{"dev":"tsup --watch --onSuccess \"pnpm build:css\"","lint":"biome lint src/","test":"vitest run","build":"tsup && pnpm build:css","check":"biome check src/","clean":"rimraf dist","verify":"node_modules/.bin/tsc --noEmit && node_modules/.bin/tsc --noEmit -p tsconfig.spec.json && ../../node_modules/.bin/biome check src/ && pnpm run check:md && node_modules/.bin/vitest run","check:md":"cd ../.. && node_modules/.bin/markdownlint-cli2 \"packages/daily-report/**/*.md\"","build:css":"tailwindcss -i src/styles/standalone.entry.css -o dist/styles/daily-report.standalone.css --minify","check:fix":"biome check --write src/","typecheck":"tsc --noEmit","watch:css":"tailwindcss -i src/styles/standalone.entry.css -o dist/styles/daily-report.standalone.css --minify --watch","build:watch":"tsup --watch --onSuccess \"pnpm build:css\"","publish:major":"pnpm run verify && pnpm version major --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:minor":"pnpm run verify && pnpm version minor --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:patch":"pnpm run verify && pnpm version patch --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","test:coverage":"vitest run --coverage","typecheck:spec":"tsc --noEmit -p tsconfig.spec.json"},"_npmUser":{"name":"fehde","email":"genbu0498@gmail.com"},"description":"Reusable daily-report feature package: shared types/schemas, React (Router v7 / v8) UI with virtual scrolling + optimistic updates + SSE sync, and a drizzle (mssql) server layer with DI ports (auth, user resolution, redis, external sources).","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"26.0.0","dependencies":{"clsx":"^2.1.1","lucide-react":"^0.561.0","tailwind-merge":"^3.5.0","@heroicons/react":"^2.2.0","@radix-ui/react-slot":"^1.2.4","@radix-ui/react-tabs":"^1.1.13","@radix-ui/react-label":"^2.1.8","@radix-ui/react-switch":"^1.2.6","class-variance-authority":"^0.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.25.76","tsup":"^8.5.1","jsdom":"^27.4.0","react":"^19.2.7","rimraf":"^6.1.2","vitest":"^4.1.10","react-dom":"^19.2.7","typescript":"^5.9.3","@types/node":"^25.9.1","drizzle-orm":"1.0.0-rc.4","tailwindcss":"^4.1.18","@types/react":"^19.2.7","react-router":"^8.3.0","@tailwindcss/cli":"^4.1.18","@vitest/coverage-v8":"^4.1.10","tailwindcss-animate":"^1.0.7","@testing-library/react":"^16.3.2","@aiquants/swipe-overlay":"1.2.4","@aiquants/virtualscroll":"^2.2.0","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"zod":">=3.25.0 <5.0.0","react":">=18","react-dom":">=18","drizzle-orm":">=1.0.0-beta.4 <2.0.0","react-router":"^7.0.0 || ^8.0.0","@aiquants/swipe-overlay":"^1.2.4","@aiquants/virtualscroll":"^2.2.0"},"peerDependenciesMeta":{"drizzle-orm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/daily-report_0.17.2_1786833459722_0.519848938338217","host":"s3://npm-registry-packages-npm-production"}},"0.17.3":{"name":"@aiquants/daily-report","version":"0.17.3","keywords":["daily-report","react-router","drizzle","mssql","sse","virtual-scroll","typescript"],"author":"AI Quants","license":"MIT","_id":"@aiquants/daily-report@0.17.3","maintainers":[{"name":"fehde-k","email":"owner@aiquants.co.jp"},{"name":"fehde","email":"genbu0498@gmail.com"}],"dist":{"shasum":"4df651c1754655eef7740edbd53b692c584727fc","tarball":"https://registry.npmjs.org/@aiquants/daily-report/-/daily-report-0.17.3.tgz","fileCount":115,"integrity":"sha512-MayFEBqhTONIKziWo1i12LY6/5Vz1g5+KW4WuttUsd1ZKmPSLcdx3eWaXQ9hwD91uRibcRpxkKXz6a8BM9xHiA==","signatures":[{"sig":"MEUCIQD2L5wGaZyV/b7cOrO6Jrp6w/v4C+n0LutjhOYa7Mp/dQIgG4bY3j2qtZE05sXaX9SP0lFukgESal6MPtz6q4xMM+o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4054389},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.mjs","require":"./dist/client.js"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.mjs","require":"./dist/server.js"},"./styles/daily-report.standalone.css":"./dist/styles/daily-report.standalone.css"},"scripts":{"dev":"tsup --watch --onSuccess \"pnpm build:css\"","lint":"biome lint src/","test":"vitest run","build":"tsup && pnpm build:css","check":"biome check src/","clean":"rimraf dist","verify":"node_modules/.bin/tsc --noEmit && node_modules/.bin/tsc --noEmit -p tsconfig.spec.json && ../../node_modules/.bin/biome check src/ && pnpm run check:md && node_modules/.bin/vitest run","check:md":"cd ../.. && node_modules/.bin/markdownlint-cli2 \"packages/daily-report/**/*.md\"","build:css":"tailwindcss -i src/styles/standalone.entry.css -o dist/styles/daily-report.standalone.css --minify","check:fix":"biome check --write src/","typecheck":"tsc --noEmit","watch:css":"tailwindcss -i src/styles/standalone.entry.css -o dist/styles/daily-report.standalone.css --minify --watch","build:watch":"tsup --watch --onSuccess \"pnpm build:css\"","publish:major":"pnpm run verify && pnpm version major --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:minor":"pnpm run verify && pnpm version minor --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:patch":"pnpm run verify && pnpm version patch --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","test:coverage":"vitest run --coverage","typecheck:spec":"tsc --noEmit -p tsconfig.spec.json"},"_npmUser":{"name":"fehde","email":"genbu0498@gmail.com"},"description":"Reusable daily-report feature package: shared types/schemas, React (Router v7 / v8) UI with virtual scrolling + optimistic updates + SSE sync, and a drizzle (mssql) server layer with DI ports (auth, user resolution, redis, external sources).","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"26.0.0","dependencies":{"clsx":"^2.1.1","lucide-react":"^0.561.0","tailwind-merge":"^3.5.0","@heroicons/react":"^2.2.0","@radix-ui/react-slot":"^1.2.4","@radix-ui/react-tabs":"^1.1.13","@radix-ui/react-label":"^2.1.8","@radix-ui/react-switch":"^1.2.6","class-variance-authority":"^0.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.25.76","tsup":"^8.5.1","jsdom":"^27.4.0","react":"^19.2.7","rimraf":"^6.1.2","vitest":"^4.1.10","react-dom":"^19.2.7","typescript":"^5.9.3","@types/node":"^25.9.1","drizzle-orm":"1.0.0-rc.4","tailwindcss":"^4.1.18","@types/react":"^19.2.7","react-router":"^8.3.0","@tailwindcss/cli":"^4.1.18","@vitest/coverage-v8":"^4.1.10","tailwindcss-animate":"^1.0.7","@testing-library/react":"^16.3.2","@aiquants/swipe-overlay":"1.2.4","@aiquants/virtualscroll":"^2.2.0","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"zod":">=3.25.0 <5.0.0","react":">=18","react-dom":">=18","drizzle-orm":">=1.0.0-beta.4 <2.0.0","react-router":"^7.0.0 || ^8.0.0","@aiquants/swipe-overlay":"^1.2.4","@aiquants/virtualscroll":"^2.2.0"},"peerDependenciesMeta":{"drizzle-orm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/daily-report_0.17.3_1786848830460_0.14375927597367388","host":"s3://npm-registry-packages-npm-production"}},"0.18.0":{"name":"@aiquants/daily-report","version":"0.18.0","keywords":["daily-report","react-router","drizzle","mssql","sse","virtual-scroll","typescript"],"author":"AI Quants","license":"MIT","_id":"@aiquants/daily-report@0.18.0","maintainers":[{"name":"fehde-k","email":"owner@aiquants.co.jp"},{"name":"fehde","email":"genbu0498@gmail.com"}],"dist":{"shasum":"8a8996c305442c6ff5718559fdfcc748235f7ca3","tarball":"https://registry.npmjs.org/@aiquants/daily-report/-/daily-report-0.18.0.tgz","fileCount":115,"integrity":"sha512-L++IWDtEbkKNDl/8RSF/hMJZsqo603kSZfi74I2fE+QU2T2JKsmSptBE9hoMb1pvOYk7lTaFvBzApA55x9+Liw==","signatures":[{"sig":"MEQCID43ivQrHTvnPEkHp600vxkJG8RHEkwr+mk+a9ZUerVnAiA87DqIIiUxZWRrg4shnKUO3XGlR6xQe3kGfFohWQPJNQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4054389},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.mjs","require":"./dist/client.js"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.mjs","require":"./dist/server.js"},"./styles/daily-report.standalone.css":"./dist/styles/daily-report.standalone.css"},"scripts":{"dev":"tsup --watch --onSuccess \"pnpm build:css\"","lint":"biome lint src/","test":"vitest run","build":"tsup && pnpm build:css","check":"biome check src/","clean":"rimraf dist","verify":"node_modules/.bin/tsc --noEmit && node_modules/.bin/tsc --noEmit -p tsconfig.spec.json && ../../node_modules/.bin/biome check src/ && pnpm run check:md && node_modules/.bin/vitest run","check:md":"cd ../.. && node_modules/.bin/markdownlint-cli2 \"packages/daily-report/**/*.md\"","build:css":"tailwindcss -i src/styles/standalone.entry.css -o dist/styles/daily-report.standalone.css --minify","check:fix":"biome check --write src/","typecheck":"tsc --noEmit","watch:css":"tailwindcss -i src/styles/standalone.entry.css -o dist/styles/daily-report.standalone.css --minify --watch","build:watch":"tsup --watch --onSuccess \"pnpm build:css\"","publish:major":"pnpm run verify && pnpm version major --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:minor":"pnpm run verify && pnpm version minor --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:patch":"pnpm run verify && pnpm version patch --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","test:coverage":"vitest run --coverage","typecheck:spec":"tsc --noEmit -p tsconfig.spec.json"},"_npmUser":{"name":"fehde","email":"genbu0498@gmail.com"},"description":"Reusable daily-report feature package: shared types/schemas, React (Router v7 / v8) UI with virtual scrolling + optimistic updates + SSE sync, and a drizzle (mssql) server layer with DI ports (auth, user resolution, redis, external sources).","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"26.0.0","dependencies":{"clsx":"^2.1.1","lucide-react":"^0.561.0","tailwind-merge":"^3.5.0","@heroicons/react":"^2.2.0","@radix-ui/react-slot":"^1.2.4","@radix-ui/react-tabs":"^1.1.13","@radix-ui/react-label":"^2.1.8","@radix-ui/react-switch":"^1.2.6","class-variance-authority":"^0.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.25.76","tsup":"^8.5.1","jsdom":"^27.4.0","react":"^19.2.7","rimraf":"^6.1.2","vitest":"^4.1.10","react-dom":"^19.2.7","typescript":"^5.9.3","@types/node":"^25.9.1","drizzle-orm":"1.0.0-rc.4","tailwindcss":"^4.1.18","@types/react":"^19.2.7","react-router":"^8.3.0","@tailwindcss/cli":"^4.1.18","@vitest/coverage-v8":"^4.1.10","tailwindcss-animate":"^1.0.7","@testing-library/react":"^16.3.2","@aiquants/swipe-overlay":"1.2.4","@aiquants/virtualscroll":"^3.0.0","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"zod":">=3.25.0 <5.0.0","react":">=18","react-dom":">=18","drizzle-orm":">=1.0.0-beta.4 <2.0.0","react-router":"^7.0.0 || ^8.0.0","@aiquants/swipe-overlay":"^1.2.4","@aiquants/virtualscroll":"^3.0.0"},"peerDependenciesMeta":{"drizzle-orm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/daily-report_0.18.0_1787205378672_0.9187153595441409","host":"s3://npm-registry-packages-npm-production"}},"0.18.1":{"name":"@aiquants/daily-report","version":"0.18.1","keywords":["daily-report","react-router","drizzle","mssql","sse","virtual-scroll","typescript"],"author":"AI Quants","license":"MIT","_id":"@aiquants/daily-report@0.18.1","maintainers":[{"name":"fehde-k","email":"owner@aiquants.co.jp"},{"name":"fehde","email":"genbu0498@gmail.com"}],"dist":{"shasum":"b5a86a1bbfefc309b2ace99b9459d5829cf65f76","tarball":"https://registry.npmjs.org/@aiquants/daily-report/-/daily-report-0.18.1.tgz","fileCount":117,"integrity":"sha512-FBm9VhKFdOwvJgYJdgA+dgTyGYHHxhWdzVnqamvN48W+fscR0vYhstZppyJTZSERCPpLhV7V1JbHWlyfWnXiow==","signatures":[{"sig":"MEUCIB5gchYMP+CLA06r2oScqMWZttYFBnqI449ODh/iSQLUAiEAvF9YbuJK27jJpm8phlO5azhB+SE/AqFbg9YNFiXcwLQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4113104},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.mjs","require":"./dist/client.js"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.mjs","require":"./dist/server.js"},"./styles/daily-report.standalone.css":"./dist/styles/daily-report.standalone.css"},"scripts":{"dev":"tsup --watch --onSuccess \"pnpm build:css\"","lint":"biome lint src/","test":"vitest run","build":"tsup && pnpm build:css","check":"biome check src/","clean":"rimraf dist","verify":"node_modules/.bin/tsc --noEmit && node_modules/.bin/tsc --noEmit -p tsconfig.spec.json && ../../node_modules/.bin/biome check src/ && pnpm run check:md && node_modules/.bin/vitest run","check:md":"cd ../.. && node_modules/.bin/markdownlint-cli2 \"packages/daily-report/**/*.md\"","build:css":"tailwindcss -i src/styles/standalone.entry.css -o dist/styles/daily-report.standalone.css --minify","check:fix":"biome check --write src/","typecheck":"tsc --noEmit","watch:css":"tailwindcss -i src/styles/standalone.entry.css -o dist/styles/daily-report.standalone.css --minify --watch","build:watch":"tsup --watch --onSuccess \"pnpm build:css\"","publish:major":"pnpm run verify && pnpm version major --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:minor":"pnpm run verify && pnpm version minor --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:patch":"pnpm run verify && pnpm version patch --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","test:coverage":"vitest run --coverage","typecheck:spec":"tsc --noEmit -p tsconfig.spec.json"},"_npmUser":{"name":"fehde","email":"genbu0498@gmail.com"},"description":"Reusable daily-report feature package: shared types/schemas, React (Router v7 / v8) UI with virtual scrolling + optimistic updates + SSE sync, and a drizzle (mssql) server layer with DI ports (auth, user resolution, redis, external sources).","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"26.0.0","dependencies":{"clsx":"^2.1.1","lucide-react":"^0.561.0","tailwind-merge":"^3.5.0","@heroicons/react":"^2.2.0","@radix-ui/react-slot":"^1.2.4","@radix-ui/react-tabs":"^1.1.13","@radix-ui/react-label":"^2.1.8","@radix-ui/react-switch":"^1.2.6","class-variance-authority":"^0.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.25.76","tsup":"^8.5.1","jsdom":"^27.4.0","react":"^19.2.7","rimraf":"^6.1.2","vitest":"^4.1.10","react-dom":"^19.2.7","typescript":"^5.9.3","@types/node":"^25.9.1","drizzle-orm":"1.0.0-rc.4","tailwindcss":"^4.1.18","@types/react":"^19.2.7","react-router":"^8.3.0","@tailwindcss/cli":"^4.1.18","@vitest/coverage-v8":"^4.1.10","tailwindcss-animate":"^1.0.7","@testing-library/react":"^16.3.2","@aiquants/resize-panels":"^1.9.0","@aiquants/swipe-overlay":"^1.2.4","@aiquants/virtualscroll":"^3.4.0","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"zod":">=3.25.0 <5.0.0","react":">=18","react-dom":">=18","drizzle-orm":">=1.0.0-beta.4 <2.0.0","react-router":"^7.0.0 || ^8.0.0","@aiquants/resize-panels":"^1.9.0","@aiquants/swipe-overlay":"^1.2.4","@aiquants/virtualscroll":"^3.4.0"},"peerDependenciesMeta":{"drizzle-orm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/daily-report_0.18.1_1788879238501_0.7020459944025079","host":"s3://npm-registry-packages-npm-production"}},"0.18.2":{"name":"@aiquants/daily-report","version":"0.18.2","keywords":["daily-report","react-router","drizzle","mssql","sse","virtual-scroll","typescript"],"author":"AI Quants","license":"MIT","_id":"@aiquants/daily-report@0.18.2","maintainers":[{"name":"fehde-k","email":"owner@aiquants.co.jp"},{"name":"fehde","email":"genbu0498@gmail.com"}],"dist":{"shasum":"942a153284117ac56da62ec6773d37d50a68dc23","tarball":"https://registry.npmjs.org/@aiquants/daily-report/-/daily-report-0.18.2.tgz","fileCount":117,"integrity":"sha512-OV4zvvYXv0CIKIbEO///5Xzko6FpIhy7/SCgKTyn5bc68B/1SYgUcqTil2ED95lG2QvAnM/gAqoxe9PaOXOROQ==","signatures":[{"sig":"MEUCIQDaor5W175URKr8TopQwFNWDbFF5Dm1PSEmMDfcHQrv/wIgHzUzNd0w6rgJTg8WRDR3NhqUqqGgZJCuZWiJi2KUJs0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4129068},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.mjs","require":"./dist/client.js"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.mjs","require":"./dist/server.js"},"./styles/daily-report.standalone.css":"./dist/styles/daily-report.standalone.css"},"scripts":{"dev":"tsup --watch --onSuccess \"pnpm build:css\"","lint":"biome lint src/","test":"vitest run","build":"tsup && pnpm build:css","check":"biome check src/","clean":"rimraf dist","verify":"node_modules/.bin/tsc --noEmit && node_modules/.bin/tsc --noEmit -p tsconfig.spec.json && ../../node_modules/.bin/biome check src/ && pnpm run check:md && node_modules/.bin/vitest run","check:md":"cd ../.. && node_modules/.bin/markdownlint-cli2 \"packages/daily-report/**/*.md\"","build:css":"tailwindcss -i src/styles/standalone.entry.css -o dist/styles/daily-report.standalone.css --minify","check:fix":"biome check --write src/","typecheck":"tsc --noEmit","watch:css":"tailwindcss -i src/styles/standalone.entry.css -o dist/styles/daily-report.standalone.css --minify --watch","build:watch":"tsup --watch --onSuccess \"pnpm build:css\"","publish:major":"pnpm run verify && pnpm version major --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:minor":"pnpm run verify && pnpm version minor --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:patch":"pnpm run verify && pnpm version patch --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","test:coverage":"vitest run --coverage","typecheck:spec":"tsc --noEmit -p tsconfig.spec.json"},"_npmUser":{"name":"fehde","email":"genbu0498@gmail.com"},"description":"Reusable daily-report feature package: shared types/schemas, React (Router v7 / v8) UI with virtual scrolling + optimistic updates + SSE sync, and a drizzle (mssql) server layer with DI ports (auth, user resolution, redis, external sources).","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"26.0.0","dependencies":{"clsx":"^2.1.1","lucide-react":"^0.561.0","tailwind-merge":"^3.5.0","@heroicons/react":"^2.2.0","@radix-ui/react-slot":"^1.2.4","@radix-ui/react-tabs":"^1.1.13","@radix-ui/react-label":"^2.1.8","@radix-ui/react-switch":"^1.2.6","class-variance-authority":"^0.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.25.76","tsup":"^8.5.1","jsdom":"^27.4.0","react":"^19.2.7","rimraf":"^6.1.2","vitest":"^4.1.10","react-dom":"^19.2.7","typescript":"^5.9.3","@types/node":"^25.9.1","drizzle-orm":"1.0.0-rc.4","tailwindcss":"^4.1.18","@types/react":"^19.2.7","react-router":"^8.3.0","@tailwindcss/cli":"^4.1.18","@vitest/coverage-v8":"^4.1.10","tailwindcss-animate":"^1.0.7","@testing-library/react":"^16.3.2","@aiquants/resize-panels":"^1.9.0","@aiquants/swipe-overlay":"^1.2.4","@aiquants/virtualscroll":"^3.4.0","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"zod":">=3.25.0 <5.0.0","react":">=18","react-dom":">=18","drizzle-orm":">=1.0.0-beta.4 <2.0.0","react-router":"^7.0.0 || ^8.0.0","@aiquants/resize-panels":"^1.9.0","@aiquants/swipe-overlay":"^1.2.4","@aiquants/virtualscroll":"^3.4.0"},"peerDependenciesMeta":{"drizzle-orm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/daily-report_0.18.2_1788906958721_0.178236303114643","host":"s3://npm-registry-packages-npm-production"}},"0.19.0":{"name":"@aiquants/daily-report","version":"0.19.0","keywords":["daily-report","react-router","drizzle","mssql","sse","virtual-scroll","typescript"],"author":"AI Quants","license":"MIT","_id":"@aiquants/daily-report@0.19.0","maintainers":[{"name":"fehde-k","email":"owner@aiquants.co.jp"},{"name":"fehde","email":"genbu0498@gmail.com"}],"dist":{"shasum":"93ddbf6ca7a3f1480634fd39a97acd4ecbb1e541","tarball":"https://registry.npmjs.org/@aiquants/daily-report/-/daily-report-0.19.0.tgz","fileCount":117,"integrity":"sha512-Rm5J1eZRix3pGNun1HI7pFcoiikOEaJ6SPS1yFoVT6phK+dJBI2usZTWIwaRzM7z77U4Ose5OrB1XRB1zsiePg==","signatures":[{"sig":"MEUCIFP0ZBjOLFu5Gr1Y8W84Q+1lS1EwOX1cscAmU8/zSx+LAiEAxrPIrTcMgkkOkAS8zRKAl45Z3tuhgvakRPtHvUwIREI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIETC0lHYEG6i1BjMFS9VUvlLuAFbhcWCQiXY9s8NtLOqAiAP35yjRoPCjnjcpHbyVzuihMEoLpBLgw8eVArDRCEp+g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4129359},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.mjs","require":"./dist/client.js"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.mjs","require":"./dist/server.js"},"./styles/daily-report.standalone.css":"./dist/styles/daily-report.standalone.css"},"scripts":{"dev":"tsup --watch --onSuccess \"pnpm build:css\"","lint":"biome lint src/","test":"vitest run","build":"tsup && pnpm build:css","check":"biome check src/","clean":"rimraf dist","verify":"node_modules/.bin/tsc --noEmit && node_modules/.bin/tsc --noEmit -p tsconfig.spec.json && ../../node_modules/.bin/biome check src/ && pnpm run check:md && node_modules/.bin/vitest run","check:md":"cd ../.. && node_modules/.bin/markdownlint-cli2 \"packages/daily-report/**/*.md\"","build:css":"tailwindcss -i src/styles/standalone.entry.css -o dist/styles/daily-report.standalone.css --minify","check:fix":"biome check --write src/","typecheck":"tsc --noEmit","watch:css":"tailwindcss -i src/styles/standalone.entry.css -o dist/styles/daily-report.standalone.css --minify --watch","build:watch":"tsup --watch --onSuccess \"pnpm build:css\"","publish:major":"pnpm run verify && pnpm version major --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:minor":"pnpm run verify && pnpm version minor --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:patch":"pnpm run verify && pnpm version patch --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","test:coverage":"vitest run --coverage","typecheck:spec":"tsc --noEmit -p tsconfig.spec.json"},"_npmUser":{"name":"fehde","email":"genbu0498@gmail.com"},"description":"Reusable daily-report feature package: shared types/schemas, React (Router v7 / v8) UI with virtual scrolling + optimistic updates + SSE sync, and a drizzle (mssql) server layer with DI ports (auth, user resolution, redis, external sources).","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"26.0.0","dependencies":{"clsx":"^2.1.1","lucide-react":"^0.561.0","tailwind-merge":"^3.5.0","@heroicons/react":"^2.2.0","@radix-ui/react-slot":"^1.2.4","@radix-ui/react-tabs":"^1.1.13","@radix-ui/react-label":"^2.1.8","@radix-ui/react-switch":"^1.2.6","class-variance-authority":"^0.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.25.76","tsup":"^8.5.1","jsdom":"^27.4.0","react":"^19.2.7","rimraf":"^6.1.2","vitest":"^4.1.10","react-dom":"^19.2.7","typescript":"^5.9.3","@types/node":"^25.9.1","drizzle-orm":"1.0.0-rc.4","tailwindcss":"^4.1.18","@types/react":"^19.2.7","react-router":"^8.3.0","@tailwindcss/cli":"^4.1.18","@vitest/coverage-v8":"^4.1.10","tailwindcss-animate":"^1.0.7","@testing-library/react":"^16.3.2","@aiquants/resize-panels":"^2.0.0","@aiquants/swipe-overlay":"^1.2.4","@aiquants/virtualscroll":"^3.5.0","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"zod":">=3.25.0 <5.0.0","react":">=18","react-dom":">=18","drizzle-orm":">=1.0.0-beta.4 <2.0.0","react-router":"^7.0.0 || ^8.0.0","@aiquants/resize-panels":"^2.0.0","@aiquants/swipe-overlay":"^1.2.4","@aiquants/virtualscroll":"^3.5.0"},"peerDependenciesMeta":{"drizzle-orm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/daily-report_0.19.0_1789529552911_0.8495620641110995","host":"s3://npm-registry-packages-npm-production"}},"0.20.0":{"name":"@aiquants/daily-report","version":"0.20.0","keywords":["daily-report","react-router","drizzle","mssql","sse","virtual-scroll","typescript"],"author":"AI Quants","license":"MIT","_id":"@aiquants/daily-report@0.20.0","maintainers":[{"name":"fehde-k","email":"owner@aiquants.co.jp"},{"name":"fehde","email":"genbu0498@gmail.com"}],"dist":{"shasum":"508186ae73fd17e6399b4a1eafed3abe4a743d00","tarball":"https://registry.npmjs.org/@aiquants/daily-report/-/daily-report-0.20.0.tgz","fileCount":118,"integrity":"sha512-dHMg6yaqXppW2coASAs9VqfMA7LaphMyswyOv9Oaw25NpRup1JG314ZBjhuYwmMUofqiz6PmrqdRN46dPbNTHw==","signatures":[{"sig":"MEQCIEgTjY00eMpXgqpTIBjHf9o8FwgKo3cE4bRPKW5ImPqgAiAn+laZBHgLZwpOHRoh0Z8MvEGowFSyTKo59l8GKGQDwg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDfEC/EBjkLM6fqXTrpsDZ/7O9TdnO9aR548obfZKeqgAIgEFp/RtjotIE+LscdCsuYyfpsqu8U2knrfPGJ25dcGRM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4141180},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.mjs","require":"./dist/client.js"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.mjs","require":"./dist/server.js"},"./styles/daily-report.standalone.css":"./dist/styles/daily-report.standalone.css"},"scripts":{"dev":"tsup --watch --onSuccess \"pnpm build:css\"","lint":"biome lint src/","test":"vitest run","build":"tsup && pnpm build:css","check":"biome check src/","clean":"rimraf dist","verify":"node_modules/.bin/tsc --noEmit && node_modules/.bin/tsc --noEmit -p tsconfig.spec.json && ../../node_modules/.bin/biome check src/ && pnpm run check:md && node_modules/.bin/vitest run","check:md":"cd ../.. && node_modules/.bin/markdownlint-cli2 \"packages/daily-report/**/*.md\"","build:css":"tailwindcss -i src/styles/standalone.entry.css -o dist/styles/daily-report.standalone.css --minify","check:fix":"biome check --write src/","typecheck":"tsc --noEmit","watch:css":"tailwindcss -i src/styles/standalone.entry.css -o dist/styles/daily-report.standalone.css --minify --watch","build:watch":"tsup --watch --onSuccess \"pnpm build:css\"","publish:major":"pnpm run verify && pnpm version major --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:minor":"pnpm run verify && pnpm version minor --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:patch":"pnpm run verify && pnpm version patch --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","test:coverage":"vitest run --coverage","typecheck:spec":"tsc --noEmit -p tsconfig.spec.json"},"_npmUser":{"name":"fehde","email":"genbu0498@gmail.com"},"description":"Reusable daily-report feature package: shared types/schemas, React (Router v7 / v8) UI with virtual scrolling + optimistic updates + SSE sync, and a drizzle (mssql) server layer with DI ports (auth, user resolution, redis, external sources).","directories":{},"sideEffects":["**/*.css"],"dependencies":{"clsx":"^2.1.1","lucide-react":"^0.561.0","tailwind-merge":"^3.5.0","@aiquants/mssql":"^0.1.1","@heroicons/react":"^2.2.0","@radix-ui/react-slot":"^1.2.4","@radix-ui/react-tabs":"^1.1.13","@radix-ui/react-label":"^2.1.8","@radix-ui/react-switch":"^1.2.6","class-variance-authority":"^0.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.25.76","tsup":"^8.5.1","jsdom":"^27.4.0","react":"^19.2.7","rimraf":"^6.1.2","vitest":"^4.1.10","react-dom":"^19.2.7","typescript":"^5.9.3","@types/node":"^25.9.1","drizzle-orm":"1.0.0-rc.4","tailwindcss":"^4.1.18","@types/react":"^19.2.7","react-router":"^8.3.0","@tailwindcss/cli":"^4.1.18","@vitest/coverage-v8":"^4.1.10","tailwindcss-animate":"^1.0.7","@testing-library/react":"^16.3.2","@aiquants/resize-panels":"^2.0.0","@aiquants/swipe-overlay":"^1.2.4","@aiquants/virtualscroll":"^3.5.0","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"zod":">=3.25.0 <5.0.0","react":">=18","react-dom":">=18","drizzle-orm":">=1.0.0-beta.4 <2.0.0","react-router":"^7.0.0 || ^8.0.0","@aiquants/resize-panels":"^2.0.0","@aiquants/swipe-overlay":"^1.2.4","@aiquants/virtualscroll":"^3.5.0"},"peerDependenciesMeta":{"drizzle-orm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/daily-report_0.20.0_1789649107743_0.8971420075600252","host":"s3://npm-registry-packages-npm-production"}},"0.20.1":{"name":"@aiquants/daily-report","version":"0.20.1","keywords":["daily-report","react-router","drizzle","mssql","sse","virtual-scroll","typescript"],"author":"AI Quants","license":"MIT","_id":"@aiquants/daily-report@0.20.1","maintainers":[{"name":"fehde-k","email":"owner@aiquants.co.jp"},{"name":"fehde","email":"genbu0498@gmail.com"}],"dist":{"shasum":"ea42664249ddc70845f5e0a4a4cecf2470f0ef6f","tarball":"https://registry.npmjs.org/@aiquants/daily-report/-/daily-report-0.20.1.tgz","fileCount":22,"integrity":"sha512-OVGD9r5cBMKNBrBUwU5gs5p3oyPiEKdvh0N6AjWFSiqK5ogpTmV1UJOxLEzTdn9bgBWIOqyO6T8IWbw6pu6ALA==","signatures":[{"sig":"MEUCIQCEFsPWlqpW8Te66ENyRkHcN9K2QYLVerJFNGtbGSgPgwIgb34vEOkMn+945agv7IVXSRGdg28237YmL3Jw7Pbtl2g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCn4xRQwjVwyUz8dZVlgKPm/ui8yc0nuljFny/WOHldPgIgJZ4Hz3Q3+VVT9SJfg2XYUPpMxOxVUjGzLu+QrgxhOUk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":817482},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.mjs","require":"./dist/client.js"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.mjs","require":"./dist/server.js"},"./styles/daily-report.standalone.css":"./dist/styles/daily-report.standalone.css"},"scripts":{"dev":"tsup --watch --onSuccess \"pnpm build:css\"","lint":"biome lint src/","test":"vitest run","build":"tsup && pnpm build:css && node ../../.config/scripts/strip-dts-comments.mjs dist","check":"biome check src/","clean":"rimraf dist","verify":"node_modules/.bin/tsc --noEmit && node_modules/.bin/tsc --noEmit -p tsconfig.spec.json && ../../node_modules/.bin/biome check src/ && pnpm run check:md && node_modules/.bin/vitest run","check:md":"cd ../.. && node_modules/.bin/markdownlint-cli2 \"packages/daily-report/**/*.md\"","build:css":"tailwindcss -i src/styles/standalone.entry.css -o dist/styles/daily-report.standalone.css --minify","check:fix":"biome check --write src/","typecheck":"tsc --noEmit","watch:css":"tailwindcss -i src/styles/standalone.entry.css -o dist/styles/daily-report.standalone.css --minify --watch","build:watch":"tsup --watch --onSuccess \"pnpm build:css\"","publish:major":"pnpm run verify && pnpm version major --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:minor":"pnpm run verify && pnpm version minor --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:patch":"pnpm run verify && pnpm version patch --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","test:coverage":"vitest run --coverage","typecheck:spec":"tsc --noEmit -p tsconfig.spec.json"},"_npmUser":{"name":"fehde","email":"genbu0498@gmail.com"},"description":"Reusable daily-report feature package: shared types/schemas, React (Router v7 / v8) UI with virtual scrolling + optimistic updates + SSE sync, and a drizzle (mssql) server layer with DI ports (auth, user resolution, redis, external sources).","directories":{},"sideEffects":["**/*.css"],"dependencies":{"clsx":"^2.1.1","lucide-react":"^0.561.0","tailwind-merge":"^3.5.0","@aiquants/mssql":"^0.1.2","@heroicons/react":"^2.2.0","@radix-ui/react-slot":"^1.2.4","@radix-ui/react-tabs":"^1.1.13","@radix-ui/react-label":"^2.1.8","@radix-ui/react-switch":"^1.2.6","class-variance-authority":"^0.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.25.76","tsup":"^8.5.1","jsdom":"^27.4.0","react":"^19.2.7","rimraf":"^6.1.2","vitest":"^4.1.10","react-dom":"^19.2.7","typescript":"^5.9.3","@types/node":"^25.9.1","drizzle-orm":"1.0.0-rc.4","tailwindcss":"^4.1.18","@types/react":"^19.2.7","react-router":"^8.3.0","@tailwindcss/cli":"^4.1.18","@vitest/coverage-v8":"^4.1.10","tailwindcss-animate":"^1.0.7","@testing-library/react":"^16.3.2","@aiquants/resize-panels":"^2.0.1","@aiquants/swipe-overlay":"^1.2.5","@aiquants/virtualscroll":"^3.5.0","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"zod":">=3.25.0 <5.0.0","react":">=18","react-dom":">=18","drizzle-orm":">=1.0.0-beta.4 <2.0.0","react-router":"^7.0.0 || ^8.0.0","@aiquants/resize-panels":"^2.0.1","@aiquants/swipe-overlay":"^1.2.5","@aiquants/virtualscroll":"^3.5.0"},"peerDependenciesMeta":{"drizzle-orm":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/daily-report_0.20.1_1789701079451_0.9130068544651699","host":"s3://npm-registry-packages-npm-production"}},"0.21.0":{"_id":"@aiquants/daily-report@0.21.0","dist":{"shasum":"6af51f63c0d6c397e8f02390edf5be51ae04b6d5","tarball":"https://registry.npmjs.org/@aiquants/daily-report/-/daily-report-0.21.0.tgz","fileCount":22,"integrity":"sha512-v1zVQdifGdmt9Xw7TUj+EYJTksYlhCXPvBocRfkVv2xgsUpEECFbt9X48aKwC9QqZGr2yUeVWWSQX/WssB09BQ==","signatures":[{"sig":"MEQCIHuvsKIzlilVxQDLrwfFu0iyQDCjFRzWKRsk01shTcWMAiBkD6SIN+Vl6+EvIjU41+M9Bb51pdnW/VyDWRLK29kKNQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIBJ7VmY2GAR7xv709ifGx+Ec1nzQoH0AJGCTzWV68QKWAiEApxn1Jm/wlHT2bg8EJ7CntUlO8aEtP3SO9ZwWjGXzD4k="}],"unpackedSize":866426},"main":"dist/index.js","name":"@aiquants/daily-report","types":"dist/index.d.ts","author":"AI Quants","module":"dist/index.mjs","engines":{"node":">=18.0.0","pnpm":">=8.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.mjs","require":"./dist/client.js"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.mjs","require":"./dist/server.js"},"./styles/daily-report.standalone.css":"./dist/styles/daily-report.standalone.css"},"license":"MIT","scripts":{"dev":"tsup --watch --onSuccess \"pnpm build:css\"","lint":"biome lint src/","test":"vitest run","build":"tsup && pnpm build:css && node ../../.config/scripts/strip-dts-comments.mjs dist","check":"biome check src/","clean":"rimraf dist","verify":"node_modules/.bin/tsc --noEmit && node_modules/.bin/tsc --noEmit -p tsconfig.spec.json && ../../node_modules/.bin/biome check src/ && pnpm run check:md && node_modules/.bin/vitest run","check:md":"cd ../.. && node_modules/.bin/markdownlint-cli2 \"packages/daily-report/**/*.md\"","build:css":"tailwindcss -i src/styles/standalone.entry.css -o dist/styles/daily-report.standalone.css --minify","check:fix":"biome check --write src/","typecheck":"tsc --noEmit","watch:css":"tailwindcss -i src/styles/standalone.entry.css -o dist/styles/daily-report.standalone.css --minify --watch","build:watch":"tsup --watch --onSuccess \"pnpm build:css\"","publish:major":"pnpm run verify && pnpm version major --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:minor":"pnpm run verify && pnpm version minor --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","publish:patch":"pnpm run verify && pnpm version patch --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks","test:coverage":"vitest run --coverage","typecheck:spec":"tsc --noEmit -p tsconfig.spec.json"},"version":"0.21.0","_npmUser":{"name":"fehde","email":"genbu0498@gmail.com"},"keywords":["daily-report","react-router","drizzle","mssql","sse","virtual-scroll","typescript"],"description":"Reusable daily-report feature package: shared types/schemas, React (Router v7 / v8) UI with virtual scrolling + optimistic updates + SSE sync, and a drizzle (mssql) server layer with DI ports (auth, user resolution, redis, external sources).","directories":{},"maintainers":[{"name":"fehde-k","email":"owner@aiquants.co.jp"},{"name":"fehde","email":"genbu0498@gmail.com"}],"sideEffects":["**/*.css"],"dependencies":{"clsx":"^2.1.1","lucide-react":"^0.561.0","tailwind-merge":"^3.5.0","@aiquants/mssql":"^0.1.2","@heroicons/react":"^2.2.0","@radix-ui/react-slot":"^1.2.4","@radix-ui/react-tabs":"^1.1.13","@radix-ui/react-label":"^2.1.8","@radix-ui/react-switch":"^1.2.6","class-variance-authority":"^0.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.25.76","tsup":"^8.5.1","jsdom":"^27.4.0","react":"^19.2.7","rimraf":"^6.1.2","vitest":"^4.1.10","react-dom":"^19.2.7","typescript":"^5.9.3","@types/node":"^25.9.1","drizzle-orm":"1.0.0-rc.4","tailwindcss":"^4.1.18","@types/react":"^19.2.7","react-router":"^8.3.0","@tailwindcss/cli":"^4.1.18","@vitest/coverage-v8":"^4.1.10","tailwindcss-animate":"^1.0.7","@testing-library/react":"^16.3.2","@aiquants/resize-panels":"^2.0.1","@aiquants/swipe-overlay":"^1.2.5","@aiquants/virtualscroll":"^3.7.0","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"zod":">=3.25.0 <5.0.0","react":">=18","react-dom":">=18","drizzle-orm":">=1.0.0-beta.4 <2.0.0","react-router":"^7.0.0 || ^8.0.0","@aiquants/resize-panels":"^2.0.1","@aiquants/swipe-overlay":"^1.2.5","@aiquants/virtualscroll":"^3.7.0"},"peerDependenciesMeta":{"drizzle-orm":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/daily-report_0.21.0_1790203181945_0.4096692684380534"}}},"time":{"created":"2026-07-22T02:10:35.604Z","modified":"2026-09-23T22:39:42.277Z","0.1.1":"2026-07-22T02:10:35.989Z","0.2.0":"2026-07-22T04:42:46.118Z","0.3.0":"2026-07-22T08:58:54.022Z","0.3.1":"2026-07-22T09:32:39.966Z","0.3.2":"2026-07-23T02:24:56.800Z","0.4.0":"2026-07-23T23:18:13.096Z","0.4.2":"2026-07-24T06:01:14.054Z","0.5.0":"2026-07-25T05:41:14.292Z","0.6.0":"2026-07-25T07:00:54.716Z","0.6.1":"2026-07-26T23:46:34.711Z","0.6.2":"2026-07-26T23:54:47.962Z","0.7.0":"2026-08-04T02:46:58.023Z","0.8.0":"2026-08-08T01:51:17.811Z","0.9.0":"2026-08-08T07:43:02.824Z","0.9.1":"2026-08-08T11:57:41.291Z","0.10.0":"2026-08-10T01:52:19.062Z","0.11.0":"2026-08-11T03:08:43.734Z","0.12.0":"2026-08-11T08:12:54.843Z","0.12.1":"2026-08-11T14:18:34.984Z","0.12.3":"2026-08-12T03:25:05.494Z","0.12.4":"2026-08-12T12:43:15.952Z","0.13.0":"2026-08-12T21:40:18.493Z","0.14.0":"2026-08-13T00:08:34.060Z","0.14.1":"2026-08-13T01:10:56.753Z","0.15.0":"2026-08-13T03:41:07.693Z","0.16.0":"2026-08-13T10:55:29.182Z","0.17.0":"2026-08-14T02:59:55.017Z","0.17.1":"2026-08-15T05:08:00.985Z","0.17.2":"2026-08-15T22:37:39.906Z","0.17.3":"2026-08-16T02:53:50.666Z","0.18.0":"2026-08-20T05:56:18.877Z","0.18.1":"2026-09-08T14:53:58.683Z","0.18.2":"2026-09-08T22:35:58.929Z","0.19.0":"2026-09-16T03:32:33.063Z","0.20.0":"2026-09-17T12:45:07.873Z","0.20.1":"2026-09-18T03:11:19.606Z","0.21.0":"2026-09-23T22:39:42.086Z"},"author":"AI Quants","license":"MIT","keywords":["daily-report","react-router","drizzle","mssql","sse","virtual-scroll","typescript"],"description":"Reusable daily-report feature package: shared types/schemas, React (Router v7 / v8) UI with virtual scrolling + optimistic updates + SSE sync, and a drizzle (mssql) server layer with DI ports (auth, user resolution, redis, external sources).","maintainers":[{"name":"fehde-k","email":"owner@aiquants.co.jp"},{"name":"fehde","email":"genbu0498@gmail.com"}],"readme":"# @aiquants/daily-report\n\nReusable **daily-report** feature package: a virtual-scrolling report list/detail UI with optimistic updates and SSE real-time sync (React Router v7), plus a drizzle (**mssql**) server layer — all app-specific concerns (auth, user resolution, id obfuscation, redis, legacy tables, chrome) injected via DI ports.\n\nFollows the `@aiquants/authz-*` DI layering — every app-specific concern (auth, user resolution, id obfuscation, redis, legacy tables) is injected via ports, so the package itself carries no application- or domain-specific knowledge. Packaged as one module with three entries:\n\n| Entry | Contents | Environment |\n| :--- | :--- | :--- |\n| `@aiquants/daily-report` | Types, zod SSE schemas, business-date / text / comment utilities | isomorphic |\n| `@aiquants/daily-report/client` | `DailyReportPage`, list/detail components, hooks, action context, route helpers | browser (React) |\n| `@aiquants/daily-report/server` | `createDailyReportServer` (service + loaders/actions), `defineDailyReportSchema`, SSE fan-out reader, SQL result cache | node |\n\n## Install\n\nMonorepo (already a pnpm workspace package):\n\n```jsonc\n// consumer package.json\n\"dependencies\": { \"@aiquants/daily-report\": \"workspace:*\" }\n```\n\nExternal projects:\n\n```bash\npnpm add @aiquants/daily-report react react-dom react-router drizzle-orm zod\n```\n\n`react` / `react-dom` / `react-router` / `drizzle-orm` / `zod` are **peer dependencies**. Build / test: `pnpm run build` (tsup → dist) / `pnpm run test` (vitest).\n\n### Tailwind CSS\n\nThis package has **no hand-written component CSS**, so it ships **no components-only artifact** — only a standalone build for non-Tailwind hosts. Components carry Tailwind utility classes in JSX. Pick one consumption mode:\n\n**Tailwind v4 host (required if your app builds Tailwind itself)** — add the package source to your app's scan targets so all utilities are generated in one canonical build, define the `dark:` variant, and map the shadcn tokens the components reference (`bg-background`, `text-muted-foreground`, ... do not exist in Tailwind's default theme, so those utilities are not generated unless the tokens are mapped):\n\n```css\n/* app tailwind.css (Tailwind v4) */\n@source \"../node_modules/@aiquants/daily-report/src/**/*.{ts,tsx}\";\n/* monorepo: @source \"../../../../packages/daily-report/src/**/*.{ts,tsx}\"; */\n@plugin \"tailwindcss-animate\";\n@custom-variant dark (&:where(.dark, .dark *));\n@theme inline {\n  --color-background: hsl(var(--background));\n  --color-muted-foreground: hsl(var(--muted-foreground));\n  /* map every shadcn token the components use; full set in src/styles/standalone.entry.css */\n}\n```\n\nThe host must also:\n\n- Load the `tailwindcss-animate` plugin. The components use `animate-in` / `fade-in` / `zoom-in-95` entrance animations; without `@plugin \"tailwindcss-animate\"` those classes are not generated and the animations silently no-op.\n- Define the shadcn CSS variables themselves (`--background`, `--muted`, `--radius`, ...).\n- Import the `@aiquants/virtualscroll` peer CSS once. Do NOT `@import` the standalone build alongside your own Tailwind build: it duplicates utilities your build also emits, and concatenated builds cannot reproduce the single-build canonical order (base utilities before variants), so base/variant winners flip regardless of `@layer` wrapping (e.g. a later duplicate `.flex` beats an earlier `.sm:hidden`).\n\n**Non-Tailwind host** — import the single self-contained standalone build (`pnpm run build:css` → `dist/styles/daily-report.standalone.css`):\n\n```css\n@import \"@aiquants/daily-report/styles/daily-report.standalone.css\";\n```\n\nThe standalone build bundles every JSX utility (and maps the shadcn tokens), but **not** the shadcn variable values themselves and **not** the virtualscroll CSS. So the host must still: define the shadcn variables (`--background`, `--muted`, `--radius`, ...), toggle the `.dark` class on `<html>` for `dark:` variants, and import `@aiquants/virtualscroll/styles/virtualscroll.standalone.css` separately (kept out to avoid a stale embedded copy overriding the host's fresh one).\n\n## Required database schema\n\nSeven tables: `DailyReportHub` (core/cross-source), `DailyReportInternal` (in-app content), `DailyReportComment`, `DailyReportLabel`, `DailyReportHub_Label`, `DailyReportUserStatus` (read status & stars), and the optional `DailyReportAttachment` (attachment metadata — omit it and the attachment feature degrades gracefully: `attachments` stays an empty array and the attachment endpoint returns 404 for every token).\nAttachment delivery additionally requires the `attachmentIdCodec` and `readAttachment` DI ports on `createDailyReportServer` (see `DailyReportServerConfig`); the factory then exposes `dailyReportServer.attachment.loader`, which the host app must mount on its own byte-serving route (e.g. `daily_report.api.attachment.$token` — a route separate from the `:endpoint` JSON router, whose fixed `Content-Type: application/json` + CSP headers are incompatible with byte delivery).\n\nExisting apps can inject their own drizzle models (structural typing — see `DailyReportTables`). Greenfield projects can generate definitions:\n\n```ts\nimport { defineDailyReportSchema } from \"@aiquants/daily-report/server\"\nconst tables = defineDailyReportSchema(\"dbo_app\", { userTable: Users })\n```\n\n`DailyReportHub.source_id_num` is a computed column (`TRY_CAST(source_id AS BIGINT)`), used to join external legacy sources.\n\n## Server wiring (DI)\n\n```ts\n// app/services/daily-report/config.server.ts\nimport { createDailyReportServer, type DailyReportDb, type DailyReportRedisProvider } from \"@aiquants/daily-report/server\"\n\nexport const dailyReportServer = createDailyReportServer({\n    db: db as unknown as DailyReportDb,          // drizzle mssql handle\n    tables: { hub, internal, comment, label, hubLabel, userStatus },\n    userTable: Users,                            // { id, displayName }\n    resolveUserId: async (externalId) => {/* External ID (e.g., OAuth sub) -> internal numeric ID */},\n    encodeUserId: (id) => encodeId(id),          // Internal ID obfuscation (e.g. sqids)\n    authenticate: authenticateInLoader,          // DailyReportAuthenticate (overloaded): string mode => { user, cookie? } / null mode => { user?, cookie? }\n    redis: redisProvider as unknown as DailyReportRedisProvider, // Optional (disables SSE/epoch)\n    externalSources: [                           // Optional: ingest legacy daily report tables from external systems\n        { sourceType: \"legacy\", table: LegacyReport, idColumn: LegacyReport.reportId, mapRow: mapLegacyRow },\n    ],\n    draftLabelNames: [\"Draft\", \"Work in Progress\"], // Draft label names (can specify a single string or array of candidates)\n    enableDevCacheClear: import.meta.env.DEV,    // Optional: allow the dev-only `intent=clearCache` (default false → 400)\n})\n```\n\nRoute mounts (React Router v7, flexible file convention):\n\n```ts\n// daily_report._index/loader.server.ts\nexport const loader = async (args) => {\n    const r = await dailyReportServer.index.loader(args)\n    return data(r.data, { headers: r.headers })\n}\n// daily_report.api.$endpoint/route.tsx\nexport const loader = (args) => dailyReportServer.api.loader(args)\nexport const action = (args) => dailyReportServer.api.action(args)\n// sse.daily_report.$endpoint/route.tsx\nexport const loader = (args) => dailyReportServer.sse.loader(args)\n```\n\n### DI ports\n\n- `authenticate(request, { failureRedirect })` — Session verification, declared as the overloaded `DailyReportAuthenticate`. With `failureRedirect: string` the implementation must throw a redirect on unauthenticated requests, so a normal return always carries `user` (typed as required — leaving it optional would force callers to write an unreachable `!user` guard). With `failureRedirect: null` it must not redirect and resolves without `user` instead; forward the returned `cookie` on unauthenticated responses too, otherwise a destroyed session lingers in the browser.\n- `resolveUserId(externalId)` — External ID → internal numeric ID (`null` = unregistered). In-process caching can be disabled with `disableUserIdCache` (useful for testing).\n- `encodeUserId(id)` — Obfuscates IDs sent to the client. Inject app-level implementation to preserve existing ID namespaces.\n- `redis` — `getClient()` (get/incr/xAdd/xRange/xRevRange) + `createClient()` (blocking xRead). Structurally matches a `node-redis` v5 client. If omitted, SSE publishing is skipped (with a warning) and epoch is disabled.\n- `externalSources[]` — When `Hub.source_type` matches, performs a `LEFT JOIN` on `Hub.source_id_num = idColumn` and converts fields via `mapRow`.\n- `draftLabelName` / `draftLabelNames` — Database label names representing draft states (single string or array of candidates like `[\"Draft\", \"Work in Progress\"]`). Used for server-side cross-user visibility filtering (hiding drafts from other users) and `isDraft` evaluation.\n- `resolveVisibleSourceTypes(request)` — **Optional row-level authorization port.** Returns the `Hub.source_type` values this request may view. Applies uniformly to every server data path: list (ids stream), business-date list, detail, comments, attachment bytes, and SSE. See [Source-type visibility](#source-type-visibility) below.\n- `enableDevCacheClear` — Gates the dev-only `POST /action` `intent=clearCache` (flush every worker's cache). Default `false` → the handler returns `400` before touching the service. Wire `import.meta.env.DEV` to enable it only in development (any authenticated user could otherwise flush all caches without limit).\n- Primary tuning parameters: `idsTtlMs` (180s) / `businessDateTtlMs` (300s) / `streamKey` / `streamMaxLen` / `loginRedirectPath`.\n\n### Source-type visibility\n\nRestrict which report categories a viewer may see, without the package depending on any authorization library. The port receives the request and returns plain strings; your app decides the policy.\n\n```ts\ncreateDailyReportServer({\n  // …existing config\n  resolveVisibleSourceTypes: async (request, { reason }) => {\n    // `reason === \"refresh\"` is the periodic re-check of a live SSE connection: bypass any\n    // request-scoped cache there, or a revoked grant keeps streaming until the client reconnects.\n    const grants = await yourAuthz.grantsFor(request, { skipCache: reason === \"refresh\" })\n    return grants.canReadLegacy ? [\"legacy\"] : []\n  },\n})\n```\n\n**Contract**\n\n| Return value | Meaning |\n| --- | --- |\n| `undefined` / `null` | Unrestricted — every source type (the default when the port is not injected). |\n| `[\"legacy\", \"Internal\"]` | Only those source types are visible (bodies **and** comments). |\n| `[]` | Nothing is visible (zero rows) — **not** the same as `null`. |\n| `{ read: [...] }` | Same as returning the bare array — the comment dimension follows `read`. |\n| `{ read: [...], comment: [...] }` | Bodies and comments restricted independently. See [Comment visibility](#comment-visibility). |\n| throws | Treated as `[]` (deny all). The failure is logged; an authorization-store outage never falls open. |\n\n- **Vocabulary**: the strings are `DailyReportHub.source_type` **values** — the `sourceType` of each entry you registered in `externalSources`, plus `\"Internal\"` which the package writes for reports it creates. They are *not* your authorization resource keys; mapping a resource key (e.g. `report_legacy`) onto a source type (e.g. `legacy`) is the consuming app's job. Read the canonical set at boot from `dailyReportServer.knownSourceTypes` and assert your mapping against it — an unknown token silently matches zero rows.\n- **Matching** is case-insensitive on both the JS and SQL sides (both fold to lower case), so it does not depend on the database collation. Surrounding whitespace is trimmed from the *tokens you return* but never from the stored column value — the two sides fold identically, and a padded stored value is simply invisible (fail-closed) rather than visible on one path and hidden on the other.\n- **Where it applies**: the SQL predicate is injected in the service layer, so it holds for every delivery path (including attachment bytes) rather than only the HTTP handlers. It also gates the mutations that act on someone else's report (`addComment`, `deleteComment`, star, read); a hidden report is reported as `404`, never `403`.\n- **How it reaches the service**: the resolved set is wrapped in a `DailyReportViewerScope` and passed as the **first** argument of every gated service method.\n  The class is nominal (it holds a private field), so `{ visible: null }`, `{ ...scope, visible: null }` and `new DailyReportViewerScope(...)` are all type errors — the only ways to obtain one are `DailyReportViewerScope.restrictTo(tokens)` — which accepts `readonly string[]` only, so it cannot be handed a nullish value and quietly widen — and `DailyReportViewerScope.unrestricted(auditReason)`.\n  Because a bare `null` is not spellable as a visibility value, `grep -rn \"DailyReportViewerScope.unrestricted(\"` enumerates every unfiltered read in a codebase, each carrying a written reason.\n- **Performance**: the port is called once per request on the critical path (cache keys incorporate the resolved set), so keep it fast — cache grants per session/user with a short TTL (≤ 60s). A live SSE connection re-resolves on its existing keep-alive tick (~60s) to bound how long a revoked grant keeps streaming; that call passes `reason: \"refresh\"` and reuses the connection's original `Request`, so a cache keyed on request identity **must** be bypassed when `reason === \"refresh\"` or the re-check silently returns the stale set.\n- **SSE latency**: because a live connection re-resolves periodically, a grant change (in either direction) takes effect for the stream within ~60s. Events dropped before a widening are not replayed; the next read (which re-resolves per request) restores them.\n\n### Comment visibility\n\nReturn `{ read, comment }` from the same port to restrict **reading and writing comments** independently of the report bodies — this is what connects a per-category comment permission (e.g. `daily_report_legacy_comment`) to actual access control.\n\n```ts\nresolveVisibleSourceTypes: async (request, { reason }) => {\n  const grants = await yourAuthz.grantsFor(request, { skipCache: reason === \"refresh\" })\n  return {\n    read: grants.readableSourceTypes,        // e.g. [\"legacy\", \"Internal\"]\n    comment: grants.commentableSourceTypes,  // e.g. [\"Internal\"] — omit the key to follow `read`\n  }\n},\n```\n\n| `comment` | Meaning |\n| --- | --- |\n| omitted | Follows `read` — identical to returning a bare array. This is the default and the only spelling for \"same as bodies\". |\n| `[]` | Comments are invisible and cannot be written, while the bodies stay readable. |\n| `[\"Internal\"]` | Only those source types' comments are visible/writable. Narrowed to `read ∩ comment` at construction, since comments only ever ship inside an already-read-filtered report. |\n\n- **`null` is rejected by the type system** — a second spelling for \"follow `read`\" would make the dimension four-state and reintroduce exactly the unrestricted-vs-deny-all confusion the tri-state contract exists to prevent. A `null` that slips through at runtime fails **closed**.\n- **What it covers**: `DailyReportDetail` carries comments in **two** structurally different fields — `postedComments` (the package's own comment table) and `externalComments` (JSON supplied by an `externalSources` adapter). Both are gated. They are emptied, never omitted: the keys are required by the SSE schema, and dropping them would make a receiver discard the whole message.\n- **Live events**: `comment-add` / `comment-delete` are judged on the comment dimension, and the report payload embedded in `report-create` / `report-update` / `report-publish` has its two comment arrays emptied per viewer at delivery time.\n- **Your own comments are always visible and always deletable** (`postedComments` only — the `externalComments` array carries no user identity, so it is all-or-nothing per source type). Hiding them would strand existing comments as undeletable the moment a grant is revoked, with no security gain.\n- **Writing to external sources remains impossible regardless** — `addComment` rejects any non-`Internal` source type outright, so for external categories the comment dimension effectively controls *reading*.\n- **Cache**: the dimension is folded into the cache-key digest, so revoking only the comment grant invalidates immediately. When `comment` follows `read` (the default) the digest is byte-identical to before, so existing deployments see no cache churn.\n\n### Transactions\n\n日報の作成と編集はそれぞれ 1 トランザクションで書き切る。入口は `createDailyReportService` 内の `inTransaction` 1 つに限り、**デッドロックの犠牲になったトランザクションだけをやり直す** (判定は [`@aiquants/mssql`](../mssql/README.md) が持ち、閉包は `capture` で包んで ORM が原因を消す前に押さえる)。鍵の範囲が重なる並行操作はデッドロックしうるため、犠牲になった側は従来 500 になって書いた内容が消えていた。\n\n- 設定は `createDailyReportService({ transactionRetry })`。既定 3 回・倍化 + ゆらぎ。`{ attempts: 1 }` で無効。\n- **閉包は DB の外へ副作用を持たせない。** 再実行は毎回はじめから走る。キャッシュ無効化・epoch 更新・SSE 配信はいずれもトランザクションの**後**に置いてある。\n- `createDailyReport` の閉包内には `logger.info` が在るため、やり直した回だけ行が重複する。これは「実際に 2 度開いた」という事実の記録であり、抑えない。\n\n## Client wiring\n\n```tsx\n// daily_report._index/route.tsx\nimport { createDailyReportClientLoader, DailyReportPage, dailyReportShouldRevalidate } from \"@aiquants/daily-report/client\"\n\nexport const shouldRevalidate = dailyReportShouldRevalidate\nexport const clientLoader = createDailyReportClientLoader()   // Bootstraps the module-resident ids NDJSON stream session\n\nexport default function Route() {\n    const { user, userId } = useLoaderData<typeof clientLoader>()\n    return (\n        <YourAppLayout>\n            <DailyReportPage\n                user={user}\n                userId={userId}\n                config={{\n                    renderHeader: ({ title, annotation }) => <YourHeader title={title} annotation={annotation} />,\n                    showDevControls: import.meta.env.DEV,   // Toggle SSE subscriptions, etc.\n                    draftLabelName: \"Draft\",                // Label name for draft states (matches target DB; not tied to locale)\n                    locale: \"en\",                           // UI chrome language: \"en\" (default) | \"ja\"\n                    labels: {                               // Optional per-key overrides over the catalog of `locale`\n                        title: \"Field Reports\", content: \"Body\",\n                    },\n                    onError: (info) => yourToast(info.message), // Optional: route mutation failures to your own toast\n                    // apiBasePath: \"/daily_report/api\", ssePath: \"/sse/daily_report/updates\"\n                }}\n            />\n        </YourAppLayout>\n    )\n}\n```\n\n`DailyReportPage` is layout-agnostic (header rendering via `renderHeader` slot, error boundaries/footer control managed by the app). For fine-grained usage, `DailyReportActionProvider`, `DailyReportResolvedContent`, `useDailyReportDetail`, etc. can be imported individually.\n\nMutation failures (save / publish / delete / comment) are surfaced through an error seam: inject `config.onError(info: DailyReportErrorInfo)` to route them into your own toast/notification system, or omit it to use the package's built-in `role=\"alert\"` banner (auto-dismiss + manual close). Failures on a continuation that resolves after a no-reload user switch are suppressed. If you compose `DailyReportActionProvider` yourself instead of using `DailyReportPage`, wrap it in `DailyReportErrorProvider` (both are exported from `@aiquants/daily-report/client`) so `onError` / the banner work.\n\nThe report id list is **not** part of the loader data: a module-resident NDJSON stream session (`GET {apiBasePath}/ids-stream`, resilient client with cursor resume + exponential backoff) supplies it.\n`createDailyReportClientLoader` warms an existing session (`primeDailyReportIdsStreamSession`) and then bootstraps (`bootstrapDailyReportIdsStreamSession`): when no session exists it is **created at loader time** so the stream fetch runs in parallel with hydration (the dominant cold-load optimization); when one exists, the obfuscated user id is reconciled (a different user destroys and recreates the session before render).\nIf your app overrides `config.apiBasePath`, pass the same value to `createDailyReportClientLoader({ apiBasePath })` — forgetting it costs one wrong-path request on the very first load, self-healed by the page-mount `ensureDailyReportIdsStreamSession`.\n`DailyReportPage` subscribes via `useDailyReportIdsStream`, rendering the list as soon as the first chunk arrives (on cache misses the server races a fast `TOP 200` first page against the cached full query, so first paint does not wait for the full id scan).\nThere is no `dailyReportIds` prop and no deferred `/ids` JSON fetch (the old `ids` endpoint was removed).\n\n### Localization (`locale` / `labels`)\n\nEvery string the package renders on its own comes from one built-in catalog per **UI chrome\nlocale**: English (`\"en\"`, the default) and Japanese (`\"ja\"`). Pick the language with\n`config.locale` and override single keys with `config.labels`, which are laid over the catalog of\n`locale`:\n\n```tsx\n<DailyReportPage\n    config={{\n        locale: \"ja\",\n        labels: { content: \"商談内容\", comments: \"コメント一覧\", tabArticle: \"記事\" },\n    }}\n/>\n```\n\n- **One surface for all wording.** The catalog covers the 7 engine chrome keys of\n  `@aiquants/virtualscroll` plus 81 own keys: field headings, the page title (`title`, passed to\n  `renderHeader` and used as the accessible name of both lists), tabs, buttons, placeholders,\n  `confirm()` / `alert()` texts, stream badges, the load-error screen and the mutation-failure\n  message. The engine part of each catalog is `VIRTUAL_SCROLL_LABEL_CATALOGS[locale]`, reused by\n  value, so the scroll arrows and the \"No items\" text always speak the same language as the rest.\n- **Forwarded to every embedded `VirtualScroll`.** Both the List and the DetailList pass `locale`\n  and the 7 engine keys of the resolved labels to their `VirtualScroll`. The engine label object keeps\n  its identity while its values are unchanged, so rebuilding `config.labels` on every render does not\n  re-render the memoized list subtree.\n- **Formatter keys.** Nine keys take arguments and are functions: `totalCount(count)`,\n  `debounce(milliseconds)`, `streamProgressCount(loaded)`, `streamProgressRatio(loaded, total, percent)`,\n  `streamRetrying(loaded)`, `reportLoadFailed(reportHubId)`, `reportSummaryLoadFailed(reportHubId)`,\n  `interviewerWithAffiliation(name, affiliation)` and `operationFailed(operation)` (`operation` is a\n  `DailyReportOperation`: `create` / `update` / `publish` / `delete` / `addComment` / `deleteComment` /\n  `toggleStar` / `toggleRead`). An override of such a key must be a function too.\n- **Digit grouping follows the UI locale, not the runtime.** The built-in formatters group numbers with\n  the BCP 47 tag bound to their locale (`en` → `\"en-US\"`, `ja` → `\"ja-JP\"`); a host override receives\n  the raw number and formats it itself.\n- **Fail-fast**: an unsupported `locale` (`\"EN\"`, `\"ja-JP\"`, `\"fr\"`, `\"\"`, `null`, ...) throws a\n  `RangeError` at render. So do an unknown `labels` key (including the removed `fieldLabels`\n  container), a string key whose value is not a string with non-whitespace content, and a formatter\n  key whose value is not a function. An `undefined` value keeps the catalog value.\n- **`config` has a closed key set**: `apiBasePath`, `ssePath`, `draftLabelName`, `locale`, `labels`,\n  `sourceTypeConfigs`, `renderHeader`, `showDevControls`, `onError`. The removed keys throw a\n  `RangeError` that names the replacement — `config.fieldLabels was removed in 0.21.0; use\n  config.labels (the same 21 keys)` and `config.title was removed in 0.21.0; use config.labels.title`\n  — even when their value is `undefined`. Any other unknown key throws a `RangeError` listing the\n  accepted keys. This runs at render because a config built outside a typed object literal (a\n  `useMemo` result, a variable) skips TypeScript's excess-property check.\n- **`defaultDailyReportClientConfig` is spreadable input.** Its type `DailyReportClientConfigDefaults`\n  holds only the locale-independent defaults (`apiBasePath`, `ssePath`, `draftLabelName`,\n  `renderHeader`, `showDevControls`) and it is frozen. It carries no `locale`, `labels` or\n  `sourceTypeConfigs`, so `{ ...defaultDailyReportClientConfig, locale: \"ja\" }` renders Japanese. The\n  resolved configuration from `useDailyReportConfig()` is output only: spreading it into `config`\n  would pin its labels as overrides.\n- **Unknown authors**: a comment whose author name is unknown — a legacy comment without a name, a\n  relational comment with an empty `userName`, the pending comment of a viewing user without any name\n  or email — shows `labels.unknownUser`. The server never sends a fixed fallback name (an author\n  without a display name is sent as `\"\"`).\n- **`labels` must be a plain object** (prototype `Object.prototype` or `null`); arrays, class\n  instances and objects created with `Object.create(proto)` throw a `RangeError`. Only own properties\n  are read, so a label key inherited from a polluted `Object.prototype` is never applied. Error\n  messages describe the rejected value without throwing (a string as JSON, `null`, otherwise only its\n  `typeof` tag).\n- **No language negotiation**: the package never reads `navigator.language`; map it to a supported\n  value yourself. No `lang` attribute is stamped either — the document language belongs to the host.\n- **Not tied to `locale`**: `draftLabelName` (a label name stored in the database) and\n  `sourceTypeConfigs` (host data). Only the built-in default badge map used when `sourceTypeConfigs`\n  is omitted takes its `Internal` label from `labels.sourceInternal`.\n- **Host notifications**: `config.onError` receives `DailyReportErrorInfo` with the stable\n  `operation` key and `message` = `labels.operationFailed(operation)` in the chosen locale.\n- **`locale` is the only language axis.** This package has no BCP 47 `formatLocale` option: digit\n  grouping follows `locale` (`en` → `\"en-US\"`, `ja` → `\"ja-JP\"`) and dates stay in ISO form. Packages\n  that do format dates (for example `@aiquants/period-slider`) name that separate axis `formatLocale`.\n\nExported API (`@aiquants/daily-report/client`): `DAILY_REPORT_LABEL_KEYS` (all 88 keys, engine keys\nfirst), `DAILY_REPORT_LABEL_CATALOGS` (the frozen catalogs), `resolveDailyReportLabels(locale, labels)`\n(the effective frozen labels — the catalog object itself when `labels` is `undefined`), the resolved\n`locale` / `labels` on `useDailyReportConfig()`, and the types `DailyReportLocale` (= `VirtualScrollLocale`),\n`DailyReportLabels`, `DailyReportLabelOverrides` and `DailyReportOperation`.\n\n| Key | Where it appears | `en` | `ja` |\n| --- | --- | --- | --- |\n| `scrollUp` | engine: vertical ScrollBar up arrow (`aria-label`) | Scroll up | 上へスクロール |\n| `scrollDown` | engine: vertical ScrollBar down arrow (`aria-label`) | Scroll down | 下へスクロール |\n| `scrollLeft` | engine: horizontal arrow (not rendered by this package) | Scroll left | 左へスクロール |\n| `scrollRight` | engine: horizontal arrow (not rendered by this package) | Scroll right | 右へスクロール |\n| `scrollToTop` | engine: top pill (not enabled by this package) | Top | 先頭へ |\n| `scrollToBottom` | engine: bottom pill (not enabled by this package) | Bottom | 末尾へ |\n| `noItems` | engine: empty list text | No items | 項目がありません |\n| `id` | DetailList card: id chip | ID | ID |\n| `businessDate` | business date heading | Business date | 営業日 |\n| `author` | author heading | Author | 作成者 |\n| `visitTime` | visit time heading | Visit time | 訪問時間 |\n| `createdAt` | created-at heading | Created at | 作成日時 |\n| `updatedAt` | updated-at heading | Updated at | 更新日時 |\n| `updatedBy` | updated-by heading | Updated by | 更新者 |\n| `category` | category chip / `category: value` prefix | Category | 区分 |\n| `categoryInfo` | metadata panel: category block heading | Category | 区分情報 |\n| `creationCategory` | `creationCategory: value` prefix | Creation category | 作成区分 |\n| `customer` | customer heading | Customer | 顧客 |\n| `subject` | subject heading | Subject | 件名 |\n| `content` | content heading | Content | 内容 |\n| `interviewers` | interviewer list heading | Attendees | 面談者 |\n| `comments` | comment section heading | Comments | コメント |\n| `attachments` | attachment section heading, attachment marker name | Attachments | 添付ファイル |\n| `attachmentMissing` | note on a missing attachment | File is missing | 実体が見つかりません |\n| `attachmentDownload` | attachment download link | Download | ダウンロード |\n| `tabArticle` | side pane tab | Overview | 概要 |\n| `tabRelations` | side pane tab | Related | 関連 |\n| `relationsEmpty` | side pane related tab body | No related view configured yet. | 関連ビューはまだ構成されていません。 |\n| `title` | `renderHeader({ title })`, both lists' `aria-label` | Daily Reports | 日報 |\n| `tabList` | top-level tab | 📄 List | 📄 一覧 |\n| `tabTree` | top-level tab | 🌳 Tree | 🌳 ツリー |\n| `tabDetailList` | top-level tab | 📋 DetailList | 📋 詳細一覧 |\n| `treeComingSoon` | tree tab body | The tree view is coming soon | ツリーは現在準備中です |\n| `totalCountLoading` | header annotation while loading | Total: loading... | 総件数: 読み込み中... |\n| `createReport` | create button | New report | 日報作成 |\n| `createReportTitle` | create button tooltip | Create a daily report | 日報を作成 |\n| `devControls` | dev toolbox tooltip (`showDevControls`) | Development-only controls | 開発環境限定コントロール |\n| `devSseToggle` | dev toolbox: SSE switch tooltip | Toggle SSE real-time sync | SSE リアルタイム同期切替 |\n| `devReload` | dev toolbox: reload tooltip | Reload data | データ再取得 (リロード) |\n| `devClearCache` | dev toolbox: clear-cache tooltip | Clear the cache and reload | キャッシュ破棄 & 再取得 |\n| `autoRead` | auto-read switch label | Auto-read | 自動既読 |\n| `autoReadTitle` | auto-read switch tooltip | Mark reports as read automatically while viewing them | 日報閲覧時の自動既読処理切替 |\n| `loadErrorBadge` | header annotation on load failure | Error | エラー |\n| `loadError` | load-failure screen | Failed to load the daily reports. | 日報データの読み込みに失敗しました。 |\n| `reload` | load-failure screen button | Reload | 再読み込み |\n| `loadingIds` | loading screen | Loading report IDs... | 日報 ID を読み込み中です... |\n| `streamFailed` | stream badge (failed) | Failed to load | 読み込みに失敗しました |\n| `streamRetry` | stream badge retry button | Retry | 再試行 |\n| `streamRevalidating` | stream badge (revalidating) | Refreshing | 最新化中 |\n| `listEmpty` | package empty state under an empty list | No data | データがありません |\n| `selectPrompt` | side pane without a selection | Select a report from the list on the left. | 左側の一覧から日報を選択してください。 |\n| `loading` | side pane loading (edit mode) | Loading... | 読み込み中... |\n| `reportNotFound` | list card of a vanished report | Report not found | 日報が見つかりません |\n| `contentEmpty` | side pane: report without content | No content has been entered. | 内容は登録されていません。 |\n| `contentEmptyPreview` | list card preview: report without content | No content has been entered | 内容は登録されていません |\n| `confirmDelete` | `confirm()` before deleting a report | Are you sure you want to delete this report? | 本当に削除しますか？ |\n| `deleteFailed` | `alert()` after a failed delete | Failed to delete the report | 削除に失敗しました |\n| `starAdd` | star toggle (unstarred) | Add star | スターを付ける |\n| `starRemove` | star toggle (starred) | Remove star | スターを外す |\n| `markRead` | read toggle (unread) | Mark as read | 既読にする |\n| `markUnread` | read toggle (read) | Mark as unread | 未読にする |\n| `deleteReport` | report delete button | Delete | 削除する |\n| `resizeHandle` | list / detail resize handle `aria-label` | Resize the border between the report list and the detail pane | 日報一覧と詳細ペインの境界のサイズ変更ハンドル |\n| `overlayBackdrop` | mobile overlay backdrop `aria-label` | Tap the background to close | 背景をタップして閉じる |\n| `overlayDialog` | mobile detail dialog `aria-label` | Report details | 日報詳細 |\n| `close` | mobile overlay close button, error banner close `aria-label` | Close | 閉じる |\n| `formTitle` | edit form | Title | タイトル |\n| `formTitlePlaceholder` | edit form | Enter the report title | 日報のタイトルを入力 |\n| `formContent` | edit form | Content | 内容 |\n| `formContentPlaceholder` | edit form | Enter the report content | 日報の内容を入力 |\n| `formCancel` | edit form | Cancel | キャンセル |\n| `formSave` | edit form | Save | 保存 |\n| `formPublish` | edit form | Publish | 公開 |\n| `commentPlaceholder` | comment form | Add a comment... | コメントを追加... |\n| `commentSend` | comment form | Send | 送信 |\n| `commentDelete` | comment trash button (`aria-label` / tooltip) | Delete comment | 削除 |\n| `commentDeleteConfirm` | comment delete confirmation | Delete | 削除する |\n| `unknownUser` | author name when none is known (legacy / relational comment without a name, optimistic data of a user without a name) | Unknown | 不明なユーザー |\n| `sourceInternal` | built-in `Internal` badge (only when `sourceTypeConfigs` is omitted) | Original | オリジナル |\n| `totalCount` | header annotation | `(1234)` → Total: 1,234 | `(1234)` → 総件数: 1,234 件 |\n| `debounce` | header annotation | `(300)` → Debounce: 300 ms | `(300)` → デバウンス: 300 ms |\n| `streamProgressCount` | stream badge before the total is known | `(1234)` → Loading 1,234 | `(1234)` → 読み込み中 1,234 件 |\n| `streamProgressRatio` | stream badge once the total is known | `(1234, 5000, 25)` → Loading 1,234 / 5,000 (25%) | `(1234, 5000, 25)` → 読み込み中 1,234 / 5,000 (25%) |\n| `streamRetrying` | stream badge (reconnecting) | `(1234)` → Reconnecting... (1,234 received) | `(1234)` → 再接続中... (1,234 件受信済) |\n| `reportLoadFailed` | detail load failure (side pane, DetailList card) | `(12345)` → Failed to load report 12,345. | `(12345)` → 日報 12,345 の読み込みに失敗しました。 |\n| `reportSummaryLoadFailed` | list card load failure | `(12345)` → Failed to load the summary of report 12,345. | `(12345)` → 日報 12,345 の概要読み込みに失敗しました。 |\n| `interviewerWithAffiliation` | interviewer chip | `(\"Sato\", \"Acme\")` → Sato (Acme) | `(\"佐藤\", \"三和\")` → 佐藤 (三和) |\n| `operationFailed` | error banner / `DailyReportErrorInfo.message` | `(\"update\")` → Failed to save the report. Please try again later. | `(\"update\")` → 日報の保存に失敗しました。時間をおいて再度お試しください。 |\n\n#### Migrating from 0.20.x (breaking changes in 0.21.0)\n\n0.21.0 is a clean cut-over: there are no aliases for the removed names. It needs the peer\n`@aiquants/virtualscroll` 3.7.0 or later (the engine label catalog it reuses).\n\n1. **The default UI language is English.** The Japanese wording that used to be hard-coded in the\n   components (buttons, placeholders, confirmation dialogs, status badges, loading / error screens,\n   the failure banner) now renders in English when `locale` is omitted. A host that relies on the\n   Japanese chrome must opt in with `config.locale: \"ja\"`. The ja catalog keeps the former Japanese\n   wording except four values aligned with the shared `@aiquants` vocabulary: `treeComingSoon`\n   (`ツリーは現在準備中です`), `resizeHandle` (`日報一覧と詳細ペインの境界のサイズ変更ハンドル`),\n   `unknownUser` (`不明なユーザー`, formerly `\"Unknown\"` / `不明`) and `interviewerWithAffiliation`\n   (half-width parentheses: `佐藤 (三和)`).\n2. **`config.fieldLabels` → `config.labels`** (the same 21 keys). The type `DailyReportFieldLabels`\n   and the value `defaultDailyReportFieldLabels` are removed; use `DailyReportLabels` /\n   `DAILY_REPORT_LABEL_CATALOGS[locale]`. A leftover `fieldLabels` key throws a `RangeError` at\n   render, even inside a `useMemo` config that TypeScript does not flag.\n3. **`config.title` → `config.labels.title`** (en `\"Daily Reports\"`, ja `\"日報\"`). It is still what\n   `renderHeader({ title })` receives and the accessible name of both lists. A leftover `title` key\n   throws a `RangeError` at render.\n4. **Adding only `locale: \"ja\"` replaces your vocabulary with the catalog's.** The ja catalog carries\n   neutral headings (`顧客`, `内容`, `コメント`, `概要`, `関連`, ...). Move the domain wording you used to\n   pass in `fieldLabels` into `labels` in the same change, e.g.\n   `{ locale: \"ja\", labels: { customer: \"顧客・面談先\", content: \"商談内容\", comments: \"コメント一覧\", tabArticle: \"記事\", tabRelations: \"相関\" } }`.\n5. **`locale: \"ja\"` also translates what used to stay English**: the top-level tabs (`📄 一覧` /\n   `🌳 ツリー` / `📋 詳細一覧`), the page title (`日報`), the load-error badge (`エラー`), the side-pane\n   tabs (`概要` / `関連`), the scroll arrows (`上へスクロール` / `下へスクロール`) and the empty state\n   (`項目がありません`). Keep the English form through `labels`, e.g.\n   `labels: { tabList: \"📄 List\", tabDetailList: \"📋 DetailList\" }`.\n6. **Resolved config shape**: `DailyReportClientConfig` (the value of `useDailyReportConfig()`) loses\n   `title` / `fieldLabels`, gains the resolved `locale` / `labels`, and `sourceTypeConfigs` is always\n   present (the built-in default when omitted).\n7. **`defaultDailyReportClientConfig`** is now the frozen, locale-independent input\n   `DailyReportClientConfigDefaults` (`apiBasePath`, `ssePath`, `draftLabelName`, `renderHeader`,\n   `showDevControls`). It no longer has `title`, `fieldLabels` or `sourceTypeConfigs`; read resolved\n   values through `useDailyReportConfig()`.\n8. **Built-in `Internal` badge**: when `sourceTypeConfigs` is omitted, its label is\n   `labels.sourceInternal` — en `\"Original\"` (formerly always `オリジナル`), ja `\"オリジナル\"`.\n9. **`DailyReportErrorInfo`**: `operation` is narrowed from `string` to `DailyReportOperation`, and\n   `message` is `labels.operationFailed(operation)` in the chosen locale (English by default).\n10. **`mergeComments(legacyComments, modernComments, currentUserId, unknownAuthorName)`** (root\n    export): the fourth argument is new and required, `currentUserId` is no longer optional (pass\n    `undefined` to keep the server's `isMine`), and a blank or non-string `unknownAuthorName` throws a\n    `RangeError`. A comment without an author name (legacy `name` or relational `userName` that is\n    empty, `null` or missing) gets `unknownAuthorName`; the client passes `labels.unknownUser`.\n11. **Server `addComment`**: the SSE `comment-add` payload sends `userName: \"\"` (formerly `\"Unknown\"`)\n    for an author without a display name, like the read paths; the client renders\n    `labels.unknownUser`. Comments with an empty author name show `labels.unknownUser` instead of `-`.\n12. **List side-pane load error** renders `labels.reportLoadFailed(reportHubId)` instead of the\n    exception message (the same text as the DetailList).\n13. **Explicit `undefined`** for `apiBasePath` / `ssePath` / `draftLabelName` / `showDevControls` /\n    `renderHeader` now resolves to the default (it used to override the default with `undefined`).\n\nUnchanged: `draftLabelName` (label data stored in the database) does not follow `locale`, and dates\nkeep their ISO form.\n\n### External Source Badge Configuration (`sourceTypeConfigs`)\n\nDisplay parameters (label names and badge CSS classes) for reports ingested from external sources can be overridden using `sourceTypeConfigs`. This prevents the package from hardcoding specific third-party service names or designs, leaving display customization to the host application.\n\n```tsx\nsourceTypeConfigs: {\n    Internal: {\n        label: \"Native\",\n        badgeClassName: \"bg-green-100 text-green-800 dark:bg-green-900/30 dark:text-green-400\",\n    },\n    ExternalCRM: {\n        label: \"External CRM\",\n        badgeClassName: \"bg-red-100 text-red-800 dark:bg-red-900/30 dark:text-red-400\",\n    },\n    LegacyPortal: {\n        label: \"Legacy Portal\",\n        badgeClassName: \"bg-blue-100 text-blue-800 dark:bg-blue-900/30 dark:text-blue-400\",\n    },\n}\n```\n\n### Troubleshooting: Hook errors / Multiple React instances (Cannot read properties of null)\n\nIf you encounter `TypeError: Cannot read properties of null (reading 'useMemo')` or \"Invalid hook call\", it means multiple React instances are loaded in memory. This often happens because the bundler/framework (Vite/React Router v7) resolves separate React packages for your application and this dependency (especially when linked via monorepo or npm link).\n\nTo fix this, update your consumer application's `vite.config.ts` to deduplicate React:\n\n```typescript\nimport path from \"node:path\"\nimport { defineConfig } from \"vite\"\n\nexport default defineConfig({\n  resolve: {\n    // Force Vite to always use the root React instance\n    dedupe: [\"react\", \"react-dom\", \"react-router\", \"react-router-dom\"],\n    alias: {\n      react: path.resolve(__dirname, \"./node_modules/react\"),\n      \"react-dom\": path.resolve(__dirname, \"./node_modules/react-dom\"),\n    }\n  },\n  optimizeDeps: {\n    // Exclude the package so Vite doesn't optimize it separately under .vite/deps\n    exclude: [\n      \"@aiquants/daily-report\",\n      \"@aiquants/virtualscroll\",\n      \"@aiquants/swipe-overlay\",\n    ],\n  },\n  ssr: {\n    // For SSR environments like React Router v7 / Remix\n    noExternal: [\n      \"@aiquants/daily-report\",\n      \"@aiquants/virtualscroll\",\n      \"@aiquants/swipe-overlay\",\n    ],\n  }\n})\n```\n\n## Realtime Architecture\n\n1. Mutation services publish to Redis Stream (`daily-report:sse-stream`) in sequence: `invalidate -> epoch increment -> SSE publish`.\n2. `DailyReportSseReader` uses a single blocking `xRead` loop to fan-out events to all SSE connections (eliminating per-connection Redis TCP connections).\n3. `sse.loader` implements catch-up (`xRange`) using `Last-Event-ID` / `lastEventId` and 5-second keep-alive pings. `recipientRawUserId` is filtered server-side and removed before transmission to prevent internal ID leaks.\n4. On the client, `useDailyReportSseConnection` handles exponential backoff reconnects, and the action context correlates optimistic updates with SSE echoes using `clientTempId`.\n\n## API Surface (Summary)\n\n- **server**: `createDailyReportServer` / `createDailyReportService` / `createDailyReportHandlers` / `defineDailyReportSchema` / `DailyReportSseReader` / `SqlResultCache` / `transformJsonArray` / `jsonResponseWithETag` / `generateETag` / `isStreamIdLte`\n- **client**: `DailyReportPage` / `DailyReportResolvedContent` / `DailyReportList` / `DailyReportDetailList` / `DailyReportActionProvider` / `useDailyReportActionContext` / `useDailyReportDetail` / `useDailyReportPrefetch` / `useDailyReportComments` / `useDailyReportSseConnection` / `useDailyReportIdsStream` / `DailyReportIdsStreamStatus` / `DailyReportIdsStreamClient` / `DailyReportConfigProvider` / `useDailyReportConfig` / `defaultDailyReportClientConfig` / `resolveDailyReportLabels` / `DAILY_REPORT_LABEL_CATALOGS` / `DAILY_REPORT_LABEL_KEYS` / `createDailyReportClientLoader` / `dailyReportShouldRevalidate`\n- **shared**: `DailyReportItem` / `DailyReportDetail` / `DailyReportUser` / `dailyReportSseMessageSchema` (8 discriminated union types) / `normalizeBusinessDateKey` / `mergeComments(legacyComments, modernComments, currentUserId, unknownAuthorName)`\n\nMIT\n","readmeFilename":""}