{"_id":"@asyra/selection","_rev":"9-b9b512e48ac06669c6294f5a2d359e7d","name":"@asyra/selection","dist-tags":{"latest":"0.5.2"},"versions":{"0.2.0":{"name":"@asyra/selection","version":"0.2.0","keywords":[],"author":{"name":"Asa Tsai"},"license":"MIT","_id":"@asyra/selection@0.2.0","maintainers":[{"name":"karoteglathe","email":"karoteglathe@gmail.com"}],"dist":{"shasum":"af35ef52431c4f2830e7df17e0650b3f953b8db4","tarball":"https://registry.npmjs.org/@asyra/selection/-/selection-0.2.0.tgz","fileCount":75,"integrity":"sha512-11iZtmUOXkFjF7qePbA5kWV9alC1NDSIpBLm3PZ/+kByMKFGA3xq62Icu+9mKSOHtJVbIT3CB5DzogF7VX10ow==","signatures":[{"sig":"MEUCIGjyohyInSEf8COqaRaSPGY+EsDKrvUXS1lpfxka2jROAiEA+6L3LqW0KhJkHcn4rQSpwJdGvYr6IiBWRcUgrO8WD+s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":253860},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"a60dedaec07f3eee2739e3bb588ef5fcf9802939","scripts":{"dev":"tsc --watch --preserveWatchOutput","test":"yarn has:test && vitest || echo 'No test files found. Skipping test.'","clean":"rm -rf dist","test:ci":"yarn has:test && vitest run --coverage --reporter=default --reporter=junit || echo 'No test files found. Skipping test:ci.'","has:test":"find . -type f \\( -name \"*.test.ts\" -o -name \"*.test.tsx\" \\) | grep -q .","test:local":"yarn has:test && vitest run || echo 'No test files found. Skipping test:local.'","build:selection":"tsc"},"_npmUser":{"name":"karoteglathe","email":"karoteglathe@gmail.com"},"_npmVersion":"10.8.2","description":"A selection management library for handling element, vertex, edge, or any other selectable entities in a scene graph.","directories":{},"_nodeVersion":"20.17.0","dependencies":{"@asyra/utils":"workspace:*","@asyra/reactive-events":"workspace:*"},"_hasShrinkwrap":false,"packageManager":"yarn@4.3.1","devDependencies":{"vitest":"^2.1.8","typescript":"^5.7.2","@vitest/coverage-v8":"^2.1.8"},"_npmOperationalInternal":{"tmp":"tmp/selection_0.2.0_1769451192904_0.858678453395187","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@asyra/selection","version":"0.2.1","keywords":[],"author":{"name":"Asa Tsai"},"license":"MIT","_id":"@asyra/selection@0.2.1","maintainers":[{"name":"karoteglathe","email":"karoteglathe@gmail.com"}],"dist":{"shasum":"7f6cc64c049084f2cd1a5e10f38a369c3f8ec77b","tarball":"https://registry.npmjs.org/@asyra/selection/-/selection-0.2.1.tgz","fileCount":76,"integrity":"sha512-9jQn3wT4ZuDbQvAoEYgbFF/Z+ODCSUbOKbOl59Xeb3E67fpmOxwhV11GLZlJv8dOVldKvk7PKrsxMp7vtAbc1g==","signatures":[{"sig":"MEUCIQDjpJwbitHrfxrmWfJxhbuwyKm3rv48sFgG7AzABp+0hwIgaZYGXvJ1bEFJyp9iwKFDx+D/N+ZeKuPUu6UQkaTwKsw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":254005},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"f15e91323764b2e1673aacd8aa1b0265b5da8615","scripts":{"dev":"tsc --watch --preserveWatchOutput","test":"yarn has:test && vitest || echo 'No test files found. Skipping test.'","clean":"rm -rf dist","test:ci":"yarn has:test && vitest run --coverage --reporter=default --reporter=junit || echo 'No test files found. Skipping test:ci.'","has:test":"find . -type f \\( -name \"*.test.ts\" -o -name \"*.test.tsx\" \\) | grep -q .","test:local":"yarn has:test && vitest run || echo 'No test files found. Skipping test:local.'","build:selection":"tsc"},"_npmUser":{"name":"karoteglathe","email":"karoteglathe@gmail.com"},"_npmVersion":"10.8.2","description":"A selection management library for handling element, vertex, edge, or any other selectable entities in a scene graph.","directories":{},"_nodeVersion":"20.17.0","dependencies":{"@asyra/utils":"^0.2.1","@asyra/reactive-events":"^0.2.1"},"_hasShrinkwrap":false,"packageManager":"yarn@4.3.1","devDependencies":{"vitest":"^2.1.8","typescript":"^5.7.2","@vitest/coverage-v8":"^2.1.8"},"_npmOperationalInternal":{"tmp":"tmp/selection_0.2.1_1769503872562_0.6589054603269124","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@asyra/selection","version":"0.2.2","keywords":[],"author":{"name":"Asa Tsai"},"license":"MIT","_id":"@asyra/selection@0.2.2","maintainers":[{"name":"karoteglathe","email":"karoteglathe@gmail.com"}],"dist":{"shasum":"aec01f6835f86db946cb49d4142e23e4ee69f8a6","tarball":"https://registry.npmjs.org/@asyra/selection/-/selection-0.2.2.tgz","fileCount":76,"integrity":"sha512-0l6L017ioXcPLYLCirjjBQ6x5dE0gLcn3m0gNgCaexg251gbrCYcNkXecIw0hNmjEdKDLeAm038foHzkc7VZcA==","signatures":[{"sig":"MEUCIQCqCWDV3cMcDBDbYFoS7mOAO9pYcYkbamiQgKJRlB3gCAIgYudngRxp/RsUnWa5jQG4B8tpYjl8Mr953rEevi6Uno4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":254141},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"044fbf010b50a857767c87cc02644216232c4d2e","scripts":{"dev":"tsc --watch --preserveWatchOutput","test":"yarn has:test && vitest || echo 'No test files found. Skipping test.'","clean":"rm -rf dist","test:ci":"yarn has:test && vitest run --coverage --reporter=default --reporter=junit || echo 'No test files found. Skipping test:ci.'","has:test":"find . -type f \\( -name \"*.test.ts\" -o -name \"*.test.tsx\" \\) | grep -q .","test:local":"yarn has:test && vitest run || echo 'No test files found. Skipping test:local.'","build:selection":"tsc"},"_npmUser":{"name":"karoteglathe","email":"karoteglathe@gmail.com"},"_npmVersion":"10.8.2","description":"A selection management library for handling element, vertex, edge, or any other selectable entities in a scene graph.","directories":{},"_nodeVersion":"20.17.0","dependencies":{"@asyra/utils":"^0.2.2","@asyra/reactive-events":"^0.2.2"},"_hasShrinkwrap":false,"packageManager":"yarn@4.3.1","devDependencies":{"vitest":"^2.1.8","typescript":"^5.7.2","@vitest/coverage-v8":"^2.1.8"},"_npmOperationalInternal":{"tmp":"tmp/selection_0.2.2_1769504334232_0.9115563470919248","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@asyra/selection","version":"0.2.3","keywords":[],"author":{"name":"Asa Tsai"},"license":"MIT","_id":"@asyra/selection@0.2.3","maintainers":[{"name":"karoteglathe","email":"karoteglathe@gmail.com"}],"dist":{"shasum":"865102e5b112de0f1ab23a82e83ef93650260d67","tarball":"https://registry.npmjs.org/@asyra/selection/-/selection-0.2.3.tgz","fileCount":76,"integrity":"sha512-MS3Hj+zN/tE1R1kt7lzxjFEs51Yol0zSv5uifg2YYo0bgmDoVRn3QwDLwpmq6C/SZyT9NaSGDkHrWupBAK8qhg==","signatures":[{"sig":"MEQCIDkClMNoJMxlN/pKaTjitJEkoc/rw6sFqcReq5qsaFbRAiBYF5rZ+tAIJ536UUIATY/0Jzwkcd6fcwRWfZVp2/iMVA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":254277},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"bdbc24afa379256f0c3e4f269fabd832cd385bcb","scripts":{"dev":"tsc --watch --preserveWatchOutput","test":"yarn has:test && vitest || echo 'No test files found. Skipping test.'","clean":"rm -rf dist","test:ci":"yarn has:test && vitest run --coverage --reporter=default --reporter=junit || echo 'No test files found. Skipping test:ci.'","has:test":"find . -type f \\( -name \"*.test.ts\" -o -name \"*.test.tsx\" \\) | grep -q .","test:local":"yarn has:test && vitest run || echo 'No test files found. Skipping test:local.'","build:selection":"tsc"},"_npmUser":{"name":"karoteglathe","email":"karoteglathe@gmail.com"},"_npmVersion":"10.8.2","description":"A selection management library for handling element, vertex, edge, or any other selectable entities in a scene graph.","directories":{},"_nodeVersion":"20.17.0","dependencies":{"@asyra/utils":"^0.2.3","@asyra/reactive-events":"^0.2.3"},"_hasShrinkwrap":false,"packageManager":"yarn@4.3.1","devDependencies":{"vitest":"^2.1.8","typescript":"^5.7.2","@vitest/coverage-v8":"^2.1.8"},"_npmOperationalInternal":{"tmp":"tmp/selection_0.2.3_1769504535950_0.8564137100823868","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"@asyra/selection","version":"0.2.4","keywords":[],"author":{"name":"Asa Tsai"},"license":"MIT","_id":"@asyra/selection@0.2.4","maintainers":[{"name":"karoteglathe","email":"karoteglathe@gmail.com"}],"dist":{"shasum":"6ee1a445fa76196109e0c7bc69d3e33ff4d3013a","tarball":"https://registry.npmjs.org/@asyra/selection/-/selection-0.2.4.tgz","fileCount":76,"integrity":"sha512-LXc2Zh7yZUCnEF+M4e8+7pfPVy9RRHW2VCJAFXObd1N6hH7q8VKrgJIN/Iwyf/0Ros3c0lbBpCh/IUnagSYVMA==","signatures":[{"sig":"MEQCIHioTQm1GgfKr8mN9tqnn2DmkeUutzquk/TISvadzjj4AiAFSUY9O7z1S0GSCdyXm8iF6c8oT0qk3x/6mPJ1IQYqoA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":254413},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"0f49436e19f06573008d4282d2a8331fa2a8ff7b","scripts":{"dev":"tsc --watch --preserveWatchOutput","test":"yarn has:test && vitest || echo 'No test files found. Skipping test.'","clean":"rm -rf dist","test:ci":"yarn has:test && vitest run --coverage --reporter=default --reporter=junit || echo 'No test files found. Skipping test:ci.'","has:test":"find . -type f \\( -name \"*.test.ts\" -o -name \"*.test.tsx\" \\) | grep -q .","test:local":"yarn has:test && vitest run || echo 'No test files found. Skipping test:local.'","build:selection":"tsc"},"_npmUser":{"name":"karoteglathe","email":"karoteglathe@gmail.com"},"_npmVersion":"10.8.2","description":"A selection management library for handling element, vertex, edge, or any other selectable entities in a scene graph.","directories":{},"_nodeVersion":"20.17.0","dependencies":{"@asyra/utils":"^0.2.4","@asyra/reactive-events":"^0.2.4"},"_hasShrinkwrap":false,"packageManager":"yarn@4.3.1","devDependencies":{"vitest":"^2.1.8","typescript":"^5.7.2","@vitest/coverage-v8":"^2.1.8"},"_npmOperationalInternal":{"tmp":"tmp/selection_0.2.4_1769519663757_0.5057246686332675","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"@asyra/selection","version":"0.2.5","keywords":[],"author":{"name":"Asa Tsai"},"license":"MIT","_id":"@asyra/selection@0.2.5","maintainers":[{"name":"karoteglathe","email":"karoteglathe@gmail.com"}],"dist":{"shasum":"40fce019d6849fc5d193496f26da17ba973e4131","tarball":"https://registry.npmjs.org/@asyra/selection/-/selection-0.2.5.tgz","fileCount":76,"integrity":"sha512-xUOXqosy8hbOJhcO664jop62OafrxuQ6GZEImNi2zOlJAqJBuDaHbP2RPn9QhMby+V8/8XmFk5PwHwm/UNG0Kg==","signatures":[{"sig":"MEUCIQDrFRajL2MfaR2p+FCGMTShtZ9ohnKTzDsoJ8+TjRLv8AIgamSK8GNbq9lZrtWLpLLOHaeiEKlJhwZkrkJF8xoN7oQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":254555},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"f60702f9c2d4a056cd2494b1265ee1fa7cbcd242","scripts":{"dev":"tsc --watch --preserveWatchOutput","test":"yarn has:test && vitest || echo 'No test files found. Skipping test.'","clean":"rm -rf dist","test:ci":"yarn has:test && vitest run --coverage --reporter=default --reporter=junit || echo 'No test files found. Skipping test:ci.'","has:test":"find . -type f \\( -name \"*.test.ts\" -o -name \"*.test.tsx\" \\) | grep -q .","test:local":"yarn has:test && vitest run || echo 'No test files found. Skipping test:local.'","build:selection":"tsc"},"_npmUser":{"name":"karoteglathe","email":"karoteglathe@gmail.com"},"_npmVersion":"10.8.2","description":"A selection management library for handling element, vertex, edge, or any other selectable entities in a scene graph.","directories":{},"_nodeVersion":"20.17.0","dependencies":{"@asyra/utils":"^0.2.5","@asyra/reactive-events":"^0.2.5"},"_hasShrinkwrap":false,"packageManager":"yarn@4.3.1","devDependencies":{"vitest":"^2.1.8","typescript":"^5.7.2","@vitest/coverage-v8":"^2.1.8"},"_npmOperationalInternal":{"tmp":"tmp/selection_0.2.5_1769591647731_0.9498250815316813","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@asyra/selection","version":"0.5.0","keywords":[],"author":{"name":"Asa Tsai"},"license":"MIT","_id":"@asyra/selection@0.5.0","maintainers":[{"name":"karoteglathe","email":"karoteglathe@gmail.com"}],"dist":{"shasum":"874eee517c3c7d9a6ae8bf9b1216619ec9dd5018","tarball":"https://registry.npmjs.org/@asyra/selection/-/selection-0.5.0.tgz","fileCount":15,"integrity":"sha512-1sjuVs1pd7AEr4ZmV03OrhsIF1charxHuJjd55uDTk9oW8PB+IrfIAeUKsZmzrMATB2PjMlgC23OuMjVTjkAFQ==","signatures":[{"sig":"MEYCIQCaVR7LUcI1aSDZgpCbiqFb8ejzq8hG59pqKSXLUs3E/wIhALYpCscHxoTfy77kmaVM7CZ0/iiG7I/NORHI/YrDroA1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14972},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":"24.x"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"5ee728f3c26d52147314f2bf6d8de0f603146913","scripts":{"dev":"tsc --watch --preserveWatchOutput","test":"yarn has:test && vitest || echo 'No test files found. Skipping test.'","clean":"rm -rf dist","test:ci":"yarn has:test && vitest run --coverage --reporter=default --reporter=junit || echo 'No test files found. Skipping test:ci.'","has:test":"find . -type f \\( -name \"*.test.ts\" -o -name \"*.test.tsx\" \\) | grep -q .","test:local":"vitest run","build:selection":"tsc"},"_npmUser":{"name":"karoteglathe","email":"karoteglathe@gmail.com"},"_npmVersion":"10.8.2","description":"A selection management library for handling element, vertex, edge, or any other selectable entities in a scene graph.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@asyra/utils":"0.5.0"},"_hasShrinkwrap":false,"packageManager":"yarn@4.3.1","devDependencies":{"vitest":"^2.1.8","typescript":"^5.7.2","@vitest/coverage-v8":"^2.1.8"},"_npmOperationalInternal":{"tmp":"tmp/selection_0.5.0_1786102654946_0.4080221045433854","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@asyra/selection","version":"0.5.1","keywords":[],"author":{"name":"Asa Tsai"},"license":"MIT","_id":"@asyra/selection@0.5.1","maintainers":[{"name":"karoteglathe","email":"karoteglathe@gmail.com"}],"homepage":"https://asyra-framework.vercel.app","bugs":{"url":"https://github.com/karote00/asyra/issues"},"dist":{"shasum":"c7fa172f06011942d1617b9341e116725f583577","tarball":"https://registry.npmjs.org/@asyra/selection/-/selection-0.5.1.tgz","fileCount":15,"integrity":"sha512-0VaCKKYfJNwkrxIYsk4z0AZMLtl5u14rU7fuCnPki2DzFD6Ruk7zNXu3lm3CJqlQ+A2UxvUGAaFDxNbHosxg1Q==","signatures":[{"sig":"MEUCIG+6YS0cOQpbQnYwDRibFcE3PTsBvbgWL0zW2obLx6QWAiEAx/Wv51JKgMfm6qqH/GvLnYMubitk1+e/9NTyQmtJCXY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16544},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":"24.x"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"80265cc1fd1895a0f30c79a6127c00342a6f85fd","scripts":{"dev":"tsc --watch --preserveWatchOutput","test":"yarn has:test && vitest || echo 'No test files found. Skipping test.'","clean":"rm -rf dist","test:ci":"yarn has:test && vitest run --coverage --reporter=default --reporter=junit || echo 'No test files found. Skipping test:ci.'","has:test":"find . -type f \\( -name \"*.test.ts\" -o -name \"*.test.tsx\" \\) | grep -q .","test:local":"vitest run","build:selection":"tsc"},"_npmUser":{"name":"karoteglathe","email":"karoteglathe@gmail.com"},"repository":{"url":"git+https://github.com/karote00/asyra.git","type":"git","directory":"packages/selection"},"_npmVersion":"10.8.2","description":"A selection management library for handling element, vertex, edge, or any other selectable entities in a scene graph.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@asyra/utils":"workspace:*"},"_hasShrinkwrap":false,"packageManager":"yarn@4.3.1","devDependencies":{"vitest":"^3.2.6","typescript":"^5.7.2","@vitest/coverage-v8":"^3.2.6"},"_npmOperationalInternal":{"tmp":"tmp/selection_0.5.1_1787911996538_0.7917790674225653","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"@asyra/selection","version":"0.5.2","description":"A selection management library for handling element, vertex, edge, or any other selectable entities in a scene graph.","author":{"name":"Asa Tsai"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/karote00/asyra.git","directory":"packages/selection"},"homepage":"https://asyra-framework.vercel.app","type":"module","engines":{"node":"24.x"},"packageManager":"yarn@4.3.1","keywords":[],"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"dev":"tsc --watch --preserveWatchOutput","build:selection":"tsc","clean":"rm -rf dist","has:test":"find . -type f \\( -name \"*.test.ts\" -o -name \"*.test.tsx\" \\) | grep -q .","test":"yarn has:test && vitest || echo 'No test files found. Skipping test.'","test:local":"vitest run","test:ci":"yarn has:test && vitest run --coverage --reporter=default --reporter=junit || echo 'No test files found. Skipping test:ci.'"},"devDependencies":{"@vitest/coverage-v8":"^3.2.6","typescript":"^5.7.2","vitest":"^3.2.6"},"dependencies":{"@asyra/utils":"0.5.1"},"_id":"@asyra/selection@0.5.2","gitHead":"5c7433cfe12ee0f8b266ca43b22441b048407bbf","bugs":{"url":"https://github.com/karote00/asyra/issues"},"_nodeVersion":"24.13.0","_npmVersion":"10.8.2","dist":{"integrity":"sha512-K6W3EVkFfzmpv4XYHS2uNLimYDvS72vfAhLaMsfE/zHQ6lGW0hwAIlwYXkQpjlAIpipFXXHx5tVJnyClDurhNA==","shasum":"4f87cf513091fa74936db6acd9f0118394d862a7","tarball":"https://registry.npmjs.org/@asyra/selection/-/selection-0.5.2.tgz","fileCount":15,"unpackedSize":16538,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCwXWLXFMC6EZfiZZWy5COXf/9lboKpR/pXyL9FUbYD9AIgehqtV1CTyD/R+TDAhQX04imloiNN0lqJvzR2QdPkikQ="}]},"_npmUser":{"name":"karoteglathe","email":"karoteglathe@gmail.com"},"directories":{},"maintainers":[{"name":"karoteglathe","email":"karoteglathe@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/selection_0.5.2_1787915193559_0.7166308728506932"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-26T18:13:12.787Z","modified":"2026-08-28T11:06:33.866Z","0.2.0":"2026-01-26T18:13:13.062Z","0.2.1":"2026-01-27T08:51:12.712Z","0.2.2":"2026-01-27T08:58:54.377Z","0.2.3":"2026-01-27T09:02:16.110Z","0.2.4":"2026-01-27T13:14:23.902Z","0.2.5":"2026-01-28T09:14:07.883Z","0.5.0":"2026-08-07T11:37:35.080Z","0.5.1":"2026-08-28T10:13:16.670Z","0.5.2":"2026-08-28T11:06:33.690Z"},"bugs":{"url":"https://github.com/karote00/asyra/issues"},"author":{"name":"Asa Tsai"},"license":"MIT","homepage":"https://asyra-framework.vercel.app","keywords":[],"repository":{"type":"git","url":"git+https://github.com/karote00/asyra.git","directory":"packages/selection"},"description":"A selection management library for handling element, vertex, edge, or any other selectable entities in a scene graph.","maintainers":[{"name":"karoteglathe","email":"karoteglathe@gmail.com"}],"readme":"# `@asyra/selection`\n\nCanonical named selection-channel state and explicit selection queries and operations.\n\n## Requirements\n\n- Node.js 24.x\n- Yarn 4.3.1 for this repository's maintained workflows\n\n## Install\n\n```bash\nnpm install @asyra/selection\n```\n\n```ts\nimport selection from '@asyra/selection'\n```\n\nUse only the package root and the explicitly documented public subpaths.\n\n## Owns\n\n- selected entity ids per registered channel plus deterministic replace, add, remove, clear, and query semantics\n\n## Does not own\n\n- tool decisions, App eligibility, render overlays, entity mutation, UI state, or automatic builtin channel registrations\n\n## Start here\n\nRegister the selection channels your product needs, or use the optional official defaults installed by Preset.\n\n## Lifecycle and composition\n\nRegistration creates stable channel metadata. Selection operations update only that channel; duplicate or unknown registration and invalid input fail explicitly. Removing projection packages does not transfer selection ownership to UI state.\n\n## Learn more\n\n- [Complete package guide](https://github.com/karote00/asyra/blob/main/docs/public/reference/packages/selection.md)\n- [Framework release support](https://github.com/karote00/asyra/blob/main/docs/ai/framework/RELEASE_SUPPORT.md)\n\n## Support and policy\n\nThis repository does not accept external issues or contributions. You may use,\ninspect, and fork the package under the [MIT License](https://github.com/karote00/asyra/blob/main/LICENSE).\nFollow the [security policy](https://github.com/karote00/asyra/blob/main/SECURITY.md) for\nsecurity-sensitive reports and the [root policy](https://github.com/karote00/asyra) for the\ncurrent support boundary.\n","readmeFilename":"README.md"}