{"_id":"@edv4h/usketch-session-voting","_rev":"6-ccd1dde1c5eae533009a091c6777a25c","name":"@edv4h/usketch-session-voting","dist-tags":{"latest":"0.2.5"},"versions":{"0.2.0":{"name":"@edv4h/usketch-session-voting","version":"0.2.0","license":"MIT","_id":"@edv4h/usketch-session-voting@0.2.0","maintainers":[{"name":"myuske","email":"circlemountain.ym@gmail.com"}],"homepage":"https://github.com/EdV4H/usketch#readme","bugs":{"url":"https://github.com/EdV4H/usketch/issues"},"dist":{"shasum":"b4d9355b9f821dcdefc9893c6371e354545070a0","tarball":"https://registry.npmjs.org/@edv4h/usketch-session-voting/-/usketch-session-voting-0.2.0.tgz","fileCount":14,"integrity":"sha512-hXd5vCJ6vWcv3Llv32Gbn0F78rMWEpv2zXsm4FSxVH1m9WKGnnNm1kbslcYPlRxdCfZgOX7Dco8ScTSlo3qP9g==","signatures":[{"sig":"MEUCIHDVg8DvHgU408HuhIokuNKolmhE7qtafUSzbZD8xzkeAiEA0SaJFpm9d1bbiHjL8PcxxWYbvUM1MDEufzSv82zY6Ww=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":30318},"type":"module","_from":"file:edv4h-usketch-session-voting-0.2.0.tgz","exports":{"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","source":"./src/client.tsx"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.js","source":"./src/server.ts"}},"scripts":{"test":"vitest run --passWithNoTests","build":"tsc -p tsconfig.json","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"myuske","email":"circlemountain.ym@gmail.com"},"_resolved":"/tmp/9ec5cbc41d88ac3052129e929e6643e2/edv4h-usketch-session-voting-0.2.0.tgz","_integrity":"sha512-hXd5vCJ6vWcv3Llv32Gbn0F78rMWEpv2zXsm4FSxVH1m9WKGnnNm1kbslcYPlRxdCfZgOX7Dco8ScTSlo3qP9g==","repository":{"url":"git+https://github.com/EdV4H/usketch.git","type":"git","directory":"packages/usketch-session-voting"},"_npmVersion":"11.16.0","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@edv4h/usketch-plugin-session":"0.2.0","@edv4h/usketch-session-protocol":"0.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"4.1.10","typescript":"7.0.2","@types/react":"19.2.18"},"peerDependencies":{"react":">=19"},"_npmOperationalInternal":{"tmp":"tmp/usketch-session-voting_0.2.0_1786365368061_0.8912201918531981","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@edv4h/usketch-session-voting","version":"0.2.1","license":"MIT","_id":"@edv4h/usketch-session-voting@0.2.1","maintainers":[{"name":"myuske","email":"circlemountain.ym@gmail.com"}],"homepage":"https://github.com/EdV4H/usketch#readme","bugs":{"url":"https://github.com/EdV4H/usketch/issues"},"dist":{"shasum":"58422b90c58b9206cb42b456387fb5eafdc7da62","tarball":"https://registry.npmjs.org/@edv4h/usketch-session-voting/-/usketch-session-voting-0.2.1.tgz","fileCount":15,"integrity":"sha512-a6Yn6dM+O1wEQyXouzf5VLnymKgV7w1TncKVWB1apXZgMWOdO/Xi/ZK8h8BjBopiA19VFJ5WmPUFQAqZtfl+Cg==","signatures":[{"sig":"MEQCIDty81AGuvyYFbCLmMG+XVnYP1vA4RdnrYiAspgQjDyzAiBxZZn6rUMM1YWTkU33FkXPQF6CtaB0Znn//uXz9m7poA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":32304},"type":"module","_from":"file:edv4h-usketch-session-voting-0.2.1.tgz","exports":{"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","source":"./src/client.tsx"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.js","source":"./src/server.ts"}},"scripts":{"test":"vitest run --passWithNoTests","build":"tsc -p tsconfig.json","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"myuske","email":"circlemountain.ym@gmail.com"},"_resolved":"/tmp/76baa6a68e00a031b631204ef2a55852/edv4h-usketch-session-voting-0.2.1.tgz","_integrity":"sha512-a6Yn6dM+O1wEQyXouzf5VLnymKgV7w1TncKVWB1apXZgMWOdO/Xi/ZK8h8BjBopiA19VFJ5WmPUFQAqZtfl+Cg==","repository":{"url":"git+https://github.com/EdV4H/usketch.git","type":"git","directory":"packages/usketch-session-voting"},"_npmVersion":"11.16.0","description":"[`@edv4h/usketch-plugin-session`](../../plugins/usketch-plugin-session) の基盤に乗る **最初のセッション型「投票」**。サーバー権限モデルなので、**サーバー部＋クライアント部のペア**を 1パッケージにまとめ、サブパス export（`/server` と `/client`）で提供する。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@edv4h/usketch-plugin-session":"0.2.1","@edv4h/usketch-session-protocol":"0.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"4.1.10","typescript":"7.0.2","@types/react":"19.2.18"},"peerDependencies":{"react":">=19"},"_npmOperationalInternal":{"tmp":"tmp/usketch-session-voting_0.2.1_1786535614535_0.6408744426324788","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@edv4h/usketch-session-voting","version":"0.2.2","license":"MIT","_id":"@edv4h/usketch-session-voting@0.2.2","maintainers":[{"name":"myuske","email":"circlemountain.ym@gmail.com"}],"homepage":"https://github.com/EdV4H/usketch#readme","bugs":{"url":"https://github.com/EdV4H/usketch/issues"},"dist":{"shasum":"0931b1c5dca96e11e44837773aeff4619a6c136d","tarball":"https://registry.npmjs.org/@edv4h/usketch-session-voting/-/usketch-session-voting-0.2.2.tgz","fileCount":15,"integrity":"sha512-SfvOcoJdugmQ87v5BlcWY/kEimodO3Zb+kR6DNHpj6tnNZgT/IwfO+NYpW8KOLB0OLRBtRYqlin4OAjTzXu+6Q==","signatures":[{"sig":"MEUCIGKdidI8C9OO+FRa1l8J1L3QG1uDiSZbtJ2yRyQgLKQwAiEAzjwpPFUb0nV+8LJqkZ5uzorstXK8RhrCJRiML/tz2V8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":32304},"type":"module","_from":"file:edv4h-usketch-session-voting-0.2.2.tgz","exports":{"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","source":"./src/client.tsx"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.js","source":"./src/server.ts"}},"scripts":{"test":"vitest run --passWithNoTests","build":"tsc -p tsconfig.json","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"myuske","email":"circlemountain.ym@gmail.com"},"_resolved":"/tmp/389aac1c4037d535f14ae610a4d961f5/edv4h-usketch-session-voting-0.2.2.tgz","_integrity":"sha512-SfvOcoJdugmQ87v5BlcWY/kEimodO3Zb+kR6DNHpj6tnNZgT/IwfO+NYpW8KOLB0OLRBtRYqlin4OAjTzXu+6Q==","repository":{"url":"git+https://github.com/EdV4H/usketch.git","type":"git","directory":"packages/usketch-session-voting"},"_npmVersion":"11.17.0","description":"[`@edv4h/usketch-plugin-session`](../../plugins/usketch-plugin-session) の基盤に乗る **最初のセッション型「投票」**。サーバー権限モデルなので、**サーバー部＋クライアント部のペア**を 1パッケージにまとめ、サブパス export（`/server` と `/client`）で提供する。","directories":{},"_nodeVersion":"24.19.0","dependencies":{"@edv4h/usketch-plugin-session":"0.2.2","@edv4h/usketch-session-protocol":"0.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"4.1.10","typescript":"7.0.2","@types/react":"19.2.18"},"peerDependencies":{"react":">=19"},"_npmOperationalInternal":{"tmp":"tmp/usketch-session-voting_0.2.2_1786687715220_0.3496881803225973","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@edv4h/usketch-session-voting","version":"0.2.3","license":"MIT","_id":"@edv4h/usketch-session-voting@0.2.3","maintainers":[{"name":"myuske","email":"circlemountain.ym@gmail.com"}],"homepage":"https://github.com/EdV4H/usketch#readme","bugs":{"url":"https://github.com/EdV4H/usketch/issues"},"dist":{"shasum":"dcb2e3e7cace8a51b55bce9148559c495a2817b6","tarball":"https://registry.npmjs.org/@edv4h/usketch-session-voting/-/usketch-session-voting-0.2.3.tgz","fileCount":15,"integrity":"sha512-wSAmNzObmhUWfUNLLd+h6XKAamtcCWD1QbwLLUx2KBecaMGhXAooCFYbx17F/VGIIqc8WBHbTUVs4ZVjPjQotA==","signatures":[{"sig":"MEUCIQC4PrtjkJ5YnIqinShNbxmdP8YrPhDU/yxCITubIVZeZAIgBVVSkW6bszn7ljM2IBQ83ZSEwoqjvJEkpnwMb/r8zrI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":32304},"type":"module","_from":"file:edv4h-usketch-session-voting-0.2.3.tgz","exports":{"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","source":"./src/client.tsx"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.js","source":"./src/server.ts"}},"scripts":{"test":"vitest run --passWithNoTests","build":"tsc -p tsconfig.json","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"myuske","email":"circlemountain.ym@gmail.com"},"_resolved":"/tmp/105b7273a7e0c2f6ba0e9a1f0c67934f/edv4h-usketch-session-voting-0.2.3.tgz","_integrity":"sha512-wSAmNzObmhUWfUNLLd+h6XKAamtcCWD1QbwLLUx2KBecaMGhXAooCFYbx17F/VGIIqc8WBHbTUVs4ZVjPjQotA==","repository":{"url":"git+https://github.com/EdV4H/usketch.git","type":"git","directory":"packages/usketch-session-voting"},"_npmVersion":"11.17.0","description":"[`@edv4h/usketch-plugin-session`](../../plugins/usketch-plugin-session) の基盤に乗る **最初のセッション型「投票」**。サーバー権限モデルなので、**サーバー部＋クライアント部のペア**を 1パッケージにまとめ、サブパス export（`/server` と `/client`）で提供する。","directories":{},"_nodeVersion":"24.19.0","dependencies":{"@edv4h/usketch-plugin-session":"0.2.3","@edv4h/usketch-session-protocol":"0.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"4.1.11","typescript":"7.0.2","@types/react":"19.2.18"},"peerDependencies":{"react":">=19"},"_npmOperationalInternal":{"tmp":"tmp/usketch-session-voting_0.2.3_1787292642130_0.23073124183206062","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"@edv4h/usketch-session-voting","version":"0.2.4","license":"MIT","_id":"@edv4h/usketch-session-voting@0.2.4","maintainers":[{"name":"myuske","email":"circlemountain.ym@gmail.com"}],"homepage":"https://github.com/EdV4H/usketch#readme","bugs":{"url":"https://github.com/EdV4H/usketch/issues"},"dist":{"shasum":"7235c946249fb6bea8a2e05530f1b79412a0c221","tarball":"https://registry.npmjs.org/@edv4h/usketch-session-voting/-/usketch-session-voting-0.2.4.tgz","fileCount":15,"integrity":"sha512-FpoW0+OUOOszsBaUPUQ7OSJPZYgVecfu2ZphtGFNzZiDFdjPSZpHlhxajxzrjGx7s8/dwtINBqOdumkUM8bh1w==","signatures":[{"sig":"MEQCIGrONgPh7fPWinsDlEFAmuZtRjKYMWT4jhu3kEsWkMz0AiB2/dyVGfskj9yOXOxraimXGejzZsZZr9R10rZlLiDClw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@edv4h%2fusketch-session-voting@0.2.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":32304},"type":"module","_from":"file:edv4h-usketch-session-voting-0.2.4.tgz","exports":{"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","source":"./src/client.tsx"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.js","source":"./src/server.ts"}},"scripts":{"test":"vitest run --passWithNoTests","build":"tsc -p tsconfig.json","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:535fc11c-f5eb-419e-b71a-8926f29aa4db"}},"_resolved":"/tmp/8dd1c76621a68243d171cbc443005461/edv4h-usketch-session-voting-0.2.4.tgz","_integrity":"sha512-FpoW0+OUOOszsBaUPUQ7OSJPZYgVecfu2ZphtGFNzZiDFdjPSZpHlhxajxzrjGx7s8/dwtINBqOdumkUM8bh1w==","repository":{"url":"git+https://github.com/EdV4H/usketch.git","type":"git","directory":"packages/usketch-session-voting"},"_npmVersion":"12.0.2","description":"[`@edv4h/usketch-plugin-session`](../../plugins/usketch-plugin-session) の基盤に乗る **最初のセッション型「投票」**。サーバー権限モデルなので、**サーバー部＋クライアント部のペア**を 1パッケージにまとめ、サブパス export（`/server` と `/client`）で提供する。","directories":{},"_nodeVersion":"24.20.0","dependencies":{"@edv4h/usketch-plugin-session":"0.2.4","@edv4h/usketch-session-protocol":"0.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"4.1.11","typescript":"7.0.2","@types/react":"19.2.18"},"peerDependencies":{"react":">=19"},"_npmOperationalInternal":{"tmp":"tmp/usketch-session-voting_0.2.4_1788762582755_0.08413164088071423","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"_id":"@edv4h/usketch-session-voting@0.2.5","bugs":{"url":"https://github.com/EdV4H/usketch/issues"},"dist":{"shasum":"be345a26474a26325fc5ebabf5d4f32ae6d3d344","tarball":"https://registry.npmjs.org/@edv4h/usketch-session-voting/-/usketch-session-voting-0.2.5.tgz","fileCount":15,"integrity":"sha512-hHpTmWoewufBueJuB/q7IfvQhUCdPeWVEbUlydwUjYWkOqnCcK/NpeGtSBa7kEx3JlkpD/RHG/hi41w4Mv/C6Q==","signatures":[{"sig":"MEUCIEFV1Mk03DhoUS4COpE8fO6b8nbUVYUnVw1qE8sg7x+2AiEA3o7KixLkqX4DrmLbnE/WVJpPcl4MJCScgDVbNAuAF0w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDPK8BeF8VFUZrkKWgN5/gzon+HS1dPGeZ1ewAJ1Ov3eAIhAPSbUQ28NU6nMI+aOV/gJRtXnJP8SW3xACBxNjFJRoqD"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@edv4h%2fusketch-session-voting@0.2.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":32304},"name":"@edv4h/usketch-session-voting","type":"module","_from":"file:edv4h-usketch-session-voting-0.2.5.tgz","exports":{"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","source":"./src/client.tsx"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.js","source":"./src/server.ts"}},"license":"MIT","scripts":{"test":"vitest run --passWithNoTests","build":"tsc -p tsconfig.json","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"version":"0.2.5","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:535fc11c-f5eb-419e-b71a-8926f29aa4db"}},"homepage":"https://github.com/EdV4H/usketch#readme","_resolved":"/tmp/0079945f3b20fdb4af3ce56f4baaf125/edv4h-usketch-session-voting-0.2.5.tgz","_integrity":"sha512-hHpTmWoewufBueJuB/q7IfvQhUCdPeWVEbUlydwUjYWkOqnCcK/NpeGtSBa7kEx3JlkpD/RHG/hi41w4Mv/C6Q==","repository":{"url":"git+https://github.com/EdV4H/usketch.git","type":"git","directory":"packages/usketch-session-voting"},"_npmVersion":"12.1.0","description":"[`@edv4h/usketch-plugin-session`](../../plugins/usketch-plugin-session) の基盤に乗る **最初のセッション型「投票」**。サーバー権限モデルなので、**サーバー部＋クライアント部のペア**を 1パッケージにまとめ、サブパス export（`/server` と `/client`）で提供する。","directories":{},"maintainers":[{"name":"myuske","email":"circlemountain.ym@gmail.com"}],"_nodeVersion":"24.20.0","dependencies":{"@edv4h/usketch-plugin-session":"0.2.5","@edv4h/usketch-session-protocol":"0.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"4.1.11","typescript":"7.0.2","@types/react":"19.2.18"},"peerDependencies":{"react":">=19"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/usketch-session-voting_0.2.5_1790238020449_0.5576910597324174"}}},"time":{"created":"2026-08-10T12:36:07.887Z","modified":"2026-09-24T08:20:20.867Z","0.2.0":"2026-08-10T12:36:08.216Z","0.2.1":"2026-08-12T11:53:34.682Z","0.2.2":"2026-08-14T06:08:35.377Z","0.2.3":"2026-08-21T06:10:42.271Z","0.2.4":"2026-09-07T06:29:42.889Z","0.2.5":"2026-09-24T08:20:20.541Z"},"bugs":{"url":"https://github.com/EdV4H/usketch/issues"},"license":"MIT","homepage":"https://github.com/EdV4H/usketch#readme","repository":{"url":"git+https://github.com/EdV4H/usketch.git","type":"git","directory":"packages/usketch-session-voting"},"description":"[`@edv4h/usketch-plugin-session`](../../plugins/usketch-plugin-session) の基盤に乗る **最初のセッション型「投票」**。サーバー権限モデルなので、**サーバー部＋クライアント部のペア**を 1パッケージにまとめ、サブパス export（`/server` と `/client`）で提供する。","maintainers":[{"name":"myuske","email":"circlemountain.ym@gmail.com"}],"readme":"# @edv4h/usketch-session-voting\n\n[`@edv4h/usketch-plugin-session`](../../plugins/usketch-plugin-session) の基盤に乗る\n**最初のセッション型「投票」**。サーバー権限モデルなので、**サーバー部＋クライアント部のペア**を\n1パッケージにまとめ、サブパス export（`/server` と `/client`）で提供する。\n\n## 特徴\n\n- **重複排除**: userId 単位で1票（`multi` 時はトグル、単一選択の再投票は差し替え）。\n- **秘密投票**: 誰が何に入れたかは server-only の `secret` に保持し、`public` には tally しか出さない。\n- **ライフサイクル**: host が「締め切る」（集計確定）→「終了」（全員のパネルから削除）。\n- **React を server バンドルに持ち込まない**: `/server` は protocol のみに依存、`/client` が UI + React。\n\n## 使い方\n\n```ts\n// サーバー（apps/server）\nimport { votingServerType } from \"@edv4h/usketch-session-voting/server\";\nnew SessionManager({ /* deps */, types: [votingServerType] });\n```\n\n```ts\n// クライアント（web）\nimport { votingClientType } from \"@edv4h/usketch-session-voting/client\";\ncreateSessionPlugin({ wsProvider, userId, boardId, types: [votingClientType] });\n```\n\n作成 config（`SessionConfig`）:\n\n```ts\n{ type: \"voting\", question: string, options: string[], secret?: boolean, multi?: boolean }\n```\n\n## 主な export\n\n| entry | export | 内容 |\n|---|---|---|\n| `/server` | `votingServerType` | `ServerSessionType`（init/reduce/privateFor/close） |\n| `/client` | `votingClientType` | `ClientSessionType`（投票カード＋作成フォームの描画） |\n| 両方 | `VotingPublicState` / `VotingConfig` / `VotingPrivateState` | 公開状態・作成 config・自分の投票 |\n\n新しいセッション型（チュートリアル / カードゲーム）は、この構成（`/server` ＋ `/client` のペア）を\nまねて 1 パッケージ足すだけで追加できる。\n","readmeFilename":"README.md"}