{"_id":"@asyra/utils","_rev":"8-68b97593e98df4ddda415bf5004e1200","name":"@asyra/utils","dist-tags":{"latest":"0.5.1"},"versions":{"0.2.0":{"name":"@asyra/utils","version":"0.2.0","keywords":[],"author":{"name":"Asa Tsai"},"license":"MIT","_id":"@asyra/utils@0.2.0","maintainers":[{"name":"karoteglathe","email":"karoteglathe@gmail.com"}],"dist":{"shasum":"d82ae89112b614132008c02976aeee715eaf88ac","tarball":"https://registry.npmjs.org/@asyra/utils/-/utils-0.2.0.tgz","fileCount":783,"integrity":"sha512-+pSM+sYoW6yb51gCu7wqQfSiY4+NtdywasV9e1ACtte/ADxnIY5azHDvwxcAUcqt3FVvn7h7zz6Ws7A9WtewkA==","signatures":[{"sig":"MEUCIFcKK32ksnMN19bgXXbq5NSEN1NmvXNCJZ/DXdflps4YAiEAwglMf6bxY/JiDZRhnzzRln+8F61eXttJb/we0UzsscM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1302557},"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:utils":"tsc"},"_npmUser":{"name":"karoteglathe","email":"karoteglathe@gmail.com"},"_npmVersion":"10.8.2","description":"Shared properties and functionalities","directories":{},"_nodeVersion":"20.17.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/utils_0.2.0_1769451195231_0.7537159434991896","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@asyra/utils","version":"0.2.1","keywords":[],"author":{"name":"Asa Tsai"},"license":"MIT","_id":"@asyra/utils@0.2.1","maintainers":[{"name":"karoteglathe","email":"karoteglathe@gmail.com"}],"dist":{"shasum":"99294e43f32efc763ac7544c729bd440b820999e","tarball":"https://registry.npmjs.org/@asyra/utils/-/utils-0.2.1.tgz","fileCount":784,"integrity":"sha512-DU6aXazU9rAW0LlxLgijJeenD7WpBMJVW7RKmc4raoi7hGiBpVEcV7Vrrg177KAzHdkn4aBXI7UadZ6lLNGwsA==","signatures":[{"sig":"MEQCICpvt3HwSEGTTbO8hSYDwoAQnRb0mVjqWuIRScmJKiR4AiBjs+Mawl3xj7WYxFM/C9/oFaOvUn9MFpeAa15kuPcBVg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1302629},"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:utils":"tsc"},"_npmUser":{"name":"karoteglathe","email":"karoteglathe@gmail.com"},"_npmVersion":"10.8.2","description":"Shared properties and functionalities","directories":{},"_nodeVersion":"20.17.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/utils_0.2.1_1769503874805_0.6418381575065046","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@asyra/utils","version":"0.2.2","keywords":[],"author":{"name":"Asa Tsai"},"license":"MIT","_id":"@asyra/utils@0.2.2","maintainers":[{"name":"karoteglathe","email":"karoteglathe@gmail.com"}],"dist":{"shasum":"d1a5d7b1cebe871c620b20a0449de6a8302a5e4a","tarball":"https://registry.npmjs.org/@asyra/utils/-/utils-0.2.2.tgz","fileCount":784,"integrity":"sha512-MvbKXxhBIEBqvAUAofEJg1vXgyw2PLhGXAoIgBYPE4BsDZz8N3RIA3Q1f1gHKfPwAJ3d7ih7zXyPYG3O0GJdsA==","signatures":[{"sig":"MEUCIQD3BX4H38SHgCFAkIoohBFHIYcBfeSXBrmMB828WYnLZQIgB82cDcOSCWJkFxsyZjxuKDtA2SgfVDahm3ZQYS9m4wE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1302686},"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:utils":"tsc"},"_npmUser":{"name":"karoteglathe","email":"karoteglathe@gmail.com"},"_npmVersion":"10.8.2","description":"Shared properties and functionalities","directories":{},"_nodeVersion":"20.17.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/utils_0.2.2_1769504337444_0.5539849001443617","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@asyra/utils","version":"0.2.3","keywords":[],"author":{"name":"Asa Tsai"},"license":"MIT","_id":"@asyra/utils@0.2.3","maintainers":[{"name":"karoteglathe","email":"karoteglathe@gmail.com"}],"dist":{"shasum":"54a1aaa245d185649ad0e98ff04bb38650d533c2","tarball":"https://registry.npmjs.org/@asyra/utils/-/utils-0.2.3.tgz","fileCount":784,"integrity":"sha512-TyvTmZSuL+611jOxZAIyA/xWAyRnoTCICO61twTbP9C4mbqhJwE1DZsbPv6OPlFU6t+GgIugLq5gaZqKvn+UVg==","signatures":[{"sig":"MEUCIHGLjnPTkc1A8aXXu85qoH+SYz1ix5HIogc1ue1nRoZFAiEAjZW8+nPrZaw++aoH/tttq39hEAJJoLRr377gbmOH+kg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1302743},"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:utils":"tsc"},"_npmUser":{"name":"karoteglathe","email":"karoteglathe@gmail.com"},"_npmVersion":"10.8.2","description":"Shared properties and functionalities","directories":{},"_nodeVersion":"20.17.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/utils_0.2.3_1769504538450_0.7130056756554048","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"@asyra/utils","version":"0.2.4","keywords":[],"author":{"name":"Asa Tsai"},"license":"MIT","_id":"@asyra/utils@0.2.4","maintainers":[{"name":"karoteglathe","email":"karoteglathe@gmail.com"}],"dist":{"shasum":"8533676812f1cd278a64fe0f49b22cf6af337d7e","tarball":"https://registry.npmjs.org/@asyra/utils/-/utils-0.2.4.tgz","fileCount":784,"integrity":"sha512-9llberL1ZYr6j/QpAsc2PZYGSWf5vxY5sjccFxa16y1dfXpXYNGlEIToLNbpZ3tQLb4rYAKp+l2d1x0QNt0wAQ==","signatures":[{"sig":"MEQCIEbA53KgOOcCQo/R0SeJqGgGFCez5EXOW3PNWVikzrs9AiADRBg+C0sc2r72kT5EblLSRnDQBkkEj5uBTmqxV5blIA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1302800},"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:utils":"tsc"},"_npmUser":{"name":"karoteglathe","email":"karoteglathe@gmail.com"},"_npmVersion":"10.8.2","description":"Shared properties and functionalities","directories":{},"_nodeVersion":"20.17.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/utils_0.2.4_1769519666673_0.31894618676468056","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"@asyra/utils","version":"0.2.5","keywords":[],"author":{"name":"Asa Tsai"},"license":"MIT","_id":"@asyra/utils@0.2.5","maintainers":[{"name":"karoteglathe","email":"karoteglathe@gmail.com"}],"dist":{"shasum":"d39dfd6cfa622ef3560495a464e06e91d291e5ed","tarball":"https://registry.npmjs.org/@asyra/utils/-/utils-0.2.5.tgz","fileCount":784,"integrity":"sha512-jwex7fdOKx6c9zs7chIQVmoYr2vf75ckyVF0PJgc89qdZQ1ZA7EbGe/cG0pt3rqLGCEqT9i3FB4S4E/ypwfYoA==","signatures":[{"sig":"MEUCIHPiccTqxnBj6ZsVNX1EeF1OmK7ibN0th78MRCqO9nP9AiEA2p55Lo2Ng60BijHhyuAK2SSPEvxQtd0kmGvaSQJNCEA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1303316},"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:utils":"tsc"},"_npmUser":{"name":"karoteglathe","email":"karoteglathe@gmail.com"},"_npmVersion":"10.8.2","description":"Shared properties and functionalities","directories":{},"_nodeVersion":"20.17.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/utils_0.2.5_1769591650016_0.4376852132680542","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@asyra/utils","version":"0.5.0","keywords":[],"author":{"name":"Asa Tsai"},"license":"MIT","_id":"@asyra/utils@0.5.0","maintainers":[{"name":"karoteglathe","email":"karoteglathe@gmail.com"}],"dist":{"shasum":"f8511a81a53fb9767d0603a5796ef19b59fe6b14","tarball":"https://registry.npmjs.org/@asyra/utils/-/utils-0.5.0.tgz","fileCount":327,"integrity":"sha512-tyolVYIX4n0sPpuFndkEtNTbjTsoDzsIvKqNSPmO2G8ogwbReQH1NtuVHqZ2G1cA2fI6712GtKLp801cBfsEaQ==","signatures":[{"sig":"MEQCIHNRFDxbMvKjCv7VJc9FoQpYg/DqYGYTDbqb07jE7N68AiAxeLNz3/PN711lehE856zqT6ZmSF8YiooKV9y8r4izfQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":284871},"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:utils":"tsc"},"_npmUser":{"name":"karoteglathe","email":"karoteglathe@gmail.com"},"_npmVersion":"10.8.2","description":"Shared properties and functionalities","directories":{},"_nodeVersion":"24.13.0","dependencies":{"lodash":"^4.17.21"},"_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/utils_0.5.0_1786102655539_0.3518788480493189","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@asyra/utils","version":"0.5.1","description":"Shared properties and functionalities","author":{"name":"Asa Tsai"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/karote00/asyra.git","directory":"packages/utils"},"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:utils":"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":{"lodash":"^4.18.1"},"_id":"@asyra/utils@0.5.1","gitHead":"80265cc1fd1895a0f30c79a6127c00342a6f85fd","bugs":{"url":"https://github.com/karote00/asyra/issues"},"_nodeVersion":"24.13.0","_npmVersion":"10.8.2","dist":{"integrity":"sha512-MBP4BsCjwKNdD38OdfGu79PdOo83CbPUiuGUKnrm6G6WZdjwOLQx4YbMMEw3IozOE8hi2mnkI7SSMqWRpTl2Gw==","shasum":"c86bc3cf9746054d3f81d632b0ca58e881c4b26c","tarball":"https://registry.npmjs.org/@asyra/utils/-/utils-0.5.1.tgz","fileCount":327,"unpackedSize":286411,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDgvff2fQJJjvZ5Y9VYoMEL9YT4+Lm8k+MCJxoRcs8MfwIhAN2uF0BfvwHk/h55kvk+mUXOwAB5NXHoq2qIdjRvOTyT"}]},"_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/utils_0.5.1_1787911997063_0.8488287260952856"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-26T18:13:15.135Z","modified":"2026-08-28T10:13:17.382Z","0.2.0":"2026-01-26T18:13:15.419Z","0.2.1":"2026-01-27T08:51:14.981Z","0.2.2":"2026-01-27T08:58:57.596Z","0.2.3":"2026-01-27T09:02:18.629Z","0.2.4":"2026-01-27T13:14:26.850Z","0.2.5":"2026-01-28T09:14:10.197Z","0.5.0":"2026-08-07T11:37:35.683Z","0.5.1":"2026-08-28T10:13:17.203Z"},"author":{"name":"Asa Tsai"},"license":"MIT","keywords":[],"description":"Shared properties and functionalities","maintainers":[{"name":"karoteglathe","email":"karoteglathe@gmail.com"}],"readme":"# `@asyra/utils`\n\nPure shared types, ids, geometry and numeric helpers, registries, registration graph primitives, and diagnostics dispatch.\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/utils\n```\n\n```ts\nimport { isRecord } from '@asyra/utils'\n```\n\nUse only the package root and the explicitly documented public subpaths.\n\n## Owns\n\n- neutral low-level types, id helpers, pure calculations, shared registries, structured registry errors, and low-level diagnostics primitives\n\n## Does not own\n\n- runtime business policy, startup side effects, canonical App state, rendering, Feature decisions, or domain-specific meaning\n\n## Start here\n\nImport a public type or pure primitive when multiple Framework owners need the neutral contract; keep App-domain helpers in the App.\n\n## Lifecycle and composition\n\nPure helpers return detached deterministic values. Registries own explicit registration and reverse-order retryable cleanup. Importing Utils creates no listener, timer, or mutable product runtime.\n\n## Learn more\n\n- [Complete package guide](https://github.com/karote00/asyra/blob/main/docs/public/reference/packages/utils.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","homepage":"https://asyra-framework.vercel.app","repository":{"type":"git","url":"git+https://github.com/karote00/asyra.git","directory":"packages/utils"},"bugs":{"url":"https://github.com/karote00/asyra/issues"}}