{"_id":"opencode-qwen-cli-auth","_rev":"36-556833b993bfbed89fe2f24de06396cf","name":"opencode-qwen-cli-auth","dist-tags":{"latest":"3.1.2"},"versions":{"1.0.0":{"name":"opencode-qwen-cli-auth","version":"1.0.0","keywords":["opencode","qwen","alibaba","dashscope","oauth","qwen-cli","qwen-coder","plugin","auth"],"author":{"name":"Geoff Hammond"},"license":"MIT","_id":"opencode-qwen-cli-auth@1.0.0","maintainers":[{"name":"tranvandau","email":"vanhuytran935@gmail.com"}],"homepage":"https://github.com/TVD-00/opencode-qwen-cli-auth#readme","bugs":{"url":"https://github.com/TVD-00/opencode-qwen-cli-auth/issues"},"dist":{"shasum":"8e02afc30d5b68a39c30038af467486110b8ddc1","tarball":"https://registry.npmjs.org/opencode-qwen-cli-auth/-/opencode-qwen-cli-auth-1.0.0.tgz","fileCount":76,"integrity":"sha512-lv0v44VsPCfF73oITBpyld313w+K7gEFgLRhNiTckWtB6d7DFYX126nN3uCjubVYOGn7gELDKUPwC/hH9G5cvg==","signatures":[{"sig":"MEUCICwross2+hbYGI28tIKK7LHWlV+s31GMd8EO1qUd2EliAiEAnDCU7MznijsyMCCJpYBRh2YvgRul1rCoOL2S4XDaSA4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":209707},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"29ed869fcb5da9c6f6577299cce0629e38bd56e9","scripts":{"lint":"eslint . --ext .ts","test":"vitest run","build":"tsc && node scripts/copy-fallback.mjs","format":"prettier --write \"**/*.{ts,json,md}\"","test:ui":"vitest --ui","lint:fix":"eslint . --ext .ts --fix","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check \"**/*.{ts,json,md}\"","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"tranvandau","email":"vanhuytran935@gmail.com"},"repository":{"url":"git+https://github.com/TVD-00/opencode-qwen-cli-auth.git","type":"git"},"_npmVersion":"10.9.2","description":"Alibaba Qwen OAuth authentication plugin for opencode - use your Qwen account instead of API keys","directories":{},"_nodeVersion":"23.11.0","dependencies":{"@openauthjs/openauth":"^0.4.3"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","vitest":"^3.2.4","prettier":"^3.0.0","@vitest/ui":"^3.2.4","typescript":"^5.9.3","@types/node":"^24.6.2","@opencode-ai/sdk":"^0.13.9","@opencode-ai/plugin":"^0.13.7","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0"},"peerDependencies":{"@opencode-ai/plugin":"^0.13.7"},"_npmOperationalInternal":{"tmp":"tmp/opencode-qwen-cli-auth_1.0.0_1771834947635_0.14809324006843072","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"opencode-qwen-cli-auth","version":"1.0.1","keywords":["opencode","qwen","alibaba","dashscope","oauth","qwen-cli","qwen-coder","plugin","auth"],"author":{"name":"Geoff Hammond"},"license":"MIT","_id":"opencode-qwen-cli-auth@1.0.1","maintainers":[{"name":"tranvandau","email":"vanhuytran935@gmail.com"}],"homepage":"https://github.com/TVD-00/opencode-qwen-cli-auth#readme","bugs":{"url":"https://github.com/TVD-00/opencode-qwen-cli-auth/issues"},"dist":{"shasum":"4c2dc39e6a441157efb100f224460335b099cc1a","tarball":"https://registry.npmjs.org/opencode-qwen-cli-auth/-/opencode-qwen-cli-auth-1.0.1.tgz","fileCount":31,"integrity":"sha512-kq0tK+x04xQLp9GrAtrTaixCcoDME8BAQefOZVnu/IagB5ppPMa/v+rhPoI+zhSiYKl3igxSvWhhHuasrLAlOg==","signatures":[{"sig":"MEYCIQDpDurojW/mNdoO6CZAqxoZ8yIwaTBX0OLng1MJtO4+dQIhAKdGzk/Dkl/JQg6Uz1zaiqTpD+bghnzmfrMcpXTXflcR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81796},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"29ed869fcb5da9c6f6577299cce0629e38bd56e9","scripts":{"lint":"eslint . --ext .ts","test":"vitest run","build":"tsc && node scripts/copy-fallback.mjs","format":"prettier --write \"**/*.{ts,json,md}\"","test:ui":"vitest --ui","lint:fix":"eslint . --ext .ts --fix","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check \"**/*.{ts,json,md}\"","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"tranvandau","email":"vanhuytran935@gmail.com"},"repository":{"url":"git+https://github.com/TVD-00/opencode-qwen-cli-auth.git","type":"git"},"_npmVersion":"10.9.2","description":"Alibaba Qwen OAuth authentication plugin for opencode - use your Qwen account instead of API keys","directories":{},"_nodeVersion":"23.11.0","dependencies":{"@openauthjs/openauth":"^0.4.3"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","vitest":"^3.2.4","prettier":"^3.0.0","@vitest/ui":"^3.2.4","typescript":"^5.9.3","@types/node":"^24.6.2","@opencode-ai/sdk":"^0.13.9","@opencode-ai/plugin":"^0.13.7","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0"},"peerDependencies":{"@opencode-ai/plugin":"^0.13.7"},"_npmOperationalInternal":{"tmp":"tmp/opencode-qwen-cli-auth_1.0.1_1771835507883_0.7467574913078958","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"opencode-qwen-cli-auth","version":"1.0.2","keywords":["opencode","qwen","alibaba","dashscope","oauth","qwen-cli","qwen-coder","plugin","auth"],"author":{"name":"Geoff Hammond"},"license":"MIT","_id":"opencode-qwen-cli-auth@1.0.2","maintainers":[{"name":"tranvandau","email":"vanhuytran935@gmail.com"}],"homepage":"https://github.com/TVD-00/opencode-qwen-cli-auth#readme","bugs":{"url":"https://github.com/TVD-00/opencode-qwen-cli-auth/issues"},"dist":{"shasum":"5818b85f438e1aa37a06c4c5e9bf8373141c48ea","tarball":"https://registry.npmjs.org/opencode-qwen-cli-auth/-/opencode-qwen-cli-auth-1.0.2.tgz","fileCount":31,"integrity":"sha512-lHEfxuobMrtQKsWkCISVebb70mbZWykweJp18wmJMYIR3MkSaMx3+dLeHm/SJ9YlotgdGKN1YAYmeWc5cXnFEA==","signatures":[{"sig":"MEUCIQDVSEH1UucXFn4N1YxVQUQGGjWXTq6UyHrUgWCRPzMbuQIgE5H5B4L/NLxKL32Yzx6Zy5K3Dvb+jeDkker9kk10ctE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81952},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"3443860a5f4e0c6eca18030913e1fc9497000353","scripts":{"lint":"eslint . --ext .ts","test":"vitest run","build":"tsc && node scripts/copy-fallback.mjs","format":"prettier --write \"**/*.{ts,json,md}\"","test:ui":"vitest --ui","lint:fix":"eslint . --ext .ts --fix","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check \"**/*.{ts,json,md}\"","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"tranvandau","email":"vanhuytran935@gmail.com"},"repository":{"url":"git+https://github.com/TVD-00/opencode-qwen-cli-auth.git","type":"git"},"_npmVersion":"10.9.2","description":"Alibaba Qwen OAuth authentication plugin for opencode - use your Qwen account instead of API keys","directories":{},"_nodeVersion":"23.11.0","dependencies":{"@openauthjs/openauth":"^0.4.3"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","vitest":"^3.2.4","prettier":"^3.0.0","@vitest/ui":"^3.2.4","typescript":"^5.9.3","@types/node":"^24.6.2","@opencode-ai/sdk":"^0.13.9","@opencode-ai/plugin":"^0.13.7","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0"},"peerDependencies":{"@opencode-ai/plugin":"^0.13.7"},"_npmOperationalInternal":{"tmp":"tmp/opencode-qwen-cli-auth_1.0.2_1771835699916_0.19274473129785097","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"opencode-qwen-cli-auth","version":"1.0.3","keywords":["opencode","qwen","alibaba","dashscope","oauth","qwen-cli","qwen-coder","plugin","auth"],"author":{"name":"Geoff Hammond"},"license":"MIT","_id":"opencode-qwen-cli-auth@1.0.3","maintainers":[{"name":"tranvandau","email":"vanhuytran935@gmail.com"}],"homepage":"https://github.com/TVD-00/opencode-qwen-cli-auth#readme","bugs":{"url":"https://github.com/TVD-00/opencode-qwen-cli-auth/issues"},"dist":{"shasum":"89f3c51aea82c13e536eec0258f6e8bd63d54362","tarball":"https://registry.npmjs.org/opencode-qwen-cli-auth/-/opencode-qwen-cli-auth-1.0.3.tgz","fileCount":31,"integrity":"sha512-r3k42k8o8olbbG5Z0qZoaH0M1QLw9EMZrHhxVCEHNqhuJ7ad2hweKeNgoJCSaXO+c/wfg/ZP7wfBy20LprpkxA==","signatures":[{"sig":"MEUCICiJASJDxrS7Y07dH7z6q5ay6zm3mCqG3OoUILDu+IH6AiEAlVRh7woPNgnt+y+XthpdJ7w372EOVgh6BPrid5uh5Oo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81432},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"3443860a5f4e0c6eca18030913e1fc9497000353","scripts":{"lint":"eslint . --ext .ts","test":"vitest run","build":"tsc && node scripts/copy-fallback.mjs","format":"prettier --write \"**/*.{ts,json,md}\"","test:ui":"vitest --ui","lint:fix":"eslint . --ext .ts --fix","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check \"**/*.{ts,json,md}\"","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"tranvandau","email":"vanhuytran935@gmail.com"},"repository":{"url":"git+https://github.com/TVD-00/opencode-qwen-cli-auth.git","type":"git"},"_npmVersion":"10.9.2","description":"Alibaba Qwen OAuth authentication plugin for opencode - use your Qwen account instead of API keys","directories":{},"_nodeVersion":"23.11.0","dependencies":{"@openauthjs/openauth":"^0.4.3"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","vitest":"^3.2.4","prettier":"^3.0.0","@vitest/ui":"^3.2.4","typescript":"^5.9.3","@types/node":"^24.6.2","@opencode-ai/sdk":"^0.13.9","@opencode-ai/plugin":"^0.13.7","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0"},"peerDependencies":{"@opencode-ai/plugin":"^0.13.7"},"_npmOperationalInternal":{"tmp":"tmp/opencode-qwen-cli-auth_1.0.3_1771835937027_0.761381273926494","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"opencode-qwen-cli-auth","version":"1.0.4","keywords":["opencode","qwen","alibaba","dashscope","oauth","qwen-cli","qwen-coder","plugin","auth"],"author":{"name":"Geoff Hammond"},"license":"MIT","_id":"opencode-qwen-cli-auth@1.0.4","maintainers":[{"name":"tranvandau","email":"vanhuytran935@gmail.com"}],"homepage":"https://github.com/TVD-00/opencode-qwen-cli-auth#readme","bugs":{"url":"https://github.com/TVD-00/opencode-qwen-cli-auth/issues"},"dist":{"shasum":"22b6477f1b15f5a7b01a5834c392109cb7f553a9","tarball":"https://registry.npmjs.org/opencode-qwen-cli-auth/-/opencode-qwen-cli-auth-1.0.4.tgz","fileCount":76,"integrity":"sha512-04jQCjjQVp18F9F5SoPMvFYx2It4jf2bkqcUIQlq6wRcCJ+ZI+wsfGZKAFuBwxto27DpGv6pQ0NdQuwd+9VJ/A==","signatures":[{"sig":"MEQCIFijNohZHIFVd8exYlE63VkkCL0oRZOLXOQznrCmzXWqAiBvj7oaKRroITf4TobW7QQD9dJwhsTUsQhlDbK7UAhCSw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":211648},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"29ed869fcb5da9c6f6577299cce0629e38bd56e9","scripts":{"lint":"eslint . --ext .ts","test":"vitest run","build":"tsc && node scripts/copy-fallback.mjs","format":"prettier --write \"**/*.{ts,json,md}\"","test:ui":"vitest --ui","lint:fix":"eslint . --ext .ts --fix","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check \"**/*.{ts,json,md}\"","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"tranvandau","email":"vanhuytran935@gmail.com"},"repository":{"url":"git+https://github.com/TVD-00/opencode-qwen-cli-auth.git","type":"git"},"_npmVersion":"10.9.2","description":"Alibaba Qwen OAuth authentication plugin for opencode - use your Qwen account instead of API keys","directories":{},"_nodeVersion":"23.11.0","dependencies":{"@openauthjs/openauth":"^0.4.3"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","vitest":"^3.2.4","prettier":"^3.0.0","@vitest/ui":"^3.2.4","typescript":"^5.9.3","@types/node":"^24.6.2","@opencode-ai/sdk":"^0.13.9","@opencode-ai/plugin":"^0.13.7","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0"},"peerDependencies":{"@opencode-ai/plugin":"^0.13.7"},"_npmOperationalInternal":{"tmp":"tmp/opencode-qwen-cli-auth_1.0.4_1771836147836_0.7993665810146264","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"opencode-qwen-cli-auth","version":"2.0.0","keywords":["opencode","qwen","alibaba","dashscope","oauth","qwen-cli","qwen-coder","plugin","auth"],"author":{"name":"Geoff Hammond"},"license":"MIT","_id":"opencode-qwen-cli-auth@2.0.0","maintainers":[{"name":"tranvandau","email":"vanhuytran935@gmail.com"}],"homepage":"https://github.com/TVD-00/opencode-qwen-cli-auth#readme","bugs":{"url":"https://github.com/TVD-00/opencode-qwen-cli-auth/issues"},"dist":{"shasum":"97efe3dbc00662dfafac74496a6773d0ffa003ae","tarball":"https://registry.npmjs.org/opencode-qwen-cli-auth/-/opencode-qwen-cli-auth-2.0.0.tgz","fileCount":76,"integrity":"sha512-XeaVz5TCDxAQaUtLZWUpiparK1LCoT5ZzehaqUx4O6m1DLgW5YQV4uN73VV1Jmx8ZxZW6x6ArJmoj4L7ZZYbIg==","signatures":[{"sig":"MEUCIQDoJ45+AZKzt5dRbgwdmEeRZnkmjXLLi/0rDE7JNVRGOAIgS78lwWZmtpM342t1W93G+FJn7FuLL/aX76BlZKVDTBM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":213127},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"29ed869fcb5da9c6f6577299cce0629e38bd56e9","scripts":{"lint":"eslint . --ext .ts","test":"vitest run","build":"tsc && node scripts/copy-fallback.mjs","format":"prettier --write \"**/*.{ts,json,md}\"","test:ui":"vitest --ui","lint:fix":"eslint . --ext .ts --fix","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check \"**/*.{ts,json,md}\"","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"tranvandau","email":"vanhuytran935@gmail.com"},"repository":{"url":"git+https://github.com/TVD-00/opencode-qwen-cli-auth.git","type":"git"},"_npmVersion":"10.9.2","description":"Qwen OAuth authentication plugin for opencode - use your Qwen account instead of API keys","directories":{},"_nodeVersion":"23.11.0","dependencies":{"@openauthjs/openauth":"^0.4.3"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","vitest":"^3.2.4","prettier":"^3.0.0","@vitest/ui":"^3.2.4","typescript":"^5.9.3","@types/node":"^24.6.2","@opencode-ai/sdk":"^0.13.9","@opencode-ai/plugin":"^0.13.7","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0"},"peerDependencies":{"@opencode-ai/plugin":"^0.13.7"},"_npmOperationalInternal":{"tmp":"tmp/opencode-qwen-cli-auth_2.0.0_1771837197804_0.7527822180690342","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"opencode-qwen-cli-auth","version":"2.0.1","keywords":["opencode","qwen","alibaba","dashscope","oauth","qwen-cli","qwen-coder","plugin","auth"],"author":{"name":"Geoff Hammond"},"license":"MIT","_id":"opencode-qwen-cli-auth@2.0.1","maintainers":[{"name":"tranvandau","email":"vanhuytran935@gmail.com"}],"homepage":"https://github.com/TVD-00/opencode-qwen-cli-auth#readme","bugs":{"url":"https://github.com/TVD-00/opencode-qwen-cli-auth/issues"},"dist":{"shasum":"3020e7b66f5b17e0f5c0eea44e8c938107082bd7","tarball":"https://registry.npmjs.org/opencode-qwen-cli-auth/-/opencode-qwen-cli-auth-2.0.1.tgz","fileCount":76,"integrity":"sha512-joRo7NvJ4BqyWlySwpAF/e0BZHZnB7NFACwmS2srPegolRO+RH5350scELjq7pcr1+RnU+w0F3te+DwXtcUbbQ==","signatures":[{"sig":"MEQCIEMn1ohJ757UA0WiAxA8Rk2uzq1VTA9FHO5l7VtrLsNmAiAlPeB/c/XR5NauGKMk+mZKVEF+qXnw+NJUaxPvqiqqCg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":213089},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"29ed869fcb5da9c6f6577299cce0629e38bd56e9","scripts":{"lint":"eslint . --ext .ts","test":"vitest run","build":"tsc && node scripts/copy-fallback.mjs","format":"prettier --write \"**/*.{ts,json,md}\"","test:ui":"vitest --ui","lint:fix":"eslint . --ext .ts --fix","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check \"**/*.{ts,json,md}\"","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"tranvandau","email":"vanhuytran935@gmail.com"},"repository":{"url":"git+https://github.com/TVD-00/opencode-qwen-cli-auth.git","type":"git"},"_npmVersion":"10.9.2","description":"Qwen OAuth authentication plugin for opencode - use your Qwen account instead of API keys","directories":{},"_nodeVersion":"23.11.0","dependencies":{"@openauthjs/openauth":"^0.4.3"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","vitest":"^3.2.4","prettier":"^3.0.0","@vitest/ui":"^3.2.4","typescript":"^5.9.3","@types/node":"^24.6.2","@opencode-ai/sdk":"^0.13.9","@opencode-ai/plugin":"^0.13.7","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0"},"peerDependencies":{"@opencode-ai/plugin":"^0.13.7"},"_npmOperationalInternal":{"tmp":"tmp/opencode-qwen-cli-auth_2.0.1_1771837878814_0.7349715477849117","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"opencode-qwen-cli-auth","version":"2.1.0","keywords":["opencode","qwen","alibaba","dashscope","oauth","qwen-cli","qwen-coder","plugin","auth"],"author":{"name":"Geoff Hammond"},"license":"MIT","_id":"opencode-qwen-cli-auth@2.1.0","maintainers":[{"name":"tranvandau","email":"vanhuytran935@gmail.com"}],"homepage":"https://github.com/TVD-00/opencode-qwen-cli-auth#readme","bugs":{"url":"https://github.com/TVD-00/opencode-qwen-cli-auth/issues"},"dist":{"shasum":"cd7d0903bd38be4e29af30bbd97f875d82b44364","tarball":"https://registry.npmjs.org/opencode-qwen-cli-auth/-/opencode-qwen-cli-auth-2.1.0.tgz","fileCount":76,"integrity":"sha512-9uryWGVJVdtGi9Cb4LTqc4KqV00MCqItHNfLdu7r/kofjbAHdYOZeSsbd3XY4yUiuxOM6cNQ++Eug+wKtpoKTA==","signatures":[{"sig":"MEQCIHnqdSTxAa92rU+IlX9MxWk21i3Gs0DqZqij/81ylARvAiBpGOC2SCpxSFrCy32WSpGW5ifBx2uPIYR/20r24XvD+Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":213686},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"29ed869fcb5da9c6f6577299cce0629e38bd56e9","scripts":{"lint":"eslint . --ext .ts","test":"vitest run","build":"tsc && node scripts/copy-fallback.mjs","format":"prettier --write \"**/*.{ts,json,md}\"","test:ui":"vitest --ui","lint:fix":"eslint . --ext .ts --fix","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check \"**/*.{ts,json,md}\"","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"tranvandau","email":"vanhuytran935@gmail.com"},"repository":{"url":"git+https://github.com/TVD-00/opencode-qwen-cli-auth.git","type":"git"},"_npmVersion":"10.9.2","description":"Qwen OAuth authentication plugin for opencode - use your Qwen account instead of API keys","directories":{},"_nodeVersion":"23.11.0","dependencies":{"@openauthjs/openauth":"^0.4.3"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","vitest":"^3.2.4","prettier":"^3.0.0","@vitest/ui":"^3.2.4","typescript":"^5.9.3","@types/node":"^24.6.2","@opencode-ai/sdk":"^0.13.9","@opencode-ai/plugin":"^0.13.7","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0"},"peerDependencies":{"@opencode-ai/plugin":"^0.13.7"},"_npmOperationalInternal":{"tmp":"tmp/opencode-qwen-cli-auth_2.1.0_1771840661128_0.9441945681839421","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"opencode-qwen-cli-auth","version":"2.1.1","keywords":["opencode","qwen","alibaba","dashscope","oauth","qwen-cli","qwen-coder","plugin","auth"],"author":{"name":"Geoff Hammond"},"license":"MIT","_id":"opencode-qwen-cli-auth@2.1.1","maintainers":[{"name":"tranvandau","email":"vanhuytran935@gmail.com"}],"homepage":"https://github.com/TVD-00/opencode-qwen-cli-auth#readme","bugs":{"url":"https://github.com/TVD-00/opencode-qwen-cli-auth/issues"},"dist":{"shasum":"1154e3a70179069fd4e96188d675fa8aeb03551d","tarball":"https://registry.npmjs.org/opencode-qwen-cli-auth/-/opencode-qwen-cli-auth-2.1.1.tgz","fileCount":31,"integrity":"sha512-sJyIxq7wKvh52O8BoJE23BD9ipBG7g+5PJcYPY3mriBBZMU3CDmFtDn8Hvga76dREiMmBPjXgr5h0Ym4T8JGMw==","signatures":[{"sig":"MEYCIQDX0aR4/WIpwPXD/DqNm9QRygdQwdGds6Io7HOMTEkO+wIhAKn+6DX0P3le5LZ35WkyDcTru8a7XsNrHEs1yCISd608","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":83738},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"29ed869fcb5da9c6f6577299cce0629e38bd56e9","scripts":{"lint":"eslint . --ext .ts","test":"vitest run","build":"tsc && node scripts/copy-fallback.mjs","format":"prettier --write \"**/*.{ts,json,md}\"","test:ui":"vitest --ui","lint:fix":"eslint . --ext .ts --fix","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check \"**/*.{ts,json,md}\"","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"tranvandau","email":"vanhuytran935@gmail.com"},"repository":{"url":"git+https://github.com/TVD-00/opencode-qwen-cli-auth.git","type":"git"},"_npmVersion":"10.9.2","description":"Qwen OAuth authentication plugin for opencode - use your Qwen account instead of API keys","directories":{},"_nodeVersion":"23.11.0","dependencies":{"@openauthjs/openauth":"^0.4.3"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","vitest":"^3.2.4","prettier":"^3.0.0","@vitest/ui":"^3.2.4","typescript":"^5.9.3","@types/node":"^24.6.2","@opencode-ai/sdk":"^0.13.9","@opencode-ai/plugin":"^0.13.7","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0"},"peerDependencies":{"@opencode-ai/plugin":"^0.13.7"},"_npmOperationalInternal":{"tmp":"tmp/opencode-qwen-cli-auth_2.1.1_1771841021439_0.5049164068222729","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"opencode-qwen-cli-auth","version":"2.2.0","keywords":["opencode","qwen","alibaba","dashscope","oauth","qwen-cli","qwen-coder","plugin","auth"],"author":{"name":"Geoff Hammond"},"license":"MIT","_id":"opencode-qwen-cli-auth@2.2.0","maintainers":[{"name":"tranvandau","email":"vanhuytran935@gmail.com"}],"homepage":"https://github.com/TVD-00/opencode-qwen-cli-auth#readme","bugs":{"url":"https://github.com/TVD-00/opencode-qwen-cli-auth/issues"},"dist":{"shasum":"c8cb01ea2f94db34db35fe27788e0c49a9223bd8","tarball":"https://registry.npmjs.org/opencode-qwen-cli-auth/-/opencode-qwen-cli-auth-2.2.0.tgz","fileCount":31,"integrity":"sha512-9knZOWvztqs28qsZkY3Y+jxzTN+DakECXBBXXnigcIjP3g2nycsmbRoslb/dhRX2QAwCPHkhv4EhWUaECCpNCQ==","signatures":[{"sig":"MEUCIF54Fj8X7XDKXvVau2Vk06Gn5SRPcS42BsXGB9KInqgvAiEAnz2MLjEJPV4gc8wdzE8HTdSRtQcZBcQEOYmb14CJwU4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":83814},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"1f3cd3956d91e0a7cc3141117573bcfff9179cc3","scripts":{"lint":"eslint . --ext .ts","test":"vitest run","build":"tsc && node scripts/copy-fallback.mjs","format":"prettier --write \"**/*.{ts,json,md}\"","test:ui":"vitest --ui","lint:fix":"eslint . --ext .ts --fix","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check \"**/*.{ts,json,md}\"","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"tranvandau","email":"vanhuytran935@gmail.com"},"repository":{"url":"git+https://github.com/TVD-00/opencode-qwen-cli-auth.git","type":"git"},"_npmVersion":"10.9.2","description":"Qwen OAuth authentication plugin for opencode - use your Qwen account instead of API keys","directories":{},"_nodeVersion":"23.11.0","dependencies":{"@openauthjs/openauth":"^0.4.3"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","vitest":"^3.2.4","prettier":"^3.0.0","@vitest/ui":"^3.2.4","typescript":"^5.9.3","@types/node":"^24.6.2","@opencode-ai/sdk":"^0.13.9","@opencode-ai/plugin":"^0.13.7","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0"},"peerDependencies":{"@opencode-ai/plugin":"^0.13.7"},"_npmOperationalInternal":{"tmp":"tmp/opencode-qwen-cli-auth_2.2.0_1771841659002_0.2766413133024992","host":"s3://npm-registry-packages-npm-production"}},"2.2.1":{"name":"opencode-qwen-cli-auth","version":"2.2.1","keywords":["opencode","qwen","alibaba","dashscope","oauth","qwen-cli","qwen-coder","plugin","auth"],"author":{"name":"Geoff Hammond"},"license":"MIT","_id":"opencode-qwen-cli-auth@2.2.1","maintainers":[{"name":"tranvandau","email":"vanhuytran935@gmail.com"}],"homepage":"https://github.com/TVD-00/opencode-qwen-cli-auth#readme","bugs":{"url":"https://github.com/TVD-00/opencode-qwen-cli-auth/issues"},"dist":{"shasum":"757f42420fb7a2f916ff7795ccf873fdbb3f180d","tarball":"https://registry.npmjs.org/opencode-qwen-cli-auth/-/opencode-qwen-cli-auth-2.2.1.tgz","fileCount":31,"integrity":"sha512-RZb0FT8TkEY4Y4IYWL1l4DAQJMSvB41WNyz5Zpn216k6FFNt/1B7Rnp30JkplbfKQGtmTnjDU4xZs4zK4ACgqA==","signatures":[{"sig":"MEYCIQDO/lVBvdNwHYNtDBe6asw2fkW0qlrXdcXB7mRQZpBNsQIhALzimuoTMqLnvCjsjxBpwnIKJwzV/FqfzPxlzHi62Kg4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":83899},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"a9b166496419d4e468f32269d37b635317e2b1c3","scripts":{"lint":"eslint . --ext .ts","test":"vitest run","build":"tsc && node scripts/copy-fallback.mjs","format":"prettier --write \"**/*.{ts,json,md}\"","test:ui":"vitest --ui","lint:fix":"eslint . --ext .ts --fix","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check \"**/*.{ts,json,md}\"","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"tranvandau","email":"vanhuytran935@gmail.com"},"repository":{"url":"git+https://github.com/TVD-00/opencode-qwen-cli-auth.git","type":"git"},"_npmVersion":"10.9.2","description":"Qwen OAuth authentication plugin for opencode - use your Qwen account instead of API keys","directories":{},"_nodeVersion":"23.11.0","dependencies":{"@openauthjs/openauth":"^0.4.3"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","vitest":"^3.2.4","prettier":"^3.0.0","@vitest/ui":"^3.2.4","typescript":"^5.9.3","@types/node":"^24.6.2","@opencode-ai/sdk":"^0.13.9","@opencode-ai/plugin":"^0.13.7","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0"},"peerDependencies":{"@opencode-ai/plugin":"^0.13.7"},"_npmOperationalInternal":{"tmp":"tmp/opencode-qwen-cli-auth_2.2.1_1771841915528_0.9110546578970111","host":"s3://npm-registry-packages-npm-production"}},"2.2.2":{"name":"opencode-qwen-cli-auth","version":"2.2.2","keywords":["opencode","qwen","alibaba","dashscope","oauth","qwen-cli","qwen-coder","plugin","auth"],"author":{"name":"Geoff Hammond"},"license":"MIT","_id":"opencode-qwen-cli-auth@2.2.2","maintainers":[{"name":"tranvandau","email":"vanhuytran935@gmail.com"}],"homepage":"https://github.com/TVD-00/opencode-qwen-cli-auth#readme","bugs":{"url":"https://github.com/TVD-00/opencode-qwen-cli-auth/issues"},"dist":{"shasum":"76eb2d74ec0f6f03c336f4bf153e0ddd81d49a7e","tarball":"https://registry.npmjs.org/opencode-qwen-cli-auth/-/opencode-qwen-cli-auth-2.2.2.tgz","fileCount":31,"integrity":"sha512-kh//4JHTphNOPO76advQ9xKGJQQdWU7O/RUOe8XEbkn+pYbjFEWFFCXWmF22+Q/GE3e70oIeNHEaNgtB1o2COw==","signatures":[{"sig":"MEQCIGsdS3WHPxhOpKlc4FB2IXNgUqjamUeZNK7Epp5893iWAiBz48NrUp/ygq65L1LMCXoqrmVecr9+KofBLCAsvbaVSg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":95364},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"ec4880c415d81628ada812a85b2246c867382030","scripts":{"lint":"eslint . --ext .ts","test":"vitest run","build":"tsc && node scripts/copy-fallback.mjs","format":"prettier --write \"**/*.{ts,json,md}\"","test:ui":"vitest --ui","lint:fix":"eslint . --ext .ts --fix","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check \"**/*.{ts,json,md}\"","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"tranvandau","email":"vanhuytran935@gmail.com"},"repository":{"url":"git+https://github.com/TVD-00/opencode-qwen-cli-auth.git","type":"git"},"_npmVersion":"10.9.2","description":"Qwen OAuth authentication plugin for opencode - use your Qwen account instead of API keys","directories":{},"_nodeVersion":"23.11.0","dependencies":{"@openauthjs/openauth":"^0.4.3"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","vitest":"^3.2.4","prettier":"^3.0.0","@vitest/ui":"^3.2.4","typescript":"^5.9.3","@types/node":"^24.6.2","@opencode-ai/sdk":"^0.13.9","@opencode-ai/plugin":"^0.13.7","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0"},"peerDependencies":{"@opencode-ai/plugin":"^0.13.7"},"_npmOperationalInternal":{"tmp":"tmp/opencode-qwen-cli-auth_2.2.2_1771859778006_0.5899493107667111","host":"s3://npm-registry-packages-npm-production"}},"2.2.3":{"name":"opencode-qwen-cli-auth","version":"2.2.3","keywords":["opencode","qwen","alibaba","dashscope","oauth","qwen-cli","qwen-coder","plugin","auth"],"author":{"name":"Geoff Hammond"},"license":"MIT","_id":"opencode-qwen-cli-auth@2.2.3","maintainers":[{"name":"tranvandau","email":"vanhuytran935@gmail.com"}],"homepage":"https://github.com/TVD-00/opencode-qwen-cli-auth#readme","bugs":{"url":"https://github.com/TVD-00/opencode-qwen-cli-auth/issues"},"dist":{"shasum":"fe613327f0300a4708496182e9a01b9c11d9b6c7","tarball":"https://registry.npmjs.org/opencode-qwen-cli-auth/-/opencode-qwen-cli-auth-2.2.3.tgz","fileCount":31,"integrity":"sha512-Iz0LQbU3/m44bxJfgvq6L+S+vYTZ1+5dWDxC60mEOlvpbcROA9bMfwh566G5T1Xh+uo0u0Risfme4Nq2p8pvfw==","signatures":[{"sig":"MEYCIQCogwflq4/ZieABY21mXfDhneKC6/mI0N2tf5cftjV9oQIhAJm4z0YkYocJTqsFgoOH4M9tUA5gDAZ2du1PL1Rqehw7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":95773},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"ec4880c415d81628ada812a85b2246c867382030","scripts":{"lint":"eslint . --ext .ts","test":"vitest run","build":"tsc && node scripts/copy-fallback.mjs","format":"prettier --write \"**/*.{ts,json,md}\"","test:ui":"vitest --ui","lint:fix":"eslint . --ext .ts --fix","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check \"**/*.{ts,json,md}\"","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"tranvandau","email":"vanhuytran935@gmail.com"},"repository":{"url":"git+https://github.com/TVD-00/opencode-qwen-cli-auth.git","type":"git"},"_npmVersion":"10.9.2","description":"Qwen OAuth authentication plugin for opencode - use your Qwen account instead of API keys","directories":{},"_nodeVersion":"23.11.0","dependencies":{"@openauthjs/openauth":"^0.4.3"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","vitest":"^3.2.4","prettier":"^3.0.0","@vitest/ui":"^3.2.4","typescript":"^5.9.3","@types/node":"^24.6.2","@opencode-ai/sdk":"^0.13.9","@opencode-ai/plugin":"^0.13.7","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0"},"peerDependencies":{"@opencode-ai/plugin":"^0.13.7"},"_npmOperationalInternal":{"tmp":"tmp/opencode-qwen-cli-auth_2.2.3_1771860998663_0.8782739657547916","host":"s3://npm-registry-packages-npm-production"}},"2.2.4":{"name":"opencode-qwen-cli-auth","version":"2.2.4","keywords":["opencode","qwen","alibaba","dashscope","oauth","qwen-cli","qwen-coder","plugin","auth"],"author":{"name":"Geoff Hammond"},"license":"MIT","_id":"opencode-qwen-cli-auth@2.2.4","maintainers":[{"name":"tranvandau","email":"vanhuytran935@gmail.com"}],"homepage":"https://github.com/TVD-00/opencode-qwen-cli-auth#readme","bugs":{"url":"https://github.com/TVD-00/opencode-qwen-cli-auth/issues"},"dist":{"shasum":"24eba8e8ac1139005f64f5d6b0a61d5ba17d80d2","tarball":"https://registry.npmjs.org/opencode-qwen-cli-auth/-/opencode-qwen-cli-auth-2.2.4.tgz","fileCount":31,"integrity":"sha512-78Ej40peDs818sPiUdhU9F0KjV8zO1f440mxtNLC3AuA7LghGgoZaidWsgUmeKpGeyVmTDSWHGLWx17DvuwiEQ==","signatures":[{"sig":"MEYCIQCE+N/I+IiJ9pxhYGgjDc+1rbtk1vZG9DxAZ3byGlE25gIhALF02Y/0OdLV8jy1Wmj4CedB3jGFMXNP8Qf/ahAdKDJK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":106066},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"2ad6e1b704d2b69cd4f1f31047687ab87c596615","scripts":{"lint":"eslint . --ext .ts","test":"vitest run","build":"tsc && node scripts/copy-fallback.mjs","format":"prettier --write \"**/*.{ts,json,md}\"","test:ui":"vitest --ui","lint:fix":"eslint . --ext .ts --fix","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check \"**/*.{ts,json,md}\"","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"tranvandau","email":"vanhuytran935@gmail.com"},"repository":{"url":"git+https://github.com/TVD-00/opencode-qwen-cli-auth.git","type":"git"},"_npmVersion":"10.9.2","description":"Qwen OAuth authentication plugin for opencode - use your Qwen account instead of API keys","directories":{},"_nodeVersion":"23.11.0","dependencies":{"@openauthjs/openauth":"^0.4.3"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","vitest":"^3.2.4","prettier":"^3.0.0","@vitest/ui":"^3.2.4","typescript":"^5.9.3","@types/node":"^24.6.2","@opencode-ai/sdk":"^0.13.9","@opencode-ai/plugin":"^0.13.7","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0"},"peerDependencies":{"@opencode-ai/plugin":"^0.13.7"},"_npmOperationalInternal":{"tmp":"tmp/opencode-qwen-cli-auth_2.2.4_1771869918918_0.3151811992383893","host":"s3://npm-registry-packages-npm-production"}},"2.2.5":{"name":"opencode-qwen-cli-auth","version":"2.2.5","keywords":["opencode","qwen","alibaba","dashscope","oauth","qwen-cli","qwen-coder","plugin","auth"],"author":{"name":"Geoff Hammond"},"license":"MIT","_id":"opencode-qwen-cli-auth@2.2.5","maintainers":[{"name":"tranvandau","email":"vanhuytran935@gmail.com"}],"homepage":"https://github.com/TVD-00/opencode-qwen-cli-auth#readme","bugs":{"url":"https://github.com/TVD-00/opencode-qwen-cli-auth/issues"},"dist":{"shasum":"dbd26023e492d193ae14bdb58b8eb2c93cd329a8","tarball":"https://registry.npmjs.org/opencode-qwen-cli-auth/-/opencode-qwen-cli-auth-2.2.5.tgz","fileCount":31,"integrity":"sha512-/wamalQpoFZwU/+Lk8Yg68rB1SXokyFvZD3QW3zGdIYdZT+YIPIkqeqFk403wQE5kf0AG7DRmchlN5y85bf/rw==","signatures":[{"sig":"MEYCIQC+Qjk+VxJUmrqGF8UhSYEWnVFPovwvCTJEnN14WFxWWQIhAOP+6oQH3cZepwoctIDw42mYkMHVSIW8D/KUH/kTIA0+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":115142},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"2ad6e1b704d2b69cd4f1f31047687ab87c596615","scripts":{"lint":"eslint . --ext .ts","test":"vitest run","build":"tsc && node scripts/copy-fallback.mjs","format":"prettier --write \"**/*.{ts,json,md}\"","test:ui":"vitest --ui","lint:fix":"eslint . --ext .ts --fix","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check \"**/*.{ts,json,md}\"","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"tranvandau","email":"vanhuytran935@gmail.com"},"repository":{"url":"git+https://github.com/TVD-00/opencode-qwen-cli-auth.git","type":"git"},"_npmVersion":"10.9.2","description":"Qwen OAuth authentication plugin for opencode - use your Qwen account instead of API keys","directories":{},"_nodeVersion":"23.11.0","dependencies":{"@openauthjs/openauth":"^0.4.3"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","vitest":"^3.2.4","prettier":"^3.0.0","@vitest/ui":"^3.2.4","typescript":"^5.9.3","@types/node":"^24.6.2","@opencode-ai/sdk":"^0.13.9","@opencode-ai/plugin":"^0.13.7","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0"},"peerDependencies":{"@opencode-ai/plugin":"^0.13.7"},"_npmOperationalInternal":{"tmp":"tmp/opencode-qwen-cli-auth_2.2.5_1771871393251_0.21641389459032734","host":"s3://npm-registry-packages-npm-production"}},"2.2.6":{"name":"opencode-qwen-cli-auth","version":"2.2.6","keywords":["opencode","qwen","alibaba","dashscope","oauth","qwen-cli","qwen-coder","plugin","auth"],"author":{"name":"Geoff Hammond"},"license":"MIT","_id":"opencode-qwen-cli-auth@2.2.6","maintainers":[{"name":"tranvandau","email":"vanhuytran935@gmail.com"}],"homepage":"https://github.com/TVD-00/opencode-qwen-cli-auth#readme","bugs":{"url":"https://github.com/TVD-00/opencode-qwen-cli-auth/issues"},"dist":{"shasum":"115e8b2432b16aa71e66c1b811b9139ad3454de8","tarball":"https://registry.npmjs.org/opencode-qwen-cli-auth/-/opencode-qwen-cli-auth-2.2.6.tgz","fileCount":31,"integrity":"sha512-mZdx0EkE1DXq51OPxuuGWZ4s+ZymtHppdWO9B4hbrr9U/3z/cWyVQ6bUr1vcSVpUIRhNFYDIGJLd5boNd4G4Vg==","signatures":[{"sig":"MEYCIQDkpsOAxZnZIt9RPbzdJLY/BTWN0BGaK27b46umcNf3kwIhALR8zGwcLPmR5+LT8tMpr3V1i92IV7bSxo6QJnpze4Rs","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":118191},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"2ad6e1b704d2b69cd4f1f31047687ab87c596615","scripts":{"lint":"eslint . --ext .ts","test":"vitest run","build":"tsc && node scripts/copy-fallback.mjs","format":"prettier --write \"**/*.{ts,json,md}\"","test:ui":"vitest --ui","lint:fix":"eslint . --ext .ts --fix","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check \"**/*.{ts,json,md}\"","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"tranvandau","email":"vanhuytran935@gmail.com"},"repository":{"url":"git+https://github.com/TVD-00/opencode-qwen-cli-auth.git","type":"git"},"_npmVersion":"10.9.2","description":"Qwen OAuth authentication plugin for opencode - use your Qwen account instead of API keys","directories":{},"_nodeVersion":"23.11.0","dependencies":{"@openauthjs/openauth":"^0.4.3"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","vitest":"^3.2.4","prettier":"^3.0.0","@vitest/ui":"^3.2.4","typescript":"^5.9.3","@types/node":"^24.6.2","@opencode-ai/sdk":"^0.13.9","@opencode-ai/plugin":"^0.13.7","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0"},"peerDependencies":{"@opencode-ai/plugin":"^0.13.7"},"_npmOperationalInternal":{"tmp":"tmp/opencode-qwen-cli-auth_2.2.6_1771872013082_0.3159074856889388","host":"s3://npm-registry-packages-npm-production"}},"2.2.7":{"name":"opencode-qwen-cli-auth","version":"2.2.7","keywords":["opencode","qwen","alibaba","dashscope","oauth","qwen-cli","qwen-coder","plugin","auth"],"author":{"name":"Geoff Hammond"},"license":"MIT","_id":"opencode-qwen-cli-auth@2.2.7","maintainers":[{"name":"tranvandau","email":"vanhuytran935@gmail.com"}],"homepage":"https://github.com/TVD-00/opencode-qwen-cli-auth#readme","bugs":{"url":"https://github.com/TVD-00/opencode-qwen-cli-auth/issues"},"dist":{"shasum":"ffa4039c43f93654a46b941c3b51177b0b61d989","tarball":"https://registry.npmjs.org/opencode-qwen-cli-auth/-/opencode-qwen-cli-auth-2.2.7.tgz","fileCount":31,"integrity":"sha512-Fy1SFYQalqfOzgUg9fPT8yjWE95XnvgeRxT4AkhbeE5n05irOEbf5i037dj5UeBYfg7za0VJDTO/TnJSXLQwLg==","signatures":[{"sig":"MEQCIAmQJ34AfLedWL0kpOq2zQ1hgtcTHi20nneMQWqlIvElAiBqjEitEzb40noEpTOMPFZ9TDmom3DmyBPjwDFCLYhtUg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":118959},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"2ad6e1b704d2b69cd4f1f31047687ab87c596615","scripts":{"lint":"eslint . --ext .ts","test":"vitest run","build":"tsc && node scripts/copy-fallback.mjs","format":"prettier --write \"**/*.{ts,json,md}\"","test:ui":"vitest --ui","lint:fix":"eslint . --ext .ts --fix","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check \"**/*.{ts,json,md}\"","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"tranvandau","email":"vanhuytran935@gmail.com"},"repository":{"url":"git+https://github.com/TVD-00/opencode-qwen-cli-auth.git","type":"git"},"_npmVersion":"10.9.2","description":"Qwen OAuth authentication plugin for opencode - use your Qwen account instead of API keys","directories":{},"_nodeVersion":"23.11.0","dependencies":{"@openauthjs/openauth":"^0.4.3"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","vitest":"^3.2.4","prettier":"^3.0.0","@vitest/ui":"^3.2.4","typescript":"^5.9.3","@types/node":"^24.6.2","@opencode-ai/sdk":"^0.13.9","@opencode-ai/plugin":"^0.13.7","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0"},"peerDependencies":{"@opencode-ai/plugin":"^0.13.7"},"_npmOperationalInternal":{"tmp":"tmp/opencode-qwen-cli-auth_2.2.7_1771872420884_0.16654159444839634","host":"s3://npm-registry-packages-npm-production"}},"2.2.8":{"name":"opencode-qwen-cli-auth","version":"2.2.8","keywords":["opencode","qwen","alibaba","dashscope","oauth","qwen-cli","qwen-coder","plugin","auth"],"author":{"name":"Geoff Hammond"},"license":"MIT","_id":"opencode-qwen-cli-auth@2.2.8","maintainers":[{"name":"tranvandau","email":"vanhuytran935@gmail.com"}],"homepage":"https://github.com/TVD-00/opencode-qwen-cli-auth#readme","bugs":{"url":"https://github.com/TVD-00/opencode-qwen-cli-auth/issues"},"dist":{"shasum":"77c41be74d38339af0c807c3eb614ccf1c13fb0b","tarball":"https://registry.npmjs.org/opencode-qwen-cli-auth/-/opencode-qwen-cli-auth-2.2.8.tgz","fileCount":31,"integrity":"sha512-+3pJBzXFPZYMv1En29LhQmx/n5VaYzwPqNd0Akkz7/pfB8I4/huFB3T0eK0yBJrdTKUVN99zwcQGHRfChvhwOg==","signatures":[{"sig":"MEQCIAr91r17uo2H3hC3X0dr+VMbZUtiS0U2RP4G7dLffdRuAiAhEA21WqD2Ke5xjoj1XWv4Z/HMKPm9swEPuWgowdzwzA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":121789},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"2ad6e1b704d2b69cd4f1f31047687ab87c596615","scripts":{"lint":"eslint . --ext .ts","test":"vitest run","build":"tsc && node scripts/copy-fallback.mjs","format":"prettier --write \"**/*.{ts,json,md}\"","test:ui":"vitest --ui","lint:fix":"eslint . --ext .ts --fix","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check \"**/*.{ts,json,md}\"","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"tranvandau","email":"vanhuytran935@gmail.com"},"repository":{"url":"git+https://github.com/TVD-00/opencode-qwen-cli-auth.git","type":"git"},"_npmVersion":"10.9.2","description":"Qwen OAuth authentication plugin for opencode - use your Qwen account instead of API keys","directories":{},"_nodeVersion":"23.11.0","dependencies":{"@openauthjs/openauth":"^0.4.3"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","vitest":"^3.2.4","prettier":"^3.0.0","@vitest/ui":"^3.2.4","typescript":"^5.9.3","@types/node":"^24.6.2","@opencode-ai/sdk":"^0.13.9","@opencode-ai/plugin":"^0.13.7","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0"},"peerDependencies":{"@opencode-ai/plugin":"^0.13.7"},"_npmOperationalInternal":{"tmp":"tmp/opencode-qwen-cli-auth_2.2.8_1771872975004_0.48739447346703924","host":"s3://npm-registry-packages-npm-production"}},"2.2.9":{"name":"opencode-qwen-cli-auth","version":"2.2.9","keywords":["opencode","qwen","alibaba","dashscope","oauth","qwen-cli","qwen-coder","plugin","auth"],"author":{"name":"Geoff Hammond"},"license":"MIT","_id":"opencode-qwen-cli-auth@2.2.9","maintainers":[{"name":"tranvandau","email":"vanhuytran935@gmail.com"}],"homepage":"https://github.com/TVD-00/opencode-qwen-cli-auth#readme","bugs":{"url":"https://github.com/TVD-00/opencode-qwen-cli-auth/issues"},"dist":{"shasum":"23746fb17972359ab8951e1affbb864ec2aa1119","tarball":"https://registry.npmjs.org/opencode-qwen-cli-auth/-/opencode-qwen-cli-auth-2.2.9.tgz","fileCount":31,"integrity":"sha512-v44tIYSYspYYG4jUbiG7zBPPO1mGxJI7NO2sP0XTmj4elPfoqhszqgB75vQFxV77nDDM2oqunmJrII2Gi1H1NA==","signatures":[{"sig":"MEQCICIZEA4o7GL/HgttPiFfBYzN2imvQL5Iz8Mw9DiBCWXxAiALs9Gct9KJ7zcgsIL7xZUS0cepaAIQP96SaZtWDvQTuQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":124576},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"2ad6e1b704d2b69cd4f1f31047687ab87c596615","scripts":{"lint":"eslint . --ext .ts","test":"vitest run","build":"tsc && node scripts/copy-fallback.mjs","format":"prettier --write \"**/*.{ts,json,md}\"","test:ui":"vitest --ui","lint:fix":"eslint . --ext .ts --fix","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check \"**/*.{ts,json,md}\"","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"tranvandau","email":"vanhuytran935@gmail.com"},"repository":{"url":"git+https://github.com/TVD-00/opencode-qwen-cli-auth.git","type":"git"},"_npmVersion":"10.9.2","description":"Qwen OAuth authentication plugin for opencode - use your Qwen account instead of API keys","directories":{},"_nodeVersion":"23.11.0","dependencies":{"@openauthjs/openauth":"^0.4.3"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","vitest":"^3.2.4","prettier":"^3.0.0","@vitest/ui":"^3.2.4","typescript":"^5.9.3","@types/node":"^24.6.2","@opencode-ai/sdk":"^0.13.9","@opencode-ai/plugin":"^0.13.7","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0"},"peerDependencies":{"@opencode-ai/plugin":"^0.13.7"},"_npmOperationalInternal":{"tmp":"tmp/opencode-qwen-cli-auth_2.2.9_1771933354485_0.05789906198157402","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"opencode-qwen-cli-auth","version":"2.3.0","keywords":["opencode","qwen","alibaba","dashscope","oauth","qwen-cli","qwen-coder","plugin","auth"],"author":{"name":"Geoff Hammond"},"license":"MIT","_id":"opencode-qwen-cli-auth@2.3.0","maintainers":[{"name":"tranvandau","email":"vanhuytran935@gmail.com"}],"homepage":"https://github.com/TVD-00/opencode-qwen-cli-auth#readme","bugs":{"url":"https://github.com/TVD-00/opencode-qwen-cli-auth/issues"},"dist":{"shasum":"90bcbd309c11ac89e1953c5f1c38e7cb3c13ba8e","tarball":"https://registry.npmjs.org/opencode-qwen-cli-auth/-/opencode-qwen-cli-auth-2.3.0.tgz","fileCount":32,"integrity":"sha512-x7LqKbkr+FwuFHDl0Mz+4gQDApOVqPXjiMgEat6XbWubMsCvNoTX04CIudJNwcHVDXlMpIAh4xRJCgdnpElEpg==","signatures":[{"sig":"MEQCIHIfFJl+rYH6zSa4Z5b+Ycjfnlz5Fm5iE4ZXWX8htyiSAiB10TUJUkK5OG+fNrgZHPrnrxjx9zCaOu7BTa+zDiofDw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":157373},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"be4e1c3c56dbc5770a8a47fefe1ecb73952253e7","scripts":{"lint":"eslint . --ext .ts","test":"vitest run","build":"tsc && node scripts/copy-fallback.mjs","format":"prettier --write \"**/*.{ts,json,md}\"","test:ui":"vitest --ui","lint:fix":"eslint . --ext .ts --fix","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check \"**/*.{ts,json,md}\"","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"tranvandau","email":"vanhuytran935@gmail.com"},"repository":{"url":"git+https://github.com/TVD-00/opencode-qwen-cli-auth.git","type":"git"},"_npmVersion":"10.9.2","description":"Qwen OAuth authentication plugin for opencode - use your Qwen account instead of API keys","directories":{},"_nodeVersion":"23.11.0","dependencies":{"@openauthjs/openauth":"^0.4.3"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","vitest":"^3.2.4","prettier":"^3.0.0","@vitest/ui":"^3.2.4","typescript":"^5.9.3","@types/node":"^24.6.2","@opencode-ai/sdk":"^0.13.9","@opencode-ai/plugin":"^0.13.7","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0"},"peerDependencies":{"@opencode-ai/plugin":"^0.13.7"},"_npmOperationalInternal":{"tmp":"tmp/opencode-qwen-cli-auth_2.3.0_1772036571038_0.8333109903474438","host":"s3://npm-registry-packages-npm-production"}},"2.3.1":{"name":"opencode-qwen-cli-auth","version":"2.3.1","keywords":["opencode","qwen","alibaba","dashscope","oauth","qwen-cli","qwen-coder","plugin","auth"],"author":{"name":"Geoff Hammond"},"license":"MIT","_id":"opencode-qwen-cli-auth@2.3.1","maintainers":[{"name":"tranvandau","email":"vanhuytran935@gmail.com"}],"homepage":"https://github.com/TVD-00/opencode-qwen-cli-auth#readme","bugs":{"url":"https://github.com/TVD-00/opencode-qwen-cli-auth/issues"},"dist":{"shasum":"2349182d02aa385161b787b09db46ff076eac95a","tarball":"https://registry.npmjs.org/opencode-qwen-cli-auth/-/opencode-qwen-cli-auth-2.3.1.tgz","fileCount":32,"integrity":"sha512-QwcPKzxpyeVTxLwLRQkdp6ru7TSiNsW9f9yBhU3ln1EZlRMRv+AZyLsNGr2hnRgDP8tAmEgOAfZ4pOeygcjxWA==","signatures":[{"sig":"MEUCIQCbNqm+Bi0MBpOHPu+RF2e+So3hWoE6S/xDRNWYSea0wwIgXW+jrqFuKr+gUUVSVHaBsc3JHf2+1YoL9bs7jqWkEFY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":187796},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"a5990a65ee3311c3b18e6a39e3fb0767318b2dcb","scripts":{"lint":"eslint . --ext .ts","test":"vitest run","build":"tsc && node scripts/copy-fallback.mjs","format":"prettier --write \"**/*.{ts,json,md}\"","test:ui":"vitest --ui","lint:fix":"eslint . --ext .ts --fix","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check \"**/*.{ts,json,md}\"","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"tranvandau","email":"vanhuytran935@gmail.com"},"repository":{"url":"git+https://github.com/TVD-00/opencode-qwen-cli-auth.git","type":"git"},"_npmVersion":"10.9.2","description":"Qwen OAuth authentication plugin for opencode - use your Qwen account instead of API keys","directories":{},"_nodeVersion":"23.11.0","dependencies":{"@openauthjs/openauth":"^0.4.3"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","vitest":"^3.2.4","prettier":"^3.0.0","@vitest/ui":"^3.2.4","typescript":"^5.9.3","@types/node":"^24.6.2","@opencode-ai/sdk":"^0.13.9","@opencode-ai/plugin":"^0.13.7","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0"},"peerDependencies":{"@opencode-ai/plugin":"^0.13.7"},"_npmOperationalInternal":{"tmp":"tmp/opencode-qwen-cli-auth_2.3.1_1772041770024_0.5032457609835368","host":"s3://npm-registry-packages-npm-production"}},"2.3.3":{"name":"opencode-qwen-cli-auth","version":"2.3.3","keywords":["opencode","qwen","alibaba","dashscope","oauth","qwen-cli","qwen-coder","plugin","auth"],"author":{"name":"Geoff Hammond"},"license":"MIT","_id":"opencode-qwen-cli-auth@2.3.3","maintainers":[{"name":"tranvandau","email":"vanhuytran935@gmail.com"}],"homepage":"https://github.com/TVD-00/opencode-qwen-cli-auth#readme","bugs":{"url":"https://github.com/TVD-00/opencode-qwen-cli-auth/issues"},"dist":{"shasum":"53802408023bd4fb17464b3c9470fb8046e74efe","tarball":"https://registry.npmjs.org/opencode-qwen-cli-auth/-/opencode-qwen-cli-auth-2.3.3.tgz","fileCount":32,"integrity":"sha512-+Yy78OCtNSk160ThKoY9+rReQFYWuRIaDV2twv55i/vmMdzyg48AGXnjS1dm8aFB3HwXvKXMCQsjpqQQ4YJBfg==","signatures":[{"sig":"MEUCIQCXsrkLR6AkTBIDLu73oMuzHw/miAWT7RYC69h+2Uej9gIgGyGfwy3YJ0RveHF07in46C2FR28ArisiRGUDzxBelmk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":188897},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"a5990a65ee3311c3b18e6a39e3fb0767318b2dcb","scripts":{"lint":"eslint . --ext .ts","test":"vitest run","build":"tsc && node scripts/copy-fallback.mjs","format":"prettier --write \"**/*.{ts,json,md}\"","test:ui":"vitest --ui","lint:fix":"eslint . --ext .ts --fix","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check \"**/*.{ts,json,md}\"","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"tranvandau","email":"vanhuytran935@gmail.com"},"repository":{"url":"git+https://github.com/TVD-00/opencode-qwen-cli-auth.git","type":"git"},"_npmVersion":"10.9.2","description":"Qwen OAuth authentication plugin for opencode - use your Qwen account instead of API keys","directories":{},"_nodeVersion":"23.11.0","dependencies":{"@openauthjs/openauth":"^0.4.3"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","vitest":"^3.2.4","prettier":"^3.0.0","@vitest/ui":"^3.2.4","typescript":"^5.9.3","@types/node":"^24.6.2","@opencode-ai/sdk":"^0.13.9","@opencode-ai/plugin":"^0.13.7","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0"},"peerDependencies":{"@opencode-ai/plugin":"^0.13.7"},"_npmOperationalInternal":{"tmp":"tmp/opencode-qwen-cli-auth_2.3.3_1772043160096_0.7450907900710835","host":"s3://npm-registry-packages-npm-production"}},"2.3.4":{"name":"opencode-qwen-cli-auth","version":"2.3.4","keywords":["opencode","qwen","alibaba","dashscope","oauth","qwen-cli","qwen-coder","plugin","auth"],"author":{"name":"Geoff Hammond"},"license":"MIT","_id":"opencode-qwen-cli-auth@2.3.4","maintainers":[{"name":"tranvandau","email":"vanhuytran935@gmail.com"}],"homepage":"https://github.com/TVD-00/opencode-qwen-cli-auth#readme","bugs":{"url":"https://github.com/TVD-00/opencode-qwen-cli-auth/issues"},"dist":{"shasum":"ec9e0a22a029d58b9143dc43390341b13b0c5ccd","tarball":"https://registry.npmjs.org/opencode-qwen-cli-auth/-/opencode-qwen-cli-auth-2.3.4.tgz","fileCount":32,"integrity":"sha512-yWInAWLtszpx3n/W1yHFaZgeN/2Hn3vHNSLz3AQvLiYprs7fonfo1z8KhTamwmzAXuyISC2UXWHC36qYzSSQ0w==","signatures":[{"sig":"MEYCIQD3HYFf4EGw+qTMBrD4YCZ1OQDV1rU0zuy9l9IfPqm8XgIhAIDMhv0sCZy9ytHBQPC09tm03XfBqDFtKddUn7GW2uPh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":187812},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"a5990a65ee3311c3b18e6a39e3fb0767318b2dcb","scripts":{"lint":"eslint . --ext .ts","test":"vitest run","build":"tsc && node scripts/copy-fallback.mjs","format":"prettier --write \"**/*.{ts,json,md}\"","test:ui":"vitest --ui","lint:fix":"eslint . --ext .ts --fix","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check \"**/*.{ts,json,md}\"","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"tranvandau","email":"vanhuytran935@gmail.com"},"repository":{"url":"git+https://github.com/TVD-00/opencode-qwen-cli-auth.git","type":"git"},"_npmVersion":"10.9.2","description":"Qwen OAuth authentication plugin for opencode - use your Qwen account instead of API keys","directories":{},"_nodeVersion":"23.11.0","dependencies":{"@openauthjs/openauth":"^0.4.3"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","vitest":"^3.2.4","prettier":"^3.0.0","@vitest/ui":"^3.2.4","typescript":"^5.9.3","@types/node":"^24.6.2","@opencode-ai/sdk":"^0.13.9","@opencode-ai/plugin":"^0.13.7","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0"},"peerDependencies":{"@opencode-ai/plugin":"^0.13.7"},"_npmOperationalInternal":{"tmp":"tmp/opencode-qwen-cli-auth_2.3.4_1772043836147_0.6610511048474237","host":"s3://npm-registry-packages-npm-production"}},"2.3.5":{"name":"opencode-qwen-cli-auth","version":"2.3.5","keywords":["opencode","qwen","alibaba","dashscope","oauth","qwen-cli","qwen-coder","plugin","auth"],"author":{"name":"Geoff Hammond"},"license":"MIT","_id":"opencode-qwen-cli-auth@2.3.5","maintainers":[{"name":"tranvandau","email":"vanhuytran935@gmail.com"}],"homepage":"https://github.com/TVD-00/opencode-qwen-cli-auth#readme","bugs":{"url":"https://github.com/TVD-00/opencode-qwen-cli-auth/issues"},"dist":{"shasum":"eb2685337402856c934fae47e334937f4b32c1b4","tarball":"https://registry.npmjs.org/opencode-qwen-cli-auth/-/opencode-qwen-cli-auth-2.3.5.tgz","fileCount":32,"integrity":"sha512-XFjbLlhsq4O77ndH2k3QXdEGipQIYlDBLDUr2P+1YZ/bQvqvBoGZRpz0BxyLTAVbK2IHbC1BLQLkwJYj0R7p8g==","signatures":[{"sig":"MEUCIBbordhB9Rkg1m9i7rbr6UzZG0IOoagBwhjPN72OZBEGAiEAk2KKPAAwpHbRtk2cB+a7JyBcabcMvCojOeDPw9HJIdo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":190299},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"228187c16ac4b3ca9a6df6c77b865f53d4c4a5e7","scripts":{"lint":"eslint . --ext .ts","test":"vitest run","build":"tsc && node scripts/copy-fallback.mjs","format":"prettier --write \"**/*.{ts,json,md}\"","test:ui":"vitest --ui","lint:fix":"eslint . --ext .ts --fix","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check \"**/*.{ts,json,md}\"","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"tranvandau","email":"vanhuytran935@gmail.com"},"repository":{"url":"git+https://github.com/TVD-00/opencode-qwen-cli-auth.git","type":"git"},"_npmVersion":"10.9.2","description":"Qwen OAuth authentication plugin for opencode - use your Qwen account instead of API keys","directories":{},"_nodeVersion":"23.11.0","dependencies":{"@openauthjs/openauth":"^0.4.3"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","vitest":"^3.2.4","prettier":"^3.0.0","@vitest/ui":"^3.2.4","typescript":"^5.9.3","@types/node":"^24.6.2","@opencode-ai/sdk":"^0.13.9","@opencode-ai/plugin":"^0.13.7","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0"},"peerDependencies":{"@opencode-ai/plugin":"^0.13.7"},"_npmOperationalInternal":{"tmp":"tmp/opencode-qwen-cli-auth_2.3.5_1772044238840_0.7227738644686648","host":"s3://npm-registry-packages-npm-production"}},"2.3.6":{"name":"opencode-qwen-cli-auth","version":"2.3.6","keywords":["opencode","qwen","alibaba","dashscope","oauth","qwen-cli","qwen-coder","plugin","auth"],"author":{"name":"Geoff Hammond"},"license":"MIT","_id":"opencode-qwen-cli-auth@2.3.6","maintainers":[{"name":"tranvandau","email":"vanhuytran935@gmail.com"}],"homepage":"https://github.com/TVD-00/opencode-qwen-cli-auth#readme","bugs":{"url":"https://github.com/TVD-00/opencode-qwen-cli-auth/issues"},"dist":{"shasum":"431513ffc16077c78399c2955369fec2b8ce971a","tarball":"https://registry.npmjs.org/opencode-qwen-cli-auth/-/opencode-qwen-cli-auth-2.3.6.tgz","fileCount":32,"integrity":"sha512-/JwyL/NTIMeg8r6M2rkdrgfdJ3y3aScMfcjt5EjNHnRWYdtLbkzS7rXWkzTaOzngAg10Uj3eWbmeeszErafdeQ==","signatures":[{"sig":"MEUCIH8CArQAXAjl7HounmHoTxpdhJThPMO9OXR3ILo8A6FHAiEAyTV+91Xq2SchdKWK3seq81pOl0COIuwzsFnQPwUbfmI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":190277},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"a186f7140709352d2e7e2cc2418321026a6fd977","scripts":{"lint":"eslint . --ext .ts","test":"vitest run","build":"tsc && node scripts/copy-fallback.mjs","format":"prettier --write \"**/*.{ts,json,md}\"","test:ui":"vitest --ui","lint:fix":"eslint . --ext .ts --fix","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check \"**/*.{ts,json,md}\"","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"tranvandau","email":"vanhuytran935@gmail.com"},"repository":{"url":"git+https://github.com/TVD-00/opencode-qwen-cli-auth.git","type":"git"},"_npmVersion":"10.9.2","description":"Qwen OAuth authentication plugin for opencode - use your Qwen account instead of API keys","directories":{},"_nodeVersion":"23.11.0","dependencies":{"@openauthjs/openauth":"^0.4.3"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","vitest":"^3.2.4","prettier":"^3.0.0","@vitest/ui":"^3.2.4","typescript":"^5.9.3","@types/node":"^24.6.2","@opencode-ai/sdk":"^0.13.9","@opencode-ai/plugin":"^0.13.7","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0"},"peerDependencies":{"@opencode-ai/plugin":"^0.13.7"},"_npmOperationalInternal":{"tmp":"tmp/opencode-qwen-cli-auth_2.3.6_1772045071428_0.9708184082735167","host":"s3://npm-registry-packages-npm-production"}},"2.3.7":{"name":"opencode-qwen-cli-auth","version":"2.3.7","keywords":["opencode","qwen","alibaba","dashscope","oauth","qwen-cli","qwen-coder","plugin","auth"],"author":{"name":"Geoff Hammond"},"license":"MIT","_id":"opencode-qwen-cli-auth@2.3.7","maintainers":[{"name":"tranvandau","email":"vanhuytran935@gmail.com"}],"homepage":"https://github.com/TVD-00/opencode-qwen-cli-auth#readme","bugs":{"url":"https://github.com/TVD-00/opencode-qwen-cli-auth/issues"},"dist":{"shasum":"9f137871e3d2de83430aec9ddaddb2a68b3caac9","tarball":"https://registry.npmjs.org/opencode-qwen-cli-auth/-/opencode-qwen-cli-auth-2.3.7.tgz","fileCount":32,"integrity":"sha512-M3XUQsW76cVnE/b6vpKo5VTkNjCGFyd4FrmUshwOM1eEC2EDwLy3EP1HVmXMJDrB7+uLZpL0lSiMB9v6mcAvYA==","signatures":[{"sig":"MEUCICORdJiTAgfsG9yKFa1CEU3qUCdv+Br/5ipV5indBNoyAiEAuqUoicK9yHRvR/C5chHrRAzd0LRLR/3Wl6dg6fjhyo4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":190276},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"8aa63c3e71c55d5c6e78007ad0179ff9528014a7","scripts":{"lint":"eslint . --ext .ts","test":"vitest run","build":"tsc && node scripts/copy-fallback.mjs","format":"prettier --write \"**/*.{ts,json,md}\"","test:ui":"vitest --ui","lint:fix":"eslint . --ext .ts --fix","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check \"**/*.{ts,json,md}\"","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"tranvandau","email":"vanhuytran935@gmail.com"},"repository":{"url":"git+https://github.com/TVD-00/opencode-qwen-cli-auth.git","type":"git"},"_npmVersion":"10.9.2","description":"Qwen OAuth authentication plugin for opencode - use your Qwen account instead of API keys","directories":{},"_nodeVersion":"23.11.0","dependencies":{"@openauthjs/openauth":"^0.4.3"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","vitest":"^3.2.4","prettier":"^3.0.0","@vitest/ui":"^3.2.4","typescript":"^5.9.3","@types/node":"^24.6.2","@opencode-ai/sdk":"^0.13.9","@opencode-ai/plugin":"^0.13.7","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0"},"peerDependencies":{"@opencode-ai/plugin":"^0.13.7"},"_npmOperationalInternal":{"tmp":"tmp/opencode-qwen-cli-auth_2.3.7_1772045233453_0.44095814066251715","host":"s3://npm-registry-packages-npm-production"}},"2.3.8":{"name":"opencode-qwen-cli-auth","version":"2.3.8","keywords":["opencode","qwen","alibaba","dashscope","oauth","qwen-cli","qwen-coder","plugin","auth"],"author":{"name":"Geoff Hammond"},"license":"MIT","_id":"opencode-qwen-cli-auth@2.3.8","maintainers":[{"name":"tranvandau","email":"vanhuytran935@gmail.com"}],"homepage":"https://github.com/TVD-00/opencode-qwen-cli-auth#readme","bugs":{"url":"https://github.com/TVD-00/opencode-qwen-cli-auth/issues"},"dist":{"shasum":"3c7b69b1075696482d3e4b636b0e4796f42d540e","tarball":"https://registry.npmjs.org/opencode-qwen-cli-auth/-/opencode-qwen-cli-auth-2.3.8.tgz","fileCount":32,"integrity":"sha512-gVuthohEkXR5Ttzr38e705sgAk4aTgG25YLk5FLGoViK7yFGLOsCP8vedO0sO7emCS77lda4QJRNlsbNEqLYPA==","signatures":[{"sig":"MEUCIQDIdvlm3TxpG2lq3xP3d+9BbEP3ZI1ucszXGuMiFgsHgwIgLik9S7k6ImYmqN9OiQOQSOxKdnm20c62S0FVlEKWhEI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":195841},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"14dfc60f66a1cefe5035af8000a6c4148e381669","scripts":{"lint":"eslint . --ext .ts","test":"vitest run","build":"tsc && node scripts/copy-fallback.mjs","format":"prettier --write \"**/*.{ts,json,md}\"","test:ui":"vitest --ui","lint:fix":"eslint . --ext .ts --fix","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check \"**/*.{ts,json,md}\"","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"tranvandau","email":"vanhuytran935@gmail.com"},"repository":{"url":"git+https://github.com/TVD-00/opencode-qwen-cli-auth.git","type":"git"},"_npmVersion":"10.9.2","description":"Qwen OAuth authentication plugin for opencode - use your Qwen account instead of API keys","directories":{},"_nodeVersion":"23.11.0","dependencies":{"@openauthjs/openauth":"^0.4.3"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","vitest":"^3.2.4","prettier":"^3.0.0","@vitest/ui":"^3.2.4","typescript":"^5.9.3","@types/node":"^24.6.2","@opencode-ai/sdk":"^0.13.9","@opencode-ai/plugin":"^0.13.7","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0"},"peerDependencies":{"@opencode-ai/plugin":"^0.13.7"},"_npmOperationalInternal":{"tmp":"tmp/opencode-qwen-cli-auth_2.3.8_1772046847722_0.03358023717644709","host":"s3://npm-registry-packages-npm-production"}},"2.3.9":{"name":"opencode-qwen-cli-auth","version":"2.3.9","keywords":["opencode","qwen","alibaba","dashscope","oauth","qwen-cli","qwen-coder","plugin","auth"],"author":{"name":"Geoff Hammond"},"license":"MIT","_id":"opencode-qwen-cli-auth@2.3.9","maintainers":[{"name":"tranvandau","email":"vanhuytran935@gmail.com"}],"homepage":"https://github.com/TVD-00/opencode-qwen-cli-auth#readme","bugs":{"url":"https://github.com/TVD-00/opencode-qwen-cli-auth/issues"},"dist":{"shasum":"844acdff5a3eb26f247319b90643225e54e9d7d9","tarball":"https://registry.npmjs.org/opencode-qwen-cli-auth/-/opencode-qwen-cli-auth-2.3.9.tgz","fileCount":32,"integrity":"sha512-a8a/KADdFyx/pzoV9DV12W9mD9p+F+M3AjoaKM0WDMhGIQSF5Etb+G5LNGyMc0Do+9mHWxyyd6ylBa8shK/fow==","signatures":[{"sig":"MEUCIBnOeudmzaMoG6xatWya8kkK2CmWbs+jLSMarDPLfOcRAiEAnuWSZqiy5t4qxuWsksL1BNtmGcG2g040rbHkPEjsSgI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":203596},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"66f88d79f05c52a6cdae359cb46f18ce83a1be87","scripts":{"lint":"eslint . --ext .ts","test":"vitest run","build":"tsc && node scripts/copy-fallback.mjs","format":"prettier --write \"**/*.{ts,json,md}\"","test:ui":"vitest --ui","lint:fix":"eslint . --ext .ts --fix","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check \"**/*.{ts,json,md}\"","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"tranvandau","email":"vanhuytran935@gmail.com"},"repository":{"url":"git+https://github.com/TVD-00/opencode-qwen-cli-auth.git","type":"git"},"_npmVersion":"10.9.2","description":"Qwen OAuth authentication plugin for opencode - use your Qwen account instead of API keys","directories":{},"_nodeVersion":"23.11.0","dependencies":{"@openauthjs/openauth":"^0.4.3"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","vitest":"^3.2.4","prettier":"^3.0.0","@vitest/ui":"^3.2.4","typescript":"^5.9.3","@types/node":"^24.6.2","@opencode-ai/sdk":"^0.13.9","@opencode-ai/plugin":"^0.13.7","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0"},"peerDependencies":{"@opencode-ai/plugin":"^0.13.7"},"_npmOperationalInternal":{"tmp":"tmp/opencode-qwen-cli-auth_2.3.9_1772049156624_0.42787627596392164","host":"s3://npm-registry-packages-npm-production"}},"2.4.0":{"name":"opencode-qwen-cli-auth","version":"2.4.0","keywords":["opencode","qwen","alibaba","dashscope","oauth","qwen-cli","qwen-coder","plugin","auth"],"author":{"name":"Geoff Hammond"},"license":"MIT","_id":"opencode-qwen-cli-auth@2.4.0","maintainers":[{"name":"tranvandau","email":"vanhuytran935@gmail.com"}],"homepage":"https://github.com/TVD-00/opencode-qwen-cli-auth#readme","bugs":{"url":"https://github.com/TVD-00/opencode-qwen-cli-auth/issues"},"dist":{"shasum":"0f35cf828d1b65cb8d08b121ef599ee6def4b4d8","tarball":"https://registry.npmjs.org/opencode-qwen-cli-auth/-/opencode-qwen-cli-auth-2.4.0.tgz","fileCount":32,"integrity":"sha512-Fi0l7XHPFldiX9Z6cZoJ8zukeSgK0aWJx4yqefT+oxCOVLXUrhpv+8RXwUoW5lHxcgFqBWrRYVFD52/WK/GlYQ==","signatures":[{"sig":"MEUCIQCclQElhWF2KIJKOy0c8tO0mgxAiGYsObo4vVzyO9HrYAIgIDo+2+hEMy5wuo3EIjiQevrr0r9Bb9AT50u9YLM+j8A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":299826},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"9b26295077647993c89db39c5d687ba03802cd46","scripts":{"lint":"eslint . --ext .ts","test":"vitest run","build":"tsc","format":"prettier --write \"**/*.{ts,json,md}\"","test:ui":"vitest --ui","lint:fix":"eslint . --ext .ts --fix","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check \"**/*.{ts,json,md}\"","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"tranvandau","email":"vanhuytran935@gmail.com"},"repository":{"url":"git+https://github.com/TVD-00/opencode-qwen-cli-auth.git","type":"git"},"_npmVersion":"10.9.0","description":"Qwen OAuth authentication plugin for opencode - use your Qwen account instead of API keys","directories":{},"_nodeVersion":"22.12.0","dependencies":{"@openauthjs/openauth":"^0.4.3"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","vitest":"^3.2.4","prettier":"^3.0.0","@vitest/ui":"^3.2.4","typescript":"^5.9.3","@types/node":"^24.6.2","@opencode-ai/sdk":"^0.13.9","@opencode-ai/plugin":"^0.13.7","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0"},"peerDependencies":{"@opencode-ai/plugin":"^0.13.7"},"_npmOperationalInternal":{"tmp":"tmp/opencode-qwen-cli-auth_2.4.0_1774815836076_0.2764853446605906","host":"s3://npm-registry-packages-npm-production"}},"2.4.1":{"name":"opencode-qwen-cli-auth","version":"2.4.1","keywords":["opencode","qwen","alibaba","dashscope","oauth","qwen-cli","qwen-coder","plugin","auth"],"author":{"name":"Geoff Hammond"},"license":"MIT","_id":"opencode-qwen-cli-auth@2.4.1","maintainers":[{"name":"tranvandau","email":"vanhuytran935@gmail.com"}],"homepage":"https://github.com/TVD-00/opencode-qwen-cli-auth#readme","bugs":{"url":"https://github.com/TVD-00/opencode-qwen-cli-auth/issues"},"dist":{"shasum":"8beef671762f077027843e8febd08ec85e870d7b","tarball":"https://registry.npmjs.org/opencode-qwen-cli-auth/-/opencode-qwen-cli-auth-2.4.1.tgz","fileCount":32,"integrity":"sha512-Dj7vHHuNn+CX6qqZfviBihoaLbLvNi+ZFq7muYtt5HmUgOnoExSJGvoSb/7gCKZxpqzEkNLDamqGQJ3vPD8/HQ==","signatures":[{"sig":"MEUCID9LRYJeo+oXjhgcbcqh6HDw5v7tJBnIs3RZ39ILDLW7AiEA9a1sv01KkW8ujlB17eDGHIMdhBa/6hY+DxcaYazDLKc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":305467},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"f6e7fe7c002cfe9ea5635d339a78b9b3171afce9","scripts":{"lint":"eslint . --ext .ts","test":"vitest run","build":"tsc","format":"prettier --write \"**/*.{ts,json,md}\"","test:ui":"vitest --ui","lint:fix":"eslint . --ext .ts --fix","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check \"**/*.{ts,json,md}\"","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"tranvandau","email":"vanhuytran935@gmail.com"},"repository":{"url":"git+https://github.com/TVD-00/opencode-qwen-cli-auth.git","type":"git"},"_npmVersion":"10.9.0","description":"Qwen OAuth authentication plugin for opencode - use your Qwen account instead of API keys","directories":{},"_nodeVersion":"22.12.0","dependencies":{"@openauthjs/openauth":"^0.4.3"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","vitest":"^3.2.4","prettier":"^3.0.0","@vitest/ui":"^3.2.4","typescript":"^5.9.3","@types/node":"^24.6.2","@opencode-ai/sdk":"^0.13.9","@opencode-ai/plugin":"^0.13.7","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0"},"peerDependencies":{"@opencode-ai/plugin":"^0.13.7"},"_npmOperationalInternal":{"tmp":"tmp/opencode-qwen-cli-auth_2.4.1_1774817222795_0.9037319261704533","host":"s3://npm-registry-packages-npm-production"}},"2.4.2":{"name":"opencode-qwen-cli-auth","version":"2.4.2","keywords":["opencode","qwen","alibaba","dashscope","oauth","qwen-cli","qwen-coder","plugin","auth"],"author":{"name":"Geoff Hammond"},"license":"MIT","_id":"opencode-qwen-cli-auth@2.4.2","maintainers":[{"name":"tranvandau","email":"vanhuytran935@gmail.com"}],"homepage":"https://github.com/TVD-00/opencode-qwen-cli-auth#readme","bugs":{"url":"https://github.com/TVD-00/opencode-qwen-cli-auth/issues"},"dist":{"shasum":"97ef7194ab9ae0de1c8b376fb769ff5fc4ac8f85","tarball":"https://registry.npmjs.org/opencode-qwen-cli-auth/-/opencode-qwen-cli-auth-2.4.2.tgz","fileCount":32,"integrity":"sha512-CC+EPo7kyo3Wc9/hBtmJGVoPafLWdenbkZnsNGjc506f7UTXA7dGJkNWxChREIXOrP//aX8mkQznIzcIKB4TWQ==","signatures":[{"sig":"MEUCIDZt+tCLau+pnduXPMMkbE0C1tjosXcRCDZSNN/9Xg0NAiEAhAeMZ4Xzx7mStAgBzB0g/YCyL4EspOg4kkjB5B1eJL4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":302862},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"dc2672c690d0edab95b96945e0830be760ccd4bd","scripts":{"lint":"eslint . --ext .ts","test":"vitest run","build":"tsc","format":"prettier --write \"**/*.{ts,json,md}\"","test:ui":"vitest --ui","lint:fix":"eslint . --ext .ts --fix","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check \"**/*.{ts,json,md}\"","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"tranvandau","email":"vanhuytran935@gmail.com"},"repository":{"url":"git+https://github.com/TVD-00/opencode-qwen-cli-auth.git","type":"git"},"_npmVersion":"10.9.0","description":"Qwen OAuth authentication plugin for opencode - use your Qwen account instead of API keys","directories":{},"_nodeVersion":"22.12.0","dependencies":{"@openauthjs/openauth":"^0.4.3"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","vitest":"^3.2.4","prettier":"^3.0.0","@vitest/ui":"^3.2.4","typescript":"^5.9.3","@types/node":"^24.6.2","@opencode-ai/sdk":"^0.13.9","@opencode-ai/plugin":"^0.13.7","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0"},"peerDependencies":{"@opencode-ai/plugin":"^0.13.7"},"_npmOperationalInternal":{"tmp":"tmp/opencode-qwen-cli-auth_2.4.2_1774831372687_0.00998643052749193","host":"s3://npm-registry-packages-npm-production"}},"2.5.0":{"name":"opencode-qwen-cli-auth","version":"2.5.0","keywords":["opencode","qwen","alibaba","dashscope","oauth","qwen-cli","qwen-coder","plugin","auth"],"author":{"name":"Geoff Hammond"},"license":"MIT","_id":"opencode-qwen-cli-auth@2.5.0","maintainers":[{"name":"tranvandau","email":"vanhuytran935@gmail.com"}],"homepage":"https://github.com/TVD-00/opencode-qwen-cli-auth#readme","bugs":{"url":"https://github.com/TVD-00/opencode-qwen-cli-auth/issues"},"dist":{"shasum":"7abc4a3ebf4ff7a25c6d93df575064d890c17bbe","tarball":"https://registry.npmjs.org/opencode-qwen-cli-auth/-/opencode-qwen-cli-auth-2.5.0.tgz","fileCount":32,"integrity":"sha512-62ac5BakxbVBqUC7/6ZkGtBT3kXpCv9gr1mxJZmVJZrahRliqqEYwEXUa7h0s8n0pHRkWtdc7ZA3bSLTFRkGLQ==","signatures":[{"sig":"MEUCIQDWfw8iC1hebPeFjV/Hz7CJUSnIC+gZSXNiN+IGTCKFKAIgI5jEw1+v3vPDLIrGP4qwvYi76Azp/3R2/uy3OlYe4IQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":313394},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"4efd196e9451221f3f698c74564ebdb723e377b6","scripts":{"lint":"eslint . --ext .ts","test":"vitest run","build":"tsc","format":"prettier --write \"**/*.{ts,json,md}\"","test:ui":"vitest --ui","lint:fix":"eslint . --ext .ts --fix","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check \"**/*.{ts,json,md}\"","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"tranvandau","email":"vanhuytran935@gmail.com"},"repository":{"url":"git+https://github.com/TVD-00/opencode-qwen-cli-auth.git","type":"git"},"_npmVersion":"10.9.0","description":"Qwen OAuth authentication plugin for opencode - use your Qwen account instead of API keys","directories":{},"_nodeVersion":"22.12.0","dependencies":{"@openauthjs/openauth":"^0.4.3"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","vitest":"^3.2.4","prettier":"^3.0.0","@vitest/ui":"^3.2.4","typescript":"^5.9.3","@types/node":"^24.6.2","@opencode-ai/sdk":"^0.13.9","@opencode-ai/plugin":"^0.13.7","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0"},"peerDependencies":{"@opencode-ai/plugin":"^0.13.7"},"_npmOperationalInternal":{"tmp":"tmp/opencode-qwen-cli-auth_2.5.0_1775074383699_0.44573048618015476","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"opencode-qwen-cli-auth","version":"3.0.0","keywords":["opencode","qwen","alibaba","dashscope","oauth","qwen-cli","qwen-coder","plugin","auth"],"author":{"name":"Geoff Hammond"},"license":"MIT","_id":"opencode-qwen-cli-auth@3.0.0","maintainers":[{"name":"tranvandau","email":"vanhuytran935@gmail.com"}],"homepage":"https://github.com/TVD-00/opencode-qwen-cli-auth#readme","bugs":{"url":"https://github.com/TVD-00/opencode-qwen-cli-auth/issues"},"dist":{"shasum":"ba34a4ecef5d0b7f21c6914641be2ad8592b9fea","tarball":"https://registry.npmjs.org/opencode-qwen-cli-auth/-/opencode-qwen-cli-auth-3.0.0.tgz","fileCount":32,"integrity":"sha512-Z13ceI9QhYr+WS1XZc21GgmoDPpN6YpShDiv7aSbR1Cmmkuk8iuuEyfKquJFj7MQkKc8QPnU9wzLbXqGbQ4lsQ==","signatures":[{"sig":"MEUCIANgFlykmfqQezcbM+2kq/6N7DPisJXDhvm5pS0N/+/wAiEAmqM7+AL7477SpXywXG0O0Dc9ncPeh94f3V5jIeYtnX8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":206917},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"740f74ac3025804bd450354a36b4a9976db2f9e6","scripts":{"lint":"eslint . --ext .ts","test":"vitest run","build":"tsc","format":"prettier --write \"**/*.{ts,json,md}\"","test:ui":"vitest --ui","lint:fix":"eslint . --ext .ts --fix","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check \"**/*.{ts,json,md}\"","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"tranvandau","email":"vanhuytran935@gmail.com"},"repository":{"url":"git+https://github.com/TVD-00/opencode-qwen-cli-auth.git","type":"git"},"_npmVersion":"10.9.0","description":"Qwen OAuth authentication plugin for opencode - use your Qwen account instead of API keys","directories":{},"_nodeVersion":"22.12.0","dependencies":{"@openauthjs/openauth":"^0.4.3"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","vitest":"^3.2.4","prettier":"^3.0.0","@vitest/ui":"^3.2.4","typescript":"^5.9.3","@types/node":"^24.6.2","@opencode-ai/sdk":"^0.13.9","@opencode-ai/plugin":"^0.13.7","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0"},"peerDependencies":{"@opencode-ai/plugin":"^0.13.7"},"_npmOperationalInternal":{"tmp":"tmp/opencode-qwen-cli-auth_3.0.0_1775076416835_0.808565053724535","host":"s3://npm-registry-packages-npm-production"}},"3.1.0":{"name":"opencode-qwen-cli-auth","version":"3.1.0","keywords":["opencode","qwen","alibaba","dashscope","oauth","qwen-cli","qwen-coder","plugin","auth"],"author":{"name":"Geoff Hammond"},"license":"MIT","_id":"opencode-qwen-cli-auth@3.1.0","maintainers":[{"name":"tranvandau","email":"vanhuytran935@gmail.com"}],"homepage":"https://github.com/TVD-00/opencode-qwen-cli-auth#readme","bugs":{"url":"https://github.com/TVD-00/opencode-qwen-cli-auth/issues"},"dist":{"shasum":"a51b9064cd1d32934f52a655b5c6c1bf5a8b536a","tarball":"https://registry.npmjs.org/opencode-qwen-cli-auth/-/opencode-qwen-cli-auth-3.1.0.tgz","fileCount":32,"integrity":"sha512-kmb5avpoOP+uSz5h/9hInTwKboa5T2Tin0b4SPWCtxQOVfEVskv6hlL6UgNM/yg1NGJR58hQYzKpOGCNWvvonw==","signatures":[{"sig":"MEUCIQDXPoMVrUk3uUF325bQbEXg7h5nX7xJclpZKV2uH8PgrwIgNrwXr7j6M41lBsm7Htaw+3wznVhGOSCCla6I+bDEHtk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":213659},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"4bf74b96e9b57b706eb302e56d906b1120eb2c11","scripts":{"lint":"eslint . --ext .ts","test":"vitest run","build":"tsc","format":"prettier --write \"**/*.{ts,json,md}\"","test:ui":"vitest --ui","lint:fix":"eslint . --ext .ts --fix","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check \"**/*.{ts,json,md}\"","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"tranvandau","email":"vanhuytran935@gmail.com"},"repository":{"url":"git+https://github.com/TVD-00/opencode-qwen-cli-auth.git","type":"git"},"_npmVersion":"10.9.0","description":"Qwen OAuth authentication plugin for opencode - use your Qwen account instead of API keys","directories":{},"_nodeVersion":"22.12.0","dependencies":{"@openauthjs/openauth":"^0.4.3"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","vitest":"^3.2.4","prettier":"^3.0.0","@vitest/ui":"^3.2.4","typescript":"^5.9.3","@types/node":"^24.6.2","@opencode-ai/sdk":"^0.13.9","@opencode-ai/plugin":"^0.13.7","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0"},"peerDependencies":{"@opencode-ai/plugin":"^0.13.7"},"_npmOperationalInternal":{"tmp":"tmp/opencode-qwen-cli-auth_3.1.0_1775511308757_0.3847526253262279","host":"s3://npm-registry-packages-npm-production"}},"3.1.1":{"name":"opencode-qwen-cli-auth","version":"3.1.1","keywords":["opencode","qwen","alibaba","dashscope","oauth","qwen-cli","qwen-coder","plugin","auth"],"author":{"name":"Geoff Hammond"},"license":"MIT","_id":"opencode-qwen-cli-auth@3.1.1","maintainers":[{"name":"tranvandau","email":"vanhuytran935@gmail.com"}],"homepage":"https://github.com/TVD-00/opencode-qwen-cli-auth#readme","bugs":{"url":"https://github.com/TVD-00/opencode-qwen-cli-auth/issues"},"dist":{"shasum":"767903d9c5d96be180f97811725871938fe06c8e","tarball":"https://registry.npmjs.org/opencode-qwen-cli-auth/-/opencode-qwen-cli-auth-3.1.1.tgz","fileCount":32,"integrity":"sha512-EeL60gd83TpxuH88FpXcBA2EsyxscxgG3J5tM2/+W7o4JfAU+KtfZe2QA9hKvPqj3f7Icw+F+/Eq/Ue49NtRBQ==","signatures":[{"sig":"MEUCIQDsLhE7ThN53SuKATyHZMS7LGmp2QESl8kQwIICqRgQEQIgDw8LHZvngCZeocggCBlIUm8VDfokHxH+J4Bip6nIeTE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":214281},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"197107f09004c694d67031dcd98c1913bd1a19b5","scripts":{"lint":"eslint . --ext .ts","test":"vitest run","build":"tsc","format":"prettier --write \"**/*.{ts,json,md}\"","test:ui":"vitest --ui","lint:fix":"eslint . --ext .ts --fix","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check \"**/*.{ts,json,md}\"","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"tranvandau","email":"vanhuytran935@gmail.com"},"repository":{"url":"git+https://github.com/TVD-00/opencode-qwen-cli-auth.git","type":"git"},"_npmVersion":"10.9.0","description":"Qwen OAuth authentication plugin for opencode - use your Qwen account instead of API keys","directories":{},"_nodeVersion":"22.12.0","dependencies":{"@openauthjs/openauth":"^0.4.3"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","vitest":"^3.2.4","prettier":"^3.0.0","@vitest/ui":"^3.2.4","typescript":"^5.9.3","@types/node":"^24.6.2","@opencode-ai/sdk":"^0.13.9","@opencode-ai/plugin":"^0.13.7","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0"},"peerDependencies":{"@opencode-ai/plugin":"^0.13.7"},"_npmOperationalInternal":{"tmp":"tmp/opencode-qwen-cli-auth_3.1.1_1775513603373_0.3695460400869317","host":"s3://npm-registry-packages-npm-production"}},"3.1.2":{"name":"opencode-qwen-cli-auth","version":"3.1.2","description":"Qwen OAuth authentication plugin for opencode - use your Qwen account instead of API keys","main":"./dist/index.js","types":"./dist/index.d.ts","type":"module","license":"MIT","author":{"name":"Geoff Hammond"},"repository":{"type":"git","url":"git+https://github.com/TVD-00/opencode-qwen-cli-auth.git"},"keywords":["opencode","qwen","alibaba","dashscope","oauth","qwen-cli","qwen-coder","plugin","auth"],"homepage":"https://github.com/TVD-00/opencode-qwen-cli-auth#readme","bugs":{"url":"https://github.com/TVD-00/opencode-qwen-cli-auth/issues"},"scripts":{"build":"tsc","typecheck":"tsc --noEmit","test":"vitest run","test:watch":"vitest","test:ui":"vitest --ui","test:coverage":"vitest run --coverage","lint":"eslint . --ext .ts","lint:fix":"eslint . --ext .ts --fix","format":"prettier --write \"**/*.{ts,json,md}\"","format:check":"prettier --check \"**/*.{ts,json,md}\""},"engines":{"node":">=20.0.0"},"peerDependencies":{"@opencode-ai/plugin":"^0.13.7"},"devDependencies":{"@opencode-ai/plugin":"^0.13.7","@opencode-ai/sdk":"^0.13.9","@types/node":"^24.6.2","@typescript-eslint/eslint-plugin":"^8.0.0","@typescript-eslint/parser":"^8.0.0","@vitest/ui":"^3.2.4","eslint":"^9.0.0","prettier":"^3.0.0","typescript":"^5.9.3","vitest":"^3.2.4"},"dependencies":{"@openauthjs/openauth":"^0.4.3"},"_id":"opencode-qwen-cli-auth@3.1.2","gitHead":"38bfabbca02fd40842425c99c9e8a72a7f73a696","_nodeVersion":"22.12.0","_npmVersion":"10.9.0","dist":{"integrity":"sha512-zCna+xfm4goD4Y/HRk5kESVNO/bEzW4eHbRhBk0dtfZCIXw8WCEW7+y9Ep2aReDsbzSV3ova+c3VRyFfjBILKA==","shasum":"40e496ae550a071d2cb0c378d6c9775cbadcaf7e","tarball":"https://registry.npmjs.org/opencode-qwen-cli-auth/-/opencode-qwen-cli-auth-3.1.2.tgz","fileCount":32,"unpackedSize":214748,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIDuhGxymiuE4qxlHKSD0gGjygF+7c5rgEMfw96DM8tGYAiEA03DrIcMhCZXg1K1k+g0v8GBdJPlQEQtcnqQe9tCi4nI="}]},"_npmUser":{"name":"tranvandau","email":"vanhuytran935@gmail.com"},"directories":{},"maintainers":[{"name":"tranvandau","email":"vanhuytran935@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/opencode-qwen-cli-auth_3.1.2_1775642733843_0.43364002343488717"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-23T08:22:27.634Z","modified":"2026-04-08T10:05:34.111Z","1.0.0":"2026-02-23T08:22:27.787Z","1.0.1":"2026-02-23T08:31:48.028Z","1.0.2":"2026-02-23T08:35:00.050Z","1.0.3":"2026-02-23T08:38:57.175Z","1.0.4":"2026-02-23T08:42:28.003Z","2.0.0":"2026-02-23T08:59:57.959Z","2.0.1":"2026-02-23T09:11:18.961Z","2.1.0":"2026-02-23T09:57:41.280Z","2.1.1":"2026-02-23T10:03:41.595Z","2.2.0":"2026-02-23T10:14:19.152Z","2.2.1":"2026-02-23T10:18:35.667Z","2.2.2":"2026-02-23T15:16:18.166Z","2.2.3":"2026-02-23T15:36:38.828Z","2.2.4":"2026-02-23T18:05:19.057Z","2.2.5":"2026-02-23T18:29:53.410Z","2.2.6":"2026-02-23T18:40:13.221Z","2.2.7":"2026-02-23T18:47:01.034Z","2.2.8":"2026-02-23T18:56:15.304Z","2.2.9":"2026-02-24T11:42:34.620Z","2.3.0":"2026-02-25T16:22:51.196Z","2.3.1":"2026-02-25T17:49:30.177Z","2.3.3":"2026-02-25T18:12:40.318Z","2.3.4":"2026-02-25T18:23:56.327Z","2.3.5":"2026-02-25T18:30:39.016Z","2.3.6":"2026-02-25T18:44:31.582Z","2.3.7":"2026-02-25T18:47:13.596Z","2.3.8":"2026-02-25T19:14:07.884Z","2.3.9":"2026-02-25T19:52:36.771Z","2.4.0":"2026-03-29T20:23:56.298Z","2.4.1":"2026-03-29T20:47:03.001Z","2.4.2":"2026-03-30T00:42:52.848Z","2.5.0":"2026-04-01T20:13:03.855Z","3.0.0":"2026-04-01T20:46:56.973Z","3.1.0":"2026-04-06T21:35:08.886Z","3.1.1":"2026-04-06T22:13:23.556Z","3.1.2":"2026-04-08T10:05:33.996Z"},"bugs":{"url":"https://github.com/TVD-00/opencode-qwen-cli-auth/issues"},"author":{"name":"Geoff Hammond"},"license":"MIT","homepage":"https://github.com/TVD-00/opencode-qwen-cli-auth#readme","keywords":["opencode","qwen","alibaba","dashscope","oauth","qwen-cli","qwen-coder","plugin","auth"],"repository":{"type":"git","url":"git+https://github.com/TVD-00/opencode-qwen-cli-auth.git"},"description":"Qwen OAuth authentication plugin for opencode - use your Qwen account instead of API keys","maintainers":[{"name":"tranvandau","email":"vanhuytran935@gmail.com"}],"readme":"# opencode-qwen-cli-auth\n\nPlugin OAuth cho [OpenCode](https://opencode.ai) để sử dụng Qwen miễn phí thông qua Qwen Account, tương thích với cơ chế của [qwen-code CLI](https://github.com/QwenLM/qwen-code).\n\n## Tính năng\n\n- **OAuth 2.0 Device Authorization Grant** (RFC 8628) - đăng nhập bằng Qwen Account\n- **Không cần API key** - sử dụng free tier của Qwen\n- **Tự động refresh token** khi hết hạn\n- **Hỗ trợ đa tài khoản** - thêm nhiều Qwen account và duy trì một tài khoản active\n- **Tương thích DashScope** - tự động inject headers cần thiết cho OAuth flow\n- **Giới hạn output token thông minh** - tự động cap theo model (65K cho coder-model, 8K cho vision-model)\n- **Hiển thị reasoning trên UI (coder-model)** - tooltip model trong OpenCode sẽ hiện hỗ trợ reasoning\n- **An toàn reasoning-effort** - loại bỏ các trường điều khiển reasoning khỏi payload để giữ tương thích OAuth\n- **Retry & Fallback** - xử lý lỗi quota/rate limit với cơ chế degrade (giảm tải payload)\n- **Logging & Debugging** - hỗ trợ debug chi tiết qua biến môi trường\n\n## Cài đặt\n\n### Yêu cầu\n\n- Node.js >= 20.0.0\n- OpenCode có hỗ trợ plugin\n- Qwen Account (miễn phí)\n\n### Thêm vào OpenCode\n\nCấu hình trong file `opencode.json`:\n\n```json\n{\n  \"$schema\": \"https://opencode.ai/config.json\",\n  \"plugin\": [\"opencode-qwen-cli-auth\"],\n  \"model\": \"qwen-code/coder-model\"\n}\n```\n\n### Đăng nhập\n\n```bash\nopencode auth login\n```\n\nChọn provider **Qwen Code (qwen.ai OAuth)** và làm theo hướng dẫn:\n\n1. Mở URL hiển thị trong terminal\n2. Nhập mã code được cung cấp\n3. Plugin sẽ tự động poll và lưu token\n\nĐể thêm tài khoản mới, chạy lại `opencode auth login`.  \nPlugin sẽ lưu từng lần đăng nhập thành công vào kho đa tài khoản và có thể tự động đổi tài khoản khi hết quota.\n\n## Models hỗ trợ\n\n| Model | ID | Input | Output | Context | Max Output | Chi phí |\n|-------|-----|-------|--------|---------|------------|---------|\n| Qwen Coder (Qwen 3.5 Plus) | `coder-model` | text | text | 1M tokens | 65,536 tokens | Miễn phí |\n| Qwen VL Plus (Vision) | `vision-model` | text, image | text | 128K tokens | 8,192 tokens | Miễn phí |\n\n### Ghi chú reasoning\n\n- `coder-model` được đánh dấu có reasoning trong UI của OpenCode.\n- Bản phát hành này chỉ hỗ trợ reasoning ở mức hiển thị UI, chưa bật điều khiển reasoning-effort ở runtime cho Qwen OAuth.\n- Nếu client gửi `reasoning`, `reasoningEffort` hoặc `reasoning_effort`, plugin sẽ tự loại bỏ trước khi gửi request đi.\n\n## Cấu hình\n\n### Biến môi trường\n\n| Biến | Mô tả | Giá trị |\n|------|-------|---------|\n| `QWEN_CLI_PATH` | Đường dẫn đến qwen CLI (cho fallback) | Mặc định: tự động tìm |\n| `QWEN_MODE` | Bật/tắt Qwen mode | `1`/`true` (mặc định) |\n| `DEBUG_QWEN_PLUGIN=1` | Bật debug logging | Tùy chọn |\n| `ENABLE_PLUGIN_REQUEST_LOGGING=1` | Bật ghi log request ra file | Tùy chọn |\n| `OPENCODE_QWEN_ENABLE_CLI_FALLBACK=1` | Bật tính năng gọi CLI khi hết quota | Tùy chọn |\n| `OPENCODE_QWEN_ACCOUNTS_PATH` | Ghi đè đường dẫn kho đa tài khoản (phải nằm trong `~/.qwen`) | Tùy chọn |\n| `OPENCODE_QWEN_QUOTA_COOLDOWN_MS` | Thời gian cooldown cho tài khoản đã hết quota | Mặc định: `86400000` (24 giờ) |\n\n### Debug & Logging\n\n```bash\n# Debug mode - in log ra console\nDEBUG_QWEN_PLUGIN=1 opencode run \"hello\" --model=qwen-code/coder-model\n\n# Request logging - lưu chi tiết vào file JSON\nENABLE_PLUGIN_REQUEST_LOGGING=1 opencode run \"hello\" --model=qwen-code/coder-model\n```\n\nFile log được lưu tại: `~/.opencode/logs/qwen-plugin/`\n\n## Cơ chế hoạt động\n\n### Luồng OAuth (OAuth Flow)\n\n```\n1. OpenCode yêu cầu xác thực -> Plugin\n2. Plugin xin cấp device code từ Qwen OAuth Server\n3. Hiển thị URL + code cho người dùng\n4. Người dùng mở URL và nhập code để ủy quyền\n5. Plugin liên tục gọi (poll) Qwen OAuth Server để lấy token\n6. Lưu token và trả về cho OpenCode\n7. Tất cả request API sẽ được đính kèm headers và gửi đến DashScope\n```\n\n### Lưu trữ Token\n\n- **Vị trí**: `~/.qwen/oauth_creds.json`\n- **Định dạng**: JSON chứa access_token, refresh_token, expiry_date, resource_url\n- **Tự động refresh**: Kích hoạt khi token còn dưới 30 giây là hết hạn\n- **Cơ chế khóa (Lock)**: Đảm bảo an toàn khi refresh token trong môi trường đa tiến trình (multi-process)\n- **Kho đa tài khoản**: `~/.qwen/oauth_accounts.json`\n- **Lock đa tài khoản**: `~/.qwen/oauth_accounts.lock`\n\n### Headers Bắt buộc\n\nPlugin tự động đính kèm các headers cần thiết cho DashScope OAuth:\n\n```\nX-DashScope-AuthType: qwen-oauth\nX-DashScope-CacheControl: enable\nUser-Agent: QwenCode/{cli-version} ({platform}; {arch})\nX-DashScope-UserAgent: QwenCode/{cli-version} ({platform}; {arch})\n```\n\n## Xử lý lỗi\n\n### Hết Quota (Insufficient Quota)\n\nKhi gặp lỗi `429 insufficient_quota`, plugin sẽ tự động:\n\n1. **Đánh dấu tài khoản hiện tại đã hết quota** trong cửa sổ cooldown\n2. **Đổi sang tài khoản khỏe tiếp theo** và retry với payload ban đầu\n3. **Degrade payload** nếu không còn tài khoản khỏe để đổi\n4. **CLI fallback** (tùy chọn) - chỉ gọi `qwen` CLI cho payload chỉ có text khi bật `OPENCODE_QWEN_ENABLE_CLI_FALLBACK=1`\n5. **Guard multimodal an toàn** - bỏ qua CLI fallback khi payload có phần non-text (image/audio/file/video) để tránh mất ngữ nghĩa\n\n### Token Hết Hạn\n\n- Tự động sử dụng refresh token để lấy token mới\n- Thử lại tối đa 2 lần đối với các lỗi tạm thời (timeout, lỗi mạng)\n- Nếu refresh gặp `401/403`, plugin đánh dấu account hiện tại là `auth_invalid` và tự chuyển sang account khỏe tiếp theo nếu có\n- Nếu không còn account khỏe, plugin sẽ yêu cầu đăng nhập lại (`opencode auth login`)\n\n## Quản lý xác thực\n\n### Kiểm tra trạng thái\n\n```bash\n# Xem token đang được lưu\ncat ~/.qwen/oauth_creds.json\n\n# Xem kho đa tài khoản\ncat ~/.qwen/oauth_accounts.json\n```\n\n### Xóa xác thực\n\n**PowerShell:**\n```powershell\nRemove-Item -Recurse -Force \"$HOME/.opencode/qwen\"\nRemove-Item -Force \"$HOME/.qwen/oauth_creds.json\"\n```\n\n**Bash (Linux/macOS):**\n```bash\nrm -rf ~/.opencode/qwen\nrm ~/.qwen/oauth_creds.json\n```\n\n### Refresh thủ công\n\n```bash\n# Xóa token cũ và đăng nhập lại\nopencode auth logout\nopencode auth login\n```\n\n## Kiến trúc Plugin\n\n```\ndist/\n├── index.js              # Entry point, exports QwenAuthPlugin\n├── lib/\n│   ├── auth/\n│   │   ├── auth.js       # Luồng OAuth: device code, poll token, refresh\n│   │   └── browser.js    # Tiện ích mở trình duyệt\n│   ├── config.js         # Đường dẫn cấu hình, QWEN_MODE\n│   ├── constants.js      # Hằng số: OAuth endpoints, headers, mã lỗi\n│   ├── logger.js         # Tiện ích logging\n│   └── types.js          # Định nghĩa kiểu (TypeScript)\n```\n\n### Các Hook Sử Dụng\n\n| Hook | Mục đích |\n|------|----------|\n| `auth.loader` | Cung cấp apiKey, baseURL, custom fetch |\n| `auth.methods.authorize` | Thực hiện luồng Device Authorization OAuth |\n| `config` | Đăng ký provider và models |\n| `chat.params` | Thiết lập timeout, maxRetries, giới hạn max_tokens |\n| `chat.headers` | Đính kèm các headers của DashScope |\n\n## So sánh với Plugin Cũ\n\n| Tính năng | Plugin cũ | Plugin này |\n|-----------|-----------|------------|\n| OAuth Device Flow | ✓ | ✓ |\n| Custom fetch layer | ✗ | ✓ |\n| Headers của DashScope | ✗ | ✓ (tự động đính kèm) |\n| Giới hạn Output token | ✗ | ✓ |\n| Degradation khi hết quota| ✗ | ✓ |\n| Fallback dùng CLI | ✗ | ✓ (tùy chọn) |\n| Khóa đa tiến trình | ✗ | ✓ |\n| Migrate token cũ | ✗ | ✓ |\n\n## Khắc phục sự cố (Troubleshooting)\n\n### Các lỗi thường gặp\n\n**1. Bị lỗi `insufficient_quota` liên tục**\n- Tài khoản của bạn có thể đã hết hạn mức miễn phí\n- Hãy thử xóa token và đăng nhập lại\n- Bật tính năng CLI fallback: `OPENCODE_QWEN_ENABLE_CLI_FALLBACK=1`\n\n**2. OAuth timeout**\n- Kiểm tra lại kết nối mạng\n- Tăng timeout trong cấu hình nếu cần\n- Xem log chi tiết bằng cách bật `DEBUG_QWEN_PLUGIN=1`\n\n**3. Không tìm thấy qwen CLI**\n- Cài đặt qwen-code: `npm install -g @qwen-code/qwen-code`\n- Hoặc cấu hình biến: `QWEN_CLI_PATH=/path/to/qwen`\n\n**4. Không lưu được token**\n- Kiểm tra quyền ghi (write permissions) cho thư mục `~/.qwen/`\n- Xem log bằng cách bật `ENABLE_PLUGIN_REQUEST_LOGGING=1`\n\n## Phát triển\n\n### Build\n\n```bash\nnpm install\nnpm run build\n```\n\n### Test\n\n```bash\nnpm test\n```\n\n### Type Check\n\n```bash\nnpm run typecheck\n```\n\n### Lint & Format\n\n```bash\nnpm run lint\nnpm run format\n```\n\n## Giấy phép (License)\n\nMIT\n\n## Repository\n\n- **Mã nguồn**: https://github.com/TVD-00/opencode-qwen-cli-auth\n- **Báo lỗi (Issues)**: https://github.com/TVD-00/opencode-qwen-cli-auth/issues\n- **NPM**: https://www.npmjs.com/package/opencode-qwen-cli-auth\n\n## Tác giả\n\nGeoff Hammond\n\n## Đóng góp\n\nMọi sự đóng góp (PR, issue, feedback) đều được hoan nghênh tại GitHub repository.\n","readmeFilename":"README.vi.md"}