{"_id":"relay-coding-agent","_rev":"37-8f0b826d878ed8da3123ac93278232b7","name":"relay-coding-agent","dist-tags":{"latest":"0.38.0"},"versions":{"0.1.1":{"name":"relay-coding-agent","version":"0.1.1","keywords":["acp","agent","jetbrains","openai-compatible","relay"],"license":"MIT","_id":"relay-coding-agent@0.1.1","maintainers":[{"name":"baliangxiansheng","email":"tdw970122@gmail.com"}],"bin":{"relay-agent":"bin/relay-agent.js","relay-agent-acp":"bin/relay-agent-acp.js","relay-coding-agent":"bin/relay-agent.js"},"dist":{"shasum":"5ba0d09467647c0458d97ee6b30514f02a407a9e","tarball":"https://registry.npmjs.org/relay-coding-agent/-/relay-coding-agent-0.1.1.tgz","fileCount":11,"integrity":"sha512-M5ztqHM+5l4tt3RIANsvEPSg6vjJJpqi013+MdO6/F3NvlePZn8tv7eXSzecHPRyPT+rw6WLFp2mopJHmuLUYQ==","signatures":[{"sig":"MEUCIHGB8n2IEAO+qErpRZCZGYbJq7xLfGC/KTqkCBtSxilwAiEAy9tCsw3fEDmnkMa/GSKAnvsPQ7LFXPO5RVB+sgCxTio=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28327},"type":"module","engines":{"node":">=18"},"scripts":{"acp":"node ./bin/relay-agent-acp.js","check":"node --check ./src/config.js && node --check ./src/relayClient.js && node --check ./src/tools.js && node --check ./src/agent.js && node --check ./src/cli.js && node --check ./src/acpServer.js","start":"node ./bin/relay-agent.js"},"_npmUser":{"name":"baliangxiansheng","email":"tdw970122@gmail.com"},"_npmVersion":"11.12.1","description":"ACP-compatible coding agent using OpenAI-compatible relay APIs","directories":{},"_nodeVersion":"25.9.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/relay-coding-agent_0.1.1_1776938214563_0.0138091088962089","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"relay-coding-agent","version":"0.2.0","keywords":["acp","agent","jetbrains","openai-compatible","relay"],"license":"MIT","_id":"relay-coding-agent@0.2.0","maintainers":[{"name":"baliangxiansheng","email":"tdw970122@gmail.com"}],"bin":{"relay-agent":"bin/relay-agent.js","relay-agent-acp":"bin/relay-agent-acp.js","relay-coding-agent":"bin/relay-agent.js"},"dist":{"shasum":"019514d4f263ae8b210825feb4a9142e21c09e59","tarball":"https://registry.npmjs.org/relay-coding-agent/-/relay-coding-agent-0.2.0.tgz","fileCount":12,"integrity":"sha512-/hU6zgFKhhJ0ENxd+JI6PaHc2c4LeYPx+jvr7Bbr9r76RKkFTPYDMk9RN+jl5Be+ywY1COS+TMXCeYRqahtG0Q==","signatures":[{"sig":"MEUCIEX2aji7+Sz9sPLe1FbcaC2yRjPQJ62fpRwQ6r1S5MAyAiEAicNv/yzExKnPCbWzAzNtEgpeIyO13AW1W9FOXZi/jTc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":60064},"type":"module","engines":{"node":">=18"},"scripts":{"acp":"node ./bin/relay-agent-acp.js","check":"node --check ./src/config.js && node --check ./src/relayClient.js && node --check ./src/tools.js && node --check ./src/tokenEstimator.js && node --check ./src/agent.js && node --check ./src/cli.js && node --check ./src/acpServer.js","start":"node ./bin/relay-agent.js"},"_npmUser":{"name":"baliangxiansheng","email":"tdw970122@gmail.com"},"_npmVersion":"11.12.1","description":"ACP-compatible coding agent using OpenAI-compatible relay APIs","directories":{},"_nodeVersion":"25.9.0","dependencies":{"js-tiktoken":"^1.0.21"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/relay-coding-agent_0.2.0_1776994558941_0.15704095803866247","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"relay-coding-agent","version":"0.3.0","keywords":["acp","agent","jetbrains","openai-compatible","relay"],"license":"MIT","_id":"relay-coding-agent@0.3.0","maintainers":[{"name":"baliangxiansheng","email":"tdw970122@gmail.com"}],"bin":{"relay-agent":"bin/relay-agent.js","relay-agent-acp":"bin/relay-agent-acp.js","relay-coding-agent":"bin/relay-agent.js"},"dist":{"shasum":"d15e0580bb8a8d746f9bbf0318b9237112d4d485","tarball":"https://registry.npmjs.org/relay-coding-agent/-/relay-coding-agent-0.3.0.tgz","fileCount":12,"integrity":"sha512-fKaaE0xP/5v5nBeS+wMwY2xJrAXKbYA5j5AzYhCYfa4/gV7zuxMJ0iLB7OX00PHcPCe2UKFoIMzmU+ddvp/byg==","signatures":[{"sig":"MEUCIBe8ka3xg0B8iXIxJOusgXyugR1gce5+L4zhLeH/Ds2KAiEAovK+FjvY8LnMYuGw4OVWB19XWYdAUs6M9LR/nWaSo1k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":67932},"type":"module","engines":{"node":">=18"},"scripts":{"acp":"node ./bin/relay-agent-acp.js","check":"node --check ./src/config.js && node --check ./src/relayClient.js && node --check ./src/tools.js && node --check ./src/tokenEstimator.js && node --check ./src/agent.js && node --check ./src/cli.js && node --check ./src/acpServer.js","start":"node ./bin/relay-agent.js"},"_npmUser":{"name":"baliangxiansheng","email":"tdw970122@gmail.com"},"_npmVersion":"11.12.1","description":"ACP-compatible coding agent using OpenAI-compatible relay APIs","directories":{},"_nodeVersion":"25.9.0","dependencies":{"js-tiktoken":"^1.0.21"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/relay-coding-agent_0.3.0_1776996658457_0.3069660195022357","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"relay-coding-agent","version":"0.4.0","keywords":["acp","agent","jetbrains","openai-compatible","relay"],"license":"MIT","_id":"relay-coding-agent@0.4.0","maintainers":[{"name":"baliangxiansheng","email":"tdw970122@gmail.com"}],"bin":{"relay-agent":"bin/relay-agent.js","relay-agent-acp":"bin/relay-agent-acp.js","relay-coding-agent":"bin/relay-agent.js"},"dist":{"shasum":"edbbfdab07f4b510a449dbcf4123dd87680ba81d","tarball":"https://registry.npmjs.org/relay-coding-agent/-/relay-coding-agent-0.4.0.tgz","fileCount":12,"integrity":"sha512-CyYRy76gN0M6shAJ4oT1hqEShcWEELt3pzCjymu1Cu8RjwX3LWvVxQbBQyaP8E170cLyes6PDy1NP01OVAE3fg==","signatures":[{"sig":"MEUCIQCcA2DsAjlEdLUTSOu7es7wFyuaRrHtmu2vN/uv1lMfCQIgTUiSFovACOp0ZxclUO+6cces4zjlsQGTukjUFEjNrxg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":68261},"type":"module","engines":{"node":">=18"},"scripts":{"acp":"node ./bin/relay-agent-acp.js","check":"node --check ./src/config.js && node --check ./src/relayClient.js && node --check ./src/tools.js && node --check ./src/tokenEstimator.js && node --check ./src/agent.js && node --check ./src/cli.js && node --check ./src/acpServer.js","start":"node ./bin/relay-agent.js"},"_npmUser":{"name":"baliangxiansheng","email":"tdw970122@gmail.com"},"_npmVersion":"11.12.1","description":"ACP-compatible coding agent using OpenAI-compatible relay APIs","directories":{},"_nodeVersion":"25.9.0","dependencies":{"js-tiktoken":"^1.0.21"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/relay-coding-agent_0.4.0_1776997502671_0.10415612115174233","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"relay-coding-agent","version":"0.5.0","keywords":["acp","agent","jetbrains","openai-compatible","relay"],"license":"MIT","_id":"relay-coding-agent@0.5.0","maintainers":[{"name":"baliangxiansheng","email":"tdw970122@gmail.com"}],"bin":{"relay-agent":"bin/relay-agent.js","relay-agent-acp":"bin/relay-agent-acp.js","relay-coding-agent":"bin/relay-agent.js"},"dist":{"shasum":"94bb0a48ea7c1cf68b7fb7578689bd0aa31e3213","tarball":"https://registry.npmjs.org/relay-coding-agent/-/relay-coding-agent-0.5.0.tgz","fileCount":14,"integrity":"sha512-kpUQBQBplRsM3V4MHHzvArJe/DDpxQB+VAFpMou6pJPxApvIICyXMSvSVcb9AApg3a6h1TrqkugT8TH4KIsMvg==","signatures":[{"sig":"MEUCIEBZCOU7MnKihcCx98PlNSuPfUXIwqZn3Dh/hrI6yU8jAiEAy+y0KwRU2zI3vOLvwsnJh2htoXxcroFc4Hj2bxdGmpM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":93184},"type":"module","engines":{"node":">=18"},"scripts":{"acp":"node ./bin/relay-agent-acp.js","check":"node --check ./src/permissionModes.js && node --check ./src/commandPolicy.js && node --check ./src/config.js && node --check ./src/relayClient.js && node --check ./src/tools.js && node --check ./src/tokenEstimator.js && node --check ./src/agent.js && node --check ./src/cli.js && node --check ./src/acpServer.js","start":"node ./bin/relay-agent.js"},"_npmUser":{"name":"baliangxiansheng","email":"tdw970122@gmail.com"},"_npmVersion":"11.12.1","description":"ACP-compatible coding agent using OpenAI-compatible relay APIs","directories":{},"_nodeVersion":"25.9.0","dependencies":{"js-tiktoken":"^1.0.21"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/relay-coding-agent_0.5.0_1777000550134_0.009234198952418726","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"relay-coding-agent","version":"0.6.0","keywords":["acp","agent","jetbrains","openai-compatible","relay"],"license":"MIT","_id":"relay-coding-agent@0.6.0","maintainers":[{"name":"baliangxiansheng","email":"tdw970122@gmail.com"}],"bin":{"relay-agent":"bin/relay-agent.js","relay-agent-acp":"bin/relay-agent-acp.js","relay-coding-agent":"bin/relay-agent.js"},"dist":{"shasum":"e934967faaf000eef031203bb43807d2ea9990e1","tarball":"https://registry.npmjs.org/relay-coding-agent/-/relay-coding-agent-0.6.0.tgz","fileCount":16,"integrity":"sha512-yWCjWLaCb4ziG8bYdxRmsavFKt8fissrEBEWkf7eiPWjTj9GStinTHq49WW4Zn1XdkjAbsD41OK9ZJptw8CrNw==","signatures":[{"sig":"MEQCIFDz7h+HWDbXIxtcoZr3UCgrt+Jrtp1SLBRQUtjmsiqSAiAV3slBPqPxHZkkVL3/X9dYgOiYxhue8AqU/hwzTxOqkg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":99630},"type":"module","engines":{"node":">=18"},"scripts":{"acp":"node ./bin/relay-agent-acp.js","check":"node --check ./src/permissionModes.js && node --check ./src/optionStrategies.js && node --check ./src/commandPolicy.js && node --check ./src/config.js && node --check ./src/relayClient.js && node --check ./src/tools.js && node --check ./src/tokenEstimator.js && node --check ./src/agent.js && node --check ./src/cli.js && node --check ./src/acpServer.js","start":"node ./bin/relay-agent.js"},"_npmUser":{"name":"baliangxiansheng","email":"tdw970122@gmail.com"},"_npmVersion":"11.12.1","description":"ACP-compatible coding agent using OpenAI-compatible relay APIs","directories":{},"_nodeVersion":"25.9.0","dependencies":{"js-tiktoken":"^1.0.21"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/relay-coding-agent_0.6.0_1777005652965_0.305193774321739","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"relay-coding-agent","version":"0.7.0","keywords":["acp","agent","jetbrains","openai-compatible","relay"],"license":"MIT","_id":"relay-coding-agent@0.7.0","maintainers":[{"name":"baliangxiansheng","email":"tdw970122@gmail.com"}],"bin":{"relay-agent":"bin/relay-agent.js","relay-agent-acp":"bin/relay-agent-acp.js","relay-coding-agent":"bin/relay-agent.js"},"dist":{"shasum":"031507ad6d22e7595d1035349803ebf5fb52711f","tarball":"https://registry.npmjs.org/relay-coding-agent/-/relay-coding-agent-0.7.0.tgz","fileCount":16,"integrity":"sha512-givWWTUE3rX+ktw7y5bKOfuhrIWFxT9Nc3TN2ZcgYM8EFJHUy6g0QcOoTmmf0zBMqu9a89CkzIGF232C4IBuuA==","signatures":[{"sig":"MEYCIQDBhj0gsM0AoYBr4iuxyGUEcWd3ubgPL9CSIYcViRetegIhAOHALxA+MPuPeuFMgsuzZt/fCwHiPEdkLM8rOyL4Iu3O","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":101061},"type":"module","engines":{"node":">=18"},"scripts":{"acp":"node ./bin/relay-agent-acp.js","check":"node --check ./src/permissionModes.js && node --check ./src/optionStrategies.js && node --check ./src/commandPolicy.js && node --check ./src/config.js && node --check ./src/relayClient.js && node --check ./src/tools.js && node --check ./src/tokenEstimator.js && node --check ./src/agent.js && node --check ./src/cli.js && node --check ./src/acpServer.js","start":"node ./bin/relay-agent.js"},"_npmUser":{"name":"baliangxiansheng","email":"tdw970122@gmail.com"},"_npmVersion":"11.12.1","description":"ACP-compatible coding agent using OpenAI-compatible relay APIs","directories":{},"_nodeVersion":"25.9.0","dependencies":{"js-tiktoken":"^1.0.21"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/relay-coding-agent_0.7.0_1777006124541_0.13298194160958854","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"relay-coding-agent","version":"0.8.0","keywords":["acp","agent","jetbrains","openai-compatible","relay"],"license":"MIT","_id":"relay-coding-agent@0.8.0","maintainers":[{"name":"baliangxiansheng","email":"tdw970122@gmail.com"}],"bin":{"relay-agent":"bin/relay-agent.js","relay-agent-acp":"bin/relay-agent-acp.js","relay-coding-agent":"bin/relay-agent.js"},"dist":{"shasum":"c7e149a4a806d3059fbcbdf57b5069d4b8fbbb6a","tarball":"https://registry.npmjs.org/relay-coding-agent/-/relay-coding-agent-0.8.0.tgz","fileCount":16,"integrity":"sha512-jSFdDGOaNaQmpndiR1M0KFpgLhRoBjsexWgS4W+BU7u4dInIbFoR3nqECxOpazXXvLjh+rtX4Uz5g3NvN1TmxA==","signatures":[{"sig":"MEUCIQDn8h+ulrXe5bOVpsujfBFnTGzIBQnMldNQPH9rtC0+iwIgNYIixD+I37+QQ7mt2yG4FxJUmt45xh/3/Tm8Fbswtaw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":99583},"type":"module","engines":{"node":">=18"},"scripts":{"acp":"node ./bin/relay-agent-acp.js","check":"node --check ./src/permissionModes.js && node --check ./src/optionStrategies.js && node --check ./src/commandPolicy.js && node --check ./src/config.js && node --check ./src/relayClient.js && node --check ./src/tools.js && node --check ./src/tokenEstimator.js && node --check ./src/agent.js && node --check ./src/cli.js && node --check ./src/acpServer.js","start":"node ./bin/relay-agent.js"},"_npmUser":{"name":"baliangxiansheng","email":"tdw970122@gmail.com"},"_npmVersion":"11.12.1","description":"ACP-compatible coding agent using OpenAI-compatible relay APIs","directories":{},"_nodeVersion":"25.9.0","dependencies":{"js-tiktoken":"^1.0.21"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/relay-coding-agent_0.8.0_1777006806020_0.5255727763791773","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"relay-coding-agent","version":"0.9.0","keywords":["acp","agent","jetbrains","openai-compatible","relay"],"license":"MIT","_id":"relay-coding-agent@0.9.0","maintainers":[{"name":"baliangxiansheng","email":"tdw970122@gmail.com"}],"bin":{"relay-agent":"bin/relay-agent.js","relay-agent-acp":"bin/relay-agent-acp.js","relay-coding-agent":"bin/relay-agent.js"},"dist":{"shasum":"d060ffdc5dceed12bea305b9f7bcd3d4cc999919","tarball":"https://registry.npmjs.org/relay-coding-agent/-/relay-coding-agent-0.9.0.tgz","fileCount":16,"integrity":"sha512-Cry8Be3gCw4Q1HQ0xSqCAWTbbOkRCIXA+CEBUEHeIfBs5iADiDkXv04B3/VIEh818UxUpKCI3UlWN2bKK0D+/A==","signatures":[{"sig":"MEUCIG+e+MyQQv7JjmW3SS9mvPxf6B1OTcRqBrqrIkP95bE9AiEAmSFvSkq3qZb3vuGpt2pG/jGu7L+paQM4XpMYK+yptmE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":103353},"type":"module","engines":{"node":">=18"},"scripts":{"acp":"node ./bin/relay-agent-acp.js","check":"node --check ./src/permissionModes.js && node --check ./src/optionStrategies.js && node --check ./src/commandPolicy.js && node --check ./src/config.js && node --check ./src/relayClient.js && node --check ./src/tools.js && node --check ./src/tokenEstimator.js && node --check ./src/agent.js && node --check ./src/cli.js && node --check ./src/acpServer.js","start":"node ./bin/relay-agent.js"},"_npmUser":{"name":"baliangxiansheng","email":"tdw970122@gmail.com"},"_npmVersion":"11.12.1","description":"ACP-compatible coding agent using OpenAI-compatible relay APIs","directories":{},"_nodeVersion":"25.9.0","dependencies":{"js-tiktoken":"^1.0.21"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/relay-coding-agent_0.9.0_1777008935265_0.35009192594521843","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"relay-coding-agent","version":"0.10.0","keywords":["acp","agent","jetbrains","openai-compatible","relay"],"license":"MIT","_id":"relay-coding-agent@0.10.0","maintainers":[{"name":"baliangxiansheng","email":"tdw970122@gmail.com"}],"bin":{"relay-agent":"bin/relay-agent.js","relay-agent-acp":"bin/relay-agent-acp.js","relay-coding-agent":"bin/relay-agent.js"},"dist":{"shasum":"8f66da4d1c35bd8b0dfac800ce5e114445f44ae2","tarball":"https://registry.npmjs.org/relay-coding-agent/-/relay-coding-agent-0.10.0.tgz","fileCount":16,"integrity":"sha512-5lN243XZyKFDmA+PuMl8HAuoWx29mJ1Cp7oZzm4Z4qD1vy/Lcxkng671lmswly38ILS+jBzoa3W42Isoo6rnug==","signatures":[{"sig":"MEQCIH0b3E4vomBk17toARE9g/1OjEf4URlSZMr0+BMClhnfAiAiLCFTp4sQdpjJACsXUIcSrQ8LaX2HUtMfiXXjEbGpww==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":103326},"type":"module","engines":{"node":">=18"},"scripts":{"acp":"node ./bin/relay-agent-acp.js","check":"node --check ./src/permissionModes.js && node --check ./src/optionStrategies.js && node --check ./src/commandPolicy.js && node --check ./src/config.js && node --check ./src/relayClient.js && node --check ./src/tools.js && node --check ./src/tokenEstimator.js && node --check ./src/agent.js && node --check ./src/cli.js && node --check ./src/acpServer.js","start":"node ./bin/relay-agent.js"},"_npmUser":{"name":"baliangxiansheng","email":"tdw970122@gmail.com"},"_npmVersion":"11.12.1","description":"ACP-compatible coding agent using OpenAI-compatible relay APIs","directories":{},"_nodeVersion":"25.9.0","dependencies":{"js-tiktoken":"^1.0.21"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/relay-coding-agent_0.10.0_1777011165434_0.08695113726976045","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"relay-coding-agent","version":"0.11.0","keywords":["acp","agent","jetbrains","openai-compatible","relay"],"license":"MIT","_id":"relay-coding-agent@0.11.0","maintainers":[{"name":"baliangxiansheng","email":"tdw970122@gmail.com"}],"bin":{"relay-agent":"bin/relay-agent.js","relay-agent-acp":"bin/relay-agent-acp.js","relay-coding-agent":"bin/relay-agent.js"},"dist":{"shasum":"c2d17984806f4d1ac43871f63b632064808117a0","tarball":"https://registry.npmjs.org/relay-coding-agent/-/relay-coding-agent-0.11.0.tgz","fileCount":16,"integrity":"sha512-WwSTp7epUEG+CJf6lpFYC1v8HHlb22XaTCtsx+TWZvMMb7ARnxNIxygfYu09lOTPaBi1Jo1DqHmdI8SyA9WZYg==","signatures":[{"sig":"MEUCIQDmap+5x+UegZkmYTzDZZj1hMqaEb+CtPcfkn7VRL8VEgIgbiaXSciMH5sKnKtjDunMnjR+bhpkK3hz+qQgN1Kz3k0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":103897},"type":"module","engines":{"node":">=18"},"scripts":{"acp":"node ./bin/relay-agent-acp.js","check":"node --check ./src/permissionModes.js && node --check ./src/optionStrategies.js && node --check ./src/commandPolicy.js && node --check ./src/config.js && node --check ./src/relayClient.js && node --check ./src/tools.js && node --check ./src/tokenEstimator.js && node --check ./src/agent.js && node --check ./src/cli.js && node --check ./src/acpServer.js","start":"node ./bin/relay-agent.js"},"_npmUser":{"name":"baliangxiansheng","email":"tdw970122@gmail.com"},"_npmVersion":"11.12.1","description":"ACP-compatible coding agent using OpenAI-compatible relay APIs","directories":{},"_nodeVersion":"25.9.0","dependencies":{"js-tiktoken":"^1.0.21"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/relay-coding-agent_0.11.0_1777011446761_0.3640671660396906","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"relay-coding-agent","version":"0.12.0","keywords":["acp","agent","jetbrains","openai-compatible","relay"],"license":"MIT","_id":"relay-coding-agent@0.12.0","maintainers":[{"name":"baliangxiansheng","email":"tdw970122@gmail.com"}],"bin":{"relay-agent":"bin/relay-agent.js","relay-agent-acp":"bin/relay-agent-acp.js","relay-coding-agent":"bin/relay-agent.js"},"dist":{"shasum":"94071f8d6b25100914b117ac3ea4d52d67a3af6e","tarball":"https://registry.npmjs.org/relay-coding-agent/-/relay-coding-agent-0.12.0.tgz","fileCount":16,"integrity":"sha512-wo5YOpMnPBE4yCRmijV36MhzTPJqder96MMTXQzmJbT/HU25QCqfnmDMrfUzsoFG01DBeeFz4eCQhgvbXLb8nA==","signatures":[{"sig":"MEUCIQD+tge7u962bGzRz3s32RWIn130QeuJDz4/SUzPnDb9MAIgW5EbHay7bD5P8+8Ksr+V8ERlJ3Y+PpX6D0A/diFpRdE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":103905},"type":"module","engines":{"node":">=18"},"scripts":{"acp":"node ./bin/relay-agent-acp.js","check":"node --check ./src/permissionModes.js && node --check ./src/optionStrategies.js && node --check ./src/commandPolicy.js && node --check ./src/config.js && node --check ./src/relayClient.js && node --check ./src/tools.js && node --check ./src/tokenEstimator.js && node --check ./src/agent.js && node --check ./src/cli.js && node --check ./src/acpServer.js","start":"node ./bin/relay-agent.js"},"_npmUser":{"name":"baliangxiansheng","email":"tdw970122@gmail.com"},"_npmVersion":"11.12.1","description":"ACP-compatible coding agent using OpenAI-compatible relay APIs","directories":{},"_nodeVersion":"25.9.0","dependencies":{"js-tiktoken":"^1.0.21"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/relay-coding-agent_0.12.0_1777012893683_0.5984965709084518","host":"s3://npm-registry-packages-npm-production"}},"0.13.0":{"name":"relay-coding-agent","version":"0.13.0","keywords":["acp","agent","jetbrains","openai-compatible","relay"],"license":"MIT","_id":"relay-coding-agent@0.13.0","maintainers":[{"name":"baliangxiansheng","email":"tdw970122@gmail.com"}],"bin":{"relay-agent":"bin/relay-agent.js","relay-agent-acp":"bin/relay-agent-acp.js","relay-coding-agent":"bin/relay-agent.js"},"dist":{"shasum":"49d37c55fe6313ddf0ba4c10e6b0d423fa5043b1","tarball":"https://registry.npmjs.org/relay-coding-agent/-/relay-coding-agent-0.13.0.tgz","fileCount":16,"integrity":"sha512-kG1S+ziJtPldZspO4okR+f1/NE0G/rCOOa0Eofd++1ARXj/06UupLsJHvNFdkxmFpC/H8k6WIsUlGgl4ndllZQ==","signatures":[{"sig":"MEQCICzyKN3jMgX7mw5Te2fKnW80EkJsXFtm6jw4/46HIV1GAiAyII3xE1eLeyllktZ1fK8H8yttMcSlGBKu0sPNhnoodQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":103800},"type":"module","engines":{"node":">=18"},"scripts":{"acp":"node ./bin/relay-agent-acp.js","check":"node --check ./src/permissionModes.js && node --check ./src/optionStrategies.js && node --check ./src/commandPolicy.js && node --check ./src/config.js && node --check ./src/relayClient.js && node --check ./src/tools.js && node --check ./src/tokenEstimator.js && node --check ./src/agent.js && node --check ./src/cli.js && node --check ./src/acpServer.js","start":"node ./bin/relay-agent.js"},"_npmUser":{"name":"baliangxiansheng","email":"tdw970122@gmail.com"},"_npmVersion":"11.12.1","description":"ACP-compatible coding agent using OpenAI-compatible relay APIs","directories":{},"_nodeVersion":"25.9.0","dependencies":{"js-tiktoken":"^1.0.21"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/relay-coding-agent_0.13.0_1777018895759_0.8681939626563664","host":"s3://npm-registry-packages-npm-production"}},"0.14.0":{"name":"relay-coding-agent","version":"0.14.0","keywords":["acp","agent","jetbrains","openai-compatible","relay"],"license":"MIT","_id":"relay-coding-agent@0.14.0","maintainers":[{"name":"baliangxiansheng","email":"tdw970122@gmail.com"}],"bin":{"relay-agent":"bin/relay-agent.js","relay-agent-acp":"bin/relay-agent-acp.js","relay-coding-agent":"bin/relay-agent.js"},"dist":{"shasum":"c4dedc20f755801669d9c7f70a90826891c37e9e","tarball":"https://registry.npmjs.org/relay-coding-agent/-/relay-coding-agent-0.14.0.tgz","fileCount":16,"integrity":"sha512-O0qoKeecfevCIF58Gd8MiOPdg6Qi06Xb0soSehm9qgTsGlSYcdtYTRJygIscsrQw1lcMHtPs9Q1jhsmRm8NIAA==","signatures":[{"sig":"MEYCIQDZ5j8iyuTRVGX6/m8Hk5PIGuUgvtVWGCOacYOqlF7FSwIhAO3feDjF931Wa3JSjhKK7WjFt4pP5rPw9B3bJxE5wf84","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":104545},"type":"module","engines":{"node":">=18"},"scripts":{"acp":"node ./bin/relay-agent-acp.js","check":"node --check ./src/permissionModes.js && node --check ./src/optionStrategies.js && node --check ./src/commandPolicy.js && node --check ./src/config.js && node --check ./src/relayClient.js && node --check ./src/tools.js && node --check ./src/tokenEstimator.js && node --check ./src/agent.js && node --check ./src/cli.js && node --check ./src/acpServer.js","start":"node ./bin/relay-agent.js"},"_npmUser":{"name":"baliangxiansheng","email":"tdw970122@gmail.com"},"_npmVersion":"11.12.1","description":"ACP-compatible coding agent using OpenAI-compatible relay APIs","directories":{},"_nodeVersion":"25.9.0","dependencies":{"js-tiktoken":"^1.0.21"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/relay-coding-agent_0.14.0_1777020039239_0.8710982255200179","host":"s3://npm-registry-packages-npm-production"}},"0.15.0":{"name":"relay-coding-agent","version":"0.15.0","keywords":["acp","agent","jetbrains","openai-compatible","relay"],"license":"MIT","_id":"relay-coding-agent@0.15.0","maintainers":[{"name":"baliangxiansheng","email":"tdw970122@gmail.com"}],"bin":{"relay-agent":"bin/relay-agent.js","relay-agent-acp":"bin/relay-agent-acp.js","relay-coding-agent":"bin/relay-agent.js"},"dist":{"shasum":"733293effc2a68318c929badf60363549953eab7","tarball":"https://registry.npmjs.org/relay-coding-agent/-/relay-coding-agent-0.15.0.tgz","fileCount":16,"integrity":"sha512-1Lb0riLbLign5NZKn2zw7SoBAg88v8/G+j+SviJMAr9yr9Znq1UOwoQordi9sdPgRpIhpgSOA5BNYv225W0RSA==","signatures":[{"sig":"MEYCIQDELopth5AWTTvHWu/4Ftwbsmw2BgGoFfH2gZxJMDfRBQIhAObDQGmai4efWPjVgzgrFgJPitNFKkXUUmSCjgdLobYn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":104519},"type":"module","engines":{"node":">=18"},"scripts":{"acp":"node ./bin/relay-agent-acp.js","check":"node --check ./src/permissionModes.js && node --check ./src/optionStrategies.js && node --check ./src/commandPolicy.js && node --check ./src/config.js && node --check ./src/relayClient.js && node --check ./src/tools.js && node --check ./src/tokenEstimator.js && node --check ./src/agent.js && node --check ./src/cli.js && node --check ./src/acpServer.js","start":"node ./bin/relay-agent.js"},"_npmUser":{"name":"baliangxiansheng","email":"tdw970122@gmail.com"},"_npmVersion":"11.12.1","description":"ACP-compatible coding agent using OpenAI-compatible relay APIs","directories":{},"_nodeVersion":"25.9.0","dependencies":{"js-tiktoken":"^1.0.21"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/relay-coding-agent_0.15.0_1777020666220_0.05866706484702022","host":"s3://npm-registry-packages-npm-production"}},"0.16.0":{"name":"relay-coding-agent","version":"0.16.0","keywords":["acp","agent","jetbrains","openai-compatible","relay"],"license":"MIT","_id":"relay-coding-agent@0.16.0","maintainers":[{"name":"baliangxiansheng","email":"tdw970122@gmail.com"}],"bin":{"relay-agent":"bin/relay-agent.js","relay-agent-acp":"bin/relay-agent-acp.js","relay-coding-agent":"bin/relay-agent.js"},"dist":{"shasum":"4ea84cfc11ab84dbff5946d563c7d191bf774b06","tarball":"https://registry.npmjs.org/relay-coding-agent/-/relay-coding-agent-0.16.0.tgz","fileCount":16,"integrity":"sha512-tF5Z537jpNSf1Ogip4DinkeRdnUeAb58JZQsueV1N0CpAa52m8wVbRbmaCHinEOtd84BBYaHFeEqA1b6YA/BKw==","signatures":[{"sig":"MEQCIFt9W5jBy5EHd5i6HWRY3+/FsyVASQum3fTt/rxguppnAiBSlqd30Opj0sxV0MmmCR6vLYIGksUsrUp10VqQYSo2AQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":103743},"type":"module","engines":{"node":">=18"},"scripts":{"acp":"node ./bin/relay-agent-acp.js","check":"node --check ./src/permissionModes.js && node --check ./src/optionStrategies.js && node --check ./src/commandPolicy.js && node --check ./src/config.js && node --check ./src/relayClient.js && node --check ./src/tools.js && node --check ./src/tokenEstimator.js && node --check ./src/agent.js && node --check ./src/cli.js && node --check ./src/acpServer.js","start":"node ./bin/relay-agent.js"},"_npmUser":{"name":"baliangxiansheng","email":"tdw970122@gmail.com"},"_npmVersion":"11.12.1","description":"ACP-compatible coding agent using OpenAI-compatible relay APIs","directories":{},"_nodeVersion":"25.9.0","dependencies":{"js-tiktoken":"^1.0.21"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/relay-coding-agent_0.16.0_1777021148701_0.43702214243077364","host":"s3://npm-registry-packages-npm-production"}},"0.17.0":{"name":"relay-coding-agent","version":"0.17.0","keywords":["acp","agent","jetbrains","openai-compatible","relay"],"license":"MIT","_id":"relay-coding-agent@0.17.0","maintainers":[{"name":"baliangxiansheng","email":"tdw970122@gmail.com"}],"bin":{"relay-agent":"bin/relay-agent.js","relay-agent-acp":"bin/relay-agent-acp.js","relay-coding-agent":"bin/relay-agent.js"},"dist":{"shasum":"fcd4a23400166f836c3193134a8ee38075c6f73b","tarball":"https://registry.npmjs.org/relay-coding-agent/-/relay-coding-agent-0.17.0.tgz","fileCount":16,"integrity":"sha512-WQgISzOxfyLGedK3cX/h3XgKeg26uPCGqySl+syTrnTPpY3LBjJTll3xmSjRoSlRNNVDsr5lrgK2clsW/uOjMw==","signatures":[{"sig":"MEUCICMabTw/wFN9+d+0J36me54n5lGDwJvd6jQ7Wi7dMyt6AiEAyhdiautUuUf+tXuVMZhhTIK6UcokSIwJz6ooYkeH6fo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":103822},"type":"module","engines":{"node":">=18"},"scripts":{"acp":"node ./bin/relay-agent-acp.js","check":"node --check ./src/permissionModes.js && node --check ./src/optionStrategies.js && node --check ./src/commandPolicy.js && node --check ./src/config.js && node --check ./src/relayClient.js && node --check ./src/tools.js && node --check ./src/tokenEstimator.js && node --check ./src/agent.js && node --check ./src/cli.js && node --check ./src/acpServer.js","start":"node ./bin/relay-agent.js"},"_npmUser":{"name":"baliangxiansheng","email":"tdw970122@gmail.com"},"_npmVersion":"11.12.1","description":"ACP-compatible coding agent using OpenAI-compatible relay APIs","directories":{},"_nodeVersion":"25.9.0","dependencies":{"js-tiktoken":"^1.0.21"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/relay-coding-agent_0.17.0_1777022238479_0.4601210502665096","host":"s3://npm-registry-packages-npm-production"}},"0.18.0":{"name":"relay-coding-agent","version":"0.18.0","keywords":["acp","agent","jetbrains","openai-compatible","relay"],"license":"MIT","_id":"relay-coding-agent@0.18.0","maintainers":[{"name":"baliangxiansheng","email":"tdw970122@gmail.com"}],"bin":{"relay-agent":"bin/relay-agent.js","relay-agent-acp":"bin/relay-agent-acp.js","relay-coding-agent":"bin/relay-agent.js"},"dist":{"shasum":"6e4fdba7b098883e15dc02bb23a6792d23831c3e","tarball":"https://registry.npmjs.org/relay-coding-agent/-/relay-coding-agent-0.18.0.tgz","fileCount":16,"integrity":"sha512-xi0xcYEfddSz+8Xb2nZYJ1UrNP+R6NLL535ffmuMXLMvAJKA92mqQhaDOh/pa7Bg0cMTPwfHQps2gvFZyvF43Q==","signatures":[{"sig":"MEYCIQD9XI39btY0Q4soRJg8o06ZvwuyPN6xGERPbee8y3oAKAIhAOMtmbulWO7mpCn8Cb7NBkxCYczulbtkZsTuyAGYYRfN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":103816},"type":"module","engines":{"node":">=18"},"scripts":{"acp":"node ./bin/relay-agent-acp.js","check":"node --check ./src/permissionModes.js && node --check ./src/optionStrategies.js && node --check ./src/commandPolicy.js && node --check ./src/config.js && node --check ./src/relayClient.js && node --check ./src/tools.js && node --check ./src/tokenEstimator.js && node --check ./src/agent.js && node --check ./src/cli.js && node --check ./src/acpServer.js","start":"node ./bin/relay-agent.js"},"_npmUser":{"name":"baliangxiansheng","email":"tdw970122@gmail.com"},"_npmVersion":"11.12.1","description":"ACP-compatible coding agent using OpenAI-compatible relay APIs","directories":{},"_nodeVersion":"25.9.0","dependencies":{"js-tiktoken":"^1.0.21"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/relay-coding-agent_0.18.0_1777022481939_0.903881949784189","host":"s3://npm-registry-packages-npm-production"}},"0.19.0":{"name":"relay-coding-agent","version":"0.19.0","keywords":["acp","agent","jetbrains","openai-compatible","relay"],"license":"MIT","_id":"relay-coding-agent@0.19.0","maintainers":[{"name":"baliangxiansheng","email":"tdw970122@gmail.com"}],"bin":{"relay-agent":"bin/relay-agent.js","relay-agent-acp":"bin/relay-agent-acp.js","relay-coding-agent":"bin/relay-agent.js"},"dist":{"shasum":"f11f4d4f60a00e206519873ab1cade3e5bd8bb05","tarball":"https://registry.npmjs.org/relay-coding-agent/-/relay-coding-agent-0.19.0.tgz","fileCount":16,"integrity":"sha512-PzyIsZqyM5uIrIYOYh5abEPtvJfaIRWOAvev+wJ4w0krew7ZjIE42ZP/5EJWytipBhLhfGaXO3LMccTNNSHdVQ==","signatures":[{"sig":"MEUCIQCuzQDwpKqcFCz1NrS23aFPdXdimI1/jBuK6I9iArkZtAIgOxBrMirUndZ/8Tqixm1Foq1EGSz11G2eZBmZBJNuy9k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":110643},"type":"module","engines":{"node":">=18"},"scripts":{"acp":"node ./bin/relay-agent-acp.js","check":"node --check ./src/permissionModes.js && node --check ./src/optionStrategies.js && node --check ./src/commandPolicy.js && node --check ./src/config.js && node --check ./src/relayClient.js && node --check ./src/tools.js && node --check ./src/tokenEstimator.js && node --check ./src/agent.js && node --check ./src/cli.js && node --check ./src/acpServer.js","start":"node ./bin/relay-agent.js"},"_npmUser":{"name":"baliangxiansheng","email":"tdw970122@gmail.com"},"_npmVersion":"11.12.1","description":"ACP-compatible coding agent using OpenAI-compatible relay APIs","directories":{},"_nodeVersion":"25.9.0","dependencies":{"js-tiktoken":"^1.0.21"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/relay-coding-agent_0.19.0_1777024419583_0.88059836173468","host":"s3://npm-registry-packages-npm-production"}},"0.20.0":{"name":"relay-coding-agent","version":"0.20.0","keywords":["acp","agent","jetbrains","openai-compatible","relay"],"license":"MIT","_id":"relay-coding-agent@0.20.0","maintainers":[{"name":"baliangxiansheng","email":"tdw970122@gmail.com"}],"bin":{"relay-agent":"bin/relay-agent.js","relay-agent-acp":"bin/relay-agent-acp.js","relay-coding-agent":"bin/relay-agent.js"},"dist":{"shasum":"da88a1f12ccc1b5c15711dc1a10b41e12fc82607","tarball":"https://registry.npmjs.org/relay-coding-agent/-/relay-coding-agent-0.20.0.tgz","fileCount":16,"integrity":"sha512-6i/JVeR8XNDYukN3kr8ZuXn8UQIXxbc+6BBVH07oLHNQyvBMNVdmHlv5lJ3MQHGeMuDrmQGvQxXb6VEnBnhnIg==","signatures":[{"sig":"MEUCIQDdg9868Xl2slaAk+OvyWslliJxPO6YktJ/CyjIQVGpbQIgY76/3yghmoEZaU1dHH421JQDkvGbbie8vBMz9J081ec=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":112228},"type":"module","engines":{"node":">=18"},"scripts":{"acp":"node ./bin/relay-agent-acp.js","check":"node --check ./src/permissionModes.js && node --check ./src/optionStrategies.js && node --check ./src/commandPolicy.js && node --check ./src/config.js && node --check ./src/relayClient.js && node --check ./src/tools.js && node --check ./src/tokenEstimator.js && node --check ./src/agent.js && node --check ./src/cli.js && node --check ./src/acpServer.js","start":"node ./bin/relay-agent.js"},"_npmUser":{"name":"baliangxiansheng","email":"tdw970122@gmail.com"},"_npmVersion":"11.12.1","description":"ACP-compatible coding agent using OpenAI-compatible relay APIs","directories":{},"_nodeVersion":"25.9.0","dependencies":{"js-tiktoken":"^1.0.21"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/relay-coding-agent_0.20.0_1777036914366_0.10138111070878719","host":"s3://npm-registry-packages-npm-production"}},"0.22.0":{"name":"relay-coding-agent","version":"0.22.0","keywords":["acp","agent","jetbrains","openai-compatible","relay"],"license":"MIT","_id":"relay-coding-agent@0.22.0","maintainers":[{"name":"baliangxiansheng","email":"tdw970122@gmail.com"}],"bin":{"relay-agent":"bin/relay-agent.js","relay-agent-acp":"bin/relay-agent-acp.js","relay-coding-agent":"bin/relay-agent.js"},"dist":{"shasum":"228ee667a85f934e1e05eda37eb6265fae4a9d62","tarball":"https://registry.npmjs.org/relay-coding-agent/-/relay-coding-agent-0.22.0.tgz","fileCount":19,"integrity":"sha512-E9SklvpHe/NXJxQQQ6jrg3GBET3cPaGU3FyuZoi/p2S2mD9E6P7XX27lwFvEXAW3NUf4iuX+e1SxWypJ5+fEuQ==","signatures":[{"sig":"MEYCIQDTAMPfwuvMP1F2AO8TtWnkOb+stAmXQKny8tx3uwIi5QIhAJBGMVSRiYvU4mnMGhV5VJ0qfPQkWRDFLuFvr2Qvzl2K","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":154975},"type":"module","engines":{"node":">=18"},"scripts":{"acp":"node ./bin/relay-agent-acp.js","check":"node --check ./src/sandboxModes.js && node --check ./src/approvalPolicies.js && node --check ./src/permissionModes.js && node --check ./src/optionStrategies.js && node --check ./src/commandPolicy.js && node --check ./src/config.js && node --check ./src/relayClient.js && node --check ./src/tools.js && node --check ./src/tokenEstimator.js && node --check ./src/agent.js && node --check ./src/cli.js && node --check ./src/acpServer.js","start":"node ./bin/relay-agent.js"},"_npmUser":{"name":"baliangxiansheng","email":"tdw970122@gmail.com"},"_npmVersion":"11.12.1","description":"ACP-compatible coding agent using OpenAI-compatible relay APIs","directories":{},"_nodeVersion":"25.9.0","dependencies":{"js-tiktoken":"^1.0.21","better-sqlite3":"^12.9.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/relay-coding-agent_0.22.0_1777043323540_0.10182331273108436","host":"s3://npm-registry-packages-npm-production"}},"0.23.0":{"name":"relay-coding-agent","version":"0.23.0","keywords":["acp","agent","jetbrains","openai-compatible","relay"],"license":"MIT","_id":"relay-coding-agent@0.23.0","maintainers":[{"name":"baliangxiansheng","email":"tdw970122@gmail.com"}],"bin":{"relay-agent":"bin/relay-agent.js","relay-agent-acp":"bin/relay-agent-acp.js","relay-coding-agent":"bin/relay-agent.js"},"dist":{"shasum":"31328732df014841caacc05de29c7385aab8081d","tarball":"https://registry.npmjs.org/relay-coding-agent/-/relay-coding-agent-0.23.0.tgz","fileCount":19,"integrity":"sha512-myhPMVtFmF3aG1pSm9eZGtl5kp5o8/QC9JxPeZKXe7LyLV83ssdgrSDfs47uZ7bJXqo02pzOMiFh4BYI1lqWSg==","signatures":[{"sig":"MEYCIQDupOHfJm8ttqwHDFxg9/AFp/QV9mpJJkMVzX8BolW43wIhAL3noO6RuGcynUdKN/Uipk/dnR3DvaWUHooVkLel21z+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":155770},"type":"module","engines":{"node":">=18"},"scripts":{"acp":"node ./bin/relay-agent-acp.js","check":"node --check ./src/sandboxModes.js && node --check ./src/approvalPolicies.js && node --check ./src/permissionModes.js && node --check ./src/optionStrategies.js && node --check ./src/commandPolicy.js && node --check ./src/config.js && node --check ./src/relayClient.js && node --check ./src/tools.js && node --check ./src/tokenEstimator.js && node --check ./src/agent.js && node --check ./src/cli.js && node --check ./src/acpServer.js","start":"node ./bin/relay-agent.js"},"_npmUser":{"name":"baliangxiansheng","email":"tdw970122@gmail.com"},"_npmVersion":"11.12.1","description":"ACP-compatible coding agent using OpenAI-compatible relay APIs","directories":{},"_nodeVersion":"25.9.0","dependencies":{"js-tiktoken":"^1.0.21","better-sqlite3":"^12.9.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/relay-coding-agent_0.23.0_1777044632039_0.012208044094060844","host":"s3://npm-registry-packages-npm-production"}},"0.24.0":{"name":"relay-coding-agent","version":"0.24.0","keywords":["acp","agent","jetbrains","openai-compatible","relay"],"license":"MIT","_id":"relay-coding-agent@0.24.0","maintainers":[{"name":"baliangxiansheng","email":"tdw970122@gmail.com"}],"bin":{"relay-agent":"bin/relay-agent.js","relay-agent-acp":"bin/relay-agent-acp.js","relay-coding-agent":"bin/relay-agent.js"},"dist":{"shasum":"8ee6831f1bd89792cc5e0034ce4f5a6a56fe3425","tarball":"https://registry.npmjs.org/relay-coding-agent/-/relay-coding-agent-0.24.0.tgz","fileCount":20,"integrity":"sha512-+rl6RcI6X6Hys0byAxzqQ2Yg1HEE0WiqjfVPUmlAUIgKHyld6B7FB6YxFbmH1LJ9xMgpgcD+QQJiAsPUDFaO7Q==","signatures":[{"sig":"MEUCIGUwWN/ln6roFOrUyeZZGY15n6niYZ9Omejvh9tViqo4AiEAhLpjPwzB7YJ5vAHPa6KTw9iY3wH+UQCWb6QBPyqSeeI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":159952},"type":"module","engines":{"node":">=18"},"scripts":{"acp":"node ./bin/relay-agent-acp.js","check":"node --check ./src/sandboxModes.js && node --check ./src/approvalPolicies.js && node --check ./src/permissionModes.js && node --check ./src/optionStrategies.js && node --check ./src/commandPolicy.js && node --check ./src/config.js && node --check ./src/relayClient.js && node --check ./src/tools.js && node --check ./src/tokenEstimator.js && node --check ./src/agent.js && node --check ./src/cli.js && node --check ./src/acpServer.js","start":"node ./bin/relay-agent.js"},"_npmUser":{"name":"baliangxiansheng","email":"tdw970122@gmail.com"},"_npmVersion":"11.12.1","description":"ACP-compatible coding agent using OpenAI-compatible relay APIs","directories":{},"_nodeVersion":"25.9.0","dependencies":{"js-tiktoken":"^1.0.21","better-sqlite3":"^12.9.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/relay-coding-agent_0.24.0_1777045978938_0.6773021624630395","host":"s3://npm-registry-packages-npm-production"}},"0.25.0":{"name":"relay-coding-agent","version":"0.25.0","keywords":["acp","agent","jetbrains","openai-compatible","relay"],"license":"MIT","_id":"relay-coding-agent@0.25.0","maintainers":[{"name":"baliangxiansheng","email":"tdw970122@gmail.com"}],"bin":{"relay-agent":"bin/relay-agent.js","relay-agent-acp":"bin/relay-agent-acp.js","relay-coding-agent":"bin/relay-agent.js"},"dist":{"shasum":"70d5b88f04c285d6c5412ecbf5023266954289d3","tarball":"https://registry.npmjs.org/relay-coding-agent/-/relay-coding-agent-0.25.0.tgz","fileCount":20,"integrity":"sha512-URQl6L80h1iUXH2muqymBQTLn3Pt8jjjpHIXnddCMdcPnZs1+/lNVXeKCnGfSf0Xl8QNxpG/BajHd1oO/ygGzQ==","signatures":[{"sig":"MEYCIQDPawqKW8GNqSTzvTe0VwDcHtAY4RZpybWN032dl/0d4gIhALCOurF/4d1DHioeTghYIVDbZhvlK+MbcaIRyzM+muiH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":160722},"type":"module","engines":{"node":">=18"},"scripts":{"acp":"node ./bin/relay-agent-acp.js","check":"node --check ./src/sandboxModes.js && node --check ./src/approvalPolicies.js && node --check ./src/permissionModes.js && node --check ./src/optionStrategies.js && node --check ./src/commandPolicy.js && node --check ./src/config.js && node --check ./src/relayClient.js && node --check ./src/tools.js && node --check ./src/tokenEstimator.js && node --check ./src/agent.js && node --check ./src/cli.js && node --check ./src/acpServer.js","start":"node ./bin/relay-agent.js"},"_npmUser":{"name":"baliangxiansheng","email":"tdw970122@gmail.com"},"_npmVersion":"11.12.1","description":"ACP-compatible coding agent using OpenAI-compatible relay APIs","directories":{},"_nodeVersion":"25.9.0","dependencies":{"js-tiktoken":"^1.0.21","better-sqlite3":"^12.9.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/relay-coding-agent_0.25.0_1777046344665_0.05429424543014694","host":"s3://npm-registry-packages-npm-production"}},"0.26.0":{"name":"relay-coding-agent","version":"0.26.0","keywords":["acp","agent","jetbrains","openai-compatible","relay"],"license":"MIT","_id":"relay-coding-agent@0.26.0","maintainers":[{"name":"baliangxiansheng","email":"tdw970122@gmail.com"}],"bin":{"relay-agent":"bin/relay-agent.js","relay-agent-acp":"bin/relay-agent-acp.js","relay-coding-agent":"bin/relay-agent.js"},"dist":{"shasum":"2adeca1a416c983ff75fc237e3fc77ae8e1aef9a","tarball":"https://registry.npmjs.org/relay-coding-agent/-/relay-coding-agent-0.26.0.tgz","fileCount":20,"integrity":"sha512-PrFyxcWjyQ2o/9n1PHZ8jS1H/OlKJV5Ro4oUhT/eyqQoaO0zpYnsB4iOrzMgKH5HfY0AUj/Y7kMEMDe1ArxZMQ==","signatures":[{"sig":"MEUCIQCvbM0cPD+Hybi+sNkj6nRSg2vx8i2XtagUAWVrsffIqAIgRBhh//zbyW8WtEmoahHPA31gOawf+JR1kzj1oyzK5fY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":167127},"type":"module","engines":{"node":">=18"},"scripts":{"acp":"node ./bin/relay-agent-acp.js","check":"node --check ./src/sandboxModes.js && node --check ./src/approvalPolicies.js && node --check ./src/permissionModes.js && node --check ./src/optionStrategies.js && node --check ./src/commandPolicy.js && node --check ./src/config.js && node --check ./src/relayClient.js && node --check ./src/tools.js && node --check ./src/tokenEstimator.js && node --check ./src/agent.js && node --check ./src/cli.js && node --check ./src/acpServer.js","start":"node ./bin/relay-agent.js"},"_npmUser":{"name":"baliangxiansheng","email":"tdw970122@gmail.com"},"_npmVersion":"11.12.1","description":"ACP-compatible coding agent using OpenAI-compatible relay APIs","directories":{},"_nodeVersion":"25.9.0","dependencies":{"js-tiktoken":"^1.0.21","better-sqlite3":"^12.9.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/relay-coding-agent_0.26.0_1777047330461_0.9166145343089205","host":"s3://npm-registry-packages-npm-production"}},"0.27.0":{"name":"relay-coding-agent","version":"0.27.0","keywords":["acp","agent","jetbrains","openai-compatible","relay"],"license":"MIT","_id":"relay-coding-agent@0.27.0","maintainers":[{"name":"baliangxiansheng","email":"tdw970122@gmail.com"}],"bin":{"relay-agent":"bin/relay-agent.js","relay-agent-acp":"bin/relay-agent-acp.js","relay-coding-agent":"bin/relay-agent.js"},"dist":{"shasum":"1164cd1c57bf79e9f0abac9d0bce1a94a80e1336","tarball":"https://registry.npmjs.org/relay-coding-agent/-/relay-coding-agent-0.27.0.tgz","fileCount":20,"integrity":"sha512-vQxeeHduRYgn/EcEqtSWX+0mMXb/OMMvxEwYvXe1TkbMImAAAvTcSRj9S2dKdmmLDSy1lMrIAsM8xPb5ZHflOA==","signatures":[{"sig":"MEYCIQCnTv7LZ050FLSxI//duiMK+gZLJ3wFrr/trddTic1bWQIhANTUOdqjlt8ZKSe7JiWcsAh+pDyOWY/8hu3CdHhkQiJQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":175190},"type":"module","engines":{"node":">=18"},"scripts":{"acp":"node ./bin/relay-agent-acp.js","check":"node --check ./src/sandboxModes.js && node --check ./src/approvalPolicies.js && node --check ./src/permissionModes.js && node --check ./src/optionStrategies.js && node --check ./src/commandPolicy.js && node --check ./src/config.js && node --check ./src/relayClient.js && node --check ./src/tools.js && node --check ./src/tokenEstimator.js && node --check ./src/agent.js && node --check ./src/cli.js && node --check ./src/acpServer.js","start":"node ./bin/relay-agent.js"},"_npmUser":{"name":"baliangxiansheng","email":"tdw970122@gmail.com"},"_npmVersion":"11.12.1","description":"ACP-compatible coding agent using OpenAI-compatible relay APIs","directories":{},"_nodeVersion":"25.9.0","dependencies":{"js-tiktoken":"^1.0.21","better-sqlite3":"^12.9.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/relay-coding-agent_0.27.0_1777081978433_0.2896790254506183","host":"s3://npm-registry-packages-npm-production"}},"0.28.0":{"name":"relay-coding-agent","version":"0.28.0","keywords":["acp","agent","jetbrains","openai-compatible","relay"],"license":"MIT","_id":"relay-coding-agent@0.28.0","maintainers":[{"name":"baliangxiansheng","email":"tdw970122@gmail.com"}],"bin":{"relay-agent":"bin/relay-agent.js","relay-agent-acp":"bin/relay-agent-acp.js","relay-coding-agent":"bin/relay-agent.js"},"dist":{"shasum":"ae666542a24e29eb68d79937ce7e1896c471c05e","tarball":"https://registry.npmjs.org/relay-coding-agent/-/relay-coding-agent-0.28.0.tgz","fileCount":29,"integrity":"sha512-1OlkUyzTSb/zc2ivswtCTT5kZxrnxBKQtnz6VeGg/hOdlcvLNcwAguE39S2NrFxqdLnBZR2wEziT2k5LsNDFCg==","signatures":[{"sig":"MEUCIQCeXjRkTxBAQyomG+ZVmE/b1XITsDeeffO8llu+tD5HMgIgKWndIwcOlMsdtNctllWa+1lTDtUpUihZ27HrA0VK7pc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":252530},"type":"module","engines":{"node":">=18"},"scripts":{"acp":"node ./bin/relay-agent-acp.js","check":"node --check ./src/sandboxModes.js && node --check ./src/approvalPolicies.js && node --check ./src/permissionModes.js && node --check ./src/optionStrategies.js && node --check ./src/commandPolicy.js && node --check ./src/config.js && node --check ./src/relayClient.js && node --check ./src/tools.js && node --check ./src/tokenEstimator.js && node --check ./src/agent.js && node --check ./src/cli.js && node --check ./src/acpServer.js","start":"node ./bin/relay-agent.js","test:swarm":"node --test ./test/swarmCoordinator.test.js ./test/swarmFlow.test.js ./test/swarmPolicies.test.js ./test/swarmObservability.test.js ./test/runCommandGuards.test.js"},"_npmUser":{"name":"baliangxiansheng","email":"tdw970122@gmail.com"},"_npmVersion":"11.12.1","description":"ACP-compatible coding agent using OpenAI-compatible relay APIs","directories":{},"_nodeVersion":"25.9.0","dependencies":{"js-tiktoken":"^1.0.21","better-sqlite3":"^12.9.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/relay-coding-agent_0.28.0_1777087568296_0.808792159929625","host":"s3://npm-registry-packages-npm-production"}},"0.29.0":{"name":"relay-coding-agent","version":"0.29.0","keywords":["acp","agent","jetbrains","openai-compatible","relay"],"license":"MIT","_id":"relay-coding-agent@0.29.0","maintainers":[{"name":"baliangxiansheng","email":"tdw970122@gmail.com"}],"bin":{"relay-agent":"bin/relay-agent.js","relay-agent-acp":"bin/relay-agent-acp.js","relay-coding-agent":"bin/relay-agent.js"},"dist":{"shasum":"b202672cbf4c0e940cd8d54e0803b8b837231637","tarball":"https://registry.npmjs.org/relay-coding-agent/-/relay-coding-agent-0.29.0.tgz","fileCount":29,"integrity":"sha512-ALTOD/dUcdfERRg1LU3wdbtwF3eUVTu29imO9pl2fNyQV2GyKyHH9kGsd7KPLJgXRwgT39JZE1EGes7NdkCMsw==","signatures":[{"sig":"MEQCIC9yWO9xupdE8wMDiSsafhpKH1gTEBpYF0Q9sEWFn80kAiAVQJkkm6+sauW1afSLz9+yr8XZQYff/oGte5X38e2Z7Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":255591},"type":"module","engines":{"node":">=18"},"scripts":{"acp":"node ./bin/relay-agent-acp.js","check":"node --check ./src/sandboxModes.js && node --check ./src/approvalPolicies.js && node --check ./src/permissionModes.js && node --check ./src/optionStrategies.js && node --check ./src/commandPolicy.js && node --check ./src/config.js && node --check ./src/relayClient.js && node --check ./src/tools.js && node --check ./src/tokenEstimator.js && node --check ./src/agent.js && node --check ./src/cli.js && node --check ./src/acpServer.js","start":"node ./bin/relay-agent.js","test:swarm":"node --test ./test/swarmCoordinator.test.js ./test/swarmFlow.test.js ./test/swarmPolicies.test.js ./test/swarmObservability.test.js ./test/runCommandGuards.test.js"},"_npmUser":{"name":"baliangxiansheng","email":"tdw970122@gmail.com"},"_npmVersion":"11.12.1","description":"ACP-compatible coding agent using OpenAI-compatible relay APIs","directories":{},"_nodeVersion":"25.9.0","dependencies":{"js-tiktoken":"^1.0.21","better-sqlite3":"^12.9.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/relay-coding-agent_0.29.0_1777094870994_0.7589301435595726","host":"s3://npm-registry-packages-npm-production"}},"0.30.0":{"name":"relay-coding-agent","version":"0.30.0","keywords":["acp","agent","jetbrains","openai-compatible","relay"],"license":"MIT","_id":"relay-coding-agent@0.30.0","maintainers":[{"name":"baliangxiansheng","email":"tdw970122@gmail.com"}],"bin":{"relay-agent":"bin/relay-agent.js","relay-agent-acp":"bin/relay-agent-acp.js","relay-coding-agent":"bin/relay-agent.js"},"dist":{"shasum":"1b686db36ac67a685d66c660c37bfed96d8b3091","tarball":"https://registry.npmjs.org/relay-coding-agent/-/relay-coding-agent-0.30.0.tgz","fileCount":29,"integrity":"sha512-MR0S5E4rokRiJkuus0BWXHNGbGH1T20Q5qLu4NYK2T9ToqrqMRl1W/nkAsr20iy7LjaCQi56bvJx13B0+C5/DA==","signatures":[{"sig":"MEUCIQCnpja/zDOBugjnEpzfP3uLE3ox+vVAANHLSiNivQWIzgIgcxhWWc+qqCXR0jsX6St1qfkk4f9a0QfZsdF++4xKcVg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":255904},"type":"module","engines":{"node":">=18"},"scripts":{"acp":"node ./bin/relay-agent-acp.js","check":"node --check ./src/sandboxModes.js && node --check ./src/approvalPolicies.js && node --check ./src/permissionModes.js && node --check ./src/optionStrategies.js && node --check ./src/commandPolicy.js && node --check ./src/config.js && node --check ./src/relayClient.js && node --check ./src/tools.js && node --check ./src/tokenEstimator.js && node --check ./src/agent.js && node --check ./src/cli.js && node --check ./src/acpServer.js","start":"node ./bin/relay-agent.js","test:swarm":"node --test ./test/swarmCoordinator.test.js ./test/swarmFlow.test.js ./test/swarmPolicies.test.js ./test/swarmObservability.test.js ./test/runCommandGuards.test.js"},"_npmUser":{"name":"baliangxiansheng","email":"tdw970122@gmail.com"},"_npmVersion":"11.12.1","description":"ACP-compatible coding agent using OpenAI-compatible relay APIs","directories":{},"_nodeVersion":"25.9.0","dependencies":{"js-tiktoken":"^1.0.21","better-sqlite3":"^12.9.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/relay-coding-agent_0.30.0_1777095443444_0.17533847633734823","host":"s3://npm-registry-packages-npm-production"}},"0.31.0":{"name":"relay-coding-agent","version":"0.31.0","keywords":["acp","agent","jetbrains","openai-compatible","relay"],"license":"MIT","_id":"relay-coding-agent@0.31.0","maintainers":[{"name":"baliangxiansheng","email":"tdw970122@gmail.com"}],"bin":{"relay-agent":"bin/relay-agent.js","relay-agent-acp":"bin/relay-agent-acp.js","relay-coding-agent":"bin/relay-agent.js"},"dist":{"shasum":"b9a50bf06a85e8d3f4bbf26e3ae4c458b5827f71","tarball":"https://registry.npmjs.org/relay-coding-agent/-/relay-coding-agent-0.31.0.tgz","fileCount":30,"integrity":"sha512-MuVWbAdN552JrmhFmrhjje7frQoKiRN2PgQ8QfCHoHzvY1zCdiGBMx1O3AWoOmShfiGwknDEorACgXTmnxFsug==","signatures":[{"sig":"MEYCIQD+Wuqlk2qE0xB2f7921yTc0B1g2fLYDGnQe/nONjauOQIhANnPbFkxo4MhF8hLMo7D3TEAs54UO5xpOlsv6wyRnnAD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":258810},"type":"module","engines":{"node":">=18"},"scripts":{"acp":"node ./bin/relay-agent-acp.js","check":"node --check ./src/sandboxModes.js && node --check ./src/approvalPolicies.js && node --check ./src/permissionModes.js && node --check ./src/optionStrategies.js && node --check ./src/commandPolicy.js && node --check ./src/config.js && node --check ./src/relayClient.js && node --check ./src/tools.js && node --check ./src/tokenEstimator.js && node --check ./src/agent.js && node --check ./src/cli.js && node --check ./src/acpServer.js","start":"node ./bin/relay-agent.js","test:swarm":"node --test ./test/swarmCoordinator.test.js ./test/swarmFlow.test.js ./test/swarmPolicies.test.js ./test/swarmObservability.test.js ./test/runCommandGuards.test.js"},"_npmUser":{"name":"baliangxiansheng","email":"tdw970122@gmail.com"},"_npmVersion":"11.12.1","description":"ACP-compatible coding agent using OpenAI-compatible relay APIs","directories":{},"_nodeVersion":"25.9.0","dependencies":{"js-tiktoken":"^1.0.21","better-sqlite3":"^12.9.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/relay-coding-agent_0.31.0_1777096529629_0.796901573641887","host":"s3://npm-registry-packages-npm-production"}},"0.32.0":{"name":"relay-coding-agent","version":"0.32.0","keywords":["acp","agent","jetbrains","openai-compatible","relay"],"license":"MIT","_id":"relay-coding-agent@0.32.0","maintainers":[{"name":"baliangxiansheng","email":"tdw970122@gmail.com"}],"bin":{"relay-agent":"bin/relay-agent.js","relay-agent-acp":"bin/relay-agent-acp.js","relay-coding-agent":"bin/relay-agent.js"},"dist":{"shasum":"822d5d5829345c87d56c52207817ba5813624763","tarball":"https://registry.npmjs.org/relay-coding-agent/-/relay-coding-agent-0.32.0.tgz","fileCount":30,"integrity":"sha512-K+jbNBJgvEfGwQBK0T8WW3GL/jpX5c57jl9sR05iJvdfSnxENnhsJxoDV22kmEwv8vTW2f7T66Wl8VvSADiLAg==","signatures":[{"sig":"MEYCIQC232T1Nz52MKTu256iKwROMC3mhqh4ZxSTKNIRG+X22wIhANnkbwxXvnstpqmSay2AUsJJsr0sPY81yTrHFLgUT1vs","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":258783},"type":"module","engines":{"node":">=18"},"scripts":{"acp":"node ./bin/relay-agent-acp.js","check":"node --check ./src/sandboxModes.js && node --check ./src/approvalPolicies.js && node --check ./src/permissionModes.js && node --check ./src/optionStrategies.js && node --check ./src/commandPolicy.js && node --check ./src/config.js && node --check ./src/relayClient.js && node --check ./src/tools.js && node --check ./src/tokenEstimator.js && node --check ./src/agent.js && node --check ./src/cli.js && node --check ./src/acpServer.js","start":"node ./bin/relay-agent.js","test:swarm":"node --test ./test/swarmCoordinator.test.js ./test/swarmFlow.test.js ./test/swarmPolicies.test.js ./test/swarmObservability.test.js ./test/runCommandGuards.test.js"},"_npmUser":{"name":"baliangxiansheng","email":"tdw970122@gmail.com"},"_npmVersion":"11.12.1","description":"ACP-compatible coding agent using OpenAI-compatible relay APIs","directories":{},"_nodeVersion":"25.9.0","dependencies":{"js-tiktoken":"^1.0.21","better-sqlite3":"^12.9.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/relay-coding-agent_0.32.0_1777097671882_0.533027683092558","host":"s3://npm-registry-packages-npm-production"}},"0.33.0":{"name":"relay-coding-agent","version":"0.33.0","keywords":["acp","agent","jetbrains","openai-compatible","relay"],"license":"MIT","_id":"relay-coding-agent@0.33.0","maintainers":[{"name":"baliangxiansheng","email":"tdw970122@gmail.com"}],"bin":{"relay-agent":"bin/relay-agent.js","relay-agent-acp":"bin/relay-agent-acp.js","relay-coding-agent":"bin/relay-agent.js"},"dist":{"shasum":"6eeb4097e97d672687672b576f8c1c1cd9e66ae8","tarball":"https://registry.npmjs.org/relay-coding-agent/-/relay-coding-agent-0.33.0.tgz","fileCount":30,"integrity":"sha512-9Xbpqmgj/4awDTsFYRQfThRgK/IXaSIdTX8aMGDSq723L1XmBvV+uCUvgzhyaesL42swRy9z0cd9ZlJiHPc32w==","signatures":[{"sig":"MEUCIFDFkt8TXs8DCLYjr1YtqVfAK0lLuu57CAKai3bPfTvXAiEApG3Pa00/dPfaM2dPIEesCHfWnHVEcgoI8NC4gJpfJng=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":258120},"type":"module","engines":{"node":">=18"},"scripts":{"acp":"node ./bin/relay-agent-acp.js","check":"node --check ./src/sandboxModes.js && node --check ./src/approvalPolicies.js && node --check ./src/permissionModes.js && node --check ./src/optionStrategies.js && node --check ./src/commandPolicy.js && node --check ./src/config.js && node --check ./src/relayClient.js && node --check ./src/tools.js && node --check ./src/tokenEstimator.js && node --check ./src/agent.js && node --check ./src/cli.js && node --check ./src/acpServer.js","start":"node ./bin/relay-agent.js","test:swarm":"node --test ./test/swarmCoordinator.test.js ./test/swarmFlow.test.js ./test/swarmPolicies.test.js ./test/swarmObservability.test.js ./test/runCommandGuards.test.js"},"_npmUser":{"name":"baliangxiansheng","email":"tdw970122@gmail.com"},"_npmVersion":"11.12.1","description":"ACP-compatible coding agent using OpenAI-compatible relay APIs","directories":{},"_nodeVersion":"25.9.0","dependencies":{"js-tiktoken":"^1.0.21","better-sqlite3":"^12.9.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/relay-coding-agent_0.33.0_1777101295611_0.8712290048274502","host":"s3://npm-registry-packages-npm-production"}},"0.34.0":{"name":"relay-coding-agent","version":"0.34.0","keywords":["acp","agent","jetbrains","openai-compatible","relay"],"license":"MIT","_id":"relay-coding-agent@0.34.0","maintainers":[{"name":"baliangxiansheng","email":"tdw970122@gmail.com"}],"bin":{"relay-agent":"bin/relay-agent.js","relay-agent-acp":"bin/relay-agent-acp.js","relay-coding-agent":"bin/relay-agent.js"},"dist":{"shasum":"cc1622c30105564b02481e234c5cdb30ef77ce67","tarball":"https://registry.npmjs.org/relay-coding-agent/-/relay-coding-agent-0.34.0.tgz","fileCount":30,"integrity":"sha512-WjI2GOotTQ+/twoD4MQEGOH/hpJDDpCyTzOmp32cpiPH1hLSKjAtG7zMND/QjKKRQg3VSHuWiCGk87b1VK80UA==","signatures":[{"sig":"MEUCIGVmNIOGho3AB68X/pRJky02yWEs+2QeraAnYo7D5bHZAiEA6Zm58bn+kWbmJM306aKoPtgAbC1Vf4IkVgCZI5a0k8A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":258605},"type":"module","engines":{"node":">=18"},"scripts":{"acp":"node ./bin/relay-agent-acp.js","check":"node --check ./src/sandboxModes.js && node --check ./src/approvalPolicies.js && node --check ./src/permissionModes.js && node --check ./src/optionStrategies.js && node --check ./src/commandPolicy.js && node --check ./src/config.js && node --check ./src/relayClient.js && node --check ./src/tools.js && node --check ./src/tokenEstimator.js && node --check ./src/agent.js && node --check ./src/cli.js && node --check ./src/acpServer.js","start":"node ./bin/relay-agent.js","test:swarm":"node --test ./test/swarmCoordinator.test.js ./test/swarmFlow.test.js ./test/swarmPolicies.test.js ./test/swarmObservability.test.js ./test/runCommandGuards.test.js"},"_npmUser":{"name":"baliangxiansheng","email":"tdw970122@gmail.com"},"_npmVersion":"11.12.1","description":"ACP-compatible coding agent using OpenAI-compatible relay APIs","directories":{},"_nodeVersion":"25.9.0","dependencies":{"js-tiktoken":"^1.0.21","better-sqlite3":"^12.9.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/relay-coding-agent_0.34.0_1777102073107_0.546900200962523","host":"s3://npm-registry-packages-npm-production"}},"0.35.0":{"name":"relay-coding-agent","version":"0.35.0","keywords":["acp","agent","jetbrains","openai-compatible","relay"],"license":"MIT","_id":"relay-coding-agent@0.35.0","maintainers":[{"name":"baliangxiansheng","email":"tdw970122@gmail.com"}],"bin":{"relay-agent":"bin/relay-agent.js","relay-agent-acp":"bin/relay-agent-acp.js","relay-coding-agent":"bin/relay-agent.js"},"dist":{"shasum":"fda03e753c454df24fb9166db7200ce2e3ce2c49","tarball":"https://registry.npmjs.org/relay-coding-agent/-/relay-coding-agent-0.35.0.tgz","fileCount":31,"integrity":"sha512-2ipCXpaa3HiTOJx1ZPAIH8wwxCPzaSY+vfQgoexsQTEO1a796EmSiHgHMNjAORoB3LX13JcaSQ4DIKbcYF6rbg==","signatures":[{"sig":"MEQCICgFCb8e6/Dpm0E1HESRJ3lt8iZluCaiwvkSalpsbi87AiBhmoILGliLrsPjSCPlbk9W/c3c1ewC00wtVyjOgjt6jQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":278180},"type":"module","engines":{"node":">=18"},"scripts":{"acp":"node ./bin/relay-agent-acp.js","check":"node --check ./src/sandboxModes.js && node --check ./src/approvalPolicies.js && node --check ./src/permissionModes.js && node --check ./src/optionStrategies.js && node --check ./src/commandPolicy.js && node --check ./src/agentConfig.js && node --check ./src/config.js && node --check ./src/relayClient.js && node --check ./src/tools.js && node --check ./src/tokenEstimator.js && node --check ./src/agent.js && node --check ./src/cli.js && node --check ./src/acpServer.js","start":"node ./bin/relay-agent.js","test:swarm":"node --test ./test/swarmCoordinator.test.js ./test/swarmFlow.test.js ./test/swarmPolicies.test.js ./test/swarmObservability.test.js ./test/runCommandGuards.test.js"},"_npmUser":{"name":"baliangxiansheng","email":"tdw970122@gmail.com"},"_npmVersion":"11.12.1","description":"ACP-compatible coding agent using OpenAI-compatible relay APIs","directories":{},"_nodeVersion":"25.9.0","dependencies":{"js-tiktoken":"^1.0.21","better-sqlite3":"^12.9.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/relay-coding-agent_0.35.0_1777104103336_0.24997448422765878","host":"s3://npm-registry-packages-npm-production"}},"0.36.0":{"name":"relay-coding-agent","version":"0.36.0","keywords":["acp","agent","jetbrains","openai-compatible","relay"],"license":"MIT","_id":"relay-coding-agent@0.36.0","maintainers":[{"name":"baliangxiansheng","email":"tdw970122@gmail.com"}],"bin":{"relay-agent":"bin/relay-agent.js","relay-agent-acp":"bin/relay-agent-acp.js","relay-coding-agent":"bin/relay-agent.js"},"dist":{"shasum":"e0e87142eefde2d6a7aec8f53fc99d3aa166173e","tarball":"https://registry.npmjs.org/relay-coding-agent/-/relay-coding-agent-0.36.0.tgz","fileCount":31,"integrity":"sha512-Ifl9wuL9srUdRi+U6WsuBeR2DJRsEsXrLVmHW2sVgPDtXSoxhu+Swt8bFYLtARAZFr4BYzHFqnAPa8ox5XB1HQ==","signatures":[{"sig":"MEUCIQDM0ExZvna1+qMGqAvEzOAdMUKZi4EzhnojuasMLODAOgIgTBUqqDpOp5o/U43VDWqOf6R0Buj3+R6o+73OWfzjb+w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":278160},"type":"module","engines":{"node":">=18"},"scripts":{"acp":"node ./bin/relay-agent-acp.js","check":"node --check ./src/sandboxModes.js && node --check ./src/approvalPolicies.js && node --check ./src/permissionModes.js && node --check ./src/optionStrategies.js && node --check ./src/commandPolicy.js && node --check ./src/agentConfig.js && node --check ./src/config.js && node --check ./src/relayClient.js && node --check ./src/tools.js && node --check ./src/tokenEstimator.js && node --check ./src/agent.js && node --check ./src/cli.js && node --check ./src/acpServer.js","start":"node ./bin/relay-agent.js","test:swarm":"node --test ./test/swarmCoordinator.test.js ./test/swarmFlow.test.js ./test/swarmPolicies.test.js ./test/swarmObservability.test.js ./test/runCommandGuards.test.js"},"_npmUser":{"name":"baliangxiansheng","email":"tdw970122@gmail.com"},"_npmVersion":"11.12.1","description":"ACP-compatible coding agent using OpenAI-compatible relay APIs","directories":{},"_nodeVersion":"25.9.0","dependencies":{"js-tiktoken":"^1.0.21","better-sqlite3":"^12.9.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/relay-coding-agent_0.36.0_1777104430978_0.38809420440402165","host":"s3://npm-registry-packages-npm-production"}},"0.37.0":{"name":"relay-coding-agent","version":"0.37.0","keywords":["acp","agent","jetbrains","openai-compatible","relay"],"license":"MIT","_id":"relay-coding-agent@0.37.0","maintainers":[{"name":"baliangxiansheng","email":"tdw970122@gmail.com"}],"bin":{"relay-agent":"bin/relay-agent.js","relay-agent-acp":"bin/relay-agent-acp.js","relay-coding-agent":"bin/relay-agent.js"},"dist":{"shasum":"1ac84d4185efabd2fdac4db8be20a16f007a36c2","tarball":"https://registry.npmjs.org/relay-coding-agent/-/relay-coding-agent-0.37.0.tgz","fileCount":32,"integrity":"sha512-VdwCDVSTR8QCjj/QjEiWz8fZv0oyNPR9HDi3BISHB9GxNUQ4NQs+U/5TPIWuo7+qcNT6zhTTiPL0QpN4I8kD1A==","signatures":[{"sig":"MEYCIQDgJJdBlKWKhK0fgXVxyqoK1baiWBWK6fZc5zWixXRqDAIhALGiZvSVD6hM1RhC01lIzpwFpTrEdKoqTIE8+zVw5bLJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":286596},"type":"module","engines":{"node":">=18"},"scripts":{"acp":"node ./bin/relay-agent-acp.js","check":"node --check ./src/sandboxModes.js && node --check ./src/approvalPolicies.js && node --check ./src/permissionModes.js && node --check ./src/optionStrategies.js && node --check ./src/commandPolicy.js && node --check ./src/agentConfig.js && node --check ./src/config.js && node --check ./src/relayClient.js && node --check ./src/tools.js && node --check ./src/tokenEstimator.js && node --check ./src/agent.js && node --check ./src/cli.js && node --check ./src/acpServer.js","start":"node ./bin/relay-agent.js","test:swarm":"node --test ./test/swarmCoordinator.test.js ./test/swarmFlow.test.js ./test/swarmPolicies.test.js ./test/swarmObservability.test.js ./test/runCommandGuards.test.js"},"_npmUser":{"name":"baliangxiansheng","email":"tdw970122@gmail.com"},"_npmVersion":"11.12.1","description":"ACP-compatible coding agent using OpenAI-compatible relay APIs","directories":{},"_nodeVersion":"25.9.0","dependencies":{"js-tiktoken":"^1.0.21","better-sqlite3":"^12.9.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/relay-coding-agent_0.37.0_1777120705834_0.876177719942216","host":"s3://npm-registry-packages-npm-production"}},"0.38.0":{"name":"relay-coding-agent","version":"0.38.0","description":"ACP-compatible coding agent using OpenAI-compatible relay APIs","type":"module","bin":{"relay-coding-agent":"bin/relay-agent.js","relay-agent":"bin/relay-agent.js","relay-agent-acp":"bin/relay-agent-acp.js"},"scripts":{"start":"node ./bin/relay-agent.js","acp":"node ./bin/relay-agent-acp.js","check":"node --check ./src/sandboxModes.js && node --check ./src/approvalPolicies.js && node --check ./src/permissionModes.js && node --check ./src/optionStrategies.js && node --check ./src/commandPolicy.js && node --check ./src/agentConfig.js && node --check ./src/config.js && node --check ./src/relayClient.js && node --check ./src/tools.js && node --check ./src/tokenEstimator.js && node --check ./src/agent.js && node --check ./src/cli.js && node --check ./src/acpServer.js","test:swarm":"node --test ./test/swarmCoordinator.test.js ./test/swarmFlow.test.js ./test/swarmPolicies.test.js ./test/swarmObservability.test.js ./test/runCommandGuards.test.js"},"engines":{"node":">=18"},"keywords":["acp","agent","jetbrains","openai-compatible","relay"],"license":"MIT","dependencies":{"better-sqlite3":"^12.9.0","js-tiktoken":"^1.0.21"},"_id":"relay-coding-agent@0.38.0","_nodeVersion":"25.9.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-8YjtvSt9F9f69yFGqd/ufwdQWR1YkcqqZIJeegWDRkIWLk1tYBaVoZKjFK0oQSQEhKdO3B7WBnhf/uSNA/RhaA==","shasum":"277715817942f8c37194d7b52d0ff6ce496334bc","tarball":"https://registry.npmjs.org/relay-coding-agent/-/relay-coding-agent-0.38.0.tgz","fileCount":31,"unpackedSize":289041,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIFRGele8vXzXCtUbdwLMWn35c5PTtdd0YEohbCR0Nta9AiEAl3s2a2YAvHdgr2E7lAqWkjNPF8/KIqktWDw12HGVXjs="}]},"_npmUser":{"name":"baliangxiansheng","email":"tdw970122@gmail.com"},"directories":{},"maintainers":[{"name":"baliangxiansheng","email":"tdw970122@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/relay-coding-agent_0.38.0_1777124742921_0.9271187093620676"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-23T09:56:54.448Z","modified":"2026-04-25T13:45:43.199Z","0.1.1":"2026-04-23T09:56:54.710Z","0.2.0":"2026-04-24T01:35:59.081Z","0.3.0":"2026-04-24T02:10:58.605Z","0.4.0":"2026-04-24T02:25:02.836Z","0.5.0":"2026-04-24T03:15:50.278Z","0.6.0":"2026-04-24T04:40:53.104Z","0.7.0":"2026-04-24T04:48:44.725Z","0.8.0":"2026-04-24T05:00:06.187Z","0.9.0":"2026-04-24T05:35:35.401Z","0.10.0":"2026-04-24T06:12:45.599Z","0.11.0":"2026-04-24T06:17:26.907Z","0.12.0":"2026-04-24T06:41:34.285Z","0.13.0":"2026-04-24T08:21:35.902Z","0.14.0":"2026-04-24T08:40:39.459Z","0.15.0":"2026-04-24T08:51:06.360Z","0.16.0":"2026-04-24T08:59:08.823Z","0.17.0":"2026-04-24T09:17:18.627Z","0.18.0":"2026-04-24T09:21:22.112Z","0.19.0":"2026-04-24T09:53:39.715Z","0.20.0":"2026-04-24T13:21:54.512Z","0.22.0":"2026-04-24T15:08:43.733Z","0.23.0":"2026-04-24T15:30:32.176Z","0.24.0":"2026-04-24T15:52:59.070Z","0.25.0":"2026-04-24T15:59:04.803Z","0.26.0":"2026-04-24T16:15:30.604Z","0.27.0":"2026-04-25T01:52:58.584Z","0.28.0":"2026-04-25T03:26:08.518Z","0.29.0":"2026-04-25T05:27:51.157Z","0.30.0":"2026-04-25T05:37:23.635Z","0.31.0":"2026-04-25T05:55:29.774Z","0.32.0":"2026-04-25T06:14:32.022Z","0.33.0":"2026-04-25T07:14:55.820Z","0.34.0":"2026-04-25T07:27:53.264Z","0.35.0":"2026-04-25T08:01:43.526Z","0.36.0":"2026-04-25T08:07:11.126Z","0.37.0":"2026-04-25T12:38:25.971Z","0.38.0":"2026-04-25T13:45:43.093Z"},"license":"MIT","keywords":["acp","agent","jetbrains","openai-compatible","relay"],"description":"ACP-compatible coding agent using OpenAI-compatible relay APIs","maintainers":[{"name":"baliangxiansheng","email":"tdw970122@gmail.com"}],"readme":"# Relay Coding Agent (JS)\n\n面向 IDEA/JetBrains ACP 的 Node.js 版 Coding Agent，支持：\n\n- OpenAI-compatible 中转 API（`/chat/completions`）\n- 交互式对话\n- 自动改代码（tool calling：`read_file`/`write_file`）\n- 白名单命令执行（`run_command`）\n- ACP `stdio` 协议接入（可在 AI Chat 里作为自定义 Agent）\n\n## 项目结构\n\n- `src/config.js`：环境变量配置\n- `src/relayClient.js`：中转 API 客户端\n- `src/tools.js`：文件与命令工具\n- `src/agent.js`：Agent 推理与工具循环\n- `src/acpServer.js`：ACP JSON-RPC 服务（newline-delimited）\n- `src/cli.js`：本地 CLI\n- `bin/relay-agent.js`：命令行入口\n- `bin/relay-agent-acp.js`：ACP 独立入口\n\n## 本地运行\n\n1. 配置环境变量（参考 `.env.example`）。\n也可以直接复制一份 `.env`：\n\n```powershell\nCopy-Item .env.example .env\n```\n\n然后填入你的 `LLM_BASE_URL` / `LLM_API_KEY` / `LLM_MODEL`。程序会自动加载项目根目录 `.env`（可用 `RELAY_AGENT_ENV_FILE` 指定其他路径）。\n2. 安装依赖（当前仅 Node 内置模块，无额外依赖）：\n\n```powershell\nnpm install\n```\n\n3. 启动交互式 CLI：\n\n```powershell\nnpm start\n```\n\n4. 单次执行：\n\n```powershell[relay-agent.js](bin/relay-agent.js)\nnode ./bin/relay-agent.js --workspace-root . --prompt \"读取 main.py 并给出改进建议\"\n```\n\n5. 安装\n```powershell\nnpm i -g relay-coding-agent --registry https://registry.npmmirror.com\n```\n\n6. 更新\n```powershell\n# 查看版本\nnpm view relay-coding-agent version\n# 更新\nnpm update -g relay-coding-agent --registry https://registry.npmmirror.com\n```\n\n\n## IDEA 接入 ACP\n\n将 `acp.json.template` 内容复制到 `~/.jetbrains/acp.json`，按需修改：\n\n- `LLM_BASE_URL`\n- `LLM_API_KEY`\n- `LLM_MODEL`\n- `WORKSPACE_ROOT`\n\n模板默认通过本地 `node` + 绝对脚本路径启动（Windows + IDEA 更稳定）：\n\n```json\n\"command\": \"node\",\n\"args\": [\"D:/project/temp/bin/relay-agent-acp.js\"]\n```\n\n这样可以避开 IDEA 子进程环境中常见的 `npx`/PATH 初始化问题，降低 `Failed to initialize ACP session / Process cancelled` 的概率。\n\n如果你希望走在线安装方式，也可以改回：\n\n```json\n\"command\": \"npx\",\n\"args\": [\"-y\", \"relay-coding-agent\", \"acp\"]\n```\n\n## 发布流程（Automation Token / 2FA）\n\n当 npm 账号启用了 2FA 或组织策略要求使用 automation/granular token 时，按下面流程发布。\n\n### 1) 创建自动化令牌（automation token）\n\n- 登录 npm 网站进入令牌管理页：`https://www.npmjs.com/settings/<你的用户名>/tokens`\n\n复制生成的令牌字符串（形如 `npm_xxxxxx`）。\n\n### 2) 配置到本地环境\n项目目录创建 `.npmrc`\n\n```text\n//registry.npmjs.org/:_authToken=你的令牌字符串\n```\n\n## Swarm 配置（新增）\n\n可在 `.env` 中设置：\n\n- `SWARM_ENABLED=true`\n- `SWARM_PARALLEL_MAX_TASKS=2`\n- `SWARM_REVIEW_TESTER_SEQUENTIAL=true`\n\n回归测试命令：\n\n```powershell\nnpm run test:swarm\n```\n\n建议同时把 `.npmrc` 加入 `.gitignore`，并只在 CI 中通过 Secret 注入。\n\n### 3) 检查 package.json 配置\n\n```powershell\nnpm pkg verify\n```\n\n### 4) 更新版本号（SemVer 规范）\n\n```powershell\n# 补丁版本（修复 bug，如 1.0.0 → 1.0.1）\nnpm version patch\n# 次版本（新增功能，如 1.0.1 → 1.1.0）\nnpm version minor\n# 主版本（不兼容更新，如 1.1.0 → 2.0.0）\nnpm version major\n```\n\n### 5) 立即测试发布\n\n```powershell\nnpm publish --access public --dry-run\nnpm publish --access public\n```\n\n## 安全策略\n\n- 文件访问限制在 `WORKSPACE_ROOT`\n- 命令执行白名单：`ALLOWED_COMMANDS`\n- 阻断控制操作符：`&&` `||` `|` `;`\n- 权限模型采用二维抽象：`AGENT_SANDBOX_MODE + AGENT_APPROVAL_POLICY`\n- 兼容旧配置：`AGENT_PERMISSION_MODE + AGENT_OPTION_STRATEGY`（仅作为新字段缺省时的回退）\n\n## 当前能力边界\n\n已实现：\n\n- `initialize`\n- `authenticate`\n- `session/new`\n- `session/prompt`\n- `session/cancel`（通知）\n\n未实现：\n\n- `session/load`\n- MCP server 透传执行\n\n## AI Chat 中转范围说明\n\n- `~/.jetbrains/acp.json` 中建议只保留 `agent_servers`，不要设置 `default_mcp_settings.use_custom_mcp=true` 这类全局默认。\n- 本项目的中转只在 `Relay Coding Agent` 这个 ACP 智能体内生效。\n- IDEA AI Chat 内置模型（非该 ACP 智能体）会继续走 IDE 自带的模型通道。\n\n## Session Persistence (SQLite)\n\n- The SQLite database is application-level storage, not only for sessions.\n- Session data is persisted there and restored on restart.\n- Default path on Windows: `C:\\Users\\<username>\\.relay\\relay.db`.\n- Default path on Linux/macOS: `~/.relay/relay.db`.\n- You can override with env var: `RELAY_AGENT_DB_FILE` (legacy `RELAY_AGENT_SESSIONS_DB_FILE` is still supported).\n","readmeFilename":"README.md"}