{"_id":"@a2ui-sdk/utils","_rev":"11-4c935c2ca3046ec6c601b8ac7d7689fa","name":"@a2ui-sdk/utils","dist-tags":{"latest":"0.4.0"},"versions":{"0.0.0":{"name":"@a2ui-sdk/utils","version":"0.0.0","license":"Apache-2.0","_id":"@a2ui-sdk/utils@0.0.0","maintainers":[{"name":"weareoutman","email":"wangshenwei@qq.com"},{"name":"easyops-eve","email":"wangshenwei@foxmail.com"}],"homepage":"https://easyops-cn.github.io/a2ui-sdk/","bugs":{"url":"https://github.com/easyops-cn/a2ui-sdk/issues"},"dist":{"shasum":"41ca217e719f96e4dbd67436492ae4c7e84175e1","tarball":"https://registry.npmjs.org/@a2ui-sdk/utils/-/utils-0.0.0.tgz","fileCount":28,"integrity":"sha512-19UtwZDkyJCIkhxB9Hc8O3KiKfW+niGbxgw+drjDJhraTn8mTRleYtZnnkpl6f92axiouWVMF3Mq3ojHasSCeA==","signatures":[{"sig":"MEUCICMXGsNb1oRudYmSW9Nsq3IuIgR2YBv6NUaRSH96QMC6AiEAypkpzyeRiuZrGY0J54CiGft4Ozajg1U/UNQpAvmBGGs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":120326},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./0.9":{"types":"./dist/0.9/index.d.ts","default":"./dist/0.9/index.js"}},"gitHead":"a1c07f2d21ad38ec8776caabe7eaff89971f200f","scripts":{"dev":"tsc -b --watch","build":"tsc -b"},"_npmUser":{"name":"easyops-eve","email":"wangshenwei@foxmail.com"},"repository":{"url":"git+ssh://git@github.com/easyops-cn/a2ui-sdk.git","type":"git","directory":"packages/utils"},"_npmVersion":"10.9.4","description":"A2UI utilities","directories":{},"_nodeVersion":"22.21.1","dependencies":{"@a2ui-sdk/types":"^0.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.16","typescript":"~5.9.3","@vitest/coverage-v8":"^4.0.16"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.0.0_1768289709401_0.9442906494159697","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@a2ui-sdk/utils","version":"0.0.2","license":"Apache-2.0","_id":"@a2ui-sdk/utils@0.0.2","maintainers":[{"name":"weareoutman","email":"wangshenwei@qq.com"},{"name":"easyops-eve","email":"wangshenwei@foxmail.com"}],"homepage":"https://easyops-cn.github.io/a2ui-sdk/","bugs":{"url":"https://github.com/easyops-cn/a2ui-sdk/issues"},"dist":{"shasum":"85fca652088efd5b5732c119322f456b4d85cef6","tarball":"https://registry.npmjs.org/@a2ui-sdk/utils/-/utils-0.0.2.tgz","fileCount":28,"integrity":"sha512-feBQ2XxW/QbSNnVsriy/4sqkWdlj1p4OKD4Y12kEsWWksE+T/m+6Uy5ltST0OSmYJ9N3HuVDykBTZzytM6CSSw==","signatures":[{"sig":"MEUCIDU9NeG46YELHbq5R3907NohG4llLWuM/JxpvYrTBwDEAiEAgiOTdk9mWn5uVrrGAgKi0pv6ntcGEtOECbUxG14+ENM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":120325},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./0.9":{"types":"./dist/0.9/index.d.ts","default":"./dist/0.9/index.js"}},"gitHead":"fb5606b4faefb1ceb6f3f6ed8ea2e453ad4dc24d","scripts":{"dev":"tsc -b --watch","build":"tsc -b"},"_npmUser":{"name":"easyops-eve","email":"wangshenwei@foxmail.com"},"repository":{"url":"git+ssh://git@github.com/easyops-cn/a2ui-sdk.git","type":"git","directory":"packages/utils"},"_npmVersion":"10.9.4","description":"A2UI utilities","directories":{},"_nodeVersion":"22.21.1","dependencies":{"@a2ui-sdk/types":"0.0.2"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.16","typescript":"~5.9.3","@vitest/coverage-v8":"^4.0.16"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.0.2_1768291038249_0.5585676547890701","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@a2ui-sdk/utils","version":"0.0.3","license":"Apache-2.0","_id":"@a2ui-sdk/utils@0.0.3","maintainers":[{"name":"weareoutman","email":"wangshenwei@qq.com"},{"name":"easyops-eve","email":"wangshenwei@foxmail.com"}],"homepage":"https://easyops-cn.github.io/a2ui-sdk/","bugs":{"url":"https://github.com/easyops-cn/a2ui-sdk/issues"},"dist":{"shasum":"b35ef4fb6f2861fdcfc33f193d9ad2ba04d81635","tarball":"https://registry.npmjs.org/@a2ui-sdk/utils/-/utils-0.0.3.tgz","fileCount":28,"integrity":"sha512-Ql8K6LyRvobxBd9dbKrshoTkzaLeYXpMx7t4FwQPLGamSeYRS7M25JCrlDuj5y/lyEnqTPav75+7NjaF/SUlJw==","signatures":[{"sig":"MEUCIQCqBtSdxvksMloQrZsjYDsHbS8+fRQHNqKnAb1LiORvbwIgWn0Gwwm4qDWHEsIhXBfFsqDJlUZqU8QWuDbebab29hM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":120325},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./0.9":{"types":"./dist/0.9/index.d.ts","default":"./dist/0.9/index.js"}},"gitHead":"fe0dd5a44434ea02fd15720d5d0162b3149a1ac0","scripts":{"dev":"tsc -b --watch","build":"tsc -b"},"_npmUser":{"name":"easyops-eve","email":"wangshenwei@foxmail.com"},"repository":{"url":"git+ssh://git@github.com/easyops-cn/a2ui-sdk.git","type":"git","directory":"packages/utils"},"_npmVersion":"10.9.4","description":"A2UI utilities","directories":{},"_nodeVersion":"22.21.1","dependencies":{"@a2ui-sdk/types":"0.0.3"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.16","typescript":"~5.9.3","@vitest/coverage-v8":"^4.0.16"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.0.3_1768293606083_0.6291443155608001","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@a2ui-sdk/utils","version":"0.1.0","license":"Apache-2.0","_id":"@a2ui-sdk/utils@0.1.0","maintainers":[{"name":"weareoutman","email":"wangshenwei@qq.com"},{"name":"easyops-eve","email":"wangshenwei@foxmail.com"}],"homepage":"https://easyops-cn.github.io/a2ui-sdk/","bugs":{"url":"https://github.com/easyops-cn/a2ui-sdk/issues"},"dist":{"shasum":"3ac3d10f20c32679092b18c84533aacbdd842916","tarball":"https://registry.npmjs.org/@a2ui-sdk/utils/-/utils-0.1.0.tgz","fileCount":46,"integrity":"sha512-jSaZhjGgAtomB4KRYqzIvtTwObmrhmTjQZ7KKlRd1p2bveRGzfbh2GrGHoa1IvVWriwj3ikHiEVOXHF5qsqnag==","signatures":[{"sig":"MEYCIQCUBXFJOMmymigq3CDN5A0mFJy/K4B/GXSIbUzmbkoiwwIhALN84MqXRAIMCgQ+asrAiezNlh5HoN4JSJoDCuGZNw6E","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":191406},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./0.8":{"types":"./dist/0.8/index.d.ts","default":"./dist/0.8/index.js"},"./0.9":{"types":"./dist/0.9/index.d.ts","default":"./dist/0.9/index.js"}},"gitHead":"152fa148b3a576a984205292fb1af235a4bf4c92","scripts":{"dev":"tsc -b --watch","test":"vitest","build":"tsc -b","test:run":"vitest run","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"easyops-eve","email":"wangshenwei@foxmail.com"},"repository":{"url":"git+ssh://git@github.com/easyops-cn/a2ui-sdk.git","type":"git","directory":"packages/utils"},"_npmVersion":"10.9.4","description":"A2UI utilities","directories":{},"_nodeVersion":"22.21.1","dependencies":{"@a2ui-sdk/types":"0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.16","typescript":"~5.9.3","@vitest/coverage-v8":"^4.0.16"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.1.0_1768304648639_0.017539571698589773","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@a2ui-sdk/utils","version":"0.1.1","license":"Apache-2.0","_id":"@a2ui-sdk/utils@0.1.1","maintainers":[{"name":"weareoutman","email":"wangshenwei@qq.com"},{"name":"easyops-eve","email":"wangshenwei@foxmail.com"}],"homepage":"https://a2ui-sdk.js.org/","bugs":{"url":"https://github.com/easyops-cn/a2ui-sdk/issues"},"dist":{"shasum":"855bcbb1ffa94d9bf06b7cd852c77fb42768fbfc","tarball":"https://registry.npmjs.org/@a2ui-sdk/utils/-/utils-0.1.1.tgz","fileCount":46,"integrity":"sha512-iJi612RTsPlrt/PS6rbUSbzo/Xqw2PTXXRirVpJbyaTo4sSwXGVYVP+TEl2tZ+6otA0Q0NSULR4dv5y+LbE9hQ==","signatures":[{"sig":"MEQCIDbCFL8OlUCStygzjU9RHor9S9e7+9axJHwtQKSdC4j9AiAnXedCPWbmVUN9h9e67b/3AXDb/c9xTXSVqtPAsHut8Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":191392},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./0.8":{"types":"./dist/0.8/index.d.ts","default":"./dist/0.8/index.js"},"./0.9":{"types":"./dist/0.9/index.d.ts","default":"./dist/0.9/index.js"}},"gitHead":"cf9c9ad46fed380a06d151ef22c1bc8f1bd7fec0","scripts":{"dev":"tsc -b --watch","test":"vitest","build":"tsc -b","test:run":"vitest run","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"easyops-eve","email":"wangshenwei@foxmail.com"},"repository":{"url":"git+ssh://git@github.com/easyops-cn/a2ui-sdk.git","type":"git","directory":"packages/utils"},"_npmVersion":"10.9.4","description":"A2UI utilities","directories":{},"_nodeVersion":"22.21.1","dependencies":{"@a2ui-sdk/types":"0.1.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.16","typescript":"~5.9.3","@vitest/coverage-v8":"^4.0.16"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.1.1_1768317534105_0.5147195350116327","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@a2ui-sdk/utils","version":"0.2.0","license":"Apache-2.0","_id":"@a2ui-sdk/utils@0.2.0","maintainers":[{"name":"weareoutman","email":"wangshenwei@qq.com"},{"name":"easyops-eve","email":"wangshenwei@foxmail.com"}],"homepage":"https://a2ui-sdk.js.org/","bugs":{"url":"https://github.com/easyops-cn/a2ui-sdk/issues"},"dist":{"shasum":"6c69264281ab16e28366ed58ad72c77090edf2d5","tarball":"https://registry.npmjs.org/@a2ui-sdk/utils/-/utils-0.2.0.tgz","fileCount":28,"integrity":"sha512-m2Ub9U9iSw6Zu/9JSvbKT3lWrcSADwhwmKmrYhqg0xW04yfFWEc0BkuK5/E1Mv9aKybKbpXTEMVQn3LyrOkUlQ==","signatures":[{"sig":"MEUCICg4jPTZ9BdlgeGulQJbflMsNjkBxPA/2OAPj3Gk1BeMAiEArBIZ/eD0KlRLAtIAqrkiiwAlwNDXigJc0ygYn5XD8EY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":73815},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./0.8":{"types":"./dist/0.8/index.d.ts","default":"./dist/0.8/index.js"},"./0.9":{"types":"./dist/0.9/index.d.ts","default":"./dist/0.9/index.js"}},"gitHead":"0b05b7b44f87013ba864942909ed6cdd9916cdbf","scripts":{"dev":"tsc -b tsconfig.build.json --watch","test":"vitest","build":"tsc -b tsconfig.build.json","test:run":"vitest run","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"easyops-eve","email":"wangshenwei@foxmail.com"},"repository":{"url":"git+ssh://git@github.com/easyops-cn/a2ui-sdk.git","type":"git","directory":"packages/utils"},"_npmVersion":"10.9.4","description":"A2UI utilities","directories":{},"sideEffects":false,"_nodeVersion":"22.21.1","dependencies":{"@a2ui-sdk/types":"0.2.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.16","typescript":"~5.9.3","@vitest/coverage-v8":"^4.0.16"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.2.0_1768362477794_0.7861252800389238","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@a2ui-sdk/utils","version":"0.2.1","license":"Apache-2.0","_id":"@a2ui-sdk/utils@0.2.1","maintainers":[{"name":"weareoutman","email":"wangshenwei@qq.com"},{"name":"easyops-eve","email":"wangshenwei@foxmail.com"}],"homepage":"https://a2ui-sdk.js.org/","bugs":{"url":"https://github.com/easyops-cn/a2ui-sdk/issues"},"dist":{"shasum":"a13b00e2e5fb03c3b058042a4862468935a8b368","tarball":"https://registry.npmjs.org/@a2ui-sdk/utils/-/utils-0.2.1.tgz","fileCount":28,"integrity":"sha512-/d5TIMVRk3GU/8+GTOLD7f2y4p0h0haCGYaPEVdNeGuNPPXSs7F9jjuJ62pbSxDtA+Tyo7V6CQ/mtRv6XJ2ZcA==","signatures":[{"sig":"MEYCIQDKQi6uqvgnCmg8qlEYpc/1euBllmW0ZditwsxyRCD0UwIhAMCkuqY+0GCbtGZKVwl9iel5/LGcrTi3QfBQzUin7126","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":73815},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./0.8":{"types":"./dist/0.8/index.d.ts","default":"./dist/0.8/index.js"},"./0.9":{"types":"./dist/0.9/index.d.ts","default":"./dist/0.9/index.js"}},"gitHead":"414788597a7559e4cdbaa73a3344e96538020b03","scripts":{"dev":"tsc -b tsconfig.build.json --watch","test":"vitest","build":"tsc -b tsconfig.build.json","test:run":"vitest run","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"easyops-eve","email":"wangshenwei@foxmail.com"},"repository":{"url":"git+ssh://git@github.com/easyops-cn/a2ui-sdk.git","type":"git","directory":"packages/utils"},"_npmVersion":"10.9.4","description":"A2UI utilities","directories":{},"sideEffects":false,"_nodeVersion":"22.21.1","dependencies":{"@a2ui-sdk/types":"0.2.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.16","typescript":"~5.9.3","@vitest/coverage-v8":"^4.0.16"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.2.1_1768378789101_0.7034087228025654","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@a2ui-sdk/utils","version":"0.2.2","license":"Apache-2.0","_id":"@a2ui-sdk/utils@0.2.2","maintainers":[{"name":"weareoutman","email":"wangshenwei@qq.com"},{"name":"easyops-eve","email":"wangshenwei@foxmail.com"}],"homepage":"https://a2ui-sdk.js.org/","bugs":{"url":"https://github.com/easyops-cn/a2ui-sdk/issues"},"dist":{"shasum":"aea227735b3dba663272d6dc5494c76985085856","tarball":"https://registry.npmjs.org/@a2ui-sdk/utils/-/utils-0.2.2.tgz","fileCount":28,"integrity":"sha512-KArxoG6p9yX9YI/m+M0irwl4Wlr46SRzEXPO+OP949seYUkWsr9NvZ94fvBoYCa517hh1Uk/zQ9DbcuJMfxVHg==","signatures":[{"sig":"MEYCIQDmWzKNn+5Ml4jbHvRobx+L66Rn2ipm26v+bYyZZrtrVAIhAOgH8rxe6phEobGEAsDDsqvz4ha7mjBmJvlIQ7QDoFFO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81402},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./0.8":{"types":"./dist/0.8/index.d.ts","default":"./dist/0.8/index.js"},"./0.9":{"types":"./dist/0.9/index.d.ts","default":"./dist/0.9/index.js"}},"gitHead":"e6b6116400d88cf2af296044140c51db8841e469","scripts":{"dev":"tsc -b tsconfig.build.json --watch","test":"vitest","build":"tsc -b tsconfig.build.json","test:run":"vitest run","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"easyops-eve","email":"wangshenwei@foxmail.com"},"repository":{"url":"git+ssh://git@github.com/easyops-cn/a2ui-sdk.git","type":"git","directory":"packages/utils"},"_npmVersion":"10.9.4","description":"A2UI utilities","directories":{},"sideEffects":false,"_nodeVersion":"22.22.0","dependencies":{"@a2ui-sdk/types":"0.2.2"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.16","typescript":"~5.9.3","@vitest/coverage-v8":"^4.0.16"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.2.2_1769509831810_0.9850200890375396","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@a2ui-sdk/utils","version":"0.3.0","license":"Apache-2.0","_id":"@a2ui-sdk/utils@0.3.0","maintainers":[{"name":"weareoutman","email":"wangshenwei@qq.com"},{"name":"easyops-eve","email":"wangshenwei@foxmail.com"}],"homepage":"https://a2ui-sdk.js.org/","bugs":{"url":"https://github.com/easyops-cn/a2ui-sdk/issues"},"dist":{"shasum":"0927d31ac31eeb3b4cec13622d40c0eaef2cf6e4","tarball":"https://registry.npmjs.org/@a2ui-sdk/utils/-/utils-0.3.0.tgz","fileCount":28,"integrity":"sha512-E+PZ1nzdKpejxGCmPSIlK6uzDbaNNoLlRQefFMMEVYP1iaSQSla+OAtuXvvMmOeJoVJZC/Dv3bk//wn59bCF7g==","signatures":[{"sig":"MEQCIERE8KWjd3w7xcSscMSx+WUwWfmQxaZztQ6fLb2LqB1HAiAFv9OamRD/uNA0eISrX4J+eEPaSEhg8FifIELwFUBMNg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81402},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./0.8":{"types":"./dist/0.8/index.d.ts","default":"./dist/0.8/index.js"},"./0.9":{"types":"./dist/0.9/index.d.ts","default":"./dist/0.9/index.js"}},"gitHead":"7f38b45fe97c084f26bcc5f6c280a07fbface243","scripts":{"dev":"tsc -b tsconfig.build.json --watch","test":"vitest","build":"tsc -b tsconfig.build.json","test:run":"vitest run","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"easyops-eve","email":"wangshenwei@foxmail.com"},"repository":{"url":"git+ssh://git@github.com/easyops-cn/a2ui-sdk.git","type":"git","directory":"packages/utils"},"_npmVersion":"10.9.4","description":"A2UI utilities","directories":{},"sideEffects":false,"_nodeVersion":"22.22.0","dependencies":{"@a2ui-sdk/types":"0.3.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.16","typescript":"~5.9.3","@vitest/coverage-v8":"^4.0.16"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.3.0_1769566272205_0.750060958321406","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@a2ui-sdk/utils","version":"0.3.1","license":"Apache-2.0","_id":"@a2ui-sdk/utils@0.3.1","maintainers":[{"name":"weareoutman","email":"wangshenwei@qq.com"},{"name":"easyops-eve","email":"wangshenwei@foxmail.com"}],"homepage":"https://a2ui-sdk.js.org/","bugs":{"url":"https://github.com/easyops-cn/a2ui-sdk/issues"},"dist":{"shasum":"d0f85ee95ca93be52bdb0d53325727275c122a7c","tarball":"https://registry.npmjs.org/@a2ui-sdk/utils/-/utils-0.3.1.tgz","fileCount":28,"integrity":"sha512-x8nD5NuH4vocCPHwzfybqNV9wh3btDZDHToLIvxo6/B+bduSuRxczxwkV3qndIMXhqBlPSko1plG8E778LOYdg==","signatures":[{"sig":"MEUCIDXLvT9gbMki8NL5HDeLGkfcP7ed4Nin0hQbb5rAIVX+AiEAwzbVWF1q0C5bPscquUJIVQocdCtV0xSs30NGccurEfE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81402},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./0.8":{"types":"./dist/0.8/index.d.ts","default":"./dist/0.8/index.js"},"./0.9":{"types":"./dist/0.9/index.d.ts","default":"./dist/0.9/index.js"}},"gitHead":"e27ca13b11f800ff153357bc0fe3a6a6d768174e","scripts":{"dev":"tsc -b tsconfig.build.json --watch","test":"vitest","build":"tsc -b tsconfig.build.json","test:run":"vitest run","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"easyops-eve","email":"wangshenwei@foxmail.com"},"repository":{"url":"git+ssh://git@github.com/easyops-cn/a2ui-sdk.git","type":"git","directory":"packages/utils"},"_npmVersion":"10.9.4","description":"A2UI utilities","directories":{},"sideEffects":false,"_nodeVersion":"22.22.0","dependencies":{"@a2ui-sdk/types":"0.3.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.16","typescript":"~5.9.3","@vitest/coverage-v8":"^4.0.16"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.3.1_1769997026286_0.17037547414732512","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@a2ui-sdk/utils","version":"0.4.0","description":"A2UI utilities","homepage":"https://a2ui-sdk.js.org/","repository":{"type":"git","url":"git+ssh://git@github.com/easyops-cn/a2ui-sdk.git","directory":"packages/utils"},"type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","sideEffects":false,"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./0.8":{"types":"./dist/0.8/index.d.ts","default":"./dist/0.8/index.js"},"./0.9":{"types":"./dist/0.9/index.d.ts","default":"./dist/0.9/index.js"}},"scripts":{"dev":"tsc -b tsconfig.build.json --watch","build":"tsc -b tsconfig.build.json","test":"vitest","test:run":"vitest run","test:coverage":"vitest run --coverage"},"license":"Apache-2.0","devDependencies":{"@vitest/coverage-v8":"^4.0.16","typescript":"~5.9.3","vitest":"^4.0.16"},"dependencies":{"@a2ui-sdk/types":"0.4.0"},"_id":"@a2ui-sdk/utils@0.4.0","gitHead":"1543427bd792b1d6b2ba6c3f5f5d154f6ec480a9","bugs":{"url":"https://github.com/easyops-cn/a2ui-sdk/issues"},"_nodeVersion":"22.22.0","_npmVersion":"10.9.4","dist":{"integrity":"sha512-NqVcfIafyLAIlQenbqVfFWyHreaIJlI0FToDNyKyGZqrrhBUXz/aDpzvtz9VVYhJllNq5R+4RDuNOavCtYAHUA==","shasum":"0c5530c3e090a56e247301b8adc204ea0d4a5f55","tarball":"https://registry.npmjs.org/@a2ui-sdk/utils/-/utils-0.4.0.tgz","fileCount":28,"unpackedSize":81402,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIFii0xXosp6mVdowdQPEchECOwg+eMT+SyqdlMCKs0oMAiAEJ2KRC37Dz07NCLLNzvTrriS+tYfQT4NfHwV8vr4SAA=="}]},"_npmUser":{"name":"easyops-eve","email":"wangshenwei@foxmail.com"},"directories":{},"maintainers":[{"name":"weareoutman","email":"wangshenwei@qq.com"},{"name":"easyops-eve","email":"wangshenwei@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/utils_0.4.0_1770017983269_0.7216764634827086"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-13T07:35:09.338Z","modified":"2026-02-02T07:39:43.573Z","0.0.0":"2026-01-13T07:35:09.534Z","0.0.2":"2026-01-13T07:57:18.387Z","0.0.3":"2026-01-13T08:40:06.223Z","0.1.0":"2026-01-13T11:44:08.778Z","0.1.1":"2026-01-13T15:18:54.238Z","0.2.0":"2026-01-14T03:47:57.929Z","0.2.1":"2026-01-14T08:19:49.250Z","0.2.2":"2026-01-27T10:30:31.982Z","0.3.0":"2026-01-28T02:11:12.358Z","0.3.1":"2026-02-02T01:50:26.449Z","0.4.0":"2026-02-02T07:39:43.427Z"},"bugs":{"url":"https://github.com/easyops-cn/a2ui-sdk/issues"},"license":"Apache-2.0","homepage":"https://a2ui-sdk.js.org/","repository":{"type":"git","url":"git+ssh://git@github.com/easyops-cn/a2ui-sdk.git","directory":"packages/utils"},"description":"A2UI utilities","maintainers":[{"name":"weareoutman","email":"wangshenwei@qq.com"},{"name":"easyops-eve","email":"wangshenwei@foxmail.com"}],"readme":"# @a2ui-sdk/utils\n\nUtility functions for working with A2UI protocol. This package provides helpers for data binding resolution, path manipulation, string interpolation, and validation.\n\n## Installation\n\n```bash\nnpm install @a2ui-sdk/utils\n```\n\n## Usage\n\n### v0.9 (Latest)\n\n```tsx\nimport {\n  // String interpolation\n  hasInterpolation,\n  interpolate,\n\n  // Data binding utilities\n  resolveValue,\n  resolveStringValue,\n  resolveNumberValue,\n  resolveBooleanValue,\n  isPathBinding,\n\n  // Path utilities\n  parsePath,\n  joinPath,\n  getValueAtPath,\n  setValueAtPath,\n\n  // Validation utilities\n  evaluateCheckRule,\n  validateChecks,\n} from '@a2ui-sdk/utils/0.9'\n```\n\n### v0.8\n\n```tsx\nimport {\n  // Data binding utilities\n  resolveValue,\n  resolveActionContext,\n  resolveStringValue,\n  resolveNumberValue,\n  resolveBooleanValue,\n  isPathBinding,\n\n  // Path utilities\n  normalizePath,\n  isAbsolutePath,\n  joinPaths,\n  resolvePath,\n  parsePath,\n  joinPath,\n  getValueAtPath,\n  setValueAtPath,\n} from '@a2ui-sdk/utils/0.8'\n```\n\n### Namespace Import\n\n```tsx\nimport { v0_8, v0_9 } from '@a2ui-sdk/utils'\n\n// Use v0.9 utilities\nconst { interpolate, hasInterpolation } = v0_9\n```\n\n## API\n\n### Scope and Path Resolution (v0.8+)\n\nWork with scoped data paths:\n\n```tsx\nimport {\n  normalizePath,\n  isAbsolutePath,\n  joinPaths,\n  resolvePath,\n} from '@a2ui-sdk/utils/0.8'\n\n// Normalize path format\nnormalizePath('user/name') // '/user/name'\nnormalizePath('/items/') // '/items'\n\n// Check if path is absolute\nisAbsolutePath('/user/name') // true\nisAbsolutePath('name') // false\n\n// Join base path with relative path\njoinPaths('/items/0', 'name') // '/items/0/name'\njoinPaths('/items', '../users') // '/users'\n\n// Resolve path with scope\nresolvePath('/user/name', '/items/0') // '/user/name' (absolute, ignores basePath)\nresolvePath('name', '/items/0') // '/items/0/name' (relative, uses basePath)\nresolvePath('name', null) // '/name' (treats relative as absolute when no basePath)\n```\n\n### String Interpolation (v0.9)\n\nProcess strings with embedded expressions:\n\n```tsx\nimport { hasInterpolation, interpolate } from '@a2ui-sdk/utils/0.9'\n\n// Check if string contains interpolation\nhasInterpolation('Hello {{name}}') // true\nhasInterpolation('Hello world') // false\n\n// Interpolate string with data\nconst data = { name: 'Alice', count: 5 }\ninterpolate('Hello {{name}}, you have {{count}} items', data)\n// => 'Hello Alice, you have 5 items'\n```\n\n### Data Binding\n\nResolve dynamic values from the data model:\n\n```tsx\nimport { resolveValue, isPathBinding } from '@a2ui-sdk/utils/0.9'\n\nconst dataModel = { user: { name: 'Alice' } }\n\n// Check if value is a path binding\nisPathBinding({ path: '/user/name' }) // true\nisPathBinding('static value') // false\n\n// Resolve value\nresolveValue({ path: '/user/name' }, dataModel) // 'Alice'\nresolveValue('static value', dataModel) // 'static value'\n```\n\n`resolveValue` also supports scoped path resolution:\n\n```tsx\nimport { resolveValue } from '@a2ui-sdk/utils/0.9'\n\nconst dataModel = { items: [{ name: 'Item 1' }, { name: 'Item 2' }] }\n\n// Resolve with basePath for scoped data access\nresolveValue({ path: 'name' }, dataModel, '/items/0') // 'Item 1'\nresolveValue({ path: '/items/1/name' }, dataModel, '/items/0') // 'Item 2' (absolute path ignores basePath)\n```\n\n### Path Utilities\n\nWork with JSON Pointer paths (RFC 6901):\n\n```tsx\nimport {\n  parsePath,\n  joinPath,\n  getValueAtPath,\n  setValueAtPath,\n} from '@a2ui-sdk/utils/0.9'\n\n// Parse path into segments\nparsePath('/user/profile/name') // ['user', 'profile', 'name']\n\n// Join segments into path\njoinPath(['user', 'profile', 'name']) // '/user/profile/name'\n\n// Get value at path\nconst data = { user: { profile: { name: 'Alice' } } }\ngetValueAtPath(data, '/user/profile/name') // 'Alice'\n\n// Set value at path (immutable)\nconst newData = setValueAtPath(data, '/user/profile/name', 'Bob')\n// data is unchanged, newData has the update\n```\n\n### Validation (v0.9)\n\nEvaluate validation rules:\n\n```tsx\nimport { evaluateCheckRule, validateChecks } from '@a2ui-sdk/utils/0.9'\n\nconst checks = [\n  {\n    message: 'Name is required',\n    call: 'isNotEmpty',\n    args: { value: { path: '/form/name' } },\n  },\n]\n\nconst dataModel = { form: { name: '' } }\nconst result = validateChecks(checks, dataModel)\n// { valid: false, errors: ['Name is required'] }\n```\n\n## License\n\nApache-2.0\n","readmeFilename":"README.md"}