{"_id":"@ruvector/sona","_rev":"9-4a236a1e36e6ad181c7e777b34a03cee","name":"@ruvector/sona","dist-tags":{"latest":"0.1.8"},"versions":{"0.1.0":{"name":"@ruvector/sona","version":"0.1.0","keywords":["sona","neural-network","adaptive-learning","lora","low-rank-adaptation","ewc","elastic-weight-consolidation","reasoningbank","llm","llm-router","machine-learning","ai","deep-learning","continual-learning","napi","rust","ruvector"],"author":{"name":"rUv Team","email":"team@ruv.io"},"license":"MIT OR Apache-2.0","_id":"@ruvector/sona@0.1.0","maintainers":[{"name":"ruvnet","email":"ruv@ruv.net"}],"homepage":"https://github.com/ruvnet/ruvector/tree/main/crates/sona","bugs":{"url":"https://github.com/ruvnet/ruvector/issues"},"dist":{"shasum":"3ff721874b52ae3aab7afb0e6cb5634fcdbb88b6","tarball":"https://registry.npmjs.org/@ruvector/sona/-/sona-0.1.0.tgz","fileCount":5,"integrity":"sha512-WpCmegj6eqTZEBfvgQ8r9hcnQD0ts1drvDQDhMGvSMSXFkHM6CEmbIoQY1Hc/IESf9XBGDJ8hEGfJJ91ip7tmA==","signatures":[{"sig":"MEYCIQC0t3RqTh9DiIbv3hRv606/3Ne0kTRkOIHu2xyx/4PYVgIhAL3uBpO9nt2eAid+7CYOVxWtFiiErFblnLf52wgE40/+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":589717},"main":"index.js","napi":{"name":"sona","triples":{"defaults":true,"additional":["x86_64-unknown-linux-musl","aarch64-unknown-linux-gnu","armv7-unknown-linux-gnueabihf","aarch64-apple-darwin","x86_64-pc-windows-msvc","aarch64-pc-windows-msvc"]}},"types":"index.d.ts","engines":{"node":">= 16"},"gitHead":"7d7f47237df63e3971f59eca92f45a8293e0ddc2","scripts":{"test":"node --test","build":"napi build --platform --release --cargo-cwd ../../../crates/sona --features napi","version":"napi version","artifacts":"napi artifacts","universal":"napi universal","build:debug":"napi build --platform --cargo-cwd ../../../crates/sona --features napi","prepublishOnly":"napi prepublish -t npm"},"_npmUser":{"name":"ruvnet","email":"ruv@ruv.net"},"repository":{"url":"git+https://github.com/ruvnet/ruvector.git","type":"git","directory":"npm/packages/sona"},"_npmVersion":"9.8.1","description":"Self-Optimizing Neural Architecture (SONA) - Runtime-adaptive learning with LoRA, EWC++, and ReasoningBank for LLM routers and AI systems. Sub-millisecond learning overhead, WASM and Node.js support.","directories":{},"_nodeVersion":"22.21.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"@napi-rs/cli":"^2.18.0"},"optionalDependencies":{"@ruvector/sona-darwin-x64":"0.1.0","@ruvector/sona-darwin-arm64":"0.1.0","@ruvector/sona-linux-x64-gnu":"0.1.0","@ruvector/sona-linux-x64-musl":"0.1.0","@ruvector/sona-win32-x64-msvc":"0.1.0","@ruvector/sona-linux-arm64-gnu":"0.1.0","@ruvector/sona-win32-arm64-msvc":"0.1.0","@ruvector/sona-linux-arm-gnueabihf":"0.1.0"},"_npmOperationalInternal":{"tmp":"tmp/sona_0.1.0_1764740124971_0.1234880661590958","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@ruvector/sona","version":"0.1.1","keywords":["sona","neural-network","adaptive-learning","lora","low-rank-adaptation","ewc","elastic-weight-consolidation","reasoningbank","llm","llm-router","machine-learning","ai","deep-learning","continual-learning","napi","rust","ruvector"],"author":{"name":"rUv Team","email":"team@ruv.io"},"license":"MIT OR Apache-2.0","_id":"@ruvector/sona@0.1.1","maintainers":[{"name":"ruvnet","email":"ruv@ruv.net"}],"homepage":"https://github.com/ruvnet/ruvector/tree/main/crates/sona","bugs":{"url":"https://github.com/ruvnet/ruvector/issues"},"dist":{"shasum":"1dc0c886cf166c6a68cdee74f5159c9050f99535","tarball":"https://registry.npmjs.org/@ruvector/sona/-/sona-0.1.1.tgz","fileCount":5,"integrity":"sha512-phHb7N78bBvTkpkJS8SwzoBcxSwlkbPGZSZe0tAv3W5QM26X1JRGKiD91yui2w8Aw+I4Eqs0/jCIlamzdSmYsQ==","signatures":[{"sig":"MEYCIQCqBIz5GksnuSAu/4YgYG6SuPKL3sMM1rNb8Z6TOkg4zwIhAOrpV6ewiFn8mtkFHLLpVOYzrn7W9fbj4q4oRU4YpL2u","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":589717},"main":"index.js","napi":{"name":"sona","triples":{"defaults":true,"additional":["x86_64-unknown-linux-musl","aarch64-unknown-linux-gnu","armv7-unknown-linux-gnueabihf","aarch64-apple-darwin","x86_64-pc-windows-msvc","aarch64-pc-windows-msvc"]}},"types":"index.d.ts","engines":{"node":">= 16"},"gitHead":"7d7f47237df63e3971f59eca92f45a8293e0ddc2","scripts":{"test":"node --test","build":"napi build --platform --release --cargo-cwd ../../../crates/sona --features napi","version":"napi version","artifacts":"napi artifacts","universal":"napi universal","build:debug":"napi build --platform --cargo-cwd ../../../crates/sona --features napi","prepublishOnly":"napi prepublish -t npm"},"_npmUser":{"name":"ruvnet","email":"ruv@ruv.net"},"repository":{"url":"git+https://github.com/ruvnet/ruvector.git","type":"git","directory":"npm/packages/sona"},"_npmVersion":"9.8.1","description":"Self-Optimizing Neural Architecture (SONA) - Runtime-adaptive learning with LoRA, EWC++, and ReasoningBank for LLM routers and AI systems. Sub-millisecond learning overhead, WASM and Node.js support.","directories":{},"_nodeVersion":"22.21.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"@napi-rs/cli":"^2.18.0"},"optionalDependencies":{"@ruvector/sona-darwin-x64":"0.1.0","@ruvector/sona-darwin-arm64":"0.1.0","@ruvector/sona-linux-x64-gnu":"0.1.0","@ruvector/sona-linux-x64-musl":"0.1.0","@ruvector/sona-win32-x64-msvc":"0.1.0","@ruvector/sona-linux-arm64-gnu":"0.1.0","@ruvector/sona-win32-arm64-msvc":"0.1.0","@ruvector/sona-linux-arm-gnueabihf":"0.1.0"},"_npmOperationalInternal":{"tmp":"tmp/sona_0.1.1_1764740250732_0.050967959932305185","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@ruvector/sona","version":"0.1.2","keywords":["sona","neural-network","adaptive-learning","lora","low-rank-adaptation","ewc","elastic-weight-consolidation","reasoningbank","llm","llm-router","machine-learning","ai","deep-learning","continual-learning","napi","rust","ruvector"],"author":{"name":"rUv Team","email":"team@ruv.io"},"license":"MIT OR Apache-2.0","_id":"@ruvector/sona@0.1.2","maintainers":[{"name":"ruvnet","email":"ruv@ruv.net"}],"homepage":"https://github.com/ruvnet/ruvector/tree/main/crates/sona","bugs":{"url":"https://github.com/ruvnet/ruvector/issues"},"dist":{"shasum":"beb7be15bdfcfdf9155399a59bcd91177580a2e3","tarball":"https://registry.npmjs.org/@ruvector/sona/-/sona-0.1.2.tgz","fileCount":5,"integrity":"sha512-F6sumzv7HYHyKON7S3ryJk3G04BpEOY8YBGOYGa31AtXmqEnSchL8a48kpoc2CRfSAgVrEE7TF3jK7H7XCmwcw==","signatures":[{"sig":"MEUCIDlkpOq4/TuqjAxoYpdg/1pE2YuoZSdzyVb13H8pPTUkAiEAjL/rMVf9kpUYhsEDOnCFu+2PQBFhhejbFXKSPTAbAQY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":589717},"main":"index.js","napi":{"name":"sona","triples":{"defaults":true,"additional":["x86_64-unknown-linux-musl","aarch64-unknown-linux-gnu","armv7-unknown-linux-gnueabihf","aarch64-apple-darwin","x86_64-pc-windows-msvc","aarch64-pc-windows-msvc"]}},"types":"index.d.ts","engines":{"node":">= 16"},"gitHead":"4d2484437314be98ed81579eacfcb40b1fa33293","scripts":{"test":"node --test","build":"napi build --platform --release --cargo-cwd ../../../crates/sona --features napi","version":"napi version","artifacts":"napi artifacts","universal":"napi universal","build:debug":"napi build --platform --cargo-cwd ../../../crates/sona --features napi","prepublishOnly":"napi prepublish -t npm"},"_npmUser":{"name":"ruvnet","email":"ruv@ruv.net"},"repository":{"url":"git+https://github.com/ruvnet/ruvector.git","type":"git","directory":"npm/packages/sona"},"_npmVersion":"9.8.1","description":"Self-Optimizing Neural Architecture (SONA) - Runtime-adaptive learning with LoRA, EWC++, and ReasoningBank for LLM routers and AI systems. Sub-millisecond learning overhead, WASM and Node.js support.","directories":{},"_nodeVersion":"22.21.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"@napi-rs/cli":"^2.18.0"},"optionalDependencies":{"@ruvector/sona-darwin-x64":"0.1.0","@ruvector/sona-darwin-arm64":"0.1.0","@ruvector/sona-linux-x64-gnu":"0.1.0","@ruvector/sona-linux-x64-musl":"0.1.0","@ruvector/sona-win32-x64-msvc":"0.1.0","@ruvector/sona-linux-arm64-gnu":"0.1.0","@ruvector/sona-win32-arm64-msvc":"0.1.0","@ruvector/sona-linux-arm-gnueabihf":"0.1.0"},"_npmOperationalInternal":{"tmp":"tmp/sona_0.1.2_1764744550953_0.12240247630198131","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@ruvector/sona","version":"0.1.3","keywords":["sona","neural-network","adaptive-learning","lora","low-rank-adaptation","ewc","elastic-weight-consolidation","reasoningbank","llm","llm-router","machine-learning","ai","deep-learning","continual-learning","napi","rust","ruvector"],"author":{"name":"rUv Team","email":"team@ruv.io"},"license":"MIT OR Apache-2.0","_id":"@ruvector/sona@0.1.3","maintainers":[{"name":"ruvnet","email":"ruv@ruv.net"}],"homepage":"https://github.com/ruvnet/ruvector/tree/main/crates/sona","bugs":{"url":"https://github.com/ruvnet/ruvector/issues"},"dist":{"shasum":"25ee4cfc9126872fd0737d8ea2c262f22483d1dd","tarball":"https://registry.npmjs.org/@ruvector/sona/-/sona-0.1.3.tgz","fileCount":5,"integrity":"sha512-PeKEakQk2PzeH255mlYQly94mS3vgYCfJ/Tn7V8GEfN4G9OqheknngGPNWE+vKtlGy0uVaJMTFxtqLsT/K7wmQ==","signatures":[{"sig":"MEYCIQCcV+IeB6IvLg3gjsXATMZEPZv9bYP4rNHt04BFvtzDLAIhAIGJOcaKsr2nakD+jabwGgSmJFQDhpKmXLXkpP7G+EP9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":589991},"main":"index.js","napi":{"targets":["x86_64-unknown-linux-gnu","x86_64-unknown-linux-musl","aarch64-unknown-linux-gnu","x86_64-apple-darwin","aarch64-apple-darwin","x86_64-pc-windows-msvc","aarch64-pc-windows-msvc"],"binaryName":"sona"},"types":"index.d.ts","engines":{"node":">= 16"},"gitHead":"8828f60b2aa2bfa0f878599a8783ceb93ab3d20b","scripts":{"test":"node --test","build":"napi build --platform --release -p ruvector-sona --manifest-path ../../../crates/sona/Cargo.toml -F napi","version":"napi version","artifacts":"napi artifacts","universal":"napi universal","build:debug":"napi build --platform -p ruvector-sona --manifest-path ../../../crates/sona/Cargo.toml -F napi","prepublishOnly":"napi prepublish -t npm"},"_npmUser":{"name":"ruvnet","email":"ruv@ruv.net"},"repository":{"url":"git+https://github.com/ruvnet/ruvector.git","type":"git","directory":"npm/packages/sona"},"_npmVersion":"9.8.1","description":"Self-Optimizing Neural Architecture (SONA) - Runtime-adaptive learning with LoRA, EWC++, and ReasoningBank for LLM routers and AI systems. Sub-millisecond learning overhead, WASM and Node.js support.","directories":{},"_nodeVersion":"22.21.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"@napi-rs/cli":"^2.18.0"},"optionalDependencies":{"@ruvector/sona-darwin-x64":"0.1.3","@ruvector/sona-linux-x64-gnu":"0.1.3","@ruvector/sona-win32-x64-msvc":"0.1.3"},"_npmOperationalInternal":{"tmp":"tmp/sona_0.1.3_1764746544221_0.6751399822051158","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@ruvector/sona","version":"0.1.4","keywords":["sona","neural-network","adaptive-learning","lora","low-rank-adaptation","ewc","elastic-weight-consolidation","reasoningbank","llm","llm-router","machine-learning","ai","deep-learning","continual-learning","napi","rust","ruvector"],"author":{"name":"rUv Team","email":"team@ruv.io"},"license":"MIT OR Apache-2.0","_id":"@ruvector/sona@0.1.4","maintainers":[{"name":"ruvnet","email":"ruv@ruv.net"}],"homepage":"https://github.com/ruvnet/ruvector/tree/main/crates/sona","bugs":{"url":"https://github.com/ruvnet/ruvector/issues"},"dist":{"shasum":"f9b6ebca6cb2d3e8d018387ecbf51e91839e2551","tarball":"https://registry.npmjs.org/@ruvector/sona/-/sona-0.1.4.tgz","fileCount":12,"integrity":"sha512-CdT6yxroS2N75B+4Cl4kXJB2PdNFkhFCPzElQBPikcxhfiUrDcLyaBIrD5nbymVj98URmY3PUv/Pepm6uQl4rQ==","signatures":[{"sig":"MEUCIHk6h/522uv4x/O3bV1JQIh5XyoFCvtqoRTzi+5sUXZhAiEAuBZb3ABe4ONvHBPX+lKTt7nl+CmDwMsD9Jrs6DXAXi8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4294784},"main":"index.js","napi":{"targets":["x86_64-unknown-linux-gnu","x86_64-unknown-linux-musl","aarch64-unknown-linux-gnu","x86_64-apple-darwin","aarch64-apple-darwin","x86_64-pc-windows-msvc","aarch64-pc-windows-msvc"],"binaryName":"sona"},"types":"index.d.ts","engines":{"node":">= 16"},"gitHead":"565307fff7dbc3ecdfdf6d1bf2bd071e0e81f62b","scripts":{"test":"node --test","build":"napi build --platform --release -p ruvector-sona --manifest-path ../../../crates/sona/Cargo.toml -F napi","version":"napi version","artifacts":"napi artifacts","universal":"napi universal","build:debug":"napi build --platform -p ruvector-sona --manifest-path ../../../crates/sona/Cargo.toml -F napi"},"_npmUser":{"name":"ruvnet","email":"ruv@ruv.net"},"repository":{"url":"git+https://github.com/ruvnet/ruvector.git","type":"git","directory":"npm/packages/sona"},"_npmVersion":"9.8.1","description":"Self-Optimizing Neural Architecture (SONA) - Runtime-adaptive learning with LoRA, EWC++, and ReasoningBank for LLM routers and AI systems. Sub-millisecond learning overhead, WASM and Node.js support.","directories":{},"_nodeVersion":"22.21.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"@napi-rs/cli":"^2.18.0"},"optionalDependencies":{"@ruvector/sona-darwin-x64":"0.1.4","@ruvector/sona-darwin-arm64":"0.1.4","@ruvector/sona-linux-x64-gnu":"0.1.4","@ruvector/sona-linux-x64-musl":"0.1.4","@ruvector/sona-win32-x64-msvc":"0.1.4","@ruvector/sona-linux-arm64-gnu":"0.1.4","@ruvector/sona-win32-arm64-msvc":"0.1.4"},"_npmOperationalInternal":{"tmp":"tmp/sona_0.1.4_1764792351151_0.18232592258367775","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@ruvector/sona","version":"0.1.5","keywords":["sona","neural-network","adaptive-learning","lora","low-rank-adaptation","ewc","elastic-weight-consolidation","reasoningbank","llm","llm-router","machine-learning","ai","deep-learning","continual-learning","napi","rust","ruvector"],"author":{"name":"rUv Team","email":"team@ruv.io"},"license":"MIT OR Apache-2.0","_id":"@ruvector/sona@0.1.5","maintainers":[{"name":"ruvnet","email":"ruv@ruv.net"}],"homepage":"https://github.com/ruvnet/ruvector/tree/main/crates/sona","bugs":{"url":"https://github.com/ruvnet/ruvector/issues"},"dist":{"shasum":"519fd36fb3267fc21f239581cd978c06a3984752","tarball":"https://registry.npmjs.org/@ruvector/sona/-/sona-0.1.5.tgz","fileCount":12,"integrity":"sha512-XHQbphnWsRzWRWGK/HxK+RreY6OdlggMrOvrfkWlEq8EctHVy2ASwps7hk25Somx8Umj7+CkNuyQEbHcNcl/oQ==","signatures":[{"sig":"MEQCIB0MmYtaK+ceP61sny0lvYQEdL23vDkZax3EhQMyQWTRAiAqVTpzv/YfQNZDKaGtyvrkzg6JyqY5ZqrNlb4BJUMtkw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4308328},"main":"index.js","napi":{"targets":["x86_64-unknown-linux-gnu","x86_64-unknown-linux-musl","aarch64-unknown-linux-gnu","x86_64-apple-darwin","aarch64-apple-darwin","x86_64-pc-windows-msvc","aarch64-pc-windows-msvc"],"binaryName":"sona"},"types":"index.d.ts","engines":{"node":">= 16"},"gitHead":"009ce33265ceca35b649fe178c4fad8d80183c3f","scripts":{"test":"node --test","build":"napi build --platform --release -p ruvector-sona --manifest-path ../../../crates/sona/Cargo.toml -F napi","version":"napi version","artifacts":"napi artifacts","universal":"napi universal","build:debug":"napi build --platform -p ruvector-sona --manifest-path ../../../crates/sona/Cargo.toml -F napi"},"_npmUser":{"name":"ruvnet","email":"ruv@ruv.net"},"repository":{"url":"git+https://github.com/ruvnet/ruvector.git","type":"git","directory":"npm/packages/sona"},"_npmVersion":"9.8.1","description":"Self-Optimizing Neural Architecture (SONA) - Runtime-adaptive learning with LoRA, EWC++, and ReasoningBank for LLM routers and AI systems. Sub-millisecond learning overhead, WASM and Node.js support.","directories":{},"_nodeVersion":"22.21.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"@napi-rs/cli":"^2.18.0"},"optionalDependencies":{"@ruvector/sona-darwin-x64":"0.1.5","@ruvector/sona-darwin-arm64":"0.1.5","@ruvector/sona-linux-x64-gnu":"0.1.5","@ruvector/sona-linux-x64-musl":"0.1.5","@ruvector/sona-win32-x64-msvc":"0.1.5","@ruvector/sona-linux-arm64-gnu":"0.1.5","@ruvector/sona-win32-arm64-msvc":"0.1.5"},"_npmOperationalInternal":{"tmp":"tmp/sona_0.1.5_1767386948503_0.11019007867097463","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@ruvector/sona","version":"0.1.6","keywords":["sona","neural-network","adaptive-learning","lora","low-rank-adaptation","ewc","elastic-weight-consolidation","reasoningbank","llm","llm-router","machine-learning","ai","deep-learning","continual-learning","napi","rust","ruvector"],"author":{"name":"rUv Team","email":"team@ruv.io"},"license":"MIT OR Apache-2.0","_id":"@ruvector/sona@0.1.6","maintainers":[{"name":"ruvnet","email":"ruv@ruv.net"}],"homepage":"https://github.com/ruvnet/ruvector/tree/main/crates/sona","bugs":{"url":"https://github.com/ruvnet/ruvector/issues"},"dist":{"shasum":"374b1d5ce53d39f3e7cd816844abe83a08adfbce","tarball":"https://registry.npmjs.org/@ruvector/sona/-/sona-0.1.6.tgz","fileCount":2,"integrity":"sha512-LW40r28yQxXz3vt1fOLRWVV5nln4rzw6a/Yy11EJJdeEN9q4wZG1Glwf9leTp4SjQjuIJ5hklNW8OVMwgyzd5w==","signatures":[{"sig":"MEUCIQCuW/VdC6HUigzuUl9FRQAuV0N6lXykQeP5H3oY1r6PYwIgQbeij3quofvlmbePcbs9eVZ7EvdDFtZjbF4WKEUcXg0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11944},"main":"index.js","napi":{"targets":["x86_64-unknown-linux-gnu","x86_64-unknown-linux-musl","aarch64-unknown-linux-gnu","x86_64-apple-darwin","aarch64-apple-darwin","x86_64-pc-windows-msvc","aarch64-pc-windows-msvc"],"binaryName":"sona"},"types":"index.d.ts","engines":{"node":">= 16"},"gitHead":"b062a1790dd392f45059fe970974ad888ace7c53","scripts":{"test":"node --test","build":"napi build --platform --release -p ruvector-sona --manifest-path ../../../crates/sona/Cargo.toml -F napi","version":"napi version","artifacts":"napi artifacts","universal":"napi universal","build:debug":"napi build --platform -p ruvector-sona --manifest-path ../../../crates/sona/Cargo.toml -F napi"},"_npmUser":{"name":"ruvnet","email":"ruv@ruv.net"},"repository":{"url":"git+https://github.com/ruvnet/ruvector.git","type":"git","directory":"npm/packages/sona"},"_npmVersion":"10.9.7","description":"Self-Optimizing Neural Architecture (SONA) - Runtime-adaptive learning with LoRA, EWC++, and ReasoningBank for LLM routers and AI systems. Sub-millisecond learning overhead, WASM and Node.js support.","directories":{},"_nodeVersion":"22.22.2","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"@napi-rs/cli":"^2.18.0"},"optionalDependencies":{"@ruvector/sona-darwin-x64":"0.1.4","@ruvector/sona-darwin-arm64":"0.1.4","@ruvector/sona-linux-x64-gnu":"0.1.4","@ruvector/sona-linux-x64-musl":"0.1.4","@ruvector/sona-win32-x64-msvc":"0.1.4","@ruvector/sona-linux-arm64-gnu":"0.1.4","@ruvector/sona-win32-arm64-msvc":"0.1.4"},"_npmOperationalInternal":{"tmp":"tmp/sona_0.1.6_1776708973590_0.8998330142695992","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@ruvector/sona","version":"0.1.7","keywords":["sona","neural-network","adaptive-learning","lora","low-rank-adaptation","ewc","elastic-weight-consolidation","reasoningbank","llm","llm-router","machine-learning","ai","deep-learning","continual-learning","napi","rust","ruvector"],"author":{"name":"rUv Team","email":"team@ruv.io"},"license":"MIT OR Apache-2.0","_id":"@ruvector/sona@0.1.7","maintainers":[{"name":"ruvnet","email":"ruv@ruv.net"}],"homepage":"https://github.com/ruvnet/ruvector/tree/main/crates/sona","bugs":{"url":"https://github.com/ruvnet/ruvector/issues"},"dist":{"shasum":"78ccb84226d7038d7da81e580b57636ab80d9927","tarball":"https://registry.npmjs.org/@ruvector/sona/-/sona-0.1.7.tgz","fileCount":12,"integrity":"sha512-TR112g0QoiwavKGk+bogNm++F7LDZ4ko47pR1L/b0kuWfNi8FiW8CVLI/7GSIAJPS3VEfI86Cm7HYiEedc/dTQ==","signatures":[{"sig":"MEYCIQCnmqDuAYWxynT8WANEjlVGCWAuyvcVpPCpRCRdiV/ScwIhAMJMYzUGHqZktXpALoRK5U99Z1nMh3z9Eaa38i9ryvLj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4706675},"main":"index.js","napi":{"targets":["x86_64-unknown-linux-gnu","x86_64-unknown-linux-musl","aarch64-unknown-linux-gnu","x86_64-apple-darwin","aarch64-apple-darwin","x86_64-pc-windows-msvc","aarch64-pc-windows-msvc"],"binaryName":"sona"},"types":"index.d.ts","engines":{"node":">= 16"},"gitHead":"9200663a8cebbed8e62f31399843cb5fd7c79a1c","scripts":{"test":"node --test","build":"napi build --platform --release -p ruvector-sona --cargo-cwd ../../../crates/sona --features napi","version":"napi version","artifacts":"napi artifacts","universal":"napi universal","build:debug":"napi build --platform -p ruvector-sona --cargo-cwd ../../../crates/sona --features napi","prepublishOnly":"node -e \"const fs=require('fs');const missing=['index.js','index.d.ts'].filter(f=>!fs.existsSync(f));if(missing.length){console.error('ERROR: cannot publish @ruvector/sona: missing build output: '+missing.join(', ')+'. Run npm run build first (napi build against crates/sona, requires cargo + @napi-rs/cli). npm silently skips missing files entries, which is how the broken 0.1.6 tarball shipped.');process.exit(1)}if(!fs.readdirSync('.').some(f=>f.endsWith('.node'))){console.warn('WARNING: no local .node binary found; installs will rely solely on @ruvector/sona-* optionalDependencies.')}\""},"_npmUser":{"name":"ruvnet","email":"ruv@ruv.net"},"repository":{"url":"git+https://github.com/ruvnet/ruvector.git","type":"git","directory":"npm/packages/sona"},"_npmVersion":"10.8.2","description":"Self-Optimizing Neural Architecture (SONA) - Runtime-adaptive learning with LoRA, EWC++, and ReasoningBank for LLM routers and AI systems. Sub-millisecond learning overhead, WASM and Node.js support.","directories":{},"_nodeVersion":"20.20.2","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"@napi-rs/cli":"^2.18.0"},"optionalDependencies":{"@ruvector/sona-darwin-x64":"0.1.7","@ruvector/sona-darwin-arm64":"0.1.7","@ruvector/sona-linux-x64-gnu":"0.1.7","@ruvector/sona-linux-x64-musl":"0.1.7","@ruvector/sona-win32-x64-msvc":"0.1.7","@ruvector/sona-linux-arm64-gnu":"0.1.7","@ruvector/sona-win32-arm64-msvc":"0.1.7"},"_npmOperationalInternal":{"tmp":"tmp/sona_0.1.7_1781209938754_0.3702504261857327","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@ruvector/sona","version":"0.1.8","description":"Self-Optimizing Neural Architecture (SONA) - Runtime-adaptive learning with LoRA, EWC++, and ReasoningBank for LLM routers and AI systems. Sub-millisecond learning overhead, WASM and Node.js support.","main":"index.js","types":"index.d.ts","napi":{"binaryName":"sona","targets":["x86_64-unknown-linux-gnu","x86_64-unknown-linux-musl","aarch64-unknown-linux-gnu","x86_64-apple-darwin","aarch64-apple-darwin","x86_64-pc-windows-msvc","aarch64-pc-windows-msvc"]},"scripts":{"artifacts":"napi artifacts","build":"napi build --platform --release -p ruvector-sona --cargo-cwd ../../../crates/sona --features napi","build:debug":"napi build --platform -p ruvector-sona --cargo-cwd ../../../crates/sona --features napi","prepublishOnly":"node -e \"const fs=require('fs');const missing=['index.js','index.d.ts'].filter(f=>!fs.existsSync(f));if(missing.length){console.error('ERROR: cannot publish @ruvector/sona: missing build output: '+missing.join(', ')+'. Run npm run build first (napi build against crates/sona, requires cargo + @napi-rs/cli). npm silently skips missing files entries, which is how the broken 0.1.6 tarball shipped.');process.exit(1)}if(!fs.readdirSync('.').some(f=>f.endsWith('.node'))){console.warn('WARNING: no local .node binary found; installs will rely solely on @ruvector/sona-* optionalDependencies.')}\"","test":"node --test","universal":"napi universal","version":"napi version"},"devDependencies":{"@napi-rs/cli":"^2.18.0"},"keywords":["sona","neural-network","adaptive-learning","lora","low-rank-adaptation","ewc","elastic-weight-consolidation","reasoningbank","llm","llm-router","machine-learning","ai","deep-learning","continual-learning","napi","rust","ruvector"],"author":{"name":"rUv Team","email":"team@ruv.io"},"license":"MIT OR Apache-2.0","repository":{"type":"git","url":"git+https://github.com/ruvnet/ruvector.git","directory":"npm/packages/sona"},"homepage":"https://github.com/ruvnet/ruvector/tree/main/crates/sona","bugs":{"url":"https://github.com/ruvnet/ruvector/issues"},"engines":{"node":">= 16"},"publishConfig":{"registry":"https://registry.npmjs.org/","access":"public"},"optionalDependencies":{"@ruvector/sona-linux-x64-gnu":"0.1.8","@ruvector/sona-linux-x64-musl":"0.1.8","@ruvector/sona-linux-arm64-gnu":"0.1.8","@ruvector/sona-darwin-x64":"0.1.8","@ruvector/sona-darwin-arm64":"0.1.8","@ruvector/sona-win32-x64-msvc":"0.1.8","@ruvector/sona-win32-arm64-msvc":"0.1.8"},"_id":"@ruvector/sona@0.1.8","gitHead":"5c4b80c46415b77fd008ef1c899829f47eb3576d","_nodeVersion":"20.20.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-IzeaJr0hH7E55vya00ruSKtqZ7qNfqeTwUPnDOusZR+A0IczX+6p8y7mKO74kYc66ozlyfFg1StAvyE+W3ROoA==","shasum":"afa1a1019512f89f70ff29f3f3da19cb0b96ccb9","tarball":"https://registry.npmjs.org/@ruvector/sona/-/sona-0.1.8.tgz","fileCount":12,"unpackedSize":4694131,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQC/4ootmmZQnzD8vqrGnLxkKQKNm54hsi+w1f5bdlB8xAIgOnJ/3zlixpaWXLaKnbjfU4syqIn1Xwq5ZgywNb3julo="}]},"_npmUser":{"name":"ruvnet","email":"ruv@ruv.net"},"directories":{},"maintainers":[{"name":"ruvnet","email":"ruv@ruv.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sona_0.1.8_1784310387313_0.6696481162969179"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-03T05:35:24.876Z","modified":"2026-07-17T17:46:27.660Z","0.1.0":"2025-12-03T05:35:25.216Z","0.1.1":"2025-12-03T05:37:30.968Z","0.1.2":"2025-12-03T06:49:11.200Z","0.1.3":"2025-12-03T07:22:24.428Z","0.1.4":"2025-12-03T20:05:51.484Z","0.1.5":"2026-01-02T20:49:08.726Z","0.1.6":"2026-04-20T18:16:13.754Z","0.1.7":"2026-06-11T20:32:18.938Z","0.1.8":"2026-07-17T17:46:27.506Z"},"bugs":{"url":"https://github.com/ruvnet/ruvector/issues"},"author":{"name":"rUv Team","email":"team@ruv.io"},"license":"MIT OR Apache-2.0","homepage":"https://github.com/ruvnet/ruvector/tree/main/crates/sona","keywords":["sona","neural-network","adaptive-learning","lora","low-rank-adaptation","ewc","elastic-weight-consolidation","reasoningbank","llm","llm-router","machine-learning","ai","deep-learning","continual-learning","napi","rust","ruvector"],"repository":{"type":"git","url":"git+https://github.com/ruvnet/ruvector.git","directory":"npm/packages/sona"},"description":"Self-Optimizing Neural Architecture (SONA) - Runtime-adaptive learning with LoRA, EWC++, and ReasoningBank for LLM routers and AI systems. Sub-millisecond learning overhead, WASM and Node.js support.","maintainers":[{"name":"ruvnet","email":"ruv@ruv.net"}],"readme":"# @ruvector/sona\n\n**Self-Optimizing Neural Architecture (SONA)** - Node.js bindings for adaptive learning with ReasoningBank.\n\nSONA is a cutting-edge adaptive learning system that combines:\n- **Micro-LoRA** (rank 1-2): Ultra-fast inference-time adaptation\n- **Base LoRA** (rank 8+): Deeper background learning\n- **EWC++**: Catastrophic forgetting prevention\n- **ReasoningBank**: Pattern extraction and storage\n- **Dual Learning Loops**: Instant (<1ms) and background (periodic) learning\n\n## Features\n\n- 🚀 **Instant Adaptation**: Sub-millisecond learning updates during inference\n- 🧠 **Pattern Recognition**: Automatic extraction and clustering of learned patterns\n- 🔄 **Dual Learning Loops**: Balance speed and depth with instant and background learning\n- 💾 **Memory Preservation**: EWC++ prevents catastrophic forgetting\n- ⚡ **High Performance**: Native Rust implementation with SIMD optimizations\n- 🎯 **Production Ready**: Used in large-scale LLM deployments\n\n## Installation\n\n```bash\nnpm install @ruvector/sona\n```\n\n## Quick Start\n\n```typescript\nimport { SonaEngine } from '@ruvector/sona';\n\n// Create engine with hidden dimension\nconst engine = new SonaEngine(512);\n\n// Or with custom configuration\nconst engine = SonaEngine.withConfig({\n  hiddenDim: 512,\n  microLoraRank: 2,\n  baseLoraRank: 16,\n  microLoraLr: 0.002,\n  qualityThreshold: 0.7,\n});\n\n// Start a trajectory\nconst builder = engine.beginTrajectory(queryEmbedding);\n\n// Record inference steps\nbuilder.addStep(activations, attentionWeights, 0.8);\nbuilder.addStep(activations2, attentionWeights2, 0.9);\n\n// Complete trajectory\nengine.endTrajectory(builder, 0.85); // quality score\n\n// Apply learned transformations\nconst output = engine.applyMicroLora(input);\n\n// Force learning cycle\nconst result = engine.forceLearn();\nconsole.log(result);\n\n// Find similar patterns\nconst patterns = engine.findPatterns(queryEmbedding, 5);\npatterns.forEach(p => {\n  console.log(`Pattern ${p.id}: quality=${p.avgQuality}, size=${p.clusterSize}`);\n});\n```\n\n## API Reference\n\n### SonaEngine\n\nMain class for adaptive learning.\n\n#### Constructor\n\n```typescript\nnew SonaEngine(hiddenDim: number)\n```\n\nCreate a new SONA engine with default configuration.\n\n**Parameters:**\n- `hiddenDim`: Hidden dimension size (e.g., 256, 512, 1024)\n\n#### Static Methods\n\n##### `SonaEngine.withConfig(config: SonaConfig): SonaEngine`\n\nCreate engine with custom configuration.\n\n**Configuration Options:**\n```typescript\ninterface SonaConfig {\n  hiddenDim: number;              // Required: Hidden dimension\n  embeddingDim?: number;          // Default: hiddenDim\n  microLoraRank?: number;         // Default: 1 (range: 1-2)\n  baseLoraRank?: number;          // Default: 8\n  microLoraLr?: number;           // Default: 0.001\n  baseLoraLr?: number;            // Default: 0.0001\n  ewcLambda?: number;             // Default: 1000.0\n  patternClusters?: number;       // Default: 50\n  trajectoryCapacity?: number;    // Default: 10000\n  backgroundIntervalMs?: number;  // Default: 3600000 (1 hour)\n  qualityThreshold?: number;      // Default: 0.5\n  enableSimd?: boolean;           // Default: true\n}\n```\n\n#### Instance Methods\n\n##### `beginTrajectory(queryEmbedding: Float64Array | number[]): TrajectoryBuilder`\n\nStart recording a new inference trajectory.\n\n##### `endTrajectory(builder: TrajectoryBuilder, quality: number): void`\n\nComplete and submit trajectory for learning.\n\n**Parameters:**\n- `builder`: TrajectoryBuilder instance\n- `quality`: Final quality score [0.0, 1.0]\n\n##### `applyMicroLora(input: Float64Array | number[]): Float64Array`\n\nApply micro-LoRA transformation (instant learning).\n\n##### `applyBaseLora(layerIdx: number, input: Float64Array | number[]): Float64Array`\n\nApply base-LoRA transformation to specific layer.\n\n##### `tick(): string | null`\n\nRun background learning cycle if due. Returns status message if executed.\n\n##### `forceLearn(): string`\n\nForce immediate background learning cycle.\n\n##### `flush(): void`\n\nFlush instant loop updates.\n\n##### `findPatterns(queryEmbedding: Float64Array | number[], k: number): LearnedPattern[]`\n\nFind k most similar learned patterns.\n\n##### `getStats(): string`\n\nGet engine statistics as JSON string.\n\n##### `setEnabled(enabled: boolean): void`\n\nEnable or disable learning.\n\n##### `isEnabled(): boolean`\n\nCheck if engine is enabled.\n\n### TrajectoryBuilder\n\nBuilder for recording inference trajectories.\n\n#### Methods\n\n##### `addStep(activations: Float64Array | number[], attentionWeights: Float64Array | number[], reward: number): void`\n\nAdd a step to the trajectory.\n\n**Parameters:**\n- `activations`: Layer activations\n- `attentionWeights`: Attention weights\n- `reward`: Reward signal for this step\n\n##### `setRoute(route: string): void`\n\nSet model route identifier.\n\n##### `addContext(contextId: string): void`\n\nAdd context ID to trajectory.\n\n### LearnedPattern\n\nRepresents a learned pattern from trajectory clustering.\n\n```typescript\ninterface LearnedPattern {\n  id: string;\n  centroid: Float64Array;\n  clusterSize: number;\n  totalWeight: number;\n  avgQuality: number;\n  createdAt: string;\n  lastAccessed: string;\n  accessCount: number;\n  patternType: PatternType;\n}\n```\n\n### PatternType\n\nPattern classification enumeration.\n\n```typescript\nenum PatternType {\n  General = 'General',\n  Reasoning = 'Reasoning',\n  Factual = 'Factual',\n  Creative = 'Creative',\n  CodeGen = 'CodeGen',\n  Conversational = 'Conversational',\n}\n```\n\n## Advanced Usage\n\n### LLM Integration Example\n\n```typescript\nimport { SonaEngine } from '@ruvector/sona';\n\nclass AdaptiveLLM {\n  private sona: SonaEngine;\n\n  constructor() {\n    this.sona = SonaEngine.withConfig({\n      hiddenDim: 4096,\n      microLoraRank: 2,\n      baseLoraRank: 16,\n      microLoraLr: 0.002,\n      qualityThreshold: 0.7,\n      backgroundIntervalMs: 1800000, // 30 minutes\n    });\n  }\n\n  async generate(prompt: string): Promise<string> {\n    const embedding = await this.embed(prompt);\n    const builder = this.sona.beginTrajectory(embedding);\n\n    // Generate with SONA-enhanced layers\n    const output = await this.runInference(builder);\n\n    // Calculate quality score\n    const quality = this.assessQuality(output);\n\n    // Submit trajectory for learning\n    this.sona.endTrajectory(builder, quality);\n\n    // Periodic background learning\n    const status = this.sona.tick();\n    if (status) {\n      console.log('Background learning:', status);\n    }\n\n    return output;\n  }\n\n  private async runInference(builder: TrajectoryBuilder): Promise<string> {\n    let output = '';\n\n    for (const layer of this.layers) {\n      // Get layer activations\n      const activations = layer.forward(/* ... */);\n      const attention = layer.getAttention();\n\n      // Apply micro-LoRA enhancement\n      const enhanced = this.sona.applyMicroLora(activations);\n\n      // Record step\n      const reward = this.calculateReward(enhanced);\n      builder.addStep(activations, attention, reward);\n\n      // Continue generation with enhanced activations\n      output += this.decode(enhanced);\n    }\n\n    return output;\n  }\n}\n```\n\n### Pattern-Based Routing\n\n```typescript\n// Find similar patterns for routing decisions\nconst patterns = engine.findPatterns(queryEmbedding, 3);\n\nif (patterns.length > 0) {\n  const topPattern = patterns[0];\n\n  if (topPattern.patternType === 'CodeGen' && topPattern.avgQuality > 0.8) {\n    // Route to specialized code generation model\n    await routeToCodeModel(query);\n  } else if (topPattern.patternType === 'Reasoning') {\n    // Use chain-of-thought prompting\n    await useCoTPrompting(query);\n  }\n}\n```\n\n### Performance Monitoring\n\n```typescript\n// Get statistics\nconst stats = JSON.parse(engine.getStats());\nconsole.log(`\n  Trajectories buffered: ${stats.trajectories_buffered}\n  Patterns learned: ${stats.patterns_learned}\n  Micro-LoRA updates: ${stats.micro_updates}\n  Background cycles: ${stats.background_cycles}\n`);\n\n// Force learning when needed\nif (stats.trajectories_buffered > 100) {\n  const result = engine.forceLearn();\n  console.log('Forced learning:', result);\n}\n```\n\n## Performance Characteristics\n\n- **Micro-LoRA Application**: <1ms per forward pass\n- **Trajectory Recording**: ~10μs per step\n- **Background Learning**: Depends on buffer size (typically 100-500ms for 1000 trajectories)\n- **Pattern Search**: O(k * n) where k = number of results, n = total patterns\n- **Memory Usage**: ~50MB base + ~1KB per trajectory + ~10KB per pattern\n\n## Architecture\n\nSONA implements a dual-loop learning architecture:\n\n1. **Instant Loop** (<1ms):\n   - Accumulates micro-LoRA gradients during inference\n   - Updates on every trajectory\n   - Rank-1 or rank-2 LoRA for minimal overhead\n\n2. **Background Loop** (periodic):\n   - Extracts patterns via k-means clustering\n   - Updates base LoRA weights\n   - Applies EWC++ for stability\n   - Prunes low-quality patterns\n\n## Requirements\n\n- Node.js >= 16\n- Native bindings for your platform (automatically installed)\n\n## Supported Platforms\n\n- Linux (x64, ARM64, ARM)\n- macOS (x64, ARM64, Universal)\n- Windows (x64, ARM64)\n- FreeBSD (x64)\n\n## License\n\nMIT OR Apache-2.0\n\n## Links\n\n- [GitHub Repository](https://github.com/ruvnet/ruvector)\n- [Documentation](https://github.com/ruvnet/ruvector/tree/main/crates/sona)\n- [rUvector Project](https://github.com/ruvnet/ruvector)\n\n## Contributing\n\nContributions are welcome! Please see the main rUvector repository for contribution guidelines.\n\n## Acknowledgments\n\nSONA is part of the rUvector project, building on research in:\n- Low-Rank Adaptation (LoRA)\n- Elastic Weight Consolidation (EWC)\n- Continual Learning\n- Neural Architecture Search\n\n---\n\nBuilt with ❤️ by the rUv Team\n","readmeFilename":"README.md"}