{"_id":"merlion","_rev":"39-937b293d58a1e9a603c7c87c5267e3a8","name":"merlion","dist-tags":{"latest":"0.1.31"},"versions":{"0.1.0":{"name":"merlion","version":"0.1.0","_id":"merlion@0.1.0","maintainers":[{"name":"stevenslxie","email":"stevenslxie@gmail.com"}],"bin":{"merlion":"bin/merlion.js"},"dist":{"shasum":"aa60c3b5d546c32042decaa344ae98f870733433","tarball":"https://registry.npmjs.org/merlion/-/merlion-0.1.0.tgz","fileCount":162,"integrity":"sha512-PVz1qXBotzLt9mdQs4Z3v1Q1gCvIXtRxT9MbMylWQYKwHDiy1QYXWidNzB/bUfLcsdByCpG+Ek+NI1Ge0ZB+Cw==","signatures":[{"sig":"MEQCIEsFoLNQPiUdb5Z18VQvlQZHa3JxTRqpLNI7V1Wf5K+rAiB6V4qe5sOMovMWUlBm2sgRk6NHTURHUczdpDCCfVy6Vg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":363261},"type":"module","engines":{"node":">=22"},"gitHead":"356bd177ae46005a19c944cd1ed02814fdf00075","scripts":{"test":"node --experimental-strip-types --test 'tests/*.test.ts'","build":"tsc -p tsconfig.build.json","merlion":"node --experimental-strip-types src/index.ts","test:all":"node --experimental-strip-types --test --test-concurrency=1 'tests/**/*.test.ts'","test:e2e":"node --experimental-strip-types --test --test-concurrency=1 'tests/e2e/*.test.ts'","typecheck":"tsc --noEmit","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"stevenslxie","email":"stevenslxie@gmail.com"},"_npmVersion":"11.7.0","description":"A coding agent powered by OpenRouter","directories":{},"_nodeVersion":"25.4.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^25.6.0"},"_npmOperationalInternal":{"tmp":"tmp/merlion_0.1.0_1775914035707_0.3474964328318231","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"merlion","version":"0.1.1","_id":"merlion@0.1.1","maintainers":[{"name":"stevenslxie","email":"stevenslxie@gmail.com"}],"bin":{"merlion":"bin/merlion.js"},"dist":{"shasum":"ab09cda44e273bc512d170dedd3b5fec3516145c","tarball":"https://registry.npmjs.org/merlion/-/merlion-0.1.1.tgz","fileCount":162,"integrity":"sha512-d5hjGdXcgZtHT83SSeMWDKGIOsXYBxKtbC+j5WlJTY5xx/b9dFdJOFeSE9wqs/oXb8mJ6nmP97YMfqxJ+Zs6LQ==","signatures":[{"sig":"MEUCIAqczeOrAuhaWfRGH22U7HT4LyiuiWfhgSVLUdTnfzx+AiEA7mCHv0fdUH1cB8LoB26es9EVKgl+iY7C1F8N4d8CJdk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":365122},"type":"module","engines":{"node":">=22"},"gitHead":"d01e1359f3abb10a15f99ca2bd7537baaee8e8cd","scripts":{"test":"node --experimental-strip-types --test 'tests/*.test.ts'","build":"tsc -p tsconfig.build.json","merlion":"node --experimental-strip-types src/index.ts","test:all":"node --experimental-strip-types --test --test-concurrency=1 'tests/**/*.test.ts'","test:e2e":"node --experimental-strip-types --test --test-concurrency=1 'tests/e2e/*.test.ts'","typecheck":"tsc --noEmit","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"stevenslxie","email":"stevenslxie@gmail.com"},"_npmVersion":"11.7.0","description":"A coding agent powered by OpenRouter","directories":{},"_nodeVersion":"25.4.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^25.6.0"},"_npmOperationalInternal":{"tmp":"tmp/merlion_0.1.1_1775915049110_0.9608012355834283","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"merlion","version":"0.1.2","_id":"merlion@0.1.2","maintainers":[{"name":"stevenslxie","email":"stevenslxie@gmail.com"}],"bin":{"merlion":"bin/merlion.js"},"dist":{"shasum":"7fbe19e3924d73c1f8fdc001bf2a97c567d730f8","tarball":"https://registry.npmjs.org/merlion/-/merlion-0.1.2.tgz","fileCount":166,"integrity":"sha512-wV1APlI4bkeuwPqbizbYxCt4RGQHYDqrrkI8fFXiURpNCA+Vkzet6IriJYVU3cCd8WsYESHSvTe3ZrvaCZlQ4A==","signatures":[{"sig":"MEQCIE8ysmQgyR2qDmkrDp9eSUek3WjK5Wy5MIZa5A5oXKzzAiAH7g6IR4cD+GDKj4Am033/RMCAtw4BublebxET35+ACQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":371772},"type":"module","engines":{"node":">=22"},"gitHead":"26fa4b542173b4cab30e0dafc2b29b9c353341db","scripts":{"test":"node --experimental-strip-types --test 'tests/*.test.ts'","build":"tsc -p tsconfig.build.json","merlion":"node --experimental-strip-types src/index.ts","test:all":"node --experimental-strip-types --test --test-concurrency=1 'tests/**/*.test.ts'","test:e2e":"node --experimental-strip-types --test --test-concurrency=1 'tests/e2e/*.test.ts'","typecheck":"tsc --noEmit","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"stevenslxie","email":"stevenslxie@gmail.com"},"_npmVersion":"11.7.0","description":"A coding agent powered by OpenRouter","directories":{},"_nodeVersion":"25.4.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^25.6.0"},"_npmOperationalInternal":{"tmp":"tmp/merlion_0.1.2_1775915805397_0.08539034588766015","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"merlion","version":"0.1.3","_id":"merlion@0.1.3","maintainers":[{"name":"stevenslxie","email":"stevenslxie@gmail.com"}],"bin":{"merlion":"bin/merlion.js"},"dist":{"shasum":"4c10b0d9567cc4cb9f45c0922ee9b2945737e7e5","tarball":"https://registry.npmjs.org/merlion/-/merlion-0.1.3.tgz","fileCount":262,"integrity":"sha512-FR9jWGLB6npVUL40L+UXMweGlnqvMIUl+h/8KxG34+HUOobCw3J5ZeTQzIsVaJGYpvHkIdr1b7TXfnmEyU63Ow==","signatures":[{"sig":"MEYCIQD3jj1rzRb/oEWYU53zmesN+yJnWUdgxgxfsegy8pOLGgIhAMgNpE9Tun6dCgnl/b8g2Aa8sw8UMbKY0RVr6Qra40Oa","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":487127},"type":"module","engines":{"node":">=22"},"gitHead":"45b6245797fa647375feaaf3a34e02e861ded714","scripts":{"test":"node --experimental-strip-types --test 'tests/*.test.ts'","build":"tsc -p tsconfig.build.json","merlion":"node --experimental-strip-types src/index.ts","test:all":"node --experimental-strip-types --test --test-concurrency=1 'tests/**/*.test.ts'","test:e2e":"node --experimental-strip-types --test --test-concurrency=1 'tests/e2e/*.test.ts'","typecheck":"tsc --noEmit","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"stevenslxie","email":"stevenslxie@gmail.com"},"_npmVersion":"11.7.0","description":"A coding agent powered by OpenRouter","directories":{},"_nodeVersion":"25.4.0","dependencies":{"@vscode/ripgrep":"^1.15.14"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^25.6.0"},"_npmOperationalInternal":{"tmp":"tmp/merlion_0.1.3_1775949192551_0.2974516200807855","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"merlion","version":"0.1.4","_id":"merlion@0.1.4","maintainers":[{"name":"stevenslxie","email":"stevenslxie@gmail.com"}],"bin":{"merlion":"bin/merlion.js"},"dist":{"shasum":"7ec23774ae56fa1fb5ab59f64516ce5575df82f4","tarball":"https://registry.npmjs.org/merlion/-/merlion-0.1.4.tgz","fileCount":267,"integrity":"sha512-3vZnZC8bKmSYju4Bd4ordjeJHcHmxdE09P+CKhwTdaOs+MFj94XdFS1YlCtkhusSlHQO+acqQkHiZAdQVqhJGQ==","signatures":[{"sig":"MEUCIQCT330wiNi3EE1l6Hmo/f8XN5fooFxkA4ksc5MYsxL4EgIgPRrJs1zhOwBL+XUA3wx10gwfNrB8IrT78fvk0T9YQIg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":504677},"type":"module","engines":{"node":">=22"},"gitHead":"5299274272324b0520a48ee8c958178f3aa1e12e","scripts":{"test":"node --experimental-strip-types --test 'tests/*.test.ts'","build":"tsc -p tsconfig.build.json","merlion":"node --experimental-strip-types src/index.ts","test:all":"node --experimental-strip-types --test --test-concurrency=1 'tests/**/*.test.ts'","test:e2e":"node --experimental-strip-types --test --test-concurrency=1 'tests/e2e/*.test.ts'","typecheck":"tsc --noEmit","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"stevenslxie","email":"stevenslxie@gmail.com"},"_npmVersion":"11.7.0","description":"A coding agent powered by OpenRouter","directories":{},"_nodeVersion":"25.4.0","dependencies":{"@vscode/ripgrep":"^1.15.14"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^25.6.0"},"_npmOperationalInternal":{"tmp":"tmp/merlion_0.1.4_1775951221721_0.15648243909875803","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"merlion","version":"0.1.5","_id":"merlion@0.1.5","maintainers":[{"name":"stevenslxie","email":"stevenslxie@gmail.com"}],"bin":{"merlion":"bin/merlion.js"},"dist":{"shasum":"821acc20fb5b83d6fc8debe41f3559a0df20a9bb","tarball":"https://registry.npmjs.org/merlion/-/merlion-0.1.5.tgz","fileCount":267,"integrity":"sha512-tnguzbqspW4gU0SR/tugaACedofHr2YftdFj8NnwxE2BNC40/gUJkfbbTjVgMkGusFfUI+Jlo0ux6a2kWGbTIQ==","signatures":[{"sig":"MEUCIQD+CvJHRI4vpTo/yUVvispmqOruES0Pz5/CTxIfoRxntQIgDcbKWqz3dEOvFhMc4P2T4bnOTwxHrC8OZgZ1DZmifbU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":535138},"type":"module","engines":{"node":">=22"},"gitHead":"a321d195519621064aa1ceb70bd3295880b163d6","scripts":{"test":"node --experimental-strip-types --test 'tests/*.test.ts'","build":"tsc -p tsconfig.build.json","merlion":"node --experimental-strip-types src/index.ts","test:all":"node --experimental-strip-types --test --test-concurrency=1 'tests/**/*.test.ts'","test:e2e":"node --experimental-strip-types --test --test-concurrency=1 'tests/e2e/*.test.ts'","typecheck":"tsc --noEmit","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"stevenslxie","email":"stevenslxie@gmail.com"},"_npmVersion":"11.7.0","description":"A coding agent for OpenAI-compatible providers","directories":{},"_nodeVersion":"25.4.0","dependencies":{"marked":"^16.4.2","@vscode/ripgrep":"^1.15.14"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^25.6.0"},"_npmOperationalInternal":{"tmp":"tmp/merlion_0.1.5_1775953648684_0.04768348154463875","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"merlion","version":"0.1.6","_id":"merlion@0.1.6","maintainers":[{"name":"stevenslxie","email":"stevenslxie@gmail.com"}],"bin":{"merlion":"bin/merlion.js"},"dist":{"shasum":"ad38c5eeded1090c2eb90367ddf0965fe790687e","tarball":"https://registry.npmjs.org/merlion/-/merlion-0.1.6.tgz","fileCount":267,"integrity":"sha512-gGz8lyBjqdeeA+W2acmqMEUxYRlLciYQcMN5jq3nh4MSEW+iNZ1MXGLcbKuJz5O1ng230ziMmARn69Yfr57GBQ==","signatures":[{"sig":"MEQCIB0FpJbkSUCYZJHK+9vTWU00XZKCfPSQkRNSNsVF1V46AiBVP/xY+pxxDzJp8jVhRii2NVdrDfsPOEsOpMAn0zcX1w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":547660},"type":"module","engines":{"node":">=22"},"gitHead":"a321d195519621064aa1ceb70bd3295880b163d6","scripts":{"test":"node --experimental-strip-types --test 'tests/*.test.ts'","build":"tsc -p tsconfig.build.json","merlion":"node --experimental-strip-types src/index.ts","test:all":"node --experimental-strip-types --test --test-concurrency=1 'tests/**/*.test.ts'","test:e2e":"node --experimental-strip-types --test --test-concurrency=1 'tests/e2e/*.test.ts'","typecheck":"tsc --noEmit","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"stevenslxie","email":"stevenslxie@gmail.com"},"_npmVersion":"11.7.0","description":"A coding agent for OpenAI-compatible providers","directories":{},"_nodeVersion":"25.4.0","dependencies":{"marked":"^16.4.2","@vscode/ripgrep":"^1.15.14"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^25.6.0"},"_npmOperationalInternal":{"tmp":"tmp/merlion_0.1.6_1775959130811_0.12012813514195653","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"merlion","version":"0.1.7","_id":"merlion@0.1.7","maintainers":[{"name":"stevenslxie","email":"stevenslxie@gmail.com"}],"bin":{"merlion":"bin/merlion.js"},"dist":{"shasum":"2432190e45ef58a84ea4c45591ec8e614f10778d","tarball":"https://registry.npmjs.org/merlion/-/merlion-0.1.7.tgz","fileCount":279,"integrity":"sha512-8YJ2bPMzOPQcMCxo0v4GwmiLS2QQ5kQ/AmwQLGrQVxTK4nQSqAeNoe3X+ip3wXBihXSxH1IZrxTtwzZPkbbQ/g==","signatures":[{"sig":"MEYCIQCO+1sxKwmlUrb/B4WnhpMLH7EIwGQfGYJXNC8AKFOGzQIhAPQ4/6Nx+e22dshldVh6bno7x5bySOhAAl6ki25wMRNz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":607040},"type":"module","engines":{"node":">=22"},"gitHead":"8a7e707265b5a4da77f3a1c6e78416a127630816","scripts":{"test":"node --experimental-strip-types --test 'tests/*.test.ts'","build":"tsc -p tsconfig.build.json","merlion":"node --experimental-strip-types src/index.ts","test:all":"node --experimental-strip-types --test --test-concurrency=1 'tests/**/*.test.ts'","test:e2e":"node --experimental-strip-types --test --test-concurrency=1 'tests/e2e/*.test.ts'","typecheck":"tsc --noEmit","agents:lint":"node --experimental-strip-types scripts/agents/lint.ts","agents:update":"node --experimental-strip-types scripts/agents/update.ts","hooks:install":"git config core.hooksPath .githooks && echo '[hooks] core.hooksPath=.githooks'","prepublishOnly":"npm run build && npm test","agents:check-drift":"node --experimental-strip-types scripts/agents/update.ts --all --check","agents:update:staged":"node --experimental-strip-types scripts/agents/update.ts --staged"},"_npmUser":{"name":"stevenslxie","email":"stevenslxie@gmail.com"},"_npmVersion":"11.7.0","description":"A coding agent for OpenAI-compatible providers","directories":{},"_nodeVersion":"25.4.0","dependencies":{"marked":"^16.4.2","@vscode/ripgrep":"^1.15.14"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^25.6.0"},"_npmOperationalInternal":{"tmp":"tmp/merlion_0.1.7_1775992670832_0.1962577128430658","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"merlion","version":"0.1.9","_id":"merlion@0.1.9","maintainers":[{"name":"stevenslxie","email":"stevenslxie@gmail.com"}],"bin":{"merlion":"bin/merlion.js"},"dist":{"shasum":"140fc1e4ca6c58658c987708f8e05161bc4ec660","tarball":"https://registry.npmjs.org/merlion/-/merlion-0.1.9.tgz","fileCount":279,"integrity":"sha512-K7b7qFvQtNOfyVDxLk+kq4dyiQNIr8WYXGixYVSysWRTOm498HQYnJ+255vrPzAK5Jbt1lhyvGqo3M7xspGIRw==","signatures":[{"sig":"MEYCIQCyQai6RN6f8GlWd3httwsRRfhD/KSulgBxERy3kKSyZQIhAPbbrYWChAYVZvWbnmSjjaaxDRDoWXLa86naw7GsXCO8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":621111},"type":"module","engines":{"node":">=22"},"gitHead":"97aa5045f29e5740402133f30d559973b3e3957b","scripts":{"test":"node --experimental-strip-types --test 'tests/*.test.ts'","build":"tsc -p tsconfig.build.json","merlion":"node --experimental-strip-types src/index.ts","test:all":"node --experimental-strip-types --test --test-concurrency=1 'tests/**/*.test.ts'","test:e2e":"node --experimental-strip-types --test --test-concurrency=1 'tests/e2e/*.test.ts'","typecheck":"tsc --noEmit","agents:lint":"node --experimental-strip-types scripts/agents/lint.ts","agents:update":"node --experimental-strip-types scripts/agents/update.ts","hooks:install":"git config core.hooksPath .githooks && echo '[hooks] core.hooksPath=.githooks'","prepublishOnly":"npm run build && npm test","agents:check-drift":"node --experimental-strip-types scripts/agents/update.ts --all --check","agents:update:staged":"node --experimental-strip-types scripts/agents/update.ts --staged"},"_npmUser":{"name":"stevenslxie","email":"stevenslxie@gmail.com"},"_npmVersion":"11.7.0","description":"A coding agent for OpenAI-compatible providers","directories":{},"_nodeVersion":"25.4.0","dependencies":{"marked":"^16.4.2","@vscode/ripgrep":"^1.15.14"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^25.6.0"},"_npmOperationalInternal":{"tmp":"tmp/merlion_0.1.9_1775996625722_0.42043944295400104","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"merlion","version":"0.1.10","_id":"merlion@0.1.10","maintainers":[{"name":"stevenslxie","email":"stevenslxie@gmail.com"}],"bin":{"merlion":"bin/merlion.js"},"dist":{"shasum":"ea874d1e91d27b4954354ea92b05d49ed4a00d02","tarball":"https://registry.npmjs.org/merlion/-/merlion-0.1.10.tgz","fileCount":291,"integrity":"sha512-Prcg8STexxa6j7smn1+tCusDj3+x77/rXSyjayflBlJGWUU7ihQiNGxbVN2MffUJskkFOl1KCNnkK/V7AvkleA==","signatures":[{"sig":"MEUCIQCKWJZXRQKBX2g+pDrgH1R9/Os+GkxWS79ZFhiFR4RNSQIgXLbsUoZXXcC20TPtpLvLyBA6TitV3Pr2tJ7rPcVj9eI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":630888},"type":"module","engines":{"node":">=22"},"gitHead":"27df1b924fc35c8cf6bf71c417bcf3e8ee48e6df","scripts":{"test":"node --experimental-strip-types --test 'tests/*.test.ts'","build":"tsc -p tsconfig.build.json","merlion":"node --experimental-strip-types src/index.ts","test:all":"node --experimental-strip-types --test --test-concurrency=1 'tests/**/*.test.ts'","test:e2e":"node --experimental-strip-types --test --test-concurrency=1 'tests/e2e/*.test.ts'","typecheck":"tsc --noEmit","agents:lint":"node --experimental-strip-types scripts/agents/lint.ts","agents:update":"node --experimental-strip-types scripts/agents/update.ts","hooks:install":"git config core.hooksPath .githooks && echo '[hooks] core.hooksPath=.githooks'","prepublishOnly":"npm run build && npm test","agents:check-drift":"node --experimental-strip-types scripts/agents/update.ts --all --check","agents:update:staged":"node --experimental-strip-types scripts/agents/update.ts --staged"},"_npmUser":{"name":"stevenslxie","email":"stevenslxie@gmail.com"},"_npmVersion":"11.7.0","description":"A coding agent for OpenAI-compatible providers","directories":{},"_nodeVersion":"25.4.0","dependencies":{"marked":"^16.4.2","@vscode/ripgrep":"^1.15.14"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^25.6.0"},"_npmOperationalInternal":{"tmp":"tmp/merlion_0.1.10_1776001083705_0.640211381441276","host":"s3://npm-registry-packages-npm-production"}},"0.1.11":{"name":"merlion","version":"0.1.11","_id":"merlion@0.1.11","maintainers":[{"name":"stevenslxie","email":"stevenslxie@gmail.com"}],"bin":{"merlion":"bin/merlion.js"},"dist":{"shasum":"2c3fc1ac11704b532400f9d94f17505be9bbbac3","tarball":"https://registry.npmjs.org/merlion/-/merlion-0.1.11.tgz","fileCount":291,"integrity":"sha512-vXHItAMNjUVTag7wFA/v0j4av83vgZdU7KEqtxYo2Zffg0bm+2ZToOxllrfzrrtPY5v8dsYWb9fXJ93wTES/ag==","signatures":[{"sig":"MEUCIQD4/LQuFnFu+ccjOjpMsUTTqkRGHZYR9HLBgch7cl2MpAIgbskGiZUyLhKjR1R/rutB5UZAO3Sg7h2YEV0YJSBUQfM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":631793},"type":"module","engines":{"node":">=22"},"gitHead":"75004c9e30f22ba77ced5f75b51172828292c58b","scripts":{"test":"node --experimental-strip-types --test 'tests/*.test.ts'","build":"tsc -p tsconfig.build.json","merlion":"node --experimental-strip-types src/index.ts","test:all":"node --experimental-strip-types --test --test-concurrency=1 'tests/**/*.test.ts'","test:e2e":"node --experimental-strip-types --test --test-concurrency=1 'tests/e2e/*.test.ts'","typecheck":"tsc --noEmit","agents:lint":"node --experimental-strip-types scripts/agents/lint.ts","agents:update":"node --experimental-strip-types scripts/agents/update.ts","hooks:install":"git config core.hooksPath .githooks && echo '[hooks] core.hooksPath=.githooks'","prepublishOnly":"npm run build && npm test","agents:check-drift":"node --experimental-strip-types scripts/agents/update.ts --all --check","agents:update:staged":"node --experimental-strip-types scripts/agents/update.ts --staged"},"_npmUser":{"name":"stevenslxie","email":"stevenslxie@gmail.com"},"_npmVersion":"11.7.0","description":"A coding agent for OpenAI-compatible providers","directories":{},"_nodeVersion":"25.4.0","dependencies":{"marked":"^16.4.2","@vscode/ripgrep":"^1.15.14"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^25.6.0"},"_npmOperationalInternal":{"tmp":"tmp/merlion_0.1.11_1776002666314_0.17041929121631383","host":"s3://npm-registry-packages-npm-production"}},"0.1.12":{"name":"merlion","version":"0.1.12","_id":"merlion@0.1.12","maintainers":[{"name":"stevenslxie","email":"stevenslxie@gmail.com"}],"bin":{"merlion":"bin/merlion.js"},"dist":{"shasum":"8770ecc8a9298c2e2bff348ba9983e2d09ed57ca","tarball":"https://registry.npmjs.org/merlion/-/merlion-0.1.12.tgz","fileCount":295,"integrity":"sha512-6iCOL3fISjfImav88G0wbaIUj3sKafxfFs3e8XGs22LGc4wyQUe5qICy/FB63k32VJE9TNgWP8YZmShTEAWpOA==","signatures":[{"sig":"MEUCIQDCVYkwoIozl7LWCh1oi1goWY+MQQlgTuDl83vuO1vdfQIgEBcuGFLHqyv00gZkD6hLgJdo5USUu3JWnFiPrcLUoS4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":655645},"type":"module","engines":{"node":">=22"},"gitHead":"8c4ae4dc70f51bea9464435ac686bbe9b56912b4","scripts":{"test":"node --experimental-strip-types --test 'tests/*.test.ts'","build":"tsc -p tsconfig.build.json","merlion":"node --experimental-strip-types src/index.ts","test:all":"node --experimental-strip-types --test --test-concurrency=1 'tests/**/*.test.ts'","test:e2e":"node --experimental-strip-types --test --test-concurrency=1 'tests/e2e/*.test.ts'","typecheck":"tsc --noEmit","agents:lint":"node --experimental-strip-types scripts/agents/lint.ts","agents:update":"node --experimental-strip-types scripts/agents/update.ts","hooks:install":"git config core.hooksPath .githooks && echo '[hooks] core.hooksPath=.githooks'","prepublishOnly":"npm run build && npm test","agents:check-drift":"node --experimental-strip-types scripts/agents/update.ts --all --check","agents:update:staged":"node --experimental-strip-types scripts/agents/update.ts --staged"},"_npmUser":{"name":"stevenslxie","email":"stevenslxie@gmail.com"},"_npmVersion":"11.7.0","description":"A coding agent for OpenAI-compatible providers","directories":{},"_nodeVersion":"25.4.0","dependencies":{"marked":"^16.4.2","@vscode/ripgrep":"^1.15.14"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^25.6.0"},"_npmOperationalInternal":{"tmp":"tmp/merlion_0.1.12_1776007624760_0.5997177404878973","host":"s3://npm-registry-packages-npm-production"}},"0.1.13":{"name":"merlion","version":"0.1.13","_id":"merlion@0.1.13","maintainers":[{"name":"stevenslxie","email":"stevenslxie@gmail.com"}],"bin":{"merlion":"bin/merlion.js"},"dist":{"shasum":"98d3f89061613f1bfb165cd424f701cef1b4a396","tarball":"https://registry.npmjs.org/merlion/-/merlion-0.1.13.tgz","fileCount":307,"integrity":"sha512-Ai0ifUHObuajdcyIzJhmbMGILuTy1QBoSJqJjgFtT+t76qRdN39papSyZpG6FG4zKk+A7dDrvvolRcn2+8cpgg==","signatures":[{"sig":"MEQCIARS1fMR+zMbo+O9nFHIIOjsD1AlqrvYP2M6YLhRNdAxAiBsA9sPPj6itxqJzp9EnBahFN8/6O0GPLq8k55d5yhAlg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":708038},"type":"module","engines":{"node":">=22"},"gitHead":"bf52e91564432469f7f507494868601462470429","scripts":{"test":"node --experimental-strip-types --test 'tests/*.test.ts'","build":"tsc -p tsconfig.build.json","merlion":"node --experimental-strip-types src/index.ts","test:all":"node --experimental-strip-types --test --test-concurrency=1 'tests/**/*.test.ts'","test:e2e":"node --experimental-strip-types --test --test-concurrency=1 'tests/e2e/*.test.ts'","typecheck":"tsc --noEmit","agents:lint":"node --experimental-strip-types scripts/agents/lint.ts","agents:update":"node --experimental-strip-types scripts/agents/update.ts","hooks:install":"git config core.hooksPath .githooks && echo '[hooks] core.hooksPath=.githooks'","prepublishOnly":"npm run build && npm test","agents:check-drift":"node --experimental-strip-types scripts/agents/update.ts --all --check","agents:update:staged":"node --experimental-strip-types scripts/agents/update.ts --staged"},"_npmUser":{"name":"stevenslxie","email":"stevenslxie@gmail.com"},"_npmVersion":"11.7.0","description":"A coding agent for OpenAI-compatible providers","directories":{},"_nodeVersion":"25.4.0","dependencies":{"marked":"^16.4.2","@vscode/ripgrep":"^1.15.14"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^25.6.0"},"_npmOperationalInternal":{"tmp":"tmp/merlion_0.1.13_1776038533987_0.46295561013822284","host":"s3://npm-registry-packages-npm-production"}},"0.1.14":{"name":"merlion","version":"0.1.14","_id":"merlion@0.1.14","maintainers":[{"name":"stevenslxie","email":"stevenslxie@gmail.com"}],"bin":{"merlion":"bin/merlion.js"},"dist":{"shasum":"5e4c48ae8beec44288e533638c9b8e0088563fdf","tarball":"https://registry.npmjs.org/merlion/-/merlion-0.1.14.tgz","fileCount":307,"integrity":"sha512-7bzYTQnzaRSuSVKEwYQLtoRNoqw1sD0X++zCQUHH8XiANd/Dwy/ARequVkFW42+ao9Crx/Xs3baLrfxnwnp/Bw==","signatures":[{"sig":"MEUCIQDdsQmKsfADlrEvWR4k1x21aRathE5YvMrZ2FTF3/ctRQIgbVkwsfcu52n9jFmSxYrQKZr9QQ+8umDmJII+tcedOSM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":714798},"type":"module","engines":{"node":">=22"},"gitHead":"c4a40653940efbf4311eff968e2a279df86021fc","scripts":{"test":"node --experimental-strip-types --test 'tests/*.test.ts'","build":"tsc -p tsconfig.build.json","merlion":"node --experimental-strip-types src/index.ts","test:all":"node --experimental-strip-types --test --test-concurrency=1 'tests/**/*.test.ts'","test:e2e":"node --experimental-strip-types --test --test-concurrency=1 'tests/e2e/*.test.ts'","typecheck":"tsc --noEmit","agents:lint":"node --experimental-strip-types scripts/agents/lint.ts","agents:update":"node --experimental-strip-types scripts/agents/update.ts","hooks:install":"git config core.hooksPath .githooks && echo '[hooks] core.hooksPath=.githooks'","prepublishOnly":"npm run build && npm test","agents:check-drift":"node --experimental-strip-types scripts/agents/update.ts --all --check","agents:update:staged":"node --experimental-strip-types scripts/agents/update.ts --staged"},"_npmUser":{"name":"stevenslxie","email":"stevenslxie@gmail.com"},"_npmVersion":"11.7.0","description":"A coding agent for OpenAI-compatible providers","directories":{},"_nodeVersion":"25.4.0","dependencies":{"marked":"^16.4.2","@vscode/ripgrep":"^1.15.14"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^25.6.0"},"_npmOperationalInternal":{"tmp":"tmp/merlion_0.1.14_1776039869091_0.2808319240892214","host":"s3://npm-registry-packages-npm-production"}},"0.1.15":{"name":"merlion","version":"0.1.15","_id":"merlion@0.1.15","maintainers":[{"name":"stevenslxie","email":"stevenslxie@gmail.com"}],"bin":{"merlion":"bin/merlion.js"},"dist":{"shasum":"119b0a36344f2c8667e35652176a7ad39d15d8d9","tarball":"https://registry.npmjs.org/merlion/-/merlion-0.1.15.tgz","fileCount":307,"integrity":"sha512-y9uacFYrUTqIYn8DQduUqri8hNywdXTyaWdtf95LjQj2qiSgzt+KrjJ6vHdoGMa+AzW3M3C1aUnBHSAaO5U/ow==","signatures":[{"sig":"MEUCIQDnBJ+RY27xY3qlXiOXS+o2nf5a7LgwcSta/qjAMzG8GgIge0ubbNBuDk7lj2M+lIA5bBNxbVrRqHjj8Vnn6srvkZs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":715302},"type":"module","engines":{"node":">=22"},"gitHead":"1e7f33061362bee502e8919476a3d8b643c0d48d","scripts":{"test":"node --experimental-strip-types --test 'tests/*.test.ts'","build":"tsc -p tsconfig.build.json","merlion":"node --experimental-strip-types src/index.ts","test:all":"node --experimental-strip-types --test --test-concurrency=1 'tests/**/*.test.ts'","test:e2e":"node --experimental-strip-types --test --test-concurrency=1 'tests/e2e/*.test.ts'","typecheck":"tsc --noEmit","agents:lint":"node --experimental-strip-types scripts/agents/lint.ts","agents:update":"node --experimental-strip-types scripts/agents/update.ts","hooks:install":"git config core.hooksPath .githooks && echo '[hooks] core.hooksPath=.githooks'","prepublishOnly":"npm run build && npm test","agents:check-drift":"node --experimental-strip-types scripts/agents/update.ts --all --check","agents:update:staged":"node --experimental-strip-types scripts/agents/update.ts --staged"},"_npmUser":{"name":"stevenslxie","email":"stevenslxie@gmail.com"},"_npmVersion":"11.7.0","description":"A coding agent for OpenAI-compatible providers","directories":{},"_nodeVersion":"25.4.0","dependencies":{"marked":"^16.4.2","@vscode/ripgrep":"^1.15.14"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^25.6.0"},"_npmOperationalInternal":{"tmp":"tmp/merlion_0.1.15_1776040172189_0.8622892299914495","host":"s3://npm-registry-packages-npm-production"}},"0.1.16":{"name":"merlion","version":"0.1.16","_id":"merlion@0.1.16","maintainers":[{"name":"stevenslxie","email":"stevenslxie@gmail.com"}],"bin":{"merlion":"bin/merlion.js"},"dist":{"shasum":"45f5143a177e0e3ad4e03931678868b2f526dca3","tarball":"https://registry.npmjs.org/merlion/-/merlion-0.1.16.tgz","fileCount":331,"integrity":"sha512-E8WFfj0g+BfPrddEMdawXKZnxPYq8C+vFxpQKoUUHGJBh69jWVa5rUI9XBpa1u4nQWxqSZTojVWamgTdnKtqvA==","signatures":[{"sig":"MEQCIDuhFLSTC7mRvKo1r3sW991bllUDhPNDEZ0YQgsthnOrAiAFMtaMftdUNLHttrPpiGsu181pz49218snudQUiIPLeQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":773304},"type":"module","engines":{"node":">=22"},"gitHead":"1e7f33061362bee502e8919476a3d8b643c0d48d","scripts":{"test":"node --experimental-strip-types --test 'tests/*.test.ts'","build":"tsc -p tsconfig.build.json","merlion":"node --experimental-strip-types src/index.ts","test:all":"node --experimental-strip-types --test --test-concurrency=1 'tests/**/*.test.ts'","test:e2e":"node --experimental-strip-types --test --test-concurrency=1 'tests/e2e/*.test.ts'","typecheck":"tsc --noEmit","agents:lint":"node --experimental-strip-types scripts/agents/lint.ts","agents:update":"node --experimental-strip-types scripts/agents/update.ts","hooks:install":"git config core.hooksPath .githooks && echo '[hooks] core.hooksPath=.githooks'","prepublishOnly":"npm run build && npm test","agents:check-drift":"node --experimental-strip-types scripts/agents/update.ts --all --check","agents:update:staged":"node --experimental-strip-types scripts/agents/update.ts --staged"},"_npmUser":{"name":"stevenslxie","email":"stevenslxie@gmail.com"},"_npmVersion":"11.7.0","description":"A coding agent for OpenAI-compatible providers","directories":{},"_nodeVersion":"25.4.0","dependencies":{"marked":"^16.4.2","@vscode/ripgrep":"^1.15.14","qrcode-terminal":"^0.12.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^25.6.0"},"_npmOperationalInternal":{"tmp":"tmp/merlion_0.1.16_1776090276505_0.34003991787961496","host":"s3://npm-registry-packages-npm-production"}},"0.1.17":{"name":"merlion","version":"0.1.17","_id":"merlion@0.1.17","maintainers":[{"name":"stevenslxie","email":"stevenslxie@gmail.com"}],"bin":{"merlion":"bin/merlion.js"},"dist":{"shasum":"8b1737aa6447a3aae86e734e7a5f38dc828b4282","tarball":"https://registry.npmjs.org/merlion/-/merlion-0.1.17.tgz","fileCount":331,"integrity":"sha512-TZhgaRIsIQ25TCybjhQYO5AstG0wh4UVhQ4u21wo2W3sGTNQJWCMhbZHbW0gl5FE9zvPGiUQrpfdieSFAskEOA==","signatures":[{"sig":"MEYCIQCQBvScG2cI6v0czVlJh6epL9tcmL3COoiwQinBhWhW+AIhAKlpAhnG1xakjMrF2D+Nt5kRVEAY1KEj9xD9IFifWcsW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":774225},"type":"module","engines":{"node":">=22"},"gitHead":"1e7f33061362bee502e8919476a3d8b643c0d48d","scripts":{"test":"node --experimental-strip-types --test 'tests/*.test.ts'","build":"tsc -p tsconfig.build.json","merlion":"node --experimental-strip-types src/index.ts","test:all":"node --experimental-strip-types --test --test-concurrency=1 'tests/**/*.test.ts'","test:e2e":"node --experimental-strip-types --test --test-concurrency=1 'tests/e2e/*.test.ts'","typecheck":"tsc --noEmit","agents:lint":"node --experimental-strip-types scripts/agents/lint.ts","agents:update":"node --experimental-strip-types scripts/agents/update.ts","hooks:install":"git config core.hooksPath .githooks && echo '[hooks] core.hooksPath=.githooks'","prepublishOnly":"npm run build && npm test","agents:check-drift":"node --experimental-strip-types scripts/agents/update.ts --all --check","agents:update:staged":"node --experimental-strip-types scripts/agents/update.ts --staged"},"_npmUser":{"name":"stevenslxie","email":"stevenslxie@gmail.com"},"_npmVersion":"11.7.0","description":"A coding agent for OpenAI-compatible providers","directories":{},"_nodeVersion":"25.4.0","dependencies":{"marked":"^16.4.2","@vscode/ripgrep":"^1.15.14","qrcode-terminal":"^0.12.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^25.6.0"},"_npmOperationalInternal":{"tmp":"tmp/merlion_0.1.17_1776091048458_0.6728587635255938","host":"s3://npm-registry-packages-npm-production"}},"0.1.18":{"name":"merlion","version":"0.1.18","_id":"merlion@0.1.18","maintainers":[{"name":"stevenslxie","email":"stevenslxie@gmail.com"}],"bin":{"merlion":"bin/merlion.js"},"dist":{"shasum":"5390edd5f62accb59864e39e00d1b360cd8c2a06","tarball":"https://registry.npmjs.org/merlion/-/merlion-0.1.18.tgz","fileCount":331,"integrity":"sha512-HhRk7uh47uiYe5CaohRC/QkMpSYYOyRI1ESrwvPdrLt14pni7gz/JTQoGvWDJcfYwmGIwsf/DoEPga7OSslEPQ==","signatures":[{"sig":"MEYCIQDgYZiPKVqPplB4uGdd9zjNfsk2oOjJER0/wYyHZwUTQAIhAJ9iTW1v7D0XJm3lrOqp0PvOqJuJ84EIm50T5BfSb149","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":777820},"type":"module","engines":{"node":">=22"},"gitHead":"1e7f33061362bee502e8919476a3d8b643c0d48d","scripts":{"test":"node --experimental-strip-types --test 'tests/*.test.ts'","build":"tsc -p tsconfig.build.json","merlion":"node --experimental-strip-types src/index.ts","test:all":"node --experimental-strip-types --test --test-concurrency=1 'tests/**/*.test.ts'","test:e2e":"node --experimental-strip-types --test --test-concurrency=1 'tests/e2e/*.test.ts'","typecheck":"tsc --noEmit","agents:lint":"node --experimental-strip-types scripts/agents/lint.ts","agents:update":"node --experimental-strip-types scripts/agents/update.ts","hooks:install":"git config core.hooksPath .githooks && echo '[hooks] core.hooksPath=.githooks'","prepublishOnly":"npm run build && npm test","agents:check-drift":"node --experimental-strip-types scripts/agents/update.ts --all --check","agents:update:staged":"node --experimental-strip-types scripts/agents/update.ts --staged"},"_npmUser":{"name":"stevenslxie","email":"stevenslxie@gmail.com"},"_npmVersion":"11.7.0","description":"A coding agent for OpenAI-compatible providers","directories":{},"_nodeVersion":"25.4.0","dependencies":{"marked":"^16.4.2","@vscode/ripgrep":"^1.15.14","qrcode-terminal":"^0.12.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^25.6.0"},"_npmOperationalInternal":{"tmp":"tmp/merlion_0.1.18_1776091989107_0.6519595277700243","host":"s3://npm-registry-packages-npm-production"}},"0.1.19":{"name":"merlion","version":"0.1.19","_id":"merlion@0.1.19","maintainers":[{"name":"stevenslxie","email":"stevenslxie@gmail.com"}],"bin":{"merlion":"bin/merlion.js"},"dist":{"shasum":"cf0a10f989fab34c01e20e6aac9e28428c34aa59","tarball":"https://registry.npmjs.org/merlion/-/merlion-0.1.19.tgz","fileCount":331,"integrity":"sha512-K6wQMEyoVnUBW4N9SaxvS2pbQ+yqx6sz3ioF3bg8LWe0gaiGfY3ABu1qMROYI/Bj3joC6gWMNWIeXF/qqLuw3g==","signatures":[{"sig":"MEQCICiVVTPK8XLOncF3CWiFoHBZOxIvGZUZWRzkc0CBsD0SAiA4QJl+/QKyFcNAMDlxa0Ldn+V1Uf45cXPVsBWa60gUgA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":784118},"type":"module","engines":{"node":">=22"},"gitHead":"1e7f33061362bee502e8919476a3d8b643c0d48d","scripts":{"test":"node --experimental-strip-types --test 'tests/*.test.ts'","build":"tsc -p tsconfig.build.json","merlion":"node --experimental-strip-types src/index.ts","test:all":"node --experimental-strip-types --test --test-concurrency=1 'tests/**/*.test.ts'","test:e2e":"node --experimental-strip-types --test --test-concurrency=1 'tests/e2e/*.test.ts'","typecheck":"tsc --noEmit","agents:lint":"node --experimental-strip-types scripts/agents/lint.ts","agents:update":"node --experimental-strip-types scripts/agents/update.ts","hooks:install":"git config core.hooksPath .githooks && echo '[hooks] core.hooksPath=.githooks'","prepublishOnly":"npm run build && npm test","agents:check-drift":"node --experimental-strip-types scripts/agents/update.ts --all --check","agents:update:staged":"node --experimental-strip-types scripts/agents/update.ts --staged"},"_npmUser":{"name":"stevenslxie","email":"stevenslxie@gmail.com"},"_npmVersion":"11.7.0","description":"A coding agent for OpenAI-compatible providers","directories":{},"_nodeVersion":"25.4.0","dependencies":{"marked":"^16.4.2","@vscode/ripgrep":"^1.15.14","qrcode-terminal":"^0.12.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^25.6.0"},"_npmOperationalInternal":{"tmp":"tmp/merlion_0.1.19_1776092629345_0.8610909743935149","host":"s3://npm-registry-packages-npm-production"}},"0.1.20":{"name":"merlion","version":"0.1.20","_id":"merlion@0.1.20","maintainers":[{"name":"stevenslxie","email":"stevenslxie@gmail.com"}],"bin":{"merlion":"bin/merlion.js"},"dist":{"shasum":"12d405d3b819f09ff94c7b08547f7bf1d58cf568","tarball":"https://registry.npmjs.org/merlion/-/merlion-0.1.20.tgz","fileCount":331,"integrity":"sha512-tC4TwQ7V370S7whZWccr7vA8skLm8cuNDmo+DKDe8Mh2rnHZIppLkMbP7z8nGGhzZMJow2jBj7bks5+hIeAMaQ==","signatures":[{"sig":"MEUCIDFS6er3iVFuOHkjBGk3LZp3R2xlTJsHpzCP3JLS3PGoAiEA6uP/KlWQRSzboFdLHfMoHp/LAxhmOJOY9pR3cqmgOjc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":787255},"type":"module","engines":{"node":">=22"},"gitHead":"1e7f33061362bee502e8919476a3d8b643c0d48d","scripts":{"test":"node --experimental-strip-types --test 'tests/*.test.ts'","build":"tsc -p tsconfig.build.json","merlion":"node --experimental-strip-types src/index.ts","test:all":"node --experimental-strip-types --test --test-concurrency=1 'tests/**/*.test.ts'","test:e2e":"node --experimental-strip-types --test --test-concurrency=1 'tests/e2e/*.test.ts'","typecheck":"tsc --noEmit","agents:lint":"node --experimental-strip-types scripts/agents/lint.ts","agents:update":"node --experimental-strip-types scripts/agents/update.ts","hooks:install":"git config core.hooksPath .githooks && echo '[hooks] core.hooksPath=.githooks'","prepublishOnly":"npm run build && npm test","agents:check-drift":"node --experimental-strip-types scripts/agents/update.ts --all --check","agents:update:staged":"node --experimental-strip-types scripts/agents/update.ts --staged"},"_npmUser":{"name":"stevenslxie","email":"stevenslxie@gmail.com"},"_npmVersion":"11.7.0","description":"A coding agent for OpenAI-compatible providers","directories":{},"_nodeVersion":"25.4.0","dependencies":{"marked":"^16.4.2","@vscode/ripgrep":"^1.15.14","qrcode-terminal":"^0.12.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^25.6.0"},"_npmOperationalInternal":{"tmp":"tmp/merlion_0.1.20_1776093484555_0.7636300676105532","host":"s3://npm-registry-packages-npm-production"}},"0.1.21":{"name":"merlion","version":"0.1.21","_id":"merlion@0.1.21","maintainers":[{"name":"stevenslxie","email":"stevenslxie@gmail.com"}],"bin":{"merlion":"bin/merlion.js"},"dist":{"shasum":"1bc676ab6a58edeb34a8e5f970728f0c2060783c","tarball":"https://registry.npmjs.org/merlion/-/merlion-0.1.21.tgz","fileCount":331,"integrity":"sha512-TJXcVUgBIoLhNnAoXrcz3YIB7ltw+N1cfOhdrKIR5Jy2v1oahty5mqXmpxRIOUH0JRP1LVeHHbGtomDvXuni0A==","signatures":[{"sig":"MEUCIQCa+QtC2JVmRx3WYuoO/YzRwm+K4d6gwIqxUb1t8sAV8wIgcz9c+SJIyslMMDS+0goxYIgwhtOvfC6e6Y4CuT5nf98=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":791747},"type":"module","engines":{"node":">=22"},"gitHead":"1e7f33061362bee502e8919476a3d8b643c0d48d","scripts":{"test":"node --experimental-strip-types --test 'tests/*.test.ts'","build":"tsc -p tsconfig.build.json","merlion":"node --experimental-strip-types src/index.ts","test:all":"node --experimental-strip-types --test --test-concurrency=1 'tests/**/*.test.ts'","test:e2e":"node --experimental-strip-types --test --test-concurrency=1 'tests/e2e/*.test.ts'","typecheck":"tsc --noEmit","agents:lint":"node --experimental-strip-types scripts/agents/lint.ts","agents:update":"node --experimental-strip-types scripts/agents/update.ts","hooks:install":"git config core.hooksPath .githooks && echo '[hooks] core.hooksPath=.githooks'","prepublishOnly":"npm run build && npm test","agents:check-drift":"node --experimental-strip-types scripts/agents/update.ts --all --check","agents:update:staged":"node --experimental-strip-types scripts/agents/update.ts --staged"},"_npmUser":{"name":"stevenslxie","email":"stevenslxie@gmail.com"},"_npmVersion":"11.7.0","description":"A coding agent for OpenAI-compatible providers","directories":{},"_nodeVersion":"25.4.0","dependencies":{"marked":"^16.4.2","@vscode/ripgrep":"^1.15.14","qrcode-terminal":"^0.12.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^25.6.0"},"_npmOperationalInternal":{"tmp":"tmp/merlion_0.1.21_1776125303155_0.6984021499780886","host":"s3://npm-registry-packages-npm-production"}},"0.1.22":{"name":"merlion","version":"0.1.22","_id":"merlion@0.1.22","maintainers":[{"name":"stevenslxie","email":"stevenslxie@gmail.com"}],"bin":{"merlion":"bin/merlion.js"},"dist":{"shasum":"23888930d9a721141feaee1c18f3cc8ca5e7ff8f","tarball":"https://registry.npmjs.org/merlion/-/merlion-0.1.22.tgz","fileCount":331,"integrity":"sha512-MYtnEbH1hLSuvN57l/9TwSqmgpequ+xLRJW9+PVFR+bD/o2vdk4Q7HK96+seo7u+0KStqsEMyUc8YqAgaBdWyg==","signatures":[{"sig":"MEQCIEd1haTYdl67CfMZcvqyCqMuDQZWAtqLK5MlKIn9erVBAiBWJ5G0JlpxUOtorn456FN9/2ZGBamewzRk/ugBOCporQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":791623},"type":"module","engines":{"node":">=22"},"gitHead":"1e7f33061362bee502e8919476a3d8b643c0d48d","scripts":{"test":"node --experimental-strip-types --test 'tests/*.test.ts'","build":"tsc -p tsconfig.build.json","merlion":"node --experimental-strip-types src/index.ts","test:all":"node --experimental-strip-types --test --test-concurrency=1 'tests/**/*.test.ts'","test:e2e":"node --experimental-strip-types --test --test-concurrency=1 'tests/e2e/*.test.ts'","typecheck":"tsc --noEmit","agents:lint":"node --experimental-strip-types scripts/agents/lint.ts","agents:update":"node --experimental-strip-types scripts/agents/update.ts","hooks:install":"git config core.hooksPath .githooks && echo '[hooks] core.hooksPath=.githooks'","prepublishOnly":"npm run build && npm test","agents:check-drift":"node --experimental-strip-types scripts/agents/update.ts --all --check","agents:update:staged":"node --experimental-strip-types scripts/agents/update.ts --staged"},"_npmUser":{"name":"stevenslxie","email":"stevenslxie@gmail.com"},"_npmVersion":"11.7.0","description":"A coding agent for OpenAI-compatible providers","directories":{},"_nodeVersion":"25.4.0","dependencies":{"marked":"^16.4.2","@vscode/ripgrep":"^1.15.14","qrcode-terminal":"^0.12.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^25.6.0"},"_npmOperationalInternal":{"tmp":"tmp/merlion_0.1.22_1776127989916_0.7423452373462358","host":"s3://npm-registry-packages-npm-production"}},"0.1.23":{"name":"merlion","version":"0.1.23","_id":"merlion@0.1.23","maintainers":[{"name":"stevenslxie","email":"stevenslxie@gmail.com"}],"bin":{"merlion":"bin/merlion.js"},"dist":{"shasum":"6ea48afb30357a23899c1bd22fa08c10b4e78c48","tarball":"https://registry.npmjs.org/merlion/-/merlion-0.1.23.tgz","fileCount":331,"integrity":"sha512-sB7OO0R11yTu8HtUWNz7gPlIs2ohW73N+ONPxCGPIUjaDPY0JN4rlmXVfIxfI7+8J/Mlzxsdw8w1Wb6sNzlhsw==","signatures":[{"sig":"MEYCIQCOJi1hxXwv44GCWJvxc3DdoO8hwFAQeMEu6NYcmZkAZAIhAJR+REMt3jkKe9EmS9UvvHDTNZCMhMynqC+D5Q0XWAIK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":791826},"type":"module","engines":{"node":">=22"},"gitHead":"1e7f33061362bee502e8919476a3d8b643c0d48d","scripts":{"test":"node --experimental-strip-types --test 'tests/*.test.ts'","build":"tsc -p tsconfig.build.json","merlion":"node --experimental-strip-types src/index.ts","test:all":"node --experimental-strip-types --test --test-concurrency=1 'tests/**/*.test.ts'","test:e2e":"node --experimental-strip-types --test --test-concurrency=1 'tests/e2e/*.test.ts'","typecheck":"tsc --noEmit","agents:lint":"node --experimental-strip-types scripts/agents/lint.ts","agents:update":"node --experimental-strip-types scripts/agents/update.ts","hooks:install":"git config core.hooksPath .githooks && echo '[hooks] core.hooksPath=.githooks'","prepublishOnly":"npm run build && npm test","agents:check-drift":"node --experimental-strip-types scripts/agents/update.ts --all --check","agents:update:staged":"node --experimental-strip-types scripts/agents/update.ts --staged"},"_npmUser":{"name":"stevenslxie","email":"stevenslxie@gmail.com"},"_npmVersion":"11.7.0","description":"A coding agent for OpenAI-compatible providers","directories":{},"_nodeVersion":"25.4.0","dependencies":{"marked":"^16.4.2","@vscode/ripgrep":"^1.15.14","qrcode-terminal":"^0.12.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^25.6.0"},"_npmOperationalInternal":{"tmp":"tmp/merlion_0.1.23_1776170485033_0.3488424225590532","host":"s3://npm-registry-packages-npm-production"}},"0.1.24":{"name":"merlion","version":"0.1.24","_id":"merlion@0.1.24","maintainers":[{"name":"stevenslxie","email":"stevenslxie@gmail.com"}],"bin":{"merlion":"bin/merlion.js"},"dist":{"shasum":"44f51e012d12080c670c36bec837d0b7bac936cf","tarball":"https://registry.npmjs.org/merlion/-/merlion-0.1.24.tgz","fileCount":367,"integrity":"sha512-7Q1TpcTYwdCgLqv7LkStg4YFRzD6ybMhghMM9s3BN3g/bPhJBGICDPw+OeHWeLUKMECRvGUIZwR5DqOv4DFYZQ==","signatures":[{"sig":"MEUCIQDfuYXgQIHhq+yyCmNTh7iU1J0fNCrKHa/PWEyl33IHpgIgG3pxxlYkjeg8lIlaPWnlc8gANR9kIP29rLu54jTX6cM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":827795},"type":"module","engines":{"node":">=22"},"gitHead":"3967f38df1301b662179242fd1e93e8eb1cbaa79","scripts":{"test":"node --experimental-strip-types --test 'tests/*.test.ts'","build":"tsc -p tsconfig.build.json","merlion":"node --experimental-strip-types src/index.ts","test:all":"node --experimental-strip-types --test --test-concurrency=1 'tests/**/*.test.ts'","test:e2e":"node --experimental-strip-types --test --test-concurrency=1 'tests/e2e/*.test.ts'","typecheck":"tsc --noEmit","agents:lint":"node --experimental-strip-types scripts/agents/lint.ts","bench:phase0":"node --experimental-strip-types scripts/bench/run_phase0.ts","agents:update":"node --experimental-strip-types scripts/agents/update.ts","bench:analyze":"node --experimental-strip-types scripts/bench/analyze_phase0.ts","hooks:install":"git config core.hooksPath .githooks && echo '[hooks] core.hooksPath=.githooks'","prepublishOnly":"npm run build && npm test","agents:check-drift":"node --experimental-strip-types scripts/agents/update.ts --all --check","agents:update:staged":"node --experimental-strip-types scripts/agents/update.ts --staged"},"_npmUser":{"name":"stevenslxie","email":"stevenslxie@gmail.com"},"_npmVersion":"11.7.0","description":"A coding agent for OpenAI-compatible providers","directories":{},"_nodeVersion":"25.4.0","dependencies":{"marked":"^16.4.2","@vscode/ripgrep":"^1.15.14","qrcode-terminal":"^0.12.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^25.6.0"},"_npmOperationalInternal":{"tmp":"tmp/merlion_0.1.24_1776208326016_0.5115472226477356","host":"s3://npm-registry-packages-npm-production"}},"0.1.25":{"name":"merlion","version":"0.1.25","_id":"merlion@0.1.25","maintainers":[{"name":"stevenslxie","email":"stevenslxie@gmail.com"}],"bin":{"merlion":"bin/merlion.js"},"dist":{"shasum":"c1b333879d22b6974e4b6a5c61b04980f550622f","tarball":"https://registry.npmjs.org/merlion/-/merlion-0.1.25.tgz","fileCount":459,"integrity":"sha512-NWL/dTc0zxTpfbQDbvlR0SNC8OXEx3JowxvMVoWymVomX+F6zyubk4bdDVJOg2kZLAVQJzquH5uWYBN5QS32HQ==","signatures":[{"sig":"MEUCIGCNNn0VY7Wbrh1KQppIEjOoUE8bbpJLYe6xv0tHcoM4AiEA6uS3XfLsCegCRvk27z6/bRdSC1r7ZeALKCMZHY6Vblg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":961612},"type":"module","engines":{"node":">=22"},"gitHead":"53de35d59b4234c54c887767880ab65252f59c1b","scripts":{"test":"node --experimental-strip-types --test 'tests/*.test.ts'","build":"tsc -p tsconfig.build.json","merlion":"node --experimental-strip-types src/index.ts","test:all":"node --experimental-strip-types --test --test-concurrency=1 'tests/**/*.test.ts'","test:e2e":"node --experimental-strip-types --test --test-concurrency=1 'tests/e2e/*.test.ts'","typecheck":"tsc --noEmit","agents:lint":"node --experimental-strip-types scripts/agents/lint.ts","bench:phase0":"node --experimental-strip-types scripts/bench/run_phase0.ts","agents:update":"node --experimental-strip-types scripts/agents/update.ts","bench:analyze":"node --experimental-strip-types scripts/bench/analyze_phase0.ts","hooks:install":"git config core.hooksPath .githooks && echo '[hooks] core.hooksPath=.githooks'","prepublishOnly":"npm run build && npm test","agents:check-drift":"node --experimental-strip-types scripts/agents/update.ts --all --check","agents:update:staged":"node --experimental-strip-types scripts/agents/update.ts --staged"},"_npmUser":{"name":"stevenslxie","email":"stevenslxie@gmail.com"},"_npmVersion":"11.7.0","description":"A coding agent for OpenAI-compatible providers","directories":{},"_nodeVersion":"25.4.0","dependencies":{"marked":"^16.4.2","typescript":"^5.9.3","@vscode/ripgrep":"^1.15.14","qrcode-terminal":"^0.12.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^25.6.0"},"_npmOperationalInternal":{"tmp":"tmp/merlion_0.1.25_1776261106875_0.34968150425311384","host":"s3://npm-registry-packages-npm-production"}},"0.1.26":{"name":"merlion","version":"0.1.26","_id":"merlion@0.1.26","maintainers":[{"name":"stevenslxie","email":"stevenslxie@gmail.com"}],"bin":{"merlion":"bin/merlion.js"},"dist":{"shasum":"a548ffa61d3a3c1289baf8c0c232ef6db68cd1d9","tarball":"https://registry.npmjs.org/merlion/-/merlion-0.1.26.tgz","fileCount":459,"integrity":"sha512-Ssdgqmkn+GksmYaB4o8kHiVjyIVWDYaHklMAmCjJRaYWH1ZbT+EPdykec7xkgOeuDR0BHe40sx8qrk791NQiLQ==","signatures":[{"sig":"MEYCIQDDnUtrSegK3fBcbR63eLCXtfJ4BklhKS7oQs7QzHJBQgIhANL010n+FFwDBPYo9fh333HpVUgVOwS5pj81UtbMW8+5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":972517},"type":"module","engines":{"node":">=22"},"gitHead":"e8a5f84303b5c6f946796ae50da2de7c59e18563","scripts":{"test":"node --experimental-strip-types --test 'tests/*.test.ts'","build":"tsc -p tsconfig.build.json","merlion":"node --experimental-strip-types src/index.ts","test:all":"node --experimental-strip-types --test --test-concurrency=1 'tests/**/*.test.ts'","test:e2e":"node --experimental-strip-types --test --test-concurrency=1 'tests/e2e/*.test.ts'","typecheck":"tsc --noEmit","agents:lint":"node --experimental-strip-types scripts/agents/lint.ts","bench:phase0":"node --experimental-strip-types scripts/bench/run_phase0.ts","agents:update":"node --experimental-strip-types scripts/agents/update.ts","bench:analyze":"node --experimental-strip-types scripts/bench/analyze_phase0.ts","hooks:install":"git config core.hooksPath .githooks && echo '[hooks] core.hooksPath=.githooks'","bench:bugsinpy":"node --experimental-strip-types scripts/bench_medium/bugsinpy/run.ts","prepublishOnly":"npm run build && npm test","agents:check-drift":"node --experimental-strip-types scripts/agents/update.ts --all --check","agents:update:staged":"node --experimental-strip-types scripts/agents/update.ts --staged"},"_npmUser":{"name":"stevenslxie","email":"stevenslxie@gmail.com"},"_npmVersion":"11.7.0","description":"A CLI coding agent for terminal, WeChat, and OpenAI-compatible models","directories":{},"_nodeVersion":"25.4.0","dependencies":{"marked":"^16.4.2","typescript":"^5.9.3","@vscode/ripgrep":"^1.15.14","qrcode-terminal":"^0.12.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^25.6.0"},"_npmOperationalInternal":{"tmp":"tmp/merlion_0.1.26_1776350226365_0.9016599990747185","host":"s3://npm-registry-packages-npm-production"}},"0.1.27":{"name":"merlion","version":"0.1.27","_id":"merlion@0.1.27","maintainers":[{"name":"stevenslxie","email":"stevenslxie@gmail.com"}],"bin":{"merlion":"bin/merlion.js"},"dist":{"shasum":"81bab459174bc9d599ee23a8348daca6c2e9a252","tarball":"https://registry.npmjs.org/merlion/-/merlion-0.1.27.tgz","fileCount":480,"integrity":"sha512-SY5lX/SR0wdagwqGMYvPPJlwdFpOiqnTgC+kFY6CHdo6/edWL4aN1C4ByxyGc9fUd6wruLooh51LF+6+i9xxQQ==","signatures":[{"sig":"MEUCIFvjg+stqxBLMk2Ha+S/DzrfeGAAtX0RJ2fDUJ44Ncz2AiEAs5avfAgbqeyk0zgPE+rX8NPXq4hxwhtAPcfRb8J+Z8A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1025451},"type":"module","engines":{"node":">=22"},"gitHead":"9b67ca62fc3e71f601ca143abccd5241dd50cd9b","scripts":{"test":"node --experimental-strip-types --test 'tests/*.test.ts'","build":"tsc -p tsconfig.build.json","merlion":"node --experimental-strip-types src/index.ts","test:all":"node --experimental-strip-types --test --test-concurrency=1 'tests/**/*.test.ts'","test:e2e":"node --experimental-strip-types --test --test-concurrency=1 'tests/e2e/*.test.ts'","typecheck":"tsc --noEmit","agents:lint":"node --experimental-strip-types scripts/agents/lint.ts","bench:phase0":"node --experimental-strip-types scripts/bench/run_phase0.ts","agents:update":"node --experimental-strip-types scripts/agents/update.ts","bench:analyze":"node --experimental-strip-types scripts/bench/analyze_phase0.ts","hooks:install":"git config core.hooksPath .githooks && echo '[hooks] core.hooksPath=.githooks'","bench:bugsinpy":"node --experimental-strip-types scripts/bench_medium/bugsinpy/run.ts","prepublishOnly":"npm run build && npm test","agents:check-drift":"node --experimental-strip-types scripts/agents/update.ts --all --check","bench:swebench-lite":"node --experimental-strip-types scripts/bench_medium/swebench_lite/run.ts","agents:update:staged":"node --experimental-strip-types scripts/agents/update.ts --staged"},"_npmUser":{"name":"stevenslxie","email":"stevenslxie@gmail.com"},"_npmVersion":"11.7.0","description":"A CLI coding agent for terminal, WeChat, and OpenAI-compatible models","directories":{},"_nodeVersion":"25.4.0","dependencies":{"marked":"^16.4.2","typescript":"^5.9.3","@vscode/ripgrep":"^1.15.14","qrcode-terminal":"^0.12.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^25.6.0"},"_npmOperationalInternal":{"tmp":"tmp/merlion_0.1.27_1776492291908_0.4719582663143118","host":"s3://npm-registry-packages-npm-production"}},"0.1.28":{"name":"merlion","version":"0.1.28","_id":"merlion@0.1.28","maintainers":[{"name":"stevenslxie","email":"stevenslxie@gmail.com"}],"bin":{"merlion":"bin/merlion.js"},"dist":{"shasum":"e420565617d2f801718b143b84d688cd820974fe","tarball":"https://registry.npmjs.org/merlion/-/merlion-0.1.28.tgz","fileCount":488,"integrity":"sha512-qFYnx4BaOrbBj/0hNQX2Qy8VybSiz+w2ixvhS7XUOSeuh2+4Quk65q4glPCots4cffYf0GBgPB2CpDRsq4Uq3g==","signatures":[{"sig":"MEQCICfhWHn4DxarGtyaLam4OhUQGJj07EuSXs6wVhXcTtZhAiAEGmwBxaoXpJdpM1eu+XS2YpMtMusvMdQuukj4ZoOvMQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1096792},"type":"module","engines":{"node":">=22"},"gitHead":"d9190669b3bc961c3779df9c5aafbd3a4eaae051","scripts":{"test":"node --experimental-strip-types --test 'tests/*.test.ts'","build":"tsc -p tsconfig.build.json","merlion":"node --experimental-strip-types src/index.ts","test:all":"node --experimental-strip-types --test --test-concurrency=1 'tests/**/*.test.ts'","test:e2e":"node --experimental-strip-types --test --test-concurrency=1 'tests/e2e/*.test.ts'","typecheck":"tsc --noEmit","agents:lint":"node --experimental-strip-types scripts/agents/lint.ts","bench:phase0":"node --experimental-strip-types scripts/bench/run_phase0.ts","agents:update":"node --experimental-strip-types scripts/agents/update.ts","bench:analyze":"node --experimental-strip-types scripts/bench/analyze_phase0.ts","hooks:install":"git config core.hooksPath .githooks && echo '[hooks] core.hooksPath=.githooks'","bench:bugsinpy":"node --experimental-strip-types scripts/bench_medium/bugsinpy/run.ts","prepublishOnly":"npm run build && npm test","agents:check-drift":"node --experimental-strip-types scripts/agents/update.ts --all --check","bench:swebench-lite":"node --experimental-strip-types scripts/bench_medium/swebench_lite/run.ts","agents:update:staged":"node --experimental-strip-types scripts/agents/update.ts --staged"},"_npmUser":{"name":"stevenslxie","email":"stevenslxie@gmail.com"},"_npmVersion":"11.7.0","description":"A CLI coding agent for terminal, WeChat, and OpenAI-compatible models","directories":{},"_nodeVersion":"25.4.0","dependencies":{"marked":"^16.4.2","typescript":"^5.9.3","@vscode/ripgrep":"^1.15.14","qrcode-terminal":"^0.12.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^25.6.0"},"_npmOperationalInternal":{"tmp":"tmp/merlion_0.1.28_1776643601054_0.3406189959249839","host":"s3://npm-registry-packages-npm-production"}},"0.1.29":{"name":"merlion","version":"0.1.29","_id":"merlion@0.1.29","maintainers":[{"name":"stevenslxie","email":"stevenslxie@gmail.com"}],"bin":{"merlion":"bin/merlion.js"},"dist":{"shasum":"2eddf964519c16a294e6e022ad1bbabb687241c1","tarball":"https://registry.npmjs.org/merlion/-/merlion-0.1.29.tgz","fileCount":508,"integrity":"sha512-5yFSUg1D8yevgvEpdJxM7ji0z3zUE8Zf+Xus89m2FLaj361z7YqYJTh6SkOx/dEaO0L/qhX38ez35t6O2ndNgg==","signatures":[{"sig":"MEUCIQDS+D/KlGyRisLbGuzbWq9ttRJLgUEs16v46tyfTmpxvQIgIRwJDjnPDl251S+CJDn+AifFilZYiSPO8OBseTR40To=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1154127},"type":"module","engines":{"node":">=22"},"gitHead":"2c4f0a932bf5351775e6d9eb6ac52da82b685cb2","scripts":{"test":"node --experimental-strip-types --test 'tests/*.test.ts'","build":"tsc -p tsconfig.build.json","merlion":"node --experimental-strip-types src/index.ts","test:all":"node --experimental-strip-types --test --test-concurrency=1 'tests/**/*.test.ts'","test:e2e":"node --experimental-strip-types --test --test-concurrency=1 'tests/e2e/*.test.ts'","typecheck":"tsc --noEmit","agents:lint":"node --experimental-strip-types scripts/agents/lint.ts","bench:phase0":"node --experimental-strip-types scripts/bench/run_phase0.ts","agents:update":"node --experimental-strip-types scripts/agents/update.ts","bench:analyze":"node --experimental-strip-types scripts/bench/analyze_phase0.ts","hooks:install":"git config core.hooksPath .githooks && echo '[hooks] core.hooksPath=.githooks'","bench:bugsinpy":"node --experimental-strip-types scripts/bench_medium/bugsinpy/run.ts","prepublishOnly":"npm run build && npm test","agents:check-drift":"node --experimental-strip-types scripts/agents/update.ts --all --check","bench:swebench-lite":"node --experimental-strip-types scripts/bench_medium/swebench_lite/run.ts","agents:update:staged":"node --experimental-strip-types scripts/agents/update.ts --staged"},"_npmUser":{"name":"stevenslxie","email":"stevenslxie@gmail.com"},"_npmVersion":"11.7.0","description":"A CLI coding agent for terminal, WeChat, and OpenAI-compatible models","directories":{},"_nodeVersion":"25.4.0","dependencies":{"marked":"^16.4.2","typescript":"^5.9.3","@vscode/ripgrep":"^1.15.14","qrcode-terminal":"^0.12.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^25.6.0"},"_npmOperationalInternal":{"tmp":"tmp/merlion_0.1.29_1776731494736_0.1679413212859695","host":"s3://npm-registry-packages-npm-production"}},"0.1.30":{"name":"merlion","version":"0.1.30","_id":"merlion@0.1.30","maintainers":[{"name":"stevenslxie","email":"stevenslxie@gmail.com"}],"bin":{"merlion":"bin/merlion.js"},"dist":{"shasum":"f950890e933fade8cb35abb3ecc053a8bb2ef24a","tarball":"https://registry.npmjs.org/merlion/-/merlion-0.1.30.tgz","fileCount":540,"integrity":"sha512-fwO6cebK1lUR48G4ev1pgVkQzOyPKUWXODgIPTdz3AbPAUBdXBX7fuXxXoExqMdkjTGqnDFjUcTTq91lUA+0HQ==","signatures":[{"sig":"MEUCIQC3U1fZNFXhap7aC7bi5p3JDNJ3nb+SB8errFEtof/xCwIgV/r/DzkKJMcs/+ID4FR/jZlmlR0cA8TD+vgZXIbHSJc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1303114},"type":"module","engines":{"node":">=22"},"gitHead":"04bc7b9810049b663d430fd9a0b43fb8bf94b4e3","scripts":{"test":"node --experimental-strip-types --test 'tests/*.test.ts'","build":"tsc -p tsconfig.build.json","merlion":"node --experimental-strip-types src/index.ts","test:all":"node --experimental-strip-types --test --test-concurrency=1 'tests/**/*.test.ts'","test:e2e":"node --experimental-strip-types --test --test-concurrency=1 'tests/e2e/*.test.ts'","typecheck":"tsc --noEmit","agents:lint":"node --experimental-strip-types scripts/agents/lint.ts","bench:phase0":"node --experimental-strip-types scripts/bench/run_phase0.ts","agents:update":"node --experimental-strip-types scripts/agents/update.ts","bench:analyze":"node --experimental-strip-types scripts/bench/analyze_phase0.ts","hooks:install":"git config core.hooksPath .githooks && echo '[hooks] core.hooksPath=.githooks'","bench:bugsinpy":"node --experimental-strip-types scripts/bench_medium/bugsinpy/run.ts","prepublishOnly":"npm run build && npm test","agents:check-drift":"node --experimental-strip-types scripts/agents/update.ts --all --check","bench:swebench-lite":"node --experimental-strip-types scripts/bench_medium/swebench_lite/run.ts","agents:update:staged":"node --experimental-strip-types scripts/agents/update.ts --staged"},"_npmUser":{"name":"stevenslxie","email":"stevenslxie@gmail.com"},"_npmVersion":"11.7.0","description":"A CLI coding agent for terminal, WeChat, and OpenAI-compatible models","directories":{},"_nodeVersion":"25.4.0","dependencies":{"marked":"^16.4.2","typescript":"^5.9.3","@vscode/ripgrep":"^1.15.14","qrcode-terminal":"^0.12.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^25.6.0"},"_npmOperationalInternal":{"tmp":"tmp/merlion_0.1.30_1776903143830_0.01739225755071927","host":"s3://npm-registry-packages-npm-production"}},"0.1.31":{"name":"merlion","version":"0.1.31","description":"A CLI coding agent for terminal, WeChat, and OpenAI-compatible models","type":"module","engines":{"node":">=22"},"bin":{"merlion":"bin/merlion.js"},"scripts":{"build":"tsc -p tsconfig.build.json","prepublishOnly":"npm run build && npm test","test":"node --experimental-strip-types --test 'tests/*.test.ts'","test:e2e":"node --experimental-strip-types --test --test-concurrency=1 'tests/e2e/*.test.ts'","test:all":"node --experimental-strip-types --test --test-concurrency=1 'tests/**/*.test.ts'","bench:phase0":"node --experimental-strip-types scripts/bench/run_phase0.ts","bench:analyze":"node --experimental-strip-types scripts/bench/analyze_phase0.ts","bench:bugsinpy":"node --experimental-strip-types scripts/bench_medium/bugsinpy/run.ts","bench:swebench-lite":"node --experimental-strip-types scripts/bench_medium/swebench_lite/run.ts","typecheck":"tsc --noEmit","merlion":"node --experimental-strip-types src/index.ts","agents:update":"node --experimental-strip-types scripts/agents/update.ts","agents:update:staged":"node --experimental-strip-types scripts/agents/update.ts --staged","agents:lint":"node --experimental-strip-types scripts/agents/lint.ts","agents:check-drift":"node --experimental-strip-types scripts/agents/update.ts --all --check","hooks:install":"git config core.hooksPath .githooks && echo '[hooks] core.hooksPath=.githooks'"},"devDependencies":{"@types/node":"^25.6.0"},"dependencies":{"@vscode/ripgrep":"^1.15.14","marked":"^16.4.2","qrcode-terminal":"^0.12.0","typescript":"^5.9.3"},"_id":"merlion@0.1.31","_nodeVersion":"25.4.0","_npmVersion":"11.7.0","dist":{"integrity":"sha512-xUz5uuG9PY292QqhCwQ1xCy0klDfDbxPxorrKBYXz9N167s+OX9WLbpVP//dZlWKliedHPwn0ZsVbuRIofFiTw==","shasum":"e853eef45b04c31e53c225b32cc7f8dd2178b18b","tarball":"https://registry.npmjs.org/merlion/-/merlion-0.1.31.tgz","fileCount":524,"unpackedSize":1430586,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCwjL14KzGXtS6OcOIEHcDMQSX3SUz7lfUF9H3AY3EFpAIhAObwzkw3v1LfK281C8iS0Ui3RbXAMLmrNa04V33aWoUn"}]},"_npmUser":{"name":"stevenslxie","email":"stevenslxie@gmail.com"},"directories":{},"maintainers":[{"name":"stevenslxie","email":"stevenslxie@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/merlion_0.1.31_1777131987071_0.3784353359053694"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-11T13:27:15.706Z","modified":"2026-04-25T15:46:27.408Z","1.0.0":"2019-06-06T13:35:45.720Z","1.0.1":"2019-06-06T13:46:52.046Z","1.0.2":"2019-06-07T09:36:48.536Z","1.0.3":"2019-06-08T04:28:32.200Z","1.0.4":"2019-06-08T13:50:36.987Z","1.0.5":"2019-06-10T11:09:57.597Z","0.1.0":"2026-04-11T13:27:15.934Z","0.1.1":"2026-04-11T13:44:09.259Z","0.1.2":"2026-04-11T13:56:45.567Z","0.1.3":"2026-04-11T23:13:12.699Z","0.1.4":"2026-04-11T23:47:01.898Z","0.1.5":"2026-04-12T00:27:28.839Z","0.1.6":"2026-04-12T01:58:50.951Z","0.1.7":"2026-04-12T11:17:51.032Z","0.1.9":"2026-04-12T12:23:45.892Z","0.1.10":"2026-04-12T13:38:03.875Z","0.1.11":"2026-04-12T14:04:26.508Z","0.1.12":"2026-04-12T15:27:04.913Z","0.1.13":"2026-04-13T00:02:14.131Z","0.1.14":"2026-04-13T00:24:29.247Z","0.1.15":"2026-04-13T00:29:32.397Z","0.1.16":"2026-04-13T14:24:36.679Z","0.1.17":"2026-04-13T14:37:28.652Z","0.1.18":"2026-04-13T14:53:09.325Z","0.1.19":"2026-04-13T15:03:49.515Z","0.1.20":"2026-04-13T15:18:04.760Z","0.1.21":"2026-04-14T00:08:23.312Z","0.1.22":"2026-04-14T00:53:10.088Z","0.1.23":"2026-04-14T12:41:25.188Z","0.1.24":"2026-04-14T23:12:06.290Z","0.1.25":"2026-04-15T13:51:47.079Z","0.1.26":"2026-04-16T14:37:06.559Z","0.1.27":"2026-04-18T06:04:52.093Z","0.1.28":"2026-04-20T00:06:41.293Z","0.1.29":"2026-04-21T00:31:34.972Z","0.1.30":"2026-04-23T00:12:24.030Z","0.1.31":"2026-04-25T15:46:27.310Z"},"description":"A CLI coding agent for terminal, WeChat, and OpenAI-compatible models","maintainers":[{"name":"stevenslxie","email":"stevenslxie@gmail.com"}],"readme":"# Merlion\n\n[English](README.md)\n\n一个能跑的 CLI coding agent，也是一份可以直接拿来读的代码。\n\nMerlion 是按 reference implementation 来做的：体量收得住，但结构是完整的。context 怎么组织，工具怎么接进来，session 怎么延续，一轮 verification 怎么回到主循环，这些关键环节都在，而且都能顺着代码看明白。\n\nMerlion 要解决的是两件事。第一，它虽然精简，但核心链路并不残缺；主循环、工具、context、guardrails、verification 这些都在，核心实现集中在少数几个文件里。第二，如果 Claude Code 和 Codex 这一类 coding agent 会极大改变软件开发，那我们需要一个 lightweight 的东西，帮助我们真正理解 coding agent 到底是什么，而不是只会使用一个黑盒。\n\n## 里面有什么\n\n- 一个完整的主循环，planning、tool execution、retry、guardrails、verification 都在里面\n- 一套面向代码仓库的 context 系统：orientation、compact summary、path guidance，以及分层的 `AGENTS.md` 和 `MERLION.md`\n- 一组够用的 builtin tools：文件、搜索、shell、git、config，还有基于 LSP 的编辑\n- 一整套真实 sandbox 机制：子进程走 OS 级 sandbox backend，文件 / fetch / approval 走应用层 policy enforcement\n- 两个入口：终端 REPL 是主入口，微信是额外接上的 transport\n- 一些 bench 和回归测试，用来检查这个 runtime 现在还能不能正常工作\n\n## 为什么做得这么薄\n\n- Merlion 有意不往“大而全”上走，但会把 coding agent 的核心部件放全\n- 代码量控制在还能通读的范围，阅读时不用先穿过很厚的产品层\n- 本地 Node.js runtime，起起来就能跑，不依赖额外控制平面\n- tool layer 够用且收敛，便于理解真实运行时到底靠什么工作\n- 抽象有意收紧：中间层少，隐藏系统少，额外 ceremony 少\n\n这里说的 lightweight，不是 demo，也不是阉割版；而是把系统收在一个还能被真正理解的尺度里。你在代码里看到的东西，大体就是这个 runtime 真正依赖的东西。\n\n## 上手\n\nNode.js 需要 `22` 以上。\n\n```bash\nnpm install -g merlion\nmerlion\n```\n\n也可以装在项目里：\n\n```bash\nnpm install merlion\nnpx merlion\n```\n\n第一次运行会让你设置 provider、API key 和 model。OpenAI-compatible 的接口都能接，自定义 base URL 也可以。\n\n```bash\n# 跑一次\nmerlion \"读一下 src/index.ts，讲讲启动流程\"\n\n# 进交互\nmerlion\n\n# 接上次没聊完的\nmerlion --resume <session-id>\n\n# 回滚到某个 session 启动前的 git checkpoint\nmerlion undo <session-id>\n```\n\nCLI 默认是：\n\n- `--sandbox workspace-write`\n- `--approval on-failure`\n- `--network off`\n\n也就是：\n\n- 默认允许改当前工作区\n- 默认不允许外网访问\n- 只有当命令因为 sandbox / policy 被挡住时，才请求放宽边界\n\n常见覆盖方式：\n\n```bash\n# 严格只读\nmerlion --sandbox read-only --approval never\n\n# 允许联网\nmerlion --network full\n\n# 本地完全放开\nmerlion --sandbox danger-full-access --approval never\n```\n\n老参数还兼容：\n\n- `--auto-allow` 等价于 `--approval never`\n- `--auto-deny` 等价于 `--approval untrusted`\n\n`bash` 和 `run_script` 这类会起子进程的工具，会真正跑进 sandbox backend。`read_file`、`write_file`、`edit_file`、`create_file` 这些文件工具虽然不是走 shell，但会在应用层执行同一套 policy，所以 `read-only`、`deny-read`、`deny-write` 仍然有效。`fetch` 也受 `--network` 约束。\n\n## Sandbox 与审批\n\nsandbox 是 Merlion 的核心 feature，不是后来补上的安全装饰。\n\nMerlion 把两件事拆开：\n\n- `sandbox`：执行边界\n- `approval`：什么时候允许放宽边界\n\n主要 sandbox mode：\n\n- `read-only`：不允许文件修改\n- `workspace-write`：只能改工作区或显式允许的可写目录\n- `danger-full-access`：不做文件系统沙箱\n\napproval policy：\n\n- `untrusted`：拒绝升级\n- `on-failure`：只有在 sandbox / policy 失败后才请求升级\n- `on-request`：允许交互式升级\n- `never`：不询问，始终停留在当前边界内\n\n这套模型会贯穿整个 runtime：\n\n- `bash` / `run_script` 走 sandbox backend\n- 文件工具走同一套应用层 policy\n- `fetch` 受 network policy 约束\n- subagent 继承 parent 的 sandbox，但只能收窄，不能放宽\n- WeChat 不支持运行中交互提权\n\n另外，Merlion 会在可写 session 启动时创建 git checkpoint，并提供 `merlion undo <session-id>` 和 `/undo` 作为回滚路径。\n\n## 从哪里开始读\n\n如果你更关心它是怎么做出来的，建议从这些地方看起：\n\n- `src/index.ts`：启动、配置、session 接线\n- `src/runtime/loop.ts`：主循环\n- `src/runtime/executor.ts`：模型回合和工具执行\n- `src/runtime/query_engine.ts`：对话运行时\n- `src/context/*`：上下文相关的几块\n- `src/tools/*`：工具注册和内置工具\n- `src/transport/wechat/*`：微信这条 transport\n\n如果想先看整体图，可以去 [`docs/merlion_runtime_technical_overview.md`](docs/merlion_runtime_technical_overview.md)。\n\n## 微信\n\nMerlion 可以接到微信上，把微信当成 agent 的消息入口。\n\n第一次要登录：\n\n```bash\nmerlion wechat --login\n```\n\n之后直接：\n\n```bash\nmerlion wechat\n```\n\n在 REPL 里也可以，敲 `:wechat` 或 `/wechat`。\n\n凭据放在 `~/.config/merlion/wechat.json`。\n\n默认只回最终结果和简短错误，不会推内部工具日志。想看进度，可以设 `MERLION_WECHAT_PROGRESS=1`；想看更细一点的进度，可以设 `MERLION_WECHAT_PROGRESS_VERBOSE=1`。\n\n微信里没法做交互式审批，所以 WeChat session 固定走 `approval=never`。默认 sandbox 是 `workspace-write`，也就是默认允许改当前工作区，但不能在运行中临时提权。如果你想换边界，可以在启动时显式指定：\n\n```bash\n# 更保守\nmerlion wechat --sandbox read-only\n\n# 完全放开\nmerlion wechat --sandbox danger-full-access\n```\n\n## 它不是什么\n\n它不是一个产品对标项目，而是一个拿来阅读、运行、修改的 runtime。不是去复刻成熟 agent 工具的全部产品层。不是稳定 SDK。不是优先面向非技术用户的入口。也不是一个把关键决定都藏进黑盒里的系统。\n\n它就是一个 runtime。能跑，能改，也能比较完整地说明一个 coding agent 大致是怎么长出来的。\n","readmeFilename":"README.zh-CN.md"}