{"_id":"fallback-vision","_rev":"43-fd77710397732808e87bb158849eeb33","name":"fallback-vision","dist-tags":{"latest":"0.6.7"},"versions":{"0.1.0":{"name":"fallback-vision","version":"0.1.0","keywords":["ai-gateway","visual-fallback","routing","proxy","claude-code","codex"],"license":"MIT","_id":"fallback-vision@0.1.0","maintainers":[{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"}],"bin":{"fallback-vision":"dist/cli.js","fallback-vision-setup":"dist/setup.js"},"dist":{"shasum":"24851518986187011ffca4118351c422db0cd81a","tarball":"https://registry.npmjs.org/fallback-vision/-/fallback-vision-0.1.0.tgz","fileCount":4,"integrity":"sha512-hpIKEp44tB2O9eU8qWXMCbLhErQKi9gwv918K0TtetrmDJhHiFLDO2CNX421/cDNK2g+QQ4lPDj038sj+L7Ldw==","signatures":[{"sig":"MEUCIQCDGOCn43jpus8vSjWxxr9T1rEA+TUR/26VU+/bML3TZgIgZEjYU/aOvtApAorQ1Lttz9XAvFdTWtpZUhSZ0yelYXk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4527},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"scripts":{"dev":"tsx src/cli.ts","lint":"tsc --noEmit","test":"vitest run","build":"tsc","setup":"tsx src/setup.ts","start":"node dist/cli.js","test:watch":"vitest"},"_npmUser":{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"},"_npmVersion":"11.15.0","description":"AI Gateway with intelligent visual fallback routing","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","vitest":"^3.0.0","typescript":"^5.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fallback-vision_0.1.0_1779985885004_0.8771731233588591","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"fallback-vision","version":"0.1.1","keywords":["ai-gateway","visual-fallback","routing","proxy","claude-code","codex"],"license":"MIT","_id":"fallback-vision@0.1.1","maintainers":[{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"}],"bin":{"fallback-vision":"dist/cli.js","fallback-vision-setup":"dist/setup.js"},"dist":{"shasum":"59b67392cdc4b725b3ec36afbc91932507e4495d","tarball":"https://registry.npmjs.org/fallback-vision/-/fallback-vision-0.1.1.tgz","fileCount":72,"integrity":"sha512-z9MBOON8A4ogSxAPDRWsFIkUDf/TNNN6/t+11/wx/3fSAF/HqxkDrrWrbaTF7XRKpWCyW+odTzki6dyWC0g0fA==","signatures":[{"sig":"MEUCIQD2YdBUJBymLghPiZ9cfyNUpG8xrqP2aFgztgK0tgR1NgIgUNo/349to0P12MeIdSc4bRdicP+X3ZBFCciJfA6R1g4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":149319},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"scripts":{"dev":"tsx src/cli.ts","lint":"tsc --noEmit","test":"vitest run","build":"tsc","setup":"tsx src/setup.ts","start":"node dist/cli.js","test:watch":"vitest"},"_npmUser":{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"},"_npmVersion":"11.15.0","description":"AI Gateway with intelligent visual fallback routing","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","vitest":"^3.0.0","typescript":"^5.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fallback-vision_0.1.1_1779985949300_0.10487307664418166","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"fallback-vision","version":"0.1.3","keywords":["ai-gateway","visual-fallback","routing","proxy","claude-code","codex"],"license":"MIT","_id":"fallback-vision@0.1.3","maintainers":[{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"}],"bin":{"fv-codex":"bin/fv-codex","fv-claude":"bin/fv-claude","fallback-vision":"dist/cli.js","fv-codex-docker":"bin/fv-codex-docker","fv-claude-docker":"bin/fv-claude-docker","fallback-vision-setup":"dist/setup.js"},"dist":{"shasum":"4374e783d0d6c5d461af31b8597fddb598035bbd","tarball":"https://registry.npmjs.org/fallback-vision/-/fallback-vision-0.1.3.tgz","fileCount":76,"integrity":"sha512-QZoLxO/kUxRl6/A+Jvl0VhPmZ0o2Ith5fAT3bCP6ncUZbSI/WK3eTb8WoYSiYc5O6Pb58SVlfw1xAUveal0Y/Q==","signatures":[{"sig":"MEYCIQDa4wsEWe7LlyNuUcxMGvQFNh8bdFrzD/GzKUFQ9GtVAQIhANzrKe7gkcKz/HAmKozat1D+MnLItWJ7es6Dc+7Fuqc4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":164976},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"d99c2bbf0d1245076f7c54d031fc54fde750aac3","scripts":{"dev":"tsx src/cli.ts","lint":"tsc --noEmit","test":"vitest run","build":"tsc","setup":"tsx src/setup.ts","start":"node dist/cli.js","test:watch":"vitest"},"_npmUser":{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"},"_npmVersion":"11.15.0","description":"AI Gateway with intelligent visual fallback routing","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","vitest":"^3.0.0","typescript":"^5.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fallback-vision_0.1.3_1779987511251_0.9288178165699508","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"fallback-vision","version":"0.1.4","keywords":["ai-gateway","visual-fallback","routing","proxy","claude-code","codex"],"license":"MIT","_id":"fallback-vision@0.1.4","maintainers":[{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"}],"bin":{"fv-codex":"bin/fv-codex","fv-claude":"bin/fv-claude","fallback-vision":"dist/cli.js","fv-codex-docker":"bin/fv-codex-docker","fv-claude-docker":"bin/fv-claude-docker","fallback-vision-setup":"dist/setup.js"},"dist":{"shasum":"21a4dcc6f52afcb6c87a30bd06790669c16ab730","tarball":"https://registry.npmjs.org/fallback-vision/-/fallback-vision-0.1.4.tgz","fileCount":80,"integrity":"sha512-CrAS8xMrlabKSz4lsOwOnPutnrIgAxmfC6Dp8Eut8NmE04JqFwkuWp76HBdDIex01DowXctW20lg1V+Ps+a+jQ==","signatures":[{"sig":"MEQCIEffrruYa9+C7G2Euf7YnVDI+ntjkiMtHWKYq8M/EWHaAiBuqT/QP7wEdMHFtwXHHcPyfe5sSxRD2kiOiOY0WTxsqQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":170781},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"d99c2bbf0d1245076f7c54d031fc54fde750aac3","scripts":{"dev":"tsx src/cli.ts","lint":"tsc --noEmit","test":"vitest run","build":"tsc","setup":"tsx src/setup.ts","start":"node dist/cli.js","test:watch":"vitest"},"_npmUser":{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"},"_npmVersion":"11.15.0","description":"AI Gateway with intelligent visual fallback routing","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","vitest":"^3.0.0","typescript":"^5.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fallback-vision_0.1.4_1779988406135_0.6322432555392099","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"fallback-vision","version":"0.1.5","keywords":["ai-gateway","visual-fallback","routing","proxy","claude-code","codex"],"license":"MIT","_id":"fallback-vision@0.1.5","maintainers":[{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"}],"bin":{"fv-codex":"bin/fv-codex.js","fv-claude":"bin/fv-claude.js","fallback-vision":"dist/cli.js","fv-codex-docker":"bin/fv-codex.js","fv-claude-docker":"bin/fv-claude.js","fallback-vision-setup":"dist/setup.js"},"dist":{"shasum":"52b1a924dcaa9798eb1010e457daae0ef378d74c","tarball":"https://registry.npmjs.org/fallback-vision/-/fallback-vision-0.1.5.tgz","fileCount":82,"integrity":"sha512-Ig/7hcRrwzHgks/QDgPqpbY4inJB2MNt19fUV530HPQHA/8uPZWZyEh2uHQldA3qzzjX5RdqCtmKGQMId9WQ2Q==","signatures":[{"sig":"MEUCIQDTVbJuNac1UXG8q9cuJ4wNzT375jnUNrJqAPAZVeNcLgIgBxQxZzfkGxB7CjfsOjVo9kWv3WT4jg5apd/emYXRtuI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":179298},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"f8ca4a22a4f3400290aa1615884e92a884a24f42","scripts":{"dev":"tsx src/cli.ts","lint":"tsc --noEmit","test":"vitest run","build":"tsc","setup":"tsx src/setup.ts","start":"node dist/cli.js","test:watch":"vitest"},"_npmUser":{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"},"_npmVersion":"11.15.0","description":"AI Gateway with intelligent visual fallback routing","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","vitest":"^3.0.0","typescript":"^5.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fallback-vision_0.1.5_1779988735423_0.3789917609528797","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"fallback-vision","version":"0.1.6","keywords":["ai-gateway","visual-fallback","routing","proxy","claude-code","codex"],"license":"MIT","_id":"fallback-vision@0.1.6","maintainers":[{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"}],"bin":{"fv-codex":"bin/fv-codex.js","fv-claude":"bin/fv-claude.js","fallback-vision":"dist/cli.js","fv-codex-docker":"bin/fv-codex.js","fv-claude-docker":"bin/fv-claude.js","fallback-vision-setup":"dist/setup.js"},"dist":{"shasum":"c9c03d31922c158b0a424dd62b9f268ccbf99f24","tarball":"https://registry.npmjs.org/fallback-vision/-/fallback-vision-0.1.6.tgz","fileCount":82,"integrity":"sha512-/j8YueOQ0yV5txSGZZU9bxwkTwkRKKjMOmGWtWZgRxCLGX36pLjj4wVYDpsd2hARiV7e8nq0IBL0B5Xhogrm2w==","signatures":[{"sig":"MEQCIEde/ZY0cquTyWYqOZtv+QDJg7J5IJr0h0StKizg0WLCAiAtffYE8KHY6JEJFmF26sV3APysq11nlhQUmMR+54L4Sg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":179590},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"e0b016e28351cdba74ace6d8094e6eef3f8c2103","scripts":{"dev":"tsx src/cli.ts","lint":"tsc --noEmit","test":"vitest run","build":"tsc","setup":"tsx src/setup.ts","start":"node dist/cli.js","test:watch":"vitest"},"_npmUser":{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"},"_npmVersion":"11.15.0","description":"AI Gateway with intelligent visual fallback routing","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","vitest":"^3.0.0","typescript":"^5.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fallback-vision_0.1.6_1779988949422_0.6962838794704724","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"fallback-vision","version":"0.1.7","keywords":["ai-gateway","visual-fallback","routing","proxy","claude-code","codex"],"license":"MIT","_id":"fallback-vision@0.1.7","maintainers":[{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"}],"bin":{"fv-codex":"bin/fv-codex.js","fv-claude":"bin/fv-claude.js","fallback-vision":"dist/cli.js","fv-codex-docker":"bin/fv-codex.js","fv-claude-docker":"bin/fv-claude.js","fallback-vision-setup":"dist/setup.js"},"dist":{"shasum":"bf876b837b4922dc03c816fe95288da2933f61ef","tarball":"https://registry.npmjs.org/fallback-vision/-/fallback-vision-0.1.7.tgz","fileCount":82,"integrity":"sha512-h0+GoPk7c+lnR+q32fODMIT1oOOyiKIHYZo3ccf1fz4beG7qdvNFtNabT7QFDoD+YOrmC2HqSRRrPa3X1SWeIw==","signatures":[{"sig":"MEUCIQCmHXetz/p3CrpP9ytFWOALmmNma9QOs+N1/kMxbpdgjgIgL8lrzGlu57DCTKy7zpMlKLxFqXTjs0J2yfyvslgl3X4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":179632},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"e0b016e28351cdba74ace6d8094e6eef3f8c2103","scripts":{"dev":"tsx src/cli.ts","lint":"tsc --noEmit","test":"vitest run","build":"tsc","setup":"tsx src/setup.ts","start":"node dist/cli.js","test:watch":"vitest"},"_npmUser":{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"},"_npmVersion":"11.15.0","description":"AI Gateway with intelligent visual fallback routing","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","vitest":"^3.0.0","typescript":"^5.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fallback-vision_0.1.7_1779989592748_0.6260255100986365","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"fallback-vision","version":"0.1.8","keywords":["ai-gateway","visual-fallback","routing","proxy","claude-code","codex"],"license":"MIT","_id":"fallback-vision@0.1.8","maintainers":[{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"}],"bin":{"fv-codex":"bin/fv-codex.js","fv-claude":"bin/fv-claude.js","fallback-vision":"dist/cli.js","fv-codex-docker":"bin/fv-codex.js","fv-claude-docker":"bin/fv-claude.js","fallback-vision-setup":"dist/setup.js"},"dist":{"shasum":"c7bd722b3495cd019ba8d31a9c356895559da954","tarball":"https://registry.npmjs.org/fallback-vision/-/fallback-vision-0.1.8.tgz","fileCount":82,"integrity":"sha512-6/pN1/KYGnZDnTb7BLfMqTs5yNmjdLPVA/grU97vCoqgCQrCGLbPn3OizADMZydISLICDGS+kJqgyyVoR7UbwA==","signatures":[{"sig":"MEUCIE7lJ3msdVhebA2UEaqpcxqqIzPJWP0Lgx19hZYhBuZYAiEAq3mMuxbJJBF60ao4PjbMgHxnPmWdfq7a7uKBgrgWylA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":186724},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"d1b5fa4b144b62b36dac3dae0b2de228c4720b30","scripts":{"dev":"tsx src/cli.ts","lint":"tsc --noEmit","test":"vitest run","build":"tsc","setup":"tsx src/setup.ts","start":"node dist/cli.js","test:watch":"vitest"},"_npmUser":{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"},"_npmVersion":"11.15.0","description":"AI Gateway with intelligent visual fallback routing","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","vitest":"^3.0.0","typescript":"^5.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fallback-vision_0.1.8_1779990837675_0.36244171938837577","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"fallback-vision","version":"0.1.9","keywords":["ai-gateway","visual-fallback","routing","proxy","claude-code","codex"],"license":"MIT","_id":"fallback-vision@0.1.9","maintainers":[{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"}],"bin":{"fv-codex":"bin/fv-codex.js","fv-claude":"bin/fv-claude.js","fallback-vision":"dist/cli.js","fv-codex-docker":"bin/fv-codex.js","fv-claude-docker":"bin/fv-claude.js","fallback-vision-setup":"dist/setup.js"},"dist":{"shasum":"a6456700e7c2bbc66768624afdfb4ad128ee6ed9","tarball":"https://registry.npmjs.org/fallback-vision/-/fallback-vision-0.1.9.tgz","fileCount":82,"integrity":"sha512-QRRXS8qjoKkxbXRHBWnTHrvufcMgE9k9dMnUaX8H05U7GRxFVl+nCkBlqx7xR9XNLLLSJG1RwItaEfGDZrKC6g==","signatures":[{"sig":"MEUCIQCXcADKBfY5ogobuH1eARjoysFhBqV8mZGwFHl8vYxmdwIgNITvj7pf4rVGPf+y45Gd3T9D4gbslGtWIs0DKYb0tL8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":187668},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"192617601308443c48279891a36287f14146a05e","scripts":{"dev":"tsx src/cli.ts","lint":"tsc --noEmit","test":"vitest run","build":"tsc","setup":"tsx src/setup.ts","start":"node dist/cli.js","test:watch":"vitest"},"_npmUser":{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"},"_npmVersion":"11.15.0","description":"AI Gateway with intelligent visual fallback routing","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","vitest":"^3.0.0","typescript":"^5.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fallback-vision_0.1.9_1779991166771_0.8387090178673962","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"fallback-vision","version":"0.1.10","keywords":["ai-gateway","visual-fallback","routing","proxy","claude-code","codex"],"license":"MIT","_id":"fallback-vision@0.1.10","maintainers":[{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"}],"bin":{"fv-codex":"bin/fv-codex.js","fv-claude":"bin/fv-claude.js","fallback-vision":"dist/cli.js","fv-codex-docker":"bin/fv-codex.js","fv-claude-docker":"bin/fv-claude.js","fallback-vision-setup":"dist/setup.js"},"dist":{"shasum":"5c71299efe3e931997028f41a787d4c8558a6795","tarball":"https://registry.npmjs.org/fallback-vision/-/fallback-vision-0.1.10.tgz","fileCount":82,"integrity":"sha512-R5VgDxPFRjuwp1G6AsIyKay30YM+ZNIPzhGdMkWkGDLc7pdUwm5LZD4/GD5y4DvfQxT6fcuJcOXkEfX4J6bHNg==","signatures":[{"sig":"MEUCIQCmjlEv/1yTQ1UflsSBzk9IMo2rHNlZ7JckB2Y7t7acaAIgbA1TbohBRrSJrJtdR/kJHfpsTJc1l9LPyEX19dGMLvA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":187991},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"ae40ed4b8ee636505ee2f4320e043bf0f62db517","scripts":{"dev":"tsx src/cli.ts","lint":"tsc --noEmit","test":"vitest run","build":"tsc","setup":"tsx src/setup.ts","start":"node dist/cli.js","test:watch":"vitest"},"_npmUser":{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"},"_npmVersion":"11.15.0","description":"AI Gateway with intelligent visual fallback routing","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","vitest":"^3.0.0","typescript":"^5.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fallback-vision_0.1.10_1779991849538_0.14742322837097244","host":"s3://npm-registry-packages-npm-production"}},"0.1.11":{"name":"fallback-vision","version":"0.1.11","keywords":["ai-gateway","visual-fallback","routing","proxy","claude-code","codex"],"license":"MIT","_id":"fallback-vision@0.1.11","maintainers":[{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"}],"bin":{"fv-codex":"bin/fv-codex.js","fv-claude":"bin/fv-claude.js","fallback-vision":"dist/cli.js","fv-codex-docker":"bin/fv-codex.js","fv-claude-docker":"bin/fv-claude.js","fallback-vision-setup":"dist/setup.js"},"dist":{"shasum":"8f805b02438c9bd6cf10b4a9f2099c4c56115a6d","tarball":"https://registry.npmjs.org/fallback-vision/-/fallback-vision-0.1.11.tgz","fileCount":82,"integrity":"sha512-jL2SFixBciw515iZ/zfy9SpEawU9KE2asbndgoDGfaEQVd+6cH+dvrluaUZjQZis5bkNGHNE1HZOJa4PYx4tOQ==","signatures":[{"sig":"MEQCIBfKB1nka4U/WwfVyc+k/VM5OdLlWALVFpSyyxHlLcPvAiAsKYzwA4ON8W/HObg27IzXDAoIL8l2qGhKozRILhHaHA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":188064},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"793452c85b4e98000381d9fea0d3ef1f0c782668","scripts":{"dev":"tsx src/cli.ts","lint":"tsc --noEmit","test":"vitest run","build":"tsc","setup":"tsx src/setup.ts","start":"node dist/cli.js","test:watch":"vitest"},"_npmUser":{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"},"_npmVersion":"11.15.0","description":"AI Gateway with intelligent visual fallback routing","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","vitest":"^3.0.0","typescript":"^5.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fallback-vision_0.1.11_1779992304709_0.5902601553670337","host":"s3://npm-registry-packages-npm-production"}},"0.1.12":{"name":"fallback-vision","version":"0.1.12","keywords":["ai-gateway","visual-fallback","routing","proxy","claude-code","codex"],"license":"MIT","_id":"fallback-vision@0.1.12","maintainers":[{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"}],"bin":{"fv-codex":"bin/fv-codex.js","fv-claude":"bin/fv-claude.js","fallback-vision":"dist/cli.js","fv-codex-docker":"bin/fv-codex.js","fv-claude-docker":"bin/fv-claude.js","fallback-vision-setup":"dist/setup.js"},"dist":{"shasum":"f55466df31fbd0ef57e715c04c5e051907da1c92","tarball":"https://registry.npmjs.org/fallback-vision/-/fallback-vision-0.1.12.tgz","fileCount":82,"integrity":"sha512-GQLbB5eLp2iBeDy+XicFgXeyFok/JumY9YcsOTDfdSzMdbD2jaC4c5TtkH+uVf7Xs8NIhgiy5uWIbQGYVAOvJA==","signatures":[{"sig":"MEQCIEIpX8mwJMLJ/zkMssiz2VEFTHjYiA+T8mkK6KMSj7bhAiASp3neuQ5XjeUFfIcgV3I7Jb1bwzul3Sra+17zX/bxxw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":187993},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"329a16025e355682de1cf4c1e06b1ddcb6254043","scripts":{"dev":"tsx src/cli.ts","lint":"tsc --noEmit","test":"vitest run","build":"tsc","setup":"tsx src/setup.ts","start":"node dist/cli.js","test:watch":"vitest"},"_npmUser":{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"},"_npmVersion":"11.15.0","description":"AI Gateway with intelligent visual fallback routing","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","vitest":"^3.0.0","typescript":"^5.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fallback-vision_0.1.12_1779992521216_0.9657045133829827","host":"s3://npm-registry-packages-npm-production"}},"0.1.13":{"name":"fallback-vision","version":"0.1.13","keywords":["ai-gateway","visual-fallback","routing","proxy","claude-code","codex"],"license":"MIT","_id":"fallback-vision@0.1.13","maintainers":[{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"}],"bin":{"fv-codex":"bin/fv-codex.js","fv-claude":"bin/fv-claude.js","fallback-vision":"dist/cli.js","fv-codex-docker":"bin/fv-codex.js","fv-claude-docker":"bin/fv-claude.js","fallback-vision-setup":"dist/setup.js"},"dist":{"shasum":"d4b40c394e442f0dca6d700b430364facc2cf153","tarball":"https://registry.npmjs.org/fallback-vision/-/fallback-vision-0.1.13.tgz","fileCount":82,"integrity":"sha512-pcIN4dxMjtHyYrauSBueS+P6ZAjtfUAabRtG0Ms0iJJH07Ab603TuUvJcKthFCtOkijKuRMuwW8BUjXijyHSpw==","signatures":[{"sig":"MEQCIEssXe58CXHNpUgo3VachaXd17VMFvBnJ7BdQU+TFYczAiByWqBHf9AK/oZWNgq9bN14nsu+TBlPTMbx8DbfAgmMkw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":188302},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"a0a326e01f50380c9f107eff952e79ba32065c1a","scripts":{"dev":"tsx src/cli.ts","lint":"tsc --noEmit","test":"vitest run","build":"tsc","setup":"tsx src/setup.ts","start":"node dist/cli.js","test:watch":"vitest"},"_npmUser":{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"},"_npmVersion":"11.15.0","description":"AI Gateway with intelligent visual fallback routing","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","vitest":"^3.0.0","typescript":"^5.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fallback-vision_0.1.13_1779993001016_0.7748850191318886","host":"s3://npm-registry-packages-npm-production"}},"0.1.14":{"name":"fallback-vision","version":"0.1.14","keywords":["ai-gateway","visual-fallback","routing","proxy","claude-code","codex"],"license":"MIT","_id":"fallback-vision@0.1.14","maintainers":[{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"}],"bin":{"fv-codex":"bin/fv-codex.js","fv-claude":"bin/fv-claude.js","fallback-vision":"dist/cli.js","fv-codex-docker":"bin/fv-codex.js","fv-claude-docker":"bin/fv-claude.js","fallback-vision-setup":"dist/setup.js"},"dist":{"shasum":"e06c5e2d6973b46663c0d136d9aa798809c55163","tarball":"https://registry.npmjs.org/fallback-vision/-/fallback-vision-0.1.14.tgz","fileCount":82,"integrity":"sha512-Sqmp+TV65d9mCv3LZUb5SoMP1cykC1R1z+MGpKgwnShM2cQULZxCbrBkGPJwVkN+NoQY0QqBjGqQZEgSFvTTBg==","signatures":[{"sig":"MEYCIQDCzrs6ZvwjAgCKBUqvaJRYz6mVHjJdzZ0PXysgjTmJWAIhAIPS3Dy5g3j2Qz2cCa4tXvp8HhlMG9YJDKqPmcC92py9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":188021},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"cdf1c3cc10448e38ddc6815a7642227e68934f4c","scripts":{"dev":"tsx src/cli.ts","lint":"tsc --noEmit","test":"vitest run","build":"tsc","setup":"tsx src/setup.ts","start":"node dist/cli.js","test:watch":"vitest"},"_npmUser":{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"},"_npmVersion":"11.15.0","description":"AI Gateway with intelligent visual fallback routing","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","vitest":"^3.0.0","typescript":"^5.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fallback-vision_0.1.14_1779993102962_0.6685820239146241","host":"s3://npm-registry-packages-npm-production"}},"0.1.15":{"name":"fallback-vision","version":"0.1.15","keywords":["ai-gateway","visual-fallback","routing","proxy","claude-code","codex"],"license":"MIT","_id":"fallback-vision@0.1.15","maintainers":[{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"}],"bin":{"fv-codex":"bin/fv-codex.js","fv-claude":"bin/fv-claude.js","fallback-vision":"dist/cli.js","fv-codex-docker":"bin/fv-codex.js","fv-claude-docker":"bin/fv-claude.js","fallback-vision-setup":"dist/setup.js"},"dist":{"shasum":"0472fe200dd24796ee8e53efc5045700c1bf4a93","tarball":"https://registry.npmjs.org/fallback-vision/-/fallback-vision-0.1.15.tgz","fileCount":82,"integrity":"sha512-8QgybPA1NeZep55MG5V1OE3ydt2rvUHkxpxxWzHimvX6OqInjdQvTGBhs97l4lvh7Oq0DIUiiGwjP2UfT6iVEw==","signatures":[{"sig":"MEUCIGgHr0eV+tSmoXNaQzKztPoGjz2mRGAUgMEbdvlWZ17TAiEAxI8eZESqGvVC9l/bogM04ur4+2es/moqeV6UudCADOQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":188021},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"0dd970d096c90d67ab711ca16f477c60874c57c1","scripts":{"dev":"tsx src/cli.ts","lint":"tsc --noEmit","test":"vitest run","build":"tsc","setup":"tsx src/setup.ts","start":"node dist/cli.js","test:watch":"vitest"},"_npmUser":{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"},"_npmVersion":"11.15.0","description":"AI Gateway with intelligent visual fallback routing","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","vitest":"^3.0.0","typescript":"^5.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fallback-vision_0.1.15_1779993271867_0.32096722735090033","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"fallback-vision","version":"0.2.0","keywords":["ai-gateway","visual-fallback","routing","proxy","claude-code","codex"],"license":"MIT","_id":"fallback-vision@0.2.0","maintainers":[{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"}],"bin":{"fv-codex":"bin/fv-codex.js","fv-claude":"bin/fv-claude.js","fallback-vision":"dist/cli.js","fv-codex-docker":"bin/fv-codex.js","fv-claude-docker":"bin/fv-claude.js","fallback-vision-setup":"dist/setup.js"},"dist":{"shasum":"a939bf4f9702eebee80d4d06ff45d64ca24744fc","tarball":"https://registry.npmjs.org/fallback-vision/-/fallback-vision-0.2.0.tgz","fileCount":82,"integrity":"sha512-xvZneymVBwIv3bFjyAm7XpQykPq5Ii1sb7VwT5mYVjzTElG5YfIRzQyp37S70g42kGamYXx1kgxXdmL496QIlA==","signatures":[{"sig":"MEUCIQDb0Tkq/FFtnGgHy5oDIZvBYesxSPrGTwLRujM7XlBfggIgN4s1goE+ZSdvr1zwy2yLUjdTciVZIaIkb+3M+5bW3WY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":181302},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"657924b9c51c5850111a4965cc4a052f38867674","scripts":{"dev":"tsx src/cli.ts","lint":"tsc --noEmit","test":"vitest run","build":"tsc","setup":"tsx src/setup.ts","start":"node dist/cli.js","test:watch":"vitest"},"_npmUser":{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"},"_npmVersion":"11.15.0","description":"AI Gateway with intelligent visual fallback routing","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","vitest":"^3.0.0","typescript":"^5.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fallback-vision_0.2.0_1780036696833_0.42037308638044246","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"fallback-vision","version":"0.3.0","keywords":["ai-gateway","visual-fallback","routing","proxy","claude-code","codex"],"license":"MIT","_id":"fallback-vision@0.3.0","maintainers":[{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"}],"bin":{"fv-codex":"bin/fv-codex.js","fv-claude":"bin/fv-claude.js","fallback-vision":"dist/cli.js","fv-codex-docker":"bin/fv-codex.js","fv-claude-docker":"bin/fv-claude.js","fallback-vision-setup":"dist/setup.js"},"dist":{"shasum":"b23b5e3055c4eb24a7d34edbe939273b306aa798","tarball":"https://registry.npmjs.org/fallback-vision/-/fallback-vision-0.3.0.tgz","fileCount":82,"integrity":"sha512-bAbQUWoYC2vMUgli51+074wvkB4XD+4uy6NGdf8V3/2+LuUMa0nWUuwVON9hI+zO1nlUssh0JLXjX4lyMHXv6A==","signatures":[{"sig":"MEUCIGCv6NgSmsMSgmoeFQUM2kz+HaoTZjPK3NuCkeHggoZkAiEAmkmF2SUDucYSrjDlaDoS4Ajxh2jIr1OIZWB3YCpmUjw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":172432},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"83a2469f63d882b55779c9e506e3b97eaede1c8b","scripts":{"dev":"tsx src/cli.ts","lint":"tsc --noEmit","test":"vitest run","build":"tsc","setup":"tsx src/setup.ts","start":"node dist/cli.js","test:watch":"vitest"},"_npmUser":{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"},"_npmVersion":"11.15.0","description":"AI Gateway with intelligent visual fallback routing","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","vitest":"^3.0.0","typescript":"^5.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fallback-vision_0.3.0_1780055376158_0.26481035146117415","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"fallback-vision","version":"0.3.1","keywords":["ai-gateway","visual-fallback","routing","proxy","claude-code","codex"],"license":"MIT","_id":"fallback-vision@0.3.1","maintainers":[{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"}],"bin":{"fv-codex":"bin/fv-codex.js","fv-claude":"bin/fv-claude.js","fallback-vision":"dist/cli.js","fv-codex-docker":"bin/fv-codex.js","fv-claude-docker":"bin/fv-claude.js","fallback-vision-setup":"dist/setup.js"},"dist":{"shasum":"63e63770ac88f16f90cc644bb603020eb696c308","tarball":"https://registry.npmjs.org/fallback-vision/-/fallback-vision-0.3.1.tgz","fileCount":82,"integrity":"sha512-3XB2PxVEzHMGKiblkkBFtDfdhwo1QZRNqhis0YKOhfETMJGSZtFkTpWwVt6zBC475cxL9o1QP2c/JdEjjPDwUw==","signatures":[{"sig":"MEQCICegLjqCqPiunxgwncdDdn1NFP1Z5efbr7nH8RUG8BoUAiB4yVsv0aAQ6gmc82jEhL1TPIslx2/EYn6ppJWChQ3CbQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":172227},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"ed00e552f7cfbbb97e1a709daaaf8301405b8490","scripts":{"dev":"tsx src/cli.ts","lint":"tsc --noEmit","test":"vitest run","build":"tsc","setup":"tsx src/setup.ts","start":"node dist/cli.js","test:watch":"vitest"},"_npmUser":{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"},"_npmVersion":"11.15.0","description":"AI Gateway with intelligent visual fallback routing","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","vitest":"^3.0.0","typescript":"^5.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fallback-vision_0.3.1_1780055918460_0.39239686890453185","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"fallback-vision","version":"0.3.2","keywords":["ai-gateway","visual-fallback","routing","proxy","claude-code","codex"],"license":"MIT","_id":"fallback-vision@0.3.2","maintainers":[{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"}],"bin":{"fv-codex":"bin/fv-codex.js","fv-claude":"bin/fv-claude.js","fallback-vision":"dist/cli.js","fv-codex-docker":"bin/fv-codex.js","fv-claude-docker":"bin/fv-claude.js","fallback-vision-setup":"dist/setup.js"},"dist":{"shasum":"acaa37362d458a2104f69147087a6b8d185f84a1","tarball":"https://registry.npmjs.org/fallback-vision/-/fallback-vision-0.3.2.tgz","fileCount":82,"integrity":"sha512-Q1lw0QBbT3xzxrki9JZaH5ANo92piNjcZ1r4Ud8dVAdM5dZKkS6tlIdC/RBIQeVGhA1/+1jt4FZFtrnpfPB6wA==","signatures":[{"sig":"MEUCIFTqr07XnABWdqECM+XCr+WqDKKh3sqMRv2vLSJz5r4rAiEA4tB8l0hIkAp/PE1On85xbrcqlC34isG8yjkXEFXOteQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":172228},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"4f6c6f2258dc6ec6d357e87dcdd3bc51408c945d","scripts":{"dev":"tsx src/cli.ts","lint":"tsc --noEmit","test":"vitest run","build":"tsc","setup":"tsx src/setup.ts","start":"node dist/cli.js","test:watch":"vitest"},"_npmUser":{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"},"_npmVersion":"11.15.0","description":"AI Gateway with intelligent visual fallback routing","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","vitest":"^3.0.0","typescript":"^5.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fallback-vision_0.3.2_1780058987737_0.7575552909205097","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"fallback-vision","version":"0.3.3","keywords":["ai-gateway","visual-fallback","routing","proxy","claude-code","codex"],"license":"MIT","_id":"fallback-vision@0.3.3","maintainers":[{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"}],"bin":{"fv-codex":"bin/fv-codex.js","fv-claude":"bin/fv-claude.js","fallback-vision":"dist/cli.js","fv-codex-docker":"bin/fv-codex.js","fv-claude-docker":"bin/fv-claude.js","fallback-vision-setup":"dist/setup.js"},"dist":{"shasum":"3b40b4b353546e280ea56258a5c2ace8308915b6","tarball":"https://registry.npmjs.org/fallback-vision/-/fallback-vision-0.3.3.tgz","fileCount":82,"integrity":"sha512-HT+CwaoDfYtrr/ipwsaKMGgT8UFOVWZASP4lHR88iFYwRD93lvsU8dJCbdEtuuNA+i8Kvy1hAGd9k3Spvbz6cA==","signatures":[{"sig":"MEQCIDXRmEKKzDklVdKUbtObCX5EkvnlcTLOXyc/S6jXQY6BAiAKkbZi00TxPklLdK9PQqOUgH25UrM45YXubxEsAf7/eA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":172228},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"923c6d5ad1d79b4ada2dbb39caf9896703e67429","scripts":{"dev":"tsx src/cli.ts","lint":"tsc --noEmit","test":"vitest run","build":"tsc","setup":"tsx src/setup.ts","start":"node dist/cli.js","test:watch":"vitest"},"_npmUser":{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"},"_npmVersion":"11.15.0","description":"AI Gateway with intelligent visual fallback routing","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","vitest":"^3.0.0","typescript":"^5.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fallback-vision_0.3.3_1780059552283_0.9714007904535726","host":"s3://npm-registry-packages-npm-production"}},"0.3.4":{"name":"fallback-vision","version":"0.3.4","keywords":["ai-gateway","visual-fallback","routing","proxy","claude-code","codex"],"license":"MIT","_id":"fallback-vision@0.3.4","maintainers":[{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"}],"bin":{"fv-codex":"bin/fv-codex.js","fv-claude":"bin/fv-claude.js","fallback-vision":"dist/cli.js","fv-codex-docker":"bin/fv-codex.js","fv-claude-docker":"bin/fv-claude.js","fallback-vision-setup":"dist/setup.js"},"dist":{"shasum":"ebe967c03a8ff76272521a79849e092b992c4cc3","tarball":"https://registry.npmjs.org/fallback-vision/-/fallback-vision-0.3.4.tgz","fileCount":82,"integrity":"sha512-+ePvV3YwC277Qj15iFdVAcgfv4KEXRSgOELbcPAH/awKRdn7OUFaY+z7Rqt1Xp9AdrzMMcEw4WWyJi+1LKquDQ==","signatures":[{"sig":"MEUCIF+LvrnTGApXQV7LYzs2pK6n0N12mmvfLaYCuWeNF/qyAiEA/K76B7L+KJfny+6ZXSEZJ+9k0o1c5dcpVIIyG3eF/Gk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":176315},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"923c6d5ad1d79b4ada2dbb39caf9896703e67429","scripts":{"dev":"tsx src/cli.ts","lint":"tsc --noEmit","test":"vitest run","build":"tsc","setup":"tsx src/setup.ts","start":"node dist/cli.js","test:watch":"vitest"},"_npmUser":{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"},"_npmVersion":"11.15.0","description":"AI Gateway with intelligent visual fallback routing","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","vitest":"^3.0.0","typescript":"^5.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fallback-vision_0.3.4_1780064186487_0.27495851769627144","host":"s3://npm-registry-packages-npm-production"}},"0.3.5":{"name":"fallback-vision","version":"0.3.5","keywords":["ai-gateway","visual-fallback","routing","proxy","claude-code","codex"],"license":"MIT","_id":"fallback-vision@0.3.5","maintainers":[{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"}],"bin":{"fv-codex":"bin/fv-codex.js","fv-claude":"bin/fv-claude.js","fallback-vision":"dist/cli.js","fv-codex-docker":"bin/fv-codex.js","fv-claude-docker":"bin/fv-claude.js","fallback-vision-setup":"dist/setup.js"},"dist":{"shasum":"4ed4ccc25147ff98f1d6569a2eca9f7b4ef923ae","tarball":"https://registry.npmjs.org/fallback-vision/-/fallback-vision-0.3.5.tgz","fileCount":82,"integrity":"sha512-jJXw1RHIw8owSGnmCJdbInCLcUGjjWoH0cQ/QcA+iZk2M2KeFCgxSp7Mg7l7UXO+TKwTtgNFAocbV59+204Mzw==","signatures":[{"sig":"MEQCID+MdXVN4AjZydmMoiMlRAnUqTl1HzoR24BE/oI3WE4QAiAbuPMULeYROqP0dwJnyRNzQDkYv0jBc3yVZVZIBM83/g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":177639},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"923c6d5ad1d79b4ada2dbb39caf9896703e67429","scripts":{"dev":"tsx src/cli.ts","lint":"tsc --noEmit","test":"vitest run","build":"tsc","setup":"tsx src/setup.ts","start":"node dist/cli.js","test:watch":"vitest"},"_npmUser":{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"},"_npmVersion":"11.15.0","description":"AI Gateway with intelligent visual fallback routing","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","vitest":"^3.0.0","typescript":"^5.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fallback-vision_0.3.5_1780067970551_0.4571888964597606","host":"s3://npm-registry-packages-npm-production"}},"0.3.6":{"name":"fallback-vision","version":"0.3.6","keywords":["ai-gateway","visual-fallback","routing","proxy","claude-code","codex"],"license":"MIT","_id":"fallback-vision@0.3.6","maintainers":[{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"}],"bin":{"fv-codex":"bin/fv-codex.js","fv-claude":"bin/fv-claude.js","fallback-vision":"dist/cli.js","fv-codex-docker":"bin/fv-codex.js","fv-claude-docker":"bin/fv-claude.js","fallback-vision-setup":"dist/setup.js"},"dist":{"shasum":"770df38db0ec5066adf34c79adf35ce9e914e9d1","tarball":"https://registry.npmjs.org/fallback-vision/-/fallback-vision-0.3.6.tgz","fileCount":82,"integrity":"sha512-VCGiZ9ZD5KsRl0+lN8q+N/4L9GqKoow/ySMteiUHL1gEJjR5rRg1dpo89ZXnMvk79Lnii0B4mhkTa6i3Ub1aow==","signatures":[{"sig":"MEUCIQCOAqkdXUWB/PaTfmmjt/P6pfZTLJGYUxUwbDLkL+2eUgIgdS8Jh2T802P1+f09BfK2yygfHWgNXwiD2nX5QNHf7ts=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":177121},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"923c6d5ad1d79b4ada2dbb39caf9896703e67429","scripts":{"dev":"tsx src/cli.ts","lint":"tsc --noEmit","test":"vitest run","build":"tsc","setup":"tsx src/setup.ts","start":"node dist/cli.js","test:watch":"vitest"},"_npmUser":{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"},"_npmVersion":"11.15.0","description":"AI Gateway with intelligent visual fallback routing","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","vitest":"^3.0.0","typescript":"^5.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fallback-vision_0.3.6_1780068207569_0.7486580202140034","host":"s3://npm-registry-packages-npm-production"}},"0.3.7":{"name":"fallback-vision","version":"0.3.7","keywords":["ai-gateway","visual-fallback","routing","proxy","claude-code","codex"],"license":"MIT","_id":"fallback-vision@0.3.7","maintainers":[{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"}],"bin":{"fv-codex":"bin/fv-codex.js","fv-claude":"bin/fv-claude.js","fallback-vision":"dist/cli.js","fv-codex-docker":"bin/fv-codex.js","fv-claude-docker":"bin/fv-claude.js","fallback-vision-setup":"dist/setup.js"},"dist":{"shasum":"ba8578711c12f7bc14e54ee7b271f1dff1a3c735","tarball":"https://registry.npmjs.org/fallback-vision/-/fallback-vision-0.3.7.tgz","fileCount":82,"integrity":"sha512-eseBg1ks/5mFXcRhJ/XraHqA0NDmoIS7nkk9e3exIdpcQ4/hAa0NGk6+moaxZRskfJNO79KVuzX+BGylxxxvQA==","signatures":[{"sig":"MEUCIQD1W4UTGIRI47Qvki73BihnZ5g2c8WPiyR+jeb+GA9n8gIgRjT+A/33A/eSiQxsSMlLsBkfLzIreHv0ybLJAsMiiXU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":177773},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"923c6d5ad1d79b4ada2dbb39caf9896703e67429","scripts":{"dev":"tsx src/cli.ts","lint":"tsc --noEmit","test":"vitest run","build":"tsc","setup":"tsx src/setup.ts","start":"node dist/cli.js","test:watch":"vitest"},"_npmUser":{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"},"_npmVersion":"11.15.0","description":"AI Gateway with intelligent visual fallback routing","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","vitest":"^3.0.0","typescript":"^5.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fallback-vision_0.3.7_1780068683029_0.37270861204678196","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"fallback-vision","version":"0.4.0","keywords":["ai-gateway","visual-fallback","routing","proxy","claude-code","codex"],"license":"MIT","_id":"fallback-vision@0.4.0","maintainers":[{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"}],"bin":{"fv-stop":"bin/fv-stop.js","fv-codex":"bin/fv-codex.js","fv-claude":"bin/fv-claude.js","fallback-vision":"dist/cli.js","fv-codex-docker":"bin/fv-codex.js","fv-claude-docker":"bin/fv-claude.js","fallback-vision-setup":"dist/setup.js"},"dist":{"shasum":"d6ee91990d5e60b5eac90786e1372d4ff7ae7457","tarball":"https://registry.npmjs.org/fallback-vision/-/fallback-vision-0.4.0.tgz","fileCount":83,"integrity":"sha512-oKg2Wm/Q9GkOzx0C/0+cz2uPdP2l4FeDrwXK2YlNF7b5+2FFUoDlNRVasa61BtA3kAGbfy46qOJ+yTTlwtEvHw==","signatures":[{"sig":"MEYCIQDKWBSWGJsfGFaZ6yVhZz85fGxOQIRLoW1EnenmNo3FhQIhAOdrkhQ9UUY4FJEyciYNkniqE0mjLlNlY3R43eR5yxNw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":182326},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"923c6d5ad1d79b4ada2dbb39caf9896703e67429","scripts":{"dev":"tsx src/cli.ts","lint":"tsc --noEmit","test":"vitest run","build":"tsc","setup":"tsx src/setup.ts","start":"node dist/cli.js","test:watch":"vitest"},"_npmUser":{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"},"_npmVersion":"11.15.0","description":"AI Gateway with intelligent visual fallback routing","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","vitest":"^3.0.0","typescript":"^5.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fallback-vision_0.4.0_1780069423616_0.3439607575658692","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"fallback-vision","version":"0.4.1","keywords":["ai-gateway","visual-fallback","routing","proxy","claude-code","codex"],"license":"MIT","_id":"fallback-vision@0.4.1","maintainers":[{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"}],"bin":{"fv-stop":"bin/fv-stop.js","fv-codex":"bin/fv-codex.js","fv-claude":"bin/fv-claude.js","fallback-vision":"dist/cli.js","fv-codex-docker":"bin/fv-codex.js","fv-claude-docker":"bin/fv-claude.js","fallback-vision-setup":"dist/setup.js"},"dist":{"shasum":"577b5f8a050a61b5ba856deff6c48620109a52cb","tarball":"https://registry.npmjs.org/fallback-vision/-/fallback-vision-0.4.1.tgz","fileCount":83,"integrity":"sha512-QsA8RPnaCPEEb6mC97TR23R9/h2wGbRSUWr66h+wtoMPJMAdQpr4pjED4TdnFh9uAd6+4IsTjxzOR1XJis2h6Q==","signatures":[{"sig":"MEQCID6K8+AMKQNntn8/hnEnSAMNK6E4qXH6tyjm80WqVLpJAiBgXYZJ9hVKZL/jrRTOTqk9mJfXmZgTrqQLN93mQrxZ2w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":182729},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"923c6d5ad1d79b4ada2dbb39caf9896703e67429","scripts":{"dev":"tsx src/cli.ts","lint":"tsc --noEmit","test":"vitest run","build":"tsc","setup":"tsx src/setup.ts","start":"node dist/cli.js","test:watch":"vitest"},"_npmUser":{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"},"_npmVersion":"11.15.0","description":"AI Gateway with intelligent visual fallback routing","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","vitest":"^3.0.0","typescript":"^5.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fallback-vision_0.4.1_1780072052950_0.2265663005197467","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"fallback-vision","version":"0.4.2","keywords":["ai-gateway","visual-fallback","routing","proxy","claude-code","codex"],"license":"MIT","_id":"fallback-vision@0.4.2","maintainers":[{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"}],"bin":{"fv-stop":"bin/fv-stop.js","fv-codex":"bin/fv-codex.js","fv-claude":"bin/fv-claude.js","fallback-vision":"dist/cli.js","fv-codex-docker":"bin/fv-codex.js","fv-claude-docker":"bin/fv-claude.js","fallback-vision-setup":"dist/setup.js"},"dist":{"shasum":"878d5582d339ebcc3470cf3919b9baca1e01987c","tarball":"https://registry.npmjs.org/fallback-vision/-/fallback-vision-0.4.2.tgz","fileCount":83,"integrity":"sha512-fpRda7+7fG7vy/S8/g8QQtF/D0TJn7+xcrEobBy/4vHNMOyqFAAz8IHgehTnkC8YECA4vHTCxwhoRNIFznJcKQ==","signatures":[{"sig":"MEYCIQCNMKPJ2yhQFJB/agNe0nd6aO8urQQvlwJI45N1/9l2MgIhAPuN4ciUAMQdg87xwPOvxYDleY27RZFoRiR6rKhaPyQ6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":184391},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"923c6d5ad1d79b4ada2dbb39caf9896703e67429","scripts":{"dev":"tsx src/cli.ts","lint":"tsc --noEmit","test":"vitest run","build":"tsc","setup":"tsx src/setup.ts","start":"node dist/cli.js","test:watch":"vitest"},"_npmUser":{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"},"_npmVersion":"11.15.0","description":"AI Gateway with intelligent visual fallback routing","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","vitest":"^3.0.0","typescript":"^5.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fallback-vision_0.4.2_1780073372030_0.5814439433333738","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"fallback-vision","version":"0.4.3","keywords":["ai-gateway","visual-fallback","routing","proxy","claude-code","codex"],"license":"MIT","_id":"fallback-vision@0.4.3","maintainers":[{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"}],"bin":{"fv-stop":"bin/fv-stop.js","fv-codex":"bin/fv-codex.js","fv-claude":"bin/fv-claude.js","fallback-vision":"dist/cli.js","fv-codex-docker":"bin/fv-codex.js","fv-claude-docker":"bin/fv-claude.js","fallback-vision-setup":"dist/setup.js"},"dist":{"shasum":"bc8c6325a4ff3bbcadf569cff869e310f89c3982","tarball":"https://registry.npmjs.org/fallback-vision/-/fallback-vision-0.4.3.tgz","fileCount":83,"integrity":"sha512-1VfujrMJv7hIdpt/deCkhejzGI6ApYNKWaVG01SEXPJdbZhWFbLMYxxS87E7MzQkOHmS3LHl+RWVP4X9XCpe8g==","signatures":[{"sig":"MEYCIQDTC2xs3TnUB2giB/OY51RskS6dDet/PLy5rTNA4zhh8QIhAP5/TOzD9nrjerY5Ym+LCPYoFJPrSAb44HKv2MQ04+2Q","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":184523},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"923c6d5ad1d79b4ada2dbb39caf9896703e67429","scripts":{"dev":"tsx src/cli.ts","lint":"tsc --noEmit","test":"vitest run","build":"tsc","setup":"tsx src/setup.ts","start":"node dist/cli.js","test:watch":"vitest"},"_npmUser":{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"},"_npmVersion":"11.15.0","description":"AI Gateway with intelligent visual fallback routing","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","vitest":"^3.0.0","typescript":"^5.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fallback-vision_0.4.3_1780073608082_0.8518748917246881","host":"s3://npm-registry-packages-npm-production"}},"0.4.4":{"name":"fallback-vision","version":"0.4.4","keywords":["ai-gateway","visual-fallback","routing","proxy","claude-code","codex"],"license":"MIT","_id":"fallback-vision@0.4.4","maintainers":[{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"}],"bin":{"fv-stop":"bin/fv-stop.js","fv-codex":"bin/fv-codex.js","fv-claude":"bin/fv-claude.js","fallback-vision":"dist/cli.js","fv-codex-docker":"bin/fv-codex.js","fv-claude-docker":"bin/fv-claude.js","fallback-vision-setup":"dist/setup.js"},"dist":{"shasum":"7dbcebe12321d622e3b2fc19037747be829ee7ee","tarball":"https://registry.npmjs.org/fallback-vision/-/fallback-vision-0.4.4.tgz","fileCount":83,"integrity":"sha512-zkwknRjJlQYFijSpTIXIMmsECXOcaa/Lo6eBX8iwdhYjWksiAQhTrHyCXuGy+SfGGXb/0l+RXamWbVknHUbJIw==","signatures":[{"sig":"MEUCIFWSx88/vCilp+uscwMrtqDTMFc8ko3EpBaOQK8i0Ty8AiEAx8AjojFull7FYWOUv00dF0sqqYKv+ZzSHkgOED59Ti0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":185613},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"923c6d5ad1d79b4ada2dbb39caf9896703e67429","scripts":{"dev":"tsx src/cli.ts","lint":"tsc --noEmit","test":"vitest run","build":"tsc","setup":"tsx src/setup.ts","start":"node dist/cli.js","test:watch":"vitest"},"_npmUser":{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"},"_npmVersion":"11.15.0","description":"AI Gateway with intelligent visual fallback routing","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","vitest":"^3.0.0","typescript":"^5.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fallback-vision_0.4.4_1780073809563_0.17724422553896568","host":"s3://npm-registry-packages-npm-production"}},"0.4.5":{"name":"fallback-vision","version":"0.4.5","keywords":["ai-gateway","visual-fallback","routing","proxy","claude-code","codex"],"license":"MIT","_id":"fallback-vision@0.4.5","maintainers":[{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"}],"bin":{"fv-stop":"bin/fv-stop.js","fv-codex":"bin/fv-codex.js","fv-claude":"bin/fv-claude.js","fallback-vision":"dist/cli.js","fv-codex-docker":"bin/fv-codex.js","fv-claude-docker":"bin/fv-claude.js","fallback-vision-setup":"dist/setup.js"},"dist":{"shasum":"d2890abd9d4323c0ef3e440b7c301969c0ba8e9d","tarball":"https://registry.npmjs.org/fallback-vision/-/fallback-vision-0.4.5.tgz","fileCount":83,"integrity":"sha512-YDR/rv+/v4j4c0Sm09uuWHPybeGN2gciXheX7gOiEp0Ua4zgCcvWC3aA3nEyVgH791qXEdXdGZCXrt2teYP1ug==","signatures":[{"sig":"MEUCIEC0h+d/42frEeDclcX1fFpIWucry95L9rIB/OFqC293AiEAu8E8+SOyE14ahDKEzlsNhMoo4aFHpam8fhMkTz0Qll0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":185661},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"923c6d5ad1d79b4ada2dbb39caf9896703e67429","scripts":{"dev":"tsx src/cli.ts","lint":"tsc --noEmit","test":"vitest run","build":"tsc","setup":"tsx src/setup.ts","start":"node dist/cli.js","test:watch":"vitest"},"_npmUser":{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"},"_npmVersion":"11.15.0","description":"AI Gateway with intelligent visual fallback routing","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","vitest":"^3.0.0","typescript":"^5.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fallback-vision_0.4.5_1780073941613_0.9962699006613578","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"fallback-vision","version":"0.5.0","keywords":["ai-gateway","visual-fallback","routing","proxy","claude-code","codex"],"license":"MIT","_id":"fallback-vision@0.5.0","maintainers":[{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"}],"bin":{"fv-stop":"bin/fv-stop.js","fv-codex":"bin/fv-codex.js","fv-claude":"bin/fv-claude.js","fallback-vision":"dist/cli.js","fv-codex-docker":"bin/fv-codex.js","fv-claude-docker":"bin/fv-claude.js","fallback-vision-setup":"dist/setup.js"},"dist":{"shasum":"e75ab0208bb8d08765044e5adc708092634cd232","tarball":"https://registry.npmjs.org/fallback-vision/-/fallback-vision-0.5.0.tgz","fileCount":84,"integrity":"sha512-WOR87040SktL+qMWmk50XCV2Tp4N+jkgdnVGVUP47Lor/x4cYtgq1uTj7ziV3OGgZW4vwx1LH5IJWmTVcT8AIw==","signatures":[{"sig":"MEUCIDyKqC3UFHGUNg8iTwJdIklAfIa8ur+CLnytlBjcjE7uAiEAsyVcwnOFX1fjwkrrNE2W30WB2uHDp03BBfRvoeeYkpQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":219042},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"ea0e32e13d3f87a2903c43bd8ea8b79242d9e76b","scripts":{"dev":"tsx src/cli.ts","lint":"tsc --noEmit","test":"vitest run","build":"tsc","setup":"tsx src/setup.ts","start":"node dist/cli.js","test:watch":"vitest"},"_npmUser":{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"},"_npmVersion":"11.15.0","description":"AI Gateway with intelligent visual fallback routing","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","vitest":"^3.0.0","typescript":"^5.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fallback-vision_0.5.0_1780154231758_0.7639680191807434","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"fallback-vision","version":"0.5.1","keywords":["ai-gateway","visual-fallback","routing","proxy","claude-code","codex"],"license":"MIT","_id":"fallback-vision@0.5.1","maintainers":[{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"}],"bin":{"fv-stop":"bin/fv-stop.js","fv-codex":"bin/fv-codex.js","fv-claude":"bin/fv-claude.js","fallback-vision":"dist/cli.js","fv-codex-docker":"bin/fv-codex.js","fv-claude-docker":"bin/fv-claude.js","fallback-vision-setup":"dist/setup.js"},"dist":{"shasum":"943d87b3b4c2354f70432735b3bd6fba03054237","tarball":"https://registry.npmjs.org/fallback-vision/-/fallback-vision-0.5.1.tgz","fileCount":84,"integrity":"sha512-5Vun86BdiwqsPDvWmqc4jYTdhFjVL0BOODeUsAno9y/xolZmIuA8tPBflIZyuHCqLUvJWxAEqTq/VJu0Us3j5Q==","signatures":[{"sig":"MEUCIQC/6WsMx69em8LeoEGQfmiQWkO9uCpuqgjKIhRlrLkhEAIgf/jmsiZzEE72XLuFkUqVXYbGbxePpgKiVZFoxv7eMfQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":219043},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"ea0e32e13d3f87a2903c43bd8ea8b79242d9e76b","scripts":{"dev":"tsx src/cli.ts","lint":"tsc --noEmit","test":"vitest run","build":"tsc","setup":"tsx src/setup.ts","start":"node dist/cli.js","test:watch":"vitest"},"_npmUser":{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"},"_npmVersion":"11.15.0","description":"AI Gateway with intelligent visual fallback routing","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","vitest":"^3.0.0","typescript":"^5.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fallback-vision_0.5.1_1780154322393_0.1498129627872622","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"fallback-vision","version":"0.5.2","keywords":["ai-gateway","visual-fallback","routing","proxy","claude-code","codex"],"license":"MIT","_id":"fallback-vision@0.5.2","maintainers":[{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"}],"bin":{"fv-stop":"bin/fv-stop.js","fv-codex":"bin/fv-codex.js","fv-claude":"bin/fv-claude.js","fallback-vision":"dist/cli.js","fv-codex-docker":"bin/fv-codex.js","fv-claude-docker":"bin/fv-claude.js","fallback-vision-setup":"dist/setup.js"},"dist":{"shasum":"7047766ce543445bba947fdc6d57d3861c244e62","tarball":"https://registry.npmjs.org/fallback-vision/-/fallback-vision-0.5.2.tgz","fileCount":84,"integrity":"sha512-y1TM+KsbaLoMBdxkpN/5lVPkH4PzUrVTYmP/JRAJI+FwXdAj4Of6QVixbgU8IJ6en3/Vaa9Us+eUkS0vERBB6w==","signatures":[{"sig":"MEQCIAQXsmjEYsY77fiMsou7QNIOY5Q5RtVHM5GBgjsqqm3KAiBfjcoAALnjyLx752yXglBapb7gvHjI+bB6ni/EdN5kTQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":219280},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"ea0e32e13d3f87a2903c43bd8ea8b79242d9e76b","scripts":{"dev":"tsx src/cli.ts","lint":"tsc --noEmit","test":"vitest run","build":"tsc","setup":"tsx src/setup.ts","start":"node dist/cli.js","test:watch":"vitest"},"_npmUser":{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"},"_npmVersion":"11.15.0","description":"AI Gateway with intelligent visual fallback routing","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","vitest":"^3.0.0","typescript":"^5.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fallback-vision_0.5.2_1780155276090_0.9901584554693379","host":"s3://npm-registry-packages-npm-production"}},"0.5.3":{"name":"fallback-vision","version":"0.5.3","keywords":["ai-gateway","visual-fallback","routing","proxy","claude-code","codex"],"license":"MIT","_id":"fallback-vision@0.5.3","maintainers":[{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"}],"bin":{"fv-stop":"bin/fv-stop.js","fv-codex":"bin/fv-codex.js","fv-claude":"bin/fv-claude.js","fallback-vision":"dist/cli.js","fv-codex-docker":"bin/fv-codex.js","fv-claude-docker":"bin/fv-claude.js","fallback-vision-setup":"dist/setup.js"},"dist":{"shasum":"93e0b66ddb8908f991486ae2078ff5c354422766","tarball":"https://registry.npmjs.org/fallback-vision/-/fallback-vision-0.5.3.tgz","fileCount":84,"integrity":"sha512-MRM7Zwc/8I0ipkeEAG5br1vZA7TIzBHqpjZJVP6J8d2cSlpsTn+aJ7wEXW55UAwt8DFEUrZfw4ANkxRJ2P6Tgw==","signatures":[{"sig":"MEUCIAI+MFgJWGaOCl4nB6yJNeEi3tU97D1k5eT4s88ysR4dAiEAjsqUFwi8oezPUpMYT1uM7DzugwWvLc//nY2GbZnYTnU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":221035},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"ea0e32e13d3f87a2903c43bd8ea8b79242d9e76b","scripts":{"dev":"tsx src/cli.ts","lint":"tsc --noEmit","test":"vitest run","build":"tsc","setup":"tsx src/setup.ts","start":"node dist/cli.js","test:watch":"vitest"},"_npmUser":{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"},"_npmVersion":"11.15.0","description":"AI Gateway with intelligent visual fallback routing","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","vitest":"^3.0.0","typescript":"^5.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fallback-vision_0.5.3_1780155970855_0.3013314337293822","host":"s3://npm-registry-packages-npm-production"}},"0.5.4":{"name":"fallback-vision","version":"0.5.4","keywords":["ai-gateway","visual-fallback","routing","proxy","claude-code","codex"],"license":"MIT","_id":"fallback-vision@0.5.4","maintainers":[{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"}],"bin":{"fv-stop":"bin/fv-stop.js","fv-codex":"bin/fv-codex.js","fv-claude":"bin/fv-claude.js","fallback-vision":"dist/cli.js","fv-codex-docker":"bin/fv-codex.js","fv-claude-docker":"bin/fv-claude.js","fallback-vision-setup":"dist/setup.js"},"dist":{"shasum":"85ebbcabd8a1adb5c34c1169267b2d73969af07c","tarball":"https://registry.npmjs.org/fallback-vision/-/fallback-vision-0.5.4.tgz","fileCount":84,"integrity":"sha512-annJb06wX/PB8p+eRU/oOGPqPIHjBnPv0LxFL1WSihIHqnko+5LhB64BiebEOxhq5iltUrwAY+5iejqAhr4vsw==","signatures":[{"sig":"MEYCIQDjZObayxjjC4cjBnENaG8H4TmY4Djorj0BAkbxy8EbmwIhAN1HIs5hnQOd4ZAlSY04RCFykks+q81V1gfsOperXgYU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":216581},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"ea0e32e13d3f87a2903c43bd8ea8b79242d9e76b","scripts":{"dev":"tsx src/cli.ts","lint":"tsc --noEmit","test":"vitest run","build":"tsc","setup":"tsx src/setup.ts","start":"node dist/cli.js","test:watch":"vitest"},"_npmUser":{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"},"_npmVersion":"11.15.0","description":"AI Gateway with intelligent visual fallback routing","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","vitest":"^3.0.0","typescript":"^5.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fallback-vision_0.5.4_1780157238631_0.7604351016228408","host":"s3://npm-registry-packages-npm-production"}},"0.5.5":{"name":"fallback-vision","version":"0.5.5","keywords":["ai-gateway","visual-fallback","routing","proxy","claude-code","codex"],"license":"MIT","_id":"fallback-vision@0.5.5","maintainers":[{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"}],"bin":{"fv-stop":"bin/fv-stop.js","fv-codex":"bin/fv-codex.js","fv-claude":"bin/fv-claude.js","fallback-vision":"dist/cli.js","fv-codex-docker":"bin/fv-codex.js","fv-claude-docker":"bin/fv-claude.js","fallback-vision-setup":"dist/setup.js"},"dist":{"shasum":"641c526d6b42af0b0c940332962eb3e5ac55be63","tarball":"https://registry.npmjs.org/fallback-vision/-/fallback-vision-0.5.5.tgz","fileCount":91,"integrity":"sha512-njVM+9NRlN27a5SarpP8Gl4wugE6wbPKdCWqJEz1EpQMxUORtxVqwO+mGM5gX+uJr5hw/jRhStzuBv+6mc7p3A==","signatures":[{"sig":"MEYCIQCxIX4SXPMrUw0IUNbnFshspEnMg9eWXEwIBtLB4WD2nQIhAJQ3CpKA4Pt+16NWcnn54yOZh9pFEOsei6+Oits1fOWp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":248220},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"ea0e32e13d3f87a2903c43bd8ea8b79242d9e76b","scripts":{"dev":"tsx src/cli.ts","lint":"tsc --noEmit","test":"vitest run","build":"tsc","setup":"tsx src/setup.ts","start":"node dist/cli.js","test:watch":"vitest"},"_npmUser":{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"},"_npmVersion":"11.12.1","description":"AI Gateway with intelligent visual fallback routing","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","vitest":"^3.0.0","typescript":"^5.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fallback-vision_0.5.5_1780159540384_0.4406756189866017","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"fallback-vision","version":"0.6.0","keywords":["ai-gateway","visual-fallback","routing","proxy","claude-code","codex","mimo","deepseek","multi-model","vision-model","protocol-translation","hybrid-search","web-search","openai-compatible","anthropic-compatible"],"license":"MIT","_id":"fallback-vision@0.6.0","maintainers":[{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"}],"bin":{"fv-stop":"bin/fv-stop.js","fv-codex":"bin/fv-codex.js","fv-claude":"bin/fv-claude.js","fallback-vision":"dist/cli.js","fv-codex-docker":"bin/fv-codex.js","fv-claude-docker":"bin/fv-claude.js","fallback-vision-setup":"dist/setup.js"},"dist":{"shasum":"6fd7c70e1c37e660f4a9f81a31f69373867a3f31","tarball":"https://registry.npmjs.org/fallback-vision/-/fallback-vision-0.6.0.tgz","fileCount":132,"integrity":"sha512-NXetMJotV5jFrZEqhA3xAOp/JjDJuNQqMbQG9SpB1v4l8NAAB5v6FluUKE2PKWVhUUUi7NtEVMlkX2NCvgno6A==","signatures":[{"sig":"MEQCIC/1cT3brkG6OmIfoee7cikk/Wdz0P8Eq7wsqQnClny9AiApceJDReDRfZQ84EY+HIvoHiikKyYraBnNbz6s3HJV4w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":416165},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"d4a86bfa31ae7b9fa33a7a694d54d3878b2d702f","scripts":{"dev":"tsx src/cli.ts","lint":"tsc --noEmit","test":"vitest run","build":"tsc","setup":"tsx src/setup.ts","start":"node dist/cli.js","test:watch":"vitest"},"_npmUser":{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"},"_npmVersion":"11.15.0","description":"AI Gateway with visual fallback routing, hybrid multi-backend search, and protocol translation for Claude Code & Codex","directories":{},"_nodeVersion":"24.15.0","dependencies":{"undici":"^8.3.0","linkedom":"^0.18.12","@mozilla/readability":"^0.6.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","vitest":"^3.0.0","typescript":"^5.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fallback-vision_0.6.0_1780328038237_0.3182239018595798","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"fallback-vision","version":"0.6.1","keywords":["ai-gateway","visual-fallback","routing","proxy","claude-code","codex","mimo","deepseek","multi-model","vision-model","protocol-translation","hybrid-search","web-search","openai-compatible","anthropic-compatible"],"license":"MIT","_id":"fallback-vision@0.6.1","maintainers":[{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"}],"bin":{"fv-stop":"bin/fv-stop.js","fv-codex":"bin/fv-codex.js","fv-claude":"bin/fv-claude.js","fallback-vision":"dist/cli.js","fv-codex-docker":"bin/fv-codex.js","fv-claude-docker":"bin/fv-claude.js","fallback-vision-setup":"dist/setup.js"},"dist":{"shasum":"4cf85bbd94b61cf7bc83111ce0241282a858ff02","tarball":"https://registry.npmjs.org/fallback-vision/-/fallback-vision-0.6.1.tgz","fileCount":132,"integrity":"sha512-mB+ut+1niQazXeRtAnYTAizVjsGYvli06PbZTHbRBwFm3dtU/d+PBBTsZOXwdldap3TC2zCPt5NOxFEcudlN7A==","signatures":[{"sig":"MEYCIQD3UwWErUbLXNxR/sv8e86iIUCfREBFF9tulFdOUzAadQIhAL73V39DotNAgEQ4d5xRZzd8LRM0kKgPKdt6wuqe/K/H","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":416165},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"7ebb4a39381d530f0055238728249cfa73422159","scripts":{"dev":"tsx src/cli.ts","lint":"tsc --noEmit","test":"vitest run","build":"tsc","setup":"tsx src/setup.ts","start":"node dist/cli.js","test:watch":"vitest"},"_npmUser":{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"},"_npmVersion":"11.15.0","description":"AI Gateway with visual fallback routing, hybrid multi-backend search, and protocol translation for Claude Code & Codex","directories":{},"_nodeVersion":"24.15.0","dependencies":{"undici":"^8.3.0","linkedom":"^0.18.12","@mozilla/readability":"^0.6.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","vitest":"^3.0.0","typescript":"^5.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fallback-vision_0.6.1_1780329562847_0.019499478030159834","host":"s3://npm-registry-packages-npm-production"}},"0.6.2":{"name":"fallback-vision","version":"0.6.2","keywords":["ai-gateway","visual-fallback","routing","proxy","claude-code","codex","mimo","deepseek","multi-model","vision-model","protocol-translation","hybrid-search","web-search","openai-compatible","anthropic-compatible"],"license":"MIT","_id":"fallback-vision@0.6.2","maintainers":[{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"}],"bin":{"fv-stop":"bin/fv-stop.js","fv-codex":"bin/fv-codex.js","fv-claude":"bin/fv-claude.js","fallback-vision":"dist/cli.js","fv-codex-docker":"bin/fv-codex.js","fv-claude-docker":"bin/fv-claude.js","fallback-vision-setup":"dist/setup.js"},"dist":{"shasum":"ad885705034ba2b107964afa0511be5721c6fe97","tarball":"https://registry.npmjs.org/fallback-vision/-/fallback-vision-0.6.2.tgz","fileCount":132,"integrity":"sha512-2KwDxA4QJGgKLJsdUjMiCIWn5msU30tRGtoqG8wiwzrFhyyalrrkjtb67NS/VyiXsQ5gOfJn9AB0UkPQ/+C2hg==","signatures":[{"sig":"MEYCIQCC3sP3ZRK7y6nW+cP3Ev/EB83XwCUkdLeDrFdKIcF89gIhALb8px/Yk5lGy5pLeC6tOcXyvxTVbTIKOsMlOoIvkThD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":418445},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"e0544b53139049f559122e5a7e10f0bb52dab331","scripts":{"dev":"tsx src/cli.ts","lint":"tsc --noEmit","test":"vitest run","build":"tsc","setup":"tsx src/setup.ts","start":"node dist/cli.js","test:watch":"vitest"},"_npmUser":{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"},"_npmVersion":"11.15.0","description":"AI Gateway with visual fallback routing, hybrid multi-backend search, and protocol translation for Claude Code & Codex","directories":{},"_nodeVersion":"24.15.0","dependencies":{"undici":"^8.3.0","linkedom":"^0.18.12","@mozilla/readability":"^0.6.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","vitest":"^3.0.0","typescript":"^5.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fallback-vision_0.6.2_1780331910357_0.6450209581380744","host":"s3://npm-registry-packages-npm-production"}},"0.6.3":{"name":"fallback-vision","version":"0.6.3","keywords":["ai-gateway","visual-fallback","routing","proxy","claude-code","codex","mimo","deepseek","multi-model","vision-model","protocol-translation","hybrid-search","web-search","openai-compatible","anthropic-compatible"],"license":"MIT","_id":"fallback-vision@0.6.3","maintainers":[{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"}],"bin":{"fv-stop":"bin/fv-stop.js","fv-codex":"bin/fv-codex.js","fv-claude":"bin/fv-claude.js","fallback-vision":"dist/cli.js","fv-codex-docker":"bin/fv-codex.js","fv-claude-docker":"bin/fv-claude.js","fallback-vision-setup":"dist/setup.js"},"dist":{"shasum":"3377b38a7ceb61a7e0d0b5ae475826888cdd5fdd","tarball":"https://registry.npmjs.org/fallback-vision/-/fallback-vision-0.6.3.tgz","fileCount":132,"integrity":"sha512-Ik2asEnNLhmBX4cdQYyf2NAY55a31EH1aJYj2PuAbAwI9GlG58D1fN5rd2GkrkOKB/Uq0x37oAUjsvQTrzwLMw==","signatures":[{"sig":"MEQCIBI4HCywe59t5YgGbE/G+igXXf1Vmv43PX6rAVDB68fuAiAgNWEQutShjkow7mW8b5vmlthgo9nV+deljEycUvXf5Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":420475},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"8982989293d955968941cf1b6a109b9cbedc0e24","scripts":{"dev":"tsx src/cli.ts","lint":"tsc --noEmit","test":"vitest run","build":"tsc","setup":"tsx src/setup.ts","start":"node dist/cli.js","test:watch":"vitest"},"_npmUser":{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"},"_npmVersion":"11.15.0","description":"AI Gateway with visual fallback routing, hybrid multi-backend search, and protocol translation for Claude Code & Codex","directories":{},"_nodeVersion":"24.15.0","dependencies":{"undici":"^8.3.0","linkedom":"^0.18.12","@mozilla/readability":"^0.6.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","vitest":"^3.0.0","typescript":"^5.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fallback-vision_0.6.3_1780335170316_0.3382573380099836","host":"s3://npm-registry-packages-npm-production"}},"0.6.5":{"name":"fallback-vision","version":"0.6.5","keywords":["ai-gateway","visual-fallback","routing","proxy","claude-code","codex","mimo","deepseek","multi-model","vision-model","protocol-translation","hybrid-search","web-search","openai-compatible","anthropic-compatible"],"license":"MIT","_id":"fallback-vision@0.6.5","maintainers":[{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"}],"bin":{"fv-stop":"bin/fv-stop.js","fv-codex":"bin/fv-codex.js","fv-claude":"bin/fv-claude.js","fallback-vision":"dist/cli.js","fv-codex-docker":"bin/fv-codex.js","fv-claude-docker":"bin/fv-claude.js","fallback-vision-setup":"dist/setup.js"},"dist":{"shasum":"945b7b0b55adb35ad98f3c98b6ad636bb98364e8","tarball":"https://registry.npmjs.org/fallback-vision/-/fallback-vision-0.6.5.tgz","fileCount":136,"integrity":"sha512-1bwknQXl7cwauTF9BLeppnUNXg3sMso2kKMPaN1wAL6HuMGJmPIYF8RPZciv7OHe1frNgu+IvIj3E8O20iHCdg==","signatures":[{"sig":"MEQCIGghCkw24dicfRWz0eyCz+FjcrGriPyWPSZ2RPxnA1laAiBMwFhyvqwQmul5uV7YkjuA366Hg6AN9d5PU+feYnhGbg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":487086},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"cd6134b696d44727c87a108ebdff410b9dde3227","scripts":{"dev":"tsx src/cli.ts","lint":"tsc --noEmit","test":"vitest run","build":"tsc","setup":"tsx src/setup.ts","start":"node dist/cli.js","test:watch":"vitest"},"_npmUser":{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"},"_npmVersion":"11.15.0","description":"AI Gateway with visual fallback routing, hybrid multi-backend search, and protocol translation for Claude Code & Codex","directories":{},"_nodeVersion":"24.15.0","dependencies":{"undici":"^8.3.0","linkedom":"^0.18.12","@mozilla/readability":"^0.6.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","vitest":"^3.0.0","typescript":"^5.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fallback-vision_0.6.5_1781178032626_0.20930949891329464","host":"s3://npm-registry-packages-npm-production"}},"0.6.6":{"name":"fallback-vision","version":"0.6.6","keywords":["ai-gateway","visual-fallback","routing","proxy","claude-code","codex","mimo","deepseek","multi-model","vision-model","protocol-translation","hybrid-search","web-search","openai-compatible","anthropic-compatible"],"license":"MIT","_id":"fallback-vision@0.6.6","maintainers":[{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"}],"bin":{"fv-stop":"bin/fv-stop.js","fv-codex":"bin/fv-codex.js","fv-claude":"bin/fv-claude.js","fallback-vision":"dist/cli.js","fv-codex-docker":"bin/fv-codex.js","fv-claude-docker":"bin/fv-claude.js","fallback-vision-setup":"dist/setup.js"},"dist":{"shasum":"9421f09d6029dd77a8c04821abd8c233b03c0f69","tarball":"https://registry.npmjs.org/fallback-vision/-/fallback-vision-0.6.6.tgz","fileCount":136,"integrity":"sha512-2LmhaiJq14pd2kChJKkPyWNzS07bu8EBIfLw/rcWXnkmjOG/2ObXE55WC+QvIWHyWqxJL4Tg+4OGR4MSkzvH4g==","signatures":[{"sig":"MEYCIQDfI6K1P/W/X5WabMCW/1nuYDJRPQWhgfl52ExyDs4YTAIhAOMeNBcsiHL3PGAdptM8bnv+pRLAvrvhZdIs9Uyg5XSl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":487513},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"b21146b6972dd7bff6924d5003493690a7635be2","scripts":{"dev":"tsx src/cli.ts","lint":"tsc --noEmit","test":"vitest run","build":"tsc","setup":"tsx src/setup.ts","start":"node dist/cli.js","test:watch":"vitest"},"_npmUser":{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"},"_npmVersion":"11.15.0","description":"AI Gateway with visual fallback routing, hybrid multi-backend search, and protocol translation for Claude Code & Codex","directories":{},"_nodeVersion":"24.15.0","dependencies":{"undici":"^8.3.0","linkedom":"^0.18.12","@mozilla/readability":"^0.6.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","vitest":"^3.0.0","typescript":"^5.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fallback-vision_0.6.6_1781179058193_0.5925044228242933","host":"s3://npm-registry-packages-npm-production"}},"0.6.7":{"name":"fallback-vision","version":"0.6.7","description":"AI Gateway with visual fallback routing, hybrid multi-backend search, and protocol translation for Claude Code & Codex","type":"module","main":"dist/index.js","bin":{"fallback-vision":"dist/cli.js","fallback-vision-setup":"dist/setup.js","fv-claude":"bin/fv-claude.js","fv-codex":"bin/fv-codex.js","fv-claude-docker":"bin/fv-claude.js","fv-codex-docker":"bin/fv-codex.js","fv-stop":"bin/fv-stop.js"},"scripts":{"build":"tsc","dev":"tsx src/cli.ts","start":"node dist/cli.js","setup":"tsx src/setup.ts","test":"vitest run","test:watch":"vitest","lint":"tsc --noEmit"},"keywords":["ai-gateway","visual-fallback","routing","proxy","claude-code","codex","mimo","deepseek","multi-model","vision-model","protocol-translation","hybrid-search","web-search","openai-compatible","anthropic-compatible"],"license":"MIT","engines":{"node":">=20"},"devDependencies":{"@types/node":"^22.0.0","tsx":"^4.0.0","typescript":"^5.5.0","vitest":"^3.0.0"},"dependencies":{"@mozilla/readability":"^0.6.0","linkedom":"^0.18.12","undici":"^8.3.0"},"gitHead":"61a93ec9ca366fc30a0059a4c4dab6290e219ad4","_id":"fallback-vision@0.6.7","_nodeVersion":"24.15.0","_npmVersion":"11.15.0","dist":{"integrity":"sha512-d5wSmJ+lk5sLq/hmD0w+Mrd/40T89x4Dh0n9oceqU1MI9cqoLD7UwFVV2HU8HD95sd9JkHg/cldCT060uKNZtA==","shasum":"46d7420a4de8188a0ea20748afc382039e3d0e07","tarball":"https://registry.npmjs.org/fallback-vision/-/fallback-vision-0.6.7.tgz","fileCount":136,"unpackedSize":503007,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIHLDO06J1Sols5sMCjQdZaVXNz2vbomOMvhGRCKP+tI6AiBVDB/p8D6wRqCNYku7Xgw+TXhyvWrTzE/H/07U7v4DZg=="}]},"_npmUser":{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"},"directories":{},"maintainers":[{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/fallback-vision_0.6.7_1781518513450_0.172977688071289"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-28T16:31:24.955Z","modified":"2026-06-15T10:15:13.752Z","0.1.0":"2026-05-28T16:31:25.169Z","0.1.1":"2026-05-28T16:32:29.459Z","0.1.3":"2026-05-28T16:58:31.416Z","0.1.4":"2026-05-28T17:13:26.321Z","0.1.5":"2026-05-28T17:18:55.566Z","0.1.6":"2026-05-28T17:22:29.588Z","0.1.7":"2026-05-28T17:33:12.900Z","0.1.8":"2026-05-28T17:53:57.826Z","0.1.9":"2026-05-28T17:59:26.924Z","0.1.10":"2026-05-28T18:10:49.718Z","0.1.11":"2026-05-28T18:18:24.943Z","0.1.12":"2026-05-28T18:22:01.432Z","0.1.13":"2026-05-28T18:30:01.170Z","0.1.14":"2026-05-28T18:31:43.106Z","0.1.15":"2026-05-28T18:34:32.023Z","0.2.0":"2026-05-29T06:38:16.967Z","0.3.0":"2026-05-29T11:49:36.338Z","0.3.1":"2026-05-29T11:58:38.613Z","0.3.2":"2026-05-29T12:49:47.890Z","0.3.3":"2026-05-29T12:59:12.415Z","0.3.4":"2026-05-29T14:16:26.633Z","0.3.5":"2026-05-29T15:19:30.722Z","0.3.6":"2026-05-29T15:23:27.715Z","0.3.7":"2026-05-29T15:31:23.170Z","0.4.0":"2026-05-29T15:43:43.753Z","0.4.1":"2026-05-29T16:27:33.168Z","0.4.2":"2026-05-29T16:49:32.179Z","0.4.3":"2026-05-29T16:53:28.224Z","0.4.4":"2026-05-29T16:56:49.754Z","0.4.5":"2026-05-29T16:59:01.756Z","0.5.0":"2026-05-30T15:17:11.921Z","0.5.1":"2026-05-30T15:18:42.537Z","0.5.2":"2026-05-30T15:34:36.220Z","0.5.3":"2026-05-30T15:46:11.002Z","0.5.4":"2026-05-30T16:07:18.775Z","0.5.5":"2026-05-30T16:45:40.588Z","0.6.0":"2026-06-01T15:33:58.429Z","0.6.1":"2026-06-01T15:59:22.987Z","0.6.2":"2026-06-01T16:38:30.519Z","0.6.3":"2026-06-01T17:32:50.475Z","0.6.5":"2026-06-11T11:40:32.788Z","0.6.6":"2026-06-11T11:57:38.346Z","0.6.7":"2026-06-15T10:15:13.646Z"},"license":"MIT","keywords":["ai-gateway","visual-fallback","routing","proxy","claude-code","codex","mimo","deepseek","multi-model","vision-model","protocol-translation","hybrid-search","web-search","openai-compatible","anthropic-compatible"],"description":"AI Gateway with visual fallback routing, hybrid multi-backend search, and protocol translation for Claude Code & Codex","maintainers":[{"name":"yvesnihaohaode","email":"thebadmistake@gmail.com"}],"readme":"<h1 align=\"center\">⚡ Fallback Vision</h1>\n\n<p align=\"center\">\n  <strong>AI Gateway with Visual Fallback, Hybrid Search & Protocol Translation</strong>\n</p>\n\n<p align=\"center\">\n  <a href=\"https://www.npmjs.com/package/fallback-vision\"><img alt=\"npm\" src=\"https://img.shields.io/badge/npm-v0.6.0-blue\"></a>\n  <a href=\"https://github.com/Yvesnihaohaode/fallback-vision/blob/main/LICENSE\"><img alt=\"license\" src=\"https://img.shields.io/github/license/Yvesnihaohaode/fallback-vision\"></a>\n  <a href=\"https://github.com/Yvesnihaohaode/fallback-vision\"><img alt=\"node\" src=\"https://img.shields.io/badge/node-%3E%3D20-brightgreen\"></a>\n  <a href=\"https://github.com/Yvesnihaohaode/fallback-vision\"><img alt=\"stars\" src=\"https://img.shields.io/github/stars/Yvesnihaohaode/fallback-vision?style=social\"></a>\n</p>\n\n<p align=\"center\">\n  <strong>中文</strong> | <a href=\"docs/README_EN.md\">English</a>\n</p>\n\n---\n\n## 它是什么\n\nFallback Vision 是一个 **AI 网关**，坐在你的应用和 AI 模型之间，解决三个核心痛点：\n\n1. **文字模型看不到图片** → 自动调用视觉模型分析图片，把描述传给主模型推理\n2. **Claude Code / Codex 不兼容 MiMo 搜索** → 本地混合搜索引擎，4 个后端并行竞赛\n3. **Anthropic 和 OpenAI 协议不互通** → 自动双向转换，一套网关两种协议都能用\n\n```\n你的应用 → Fallback Vision → 检测到图片？→ 视觉模型看图 → 主模型推理 → 回答\n                         → 搜索请求？→ 4 后端竞赛 → 最快结果返回\n                         → 协议不同？→ 自动转换 → 上游模型\n```\n\n## 核心特性\n\n### 视觉回退路由\n主模型没有多模态能力？没关系。Fallback Vision 自动检测图片，调用视觉模型生成结构化描述，再交给主模型推理。**主模型永远看不到原始图片，只看到分析结果。**\n\n支持的主模型：MiMo、DeepSeek、OpenAI、Claude、Gemini、Qwen 等任意 OpenAI 兼容 API。\n\n### 混合搜索引擎\nMiMo 不支持 Claude Code 的 `web_search` / `web_fetch`？Fallback Vision 用 4 个搜索后端（**Bing / Sogou / Brave / Google**）并行竞赛，最快返回结果的获胜。\n\n- **时效性过滤**：`day` / `week` / `month`，搜索\"最新\"信息不再过时\n- **智能增强**：查询含\"最新/latest\"等关键词时自动启用时效过滤\n- **代理友好**：兼容各种网络环境\n\n### 协议转换\nClaude Code 发 Anthropic 格式，Codex 发 OpenAI 格式——Fallback Vision 自动双向转换，流式 SSE 也完全支持。\n\n### 一键启动\n```bash\nfv-claude   # 启动服务 + 配置 Claude Code + 打开 claude\nfv-codex    # 启动服务 + 配置 Codex + 打开 codex\nfv-stop     # 停止服务 + 恢复原始配置\n```\n\n### cc-switch 集成\n`fv-claude` 启动时自动备份你的 Claude 配置（cc-switch 等），`fv-stop` 停止时自动恢复。不影响现有配置。\n\n## Quick Start\n\n### npm（推荐）\n\n```bash\nnpm install -g fallback-vision\nfv-claude    # Claude Code 模式\nfv-codex     # Codex 模式\n```\n\n### Docker\n\n```bash\ndocker run -d -p 8789:8789 \\\n  -v ~/.fallback-vision:/root/.fallback-vision \\\n  yvesnihaohaode/fallback-vision:latest\n```\n\n### 源码\n\n```bash\ngit clone https://github.com/Yvesnihaohaode/fallback-vision.git\ncd fallback-vision\nnpm install\nnpm run build\nnode bin/fv-claude.js\n```\n\n所有方式都会自动打开 Web UI（http://127.0.0.1:8789）让你配置 API。\n\n## 配置\n\n浏览器打开 http://127.0.0.1:8789 进入 Web Dashboard：\n\n| 配置项 | 说明 |\n|--------|------|\n| 客户端类型 | Codex (OpenAI) 或 Claude Code (Anthropic) |\n| 主模型 | Provider + API Key + Base URL + 模型名 |\n| 视觉模型 | Provider + API Key + Base URL + 模型名 |\n| 本地搜索 | MiMo 专属，解决 web_search/web_fetch 不可用 |\n\n## 架构\n\n```\n┌─────────────────────────────────────────────────────┐\n│                  Fallback Vision                     │\n│                                                      │\n│  ┌──────────┐  ┌──────────┐  ┌───────────────────┐  │\n│  │ Protocol  │→│  Router   │→│  Pipeline          │  │\n│  │ Detector  │  │          │  │  ┌─────────────┐  │  │\n│  │ Anthropic │  │ Vision?  │  │  │ Vision Model│  │  │\n│  │ OpenAI    │  │ Search?  │  │  │ → describe  │  │  │\n│  └──────────┘  └──────────┘  │  └──────┬──────┘  │  │\n│                               │         ↓         │  │\n│  ┌──────────┐                │  ┌─────────────┐  │  │\n│  │  Search   │←──────────────│  │  Main Model │  │  │\n│  │ 4 backends│                │  │  → reason   │  │  │\n│  │ race      │                │  └─────────────┘  │  │\n│  └──────────┘                └───────────────────┘  │\n│                                                      │\n│  ┌──────────────────────────────────────────────┐   │\n│  │  Web Dashboard (http://127.0.0.1:8789)       │   │\n│  │  Config · Logs · Metrics                     │   │\n│  └──────────────────────────────────────────────┘   │\n└─────────────────────────────────────────────────────┘\n```\n\n更详细的架构说明见 [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md)。\n\n## 一键命令\n\n| 命令 | 用途 |\n|------|------|\n| `fv-claude` | 启动服务 + 打开 Claude Code |\n| `fv-codex` | 启动服务 + 打开 Codex |\n| `fv-claude-docker` | Docker 启动 + Claude Code |\n| `fv-codex-docker` | Docker 启动 + Codex |\n| `fv-stop` | 停止服务 + 恢复原始配置 |\n| `fallback-vision-setup` | 交互式向导 |\n| `fallback-vision` | 仅启动服务 |\n\n## 适用场景\n\n- **MiMo / DeepSeek 用户**：用 Claude Code 也能搜索，不用换模型\n- **多模型用户**：一个网关统一管理 MiMo、DeepSeek、OpenAI 等多个 Provider\n- **文字模型用户**：不需要单独的视觉模型，Fallback Vision 自动帮你调用\n- **Codex + Claude Code 双修**：一套服务两种协议都能用\n\n## 开发\n\n```bash\nnpm test          # 运行 62 个测试\nnpm run dev       # 热重载开发\nnpm run lint      # 类型检查\n```\n\n## 文档\n\n- [架构文档](docs/ARCHITECTURE.md)\n- [路线图](docs/ROADMAP.md)\n- [更新日志](CHANGELOG.md)\n- [English README](docs/README_EN.md)\n\n## License\n\nMIT\n","readmeFilename":"README.md"}