{"_id":"@arcsight-ai/convergence","_rev":"10-a73d93f84de9f24be04881daf1218ee4","name":"@arcsight-ai/convergence","dist-tags":{"latest":"1.0.11"},"versions":{"1.0.0":{"name":"@arcsight-ai/convergence","version":"1.0.0","keywords":["cli","convergence","deterministic"],"license":"MIT","_id":"@arcsight-ai/convergence@1.0.0","maintainers":[{"name":"freewebguys","email":"hello@arcsight.ai"}],"bin":{"converge":"bin/convergence.js","convergence":"bin/convergence.js"},"dist":{"shasum":"e7c3db4783f08413e4138393bfbf2846490caef3","tarball":"https://registry.npmjs.org/@arcsight-ai/convergence/-/convergence-1.0.0.tgz","fileCount":157,"integrity":"sha512-G4wuyqC9x/4K2xaVNqvkbdheNAyKFCy8ME1lJNE6GU1v5BhfCN3WscJw6+7neZ4O8s+ocPt5uRIJS+cVuQVmTg==","signatures":[{"sig":"MEYCIQCL6vhZxcjVe5PJ42Ryc/z2Bbb18zu5pQZzSP/dmsKeWQIhAMSHHv0JWNdRAGYadWU355JgzFfpzRr8BmpR3ZfD0xtG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":526535},"main":"src/cli.ts","engines":{"node":">=18"},"gitHead":"0c5343632f7de701fd02c6ac6697c3277d7ddfe8","scripts":{"test":"node --test test/protocol-lock.test.js test/convergence-engine-integration.test.js test/classify-determinism.test.js test/runtime-run.test.js test/compile-guard.test.js test/invariants/singleAuthorityV2.test.js test/invariants/singleAuthorityV1.test.js test/invariants/dependencyGraphV1.test.js && node -r ts-node/register --test test/invariants/circularDependencyV1.test.ts test/invariants/layerBoundaryV1.test.ts test/invariants/fanInInstabilityV1.test.ts test/invariants/fanOutInstabilityV1.test.ts test/telemetry/arcsightEmitter.test.ts test/deps/dependencyExplorer.test.ts test/impact/impact.test.ts test/risk/risk.test.ts test/simulate/simulate.test.ts test/report/report.test.ts test/check/check.test.ts test/diff/diff.test.ts test/score/score.test.ts test/explain/explain.test.ts test/graph/graph.test.ts","build":"tsc","guard":"npx ts-node src/invariants/runInvariantsCli.ts","converge":"ts-node src/cli.ts","invariants":"npx ts-node src/invariants/runInvariantsCli.ts","invariant-v1":"npx ts-node src/invariants/single-authority/runSingleAuthority.ts"},"_npmUser":{"name":"freewebguys","email":"hello@arcsight.ai"},"_npmVersion":"10.8.2","description":"Deterministic, stateless convergence boundary engine","directories":{},"_nodeVersion":"20.19.6","dependencies":{"@babel/parser":"^7.23.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.2","typescript":"^5.3.0","@types/node":"^20.10.0"},"_npmOperationalInternal":{"tmp":"tmp/convergence_1.0.0_1772711449150_0.7229726170556379","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@arcsight-ai/convergence","version":"1.0.1","keywords":["cli","convergence","deterministic"],"license":"MIT","_id":"@arcsight-ai/convergence@1.0.1","maintainers":[{"name":"freewebguys","email":"hello@arcsight.ai"}],"bin":{"converge":"bin/convergence.js","convergence":"bin/convergence.js"},"dist":{"shasum":"97d99e8521e1e8e1803b023259925e9550ae7830","tarball":"https://registry.npmjs.org/@arcsight-ai/convergence/-/convergence-1.0.1.tgz","fileCount":157,"integrity":"sha512-PqlXH219ZWPztmgptpbqmzUdTWzOI9CburQfQPlQvWyTaLA0WcoudyfAx7xjlkp9N2161IS3FJvncoNASi3Cjg==","signatures":[{"sig":"MEQCIERPm0v9lSSx1yph2utzFEeYZzlPzw5IPU2TqJdtCWvNAiAo27PqKgqM4zCpejWcBWTsXqNpCGZIaSi6FYpGh4Vj7w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":526535},"main":"src/cli.ts","engines":{"node":">=18"},"gitHead":"0c5343632f7de701fd02c6ac6697c3277d7ddfe8","scripts":{"test":"node --test test/protocol-lock.test.js test/convergence-engine-integration.test.js test/classify-determinism.test.js test/runtime-run.test.js test/compile-guard.test.js test/invariants/singleAuthorityV2.test.js test/invariants/singleAuthorityV1.test.js test/invariants/dependencyGraphV1.test.js && node -r ts-node/register --test test/invariants/circularDependencyV1.test.ts test/invariants/layerBoundaryV1.test.ts test/invariants/fanInInstabilityV1.test.ts test/invariants/fanOutInstabilityV1.test.ts test/telemetry/arcsightEmitter.test.ts test/deps/dependencyExplorer.test.ts test/impact/impact.test.ts test/risk/risk.test.ts test/simulate/simulate.test.ts test/report/report.test.ts test/check/check.test.ts test/diff/diff.test.ts test/score/score.test.ts test/explain/explain.test.ts test/graph/graph.test.ts","build":"tsc","guard":"npx ts-node src/invariants/runInvariantsCli.ts","converge":"ts-node src/cli.ts","invariants":"npx ts-node src/invariants/runInvariantsCli.ts","invariant-v1":"npx ts-node src/invariants/single-authority/runSingleAuthority.ts"},"_npmUser":{"name":"freewebguys","email":"hello@arcsight.ai"},"_npmVersion":"10.8.2","description":"Deterministic, stateless convergence boundary engine","directories":{},"_nodeVersion":"20.19.6","dependencies":{"@babel/parser":"^7.23.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.2","typescript":"^5.3.0","@types/node":"^20.10.0"},"_npmOperationalInternal":{"tmp":"tmp/convergence_1.0.1_1772711789580_0.8140898328169961","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@arcsight-ai/convergence","version":"1.0.2","keywords":["cli","convergence","deterministic"],"license":"MIT","_id":"@arcsight-ai/convergence@1.0.2","maintainers":[{"name":"freewebguys","email":"hello@arcsight.ai"}],"bin":{"converge":"bin/convergence.js","convergence":"bin/convergence.js"},"dist":{"shasum":"9a76551911ec6794f3d0b45daebddf0d136b053b","tarball":"https://registry.npmjs.org/@arcsight-ai/convergence/-/convergence-1.0.2.tgz","fileCount":157,"integrity":"sha512-7NOgennjoHLMw5MQVazapTT9Ds4lC65yxWxWYR6BwNGipvmLGG0XVrDcBdB0PZo1mdOVUDD6WK27amaIS/JqdQ==","signatures":[{"sig":"MEYCIQCRoPg5FrlU0T0cVVrCXRbrHdL2Ch5iK0w03nuZhK6hMwIhANkAQhxHmvABCOl0enydMkNfI0dkpz/tdZV8hZG094o7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":527002},"main":"src/cli.ts","engines":{"node":">=18"},"gitHead":"0c5343632f7de701fd02c6ac6697c3277d7ddfe8","scripts":{"test":"node --test test/protocol-lock.test.js test/convergence-engine-integration.test.js test/classify-determinism.test.js test/runtime-run.test.js test/compile-guard.test.js test/invariants/singleAuthorityV2.test.js test/invariants/singleAuthorityV1.test.js test/invariants/dependencyGraphV1.test.js && node -r ts-node/register --test test/invariants/circularDependencyV1.test.ts test/invariants/layerBoundaryV1.test.ts test/invariants/fanInInstabilityV1.test.ts test/invariants/fanOutInstabilityV1.test.ts test/telemetry/arcsightEmitter.test.ts test/deps/dependencyExplorer.test.ts test/impact/impact.test.ts test/risk/risk.test.ts test/simulate/simulate.test.ts test/report/report.test.ts test/check/check.test.ts test/diff/diff.test.ts test/score/score.test.ts test/explain/explain.test.ts test/graph/graph.test.ts","build":"tsc","guard":"npx ts-node src/invariants/runInvariantsCli.ts","converge":"ts-node src/cli.ts","invariants":"npx ts-node src/invariants/runInvariantsCli.ts","invariant-v1":"npx ts-node src/invariants/single-authority/runSingleAuthority.ts"},"_npmUser":{"name":"freewebguys","email":"hello@arcsight.ai"},"_npmVersion":"10.8.2","description":"Deterministic, stateless convergence boundary engine","directories":{},"_nodeVersion":"20.19.6","dependencies":{"@babel/parser":"^7.23.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.2","typescript":"^5.3.0","@types/node":"^20.10.0"},"_npmOperationalInternal":{"tmp":"tmp/convergence_1.0.2_1772712365834_0.7714117168418471","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@arcsight-ai/convergence","version":"1.0.4","keywords":["cli","convergence","deterministic"],"license":"MIT","_id":"@arcsight-ai/convergence@1.0.4","maintainers":[{"name":"freewebguys","email":"hello@arcsight.ai"}],"bin":{"converge":"bin/convergence.js","convergence":"bin/convergence.js"},"dist":{"shasum":"12332680dd3052edaae4acbdee30fb9bc25bc662","tarball":"https://registry.npmjs.org/@arcsight-ai/convergence/-/convergence-1.0.4.tgz","fileCount":157,"integrity":"sha512-do2AU2kSaq5wW2Dv8nK2pik4p4doeYqR6emBYcqVtM63FqwxjHrilltngikgkSjEOQy92xioIDOyszYlWUK3ow==","signatures":[{"sig":"MEQCIFqRO4cUpZLlXw0SXy+mxC6tYFXAV+xFNQbwZTGGWhwUAiB5f6rwCMfT0DnwnxdGlv4PV5Magrp18WHx1pq81dOyDQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":527002},"main":"src/cli.ts","engines":{"node":">=18"},"gitHead":"e22ea53032acca94ba428469a0154f83358d6014","scripts":{"test":"node --test test/protocol-lock.test.js test/convergence-engine-integration.test.js test/classify-determinism.test.js test/runtime-run.test.js test/compile-guard.test.js test/invariants/singleAuthorityV2.test.js test/invariants/singleAuthorityV1.test.js test/invariants/dependencyGraphV1.test.js && node -r ts-node/register --test test/invariants/circularDependencyV1.test.ts test/invariants/layerBoundaryV1.test.ts test/invariants/fanInInstabilityV1.test.ts test/invariants/fanOutInstabilityV1.test.ts test/telemetry/arcsightEmitter.test.ts test/deps/dependencyExplorer.test.ts test/impact/impact.test.ts test/risk/risk.test.ts test/simulate/simulate.test.ts test/report/report.test.ts test/check/check.test.ts test/diff/diff.test.ts test/score/score.test.ts test/explain/explain.test.ts test/graph/graph.test.ts","build":"tsc","guard":"npx ts-node src/invariants/runInvariantsCli.ts","converge":"ts-node src/cli.ts","invariants":"npx ts-node src/invariants/runInvariantsCli.ts","invariant-v1":"npx ts-node src/invariants/single-authority/runSingleAuthority.ts"},"_npmUser":{"name":"freewebguys","email":"hello@arcsight.ai"},"_npmVersion":"10.8.2","description":"Deterministic, stateless convergence boundary engine","directories":{},"_nodeVersion":"20.19.6","dependencies":{"@babel/parser":"^7.23.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.2","typescript":"^5.3.0","@types/node":"^20.10.0"},"_npmOperationalInternal":{"tmp":"tmp/convergence_1.0.4_1772715109990_0.06587051607358707","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@arcsight-ai/convergence","version":"1.0.5","keywords":["cli","convergence","deterministic"],"license":"MIT","_id":"@arcsight-ai/convergence@1.0.5","maintainers":[{"name":"freewebguys","email":"hello@arcsight.ai"}],"bin":{"converge":"bin/convergence.js","convergence":"bin/convergence.js"},"dist":{"shasum":"590b4d4b3dbf9bd25be6af5bdff8a30c780d8117","tarball":"https://registry.npmjs.org/@arcsight-ai/convergence/-/convergence-1.0.5.tgz","fileCount":142,"integrity":"sha512-871BB9W11lWQyMtETnqMYGGfMrgEwR6TH/8qYCtgxKCJFl5fyqo0+FelKy65IPfos+vvotiHnN0BZtTlRJOwyg==","signatures":[{"sig":"MEUCIDMVqS8E/iqhzZOG0a5W/cFuKAQeJW9xIKkcwavigOKbAiEA03+CPQIec2h5WwYH6t+L0daPLP9X5Zn8UQseRFnxFQs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":203990},"main":"dist/cli.js","types":"./dist/cli.d.ts","engines":{"node":">=18"},"gitHead":"e22ea53032acca94ba428469a0154f83358d6014","scripts":{"test":"node --test test/protocol-lock.test.js test/convergence-engine-integration.test.js test/classify-determinism.test.js test/runtime-run.test.js test/compile-guard.test.js test/invariants/singleAuthorityV2.test.js test/invariants/singleAuthorityV1.test.js test/invariants/dependencyGraphV1.test.js && node -r ts-node/register --test test/invariants/circularDependencyV1.test.ts test/invariants/layerBoundaryV1.test.ts test/invariants/fanInInstabilityV1.test.ts test/invariants/fanOutInstabilityV1.test.ts test/telemetry/arcsightEmitter.test.ts test/deps/dependencyExplorer.test.ts test/impact/impact.test.ts test/risk/risk.test.ts test/simulate/simulate.test.ts test/report/report.test.ts test/check/check.test.ts test/diff/diff.test.ts test/score/score.test.ts test/explain/explain.test.ts test/graph/graph.test.ts","build":"tsc","guard":"npx ts-node src/invariants/runInvariantsCli.ts","converge":"node dist/cli.js","invariants":"npx ts-node src/invariants/runInvariantsCli.ts","invariant-v1":"npx ts-node src/invariants/single-authority/runSingleAuthority.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"freewebguys","email":"hello@arcsight.ai"},"_npmVersion":"10.8.2","description":"Deterministic, stateless convergence boundary engine","directories":{},"_nodeVersion":"20.19.6","dependencies":{"@babel/parser":"^7.23.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.2","typescript":"^5.3.0","@types/node":"^20.10.0"},"_npmOperationalInternal":{"tmp":"tmp/convergence_1.0.5_1772719207112_0.5259871156325051","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@arcsight-ai/convergence","version":"1.0.6","keywords":["cli","convergence","deterministic"],"license":"MIT","_id":"@arcsight-ai/convergence@1.0.6","maintainers":[{"name":"freewebguys","email":"hello@arcsight.ai"}],"bin":{"converge":"dist/cli.js","convergence":"dist/cli.js"},"dist":{"shasum":"5ac466eac7ea33febe7cf3db82a14dfc2afd2030","tarball":"https://registry.npmjs.org/@arcsight-ai/convergence/-/convergence-1.0.6.tgz","fileCount":141,"integrity":"sha512-ZVOTGgTlgpayc1a229dLFi20uQT3COMf63kiTcX6aoPJVz7HjQqLl9YTKevL1KgWgdD2tQyzxlsNx2TzZZ1z0Q==","signatures":[{"sig":"MEUCIQDLJ77YSvJbGpMiPSKnxyLa5bszgN84fKU8P6APZLwVgQIgMjqXCy4P4IAB2fpMZsCA+Bdo7JVWuOmk/8j1Mm60cmg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":203904},"main":"dist/cli.js","types":"./dist/cli.d.ts","engines":{"node":">=18"},"gitHead":"e22ea53032acca94ba428469a0154f83358d6014","scripts":{"test":"node --test test/protocol-lock.test.js test/convergence-engine-integration.test.js test/classify-determinism.test.js test/runtime-run.test.js test/compile-guard.test.js test/invariants/singleAuthorityV2.test.js test/invariants/singleAuthorityV1.test.js test/invariants/dependencyGraphV1.test.js && node -r ts-node/register --test test/invariants/circularDependencyV1.test.ts test/invariants/layerBoundaryV1.test.ts test/invariants/fanInInstabilityV1.test.ts test/invariants/fanOutInstabilityV1.test.ts test/telemetry/arcsightEmitter.test.ts test/deps/dependencyExplorer.test.ts test/impact/impact.test.ts test/risk/risk.test.ts test/simulate/simulate.test.ts test/report/report.test.ts test/check/check.test.ts test/diff/diff.test.ts test/score/score.test.ts test/explain/explain.test.ts test/graph/graph.test.ts","build":"tsc","guard":"npx ts-node src/invariants/runInvariantsCli.ts","converge":"node dist/cli.js","invariants":"npx ts-node src/invariants/runInvariantsCli.ts","invariant-v1":"npx ts-node src/invariants/single-authority/runSingleAuthority.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"freewebguys","email":"hello@arcsight.ai"},"_npmVersion":"10.8.2","description":"Deterministic, stateless convergence boundary engine","directories":{},"_nodeVersion":"20.19.6","dependencies":{"@babel/parser":"^7.23.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.2","typescript":"^5.3.0","@types/node":"^20.10.0"},"_npmOperationalInternal":{"tmp":"tmp/convergence_1.0.6_1772719810086_0.6652246497316927","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"@arcsight-ai/convergence","version":"1.0.8","keywords":["cli","convergence","deterministic"],"license":"MIT","_id":"@arcsight-ai/convergence@1.0.8","maintainers":[{"name":"freewebguys","email":"hello@arcsight.ai"}],"bin":{"converge":"bin/convergence","convergence":"bin/convergence"},"dist":{"shasum":"678abdf742a57c6fbf8a311034cb45fdfb925b1f","tarball":"https://registry.npmjs.org/@arcsight-ai/convergence/-/convergence-1.0.8.tgz","fileCount":143,"integrity":"sha512-6D3D1bCxJ/8cUXPPLGbCjm0Uw+fm2HOKd9gZtL++MhAZM7wlurwk5i5PtfM4RcD2ymjjaDiA8tGM8l+z/6kA3A==","signatures":[{"sig":"MEYCIQDlL0oaG6DVqwpSeLB1aldqVGzUDH7G6u0tHrl1Rg97PwIhAJaEFExRIm2AwDa6iPXstBHY56gdTOJpICmsD3rZVG3b","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":204066},"main":"dist/cli.js","types":"./dist/cli.d.ts","engines":{"node":">=18"},"gitHead":"e22ea53032acca94ba428469a0154f83358d6014","scripts":{"test":"node --test test/protocol-lock.test.js test/convergence-engine-integration.test.js test/classify-determinism.test.js test/runtime-run.test.js test/compile-guard.test.js test/invariants/singleAuthorityV2.test.js test/invariants/singleAuthorityV1.test.js test/invariants/dependencyGraphV1.test.js && node -r ts-node/register --test test/invariants/circularDependencyV1.test.ts test/invariants/layerBoundaryV1.test.ts test/invariants/fanInInstabilityV1.test.ts test/invariants/fanOutInstabilityV1.test.ts test/telemetry/arcsightEmitter.test.ts test/deps/dependencyExplorer.test.ts test/impact/impact.test.ts test/risk/risk.test.ts test/simulate/simulate.test.ts test/report/report.test.ts test/check/check.test.ts test/diff/diff.test.ts test/score/score.test.ts test/explain/explain.test.ts test/graph/graph.test.ts","build":"tsc","guard":"npx ts-node src/invariants/runInvariantsCli.ts","converge":"node dist/cli.js","invariants":"npx ts-node src/invariants/runInvariantsCli.ts","invariant-v1":"npx ts-node src/invariants/single-authority/runSingleAuthority.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"freewebguys","email":"hello@arcsight.ai"},"_npmVersion":"10.8.2","description":"Deterministic, stateless convergence boundary engine","directories":{},"_nodeVersion":"20.19.6","dependencies":{"@babel/parser":"^7.23.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.2","typescript":"^5.3.0","@types/node":"^20.10.0"},"_npmOperationalInternal":{"tmp":"tmp/convergence_1.0.8_1772721752483_0.15459701899150224","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"@arcsight-ai/convergence","version":"1.0.9","keywords":["cli","convergence","deterministic"],"license":"MIT","_id":"@arcsight-ai/convergence@1.0.9","maintainers":[{"name":"freewebguys","email":"hello@arcsight.ai"}],"bin":{"converge":"dist/cli.js","convergence":"dist/cli.js"},"dist":{"shasum":"41b7f8ae641bf1ba666ca055a8ac066ec7a2d7c1","tarball":"https://registry.npmjs.org/@arcsight-ai/convergence/-/convergence-1.0.9.tgz","fileCount":173,"integrity":"sha512-94omIj1VB6XUmZdAbkLQbwYBapP3K1LLmLdZclF3cO8b+2dcV6TCHafKorMeMjiiBjNAQmN/ZESWa4FOyKHmxA==","signatures":[{"sig":"MEUCIQC5wkvUjKyG9GWXhE3MxbFqrl9+tfubN9YrCc3xqJ4QoQIgFtDz4AejChjA/XHg2AAkn6PKVTB4ZBDOfx9+M0h//c0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":286806},"main":"dist/cli.js","types":"./dist/cli.d.ts","engines":{"node":">=18"},"gitHead":"9e704661e302e45996176d1fad2e48a27a142c6e","scripts":{"test":"node --test test/protocol-lock.test.js test/convergence-engine-integration.test.js test/classify-determinism.test.js test/runtime-run.test.js test/compile-guard.test.js test/invariants/singleAuthorityV2.test.js test/invariants/singleAuthorityV1.test.js test/invariants/dependencyGraphV1.test.js && node -r ts-node/register --test test/node-version.test.ts test/invariants/circularDependencyV1.test.ts test/invariants/layerBoundaryV1.test.ts test/invariants/fanInInstabilityV1.test.ts test/invariants/fanOutInstabilityV1.test.ts test/telemetry/arcsightEmitter.test.ts test/deps/dependencyExplorer.test.ts test/impact/impact.test.ts test/impact/plan.test.ts test/impact/risk.test.ts test/impact/blast.test.ts test/impact/check.test.ts test/impact/guard.test.ts test/impact/hotspots.test.ts test/impact/why.test.ts test/risk/risk.test.ts test/simulate/simulate.test.ts test/report/report.test.ts test/check/check.test.ts test/diff/diff.test.ts test/score/score.test.ts test/explain/explain.test.ts test/graph/graph.test.ts","build":"tsc","guard":"npx ts-node src/invariants/runInvariantsCli.ts","converge":"node dist/cli.js","test:pack":"bash scripts/test-pack.sh","invariants":"npx ts-node src/invariants/runInvariantsCli.ts","invariant-v1":"npx ts-node src/invariants/single-authority/runSingleAuthority.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"freewebguys","email":"hello@arcsight.ai"},"_npmVersion":"10.8.2","description":"Deterministic, stateless convergence boundary engine","directories":{},"_nodeVersion":"20.19.6","dependencies":{"typescript":"^5.3.0","@babel/parser":"^7.23.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.2","@types/node":"^20.10.0"},"_npmOperationalInternal":{"tmp":"tmp/convergence_1.0.9_1772755136593_0.5714835167958328","host":"s3://npm-registry-packages-npm-production"}},"1.0.10":{"name":"@arcsight-ai/convergence","version":"1.0.10","keywords":["cli","convergence","deterministic"],"license":"MIT","_id":"@arcsight-ai/convergence@1.0.10","maintainers":[{"name":"freewebguys","email":"hello@arcsight.ai"}],"bin":{"cv":"dist/cli.js","converge":"dist/cli.js","convergence":"dist/cli.js"},"dist":{"shasum":"f974014b499f28ac8d06cd1d2849b9aa854fdc63","tarball":"https://registry.npmjs.org/@arcsight-ai/convergence/-/convergence-1.0.10.tgz","fileCount":129,"integrity":"sha512-c/YvPgxCmd2f1yZ2vaP2/DTY4K/js7oTODpLKhSHCiQgVk2iKHblFd9KdbfmHQHpnKIhViuR9G/rTDAEYLAuAg==","signatures":[{"sig":"MEUCIC9rsi7TI3VwRJSafK02HDDNwhRBL1f+TJSvMgD3+ticAiEA7nt5gOqjr1KsdK0l28kCC933ahz/Ep+vwEwlkv5A8ww=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":429005},"main":"dist/cli.js","type":"commonjs","engines":{"node":">=18"},"exports":{".":"./dist/cli.js"},"gitHead":"d241c26352d005ad43ef8a83b4042e56e26a3e65","private":false,"scripts":{"test":"node --test test/protocol-lock.test.js test/convergence-engine-integration.test.js test/classify-determinism.test.js test/runtime-run.test.js test/compile-guard.test.js test/invariants/singleAuthorityV2.test.js test/invariants/singleAuthorityV1.test.js test/invariants/dependencyGraphV1.test.js && node -r ts-node/register --test test/node-version.test.ts test/invariants/circularDependencyV1.test.ts test/invariants/layerBoundaryV1.test.ts test/invariants/fanInInstabilityV1.test.ts test/invariants/fanOutInstabilityV1.test.ts test/telemetry/arcsightEmitter.test.ts test/deps/dependencyExplorer.test.ts test/impact/impact.test.ts test/impact/plan.test.ts test/impact/risk.test.ts test/impact/blast.test.ts test/impact/check.test.ts test/impact/guard.test.ts test/impact/hotspots.test.ts test/impact/why.test.ts test/drift/drift.test.ts test/analysis/refactorRisk.test.ts test/analysis/impact.test.ts test/analysis/prRisk.test.ts test/analysis/ownership.test.ts test/cli/simulate.test.ts test/cli/hotspots.test.ts test/risk/risk.test.ts test/simulate/simulate.test.ts test/report/report.test.ts test/check/check.test.ts test/diff/diff.test.ts test/score/score.test.ts test/explain/explain.test.ts test/graph/graph.test.ts","build":"tsc && node scripts/generateIntegrity.js","guard":"npx ts-node src/invariants/runInvariantsCli.ts","converge":"node dist/cli.js","test:cli":"node dist/cli.js --help","test:npx":"npm pack && npm install ./arcsight-ai-convergence-*.tgz && npx convergence --help","test:pack":"bash scripts/test-pack.sh","invariants":"npx ts-node src/invariants/runInvariantsCli.ts","demo:nextjs":"bash scripts/demo-nextjs.sh","invariant-v1":"npx ts-node src/invariants/single-authority/runSingleAuthority.ts","test:package":"npm pack","build:publish":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && tsc -p tsconfig.publish.json && node scripts/generateIntegrity.js","prepublishOnly":"npm run build:publish"},"_npmUser":{"name":"freewebguys","email":"hello@arcsight.ai"},"_npmVersion":"10.8.2","description":"Deterministic, stateless convergence boundary engine","directories":{},"_nodeVersion":"20.19.6","dependencies":{"typescript":"^5.3.0","@babel/parser":"^7.23.0"},"preferGlobal":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.2","@types/node":"^20.10.0"},"_npmOperationalInternal":{"tmp":"tmp/convergence_1.0.10_1772844889872_0.7771637716925919","host":"s3://npm-registry-packages-npm-production"}},"1.0.11":{"name":"@arcsight-ai/convergence","version":"1.0.11","description":"Deterministic, stateless convergence boundary engine","publishConfig":{"access":"public"},"type":"commonjs","main":"dist/cli.js","exports":{".":"./dist/cli.js"},"preferGlobal":true,"bin":{"convergence":"dist/cli.js","converge":"dist/cli.js","cv":"dist/cli.js"},"private":false,"scripts":{"converge":"node dist/cli.js","build":"tsc && node scripts/generateIntegrity.js","build:publish":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && tsc -p tsconfig.publish.json && node scripts/generateIntegrity.js","test:pack":"bash scripts/test-pack.sh","test:cli":"node dist/cli.js --help","test:package":"npm pack","test:npx":"npm pack && npm install ./arcsight-ai-convergence-*.tgz && npx convergence --help","prepublishOnly":"npm run build:publish","guard":"npx ts-node src/invariants/runInvariantsCli.ts","invariants":"npx ts-node src/invariants/runInvariantsCli.ts","invariant-v1":"npx ts-node src/invariants/single-authority/runSingleAuthority.ts","test":"node --test test/protocol-lock.test.js test/convergence-engine-integration.test.js test/classify-determinism.test.js test/runtime-run.test.js test/compile-guard.test.js test/invariants/singleAuthorityV2.test.js test/invariants/singleAuthorityV1.test.js test/invariants/dependencyGraphV1.test.js && node -r ts-node/register --test test/node-version.test.ts test/invariants/circularDependencyV1.test.ts test/invariants/layerBoundaryV1.test.ts test/invariants/fanInInstabilityV1.test.ts test/invariants/fanOutInstabilityV1.test.ts test/telemetry/arcsightEmitter.test.ts test/deps/dependencyExplorer.test.ts test/impact/impact.test.ts test/impact/plan.test.ts test/impact/risk.test.ts test/impact/blast.test.ts test/impact/check.test.ts test/impact/guard.test.ts test/impact/hotspots.test.ts test/impact/why.test.ts test/drift/drift.test.ts test/analysis/refactorRisk.test.ts test/analysis/impact.test.ts test/analysis/prRisk.test.ts test/analysis/ownership.test.ts test/cli/simulate.test.ts test/cli/hotspots.test.ts test/risk/risk.test.ts test/simulate/simulate.test.ts test/report/report.test.ts test/check/check.test.ts test/diff/diff.test.ts test/score/score.test.ts test/explain/explain.test.ts test/graph/graph.test.ts","demo:nextjs":"bash scripts/demo-nextjs.sh"},"engines":{"node":">=18"},"keywords":["cli","convergence","deterministic"],"license":"MIT","dependencies":{"@babel/parser":"^7.23.0","typescript":"^5.3.0"},"devDependencies":{"@types/node":"^20.10.0","ts-node":"^10.9.2"},"_id":"@arcsight-ai/convergence@1.0.11","gitHead":"78d2fa57b31e657bcfd47be4158b25537b371ea0","_nodeVersion":"20.19.6","_npmVersion":"10.8.2","dist":{"integrity":"sha512-6Oq4KFKW/ejVeos9ZNVD8O7C1WBoyItMID2xBh5XbiJr4dm4/RnDjdUPcRirwRcSpss72n+tpXvXjW0eHUCdFQ==","shasum":"1586c059862748222b5a7e839ab36f6553b26755","tarball":"https://registry.npmjs.org/@arcsight-ai/convergence/-/convergence-1.0.11.tgz","fileCount":130,"unpackedSize":435779,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIE/+ZjC4+BxGn4HesEL6Y5w8CWPueq2GQ1Z8SNbnpzrRAiEAk46igvi4ha6Eedru8Ba5fx0XvHZ6+6zMi7AVBrpfby4="}]},"_npmUser":{"name":"freewebguys","email":"hello@arcsight.ai"},"directories":{},"maintainers":[{"name":"freewebguys","email":"hello@arcsight.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/convergence_1.0.11_1772847216985_0.16436882521114904"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-05T11:50:48.991Z","modified":"2026-03-07T01:33:37.287Z","1.0.0":"2026-03-05T11:50:49.482Z","1.0.1":"2026-03-05T11:56:29.742Z","1.0.2":"2026-03-05T12:06:06.029Z","1.0.4":"2026-03-05T12:51:50.137Z","1.0.5":"2026-03-05T14:00:07.283Z","1.0.6":"2026-03-05T14:10:10.296Z","1.0.8":"2026-03-05T14:42:32.610Z","1.0.9":"2026-03-05T23:58:56.750Z","1.0.10":"2026-03-07T00:54:50.065Z","1.0.11":"2026-03-07T01:33:37.161Z"},"license":"MIT","keywords":["cli","convergence","deterministic"],"description":"Deterministic, stateless convergence boundary engine","maintainers":[{"name":"freewebguys","email":"hello@arcsight.ai"}],"readme":"```bash\nnpm install -g @arcsight-ai/convergence\n```\n\n# ArcSight Convergence\n\n## Refactor without breaking production.\n\n## Try it right now\n\nRun this on any file in your project:\n\n```bash\nnpx @arcsight-ai/convergence impact src/index.ts\n```\n\nNo grep archaeology. No guesswork.\n\nWhen you change a file in a large codebase you usually don't know:\n\n- what depends on it  \n- how widely it is used  \n- what will break  \n\nSo refactoring becomes a gamble.\n\nYou either:\n\n- spend hours tracing dependencies  \n- or risk breaking production.\n\nArcSight solves this by showing the **blast radius** of any change.\n\n**Example:** Run one command on a file—you get a number. That number is how many files could be affected if you change it.\n\n```bash\nnpx @arcsight-ai/convergence impact src/cli.ts\n```\n\n**Result:**\n\nBlast radius: 12 files\n\nTwelve files could break if you refactor this one.  \nArcSight tells you that instantly.\n\n**You need:** [Node.js 18+](https://nodejs.org/) (`node -v`). Works with TypeScript and JavaScript codebases.\n\n| [Try the demo](#try-it-in-10-seconds) | [What it does](#what-it-does) | [Use it](#use-it-in-your-project) | [Get it](#where-to-get-it) |\n\n---\n\n## Try it in 10 seconds\n\nRun the **demo** in this repo. It analyzes real open-source repos and shows you:\n\n- The architecture hub (the most depended-on file)  \n- Which files depend on it  \n- The blast radius of changing it  \n- Whether the architecture has drifted  \n- A **refactor safety report** in ~10 seconds  \n\n**Run the demo** (copy and paste):\n\n```bash\ngit clone https://github.com/arcsight-ai/convergence.git\ncd convergence\nbash demo/run-demo.sh\n```\n\nFirst run clones two repos (~1 min); after that, ~10 seconds. Output goes to `demo/output/`; a summary is written to `demo/DEMO.md`. The demo only *reads* the repos—it never modifies them.\n\n**Preview the report:** [demo/DEMO.md](demo/DEMO.md) (view on GitHub or after cloning).\n\n**Troubleshooting:** Run the script from inside the `convergence` folder; ensure Node.js 18+ is installed (`node -v`).\n\n---\n\n## What it does\n\n| You want to… | You get… |\n|--------------|----------|\n| Find the most connected file | **graph** — the hub (most dependents) |\n| Understand why a file matters | **why** — what depends on it |\n| See what breaks if you change a file | **impact** or **blast** — blast radius (number of affected files) |\n| Spot the riskiest files | **hotspots** — highest architectural risk |\n| See how the architecture changed over time | **drift** — dependency changes across commits |\n| Block bad architecture in CI | **guard** — pass/fail vs a baseline |\n\nSame inputs give same outputs (deterministic). Safe to use in scripts and CI.\n\n---\n\n## What developers use this for\n\n**Find blast radius before refactoring:**\n\n```bash\nnpx @arcsight-ai/convergence impact src/services/paymentService.ts\n```\n\n**Understand why a file is risky:**\n\n```bash\nnpx @arcsight-ai/convergence why src/services/paymentService.ts\n```\n\n**Detect architecture regressions in CI:**\n\n```bash\nnpx @arcsight-ai/convergence guard\n```\n\n**Ask \"what if I change this?\" before committing:**\n\n```bash\nnpx @arcsight-ai/convergence impact src/services/paymentService.ts\n```\n\n---\n\n## Large-scale architecture demo\n\nRun ArcSight against the Next.js framework:\n\n```bash\nnpm run demo:nextjs\n```\n\nThis analyzes one of the largest JavaScript frameworks and demonstrates:\n\n- blast radius detection\n- architecture risk explanation\n- refactor impact simulation\n- CI architecture protection\n\nArcSight reveals hidden dependency risk in seconds.\n\n---\n\n## Use it in your project\n\nInstall from npm (`@arcsight-ai/convergence`):\n\n```bash\n# Run without installing (easiest)\nnpx @arcsight-ai/convergence --help\n\n# Or install globally\nnpm install -g @arcsight-ai/convergence\nconvergence --help\n\n# Or install in your project\nnpm install @arcsight-ai/convergence\nnpx convergence --help\n```\n\nRun all commands from your **project root** (where your source code lives).\n\n### Commands\n\n| What you want | Command |\n|---------------|---------|\n| See all commands | `npx @arcsight-ai/convergence --help` |\n| Impact of changing a file | `npx @arcsight-ai/convergence impact <file>` |\n| Blast radius (how many files affected) | `npx @arcsight-ai/convergence blast <file>` |\n| Why a file matters (what depends on it) | `npx @arcsight-ai/convergence why <file>` |\n| Most risky files | `npx @arcsight-ai/convergence hotspots` |\n| Architecture drift over time | `npx @arcsight-ai/convergence drift` |\n| Guard against architecture regressions | `npx @arcsight-ai/convergence guard` |\n| JSON output | Add `--json` to any command that supports it |\n\n**Examples:**\n\n```bash\nnpx @arcsight-ai/convergence impact src/cli.ts\nnpx @arcsight-ai/convergence hotspots --top 20\nnpx @arcsight-ai/convergence why src/services/payment.ts\n```\n\n**Next step:** Run the demo above, or run `npx @arcsight-ai/convergence impact <file>` in your repo for your first blast radius. One command, one number—no UI to install.\n\n---\n\n## Where to get it\n\n- **npm:** [@arcsight-ai/convergence](https://www.npmjs.com/package/@arcsight-ai/convergence)  \n- Works with TypeScript and JavaScript codebases.  \n- Install only from npm or your organization's approved registry.\n\n**License:** [MIT](LICENSE) · **Feedback:** [Open an issue](https://github.com/arcsight-ai/convergence/issues)\n\n---\n\nRefactoring should not require courage.\n\nArcSight tells you what breaks before you change anything.\n","readmeFilename":"README.md"}