{"_id":"amicus","_rev":"71-9f3420ea60caf07855979a9edb95c5bf","name":"amicus","dist-tags":{"latest":"4.14.2"},"versions":{"1.0.0":{"name":"amicus","version":"1.0.0","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"author":{"name":"BourbonDog"},"license":"MIT","_id":"amicus@1.0.0","maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"homepage":"https://github.com/BourbonDog/amicus#readme","bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"bin":{"am":"bin/amicus.js","amicus":"bin/amicus.js","sidecar":"bin/amicus.js","claude-sidecar":"bin/amicus.js"},"dist":{"shasum":"a081fb292ba6bf66e2ad2476a70c0646c9757124","tarball":"https://registry.npmjs.org/amicus/-/amicus-1.0.0.tgz","fileCount":93,"integrity":"sha512-ClKsxNmZRF+Mz4TkmlOeucv42mlp72Kk+u+x2UkCJL1+/Lemqyjuf/02DNnXv5QryIho6hEom5SOtplzrQHgWA==","signatures":[{"sig":"MEUCIQDtpwZW7K417gfxPOtH36uvgKgddbiFiWgmHXZu51a1twIgPewcRKFpRqbs0QqDSVqmAIHcSSGKHandoe8nfubATfc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/amicus@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":662792},"main":"src/index.js","engines":{"node":">=18.0.0"},"exports":{"./opencode-client":"./src/opencode-client.mjs"},"gitHead":"072bac521536a86b0379413ea88677d640f49e69","scripts":{"lint":"eslint src/","test":"jest","start":"node --experimental-top-level-await --experimental-vm-modules bin/amicus.js","prepare":"node scripts/setup-hooks.js","posttest":"node scripts/mark-test-passed.js","test:all":"jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='\\.worktrees/' && node scripts/mark-test-passed.js","models:info":"node bin/amicus.js models","postinstall":"node scripts/postinstall.js","models:check":"node bin/amicus.js models --check","test:e2e:mcp":"jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit","generate-docs":"node scripts/generate-docs.js","generate-icon":"node scripts/generate-icon.js","test:thinking":"node scripts/benchmark-thinking.js","validate-docs":"node scripts/validate-docs.js --full","refresh-models":"node bin/amicus.js models --refresh","test:integration":"jest --testPathIgnorePatterns='\\.worktrees/' --testMatch='**/tests/**/*.integration.test.js'","generate-docs:check":"node scripts/generate-docs.js --check","test:thinking:quick":"MODELS=gemini node scripts/benchmark-thinking.js"},"_npmUser":{"name":"bourbondog","email":"sendtowags@outlook.com"},"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"_npmVersion":"10.9.8","description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix"]},"_nodeVersion":"22.22.3","dependencies":{"zod":"^3.0.0","dotenv":"^17.2.3","tiktoken":"^1.0.0","opencode-ai":"^1.2.20","update-notifier":"^7.3.1","@opencode-ai/sdk":"^1.1.36","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.19.0","jest":"^29.0.0","husky":"^9.1.7","sharp":"^0.33.5","eslint":"^8.0.0","puppeteer":"^24.36.0","lint-staged":"^16.3.2","chrome-remote-interface":"^0.33.3"},"optionalDependencies":{"electron":"^28.0.0"},"_npmOperationalInternal":{"tmp":"tmp/amicus_1.0.0_1781146880799_0.3082973608652486","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"amicus","version":"1.1.0","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"author":{"name":"Christian Wagner"},"license":"MIT","_id":"amicus@1.1.0","maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"homepage":"https://github.com/BourbonDog/amicus#readme","bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"bin":{"am":"bin/amicus.js","amicus":"bin/amicus.js","sidecar":"bin/amicus.js","claude-sidecar":"bin/amicus.js"},"dist":{"shasum":"2f6100969a9ac13a46b8fb4f9d73879957ecd340","tarball":"https://registry.npmjs.org/amicus/-/amicus-1.1.0.tgz","fileCount":94,"integrity":"sha512-+Vgg6DUS6Ep2LIgf9T8ywUJbZ1ttLxBZ+z1iP1FqIPBTdboboxnuyBaQfFFC6yRB5DspO3MNydE1SNg6Y8JasA==","signatures":[{"sig":"MEQCIBzW5sBznlNv7QbSW+E2tE0WQv6P2CTdVIsGDc56fERLAiB8GX5t4QlFO5avEncrY5FHfLo1HWgv3N+5Z1VYsiChXw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/amicus@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":681808},"main":"src/index.js","engines":{"node":">=18.0.0"},"exports":{"./opencode-client":"./src/opencode-client.mjs"},"gitHead":"bc8e6305aaff4c1ba0b6ef5c192dbb4f91d2708d","scripts":{"lint":"eslint src/","test":"jest","start":"node --experimental-top-level-await --experimental-vm-modules bin/amicus.js","prepare":"node scripts/setup-hooks.js","posttest":"node scripts/mark-test-passed.js","test:all":"jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='\\.worktrees/' && node scripts/mark-test-passed.js","models:info":"node bin/amicus.js models","postinstall":"node scripts/postinstall.js","models:check":"node bin/amicus.js models --check","test:e2e:mcp":"jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit","generate-docs":"node scripts/generate-docs.js","generate-icon":"node scripts/generate-icon.js","test:thinking":"node scripts/benchmark-thinking.js","validate-docs":"node scripts/validate-docs.js --full","refresh-models":"node bin/amicus.js models --refresh","test:integration":"jest --testPathIgnorePatterns='\\.worktrees/' --testMatch='**/tests/**/*.integration.test.js'","generate-docs:check":"node scripts/generate-docs.js --check","test:thinking:quick":"MODELS=gemini node scripts/benchmark-thinking.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c7f57b2b-9b02-469e-a4c4-c9b785a884a5"}},"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"_npmVersion":"11.17.0","description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix"]},"_nodeVersion":"22.22.3","dependencies":{"zod":"^3.0.0","dotenv":"^17.2.3","tiktoken":"^1.0.0","opencode-ai":"^1.2.20","update-notifier":"^7.3.1","@opencode-ai/sdk":"^1.1.36","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.19.0","jest":"^29.0.0","husky":"^9.1.7","sharp":"^0.33.5","eslint":"^8.0.0","puppeteer":"^24.36.0","lint-staged":"^16.3.2","chrome-remote-interface":"^0.33.3"},"optionalDependencies":{"electron":"^28.0.0"},"_npmOperationalInternal":{"tmp":"tmp/amicus_1.1.0_1781232419787_0.5744583803696632","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"amicus","version":"1.2.0","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"author":{"name":"Christian Wagner"},"license":"MIT","_id":"amicus@1.2.0","maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"homepage":"https://bourbondog.github.io/amicus/","bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"bin":{"am":"bin/amicus.js","amicus":"bin/amicus.js","sidecar":"bin/amicus.js","claude-sidecar":"bin/amicus.js"},"dist":{"shasum":"d4083f621f1642a1e8fce29a2d0ce9a2a94a3c3b","tarball":"https://registry.npmjs.org/amicus/-/amicus-1.2.0.tgz","fileCount":110,"integrity":"sha512-36MzZrQTxw8vvnlVWgQwUy34ogSOAa/LFQCTZYS2zkbhae2FWBduw56iicyAoFCfSaCpgp9bFvv6wG8z224tvA==","signatures":[{"sig":"MEUCIHFgmyvY8AMIjnuhXC8bnGqrHqBc0+eDjgZ+IAy2943FAiEA7BDkI4XnZkysVgfmB0gS3+/yMVFcVeWLg+48KAC5P3E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/amicus@1.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":746144},"main":"src/index.js","engines":{"node":">=18.0.0"},"exports":{"./opencode-client":"./src/opencode-client.mjs"},"gitHead":"2dc2e5f2fa021499df0c5292a416e9344fc924fe","scripts":{"lint":"eslint src/","test":"jest","start":"node --experimental-top-level-await --experimental-vm-modules bin/amicus.js","prepare":"node scripts/setup-hooks.js","posttest":"node scripts/mark-test-passed.js","test:all":"jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='\\.worktrees/' && node scripts/mark-test-passed.js","check:sizes":"node scripts/check-file-sizes.js --all","models:info":"node bin/amicus.js models","postinstall":"node scripts/postinstall.js","models:check":"node bin/amicus.js models --check","test:e2e:mcp":"jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit","check:secrets":"node scripts/check-secrets.js --all","generate-docs":"node scripts/generate-docs.js","generate-icon":"node scripts/generate-icon.js","test:thinking":"node scripts/benchmark-thinking.js","validate-docs":"node scripts/validate-docs.js --full","refresh-models":"node bin/amicus.js models --refresh","test:integration":"jest --testPathIgnorePatterns='\\.worktrees/' --testMatch='**/tests/**/*.integration.test.js'","generate-docs:check":"node scripts/generate-docs.js --check","test:thinking:quick":"MODELS=gemini node scripts/benchmark-thinking.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c7f57b2b-9b02-469e-a4c4-c9b785a884a5"}},"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"_npmVersion":"11.17.0","description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix"]},"_nodeVersion":"22.22.3","dependencies":{"zod":"^3.0.0","dotenv":"^17.2.3","tiktoken":"^1.0.0","opencode-ai":"^1.2.20","update-notifier":"^7.3.1","@opencode-ai/sdk":"^1.1.36","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.19.0","jest":"^29.0.0","husky":"^9.1.7","sharp":"^0.33.5","eslint":"^8.0.0","puppeteer":"^24.36.0","lint-staged":"^16.3.2","chrome-remote-interface":"^0.33.3"},"optionalDependencies":{"electron":"^28.0.0"},"_npmOperationalInternal":{"tmp":"tmp/amicus_1.2.0_1782306754553_0.5884484538079813","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"amicus","version":"1.2.1","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"author":{"name":"Christian Wagner"},"license":"MIT","_id":"amicus@1.2.1","maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"homepage":"https://bourbondog.github.io/amicus/","bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"bin":{"am":"bin/amicus.js","amicus":"bin/amicus.js","sidecar":"bin/amicus.js","claude-sidecar":"bin/amicus.js"},"dist":{"shasum":"9e554efe38d2192fb49b80aacf3f6251ca624083","tarball":"https://registry.npmjs.org/amicus/-/amicus-1.2.1.tgz","fileCount":110,"integrity":"sha512-LOdoW6rt7ZantJODv83McvOLXMcVaZbRv1rYgORTGJfqIbUAWZHuWuWxj8B8p3deLQvAmNAZBakkTvTv+aYxHQ==","signatures":[{"sig":"MEUCIFtKG9kqbUkxYbOeIlN7z3BpIKxOetWt3TMyHEX+rdnMAiEA73Z/e071jwQrbFoRtT2mtO7LnwiiEgUjtMm3G360Gao=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/amicus@1.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":747329},"main":"src/index.js","engines":{"node":">=18.0.0"},"exports":{"./opencode-client":"./src/opencode-client.mjs"},"gitHead":"976aaa1066bf36f7d75d435e1f98a5494e1a4b79","scripts":{"lint":"eslint src/","test":"jest","start":"node --experimental-top-level-await --experimental-vm-modules bin/amicus.js","prepare":"node scripts/setup-hooks.js","posttest":"node scripts/mark-test-passed.js","test:all":"jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='\\.worktrees/' && node scripts/mark-test-passed.js","check:sizes":"node scripts/check-file-sizes.js --all","models:info":"node bin/amicus.js models","postinstall":"node scripts/postinstall.js","models:check":"node bin/amicus.js models --check","test:e2e:mcp":"jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit","check:secrets":"node scripts/check-secrets.js --all","generate-docs":"node scripts/generate-docs.js","generate-icon":"node scripts/generate-icon.js","test:thinking":"node scripts/benchmark-thinking.js","validate-docs":"node scripts/validate-docs.js --full","refresh-models":"node bin/amicus.js models --refresh","test:integration":"jest --testPathIgnorePatterns='\\.worktrees/' --testMatch='**/tests/**/*.integration.test.js'","generate-docs:check":"node scripts/generate-docs.js --check","test:thinking:quick":"MODELS=gemini node scripts/benchmark-thinking.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c7f57b2b-9b02-469e-a4c4-c9b785a884a5"}},"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"_npmVersion":"11.17.0","description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix"]},"_nodeVersion":"22.22.3","dependencies":{"zod":"^3.0.0","dotenv":"^17.2.3","tiktoken":"^1.0.0","opencode-ai":"^1.2.20","update-notifier":"^7.3.1","@opencode-ai/sdk":"^1.1.36","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.19.0","jest":"^29.0.0","husky":"^9.1.7","sharp":"^0.33.5","eslint":"^8.0.0","puppeteer":"^24.36.0","lint-staged":"^16.3.2","chrome-remote-interface":"^0.33.3"},"optionalDependencies":{"electron":"^28.0.0"},"_npmOperationalInternal":{"tmp":"tmp/amicus_1.2.1_1782320770976_0.019485916481621235","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"amicus","version":"1.3.0","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"author":{"name":"Christian Wagner"},"license":"MIT","_id":"amicus@1.3.0","maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"homepage":"https://bourbondog.github.io/amicus/","bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"bin":{"am":"bin/amicus.js","amicus":"bin/amicus.js","sidecar":"bin/amicus.js","claude-sidecar":"bin/amicus.js"},"dist":{"shasum":"7cad0db7901b54fd23131c9805a2634f073ab79b","tarball":"https://registry.npmjs.org/amicus/-/amicus-1.3.0.tgz","fileCount":113,"integrity":"sha512-/vD0Nw0uYwvuJ2SSdxLZiCU5tWjJ4bK0BMApP23lxsosaLdBtd/8HCPNQ0YnuprUhBlGxGvTriGf8Bzsektnyg==","signatures":[{"sig":"MEQCIBUYPxGodpfmWJk2ZWg8XKp+tv8+mkyt28y92kvak8CbAiAoa3knR8HYlS401YPkJFHHZhULq0iOwi6s/DfLR46Kdg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/amicus@1.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":768798},"main":"src/index.js","engines":{"node":">=18.0.0"},"exports":{"./opencode-client":"./src/opencode-client.mjs"},"gitHead":"b9a3b0670da3c3a15c86f4b9bd562acc410f14ca","scripts":{"lint":"eslint src/","test":"jest","start":"node --experimental-top-level-await --experimental-vm-modules bin/amicus.js","prepare":"node scripts/setup-hooks.js","posttest":"node scripts/mark-test-passed.js","test:all":"jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='\\.worktrees/' && node scripts/mark-test-passed.js","check:sizes":"node scripts/check-file-sizes.js --all","models:info":"node bin/amicus.js models","postinstall":"node scripts/postinstall.js","models:check":"node bin/amicus.js models --check","test:e2e:mcp":"jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit","check:secrets":"node scripts/check-secrets.js --all","generate-docs":"node scripts/generate-docs.js","generate-icon":"node scripts/generate-icon.js","test:thinking":"node scripts/benchmark-thinking.js","validate-docs":"node scripts/validate-docs.js --full","refresh-models":"node bin/amicus.js models --refresh","test:integration":"jest --testPathIgnorePatterns='\\.worktrees/' --testMatch='**/tests/**/*.integration.test.js'","generate-docs:check":"node scripts/generate-docs.js --check","test:thinking:quick":"MODELS=gemini node scripts/benchmark-thinking.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c7f57b2b-9b02-469e-a4c4-c9b785a884a5"}},"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"_npmVersion":"11.17.0","description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix"]},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.0.0","dotenv":"^17.2.3","tiktoken":"^1.0.0","opencode-ai":"^1.2.20","update-notifier":"^7.3.1","@opencode-ai/sdk":"^1.1.36","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.19.0","jest":"^29.0.0","husky":"^9.1.7","sharp":"^0.33.5","eslint":"^8.0.0","puppeteer":"^24.36.0","lint-staged":"^16.3.2","chrome-remote-interface":"^0.33.3"},"optionalDependencies":{"electron":"^28.0.0"},"_npmOperationalInternal":{"tmp":"tmp/amicus_1.3.0_1782331689197_0.711611742876334","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"amicus","version":"1.4.0","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"author":{"name":"Christian Wagner"},"license":"MIT","_id":"amicus@1.4.0","maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"homepage":"https://bourbondog.github.io/amicus/","bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"bin":{"am":"bin/amicus.js","amicus":"bin/amicus.js","sidecar":"bin/amicus.js","claude-sidecar":"bin/amicus.js"},"dist":{"shasum":"4f573c8cd6b74bab8f5ce66048716bef6a437b99","tarball":"https://registry.npmjs.org/amicus/-/amicus-1.4.0.tgz","fileCount":115,"integrity":"sha512-BL9hlv7xzGYr0VIQVhC/YowdRV/nWQ33Gz8Ax/yrbKR5N5EzEGlEO6pfUoTvl0aRn/eaI49cUzy/DNMdkfzDIQ==","signatures":[{"sig":"MEUCIEHslOQD8WsnfLAkF9ZOlvxRi7jOkEbEp2tLSPBWEqYEAiEAu1DLcV0xkKji/bY7IKELCnqAM6wV7nKpzpeb3wUPrDo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/amicus@1.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":788925},"main":"src/index.js","engines":{"node":">=18.0.0"},"exports":{"./opencode-client":"./src/opencode-client.mjs"},"gitHead":"d4660ed93b6802d4682f54b998a1ec74e18ef32d","scripts":{"lint":"eslint src/","test":"jest","start":"node --experimental-top-level-await --experimental-vm-modules bin/amicus.js","prepare":"node scripts/setup-hooks.js","posttest":"node scripts/mark-test-passed.js","test:all":"jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='\\.worktrees/' && node scripts/mark-test-passed.js","check:sizes":"node scripts/check-file-sizes.js --all","models:info":"node bin/amicus.js models","postinstall":"node scripts/postinstall.js","models:check":"node bin/amicus.js models --check","test:e2e:mcp":"jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit","check:secrets":"node scripts/check-secrets.js --all","generate-docs":"node scripts/generate-docs.js","generate-icon":"node scripts/generate-icon.js","test:thinking":"node scripts/benchmark-thinking.js","validate-docs":"node scripts/validate-docs.js --full","refresh-models":"node bin/amicus.js models --refresh","test:integration":"jest --testPathIgnorePatterns='\\.worktrees/' --testMatch='**/tests/**/*.integration.test.js'","generate-docs:check":"node scripts/generate-docs.js --check","test:thinking:quick":"MODELS=gemini node scripts/benchmark-thinking.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c7f57b2b-9b02-469e-a4c4-c9b785a884a5"}},"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"_npmVersion":"11.17.0","description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix"]},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.0.0","dotenv":"^17.2.3","tiktoken":"^1.0.0","opencode-ai":"^1.2.20","update-notifier":"^7.3.1","@opencode-ai/sdk":"^1.1.36","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.19.0","jest":"^29.0.0","husky":"^9.1.7","sharp":"^0.33.5","eslint":"^8.0.0","puppeteer":"^24.36.0","lint-staged":"^16.3.2","chrome-remote-interface":"^0.33.3"},"optionalDependencies":{"electron":"^28.0.0"},"_npmOperationalInternal":{"tmp":"tmp/amicus_1.4.0_1782693145645_0.1812607853258439","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"amicus","version":"1.5.0","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"author":{"name":"Christian Wagner"},"license":"MIT","_id":"amicus@1.5.0","maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"homepage":"https://bourbondog.github.io/amicus/","bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"bin":{"am":"bin/amicus.js","amicus":"bin/amicus.js","sidecar":"bin/amicus.js","claude-sidecar":"bin/amicus.js"},"dist":{"shasum":"3fd843e7c001be2b2db75dcd5e66ee91ff424e9a","tarball":"https://registry.npmjs.org/amicus/-/amicus-1.5.0.tgz","fileCount":126,"integrity":"sha512-of36v2FPlAUh+F/gXkf26T5gAMCYurshp6nzK0Za5JtA4EZ1dxB0TealkENtS/zt0X5lJ/2hXX5pCZTnUHKtDA==","signatures":[{"sig":"MEYCIQDoAZDjF8DoLk6SMZLixKKzOEQfCZd9HAWQiUDRqHz6iQIhAN0fUdxrzgjyzqZ2O13PFYGgvwyuRu4IFjpLU11DeKmI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/amicus@1.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1546051},"main":"src/index.js","engines":{"node":">=18.0.0"},"exports":{"./opencode-client":"./src/opencode-client.mjs"},"gitHead":"6c2081a36000bf90d4f6ec6a201f86714ef65fd9","scripts":{"lint":"eslint src/","test":"jest","start":"node --experimental-top-level-await --experimental-vm-modules bin/amicus.js","prepare":"node scripts/setup-hooks.js","posttest":"node scripts/mark-test-passed.js","test:all":"jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='\\.worktrees/' && node scripts/mark-test-passed.js","check:sizes":"node scripts/check-file-sizes.js --all","models:info":"node bin/amicus.js models","postinstall":"node scripts/postinstall.js","models:check":"node bin/amicus.js models --check","test:e2e:mcp":"jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit","check:secrets":"node scripts/check-secrets.js --all","generate-docs":"node scripts/generate-docs.js","generate-icon":"node scripts/generate-icon.js","test:thinking":"node scripts/benchmark-thinking.js","validate-docs":"node scripts/validate-docs.js --full","refresh-models":"node bin/amicus.js models --refresh","test:integration":"jest --testPathIgnorePatterns='\\.worktrees/' --testMatch='**/tests/**/*.integration.test.js'","generate-docs:check":"node scripts/generate-docs.js --check","test:thinking:quick":"MODELS=gemini node scripts/benchmark-thinking.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c7f57b2b-9b02-469e-a4c4-c9b785a884a5"}},"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"_npmVersion":"11.18.0","description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix"]},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.0.0","dotenv":"^17.2.3","tiktoken":"^1.0.0","opencode-ai":"^1.2.20","update-notifier":"^7.3.1","@opencode-ai/sdk":"^1.1.36","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.19.0","jest":"^29.0.0","husky":"^9.1.7","sharp":"^0.33.5","eslint":"^8.0.0","puppeteer":"^24.36.0","lint-staged":"^16.3.2","chrome-remote-interface":"^0.33.3"},"optionalDependencies":{"electron":"^28.0.0"},"_npmOperationalInternal":{"tmp":"tmp/amicus_1.5.0_1782765932273_0.33137169158490143","host":"s3://npm-registry-packages-npm-production"}},"1.5.1":{"name":"amicus","version":"1.5.1","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"author":{"name":"Christian Wagner"},"license":"MIT","_id":"amicus@1.5.1","maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"homepage":"https://bourbondog.github.io/amicus/","bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"bin":{"am":"bin/amicus.js","amicus":"bin/amicus.js","sidecar":"bin/amicus.js","claude-sidecar":"bin/amicus.js"},"dist":{"shasum":"3957c30620d7ef22835a0a4acc26d27ada297458","tarball":"https://registry.npmjs.org/amicus/-/amicus-1.5.1.tgz","fileCount":126,"integrity":"sha512-jYcepb7EU63Ou58ye5S2OSFDJxyPeyRk4DJTM+09MSS2U1Uok9eCEjJCvilAT1otv+yrxZGGfTuMprVOpBfl0w==","signatures":[{"sig":"MEQCIDEBE1GGfPCfVaCtbS6VajHK8VeOTFqtjsCncuk+SkVHAiBkXDKDMj/ETIao7t5KBPRdnxUYL6DIEG4Z7UpDRoqorQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/amicus@1.5.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1548666},"main":"src/index.js","engines":{"node":">=18.0.0"},"exports":{"./opencode-client":"./src/opencode-client.mjs"},"gitHead":"2e805a8b6c8150b2fff1e3d1161897a06735165f","scripts":{"lint":"eslint src/","test":"jest","start":"node --experimental-top-level-await --experimental-vm-modules bin/amicus.js","prepare":"node scripts/setup-hooks.js","posttest":"node scripts/mark-test-passed.js","test:all":"jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='\\.worktrees/' && node scripts/mark-test-passed.js","check:sizes":"node scripts/check-file-sizes.js --all","models:info":"node bin/amicus.js models","postinstall":"node scripts/postinstall.js","models:check":"node bin/amicus.js models --check","test:e2e:mcp":"jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit","check:secrets":"node scripts/check-secrets.js --all","generate-docs":"node scripts/generate-docs.js","generate-icon":"node scripts/generate-icon.js","test:thinking":"node scripts/benchmark-thinking.js","validate-docs":"node scripts/validate-docs.js --full","refresh-models":"node bin/amicus.js models --refresh","test:integration":"jest --testPathIgnorePatterns='\\.worktrees/' --testMatch='**/tests/**/*.integration.test.js'","generate-docs:check":"node scripts/generate-docs.js --check","test:thinking:quick":"MODELS=gemini node scripts/benchmark-thinking.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c7f57b2b-9b02-469e-a4c4-c9b785a884a5"}},"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"_npmVersion":"11.18.0","description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix"]},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.0.0","dotenv":"^17.2.3","tiktoken":"^1.0.0","opencode-ai":"^1.2.20","update-notifier":"^7.3.1","@opencode-ai/sdk":"^1.1.36","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.19.0","jest":"^29.0.0","husky":"^9.1.7","sharp":"^0.33.5","eslint":"^8.0.0","puppeteer":"^24.36.0","lint-staged":"^16.3.2","chrome-remote-interface":"^0.33.3"},"optionalDependencies":{"electron":"^28.0.0"},"_npmOperationalInternal":{"tmp":"tmp/amicus_1.5.1_1782768378004_0.8094541596617573","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"amicus","version":"1.6.0","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"author":{"name":"Christian Wagner"},"license":"MIT","_id":"amicus@1.6.0","maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"homepage":"https://bourbondog.github.io/amicus/","bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"bin":{"am":"bin/amicus.js","amicus":"bin/amicus.js","sidecar":"bin/amicus.js","claude-sidecar":"bin/amicus.js"},"dist":{"shasum":"653c727d9ced44578d965226d003a8874df14136","tarball":"https://registry.npmjs.org/amicus/-/amicus-1.6.0.tgz","fileCount":126,"integrity":"sha512-MzOmp1E8HWgPKuE+JWW6Rnr6v7xWqCn/Xt6Y+TJi1/21m8Rz4/S3lBe4p72neDxRkhe6DR7YUCsNNi5DRlfQ+w==","signatures":[{"sig":"MEUCIBwkTQbVv6H0WAdh47hH96teLCrpnGSaMgN2DieaznoKAiEA99ZvByfbVxG6tZ4WTw9uBJRN4v3QMHa/LHkVfkNxvnE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/amicus@1.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1573338},"main":"src/index.js","engines":{"node":">=18.0.0"},"exports":{"./opencode-client":"./src/opencode-client.mjs"},"gitHead":"0c15aadb282820c00f03dc1dbd90ea5672391aaa","scripts":{"lint":"eslint src/","test":"jest","start":"node --experimental-top-level-await --experimental-vm-modules bin/amicus.js","posttest":"node scripts/mark-test-passed.js","test:all":"jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='\\.worktrees/' && node scripts/mark-test-passed.js","check:sizes":"node scripts/check-file-sizes.js --all","models:info":"node bin/amicus.js models","postinstall":"node scripts/postinstall.js","setup-hooks":"node scripts/setup-hooks.js","models:check":"node bin/amicus.js models --check","test:e2e:mcp":"jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit","check:secrets":"node scripts/check-secrets.js --all","check:tarball":"node scripts/check-tarball-lifecycle.js","generate-docs":"node scripts/generate-docs.js","generate-icon":"node scripts/generate-icon.js","test:thinking":"node scripts/benchmark-thinking.js","validate-docs":"node scripts/validate-docs.js --full","refresh-models":"node bin/amicus.js models --refresh","test:integration":"jest --testPathIgnorePatterns='\\.worktrees/' --testMatch='**/tests/**/*.integration.test.js'","generate-docs:check":"node scripts/generate-docs.js --check","test:thinking:quick":"MODELS=gemini node scripts/benchmark-thinking.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c7f57b2b-9b02-469e-a4c4-c9b785a884a5"}},"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"_npmVersion":"11.18.0","description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix"]},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.0.0","dotenv":"^17.2.3","tiktoken":"^1.0.0","opencode-ai":"^1.2.20","update-notifier":"^7.3.1","@opencode-ai/sdk":"^1.1.36","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.19.0","jest":"^29.0.0","husky":"^9.1.7","sharp":"^0.33.5","eslint":"^8.0.0","puppeteer":"^24.36.0","lint-staged":"^16.3.2","chrome-remote-interface":"^0.33.3"},"optionalDependencies":{"electron":"^28.0.0"},"_npmOperationalInternal":{"tmp":"tmp/amicus_1.6.0_1782828220627_0.6313810332853125","host":"s3://npm-registry-packages-npm-production"}},"1.6.1":{"name":"amicus","version":"1.6.1","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"author":{"name":"Christian Wagner"},"license":"MIT","_id":"amicus@1.6.1","maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"homepage":"https://bourbondog.github.io/amicus/","bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"bin":{"am":"bin/amicus.js","amicus":"bin/amicus.js","sidecar":"bin/amicus.js","claude-sidecar":"bin/amicus.js"},"dist":{"shasum":"5f98a32bd74dfdf63b8f30f5b49660c52d7fe1bf","tarball":"https://registry.npmjs.org/amicus/-/amicus-1.6.1.tgz","fileCount":130,"integrity":"sha512-DPbQUbBjWMOEfnir9j+s8fru3ds/3/necSpTiRlXGwCG+ld6jPISNITyONsqjpZuGT70bHP4nu+EbNxzNJd9Ng==","signatures":[{"sig":"MEYCIQCQqKPwWTCjUDmREbaGcEzX4RVZQjtVq/8KUaU4NXfEfQIhAIDik1gyX+XXNkcTyigqGmij+D+IdOgttbQbcFaNiVrI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/amicus@1.6.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1597086},"main":"src/index.js","engines":{"node":">=18.0.0"},"exports":{"./opencode-client":"./src/opencode-client.mjs"},"gitHead":"70fe2ac5f5bb82e3fbee0d520994233ff81bb8a6","scripts":{"lint":"eslint src/","test":"jest","start":"node --experimental-top-level-await --experimental-vm-modules bin/amicus.js","posttest":"node scripts/mark-test-passed.js","test:all":"jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='\\.worktrees/' && node scripts/mark-test-passed.js","check:sizes":"node scripts/check-file-sizes.js --all","models:info":"node bin/amicus.js models","postinstall":"node scripts/postinstall.js","setup-hooks":"node scripts/setup-hooks.js","models:check":"node bin/amicus.js models --check","test:e2e:mcp":"jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit","check:secrets":"node scripts/check-secrets.js --all","check:tarball":"node scripts/check-tarball-lifecycle.js","generate-docs":"node scripts/generate-docs.js","generate-icon":"node scripts/generate-icon.js","test:thinking":"node scripts/benchmark-thinking.js","validate-docs":"node scripts/validate-docs.js --full","refresh-models":"node bin/amicus.js models --refresh","test:integration":"jest --testPathIgnorePatterns='\\.worktrees/' --testMatch='**/tests/**/*.integration.test.js'","generate-docs:check":"node scripts/generate-docs.js --check","test:thinking:quick":"MODELS=gemini node scripts/benchmark-thinking.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c7f57b2b-9b02-469e-a4c4-c9b785a884a5"}},"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"_npmVersion":"11.18.0","description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix"]},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.0.0","dotenv":"^17.2.3","tiktoken":"^1.0.0","opencode-ai":"^1.2.20","update-notifier":"^7.3.1","@opencode-ai/sdk":"^1.1.36","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.19.0","jest":"^29.0.0","husky":"^9.1.7","sharp":"^0.33.5","eslint":"^8.0.0","puppeteer":"^24.36.0","lint-staged":"^16.3.2","chrome-remote-interface":"^0.33.3"},"optionalDependencies":{"electron":"^28.0.0"},"_npmOperationalInternal":{"tmp":"tmp/amicus_1.6.1_1782835132820_0.07491900417497122","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"amicus","version":"1.7.0","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"author":{"name":"Christian Wagner"},"license":"MIT","_id":"amicus@1.7.0","maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"homepage":"https://bourbondog.github.io/amicus/","bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"bin":{"am":"bin/amicus.js","amicus":"bin/amicus.js","sidecar":"bin/amicus.js","claude-sidecar":"bin/amicus.js"},"dist":{"shasum":"f80376e81218a1ead6ba1d16db82a0a8a325c80c","tarball":"https://registry.npmjs.org/amicus/-/amicus-1.7.0.tgz","fileCount":137,"integrity":"sha512-qkmjVlQmHodo8UR1ninJDeno9XSwwexbwFVON4UwOo1OEChj7wIg5faJe7aNeIZFG0eetlerNZxMiFHVc5ZNPw==","signatures":[{"sig":"MEUCICepFgEIhUvE+rrewJRfohOPB6XHOwXbfvhnId6S28hvAiEA2EZ3pziCgWejtRlh48uXxOtxGKTs/VjXpZGwYdCT+7g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/amicus@1.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1634997},"main":"src/index.js","engines":{"node":">=18.0.0"},"exports":{"./opencode-client":"./src/opencode-client.mjs"},"gitHead":"3ff1989c06ff7762a4c6562ed811c511f30a70d8","scripts":{"lint":"eslint src/","test":"jest","start":"node --experimental-top-level-await --experimental-vm-modules bin/amicus.js","posttest":"node scripts/mark-test-passed.js","test:all":"jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='\\.worktrees/' && node scripts/mark-test-passed.js","check:sizes":"node scripts/check-file-sizes.js --all","models:info":"node bin/amicus.js models","postinstall":"node scripts/postinstall.js","setup-hooks":"node scripts/setup-hooks.js","models:check":"node bin/amicus.js models --check","test:e2e:mcp":"jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit","check:secrets":"node scripts/check-secrets.js --all","check:tarball":"node scripts/check-tarball-lifecycle.js","generate-docs":"node scripts/generate-docs.js","generate-icon":"node scripts/generate-icon.js","test:thinking":"node scripts/benchmark-thinking.js","validate-docs":"node scripts/validate-docs.js --full","refresh-models":"node bin/amicus.js models --refresh","test:integration":"jest --testPathIgnorePatterns='\\.worktrees/' --testMatch='**/tests/**/*.integration.test.js'","generate-docs:check":"node scripts/generate-docs.js --check","test:thinking:quick":"MODELS=gemini node scripts/benchmark-thinking.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c7f57b2b-9b02-469e-a4c4-c9b785a884a5"}},"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"_npmVersion":"11.18.0","description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix"]},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.0.0","dotenv":"^17.2.3","tiktoken":"^1.0.0","opencode-ai":"^1.2.20","update-notifier":"^7.3.1","@opencode-ai/sdk":"^1.1.36","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.19.0","jest":"^29.0.0","husky":"^9.1.7","sharp":"^0.33.5","eslint":"^8.0.0","puppeteer":"^24.36.0","lint-staged":"^16.3.2","chrome-remote-interface":"^0.33.3"},"optionalDependencies":{"electron":"^28.0.0"},"_npmOperationalInternal":{"tmp":"tmp/amicus_1.7.0_1782843745438_0.8249032895820383","host":"s3://npm-registry-packages-npm-production"}},"1.7.1":{"name":"amicus","version":"1.7.1","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"author":{"name":"Christian Wagner"},"license":"MIT","_id":"amicus@1.7.1","maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"homepage":"https://bourbondog.github.io/amicus/","bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"bin":{"am":"bin/amicus.js","amicus":"bin/amicus.js","sidecar":"bin/amicus.js","claude-sidecar":"bin/amicus.js"},"dist":{"shasum":"ec9478ab48228302cdc4a25147dd124a81005096","tarball":"https://registry.npmjs.org/amicus/-/amicus-1.7.1.tgz","fileCount":137,"integrity":"sha512-/x9zpFj0SeTaSwt6bTYSxdzU5mGqOk5fRou06WAoINAKOjxiDNb0wh0ajQZBJ99rcc5alnYQsdqMx1WafxRwMA==","signatures":[{"sig":"MEYCIQD+oTyXJLCHZ/mQgoNfzQkQMZLQimtNUV+6UcCjGWEQiQIhAOYsQZZqV7SQVGVt1TxQpPGbSVS3SWl8th89GFFSbHtj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/amicus@1.7.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1635400},"main":"src/index.js","engines":{"node":">=18.0.0"},"exports":{"./opencode-client":"./src/opencode-client.mjs"},"gitHead":"c9ea28dcdb6136d63daa065d30bb650cc7e974c5","scripts":{"lint":"eslint src/","test":"jest","start":"node --experimental-top-level-await --experimental-vm-modules bin/amicus.js","posttest":"node scripts/mark-test-passed.js","test:all":"jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='\\.worktrees/' && node scripts/mark-test-passed.js","check:sizes":"node scripts/check-file-sizes.js --all","models:info":"node bin/amicus.js models","postinstall":"node scripts/postinstall.js","setup-hooks":"node scripts/setup-hooks.js","models:check":"node bin/amicus.js models --check","test:e2e:mcp":"jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit","check:secrets":"node scripts/check-secrets.js --all","check:tarball":"node scripts/check-tarball-lifecycle.js","generate-docs":"node scripts/generate-docs.js","generate-icon":"node scripts/generate-icon.js","test:thinking":"node scripts/benchmark-thinking.js","validate-docs":"node scripts/validate-docs.js --full","refresh-models":"node bin/amicus.js models --refresh","test:integration":"jest --testPathIgnorePatterns='\\.worktrees/' --testMatch='**/tests/**/*.integration.test.js'","generate-docs:check":"node scripts/generate-docs.js --check","test:thinking:quick":"MODELS=gemini node scripts/benchmark-thinking.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c7f57b2b-9b02-469e-a4c4-c9b785a884a5"}},"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"_npmVersion":"11.18.0","description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix"]},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.0.0","dotenv":"^17.2.3","tiktoken":"^1.0.0","opencode-ai":"^1.2.20","update-notifier":"^7.3.1","@opencode-ai/sdk":"^1.1.36","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.19.0","jest":"^29.0.0","husky":"^9.1.7","sharp":"^0.33.5","eslint":"^8.0.0","puppeteer":"^24.36.0","lint-staged":"^16.3.2","chrome-remote-interface":"^0.33.3"},"optionalDependencies":{"electron":"^28.0.0"},"_npmOperationalInternal":{"tmp":"tmp/amicus_1.7.1_1782849069577_0.6961952556812194","host":"s3://npm-registry-packages-npm-production"}},"1.7.2":{"name":"amicus","version":"1.7.2","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"author":{"name":"Christian Wagner"},"license":"MIT","_id":"amicus@1.7.2","maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"homepage":"https://bourbondog.github.io/amicus/","bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"bin":{"am":"bin/amicus.js","amicus":"bin/amicus.js","sidecar":"bin/amicus.js","claude-sidecar":"bin/amicus.js"},"dist":{"shasum":"4d1db550e88e82b229ed89e5b732c4af48dd139c","tarball":"https://registry.npmjs.org/amicus/-/amicus-1.7.2.tgz","fileCount":138,"integrity":"sha512-uZ+e+tnncwchpjvRZ2tiDC1o5dZgtu43KmARNcnO5cRvMyf431FFkdZNPuecX5ts97E4LwxeGT1zJvLey6jx6w==","signatures":[{"sig":"MEQCIFKAheE/Vmxh8LCrTGY7Dp74+J4yNGzSYmvScris7ooaAiAFPzSxRDZ9PCG7Dsi+LyCE15XZVUBqngw/s6Kk0KLqnQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/amicus@1.7.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1646989},"main":"src/index.js","engines":{"node":">=18.0.0"},"exports":{"./opencode-client":"./src/opencode-client.mjs"},"gitHead":"fe0920bc36f92e82953a07b4f25e04dcbbf0553b","scripts":{"lint":"eslint src/","test":"jest","start":"node --experimental-top-level-await --experimental-vm-modules bin/amicus.js","posttest":"node scripts/mark-test-passed.js","test:all":"jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='\\.worktrees/' && node scripts/mark-test-passed.js","check:sizes":"node scripts/check-file-sizes.js --all","models:info":"node bin/amicus.js models","postinstall":"node scripts/postinstall.js","setup-hooks":"node scripts/setup-hooks.js","models:check":"node bin/amicus.js models --check","test:e2e:mcp":"jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit","check:secrets":"node scripts/check-secrets.js --all","check:tarball":"node scripts/check-tarball-lifecycle.js","generate-docs":"node scripts/generate-docs.js","generate-icon":"node scripts/generate-icon.js","test:thinking":"node scripts/benchmark-thinking.js","validate-docs":"node scripts/validate-docs.js --full","refresh-models":"node bin/amicus.js models --refresh","test:integration":"jest --testPathIgnorePatterns='\\.worktrees/' --testMatch='**/tests/**/*.integration.test.js'","generate-docs:check":"node scripts/generate-docs.js --check","test:thinking:quick":"MODELS=gemini node scripts/benchmark-thinking.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c7f57b2b-9b02-469e-a4c4-c9b785a884a5"}},"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"_npmVersion":"11.18.0","description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix"]},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.0.0","dotenv":"^17.2.3","tiktoken":"^1.0.0","opencode-ai":"^1.2.20","update-notifier":"^7.3.1","@opencode-ai/sdk":"^1.1.36","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.19.0","jest":"^29.0.0","husky":"^9.1.7","sharp":"^0.33.5","eslint":"^8.0.0","puppeteer":"^24.36.0","lint-staged":"^16.3.2","chrome-remote-interface":"^0.33.3"},"optionalDependencies":{"electron":"^28.0.0"},"_npmOperationalInternal":{"tmp":"tmp/amicus_1.7.2_1782861247104_0.8169913489569891","host":"s3://npm-registry-packages-npm-production"}},"1.7.3":{"name":"amicus","version":"1.7.3","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"author":{"name":"Christian Wagner"},"license":"MIT","_id":"amicus@1.7.3","maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"homepage":"https://bourbondog.github.io/amicus/","bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"bin":{"am":"bin/amicus.js","amicus":"bin/amicus.js","sidecar":"bin/amicus.js","claude-sidecar":"bin/amicus.js"},"dist":{"shasum":"98cc27b05b4d993c6e72bef047604553ecb2f7f8","tarball":"https://registry.npmjs.org/amicus/-/amicus-1.7.3.tgz","fileCount":139,"integrity":"sha512-TKOPcJZegHTHTdXkT2TqTqOdBfbh6n44hf0rVZnrM12uP1iLx6l0kBBpwLdYbYuRdTM9YZhluwKEWibTjM0SRg==","signatures":[{"sig":"MEUCICo3oDsdtLl1j8bmaMSm6dAwBmNNgVReCMonNmES+GY+AiEAvXcYShBuI5MA2NtrrOuMXIErLYE0ulVumtqy76cJG2k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/amicus@1.7.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1651267},"main":"src/index.js","engines":{"node":">=18.0.0"},"exports":{"./opencode-client":"./src/opencode-client.mjs"},"gitHead":"ffff76c86610f5b26cd445c49b93e606a401e03f","scripts":{"lint":"eslint src/","test":"jest","start":"node --experimental-top-level-await --experimental-vm-modules bin/amicus.js","posttest":"node scripts/mark-test-passed.js","test:all":"jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='\\.worktrees/' && node scripts/mark-test-passed.js","check:sizes":"node scripts/check-file-sizes.js --all","models:info":"node bin/amicus.js models","postinstall":"node scripts/postinstall.js","setup-hooks":"node scripts/setup-hooks.js","models:check":"node bin/amicus.js models --check","test:e2e:mcp":"jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit","check:secrets":"node scripts/check-secrets.js --all","check:tarball":"node scripts/check-tarball-lifecycle.js","generate-docs":"node scripts/generate-docs.js","generate-icon":"node scripts/generate-icon.js","test:thinking":"node scripts/benchmark-thinking.js","validate-docs":"node scripts/validate-docs.js --full","refresh-models":"node bin/amicus.js models --refresh","test:integration":"jest --testPathIgnorePatterns='\\.worktrees/' --testMatch='**/tests/**/*.integration.test.js'","generate-docs:check":"node scripts/generate-docs.js --check","test:thinking:quick":"MODELS=gemini node scripts/benchmark-thinking.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c7f57b2b-9b02-469e-a4c4-c9b785a884a5"}},"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"_npmVersion":"11.18.0","description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix"]},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.0.0","dotenv":"^17.2.3","tiktoken":"^1.0.0","opencode-ai":"^1.2.20","update-notifier":"^7.3.1","@opencode-ai/sdk":"^1.1.36","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.19.0","jest":"^29.0.0","husky":"^9.1.7","sharp":"^0.33.5","eslint":"^8.0.0","puppeteer":"^24.36.0","lint-staged":"^16.3.2","chrome-remote-interface":"^0.33.3"},"optionalDependencies":{"electron":"^28.0.0"},"_npmOperationalInternal":{"tmp":"tmp/amicus_1.7.3_1782864741018_0.6229730945650933","host":"s3://npm-registry-packages-npm-production"}},"1.7.4":{"name":"amicus","version":"1.7.4","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"author":{"name":"Christian Wagner"},"license":"MIT","_id":"amicus@1.7.4","maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"homepage":"https://bourbondog.github.io/amicus/","bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"bin":{"am":"bin/amicus.js","amicus":"bin/amicus.js","sidecar":"bin/amicus.js","claude-sidecar":"bin/amicus.js"},"dist":{"shasum":"f4fdd6b035c7c3bbed5a55146da93cafc031fcc8","tarball":"https://registry.npmjs.org/amicus/-/amicus-1.7.4.tgz","fileCount":140,"integrity":"sha512-VeD5sSPbnCt2HrDZ9xaR9Oqtj725BYojTsgejBvAIyO06zlQZJBKtqaefgJEGZxzyndnO04+VVeHc/el6p8v0A==","signatures":[{"sig":"MEQCIDkEBmxSVLjluKvXP5pJlTeabLuHgAmRPb7G92zHw1JqAiBmFAo86+3yT+gLgy+H41+/G2myrGMlOGDyX+RjFPaijQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/amicus@1.7.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1662496},"main":"src/index.js","engines":{"node":">=18.0.0"},"exports":{"./opencode-client":"./src/opencode-client.mjs"},"gitHead":"bc2c47e9c35fd5249e203e0175574347ad6c6060","scripts":{"lint":"eslint src/","test":"jest","start":"node --experimental-top-level-await --experimental-vm-modules bin/amicus.js","posttest":"node scripts/mark-test-passed.js","test:all":"jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='\\.worktrees/' && node scripts/mark-test-passed.js","check:sizes":"node scripts/check-file-sizes.js --all","models:info":"node bin/amicus.js models","postinstall":"node scripts/postinstall.js","setup-hooks":"node scripts/setup-hooks.js","models:check":"node bin/amicus.js models --check","test:e2e:mcp":"jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit","check:secrets":"node scripts/check-secrets.js --all","check:tarball":"node scripts/check-tarball-lifecycle.js","generate-docs":"node scripts/generate-docs.js","generate-icon":"node scripts/generate-icon.js","test:thinking":"node scripts/benchmark-thinking.js","validate-docs":"node scripts/validate-docs.js --full","refresh-models":"node bin/amicus.js models --refresh","test:integration":"jest --testPathIgnorePatterns='\\.worktrees/' --testMatch='**/tests/**/*.integration.test.js'","generate-docs:check":"node scripts/generate-docs.js --check","test:thinking:quick":"MODELS=gemini node scripts/benchmark-thinking.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c7f57b2b-9b02-469e-a4c4-c9b785a884a5"}},"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"_npmVersion":"11.18.0","description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix"]},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.0.0","dotenv":"^17.2.3","tiktoken":"^1.0.0","opencode-ai":"^1.2.20","update-notifier":"^7.3.1","@opencode-ai/sdk":"^1.1.36","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.19.0","jest":"^29.0.0","husky":"^9.1.7","sharp":"^0.33.5","eslint":"^8.0.0","puppeteer":"^24.36.0","lint-staged":"^16.3.2","chrome-remote-interface":"^0.33.3"},"optionalDependencies":{"electron":"^28.0.0"},"_npmOperationalInternal":{"tmp":"tmp/amicus_1.7.4_1782879480667_0.917911089367238","host":"s3://npm-registry-packages-npm-production"}},"1.7.5":{"name":"amicus","version":"1.7.5","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"author":{"name":"Christian Wagner"},"license":"MIT","_id":"amicus@1.7.5","maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"homepage":"https://bourbondog.github.io/amicus/","bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"bin":{"am":"bin/amicus.js","amicus":"bin/amicus.js","sidecar":"bin/amicus.js","claude-sidecar":"bin/amicus.js"},"dist":{"shasum":"7f69a387d46ce47d1ca6a9b19faecb2fa7f0c752","tarball":"https://registry.npmjs.org/amicus/-/amicus-1.7.5.tgz","fileCount":140,"integrity":"sha512-tBi2b/qHiw4OF3BsDaJ4KSwqw/P4mexMLjTkc6HYQSkhMM/eKVPwtdl0GVNGlBcALljKzfNqrCLlbSav1Hbgqw==","signatures":[{"sig":"MEQCIBb/P2di6dwd4T04hpJZ/8w0oph+esvld9TqwKHT1CL1AiAHT/80j9vu3SnOHINHFT5ayBUmWOmYs86fIXYMxuPaFw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/amicus@1.7.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1673327},"main":"src/index.js","engines":{"node":">=18.0.0"},"exports":{"./opencode-client":"./src/opencode-client.mjs"},"gitHead":"b5dfa731fcc3bea27d264f904caa9705157709d8","scripts":{"lint":"eslint src/","test":"jest","start":"node --experimental-top-level-await --experimental-vm-modules bin/amicus.js","posttest":"node scripts/mark-test-passed.js","test:all":"jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='\\.worktrees/' && node scripts/mark-test-passed.js","check:sizes":"node scripts/check-file-sizes.js --all","models:info":"node bin/amicus.js models","postinstall":"node scripts/postinstall.js","setup-hooks":"node scripts/setup-hooks.js","models:check":"node bin/amicus.js models --check","test:e2e:mcp":"jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit","check:secrets":"node scripts/check-secrets.js --all","check:tarball":"node scripts/check-tarball-lifecycle.js","generate-docs":"node scripts/generate-docs.js","generate-icon":"node scripts/generate-icon.js","test:thinking":"node scripts/benchmark-thinking.js","validate-docs":"node scripts/validate-docs.js --full","refresh-models":"node bin/amicus.js models --refresh","test:integration":"jest --testPathIgnorePatterns='\\.worktrees/' --testMatch='**/tests/**/*.integration.test.js'","generate-docs:check":"node scripts/generate-docs.js --check","test:thinking:quick":"MODELS=gemini node scripts/benchmark-thinking.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c7f57b2b-9b02-469e-a4c4-c9b785a884a5"}},"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"_npmVersion":"11.18.0","description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix"]},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.0.0","dotenv":"^17.2.3","tiktoken":"^1.0.0","opencode-ai":"^1.2.20","update-notifier":"^7.3.1","@opencode-ai/sdk":"^1.1.36","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.19.0","jest":"^29.0.0","husky":"^9.1.7","sharp":"^0.33.5","eslint":"^8.0.0","puppeteer":"^24.36.0","lint-staged":"^16.3.2","chrome-remote-interface":"^0.33.3"},"optionalDependencies":{"electron":"^28.0.0"},"_npmOperationalInternal":{"tmp":"tmp/amicus_1.7.5_1782917233617_0.039556541969514525","host":"s3://npm-registry-packages-npm-production"}},"1.7.6":{"name":"amicus","version":"1.7.6","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"author":{"name":"Christian Wagner"},"license":"MIT","_id":"amicus@1.7.6","maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"homepage":"https://bourbondog.github.io/amicus/","bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"bin":{"am":"bin/amicus.js","amicus":"bin/amicus.js","sidecar":"bin/amicus.js","claude-sidecar":"bin/amicus.js"},"dist":{"shasum":"8753dabdaf2535a34829800c48d4548b9f864298","tarball":"https://registry.npmjs.org/amicus/-/amicus-1.7.6.tgz","fileCount":145,"integrity":"sha512-STXQsrMQk40JSLS1Xh6ClVbauBW6YA3FbdiXsEg4FEgbnjJ+uTV12LOl6b2HJnhcnbFcDmZIfOvTIZzSYWZdMA==","signatures":[{"sig":"MEYCIQDTM8FFjCb87tOn4tIqvR6A0QaJfkFzgM3MAufzHmW/mwIhAN2RCVVpRlI+EU3jOec9bXzLACd+tCDEQqsIcb4as3Io","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/amicus@1.7.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1699030},"main":"src/index.js","engines":{"node":">=18.0.0"},"exports":{"./opencode-client":"./src/opencode-client.mjs"},"gitHead":"cf63544a5dca13bf13c91510b61de2f43348d5aa","scripts":{"lint":"eslint src/","test":"jest","start":"node --experimental-top-level-await --experimental-vm-modules bin/amicus.js","posttest":"node scripts/mark-test-passed.js","test:all":"jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='\\.worktrees/' && node scripts/mark-test-passed.js","check:sizes":"node scripts/check-file-sizes.js --all","models:info":"node bin/amicus.js models","postinstall":"node scripts/postinstall.js","setup-hooks":"node scripts/setup-hooks.js","models:check":"node bin/amicus.js models --check","test:e2e:mcp":"jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit","check:secrets":"node scripts/check-secrets.js --all","check:tarball":"node scripts/check-tarball-lifecycle.js","generate-docs":"node scripts/generate-docs.js","generate-icon":"node scripts/generate-icon.js","test:thinking":"node scripts/benchmark-thinking.js","validate-docs":"node scripts/validate-docs.js --full","refresh-models":"node bin/amicus.js models --refresh","test:integration":"jest --testPathIgnorePatterns='\\.worktrees/' --testMatch='**/tests/**/*.integration.test.js'","generate-docs:check":"node scripts/generate-docs.js --check","test:thinking:quick":"MODELS=gemini node scripts/benchmark-thinking.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c7f57b2b-9b02-469e-a4c4-c9b785a884a5"}},"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"_npmVersion":"11.18.0","description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix"]},"_nodeVersion":"22.23.0","dependencies":{"zod":"^3.0.0","dotenv":"^17.2.3","tiktoken":"^1.0.0","opencode-ai":"^1.2.20","update-notifier":"^7.3.1","@opencode-ai/sdk":"^1.1.36","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.19.0","jest":"^29.0.0","husky":"^9.1.7","sharp":"^0.33.5","eslint":"^8.0.0","puppeteer":"^24.36.0","lint-staged":"^16.3.2","chrome-remote-interface":"^0.33.3"},"optionalDependencies":{"electron":"^28.0.0"},"_npmOperationalInternal":{"tmp":"tmp/amicus_1.7.6_1782926948349_0.17269226969709361","host":"s3://npm-registry-packages-npm-production"}},"1.7.7":{"name":"amicus","version":"1.7.7","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"author":{"name":"Christian Wagner"},"license":"MIT","_id":"amicus@1.7.7","maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"homepage":"https://bourbondog.github.io/amicus/","bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"bin":{"am":"bin/amicus.js","amicus":"bin/amicus.js","sidecar":"bin/amicus.js","claude-sidecar":"bin/amicus.js"},"dist":{"shasum":"809fb7d05819c26c871662674afd690da6d63701","tarball":"https://registry.npmjs.org/amicus/-/amicus-1.7.7.tgz","fileCount":146,"integrity":"sha512-lHN0UEjuhuxtmKsY/bs4noYAmFEINQPYhCaMh92Is8lz5CNZVDHrXaIO+T1nY7hIRGBddRGstHaIFWqr01TfRQ==","signatures":[{"sig":"MEYCIQDe7Z5+hEWz+BQSrdNsvcQN1nhFMpwNZUs9E6042vTNUQIhAI+YzvrldxRairUT7QtEQGRIgxbLpXDl5+mcLSdLecFS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/amicus@1.7.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1707361},"main":"src/index.js","engines":{"node":">=18.0.0"},"exports":{"./opencode-client":"./src/opencode-client.mjs"},"gitHead":"26d4f958e3fac0cc3021f0fd1fc7b4a8e1abf888","scripts":{"lint":"eslint src/","test":"jest","start":"node --experimental-top-level-await --experimental-vm-modules bin/amicus.js","posttest":"node scripts/mark-test-passed.js","test:all":"jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='\\.worktrees/' && node scripts/mark-test-passed.js","check:sizes":"node scripts/check-file-sizes.js --all","models:info":"node bin/amicus.js models","postinstall":"node scripts/postinstall.js","setup-hooks":"node scripts/setup-hooks.js","models:check":"node bin/amicus.js models --check","test:e2e:mcp":"jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit","check:secrets":"node scripts/check-secrets.js --all","check:tarball":"node scripts/check-tarball-lifecycle.js","generate-docs":"node scripts/generate-docs.js","generate-icon":"node scripts/generate-icon.js","test:thinking":"node scripts/benchmark-thinking.js","validate-docs":"node scripts/validate-docs.js --full","refresh-models":"node bin/amicus.js models --refresh","test:integration":"jest --testPathIgnorePatterns='\\.worktrees/' --testMatch='**/tests/**/*.integration.test.js'","generate-docs:check":"node scripts/generate-docs.js --check","test:thinking:quick":"MODELS=gemini node scripts/benchmark-thinking.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c7f57b2b-9b02-469e-a4c4-c9b785a884a5"}},"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"_npmVersion":"11.18.0","description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix"]},"_nodeVersion":"22.23.1","dependencies":{"zod":"^3.0.0","dotenv":"^17.2.3","tiktoken":"^1.0.0","opencode-ai":"^1.2.20","update-notifier":"^7.3.1","@opencode-ai/sdk":"^1.1.36","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.19.0","jest":"^29.0.0","husky":"^9.1.7","sharp":"^0.33.5","eslint":"^8.0.0","puppeteer":"^24.36.0","lint-staged":"^16.3.2","chrome-remote-interface":"^0.33.3"},"optionalDependencies":{"electron":"^28.0.0"},"_npmOperationalInternal":{"tmp":"tmp/amicus_1.7.7_1782963131943_0.19883651474724173","host":"s3://npm-registry-packages-npm-production"}},"1.8.0":{"name":"amicus","version":"1.8.0","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"author":{"name":"Christian Wagner"},"license":"MIT","_id":"amicus@1.8.0","maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"homepage":"https://bourbondog.github.io/amicus/","bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"bin":{"am":"bin/amicus.js","amicus":"bin/amicus.js","sidecar":"bin/amicus.js","claude-sidecar":"bin/amicus.js"},"dist":{"shasum":"3ff0e3d8e1a6a1b4fdf222bcce810ffd41da6aa9","tarball":"https://registry.npmjs.org/amicus/-/amicus-1.8.0.tgz","fileCount":152,"integrity":"sha512-JBs+5nyyboxb5ZSQ9RQgWnvEnlNAKEXnXhKpRfkqydfXmBLAlhkbhTiHSUa/FYOcoGcMsGEeh3IOHdWnxJA3nA==","signatures":[{"sig":"MEUCIQDbPjPmECbWFYiOtHFL9ZPtXODps07c6xk5iQbNsq9RhAIgKl2xSrjjmugFI8VS4J69yB1jqK7Ye9weafQp1CEmY+0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/amicus@1.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1756118},"main":"src/index.js","engines":{"node":">=18.0.0"},"exports":{"./opencode-client":"./src/opencode-client.mjs"},"gitHead":"c66d1c939bc58da7f004080d8f7fe861f38cda47","scripts":{"lint":"eslint src/","test":"jest","start":"node --experimental-top-level-await --experimental-vm-modules bin/amicus.js","posttest":"node scripts/mark-test-passed.js","test:all":"jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='\\.worktrees/' && node scripts/mark-test-passed.js","check:sizes":"node scripts/check-file-sizes.js --all","models:info":"node bin/amicus.js models","postinstall":"node scripts/postinstall.js","setup-hooks":"node scripts/setup-hooks.js","models:check":"node bin/amicus.js models --check","test:e2e:mcp":"jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit","check:secrets":"node scripts/check-secrets.js --all","check:tarball":"node scripts/check-tarball-lifecycle.js","generate-docs":"node scripts/generate-docs.js","generate-icon":"node scripts/generate-icon.js","test:thinking":"node scripts/benchmark-thinking.js","validate-docs":"node scripts/validate-docs.js --full","refresh-models":"node bin/amicus.js models --refresh","test:integration":"jest --testPathIgnorePatterns='\\.worktrees/' --testMatch='**/tests/**/*.integration.test.js'","generate-docs:check":"node scripts/generate-docs.js --check","test:thinking:quick":"MODELS=gemini node scripts/benchmark-thinking.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c7f57b2b-9b02-469e-a4c4-c9b785a884a5"}},"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"_npmVersion":"11.18.0","description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix"]},"_nodeVersion":"22.23.1","dependencies":{"zod":"^3.0.0","dotenv":"^17.2.3","tiktoken":"^1.0.0","opencode-ai":"^1.2.20","update-notifier":"^7.3.1","@opencode-ai/sdk":"^1.1.36","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.19.0","jest":"^29.0.0","husky":"^9.1.7","sharp":"^0.33.5","eslint":"^8.0.0","puppeteer":"^24.36.0","lint-staged":"^16.3.2","chrome-remote-interface":"^0.33.3"},"optionalDependencies":{"electron":"^28.0.0"},"_npmOperationalInternal":{"tmp":"tmp/amicus_1.8.0_1783005851090_0.8033771735845834","host":"s3://npm-registry-packages-npm-production"}},"1.8.1":{"name":"amicus","version":"1.8.1","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"author":{"name":"Christian Wagner"},"license":"MIT","_id":"amicus@1.8.1","maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"homepage":"https://bourbondog.github.io/amicus/","bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"bin":{"am":"bin/amicus.js","amicus":"bin/amicus.js","sidecar":"bin/amicus.js","claude-sidecar":"bin/amicus.js"},"dist":{"shasum":"2d19afdc7c090343c6d679475d87ff72213c12a8","tarball":"https://registry.npmjs.org/amicus/-/amicus-1.8.1.tgz","fileCount":152,"integrity":"sha512-UlLQDqF48eOSs6Ufl7JusqHugUT45kLR4OnmQ3UUoxzWowT7gvpexCEiVULZjSiGw3WNhKss744QUNgkBDtAQQ==","signatures":[{"sig":"MEUCIQCYoX5VErmBpBX6l4wPgVKPBQ8VuD1ZettbUPshwYjeMQIgendo0UQrcxSBGnGXCDvxJk5I/vV/mccTgZ4J0k3MXJI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/amicus@1.8.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1770388},"main":"src/index.js","engines":{"node":">=18.0.0"},"exports":{"./opencode-client":"./src/opencode-client.mjs"},"gitHead":"710856424af83bdd7b34ab3fec259f783d58f1a8","scripts":{"lint":"eslint src/","test":"jest","start":"node --experimental-top-level-await --experimental-vm-modules bin/amicus.js","posttest":"node scripts/mark-test-passed.js","test:all":"jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='\\.worktrees/' && node scripts/mark-test-passed.js","check:sizes":"node scripts/check-file-sizes.js --all","models:info":"node bin/amicus.js models","postinstall":"node scripts/postinstall.js","setup-hooks":"node scripts/setup-hooks.js","models:check":"node bin/amicus.js models --check","test:e2e:mcp":"jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit","check:secrets":"node scripts/check-secrets.js --all","check:tarball":"node scripts/check-tarball-lifecycle.js","generate-docs":"node scripts/generate-docs.js","generate-icon":"node scripts/generate-icon.js","test:thinking":"node scripts/benchmark-thinking.js","validate-docs":"node scripts/validate-docs.js --full","refresh-models":"node bin/amicus.js models --refresh","test:integration":"jest --testPathIgnorePatterns='\\.worktrees/' --testMatch='**/tests/**/*.integration.test.js'","generate-docs:check":"node scripts/generate-docs.js --check","test:thinking:quick":"MODELS=gemini node scripts/benchmark-thinking.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c7f57b2b-9b02-469e-a4c4-c9b785a884a5"}},"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"_npmVersion":"11.18.0","description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix"]},"_nodeVersion":"22.23.1","dependencies":{"zod":"^3.0.0","dotenv":"^17.2.3","tiktoken":"^1.0.0","opencode-ai":"^1.2.20","update-notifier":"^7.3.1","@opencode-ai/sdk":"^1.1.36","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.19.0","jest":"^29.0.0","husky":"^9.1.7","sharp":"^0.33.5","eslint":"^8.0.0","puppeteer":"^24.36.0","lint-staged":"^16.3.2","chrome-remote-interface":"^0.33.3"},"optionalDependencies":{"electron":"^28.0.0"},"_npmOperationalInternal":{"tmp":"tmp/amicus_1.8.1_1783015223109_0.7975070992741873","host":"s3://npm-registry-packages-npm-production"}},"1.9.0":{"name":"amicus","version":"1.9.0","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"author":{"name":"Christian Wagner"},"license":"MIT","_id":"amicus@1.9.0","maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"homepage":"https://bourbondog.github.io/amicus/","bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"bin":{"am":"bin/amicus.js","amicus":"bin/amicus.js","sidecar":"bin/amicus.js","claude-sidecar":"bin/amicus.js"},"dist":{"shasum":"f9351dd0fe8125a7239d629c545cb375ea1a4997","tarball":"https://registry.npmjs.org/amicus/-/amicus-1.9.0.tgz","fileCount":157,"integrity":"sha512-LK3izX9MICnDWCNkJRjyjlrTOfFyTyMAyxmhpg7s1EF1fIURQ8uKE4AqJ8vRiHOwk0w44HSR9NdyXLosmFovcA==","signatures":[{"sig":"MEQCIBMWDFYceK9acowiAME9O+isQ4vIHJbODJqeqDuYUb66AiBwJVSpInqa14usgA9lsBdCPAZ+SVp4KlidaYwF/+T71A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/amicus@1.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1803554},"main":"src/index.js","engines":{"node":">=18.0.0"},"exports":{"./opencode-client":"./src/opencode-client.mjs"},"gitHead":"404dea3fee2de6ebec3fb0bd473c726b50aa69f3","mcpName":"io.github.BourbonDog/amicus","scripts":{"lint":"eslint src/","test":"jest","start":"node --experimental-top-level-await --experimental-vm-modules bin/amicus.js","posttest":"node scripts/mark-test-passed.js","test:all":"jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='\\.worktrees/' && node scripts/mark-test-passed.js","check:sizes":"node scripts/check-file-sizes.js --all","models:info":"node bin/amicus.js models","postinstall":"node scripts/postinstall.js","setup-hooks":"node scripts/setup-hooks.js","models:check":"node bin/amicus.js models --check","test:e2e:mcp":"jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit","check:secrets":"node scripts/check-secrets.js --all","check:tarball":"node scripts/check-tarball-lifecycle.js","generate-docs":"node scripts/generate-docs.js","generate-icon":"node scripts/generate-icon.js","test:thinking":"node scripts/benchmark-thinking.js","validate-docs":"node scripts/validate-docs.js --full","refresh-models":"node bin/amicus.js models --refresh","test:integration":"jest --testPathIgnorePatterns='\\.worktrees/' --testMatch='**/tests/**/*.integration.test.js'","generate-docs:check":"node scripts/generate-docs.js --check","test:thinking:quick":"MODELS=gemini node scripts/benchmark-thinking.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c7f57b2b-9b02-469e-a4c4-c9b785a884a5"}},"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"_npmVersion":"11.18.0","description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix"]},"_nodeVersion":"22.23.1","dependencies":{"zod":"^3.0.0","dotenv":"^17.2.3","tiktoken":"^1.0.0","opencode-ai":"^1.2.20","update-notifier":"^7.3.1","@opencode-ai/sdk":"^1.1.36","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.19.0","jest":"^29.0.0","husky":"^9.1.7","sharp":"^0.33.5","eslint":"^8.0.0","puppeteer":"^24.36.0","lint-staged":"^16.3.2","chrome-remote-interface":"^0.33.3"},"optionalDependencies":{"electron":"^28.0.0"},"_npmOperationalInternal":{"tmp":"tmp/amicus_1.9.0_1783083364089_0.6958749037559675","host":"s3://npm-registry-packages-npm-production"}},"1.9.1":{"name":"amicus","version":"1.9.1","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"author":{"name":"Christian Wagner"},"license":"MIT","_id":"amicus@1.9.1","maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"homepage":"https://bourbondog.github.io/amicus/","bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"bin":{"am":"bin/amicus.js","amicus":"bin/amicus.js","sidecar":"bin/amicus.js","claude-sidecar":"bin/amicus.js"},"dist":{"shasum":"7720250b719f95401ba54edd1371ebe081e8901d","tarball":"https://registry.npmjs.org/amicus/-/amicus-1.9.1.tgz","fileCount":157,"integrity":"sha512-pMfFgM7/xPPMH9O+aaqXO/OuN2vDLoNbZ14QVBbes9e/rZkMt1Vx2MbR7t8b3a2m3Y95FzJW3aC3co4sZr9xwQ==","signatures":[{"sig":"MEUCIByMRwwdhLHkemnjpL7VY9HBcM5m6owiZbejccbkuul5AiEA/YYSLVqQU04nvOOBuK1aZtagqLq0PIprRRn8l7TBmGk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/amicus@1.9.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1804280},"main":"src/index.js","engines":{"node":">=18.0.0"},"exports":{"./opencode-client":"./src/opencode-client.mjs"},"gitHead":"285903db27a1edea369f3e8eac91b645ee5c7428","mcpName":"io.github.BourbonDog/amicus","scripts":{"lint":"eslint src/","test":"jest","start":"node --experimental-top-level-await --experimental-vm-modules bin/amicus.js","posttest":"node scripts/mark-test-passed.js","test:all":"jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='\\.worktrees/' && node scripts/mark-test-passed.js","check:sizes":"node scripts/check-file-sizes.js --all","models:info":"node bin/amicus.js models","postinstall":"node scripts/postinstall.js","setup-hooks":"node scripts/setup-hooks.js","models:check":"node bin/amicus.js models --check","test:e2e:mcp":"jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit","check:secrets":"node scripts/check-secrets.js --all","check:tarball":"node scripts/check-tarball-lifecycle.js","generate-docs":"node scripts/generate-docs.js","generate-icon":"node scripts/generate-icon.js","test:thinking":"node scripts/benchmark-thinking.js","validate-docs":"node scripts/validate-docs.js --full","refresh-models":"node bin/amicus.js models --refresh","test:integration":"jest --testPathIgnorePatterns='\\.worktrees/' --testMatch='**/tests/**/*.integration.test.js'","generate-docs:check":"node scripts/generate-docs.js --check","test:thinking:quick":"MODELS=gemini node scripts/benchmark-thinking.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c7f57b2b-9b02-469e-a4c4-c9b785a884a5"}},"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"_npmVersion":"11.18.0","description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix"]},"_nodeVersion":"22.23.1","dependencies":{"zod":"^3.0.0","dotenv":"^17.2.3","tiktoken":"^1.0.0","opencode-ai":"^1.2.20","update-notifier":"^7.3.1","@opencode-ai/sdk":"^1.1.36","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.19.0","jest":"^29.0.0","husky":"^9.1.7","sharp":"^0.33.5","eslint":"^8.0.0","puppeteer":"^24.36.0","lint-staged":"^16.3.2","chrome-remote-interface":"^0.33.3"},"optionalDependencies":{"electron":"^28.0.0"},"_npmOperationalInternal":{"tmp":"tmp/amicus_1.9.1_1783084478543_0.9557758634156202","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"amicus","version":"2.0.0","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"author":{"name":"Christian Wagner"},"license":"MIT","_id":"amicus@2.0.0","maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"homepage":"https://bourbondog.github.io/amicus/","bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"bin":{"am":"bin/amicus.js","amicus":"bin/amicus.js"},"dist":{"shasum":"981ba5577f5a179711bcefda28388e2c69785d6a","tarball":"https://registry.npmjs.org/amicus/-/amicus-2.0.0.tgz","fileCount":163,"integrity":"sha512-6wFpqVXAzOd8ed6l9yN2IatC3Hog55dikp7k4BfW7lzH3zjLpjESO1JqVJ21BVvaS4eZcbDuwJqtKM+G4WD7bg==","signatures":[{"sig":"MEYCIQD9QKTYTUztmTkQnEN/gJkOIn24fcsPfPCaDd2A7rWsBQIhALjM/w0UJ+2Moa8S+4sXnLPoOiUtGzweoyXiwtJ+vTxl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/amicus@2.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1881906},"main":"src/index.js","engines":{"node":">=18.0.0"},"exports":{"./opencode-client":"./src/opencode-client.mjs"},"gitHead":"b81d42a1ee628b93f6f709e3f2708d51879b1c94","mcpName":"io.github.BourbonDog/amicus","scripts":{"lint":"eslint src/","test":"jest","start":"node --experimental-top-level-await --experimental-vm-modules bin/amicus.js","posttest":"node scripts/mark-test-passed.js","test:all":"jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='\\.worktrees/' && node scripts/mark-test-passed.js","check:sizes":"node scripts/check-file-sizes.js --all","models:info":"node bin/amicus.js models","postinstall":"node scripts/postinstall.js","setup-hooks":"node scripts/setup-hooks.js","models:check":"node bin/amicus.js models --check","test:e2e:mcp":"jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit","check:secrets":"node scripts/check-secrets.js --all","check:tarball":"node scripts/check-tarball-lifecycle.js","generate-docs":"node scripts/generate-docs.js","generate-icon":"node scripts/generate-icon.js","test:thinking":"node scripts/benchmark-thinking.js","validate-docs":"node scripts/validate-docs.js --full","refresh-models":"node bin/amicus.js models --refresh","test:integration":"jest --testPathIgnorePatterns='\\.worktrees/' --testMatch='**/tests/**/*.integration.test.js'","generate-docs:check":"node scripts/generate-docs.js --check","test:thinking:quick":"MODELS=gemini node scripts/benchmark-thinking.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c7f57b2b-9b02-469e-a4c4-c9b785a884a5"}},"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"_npmVersion":"11.18.0","description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix"]},"_nodeVersion":"22.23.1","dependencies":{"zod":"^3.0.0","dotenv":"^17.2.3","tiktoken":"^1.0.0","opencode-ai":"^1.2.20","update-notifier":"^7.3.1","@opencode-ai/sdk":"^1.1.36","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.19.0","jest":"^29.0.0","sharp":"^0.33.5","eslint":"^8.0.0","puppeteer":"^24.36.0","lint-staged":"^16.3.2","chrome-remote-interface":"^0.33.3"},"optionalDependencies":{"electron":"^28.0.0"},"_npmOperationalInternal":{"tmp":"tmp/amicus_2.0.0_1783120734246_0.6194165596855539","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"amicus","version":"2.1.0","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"author":{"name":"Christian Wagner"},"license":"MIT","_id":"amicus@2.1.0","maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"homepage":"https://bourbondog.github.io/amicus/","bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"bin":{"am":"bin/amicus.js","amicus":"bin/amicus.js"},"dist":{"shasum":"35d9f355355f1a542a1fa09b2ba7a97fba971649","tarball":"https://registry.npmjs.org/amicus/-/amicus-2.1.0.tgz","fileCount":169,"integrity":"sha512-2ukfZNr8SoBBWO+K6Yd7QqKBhlSSA0DItGY4urSQuL1TYe5Nrkq9ofA9L4nYiDbEbltzH3/rrUVfTAGM4eeumw==","signatures":[{"sig":"MEYCIQC8Aux0gWy4Ncckvu5MRjg1CYQ6IXDYKYAE7b87HgwbWQIhAOnP9xIOkRV+mMV7NocvCW3dytEMuQi9t7frJA3foF91","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/amicus@2.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1907384},"main":"src/index.js","engines":{"node":">=18.0.0"},"exports":{"./opencode-client":"./src/opencode-client.mjs"},"gitHead":"01049eae09edc6c07e13f5a50a1122a7f3ca6dbc","mcpName":"io.github.BourbonDog/amicus","scripts":{"lint":"eslint src/","test":"jest","start":"node --experimental-top-level-await --experimental-vm-modules bin/amicus.js","posttest":"node scripts/mark-test-passed.js","test:all":"jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='\\.worktrees/' && node scripts/mark-test-passed.js","check:sizes":"node scripts/check-file-sizes.js --all","models:info":"node bin/amicus.js models","postinstall":"node scripts/postinstall.js","setup-hooks":"node scripts/setup-hooks.js","models:check":"node bin/amicus.js models --check","test:e2e:mcp":"jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit","check:secrets":"node scripts/check-secrets.js --all","check:tarball":"node scripts/check-tarball-lifecycle.js","generate-docs":"node scripts/generate-docs.js","generate-icon":"node scripts/generate-icon.js","test:thinking":"node scripts/benchmark-thinking.js","validate-docs":"node scripts/validate-docs.js --full","refresh-models":"node bin/amicus.js models --refresh","test:integration":"jest --testPathIgnorePatterns='\\.worktrees/' --testMatch='**/tests/**/*.integration.test.js'","generate-docs:check":"node scripts/generate-docs.js --check","test:thinking:quick":"MODELS=gemini node scripts/benchmark-thinking.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c7f57b2b-9b02-469e-a4c4-c9b785a884a5"}},"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"_npmVersion":"11.18.0","description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix"]},"_nodeVersion":"22.23.1","dependencies":{"zod":"^3.0.0","dotenv":"^17.2.3","tiktoken":"^1.0.0","opencode-ai":"^1.2.20","update-notifier":"^7.3.1","@opencode-ai/sdk":"^1.1.36","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.19.0","jest":"^29.0.0","sharp":"^0.33.5","eslint":"^8.0.0","puppeteer":"^24.36.0","lint-staged":"^16.3.2","chrome-remote-interface":"^0.33.3"},"optionalDependencies":{"electron":"^28.0.0"},"_npmOperationalInternal":{"tmp":"tmp/amicus_2.1.0_1783167400519_0.5739703587555967","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"amicus","version":"2.2.0","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"author":{"name":"Christian Wagner"},"license":"MIT","_id":"amicus@2.2.0","maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"homepage":"https://bourbondog.github.io/amicus/","bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"bin":{"am":"bin/amicus.js","amicus":"bin/amicus.js"},"dist":{"shasum":"3cbe46648ad2c51d7f313a96580699558d5c49db","tarball":"https://registry.npmjs.org/amicus/-/amicus-2.2.0.tgz","fileCount":170,"integrity":"sha512-1yNrIiDH+/lBrcvppI0juQb4Fl7r5aS67W0PbklpZNyf7DCfp/j+MVQ2Rsf37Hy6S6Qm6+oTMoVaITXucGhsUA==","signatures":[{"sig":"MEUCIELD08GfQbzmIUHhUoQUt/w+udSzf4qCaj24t/gJgBS/AiEAyZXyN8N3Hh9vH0nwEj08HZCIuceMJeDqQ7NHBXih+Oc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/amicus@2.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1941140},"main":"src/index.js","engines":{"node":">=18.0.0"},"exports":{"./opencode-client":"./src/opencode-client.mjs"},"gitHead":"61f5351e2aeadb6bd1de67d911df79bb03d6840d","mcpName":"io.github.BourbonDog/amicus","scripts":{"lint":"eslint src/","test":"jest","start":"node --experimental-top-level-await --experimental-vm-modules bin/amicus.js","posttest":"node scripts/mark-test-passed.js","test:all":"jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='\\.worktrees/' && node scripts/mark-test-passed.js","check:sizes":"node scripts/check-file-sizes.js --all","models:info":"node bin/amicus.js models","postinstall":"node scripts/postinstall.js","setup-hooks":"node scripts/setup-hooks.js","models:check":"node bin/amicus.js models --check","test:e2e:mcp":"jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit","check:secrets":"node scripts/check-secrets.js --all","check:tarball":"node scripts/check-tarball-lifecycle.js","generate-docs":"node scripts/generate-docs.js","generate-icon":"node scripts/generate-icon.js","test:thinking":"node scripts/benchmark-thinking.js","validate-docs":"node scripts/validate-docs.js --full","refresh-models":"node bin/amicus.js models --refresh","test:integration":"jest --testPathIgnorePatterns='\\.worktrees/' --testMatch='**/tests/**/*.integration.test.js'","generate-docs:check":"node scripts/generate-docs.js --check","test:thinking:quick":"MODELS=gemini node scripts/benchmark-thinking.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c7f57b2b-9b02-469e-a4c4-c9b785a884a5"}},"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"_npmVersion":"12.0.1","description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix"]},"_nodeVersion":"22.23.1","dependencies":{"zod":"^3.0.0","dotenv":"^17.2.3","tiktoken":"^1.0.0","opencode-ai":"^1.2.20","update-notifier":"^7.3.1","@opencode-ai/sdk":"^1.1.36","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.19.0","jest":"^29.0.0","sharp":"^0.33.5","eslint":"^8.0.0","puppeteer":"^24.36.0","lint-staged":"^16.3.2","chrome-remote-interface":"^0.33.3"},"optionalDependencies":{"electron":"^28.0.0"},"_npmOperationalInternal":{"tmp":"tmp/amicus_2.2.0_1784064532169_0.4015849604877848","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"amicus","version":"3.0.0","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"author":{"name":"Christian Wagner"},"license":"MIT","_id":"amicus@3.0.0","maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"homepage":"https://bourbondog.github.io/amicus/","bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"bin":{"am":"bin/amicus.js","amicus":"bin/amicus.js"},"dist":{"shasum":"627aaaad6e63ddfc97aa0fa2ed54468d94dd70fc","tarball":"https://registry.npmjs.org/amicus/-/amicus-3.0.0.tgz","fileCount":171,"integrity":"sha512-8JVArmvBLC5sePezFcuV3Ujfd/nctsZzC/z2+JATjNxdSMaM8X2VO0y/v7hRubbwhykKH/D0WtW7gwK65LCqkw==","signatures":[{"sig":"MEQCIBi8IBpxGKCO34qeFQUCf68GRCJCXAGsL5QX8DoZ9yckAiBo6nlKRA4LmC/773J5v8EbrzhRqfVLTMnXKhrVAc4xLQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/amicus@3.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1944230},"main":"src/index.js","engines":{"node":">=22.12.0"},"exports":{"./opencode-client":"./src/opencode-client.mjs"},"gitHead":"0bd2a19482a65fc0df95226ae465005164a5e022","mcpName":"io.github.BourbonDog/amicus","scripts":{"lint":"eslint src/","test":"jest","start":"node --experimental-top-level-await --experimental-vm-modules bin/amicus.js","posttest":"node scripts/mark-test-passed.js","test:all":"jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='\\.worktrees/' && node scripts/mark-test-passed.js","check:sizes":"node scripts/check-file-sizes.js --all","models:info":"node bin/amicus.js models","postinstall":"node scripts/postinstall.js","setup-hooks":"node scripts/setup-hooks.js","models:check":"node bin/amicus.js models --check","test:e2e:mcp":"jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit","check:secrets":"node scripts/check-secrets.js --all","check:tarball":"node scripts/check-tarball-lifecycle.js","generate-docs":"node scripts/generate-docs.js","generate-icon":"node scripts/generate-icon.js","test:thinking":"node scripts/benchmark-thinking.js","validate-docs":"node scripts/validate-docs.js --full","refresh-models":"node bin/amicus.js models --refresh","test:integration":"jest --testPathIgnorePatterns='\\.worktrees/' --testMatch='**/tests/**/*.integration.test.js'","generate-docs:check":"node scripts/generate-docs.js --check","test:thinking:quick":"MODELS=gemini node scripts/benchmark-thinking.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c7f57b2b-9b02-469e-a4c4-c9b785a884a5"}},"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"_npmVersion":"12.0.1","description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix"]},"_nodeVersion":"22.23.1","dependencies":{"zod":"^3.0.0","dotenv":"^17.2.3","tiktoken":"^1.0.0","opencode-ai":"^1.2.20","@electron/get":"^5.0.0","update-notifier":"^7.3.1","@opencode-ai/sdk":"^1.1.36","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.19.0","jest":"^29.0.0","sharp":"^0.33.5","eslint":"^8.0.0","puppeteer":"^24.36.0","lint-staged":"^16.3.2","chrome-remote-interface":"^0.33.3"},"optionalDependencies":{"electron":"^43.1.1"},"_npmOperationalInternal":{"tmp":"tmp/amicus_3.0.0_1784138774435_0.9985375784888182","host":"s3://npm-registry-packages-npm-production"}},"3.1.0":{"name":"amicus","version":"3.1.0","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"author":{"name":"Christian Wagner"},"license":"MIT","_id":"amicus@3.1.0","maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"homepage":"https://bourbondog.github.io/amicus/","bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"bin":{"am":"bin/amicus.js","amicus":"bin/amicus.js"},"dist":{"shasum":"8cf10abd39c06828aa178f84096f7ca412033cb1","tarball":"https://registry.npmjs.org/amicus/-/amicus-3.1.0.tgz","fileCount":180,"integrity":"sha512-NTnRCq4Rr3XBFX7LGhO86BHmbf9u8BEgXY0Z6UeLU9x4V1qkYvTvYwJEpz7PbS7rEAyPVieoJsFqvD64tOKnWg==","signatures":[{"sig":"MEUCIQCt4No8du9A2S7TRSfAz3D+Ig4F+44wEp4vCLEp3aapzwIgEF4lZbcvZ/iqMuydLC57LQqD0DtBilGy4Rv4EK/r6M0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/amicus@3.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2013056},"main":"src/index.js","engines":{"node":">=22.12.0"},"exports":{"./opencode-client":"./src/opencode-client.mjs"},"gitHead":"c168876413bcd52fd92ac51b78a68862c8feaa2b","mcpName":"io.github.BourbonDog/amicus","scripts":{"lint":"eslint src/","test":"jest","start":"node --experimental-top-level-await --experimental-vm-modules bin/amicus.js","posttest":"node scripts/mark-test-passed.js","test:all":"jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='\\.worktrees/' && node scripts/mark-test-passed.js","check:sizes":"node scripts/check-file-sizes.js --all","models:info":"node bin/amicus.js models","postinstall":"node scripts/postinstall.js","setup-hooks":"node scripts/setup-hooks.js","models:check":"node bin/amicus.js models --check","test:e2e:mcp":"jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit","check:secrets":"node scripts/check-secrets.js --all","check:tarball":"node scripts/check-tarball-lifecycle.js","generate-docs":"node scripts/generate-docs.js","generate-icon":"node scripts/generate-icon.js","test:thinking":"node scripts/benchmark-thinking.js","validate-docs":"node scripts/validate-docs.js --full","refresh-models":"node bin/amicus.js models --refresh","test:integration":"jest --testPathIgnorePatterns='\\.worktrees/' --testMatch='**/tests/**/*.integration.test.js'","generate-docs:check":"node scripts/generate-docs.js --check","test:thinking:quick":"MODELS=gemini node scripts/benchmark-thinking.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c7f57b2b-9b02-469e-a4c4-c9b785a884a5"}},"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"_npmVersion":"12.0.1","description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix"]},"_nodeVersion":"22.23.1","dependencies":{"zod":"^3.0.0","dotenv":"^17.2.3","tiktoken":"^1.0.0","opencode-ai":"^1.2.20","@electron/get":"^5.0.0","update-notifier":"^7.3.1","@opencode-ai/sdk":"^1.1.36","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.19.0","jest":"^29.0.0","sharp":"^0.33.5","eslint":"^8.0.0","puppeteer":"^24.36.0","lint-staged":"^16.3.2","chrome-remote-interface":"^0.33.3"},"optionalDependencies":{"electron":"^43.1.1"},"_npmOperationalInternal":{"tmp":"tmp/amicus_3.1.0_1784203962776_0.14050247706217545","host":"s3://npm-registry-packages-npm-production"}},"3.1.1":{"name":"amicus","version":"3.1.1","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"author":{"name":"Christian Wagner"},"license":"MIT","_id":"amicus@3.1.1","maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"homepage":"https://bourbondog.github.io/amicus/","bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"bin":{"am":"bin/amicus.js","amicus":"bin/amicus.js"},"dist":{"shasum":"aaa02fef804557857ad91886466da5058d19e98d","tarball":"https://registry.npmjs.org/amicus/-/amicus-3.1.1.tgz","fileCount":182,"integrity":"sha512-ha7IG3KXXwijZT8sAQM3nld8+jrszbJk3sxn5pLeYOiQzr/fhp84hSn70ZErahBFloPhLEcvyQtT3YOUokv+SQ==","signatures":[{"sig":"MEUCID/GOlGcHhs8AqjdvpEK5PPonbjd3RlBQYhgpy6wNEXOAiEA3Ach5EXFGIJWg8i8yDR4NJhdzBkmRXjlPN8ph7u31NA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/amicus@3.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2031821},"main":"src/index.js","engines":{"node":">=22.12.0"},"exports":{"./opencode-client":"./src/opencode-client.mjs"},"gitHead":"d78afb8fb01d00bea2102c250c1d99505cefc1d1","mcpName":"io.github.BourbonDog/amicus","scripts":{"lint":"eslint src/","test":"jest","start":"node --experimental-top-level-await --experimental-vm-modules bin/amicus.js","posttest":"node scripts/mark-test-passed.js","test:all":"jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='\\.worktrees/' && node scripts/mark-test-passed.js","check:sizes":"node scripts/check-file-sizes.js --all","models:info":"node bin/amicus.js models","postinstall":"node scripts/postinstall.js","setup-hooks":"node scripts/setup-hooks.js","models:check":"node bin/amicus.js models --check","test:e2e:mcp":"jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit","check:secrets":"node scripts/check-secrets.js --all","check:tarball":"node scripts/check-tarball-lifecycle.js","generate-docs":"node scripts/generate-docs.js","generate-icon":"node scripts/generate-icon.js","test:thinking":"node scripts/benchmark-thinking.js","validate-docs":"node scripts/validate-docs.js --full","refresh-models":"node bin/amicus.js models --refresh","test:integration":"jest --testPathIgnorePatterns='\\.worktrees/' --testMatch='**/tests/**/*.integration.test.js'","generate-docs:check":"node scripts/generate-docs.js --check","models:check:strict":"node bin/amicus.js models --check --strict","test:thinking:quick":"MODELS=gemini node scripts/benchmark-thinking.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c7f57b2b-9b02-469e-a4c4-c9b785a884a5"}},"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"_npmVersion":"12.0.1","description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix"]},"_nodeVersion":"22.23.1","dependencies":{"zod":"^3.0.0","dotenv":"^17.2.3","tiktoken":"^1.0.0","opencode-ai":"^1.2.20","@electron/get":"^5.0.0","update-notifier":"^7.3.1","@opencode-ai/sdk":"^1.1.36","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.19.0","jest":"^29.0.0","sharp":"^0.33.5","eslint":"^8.0.0","puppeteer":"^24.36.0","lint-staged":"^16.3.2","chrome-remote-interface":"^0.33.3"},"optionalDependencies":{"electron":"^43.1.1"},"_npmOperationalInternal":{"tmp":"tmp/amicus_3.1.1_1784226643114_0.016468883910420784","host":"s3://npm-registry-packages-npm-production"}},"3.2.0":{"name":"amicus","version":"3.2.0","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"author":{"name":"Christian Wagner"},"license":"MIT","_id":"amicus@3.2.0","maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"homepage":"https://bourbondog.github.io/amicus/","bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"bin":{"am":"bin/amicus.js","amicus":"bin/amicus.js"},"dist":{"shasum":"8add6c502043b3d7e1d471dfa543a9fa6cb1c2e2","tarball":"https://registry.npmjs.org/amicus/-/amicus-3.2.0.tgz","fileCount":186,"integrity":"sha512-lPn4BxeOst6lYDhtC4VJTmWiMsFR66i4knYotl+m7YxSTQiKFYSiCAntoI/33PAs6GhhPnsh82/rxSIAMRjtJw==","signatures":[{"sig":"MEUCIB+YCyvzcWaLSwRE8gIZT7otjahUe/uhIYDd0zFiN30BAiEA4EFhOcqjt237qg6vEfc1wbFasNbIytaWXhdyg3ivviM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/amicus@3.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2075643},"main":"src/index.js","engines":{"node":">=22.12.0"},"exports":{"./opencode-client":"./src/opencode-client.mjs"},"gitHead":"8aa5d6f3f5b3489d4ba00b98e599b6b450da9d83","mcpName":"io.github.BourbonDog/amicus","scripts":{"lint":"eslint src/","test":"jest","start":"node --experimental-top-level-await --experimental-vm-modules bin/amicus.js","posttest":"node scripts/mark-test-passed.js","test:all":"jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='\\.worktrees/' && node scripts/mark-test-passed.js","check:sizes":"node scripts/check-file-sizes.js --all","models:info":"node bin/amicus.js models","postinstall":"node scripts/postinstall.js","setup-hooks":"node scripts/setup-hooks.js","models:check":"node bin/amicus.js models --check","test:e2e:mcp":"jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit","check:secrets":"node scripts/check-secrets.js --all","check:tarball":"node scripts/check-tarball-lifecycle.js","generate-docs":"node scripts/generate-docs.js","generate-icon":"node scripts/generate-icon.js","test:thinking":"node scripts/benchmark-thinking.js","validate-docs":"node scripts/validate-docs.js --full","refresh-models":"node bin/amicus.js models --refresh","test:integration":"jest --testPathIgnorePatterns='\\.worktrees/' --testMatch='**/tests/**/*.integration.test.js'","generate-docs:check":"node scripts/generate-docs.js --check","models:check:strict":"node bin/amicus.js models --check --strict","test:thinking:quick":"MODELS=gemini node scripts/benchmark-thinking.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c7f57b2b-9b02-469e-a4c4-c9b785a884a5"}},"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"_npmVersion":"12.0.1","description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix"]},"_nodeVersion":"22.23.1","dependencies":{"zod":"^3.0.0","dotenv":"^17.2.3","tiktoken":"^1.0.0","opencode-ai":"^1.2.20","@electron/get":"^5.0.0","update-notifier":"^7.3.1","@opencode-ai/sdk":"^1.1.36","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.19.0","jest":"^29.0.0","sharp":"^0.33.5","eslint":"^8.0.0","puppeteer":"^24.36.0","lint-staged":"^16.3.2","chrome-remote-interface":"^0.33.3"},"optionalDependencies":{"electron":"^43.1.1"},"_npmOperationalInternal":{"tmp":"tmp/amicus_3.2.0_1784246933515_0.34756825192809315","host":"s3://npm-registry-packages-npm-production"}},"3.2.1":{"name":"amicus","version":"3.2.1","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"author":{"name":"Christian Wagner"},"license":"MIT","_id":"amicus@3.2.1","maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"homepage":"https://bourbondog.github.io/amicus/","bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"bin":{"am":"bin/amicus.js","amicus":"bin/amicus.js"},"dist":{"shasum":"8cfc93ebdfbed4b59eaaa8bf28c514ef9fd78109","tarball":"https://registry.npmjs.org/amicus/-/amicus-3.2.1.tgz","fileCount":188,"integrity":"sha512-rviM7MRarGChvccNVbb3x8Ya+XP2PcBzG2HHSEwPsI9kBEVfpeHqq4liNPH+HUMj5MuzRBBhZnUwgFKhUDmGUg==","signatures":[{"sig":"MEUCIBjHBH3EPdl0MpkbusVyMm9f3goBChiZji03Y+TI6qXAAiEAzkkdJfjvT7/HIPUv6AaflUiFoTwOyGUInUjxB8r3ioU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/amicus@3.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2090015},"main":"src/index.js","engines":{"node":">=22.12.0"},"exports":{"./opencode-client":"./src/opencode-client.mjs"},"gitHead":"cbcb60078bf5e43605e76682058b920e34e7cb7d","mcpName":"io.github.BourbonDog/amicus","scripts":{"lint":"eslint src/","test":"jest","start":"node --experimental-top-level-await --experimental-vm-modules bin/amicus.js","posttest":"node scripts/mark-test-passed.js","test:all":"jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='\\.worktrees/' && node scripts/mark-test-passed.js","check:sizes":"node scripts/check-file-sizes.js --all","models:info":"node bin/amicus.js models","postinstall":"node scripts/postinstall.js","setup-hooks":"node scripts/setup-hooks.js","models:check":"node bin/amicus.js models --check","test:e2e:mcp":"jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit","check:secrets":"node scripts/check-secrets.js --all","check:tarball":"node scripts/check-tarball-lifecycle.js","generate-docs":"node scripts/generate-docs.js","generate-icon":"node scripts/generate-icon.js","test:thinking":"node scripts/benchmark-thinking.js","validate-docs":"node scripts/validate-docs.js --full","refresh-models":"node bin/amicus.js models --refresh","test:integration":"jest --testPathIgnorePatterns='\\.worktrees/' --testMatch='**/tests/**/*.integration.test.js'","generate-docs:check":"node scripts/generate-docs.js --check","models:check:strict":"node bin/amicus.js models --check --strict","test:thinking:quick":"MODELS=gemini node scripts/benchmark-thinking.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c7f57b2b-9b02-469e-a4c4-c9b785a884a5"}},"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"_npmVersion":"12.0.1","description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix"]},"_nodeVersion":"22.23.1","dependencies":{"zod":"^3.0.0","dotenv":"^17.2.3","tiktoken":"^1.0.0","opencode-ai":"^1.2.20","@electron/get":"^5.0.0","update-notifier":"^7.3.1","@opencode-ai/sdk":"^1.1.36","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.19.0","jest":"^29.0.0","sharp":"^0.33.5","eslint":"^8.0.0","puppeteer":"^24.36.0","lint-staged":"^16.3.2","chrome-remote-interface":"^0.33.3"},"optionalDependencies":{"electron":"^43.1.1"},"_npmOperationalInternal":{"tmp":"tmp/amicus_3.2.1_1784305513303_0.02114212714422692","host":"s3://npm-registry-packages-npm-production"}},"3.2.2":{"name":"amicus","version":"3.2.2","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"author":{"name":"Christian Wagner"},"license":"MIT","_id":"amicus@3.2.2","maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"homepage":"https://bourbondog.github.io/amicus/","bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"bin":{"am":"bin/amicus.js","amicus":"bin/amicus.js"},"dist":{"shasum":"e96523d28fa101a4568665855edf7ab82a53bf74","tarball":"https://registry.npmjs.org/amicus/-/amicus-3.2.2.tgz","fileCount":191,"integrity":"sha512-kPHCa6o53A/dJFGf6iKgvg/OtHVcpiAmZfeN5f4oCdG5Q30jYgC8uhrrH+/6NWLzhTHhoc3JojI7MbxYr39Pxg==","signatures":[{"sig":"MEUCIDMeHM4hYnXy4Y0A4F1LBTEkOZiZ/n3Igdz3zDPL+ScrAiEAxsbm0M6pR7qojJxRvgumcRmWxLkUPS9aNXzPLqyaQEQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/amicus@3.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2103879},"main":"src/index.js","engines":{"node":">=22.12.0"},"exports":{"./opencode-client":"./src/opencode-client.mjs"},"gitHead":"3cd65511c1fcf69f7d5f524997e3fa77444159ad","mcpName":"io.github.BourbonDog/amicus","scripts":{"lint":"eslint src/","test":"jest","start":"node --experimental-top-level-await --experimental-vm-modules bin/amicus.js","posttest":"node scripts/mark-test-passed.js","test:all":"jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='worktrees' && node scripts/mark-test-passed.js","check:sizes":"node scripts/check-file-sizes.js --all","models:info":"node bin/amicus.js models","postinstall":"node scripts/postinstall.js","setup-hooks":"node scripts/setup-hooks.js","models:check":"node bin/amicus.js models --check","test:e2e:mcp":"jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit","check:secrets":"node scripts/check-secrets.js --all","check:tarball":"node scripts/check-tarball-lifecycle.js","generate-docs":"node scripts/generate-docs.js","generate-icon":"node scripts/generate-icon.js","test:thinking":"node scripts/benchmark-thinking.js","validate-docs":"node scripts/validate-docs.js --full","refresh-models":"node bin/amicus.js models --refresh","test:integration":"jest --testPathIgnorePatterns='worktrees' --testMatch='**/tests/**/*.integration.test.js'","generate-docs:check":"node scripts/generate-docs.js --check","models:check:strict":"node bin/amicus.js models --check --strict","test:thinking:quick":"MODELS=gemini node scripts/benchmark-thinking.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c7f57b2b-9b02-469e-a4c4-c9b785a884a5"}},"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"_npmVersion":"12.0.1","description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix"]},"_nodeVersion":"22.23.1","dependencies":{"zod":"^3.0.0","dotenv":"^17.2.3","tiktoken":"^1.0.0","opencode-ai":"^1.2.20","@electron/get":"^5.0.0","update-notifier":"^7.3.1","@opencode-ai/sdk":"^1.1.36","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.19.0","jest":"^29.0.0","sharp":"^0.33.5","eslint":"^8.0.0","puppeteer":"^24.36.0","lint-staged":"^16.3.2","chrome-remote-interface":"^0.33.3"},"optionalDependencies":{"electron":"^43.1.1"},"_npmOperationalInternal":{"tmp":"tmp/amicus_3.2.2_1784322251507_0.4874113698668112","host":"s3://npm-registry-packages-npm-production"}},"3.2.3":{"name":"amicus","version":"3.2.3","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"author":{"name":"Christian Wagner"},"license":"MIT","_id":"amicus@3.2.3","maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"homepage":"https://bourbondog.github.io/amicus/","bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"bin":{"am":"bin/amicus.js","amicus":"bin/amicus.js"},"dist":{"shasum":"8ac19d25d7d6a039b34a5b6fb1d90b295429cbce","tarball":"https://registry.npmjs.org/amicus/-/amicus-3.2.3.tgz","fileCount":191,"integrity":"sha512-jAUQoiatNRXbuoYSqbA0c9TCktoj8qww7Zm8WPAtDBT63xVDyeRiQqJuQ8vg2jeJkMYgHPFwvP+QUXzh4ZYE0w==","signatures":[{"sig":"MEUCIQDx1tzS3+4JupXDLsHMlKBu4Hirwk9k4h25mcAfyGH83AIgIs9Qlp9saMp4uozfaWz3fHc5iLLtHD/eTpM0dkgapGk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/amicus@3.2.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2104957},"main":"src/index.js","engines":{"node":">=22.12.0"},"exports":{"./opencode-client":"./src/opencode-client.mjs"},"gitHead":"a6648577289d46b88ba325806d889946227c1f83","mcpName":"io.github.BourbonDog/amicus","scripts":{"lint":"eslint src/","test":"jest","start":"node --experimental-top-level-await --experimental-vm-modules bin/amicus.js","posttest":"node scripts/mark-test-passed.js","test:all":"jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='worktrees' && node scripts/mark-test-passed.js","check:sizes":"node scripts/check-file-sizes.js --all","models:info":"node bin/amicus.js models","postinstall":"node scripts/postinstall.js","setup-hooks":"node scripts/setup-hooks.js","models:check":"node bin/amicus.js models --check","test:e2e:mcp":"jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit","check:secrets":"node scripts/check-secrets.js --all","check:tarball":"node scripts/check-tarball-lifecycle.js","generate-docs":"node scripts/generate-docs.js","generate-icon":"node scripts/generate-icon.js","test:thinking":"node scripts/benchmark-thinking.js","validate-docs":"node scripts/validate-docs.js --full","refresh-models":"node bin/amicus.js models --refresh","test:integration":"jest --testPathIgnorePatterns='worktrees' --testMatch='**/tests/**/*.integration.test.js'","generate-docs:check":"node scripts/generate-docs.js --check","models:check:strict":"node bin/amicus.js models --check --strict","test:thinking:quick":"MODELS=gemini node scripts/benchmark-thinking.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c7f57b2b-9b02-469e-a4c4-c9b785a884a5"}},"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"_npmVersion":"12.0.1","description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix"]},"_nodeVersion":"22.23.1","dependencies":{"zod":"^3.0.0","dotenv":"^17.2.3","tiktoken":"^1.0.0","opencode-ai":"^1.2.20","@electron/get":"^5.0.0","update-notifier":"^7.3.1","@opencode-ai/sdk":"^1.1.36","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.19.0","jest":"^29.0.0","sharp":"^0.33.5","eslint":"^8.0.0","puppeteer":"^24.36.0","lint-staged":"^16.3.2","chrome-remote-interface":"^0.33.3"},"optionalDependencies":{"electron":"^43.1.1"},"_npmOperationalInternal":{"tmp":"tmp/amicus_3.2.3_1784401222657_0.6382342909881018","host":"s3://npm-registry-packages-npm-production"}},"4.0.0":{"name":"amicus","version":"4.0.0","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"author":{"name":"Christian Wagner"},"license":"MIT","_id":"amicus@4.0.0","maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"homepage":"https://bourbondog.github.io/amicus/","bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"bin":{"am":"bin/amicus.js","amicus":"bin/amicus.js"},"dist":{"shasum":"88343a2bcfe101f7b7d6a4f6c3685865ec9ae6f9","tarball":"https://registry.npmjs.org/amicus/-/amicus-4.0.0.tgz","fileCount":215,"integrity":"sha512-GNI0uweACmdN24YGIH882XeWN1QbgvSGbU2z+VpX0mdFxJ8J0ET1Ym/BlFGDqOcEdR5MZVdZtIuigNlDWTLCEw==","signatures":[{"sig":"MEUCIGqHCw8LwxQjNx37MJoep+MzJaZoiaPQz6oIYv7EAO40AiEAkfMsq7fej7QOXpwsRU83cW2B2tc00YfKuCCtIJCJSt8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/amicus@4.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2217733},"main":"src/index.js","engines":{"node":">=22.12.0"},"exports":{"./opencode-client":"./src/opencode-client.mjs"},"gitHead":"f861c04da8bbc54905f86bd83a94c92161d29975","mcpName":"io.github.BourbonDog/amicus","scripts":{"lint":"eslint src/","test":"jest","start":"node --experimental-top-level-await --experimental-vm-modules bin/amicus.js","posttest":"node scripts/mark-test-passed.js","test:all":"jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='worktrees' && node scripts/mark-test-passed.js","check:sizes":"node scripts/check-file-sizes.js --all","models:info":"node bin/amicus.js models","postinstall":"node scripts/postinstall.js","setup-hooks":"node scripts/setup-hooks.js","models:check":"node bin/amicus.js models --check","test:e2e:mcp":"jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit","check:secrets":"node scripts/check-secrets.js --all","check:tarball":"node scripts/check-tarball-lifecycle.js","generate-docs":"node scripts/generate-docs.js","generate-icon":"node scripts/generate-icon.js","test:thinking":"node scripts/benchmark-thinking.js","validate-docs":"node scripts/validate-docs.js --full","refresh-models":"node bin/amicus.js models --refresh","test:integration":"jest --testPathIgnorePatterns='worktrees' --testMatch='**/tests/**/*.integration.test.js'","generate-docs:check":"node scripts/generate-docs.js --check","models:check:strict":"node bin/amicus.js models --check --strict","test:thinking:quick":"MODELS=gemini node scripts/benchmark-thinking.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c7f57b2b-9b02-469e-a4c4-c9b785a884a5"}},"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"_npmVersion":"12.0.1","description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix"]},"_nodeVersion":"22.23.1","dependencies":{"zod":"^3.0.0","dotenv":"^17.2.3","tiktoken":"^1.0.0","opencode-ai":"^1.2.20","@electron/get":"^5.0.0","update-notifier":"^7.3.1","@opencode-ai/sdk":"^1.1.36","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.19.0","ajv":"^8.20.0","jest":"^29.0.0","sharp":"^0.33.5","eslint":"^8.0.0","puppeteer":"^24.36.0","lint-staged":"^16.3.2","chrome-remote-interface":"^0.33.3"},"optionalDependencies":{"electron":"^43.1.1"},"_npmOperationalInternal":{"tmp":"tmp/amicus_4.0.0_1784594164308_0.7525008845833066","host":"s3://npm-registry-packages-npm-production"}},"4.0.1":{"name":"amicus","version":"4.0.1","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"author":{"name":"Christian Wagner"},"license":"MIT","_id":"amicus@4.0.1","maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"homepage":"https://bourbondog.github.io/amicus/","bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"bin":{"am":"bin/amicus.js","amicus":"bin/amicus.js"},"dist":{"shasum":"b4cbc14fb86fafbc16ddf74aa409101b3b8bbea5","tarball":"https://registry.npmjs.org/amicus/-/amicus-4.0.1.tgz","fileCount":216,"integrity":"sha512-9lGkjVcctltS+aBSfl1LEU3u+RgAiW2NQCqf3zRaUk+wCbOFrdwtnL9hjIox35bBePqrQ46e7R3rZmb4X7UGaQ==","signatures":[{"sig":"MEYCIQDlY8Vh71OfCFsJyDjuN5Zq4jYpce+ZDX5fVlqkvmoc6QIhANs9vE9oy9pug9g7Y1iN9R23X7dBbQU7kg211T7G7IoU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/amicus@4.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2227643},"main":"src/index.js","engines":{"node":">=22.12.0"},"exports":{"./opencode-client":"./src/opencode-client.mjs"},"gitHead":"0b92b190af5c81075accf4a613b92e199d659d76","mcpName":"io.github.BourbonDog/amicus","scripts":{"lint":"eslint src/","test":"jest","start":"node --experimental-top-level-await --experimental-vm-modules bin/amicus.js","posttest":"node scripts/mark-test-passed.js","test:all":"jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='worktrees' && node scripts/mark-test-passed.js","check:sizes":"node scripts/check-file-sizes.js --all","models:info":"node bin/amicus.js models","postinstall":"node scripts/postinstall.js","setup-hooks":"node scripts/setup-hooks.js","models:check":"node bin/amicus.js models --check","test:e2e:mcp":"jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit","check:secrets":"node scripts/check-secrets.js --all","check:tarball":"node scripts/check-tarball-lifecycle.js","generate-docs":"node scripts/generate-docs.js","generate-icon":"node scripts/generate-icon.js","test:thinking":"node scripts/benchmark-thinking.js","validate-docs":"node scripts/validate-docs.js --full","refresh-models":"node bin/amicus.js models --refresh","test:integration":"jest --testPathIgnorePatterns='worktrees' --testMatch='**/tests/**/*.integration.test.js'","generate-docs:check":"node scripts/generate-docs.js --check","models:check:strict":"node bin/amicus.js models --check --strict","test:thinking:quick":"MODELS=gemini node scripts/benchmark-thinking.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c7f57b2b-9b02-469e-a4c4-c9b785a884a5"}},"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"_npmVersion":"12.0.1","description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix"]},"_nodeVersion":"22.23.1","dependencies":{"zod":"^3.0.0","dotenv":"^17.2.3","tiktoken":"^1.0.0","opencode-ai":"^1.2.20","@electron/get":"^5.0.0","update-notifier":"^7.3.1","@opencode-ai/sdk":"^1.1.36","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.19.0","ajv":"^8.20.0","jest":"^29.0.0","sharp":"^0.33.5","eslint":"^8.0.0","puppeteer":"^24.36.0","lint-staged":"^16.3.2","chrome-remote-interface":"^0.33.3"},"optionalDependencies":{"electron":"^43.1.1"},"_npmOperationalInternal":{"tmp":"tmp/amicus_4.0.1_1784604226613_0.31899682659158235","host":"s3://npm-registry-packages-npm-production"}},"4.1.0":{"name":"amicus","version":"4.1.0","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"author":{"name":"Christian Wagner"},"license":"MIT","_id":"amicus@4.1.0","maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"homepage":"https://bourbondog.github.io/amicus/","bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"bin":{"am":"bin/amicus.js","amicus":"bin/amicus.js"},"dist":{"shasum":"3a4ef1af4245e677ac6471be76b2e7ba7b072ab9","tarball":"https://registry.npmjs.org/amicus/-/amicus-4.1.0.tgz","fileCount":221,"integrity":"sha512-YNfSfjwXqOlOGsN5CLSBpUPiF34BtnP2d3UjJ9UHhDS61sp0Q16O+DksVDt1Mfbg9RSNSDPu3UybrtvE2BqdVw==","signatures":[{"sig":"MEQCIHjFgEb4vmjvyFR4TXWTgF2A2AG5LGuf304KzovOLqvCAiAYTnEEDoGnxRUBq1OlNzjZwNPxZ5cTxue9K6YNXeIimQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/amicus@4.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2314943},"main":"src/index.js","engines":{"node":">=22.12.0"},"exports":{"./opencode-client":"./src/opencode-client.mjs"},"gitHead":"57f1f20928c25f3e4533bfdd3dfeacf81886ab5c","mcpName":"io.github.BourbonDog/amicus","scripts":{"lint":"eslint src/","test":"jest","start":"node --experimental-top-level-await --experimental-vm-modules bin/amicus.js","posttest":"node scripts/mark-test-passed.js","test:all":"jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='worktrees' && node scripts/mark-test-passed.js","check:sizes":"node scripts/check-file-sizes.js --all","models:info":"node bin/amicus.js models","postinstall":"node scripts/postinstall.js","setup-hooks":"node scripts/setup-hooks.js","models:check":"node bin/amicus.js models --check","test:e2e:mcp":"jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit","check:secrets":"node scripts/check-secrets.js --all","check:tarball":"node scripts/check-tarball-lifecycle.js","generate-docs":"node scripts/generate-docs.js","generate-icon":"node scripts/generate-icon.js","test:thinking":"node scripts/benchmark-thinking.js","validate-docs":"node scripts/validate-docs.js --full","refresh-models":"node bin/amicus.js models --refresh","test:integration":"jest --testPathIgnorePatterns='worktrees' --testMatch='**/tests/**/*.integration.test.js'","generate-docs:check":"node scripts/generate-docs.js --check","models:check:strict":"node bin/amicus.js models --check --strict","test:thinking:quick":"MODELS=gemini node scripts/benchmark-thinking.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c7f57b2b-9b02-469e-a4c4-c9b785a884a5"}},"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"_npmVersion":"12.0.1","description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix"]},"_nodeVersion":"22.23.1","dependencies":{"zod":"^3.0.0","dotenv":"^17.2.3","tiktoken":"^1.0.0","opencode-ai":"^1.2.20","@electron/get":"^5.0.0","update-notifier":"^7.3.1","@opencode-ai/sdk":"^1.1.36","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.19.0","ajv":"^8.20.0","jest":"^29.0.0","sharp":"^0.33.5","eslint":"^8.0.0","puppeteer":"^24.36.0","lint-staged":"^16.3.2","chrome-remote-interface":"^0.33.3"},"optionalDependencies":{"electron":"^43.1.1"},"_npmOperationalInternal":{"tmp":"tmp/amicus_4.1.0_1784664948522_0.9698505417688355","host":"s3://npm-registry-packages-npm-production"}},"4.1.1":{"name":"amicus","version":"4.1.1","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"author":{"name":"Christian Wagner"},"license":"MIT","_id":"amicus@4.1.1","maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"homepage":"https://bourbondog.github.io/amicus/","bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"bin":{"am":"bin/amicus.js","amicus":"bin/amicus.js"},"dist":{"shasum":"247ca909c86b92e972892d3ed9b5cddb1878d9b8","tarball":"https://registry.npmjs.org/amicus/-/amicus-4.1.1.tgz","fileCount":221,"integrity":"sha512-/bqo/cZFZOVBRDQiq8LcfNFsopzFY44a7iOZahASkLCj3VTpEFxNCcECvKaGXS6ku4IGr+glLRMC0e0sxSykrg==","signatures":[{"sig":"MEUCIQCIw3gBMl3ivdr+EIx1DdfoFJH5EjzYeb0qDLlQkTzghAIgQMSUv94LgQLkBsCVQDPh1D+rYw1JrQ5ueFQFCsF9U2g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/amicus@4.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2324796},"main":"src/index.js","engines":{"node":">=22.12.0"},"exports":{"./opencode-client":"./src/opencode-client.mjs"},"gitHead":"c5f934e8e9a5a59b766ed945c9dfbfaa8fca60f1","mcpName":"io.github.BourbonDog/amicus","scripts":{"lint":"eslint src/","test":"jest","start":"node --experimental-top-level-await --experimental-vm-modules bin/amicus.js","posttest":"node scripts/mark-test-passed.js","test:all":"jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='worktrees' && node scripts/mark-test-passed.js","check:sizes":"node scripts/check-file-sizes.js --all","models:info":"node bin/amicus.js models","postinstall":"node scripts/postinstall.js","setup-hooks":"node scripts/setup-hooks.js","models:check":"node bin/amicus.js models --check","test:e2e:mcp":"jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit","check:secrets":"node scripts/check-secrets.js --all","check:tarball":"node scripts/check-tarball-lifecycle.js","generate-docs":"node scripts/generate-docs.js","generate-icon":"node scripts/generate-icon.js","test:thinking":"node scripts/benchmark-thinking.js","validate-docs":"node scripts/validate-docs.js --full","refresh-models":"node bin/amicus.js models --refresh","test:integration":"node scripts/run-integration-keyless.js","generate-docs:check":"node scripts/generate-docs.js --check","models:check:strict":"node bin/amicus.js models --check --strict","test:thinking:quick":"MODELS=gemini node scripts/benchmark-thinking.js","test:integration:live":"jest --testPathIgnorePatterns='worktrees' --testMatch='**/tests/**/*.integration.test.js'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c7f57b2b-9b02-469e-a4c4-c9b785a884a5"}},"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"_npmVersion":"12.0.1","description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix"]},"_nodeVersion":"22.23.1","dependencies":{"zod":"^3.0.0","dotenv":"^17.2.3","tiktoken":"^1.0.0","opencode-ai":"^1.2.20","@electron/get":"^5.0.0","update-notifier":"^7.3.1","@opencode-ai/sdk":"^1.1.36","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.19.0","ajv":"^8.20.0","jest":"^29.0.0","sharp":"^0.33.5","eslint":"^8.0.0","puppeteer":"^24.36.0","lint-staged":"^16.3.2","chrome-remote-interface":"^0.33.3"},"optionalDependencies":{"electron":"^43.1.1"},"_npmOperationalInternal":{"tmp":"tmp/amicus_4.1.1_1784690854872_0.28964124357537124","host":"s3://npm-registry-packages-npm-production"}},"4.1.2":{"name":"amicus","version":"4.1.2","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"author":{"name":"Christian Wagner"},"license":"MIT","_id":"amicus@4.1.2","maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"homepage":"https://bourbondog.github.io/amicus/","bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"bin":{"am":"bin/amicus.js","amicus":"bin/amicus.js"},"dist":{"shasum":"0ff2513f9915b39031504ded2bfbdcd1f0feb90a","tarball":"https://registry.npmjs.org/amicus/-/amicus-4.1.2.tgz","fileCount":221,"integrity":"sha512-cEhrc31Tcx7lr1zcr5Auu7dgVhhVxJv6eRbIGmwaNfkg4Pf1FdqlIbL01y6UsOrDEUfmv73BqsiR6V5+Cfn74w==","signatures":[{"sig":"MEUCIDnWRpZ65hwiL4nQMFPl+f85VonaYLwe7JTGlXT3HgaoAiEAgnupfDJ9Rs8UTuDKHI/qcKb/ppG2j8kMM81uxEpLZ6g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/amicus@4.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2328108},"main":"src/index.js","engines":{"node":">=22.12.0"},"exports":{"./opencode-client":"./src/opencode-client.mjs"},"gitHead":"68ff92fb5add9b8f4e2f87a3195f9f894eeadb9f","mcpName":"io.github.BourbonDog/amicus","scripts":{"lint":"eslint src/","test":"jest","start":"node --experimental-top-level-await --experimental-vm-modules bin/amicus.js","posttest":"node scripts/mark-test-passed.js","test:all":"jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='worktrees' && node scripts/mark-test-passed.js","check:sizes":"node scripts/check-file-sizes.js --all","models:info":"node bin/amicus.js models","postinstall":"node scripts/postinstall.js","setup-hooks":"node scripts/setup-hooks.js","models:check":"node bin/amicus.js models --check","test:e2e:mcp":"jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit","check:secrets":"node scripts/check-secrets.js --all","check:tarball":"node scripts/check-tarball-lifecycle.js","generate-docs":"node scripts/generate-docs.js","generate-icon":"node scripts/generate-icon.js","test:thinking":"node scripts/benchmark-thinking.js","validate-docs":"node scripts/validate-docs.js --full","refresh-models":"node bin/amicus.js models --refresh","test:integration":"node scripts/run-integration-keyless.js","generate-docs:check":"node scripts/generate-docs.js --check","models:check:strict":"node bin/amicus.js models --check --strict","test:thinking:quick":"MODELS=gemini node scripts/benchmark-thinking.js","test:integration:live":"jest --testPathIgnorePatterns='worktrees' --testMatch='**/tests/**/*.integration.test.js'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c7f57b2b-9b02-469e-a4c4-c9b785a884a5"}},"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"_npmVersion":"12.0.1","description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix"]},"_nodeVersion":"22.23.1","dependencies":{"zod":"^3.0.0","dotenv":"^17.2.3","tiktoken":"^1.0.0","opencode-ai":"^1.2.20","@electron/get":"^5.0.0","update-notifier":"^7.3.1","@opencode-ai/sdk":"^1.1.36","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.19.0","ajv":"^8.20.0","jest":"^29.0.0","sharp":"^0.33.5","eslint":"^8.0.0","puppeteer":"^24.36.0","lint-staged":"^16.3.2","chrome-remote-interface":"^0.33.3"},"optionalDependencies":{"electron":"^43.1.1"},"_npmOperationalInternal":{"tmp":"tmp/amicus_4.1.2_1784729514636_0.8515394258982185","host":"s3://npm-registry-packages-npm-production"}},"4.2.0":{"name":"amicus","version":"4.2.0","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"author":{"name":"Christian Wagner"},"license":"MIT","_id":"amicus@4.2.0","maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"homepage":"https://bourbondog.github.io/amicus/","bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"bin":{"am":"bin/amicus.js","amicus":"bin/amicus.js"},"dist":{"shasum":"41b340657c5c24b452e54fedac422926c0842e40","tarball":"https://registry.npmjs.org/amicus/-/amicus-4.2.0.tgz","fileCount":235,"integrity":"sha512-JVFmaVZt47EF28JUV1s+lSxXiIQ8wj4hZnJqh0Zy30a90wMjdZ5D5gtMAdTLq+sXYsL736Uh28+vuj3GEsmRPw==","signatures":[{"sig":"MEUCIQC2Vo80WdCJatkgo9xfkbjJLly73VBCcReK+MwQxygk+wIgPNfYhRoNXLU7eHxrVY5jJP3Rx1D/bReI7MI1V/eIcsY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/amicus@4.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2419979},"main":"src/index.js","engines":{"node":">=22.12.0"},"exports":{"./opencode-client":"./src/opencode-client.mjs"},"gitHead":"4501d7705d2ee7442abc2c23fb1b20c725c8cdb2","mcpName":"io.github.BourbonDog/amicus","scripts":{"lint":"eslint src/","test":"jest","start":"node --experimental-top-level-await --experimental-vm-modules bin/amicus.js","posttest":"node scripts/mark-test-passed.js","test:all":"jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='worktrees' && node scripts/mark-test-passed.js","check:sizes":"node scripts/check-file-sizes.js --all","models:info":"node bin/amicus.js models","postinstall":"node scripts/postinstall.js","setup-hooks":"node scripts/setup-hooks.js","models:check":"node bin/amicus.js models --check","test:e2e:mcp":"jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit","check:secrets":"node scripts/check-secrets.js --all","check:tarball":"node scripts/check-tarball-lifecycle.js","generate-docs":"node scripts/generate-docs.js","generate-icon":"node scripts/generate-icon.js","test:thinking":"node scripts/benchmark-thinking.js","validate-docs":"node scripts/validate-docs.js --full","refresh-models":"node bin/amicus.js models --refresh","test:integration":"node scripts/run-integration-keyless.js","generate-docs:check":"node scripts/generate-docs.js --check","models:check:strict":"node bin/amicus.js models --check --strict","test:thinking:quick":"MODELS=gemini node scripts/benchmark-thinking.js","test:integration:live":"jest --testPathIgnorePatterns='worktrees' --testMatch='**/tests/**/*.integration.test.js'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c7f57b2b-9b02-469e-a4c4-c9b785a884a5"}},"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"_npmVersion":"12.0.1","description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix"]},"_nodeVersion":"22.23.1","dependencies":{"zod":"^3.0.0","dotenv":"^17.2.3","tiktoken":"^1.0.0","opencode-ai":"^1.2.20","@electron/get":"^5.0.0","update-notifier":"^7.3.1","@opencode-ai/sdk":"^1.1.36","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.19.0","ajv":"^8.20.0","jest":"^29.0.0","sharp":"^0.33.5","eslint":"^8.0.0","puppeteer":"^24.36.0","lint-staged":"^16.3.2","chrome-remote-interface":"^0.33.3"},"optionalDependencies":{"electron":"^43.1.1"},"_npmOperationalInternal":{"tmp":"tmp/amicus_4.2.0_1784860926476_0.7007761086823303","host":"s3://npm-registry-packages-npm-production"}},"4.2.1":{"name":"amicus","version":"4.2.1","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"author":{"name":"Christian Wagner"},"license":"MIT","_id":"amicus@4.2.1","maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"homepage":"https://bourbondog.github.io/amicus/","bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"bin":{"am":"bin/amicus.js","amicus":"bin/amicus.js"},"dist":{"shasum":"5cd826d4a4331d1c3466bc10d76050d9078bf62c","tarball":"https://registry.npmjs.org/amicus/-/amicus-4.2.1.tgz","fileCount":235,"integrity":"sha512-pXVnYu4yYHlkslYI1qYX2RkILeewQfSaSO6lMerz3kZy/THxiIgLeWYLpDbghvbvG5ot3kLgXLdpfLRFqPV/0Q==","signatures":[{"sig":"MEUCIQDUs3GpWqBM4GBcZw/EKf5QpQwDZ5DV4jd9wmwkAzFIGQIgIqfDe6z08a8gXx3mrxSFy1gOEYKdDZfbQBpvOV+avvg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/amicus@4.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2422183},"main":"src/index.js","engines":{"node":">=22.12.0"},"exports":{"./opencode-client":"./src/opencode-client.mjs"},"gitHead":"7b8609e0f93808290c02a161dd50873320c30cae","mcpName":"io.github.BourbonDog/amicus","scripts":{"lint":"eslint src/","test":"jest","start":"node --experimental-top-level-await --experimental-vm-modules bin/amicus.js","posttest":"node scripts/mark-test-passed.js","test:all":"jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='worktrees' && node scripts/mark-test-passed.js","check:sizes":"node scripts/check-file-sizes.js --all","models:info":"node bin/amicus.js models","postinstall":"node scripts/postinstall.js","setup-hooks":"node scripts/setup-hooks.js","models:check":"node bin/amicus.js models --check","test:e2e:mcp":"jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit","check:secrets":"node scripts/check-secrets.js --all","check:tarball":"node scripts/check-tarball-lifecycle.js","generate-docs":"node scripts/generate-docs.js","generate-icon":"node scripts/generate-icon.js","test:thinking":"node scripts/benchmark-thinking.js","validate-docs":"node scripts/validate-docs.js --full","refresh-models":"node bin/amicus.js models --refresh","test:integration":"node scripts/run-integration-keyless.js","generate-docs:check":"node scripts/generate-docs.js --check","models:check:strict":"node bin/amicus.js models --check --strict","test:thinking:quick":"MODELS=gemini node scripts/benchmark-thinking.js","test:integration:live":"jest --testPathIgnorePatterns='worktrees' --testMatch='**/tests/**/*.integration.test.js'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c7f57b2b-9b02-469e-a4c4-c9b785a884a5"}},"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"_npmVersion":"12.0.1","description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix"]},"_nodeVersion":"22.23.1","dependencies":{"zod":"^3.0.0","dotenv":"^17.2.3","tiktoken":"^1.0.0","opencode-ai":"^1.2.20","@electron/get":"^5.0.0","update-notifier":"^7.3.1","@opencode-ai/sdk":"^1.1.36","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.19.0","ajv":"^8.20.0","jest":"^29.0.0","sharp":"^0.33.5","eslint":"^8.0.0","puppeteer":"^24.36.0","lint-staged":"^16.3.2","chrome-remote-interface":"^0.33.3"},"optionalDependencies":{"electron":"^43.1.1"},"_npmOperationalInternal":{"tmp":"tmp/amicus_4.2.1_1784892805501_0.3648929619250316","host":"s3://npm-registry-packages-npm-production"}},"4.3.0":{"name":"amicus","version":"4.3.0","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"author":{"name":"Christian Wagner"},"license":"MIT","_id":"amicus@4.3.0","maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"homepage":"https://bourbondog.github.io/amicus/","bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"bin":{"am":"bin/amicus.js","amicus":"bin/amicus.js"},"dist":{"shasum":"a39e311aa126c2eab94c40342e2a97114963de1b","tarball":"https://registry.npmjs.org/amicus/-/amicus-4.3.0.tgz","fileCount":253,"integrity":"sha512-izNFN+ZDpD/zQ7NvAvzSFGIMrDDh4Kw5r1BMpPe2BKgjW4upngXsu/uB0cT9Gx3dEarsHiGnD4DiL7HTAYiziA==","signatures":[{"sig":"MEUCIEg52v2JoqZ4kcUa84yhoYNUpnwaT3BJeBWSxzUq5L3AAiEA3v/owi2CNBhE0DAPjvzO7i9L8fhzGcpoiRBZ77eqkaU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/amicus@4.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2532560},"main":"src/index.js","engines":{"node":">=22.12.0"},"exports":{"./opencode-client":"./src/opencode-client.mjs"},"gitHead":"d5b4e0b7301e796e1e9549d75b67e0267757dcd6","mcpName":"io.github.BourbonDog/amicus","scripts":{"lint":"eslint src/","test":"jest","start":"node --experimental-top-level-await --experimental-vm-modules bin/amicus.js","posttest":"node scripts/mark-test-passed.js","test:all":"jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='worktrees' && node scripts/mark-test-passed.js","check:sizes":"node scripts/check-file-sizes.js --all","models:info":"node bin/amicus.js models","postinstall":"node scripts/postinstall.js","setup-hooks":"node scripts/setup-hooks.js","models:check":"node bin/amicus.js models --check","test:e2e:mcp":"jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit","check:secrets":"node scripts/check-secrets.js --all","check:tarball":"node scripts/check-tarball-lifecycle.js","generate-docs":"node scripts/generate-docs.js","generate-icon":"node scripts/generate-icon.js","test:thinking":"node scripts/benchmark-thinking.js","validate-docs":"node scripts/validate-docs.js --full","refresh-models":"node bin/amicus.js models --refresh","test:integration":"node scripts/run-integration-keyless.js","generate-docs:check":"node scripts/generate-docs.js --check","models:check:strict":"node bin/amicus.js models --check --strict","test:thinking:quick":"MODELS=gemini node scripts/benchmark-thinking.js","test:integration:live":"jest --testPathIgnorePatterns='worktrees' --testMatch='**/tests/**/*.integration.test.js'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c7f57b2b-9b02-469e-a4c4-c9b785a884a5"}},"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"_npmVersion":"12.0.1","description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix"]},"_nodeVersion":"22.23.1","dependencies":{"zod":"^3.0.0","dotenv":"^17.2.3","tiktoken":"^1.0.0","opencode-ai":"^1.2.20","@electron/get":"^5.0.0","update-notifier":"^7.3.1","@opencode-ai/sdk":"^1.1.36","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.19.0","ajv":"^8.20.0","jest":"^29.0.0","sharp":"^0.33.5","eslint":"^8.0.0","puppeteer":"^24.36.0","lint-staged":"^16.3.2","chrome-remote-interface":"^0.33.3"},"optionalDependencies":{"electron":"^43.1.1"},"_npmOperationalInternal":{"tmp":"tmp/amicus_4.3.0_1784954059371_0.027845110820332586","host":"s3://npm-registry-packages-npm-production"}},"4.4.0":{"name":"amicus","version":"4.4.0","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"author":{"name":"Christian Wagner"},"license":"MIT","_id":"amicus@4.4.0","maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"homepage":"https://bourbondog.github.io/amicus/","bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"bin":{"am":"bin/amicus.js","amicus":"bin/amicus.js"},"dist":{"shasum":"84d20641a0c52d0faaa5aaa889090c3db124298b","tarball":"https://registry.npmjs.org/amicus/-/amicus-4.4.0.tgz","fileCount":280,"integrity":"sha512-b8dety4hfpy34iNk5e3u5g9pPbpM3OYjgOAIuHDRnL5KfqfDeWHj1NtYiIhSLnq8qMS/2C58AplzfDH1zN/w0A==","signatures":[{"sig":"MEQCIDTNVupZLalF6nK2mXp/o/8o/ZpmpAN7D505BcO1fFlhAiB4hClyaDpN2qw+3OcRD/Pdd6tIj6X2uMGp3ggD7lsZJg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/amicus@4.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2805066},"main":"src/index.js","engines":{"node":">=22.12.0"},"exports":{"./opencode-client":"./src/opencode-client.mjs"},"gitHead":"ce8216a0817ae12c83c2bf3d5083952ed22928d2","mcpName":"io.github.BourbonDog/amicus","scripts":{"lint":"eslint src/","test":"jest","start":"node --experimental-top-level-await --experimental-vm-modules bin/amicus.js","posttest":"node scripts/mark-test-passed.js","test:all":"jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='worktrees' && node scripts/mark-test-passed.js","check:sizes":"node scripts/check-file-sizes.js --all","models:info":"node bin/amicus.js models","postinstall":"node scripts/postinstall.js","setup-hooks":"node scripts/setup-hooks.js","models:check":"node bin/amicus.js models --check","test:e2e:mcp":"jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit","check:secrets":"node scripts/check-secrets.js --all","check:tarball":"node scripts/check-tarball-lifecycle.js","generate-docs":"node scripts/generate-docs.js","generate-icon":"node scripts/generate-icon.js","test:thinking":"node scripts/benchmark-thinking.js","validate-docs":"node scripts/validate-docs.js --full","refresh-models":"node bin/amicus.js models --refresh","test:integration":"node scripts/run-integration-keyless.js","generate-docs:check":"node scripts/generate-docs.js --check","models:check:strict":"node bin/amicus.js models --check --strict","test:thinking:quick":"MODELS=gemini node scripts/benchmark-thinking.js","test:integration:live":"jest --testPathIgnorePatterns='worktrees' --testMatch='**/tests/**/*.integration.test.js'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c7f57b2b-9b02-469e-a4c4-c9b785a884a5"}},"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"_npmVersion":"12.0.1","description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix"]},"_nodeVersion":"22.23.1","dependencies":{"zod":"^3.0.0","dotenv":"^17.2.3","tiktoken":"^1.0.0","opencode-ai":"^1.2.20","@electron/get":"^5.0.0","update-notifier":"^7.3.1","@opencode-ai/sdk":"^1.1.36","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.19.0","ajv":"^8.20.0","jest":"^29.0.0","sharp":"^0.33.5","eslint":"^8.0.0","puppeteer":"^24.36.0","lint-staged":"^16.3.2","chrome-remote-interface":"^0.33.3"},"optionalDependencies":{"electron":"^43.1.1"},"_npmOperationalInternal":{"tmp":"tmp/amicus_4.4.0_1785095408052_0.9417511867136796","host":"s3://npm-registry-packages-npm-production"}},"4.4.1":{"name":"amicus","version":"4.4.1","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"author":{"name":"Christian Wagner"},"license":"MIT","_id":"amicus@4.4.1","maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"homepage":"https://bourbondog.github.io/amicus/","bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"bin":{"am":"bin/amicus.js","amicus":"bin/amicus.js"},"dist":{"shasum":"c1b51c0f5118be1124fea85c0987cc6b7fa418ef","tarball":"https://registry.npmjs.org/amicus/-/amicus-4.4.1.tgz","fileCount":300,"integrity":"sha512-RovLcl7hBi3PfnG/Jo53mB4m24jSoTK49Q80r2Fg2WhOr7HzptafRDYbsxm0lbuhqsMkN7OIU/2XHjcgO8hfaw==","signatures":[{"sig":"MEUCIQDEtPsnOe2MVysar8HflIqVZETLOcaNHyOQdbbeU9MgkwIgZw55nd3ZeqXODVXJ0UPi4ev3WqyWMWda4SMhtvKe5QU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/amicus@4.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3212732},"main":"src/index.js","engines":{"node":">=22.12.0"},"exports":{"./opencode-client":"./src/opencode-client.mjs"},"gitHead":"66ff750c0b375f0c64c87a7b66d67da389f6cff9","mcpName":"io.github.BourbonDog/amicus","scripts":{"lint":"eslint src/ electron/","test":"jest","start":"node --experimental-top-level-await --experimental-vm-modules bin/amicus.js","posttest":"node scripts/mark-test-passed.js","test:all":"jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='worktrees' && node scripts/mark-test-passed.js","check:sizes":"node scripts/check-file-sizes.js --all","models:info":"node bin/amicus.js models","postinstall":"node scripts/postinstall.js","setup-hooks":"node scripts/setup-hooks.js","models:check":"node bin/amicus.js models --check","test:e2e:mcp":"jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit","check:secrets":"node scripts/check-secrets.js --all","check:tarball":"node scripts/check-tarball-lifecycle.js","generate-docs":"node scripts/generate-docs.js","generate-icon":"node scripts/generate-icon.js","test:thinking":"node scripts/benchmark-thinking.js","validate-docs":"node scripts/validate-docs.js --full","refresh-models":"node bin/amicus.js models --refresh","test:integration":"node scripts/run-integration-keyless.js","generate-docs:check":"node scripts/generate-docs.js --check","models:check:strict":"node bin/amicus.js models --check --strict","test:thinking:quick":"MODELS=gemini node scripts/benchmark-thinking.js","test:integration:live":"jest --runInBand --testPathIgnorePatterns='worktrees' --testMatch='**/tests/**/*.integration.test.js'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c7f57b2b-9b02-469e-a4c4-c9b785a884a5"}},"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"_npmVersion":"12.0.1","description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix"],"electron/**/*.js":["eslint --fix"]},"_nodeVersion":"22.23.1","dependencies":{"zod":"^3.0.0","dotenv":"^17.2.3","tiktoken":"^1.0.0","opencode-ai":"^1.2.20","@electron/get":"^5.0.0","update-notifier":"^7.3.1","@opencode-ai/sdk":"^1.1.36","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.19.0","ajv":"^8.20.0","jest":"^29.0.0","sharp":"^0.33.5","eslint":"^8.0.0","espree":"^9.6.1","puppeteer":"^24.36.0","lint-staged":"^16.3.2","chrome-remote-interface":"^0.33.3"},"optionalDependencies":{"electron":"^43.1.1"},"_npmOperationalInternal":{"tmp":"tmp/amicus_4.4.1_1785196741789_0.0869864180421025","host":"s3://npm-registry-packages-npm-production"}},"4.5.0":{"name":"amicus","version":"4.5.0","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"author":{"name":"Christian Wagner"},"license":"MIT","_id":"amicus@4.5.0","maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"homepage":"https://bourbondog.github.io/amicus/","bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"bin":{"am":"bin/amicus.js","amicus":"bin/amicus.js"},"dist":{"shasum":"fe69e6580c79198b1701f0770f0e8d05ca0d26ef","tarball":"https://registry.npmjs.org/amicus/-/amicus-4.5.0.tgz","fileCount":312,"integrity":"sha512-SJlKy6g6Mhalm/5z1rBT3BX3DpgElokd5fOvVTPUmXarkxMWbRaTAPtEhyriHLIiyNaZF7ItFZN11V7AMSs9TQ==","signatures":[{"sig":"MEUCIQCi5JOa8SIFt3fWapYPX5oI1oOzmr3VLPUgPTYomJRsiQIgKRviI2d4KdOwRB0ROZZL/R9MuwBwX9sd/kbJb8ig3BY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/amicus@4.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3355412},"main":"src/index.js","engines":{"node":">=22.12.0"},"exports":{"./opencode-client":"./src/opencode-client.mjs"},"gitHead":"3a33c548f8a708f19a82ce5254a758ea87cf54a9","mcpName":"io.github.BourbonDog/amicus","scripts":{"lint":"eslint src/ electron/","test":"jest","start":"node --experimental-top-level-await --experimental-vm-modules bin/amicus.js","posttest":"node scripts/mark-test-passed.js","test:all":"jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='worktrees' && node scripts/mark-test-passed.js","check:sizes":"node scripts/check-file-sizes.js --all","models:info":"node bin/amicus.js models","postinstall":"node scripts/postinstall.js","setup-hooks":"node scripts/setup-hooks.js","models:check":"node bin/amicus.js models --check","test:e2e:mcp":"jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit","check:secrets":"node scripts/check-secrets.js --all","check:tarball":"node scripts/check-tarball-lifecycle.js","generate-docs":"node scripts/generate-docs.js","generate-icon":"node scripts/generate-icon.js","test:thinking":"node scripts/benchmark-thinking.js","validate-docs":"node scripts/validate-docs.js --full","refresh-models":"node bin/amicus.js models --refresh","test:integration":"node scripts/run-integration-keyless.js","generate-docs:check":"node scripts/generate-docs.js --check","models:check:strict":"node bin/amicus.js models --check --strict","test:thinking:quick":"MODELS=gemini node scripts/benchmark-thinking.js","test:integration:live":"jest --runInBand --testPathIgnorePatterns='worktrees' --testMatch='**/tests/**/*.integration.test.js'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c7f57b2b-9b02-469e-a4c4-c9b785a884a5"}},"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"_npmVersion":"12.0.1","description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix"],"electron/**/*.js":["eslint --fix"]},"_nodeVersion":"22.23.1","dependencies":{"zod":"^3.0.0","dotenv":"^17.2.3","tiktoken":"^1.0.0","opencode-ai":"^1.2.20","@electron/get":"^5.0.0","update-notifier":"^7.3.1","@opencode-ai/sdk":"^1.1.36","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.19.0","ajv":"^8.20.0","jest":"^29.0.0","sharp":"^0.33.5","eslint":"^8.0.0","espree":"^9.6.1","puppeteer":"^24.36.0","lint-staged":"^16.3.2","chrome-remote-interface":"^0.33.3"},"optionalDependencies":{"electron":"^43.1.1"},"_npmOperationalInternal":{"tmp":"tmp/amicus_4.5.0_1785287484907_0.07896750859335877","host":"s3://npm-registry-packages-npm-production"}},"4.5.1":{"name":"amicus","version":"4.5.1","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"author":{"name":"Christian Wagner"},"license":"MIT","_id":"amicus@4.5.1","maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"homepage":"https://bourbondog.github.io/amicus/","bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"bin":{"am":"bin/amicus.js","amicus":"bin/amicus.js"},"dist":{"shasum":"ca8812fe1f3f2fa682f19fc94de67383ea59ae12","tarball":"https://registry.npmjs.org/amicus/-/amicus-4.5.1.tgz","fileCount":314,"integrity":"sha512-HFAXWApk8Pw3emUFJ1/rbdShMraYTtZRb4MAl0sTnAI871g0PITdsQNxfuYuC8quPnwZNqJjQT7d/yn43lgDsg==","signatures":[{"sig":"MEQCIB/lIPNx+RMsKkhhM3I5cJdqydgzbzCkqvcL+lM6H769AiA8duEkzizrfVZDotaAvGMesW/OQyVIAA8a6qrrzjt6mw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/amicus@4.5.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3367974},"main":"src/index.js","engines":{"node":">=22.12.0"},"exports":{"./opencode-client":"./src/opencode-client.mjs"},"gitHead":"2e5ea2abce9fcd8c78772c7172e49cf444ae0d72","mcpName":"io.github.BourbonDog/amicus","scripts":{"lint":"eslint src/ electron/","test":"jest","start":"node --experimental-top-level-await --experimental-vm-modules bin/amicus.js","posttest":"node scripts/mark-test-passed.js","test:all":"jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='worktrees' && node scripts/mark-test-passed.js","check:sizes":"node scripts/check-file-sizes.js --all","models:info":"node bin/amicus.js models","postinstall":"node scripts/postinstall.js","setup-hooks":"node scripts/setup-hooks.js","models:check":"node bin/amicus.js models --check","test:e2e:mcp":"jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit","check:secrets":"node scripts/check-secrets.js --all","check:tarball":"node scripts/check-tarball-lifecycle.js","generate-docs":"node scripts/generate-docs.js","generate-icon":"node scripts/generate-icon.js","test:thinking":"node scripts/benchmark-thinking.js","validate-docs":"node scripts/validate-docs.js --full","refresh-models":"node bin/amicus.js models --refresh","test:integration":"node scripts/run-integration-keyless.js","generate-docs:check":"node scripts/generate-docs.js --check","models:check:strict":"node bin/amicus.js models --check --strict","test:thinking:quick":"MODELS=gemini node scripts/benchmark-thinking.js","test:integration:live":"jest --runInBand --testPathIgnorePatterns='worktrees' --testMatch='**/tests/**/*.integration.test.js'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c7f57b2b-9b02-469e-a4c4-c9b785a884a5"}},"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"_npmVersion":"12.0.2","description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix"],"electron/**/*.js":["eslint --fix"]},"_nodeVersion":"22.23.1","dependencies":{"zod":"^3.0.0","dotenv":"^17.2.3","tiktoken":"^1.0.0","opencode-ai":"^1.2.20","@electron/get":"^5.0.0","update-notifier":"^7.3.1","@opencode-ai/sdk":"^1.1.36","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.19.0","ajv":"^8.20.0","jest":"^29.0.0","sharp":"^0.33.5","eslint":"^8.0.0","espree":"^9.6.1","puppeteer":"^24.36.0","lint-staged":"^16.3.2","chrome-remote-interface":"^0.33.3"},"optionalDependencies":{"electron":"^43.1.1"},"_npmOperationalInternal":{"tmp":"tmp/amicus_4.5.1_1785436458989_0.5316974256206353","host":"s3://npm-registry-packages-npm-production"}},"4.5.2":{"name":"amicus","version":"4.5.2","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"author":{"name":"Christian Wagner"},"license":"MIT","_id":"amicus@4.5.2","maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"homepage":"https://bourbondog.github.io/amicus/","bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"bin":{"am":"bin/amicus.js","amicus":"bin/amicus.js"},"dist":{"shasum":"a622f45ab32b52bbefae47827b1bdb6b4c3baac7","tarball":"https://registry.npmjs.org/amicus/-/amicus-4.5.2.tgz","fileCount":314,"integrity":"sha512-dv/5jYrYIPBIPAxEz8iEvrGNI17TM2nIEBd5oFzv6Cy6Vcw3xYXiHog+9P7KhC+uagRE7hLGoJH+jycScQ9AoQ==","signatures":[{"sig":"MEUCIQCFlblqBcFSd9g8ZPvqnB/fsJ0NFIpAD0LewsNcZQ4ymAIgM9d0UOdAw7/TYuHnhN1FrLjtOyYVa0Fr634WnPJi90M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/amicus@4.5.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3385936},"main":"src/index.js","engines":{"node":">=22.12.0"},"exports":{"./opencode-client":"./src/opencode-client.mjs"},"gitHead":"5bca1b3dcacff84825b350400b7452b9ecd510a7","mcpName":"io.github.BourbonDog/amicus","scripts":{"lint":"eslint src/ electron/","test":"jest","start":"node --experimental-top-level-await --experimental-vm-modules bin/amicus.js","posttest":"node scripts/mark-test-passed.js","test:all":"jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='worktrees' && node scripts/mark-test-passed.js","check:sizes":"node scripts/check-file-sizes.js --all","models:info":"node bin/amicus.js models","postinstall":"node scripts/postinstall.js","setup-hooks":"node scripts/setup-hooks.js","models:check":"node bin/amicus.js models --check","test:e2e:mcp":"jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit","check:secrets":"node scripts/check-secrets.js --all","check:tarball":"node scripts/check-tarball-lifecycle.js","generate-docs":"node scripts/generate-docs.js","generate-icon":"node scripts/generate-icon.js","test:thinking":"node scripts/benchmark-thinking.js","validate-docs":"node scripts/validate-docs.js --full","refresh-models":"node bin/amicus.js models --refresh","test:integration":"node scripts/run-integration-keyless.js","generate-docs:check":"node scripts/generate-docs.js --check","models:check:strict":"node bin/amicus.js models --check --strict","test:thinking:quick":"MODELS=gemini node scripts/benchmark-thinking.js","test:integration:live":"jest --runInBand --testPathIgnorePatterns='worktrees' --testMatch='**/tests/**/*.integration.test.js'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c7f57b2b-9b02-469e-a4c4-c9b785a884a5"}},"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"_npmVersion":"12.0.2","description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix"],"electron/**/*.js":["eslint --fix"]},"_nodeVersion":"22.23.1","dependencies":{"zod":"^3.0.0","dotenv":"^17.2.3","tiktoken":"^1.0.0","extract-zip":"^2.0.1","opencode-ai":"^1.2.20","@electron/get":"^5.0.0","update-notifier":"^7.3.1","@opencode-ai/sdk":"^1.1.36","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.19.0","ajv":"^8.20.0","jest":"^29.0.0","sharp":"^0.35.3","eslint":"^8.0.0","espree":"^9.6.1","puppeteer":"^24.36.0","lint-staged":"^16.3.2","chrome-remote-interface":"^0.33.3"},"optionalDependencies":{"electron":"^43.1.1"},"_npmOperationalInternal":{"tmp":"tmp/amicus_4.5.2_1785548268503_0.9700333256702942","host":"s3://npm-registry-packages-npm-production"}},"4.5.3":{"name":"amicus","version":"4.5.3","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"author":{"name":"Christian Wagner"},"license":"MIT","_id":"amicus@4.5.3","maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"homepage":"https://bourbondog.github.io/amicus/","bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"bin":{"am":"bin/amicus.js","amicus":"bin/amicus.js"},"dist":{"shasum":"45bc70719dc3e19ab5d28baff6510ca1e865ace9","tarball":"https://registry.npmjs.org/amicus/-/amicus-4.5.3.tgz","fileCount":315,"integrity":"sha512-JLUmGEWZRmfvP/Lvijzab8E34lFBgbyf+go19Ze6ADP5BFgzfTyzmmRbDIB62CNNmQBcuQEbg4Pems9iHIBlSw==","signatures":[{"sig":"MEQCIC1eOIG+6NR3YfLaNFqPxfTuxiTDJt70Rbq1OW4qs3mTAiAmRrQfDZkDTvMSKprfFn0LL6IJ6RwL3vpXlkl2u4+QgA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/amicus@4.5.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3394722},"main":"src/index.js","engines":{"node":">=22.12.0"},"exports":{"./opencode-client":"./src/opencode-client.mjs"},"gitHead":"4bf05ccfee7fcae4ecd7a45090476861fb7271c4","mcpName":"io.github.BourbonDog/amicus","scripts":{"lint":"eslint src/ electron/","test":"jest","start":"node --experimental-top-level-await --experimental-vm-modules bin/amicus.js","posttest":"node scripts/mark-test-passed.js","test:all":"jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='worktrees' && node scripts/mark-test-passed.js","check:sizes":"node scripts/check-file-sizes.js --all","models:info":"node bin/amicus.js models","postinstall":"node scripts/postinstall.js","setup-hooks":"node scripts/setup-hooks.js","models:check":"node bin/amicus.js models --check","test:e2e:mcp":"jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit","check:secrets":"node scripts/check-secrets.js --all","check:tarball":"node scripts/check-tarball-lifecycle.js","generate-docs":"node scripts/generate-docs.js","generate-icon":"node scripts/generate-icon.js","test:thinking":"node scripts/benchmark-thinking.js","validate-docs":"node scripts/validate-docs.js --full","refresh-models":"node bin/amicus.js models --refresh","test:integration":"node scripts/run-integration-keyless.js","generate-docs:check":"node scripts/generate-docs.js --check","models:check:strict":"node bin/amicus.js models --check --strict","test:thinking:quick":"MODELS=gemini node scripts/benchmark-thinking.js","test:integration:live":"jest --runInBand --testPathIgnorePatterns='worktrees' --testMatch='**/tests/**/*.integration.test.js'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c7f57b2b-9b02-469e-a4c4-c9b785a884a5"}},"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"_npmVersion":"12.0.2","description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix"],"electron/**/*.js":["eslint --fix"]},"_nodeVersion":"22.23.1","dependencies":{"zod":"^3.0.0","dotenv":"^17.2.3","tiktoken":"^1.0.0","extract-zip":"^2.0.1","opencode-ai":"^1.2.20","@electron/get":"^5.0.0","update-notifier":"^7.3.1","@opencode-ai/sdk":"^1.1.36","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.19.0","ajv":"^8.20.0","jest":"^29.0.0","sharp":"^0.35.3","eslint":"^8.0.0","espree":"^9.6.1","puppeteer":"^24.36.0","lint-staged":"^16.3.2","chrome-remote-interface":"^0.33.3"},"optionalDependencies":{"electron":"^43.1.1"},"_npmOperationalInternal":{"tmp":"tmp/amicus_4.5.3_1785550651969_0.6625817382713475","host":"s3://npm-registry-packages-npm-production"}},"4.5.4":{"name":"amicus","version":"4.5.4","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"author":{"name":"Christian Wagner"},"license":"MIT","_id":"amicus@4.5.4","maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"homepage":"https://bourbondog.github.io/amicus/","bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"bin":{"am":"bin/amicus.js","amicus":"bin/amicus.js"},"dist":{"shasum":"d448e6245ecb84e031db1215bb98c96aa28137dd","tarball":"https://registry.npmjs.org/amicus/-/amicus-4.5.4.tgz","fileCount":315,"integrity":"sha512-tV6whmmBbzwzeqQf9qGm3598z8UltUtNF6d80TwHUq99rBviithYi/1iBUKJVNkzB77jBuKuBo9d9M1bgoAJNQ==","signatures":[{"sig":"MEQCIBZUjYLL2VwcC7ukHCdoGp/fUtYIe5TV7Ou8eQ0Bbi8jAiB6UwyBZ9ikih8eWkxEmbcfd/97IBxkQfaHCCCL8Tfc3g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/amicus@4.5.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3398820},"main":"src/index.js","engines":{"node":">=22.12.0"},"exports":{"./opencode-client":"./src/opencode-client.mjs"},"gitHead":"af3e8f1eefddb0f6c4def688bac9688e26f048eb","mcpName":"io.github.BourbonDog/amicus","scripts":{"lint":"eslint src/ electron/","test":"jest","start":"node --experimental-top-level-await --experimental-vm-modules bin/amicus.js","posttest":"node scripts/mark-test-passed.js","test:all":"jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='worktrees' && node scripts/mark-test-passed.js","check:sizes":"node scripts/check-file-sizes.js --all","models:info":"node bin/amicus.js models","postinstall":"node scripts/postinstall.js","setup-hooks":"node scripts/setup-hooks.js","models:check":"node bin/amicus.js models --check","test:e2e:mcp":"jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit","check:secrets":"node scripts/check-secrets.js --all","check:tarball":"node scripts/check-tarball-lifecycle.js","generate-docs":"node scripts/generate-docs.js","generate-icon":"node scripts/generate-icon.js","test:thinking":"node scripts/benchmark-thinking.js","validate-docs":"node scripts/validate-docs.js --full","refresh-models":"node bin/amicus.js models --refresh","test:integration":"node scripts/run-integration-keyless.js","generate-docs:check":"node scripts/generate-docs.js --check","models:check:strict":"node bin/amicus.js models --check --strict","test:thinking:quick":"MODELS=gemini node scripts/benchmark-thinking.js","test:integration:live":"jest --runInBand --testPathIgnorePatterns='worktrees' --testMatch='**/tests/**/*.integration.test.js'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c7f57b2b-9b02-469e-a4c4-c9b785a884a5"}},"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"_npmVersion":"12.0.2","description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix"],"electron/**/*.js":["eslint --fix"]},"_nodeVersion":"22.23.1","dependencies":{"zod":"^3.0.0","dotenv":"^17.2.3","tiktoken":"^1.0.0","extract-zip":"^2.0.1","opencode-ai":"^1.2.20","@electron/get":"^5.0.0","update-notifier":"^7.3.1","@opencode-ai/sdk":"^1.1.36","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.19.0","ajv":"^8.20.0","jest":"^29.0.0","sharp":"^0.35.3","eslint":"^8.0.0","espree":"^9.6.1","puppeteer":"^24.36.0","lint-staged":"^16.3.2","chrome-remote-interface":"^0.33.3"},"optionalDependencies":{"electron":"^43.1.1"},"_npmOperationalInternal":{"tmp":"tmp/amicus_4.5.4_1785554431084_0.09341123666244622","host":"s3://npm-registry-packages-npm-production"}},"4.6.0":{"name":"amicus","version":"4.6.0","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"author":{"name":"Christian Wagner"},"license":"MIT","_id":"amicus@4.6.0","maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"homepage":"https://bourbondog.github.io/amicus/","bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"bin":{"am":"bin/amicus.js","amicus":"bin/amicus.js"},"dist":{"shasum":"02fb51adbdfa17e2e0c9e6be462ac72d02f070b2","tarball":"https://registry.npmjs.org/amicus/-/amicus-4.6.0.tgz","fileCount":321,"integrity":"sha512-khkneLCLB2vkpvU7ds6WpRT+MMhHBVg0N7/hMyxLhGDrCHDDq2xndSHZpPUH3FC4elwQZhsp0ivD/DHBARV4FQ==","signatures":[{"sig":"MEUCIQDElGcUjZKMbQnHQMEO4gwYhDU4nZQ0LW4ITjbewZjtFAIgQSr7OlWxSX+1VK7e027xv7WWuedQw3Rq4ZNtP9MRaT8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/amicus@4.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3438747},"main":"src/index.js","engines":{"node":">=22.12.0"},"exports":{"./opencode-client":"./src/opencode-client.mjs"},"gitHead":"5f07f0eff3df03e4deb714386185963d99486a3b","mcpName":"io.github.BourbonDog/amicus","scripts":{"lint":"eslint src/ electron/","test":"jest","start":"node --experimental-top-level-await --experimental-vm-modules bin/amicus.js","posttest":"node scripts/mark-test-passed.js","test:all":"jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='worktrees' && node scripts/mark-test-passed.js","check:sizes":"node scripts/check-file-sizes.js --all","models:info":"node bin/amicus.js models","postinstall":"node scripts/postinstall.js","setup-hooks":"node scripts/setup-hooks.js","models:check":"node bin/amicus.js models --check","test:e2e:mcp":"jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit","check:secrets":"node scripts/check-secrets.js --all","check:tarball":"node scripts/check-tarball-lifecycle.js","generate-docs":"node scripts/generate-docs.js","generate-icon":"node scripts/generate-icon.js","test:thinking":"node scripts/benchmark-thinking.js","validate-docs":"node scripts/validate-docs.js --full","refresh-models":"node bin/amicus.js models --refresh","test:integration":"node scripts/run-integration-keyless.js","generate-docs:check":"node scripts/generate-docs.js --check","models:check:strict":"node bin/amicus.js models --check --strict","test:thinking:quick":"MODELS=gemini node scripts/benchmark-thinking.js","test:integration:live":"jest --runInBand --testPathIgnorePatterns='worktrees' --testMatch='**/tests/**/*.integration.test.js'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c7f57b2b-9b02-469e-a4c4-c9b785a884a5"}},"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"_npmVersion":"12.0.2","description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix"],"electron/**/*.js":["eslint --fix"]},"_nodeVersion":"22.23.1","dependencies":{"zod":"^3.0.0","dotenv":"^17.2.3","tiktoken":"^1.0.0","extract-zip":"^2.0.1","opencode-ai":"^1.2.20","@electron/get":"^5.0.0","update-notifier":"^7.3.1","@opencode-ai/sdk":"^1.1.36","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.19.0","ajv":"^8.20.0","jest":"^29.0.0","yaml":"^2.9.0","sharp":"^0.35.3","eslint":"^8.0.0","espree":"^9.6.1","puppeteer":"^24.36.0","lint-staged":"^16.3.2","chrome-remote-interface":"^0.33.3"},"optionalDependencies":{"electron":"^43.1.1"},"_npmOperationalInternal":{"tmp":"tmp/amicus_4.6.0_1785701157862_0.6442703234248262","host":"s3://npm-registry-packages-npm-production"}},"4.6.1":{"name":"amicus","version":"4.6.1","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"author":{"name":"Christian Wagner"},"license":"MIT","_id":"amicus@4.6.1","maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"homepage":"https://bourbondog.github.io/amicus/","bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"bin":{"am":"bin/amicus.js","amicus":"bin/amicus.js"},"dist":{"shasum":"6bfa2b390fbceb871953ed03a86b1cf176300e71","tarball":"https://registry.npmjs.org/amicus/-/amicus-4.6.1.tgz","fileCount":324,"integrity":"sha512-yo0RHi0F57opFJD9xSCEpPJEmOPwLI0f2eFgYFq6aiUPPv9KAdLjxJZDvXv8+wHB0YYv/ULsvVIL23TYWWgQ6A==","signatures":[{"sig":"MEUCIA7CKUD/yWCFV8mVy7pxS/FaiaBGHiP1Qx0sOyOAeJ+9AiEAzPMh33tVQoMjOGF3sJ4DuLT2IbRCMEgMijSjMjbpuNg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/amicus@4.6.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3488740},"main":"src/index.js","engines":{"node":">=22.12.0"},"exports":{"./opencode-client":"./src/opencode-client.mjs"},"gitHead":"92e83167608af9c3de4e9efd969f3cc1a807b901","mcpName":"io.github.BourbonDog/amicus","scripts":{"lint":"eslint src/ electron/","test":"jest","start":"node --experimental-top-level-await --experimental-vm-modules bin/amicus.js","posttest":"node scripts/mark-test-passed.js","test:all":"jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='worktrees' && node scripts/mark-test-passed.js","check:sizes":"node scripts/check-file-sizes.js --all","models:info":"node bin/amicus.js models","postinstall":"node scripts/postinstall.js","setup-hooks":"node scripts/setup-hooks.js","models:check":"node bin/amicus.js models --check","test:e2e:mcp":"jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit","check:secrets":"node scripts/check-secrets.js --all","check:tarball":"node scripts/check-tarball-lifecycle.js","generate-docs":"node scripts/generate-docs.js","generate-icon":"node scripts/generate-icon.js","test:thinking":"node scripts/benchmark-thinking.js","validate-docs":"node scripts/validate-docs.js --full","refresh-models":"node bin/amicus.js models --refresh","test:integration":"node scripts/run-integration-keyless.js","generate-docs:check":"node scripts/generate-docs.js --check","models:check:strict":"node bin/amicus.js models --check --strict","test:thinking:quick":"MODELS=gemini node scripts/benchmark-thinking.js","test:integration:live":"jest --runInBand --testPathIgnorePatterns='worktrees' --testMatch='**/tests/**/*.integration.test.js'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c7f57b2b-9b02-469e-a4c4-c9b785a884a5"}},"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"_npmVersion":"12.0.2","description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix"],"electron/**/*.js":["eslint --fix"]},"_nodeVersion":"22.23.1","dependencies":{"zod":"^3.0.0","dotenv":"^17.2.3","tiktoken":"^1.0.0","extract-zip":"^2.0.1","opencode-ai":"^1.2.20","@electron/get":"^5.0.0","update-notifier":"^7.3.1","@opencode-ai/sdk":"^1.1.36","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.19.0","ajv":"^8.20.0","jest":"^29.0.0","yaml":"^2.9.0","sharp":"^0.35.3","eslint":"^8.0.0","espree":"^9.6.1","puppeteer":"^24.36.0","lint-staged":"^16.3.2","chrome-remote-interface":"^0.33.3"},"optionalDependencies":{"electron":"^43.1.1"},"_npmOperationalInternal":{"tmp":"tmp/amicus_4.6.1_1785805589588_0.027224061884888684","host":"s3://npm-registry-packages-npm-production"}},"4.6.2":{"name":"amicus","version":"4.6.2","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"author":{"name":"Christian Wagner"},"license":"MIT","_id":"amicus@4.6.2","maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"homepage":"https://bourbondog.github.io/amicus/","bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"bin":{"am":"bin/amicus.js","amicus":"bin/amicus.js"},"dist":{"shasum":"5807c50960f736cece0d0d104c35a59e2f06eb37","tarball":"https://registry.npmjs.org/amicus/-/amicus-4.6.2.tgz","fileCount":329,"integrity":"sha512-KNuPRsYkXTerIsa9I2gXr64rKjzFga6uErnQzsaXCL9xqhlLnQ+Ibit8yJ2WQ6odoMMgGJEOcgT4Ge4HJ5rf0g==","signatures":[{"sig":"MEUCIH07FlK49JFgHA0n0eByFDj/L/sKp4d+fX/yU2TJbnmpAiEA3xGu693HkJntQK1J8HNdB6zPc39K4vQAXhxLUlhr/8s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/amicus@4.6.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3552899},"main":"src/index.js","engines":{"node":">=22.12.0"},"exports":{"./opencode-client":"./src/opencode-client.mjs"},"gitHead":"57bc5dc2c6e41a7948da7bf941c8533433c23f3d","mcpName":"io.github.BourbonDog/amicus","scripts":{"lint":"eslint src/ electron/","test":"jest","start":"node --experimental-top-level-await --experimental-vm-modules bin/amicus.js","posttest":"node scripts/mark-test-passed.js","test:all":"jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='worktrees' && node scripts/mark-test-passed.js","check:sizes":"node scripts/check-file-sizes.js --all","models:info":"node bin/amicus.js models","postinstall":"node scripts/postinstall.js","setup-hooks":"node scripts/setup-hooks.js","models:check":"node bin/amicus.js models --check","test:e2e:mcp":"jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit","check:secrets":"node scripts/check-secrets.js --all","check:tarball":"node scripts/check-tarball-lifecycle.js","generate-docs":"node scripts/generate-docs.js","generate-icon":"node scripts/generate-icon.js","test:thinking":"node scripts/benchmark-thinking.js","validate-docs":"node scripts/validate-docs.js --full","refresh-models":"node bin/amicus.js models --refresh","test:integration":"node scripts/run-integration-keyless.js","generate-docs:check":"node scripts/generate-docs.js --check","models:check:strict":"node bin/amicus.js models --check --strict","test:thinking:quick":"MODELS=gemini node scripts/benchmark-thinking.js","test:integration:live":"jest --runInBand --testPathIgnorePatterns='worktrees' --testMatch='**/tests/**/*.integration.test.js'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c7f57b2b-9b02-469e-a4c4-c9b785a884a5"}},"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"_npmVersion":"12.0.2","description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix"],"electron/**/*.js":["eslint --fix"]},"_nodeVersion":"22.23.1","dependencies":{"zod":"^3.0.0","dotenv":"^17.2.3","tiktoken":"^1.0.0","extract-zip":"^2.0.1","opencode-ai":"^1.2.20","@electron/get":"^5.0.0","update-notifier":"^7.3.1","@opencode-ai/sdk":"^1.1.36","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.19.0","ajv":"^8.20.0","jest":"^29.0.0","yaml":"^2.9.0","sharp":"^0.35.3","eslint":"^8.0.0","espree":"^9.6.1","puppeteer":"^24.36.0","lint-staged":"^16.3.2","chrome-remote-interface":"^0.33.3"},"optionalDependencies":{"electron":"^43.1.1"},"_npmOperationalInternal":{"tmp":"tmp/amicus_4.6.2_1785901266599_0.568376559312556","host":"s3://npm-registry-packages-npm-production"}},"4.6.3":{"name":"amicus","version":"4.6.3","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"author":{"name":"Christian Wagner"},"license":"MIT","_id":"amicus@4.6.3","maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"homepage":"https://bourbondog.github.io/amicus/","bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"bin":{"am":"bin/amicus.js","amicus":"bin/amicus.js"},"dist":{"shasum":"18b0e968012b0e5774c7eb1c9aa60f838da04784","tarball":"https://registry.npmjs.org/amicus/-/amicus-4.6.3.tgz","fileCount":330,"integrity":"sha512-8EFLvMK5dSNQM4C9wpMBhXkkyLbIZUiqbjwglYm0stJLc9wDI5D8eVbTPbe0efPBmPZ6dPolX9kPTrJfO3R6Fw==","signatures":[{"sig":"MEYCIQCNr5EI7WGA+IZdrOfGCwyKE6HXplT2CGnUHbS3tKLYbAIhAMpl2BAIEPC500msXchVwQ6yYlQgiECg9OHWE90IkuTb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/amicus@4.6.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3579075},"main":"src/index.js","engines":{"node":">=22.12.0"},"exports":{"./opencode-client":"./src/opencode-client.mjs"},"gitHead":"8d0584a26ce8e9aa705d9dfe1e0493b951c07c5b","mcpName":"io.github.BourbonDog/amicus","scripts":{"lint":"eslint src/ electron/","test":"jest","start":"node --experimental-top-level-await --experimental-vm-modules bin/amicus.js","posttest":"node scripts/mark-test-passed.js","test:all":"jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='worktrees' && node scripts/mark-test-passed.js","check:sizes":"node scripts/check-file-sizes.js --all","models:info":"node bin/amicus.js models","postinstall":"node scripts/postinstall.js","setup-hooks":"node scripts/setup-hooks.js","models:check":"node bin/amicus.js models --check","test:e2e:mcp":"jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit","check:secrets":"node scripts/check-secrets.js --all","check:tarball":"node scripts/check-tarball-lifecycle.js","generate-docs":"node scripts/generate-docs.js","generate-icon":"node scripts/generate-icon.js","test:thinking":"node scripts/benchmark-thinking.js","validate-docs":"node scripts/validate-docs.js --full","refresh-models":"node bin/amicus.js models --refresh","test:integration":"node scripts/run-integration-keyless.js","generate-docs:check":"node scripts/generate-docs.js --check","models:check:strict":"node bin/amicus.js models --check --strict","test:thinking:quick":"MODELS=gemini node scripts/benchmark-thinking.js","test:integration:live":"jest --runInBand --testPathIgnorePatterns='worktrees' --testMatch='**/tests/**/*.integration.test.js'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c7f57b2b-9b02-469e-a4c4-c9b785a884a5"}},"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"_npmVersion":"12.0.2","description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix"],"electron/**/*.js":["eslint --fix"]},"_nodeVersion":"22.23.1","dependencies":{"zod":"^3.0.0","dotenv":"^17.2.3","tiktoken":"^1.0.0","extract-zip":"^2.0.1","opencode-ai":"^1.2.20","@electron/get":"^5.0.0","update-notifier":"^7.3.1","@opencode-ai/sdk":"^1.1.36","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.19.0","ajv":"^8.20.0","jest":"^29.0.0","yaml":"^2.9.0","sharp":"^0.35.3","eslint":"^8.0.0","espree":"^9.6.1","puppeteer":"^24.36.0","lint-staged":"^16.3.2","chrome-remote-interface":"^0.33.3"},"optionalDependencies":{"electron":"^43.1.1"},"_npmOperationalInternal":{"tmp":"tmp/amicus_4.6.3_1785985078708_0.22952118132789767","host":"s3://npm-registry-packages-npm-production"}},"4.7.0":{"name":"amicus","version":"4.7.0","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"author":{"name":"Christian Wagner"},"license":"MIT","_id":"amicus@4.7.0","maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"homepage":"https://bourbondog.github.io/amicus/","bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"bin":{"am":"bin/amicus.js","amicus":"bin/amicus.js"},"dist":{"shasum":"2722cd33cac6cffbc8d8e747b7254cdb38910ccc","tarball":"https://registry.npmjs.org/amicus/-/amicus-4.7.0.tgz","fileCount":338,"integrity":"sha512-IZcAfBv5kl8W14Iane7PKAvddS8OXIPnh6Ekb6ZzXNlP1w+TBx4KevYcDVr1OuDGsdr/n5AHi56ITa81X13wNw==","signatures":[{"sig":"MEUCID74IQ3QJy574Exbx81RWCOs5h0d0xH3+mJxJmOJiHOLAiEA3pXlan8vJY4VZfX6u3qkKqdVzyt9YA7OufRGUdqMVyE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/amicus@4.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3706521},"main":"src/index.js","engines":{"node":">=22.12.0"},"exports":{"./opencode-client":"./src/opencode-client.mjs"},"gitHead":"caf4d7edd8b9b963d317409cbc9085b94686816a","mcpName":"io.github.BourbonDog/amicus","scripts":{"lint":"eslint src/ electron/ tests/helpers/","test":"jest","start":"node --experimental-top-level-await --experimental-vm-modules bin/amicus.js","posttest":"node scripts/mark-test-passed.js","test:all":"jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='worktrees' && node scripts/mark-test-passed.js","check:sizes":"node scripts/check-file-sizes.js --all","models:info":"node bin/amicus.js models","postinstall":"node scripts/postinstall.js","setup-hooks":"node scripts/setup-hooks.js","models:check":"node bin/amicus.js models --check","test:e2e:mcp":"jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit","check:secrets":"node scripts/check-secrets.js --all","check:tarball":"node scripts/check-tarball-lifecycle.js","generate-docs":"node scripts/generate-docs.js","generate-icon":"node scripts/generate-icon.js","test:thinking":"node scripts/benchmark-thinking.js","validate-docs":"node scripts/validate-docs.js --full","refresh-models":"node bin/amicus.js models --refresh","test:integration":"node scripts/run-integration-keyless.js","generate-docs:check":"node scripts/generate-docs.js --check","models:check:strict":"node bin/amicus.js models --check --strict","test:thinking:quick":"MODELS=gemini node scripts/benchmark-thinking.js","test:integration:live":"jest --runInBand --testPathIgnorePatterns='worktrees' --testMatch='**/tests/**/*.integration.test.js'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c7f57b2b-9b02-469e-a4c4-c9b785a884a5"}},"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"_npmVersion":"12.0.2","description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix"],"electron/**/*.js":["eslint --fix"],"tests/helpers/**/*.js":["eslint --fix"]},"_nodeVersion":"22.23.1","dependencies":{"zod":"^3.0.0","dotenv":"^17.2.3","tiktoken":"^1.0.0","extract-zip":"^2.0.1","opencode-ai":"^1.2.20","@electron/get":"^5.0.0","update-notifier":"^7.3.1","@opencode-ai/sdk":"^1.1.36","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.19.0","ajv":"^8.20.0","jest":"^29.0.0","yaml":"^2.9.0","sharp":"^0.35.3","eslint":"^8.0.0","espree":"^9.6.1","puppeteer":"^24.36.0","lint-staged":"^16.3.2","chrome-remote-interface":"^0.33.3"},"optionalDependencies":{"electron":"^43.1.1"},"_npmOperationalInternal":{"tmp":"tmp/amicus_4.7.0_1786228572096_0.5687379158880321","host":"s3://npm-registry-packages-npm-production"}},"4.7.1":{"name":"amicus","version":"4.7.1","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"author":{"name":"Christian Wagner"},"license":"MIT","_id":"amicus@4.7.1","maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"homepage":"https://bourbondog.github.io/amicus/","bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"bin":{"am":"bin/amicus.js","amicus":"bin/amicus.js"},"dist":{"shasum":"8c0072d16f833f618cf66aeda44cb9702ea25a2a","tarball":"https://registry.npmjs.org/amicus/-/amicus-4.7.1.tgz","fileCount":339,"integrity":"sha512-Hpbpkpi4zHdkIgChKbauAFhHONfcPKfPunFPkwf0sJWRFbqUgOT5yIXEqQXuIKa4UJbZrrAb8I7TrLKgDx9B4g==","signatures":[{"sig":"MEQCIEGA9eHOzihJd9iJQt5Z2V423WGgNhRWkhBIJ05yyUE8AiAu3GQjQOVoW/j9vPdzyGkbhx9IrsMKhtzfuKHClltAhg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/amicus@4.7.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3738592},"main":"src/index.js","engines":{"node":">=22.12.0"},"exports":{"./opencode-client":"./src/opencode-client.mjs"},"gitHead":"794022a37f2a4dab96d816e9ce248a1e06511c80","mcpName":"io.github.BourbonDog/amicus","scripts":{"lint":"eslint src/ electron/ tests/helpers/","test":"jest","start":"node --experimental-top-level-await --experimental-vm-modules bin/amicus.js","posttest":"node scripts/mark-test-passed.js","test:all":"jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='worktrees' && node scripts/mark-test-passed.js","check:sizes":"node scripts/check-file-sizes.js --all","models:info":"node bin/amicus.js models","postinstall":"node scripts/postinstall.js","setup-hooks":"node scripts/setup-hooks.js","models:check":"node bin/amicus.js models --check","test:e2e:mcp":"jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit","check:secrets":"node scripts/check-secrets.js --all","check:tarball":"node scripts/check-tarball-lifecycle.js","generate-docs":"node scripts/generate-docs.js","generate-icon":"node scripts/generate-icon.js","test:thinking":"node scripts/benchmark-thinking.js","validate-docs":"node scripts/validate-docs.js --full","graphify:index":"graphify extract . --backend claude-cli","refresh-models":"node bin/amicus.js models --refresh","test:integration":"node scripts/run-integration-keyless.js","generate-docs:check":"node scripts/generate-docs.js --check","models:check:strict":"node bin/amicus.js models --check --strict","test:thinking:quick":"MODELS=gemini node scripts/benchmark-thinking.js","test:integration:live":"jest --runInBand --testPathIgnorePatterns='worktrees' --testMatch='**/tests/**/*.integration.test.js'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c7f57b2b-9b02-469e-a4c4-c9b785a884a5"}},"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"_npmVersion":"12.0.2","description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix"],"electron/**/*.js":["eslint --fix"],"tests/helpers/**/*.js":["eslint --fix"]},"_nodeVersion":"22.23.1","dependencies":{"zod":"^3.0.0","dotenv":"^17.2.3","tiktoken":"^1.0.0","extract-zip":"^2.0.1","opencode-ai":"1.18.15","@electron/get":"^5.0.0","update-notifier":"^7.3.1","@opencode-ai/sdk":"1.18.15","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.19.0","ajv":"^8.20.0","jest":"^29.0.0","yaml":"^2.9.0","sharp":"^0.35.3","eslint":"^8.0.0","espree":"^9.6.1","puppeteer":"^24.36.0","lint-staged":"^16.3.2","chrome-remote-interface":"^0.33.3"},"optionalDependencies":{"electron":"^43.1.1"},"_npmOperationalInternal":{"tmp":"tmp/amicus_4.7.1_1786334132951_0.9306416064711083","host":"s3://npm-registry-packages-npm-production"}},"4.8.0":{"name":"amicus","version":"4.8.0","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"author":{"name":"Christian Wagner"},"license":"MIT","_id":"amicus@4.8.0","maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"homepage":"https://bourbondog.github.io/amicus/","bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"bin":{"am":"bin/amicus.js","amicus":"bin/amicus.js"},"dist":{"shasum":"57c2375fff643be92287f55af77fad18e3273bd0","tarball":"https://registry.npmjs.org/amicus/-/amicus-4.8.0.tgz","fileCount":364,"integrity":"sha512-fcPUIbTw9VmwK6MyeTtyV1oKs+H/2lhFWfq4TqTPu4UYYgW9fy+6cRlNEGan6FjIvxrFp4Ky99LoH8aNmbCiEQ==","signatures":[{"sig":"MEUCIFetuVUJJxIuCHiD32JOS/B51QJfr4F+E0RIhUNavuEkAiEA+OvPl2RKz9Nw577RJuMIPn/xuwrl6VkqBkP8JRzMqfY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/amicus@4.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4178116},"main":"src/index.js","engines":{"node":">=22.12.0"},"exports":{"./opencode-client":"./src/opencode-client.mjs"},"gitHead":"1e9107ed4592c797f858844296857ec2048c3592","mcpName":"io.github.BourbonDog/amicus","scripts":{"lint":"eslint src/ electron/ tests/helpers/","test":"jest","start":"node --experimental-top-level-await --experimental-vm-modules bin/amicus.js","posttest":"node scripts/mark-test-passed.js","test:all":"jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='worktrees' && node scripts/mark-test-passed.js","check:sizes":"node scripts/check-file-sizes.js --all","models:info":"node bin/amicus.js models","postinstall":"node scripts/postinstall.js","setup-hooks":"node scripts/setup-hooks.js","models:check":"node bin/amicus.js models --check","test:e2e:mcp":"jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit","check:secrets":"node scripts/check-secrets.js --all","check:tarball":"node scripts/check-tarball-lifecycle.js","generate-docs":"node scripts/generate-docs.js","generate-icon":"node scripts/generate-icon.js","test:thinking":"node scripts/benchmark-thinking.js","validate-docs":"node scripts/validate-docs.js --full","graphify:index":"graphify extract . --backend claude-cli","refresh-models":"node bin/amicus.js models --refresh","check:citations":"node scripts/check-citations.js --all","test:integration":"node scripts/run-integration-keyless.js","generate-docs:check":"node scripts/generate-docs.js --check","models:check:strict":"node bin/amicus.js models --check --strict","test:thinking:quick":"MODELS=gemini node scripts/benchmark-thinking.js","test:integration:live":"jest --runInBand --testPathIgnorePatterns='worktrees' --testMatch='**/tests/**/*.integration.test.js'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c7f57b2b-9b02-469e-a4c4-c9b785a884a5"}},"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"_npmVersion":"12.0.2","description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix"],"electron/**/*.js":["eslint --fix"],"tests/helpers/**/*.js":["eslint --fix"]},"_nodeVersion":"22.23.2","dependencies":{"zod":"^3.0.0","dotenv":"^17.2.3","tiktoken":"^1.0.0","extract-zip":"^2.0.1","opencode-ai":"1.18.15","@electron/get":"^5.0.0","update-notifier":"^7.3.1","@opencode-ai/sdk":"1.18.15","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.19.0","ajv":"^8.20.0","jest":"^29.0.0","yaml":"^2.9.0","sharp":"^0.35.3","eslint":"^8.0.0","espree":"^9.6.1","js-yaml":"^4.3.0","puppeteer":"^24.36.0","lint-staged":"^16.3.2","chrome-remote-interface":"^0.33.3"},"optionalDependencies":{"electron":"^43.1.1"},"_npmOperationalInternal":{"tmp":"tmp/amicus_4.8.0_1787529715860_0.8531470237465129","host":"s3://npm-registry-packages-npm-production"}},"4.8.1":{"name":"amicus","version":"4.8.1","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"author":{"name":"Christian Wagner"},"license":"MIT","_id":"amicus@4.8.1","maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"homepage":"https://bourbondog.github.io/amicus/","bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"bin":{"am":"bin/amicus.js","amicus":"bin/amicus.js"},"dist":{"shasum":"3b417b29aca6f7d82e05733b8ef69a6a8799aa39","tarball":"https://registry.npmjs.org/amicus/-/amicus-4.8.1.tgz","fileCount":367,"integrity":"sha512-uFyZywZ4/t1ouHQG3jV0FwQi/FkCp3F6MPGfUW4oBR65xP92+h8VGCVrsVzGA91wZuvDZa26l6LmYSWJ6old2g==","signatures":[{"sig":"MEQCIHZev+aAiuzz2E9Avxb7/v6KklUrPlxqe3TBpEcVSOctAiAii/dQOWmZkUxad6GDQ5sjl90swKrCO0El4MxeoPlHGw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/amicus@4.8.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4239488},"main":"src/index.js","engines":{"node":">=22.12.0"},"exports":{"./opencode-client":"./src/opencode-client.mjs"},"gitHead":"102302d4a80e127fb75a1aaaa5ea1a8b1b61b98e","mcpName":"io.github.BourbonDog/amicus","scripts":{"lint":"eslint src/ electron/ tests/helpers/","test":"jest","start":"node --experimental-top-level-await --experimental-vm-modules bin/amicus.js","posttest":"node scripts/mark-test-passed.js","test:all":"jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='worktrees' && node scripts/mark-test-passed.js","check:sizes":"node scripts/check-file-sizes.js --all","models:info":"node bin/amicus.js models","postinstall":"node scripts/postinstall.js","setup-hooks":"node scripts/setup-hooks.js","models:check":"node bin/amicus.js models --check","test:e2e:mcp":"jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit","check:secrets":"node scripts/check-secrets.js --all","check:tarball":"node scripts/check-tarball-lifecycle.js","generate-docs":"node scripts/generate-docs.js","generate-icon":"node scripts/generate-icon.js","test:thinking":"node scripts/benchmark-thinking.js","validate-docs":"node scripts/validate-docs.js --full","graphify:index":"graphify extract . --backend claude-cli","refresh-models":"node bin/amicus.js models --refresh","check:citations":"node scripts/check-citations.js --all","test:integration":"node scripts/run-integration-keyless.js","check:ci-alias-pins":"node scripts/check-ci-alias-pins.js","generate-docs:check":"node scripts/generate-docs.js --check","models:check:strict":"node bin/amicus.js models --check --strict","test:thinking:quick":"MODELS=gemini node scripts/benchmark-thinking.js","test:integration:live":"jest --runInBand --testPathIgnorePatterns='worktrees' --testMatch='**/tests/**/*.integration.test.js'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c7f57b2b-9b02-469e-a4c4-c9b785a884a5"}},"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"_npmVersion":"12.0.2","description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix"],"electron/**/*.js":["eslint --fix"],"tests/helpers/**/*.js":["eslint --fix"]},"_nodeVersion":"22.23.2","dependencies":{"zod":"^3.0.0","dotenv":"^17.2.3","tiktoken":"^1.0.0","extract-zip":"^2.0.1","opencode-ai":"1.18.15","@electron/get":"^5.0.0","update-notifier":"^7.3.1","@opencode-ai/sdk":"1.18.15","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.19.0","ajv":"^8.20.0","jest":"^29.0.0","yaml":"^2.9.0","sharp":"^0.35.3","eslint":"^8.0.0","espree":"^9.6.1","js-yaml":"^4.3.0","puppeteer":"^24.36.0","lint-staged":"^16.3.2","chrome-remote-interface":"^0.33.3"},"optionalDependencies":{"electron":"^43.1.1"},"_npmOperationalInternal":{"tmp":"tmp/amicus_4.8.1_1787686636917_0.2275158552760601","host":"s3://npm-registry-packages-npm-production"}},"4.9.0":{"name":"amicus","version":"4.9.0","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"author":{"name":"Christian Wagner"},"license":"MIT","_id":"amicus@4.9.0","maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"homepage":"https://bourbondog.github.io/amicus/","bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"bin":{"am":"bin/amicus.js","amicus":"bin/amicus.js"},"dist":{"shasum":"a5d6f869e7913fc86e7b1835f7669341b14ea3a1","tarball":"https://registry.npmjs.org/amicus/-/amicus-4.9.0.tgz","fileCount":384,"integrity":"sha512-RhBrnCiOlI5zQj63a83fEKDIlRQSvE79DoG4tc2le9D4CvU/6XpQ3BYhDbuHrdOVkSKQtnJiozgDkdPsfvU5ow==","signatures":[{"sig":"MEUCIH8ToBqnm17s0FPl3OhMQQY4E3hlUDcUvXyUSeYnRGiGAiEAyY8k+bCaBnrjPUcQsbr2bOKJy26dnAGOpMq3dnkpyKU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/amicus@4.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4565968},"main":"src/index.js","engines":{"node":">=22.12.0"},"exports":{"./opencode-client":"./src/opencode-client.mjs"},"gitHead":"68465b39d756193e44529c8d308ec479fae684f5","mcpName":"io.github.BourbonDog/amicus","scripts":{"lint":"eslint src/ electron/ tests/helpers/","test":"jest","start":"node --experimental-top-level-await --experimental-vm-modules bin/amicus.js","posttest":"node scripts/mark-test-passed.js","test:all":"jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='worktrees' && node scripts/mark-test-passed.js","check:sizes":"node scripts/check-file-sizes.js --all","models:info":"node bin/amicus.js models","postinstall":"node scripts/postinstall.js","setup-hooks":"node scripts/setup-hooks.js","models:check":"node bin/amicus.js models --check","test:e2e:mcp":"jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit","check:secrets":"node scripts/check-secrets.js --all","check:tarball":"node scripts/check-tarball-lifecycle.js","generate-docs":"node scripts/generate-docs.js","generate-icon":"node scripts/generate-icon.js","test:thinking":"node scripts/benchmark-thinking.js","validate-docs":"node scripts/validate-docs.js --full","graphify:index":"graphify extract . --backend claude-cli","refresh-models":"node bin/amicus.js models --refresh","check:citations":"node scripts/check-citations.js --all","test:integration":"node scripts/run-integration-keyless.js","check:ci-alias-pins":"node scripts/check-ci-alias-pins.js","generate-docs:check":"node scripts/generate-docs.js --check","models:check:strict":"node bin/amicus.js models --check --strict","test:thinking:quick":"MODELS=gemini node scripts/benchmark-thinking.js","test:integration:live":"jest --runInBand --testPathIgnorePatterns='worktrees' --testMatch='**/tests/**/*.integration.test.js'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c7f57b2b-9b02-469e-a4c4-c9b785a884a5"}},"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"_npmVersion":"12.0.2","description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix"],"electron/**/*.js":["eslint --fix"],"tests/helpers/**/*.js":["eslint --fix"]},"_nodeVersion":"22.23.2","dependencies":{"zod":"^3.0.0","dotenv":"^17.2.3","tiktoken":"^1.0.0","extract-zip":"^2.0.1","opencode-ai":"1.18.15","@electron/get":"^5.0.0","update-notifier":"^7.3.1","@opencode-ai/sdk":"1.18.15","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.19.0","ajv":"^8.20.0","jest":"^29.0.0","yaml":"^2.9.0","sharp":"^0.35.3","eslint":"^8.0.0","espree":"^9.6.1","js-yaml":"^4.3.0","puppeteer":"^24.36.0","lint-staged":"^16.3.2","chrome-remote-interface":"^0.33.3"},"optionalDependencies":{"electron":"^43.1.1"},"_npmOperationalInternal":{"tmp":"tmp/amicus_4.9.0_1787777818373_0.7650417720501599","host":"s3://npm-registry-packages-npm-production"}},"4.9.1":{"name":"amicus","version":"4.9.1","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"author":{"name":"Christian Wagner"},"license":"MIT","_id":"amicus@4.9.1","maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"homepage":"https://bourbondog.github.io/amicus/","bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"bin":{"am":"bin/amicus.js","amicus":"bin/amicus.js"},"dist":{"shasum":"4385feb678a8802bbec156ddb42567b482cef385","tarball":"https://registry.npmjs.org/amicus/-/amicus-4.9.1.tgz","fileCount":385,"integrity":"sha512-/r/oxrnFmpOG4/YFke0/0/An5Q08wHHwijVPtB9MlT1FzvpC8ezW5+AvXSK2H/kmayBxm2zkIzDhz7L5HKN/UQ==","signatures":[{"sig":"MEUCIQDd7Ox18u8VyE5Pt/2iEhUU81ipN8RLO6Pd+MqT0+IU9gIgPZfMFELXLFdRzaxcciXhcJgD6c4SniGiqJNzdorXy0A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/amicus@4.9.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4584534},"main":"src/index.js","engines":{"node":">=22.12.0"},"exports":{"./opencode-client":"./src/opencode-client.mjs"},"gitHead":"d130b02c3a39a4fda90ce99fa2e47d70d8a0f9e5","mcpName":"io.github.BourbonDog/amicus","scripts":{"lint":"eslint src/ electron/ tests/helpers/","test":"jest","start":"node --experimental-top-level-await --experimental-vm-modules bin/amicus.js","posttest":"node scripts/mark-test-passed.js","test:all":"jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='worktrees' && node scripts/mark-test-passed.js","check:sizes":"node scripts/check-file-sizes.js --all","models:info":"node bin/amicus.js models","postinstall":"node scripts/postinstall.js","setup-hooks":"node scripts/setup-hooks.js","models:check":"node bin/amicus.js models --check","test:e2e:mcp":"jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit","check:secrets":"node scripts/check-secrets.js --all","check:tarball":"node scripts/check-tarball-lifecycle.js","generate-docs":"node scripts/generate-docs.js","generate-icon":"node scripts/generate-icon.js","test:thinking":"node scripts/benchmark-thinking.js","validate-docs":"node scripts/validate-docs.js --full","graphify:index":"graphify extract . --backend claude-cli","refresh-models":"node bin/amicus.js models --refresh","check:citations":"node scripts/check-citations.js --all","test:integration":"node scripts/run-integration-keyless.js","check:ci-alias-pins":"node scripts/check-ci-alias-pins.js","generate-docs:check":"node scripts/generate-docs.js --check","models:check:strict":"node bin/amicus.js models --check --strict","test:thinking:quick":"MODELS=gemini node scripts/benchmark-thinking.js","test:integration:live":"jest --runInBand --testPathIgnorePatterns='worktrees' --testMatch='**/tests/**/*.integration.test.js'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c7f57b2b-9b02-469e-a4c4-c9b785a884a5"}},"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"_npmVersion":"12.0.2","description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix"],"electron/**/*.js":["eslint --fix"],"tests/helpers/**/*.js":["eslint --fix"]},"_nodeVersion":"22.23.2","dependencies":{"zod":"^3.0.0","dotenv":"^17.2.3","tiktoken":"^1.0.0","extract-zip":"^2.0.1","opencode-ai":"1.18.15","@electron/get":"^5.0.0","update-notifier":"^7.3.1","@opencode-ai/sdk":"1.18.15","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.19.0","ajv":"^8.20.0","jest":"^29.0.0","yaml":"^2.9.0","sharp":"^0.35.3","eslint":"^8.0.0","espree":"^9.6.1","js-yaml":"^4.3.0","puppeteer":"^24.36.0","lint-staged":"^16.3.2","chrome-remote-interface":"^0.33.3"},"optionalDependencies":{"electron":"^43.1.1"},"_npmOperationalInternal":{"tmp":"tmp/amicus_4.9.1_1787837792823_0.1811565313184167","host":"s3://npm-registry-packages-npm-production"}},"4.9.2":{"name":"amicus","version":"4.9.2","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"author":{"name":"Christian Wagner"},"license":"MIT","_id":"amicus@4.9.2","maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"homepage":"https://bourbondog.github.io/amicus/","bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"bin":{"am":"bin/amicus.js","amicus":"bin/amicus.js"},"dist":{"shasum":"b5c0ca8ff7e76289347525fd0069424b2d2bdef4","tarball":"https://registry.npmjs.org/amicus/-/amicus-4.9.2.tgz","fileCount":388,"integrity":"sha512-8prjd3G122xGI8HUQXwJPVg16A+Q3fGCHU/X59i653ynWe4C+Bl+xanWmzvOObXbuQ1i/ODOv2nXSCt7L4qDmA==","signatures":[{"sig":"MEYCIQCUz3cjS8Vv7I92cuA+cDgFpsS5dFNFva3OT5+fc3ZuEQIhANfg5CY5JklO5XJyWmt0ycVSQAPxZZ13W3sNJsqUjrmh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/amicus@4.9.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4611805},"main":"src/index.js","engines":{"node":">=22.12.0"},"exports":{"./opencode-client":"./src/opencode-client.mjs"},"gitHead":"6b46056c1ae82a0f3f466fc48734264cfcdef632","mcpName":"io.github.BourbonDog/amicus","scripts":{"lint":"eslint src/ electron/ tests/helpers/","test":"jest","start":"node --experimental-top-level-await --experimental-vm-modules bin/amicus.js","posttest":"node scripts/mark-test-passed.js","test:all":"jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='worktrees' && node scripts/mark-test-passed.js","check:sizes":"node scripts/check-file-sizes.js --all","models:info":"node bin/amicus.js models","postinstall":"node scripts/postinstall.js","setup-hooks":"node scripts/setup-hooks.js","models:check":"node bin/amicus.js models --check","test:e2e:mcp":"jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit","check:secrets":"node scripts/check-secrets.js --all","check:tarball":"node scripts/check-tarball-lifecycle.js","generate-docs":"node scripts/generate-docs.js","generate-icon":"node scripts/generate-icon.js","test:thinking":"node scripts/benchmark-thinking.js","validate-docs":"node scripts/validate-docs.js --full","graphify:index":"graphify extract . --backend claude-cli","refresh-models":"node bin/amicus.js models --refresh","check:citations":"node scripts/check-citations.js --all","test:integration":"node scripts/run-integration-keyless.js","check:ci-alias-pins":"node scripts/check-ci-alias-pins.js","generate-docs:check":"node scripts/generate-docs.js --check","models:check:strict":"node bin/amicus.js models --check --strict","test:thinking:quick":"MODELS=gemini node scripts/benchmark-thinking.js","test:integration:live":"jest --runInBand --testPathIgnorePatterns='worktrees' --testMatch='**/tests/**/*.integration.test.js'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c7f57b2b-9b02-469e-a4c4-c9b785a884a5"}},"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"_npmVersion":"12.0.2","description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix"],"electron/**/*.js":["eslint --fix"],"tests/helpers/**/*.js":["eslint --fix"]},"_nodeVersion":"22.23.2","dependencies":{"zod":"^3.0.0","dotenv":"^17.2.3","tiktoken":"^1.0.0","extract-zip":"^2.0.1","opencode-ai":"1.18.15","@electron/get":"^5.0.0","update-notifier":"^7.3.1","@opencode-ai/sdk":"1.18.15","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.19.0","ajv":"^8.20.0","jest":"^29.0.0","yaml":"^2.9.0","sharp":"^0.35.3","eslint":"^8.0.0","espree":"^9.6.1","js-yaml":"^4.3.0","puppeteer":"^24.36.0","lint-staged":"^16.3.2","chrome-remote-interface":"^0.33.3"},"optionalDependencies":{"electron":"^43.1.1"},"_npmOperationalInternal":{"tmp":"tmp/amicus_4.9.2_1787858230270_0.6744455241903264","host":"s3://npm-registry-packages-npm-production"}},"4.9.3":{"name":"amicus","version":"4.9.3","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"author":{"name":"Christian Wagner"},"license":"MIT","_id":"amicus@4.9.3","maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"homepage":"https://bourbondog.github.io/amicus/","bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"bin":{"am":"bin/amicus.js","amicus":"bin/amicus.js"},"dist":{"shasum":"2cace2bfa42073b7585bf0041677b9adf3f7ba72","tarball":"https://registry.npmjs.org/amicus/-/amicus-4.9.3.tgz","fileCount":394,"integrity":"sha512-UkqLIaLwimEnLZpXEgEpdQ7fEfsL21O+g33COvi7KgDPmOFKxf9QeL1/g32lFbTvolQvWQGkbAAv/+4/uNzC3A==","signatures":[{"sig":"MEUCIQC/BJfxg9wt7BbTHkcJ+c1vv9ShyLzXNPfdgM/vPrUhvQIgGgib9Go42uRvZ98+/JG2HEMpoWH+7sLzfx7BvxiS8VA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/amicus@4.9.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4672101},"main":"src/index.js","engines":{"node":">=22.12.0"},"exports":{"./opencode-client":"./src/opencode-client.mjs"},"gitHead":"e91d3ac5b9532b2f822d4b29dca5c874d31739d2","mcpName":"io.github.BourbonDog/amicus","scripts":{"lint":"eslint src/ electron/ tests/helpers/","test":"jest","start":"node --experimental-top-level-await --experimental-vm-modules bin/amicus.js","posttest":"node scripts/mark-test-passed.js","test:all":"jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='worktrees' && node scripts/mark-test-passed.js","check:sizes":"node scripts/check-file-sizes.js --all","models:info":"node bin/amicus.js models","postinstall":"node scripts/postinstall.js","setup-hooks":"node scripts/setup-hooks.js","models:check":"node bin/amicus.js models --check","test:e2e:mcp":"jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit","check:secrets":"node scripts/check-secrets.js --all","check:tarball":"node scripts/check-tarball-lifecycle.js","generate-docs":"node scripts/generate-docs.js","generate-icon":"node scripts/generate-icon.js","test:thinking":"node scripts/benchmark-thinking.js","validate-docs":"node scripts/validate-docs.js --full","graphify:index":"graphify extract . --backend claude-cli","refresh-models":"node bin/amicus.js models --refresh","check:citations":"node scripts/check-citations.js --all","test:integration":"node scripts/run-integration-keyless.js","check:ci-alias-pins":"node scripts/check-ci-alias-pins.js","generate-docs:check":"node scripts/generate-docs.js --check","models:check:strict":"node bin/amicus.js models --check --strict","test:thinking:quick":"MODELS=gemini node scripts/benchmark-thinking.js","test:integration:live":"jest --runInBand --testPathIgnorePatterns='worktrees' --testMatch='**/tests/**/*.integration.test.js'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c7f57b2b-9b02-469e-a4c4-c9b785a884a5"}},"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"_npmVersion":"12.0.2","description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix"],"electron/**/*.js":["eslint --fix"],"tests/helpers/**/*.js":["eslint --fix"]},"_nodeVersion":"22.23.2","dependencies":{"zod":"^3.0.0","dotenv":"^17.2.3","tiktoken":"^1.0.0","extract-zip":"^2.0.1","opencode-ai":"1.18.15","@electron/get":"^5.0.0","update-notifier":"^7.3.1","@opencode-ai/sdk":"1.18.15","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.19.0","ajv":"^8.20.0","jest":"^29.0.0","yaml":"^2.9.0","sharp":"^0.35.3","eslint":"^8.0.0","espree":"^9.6.1","js-yaml":"^4.3.0","puppeteer":"^24.36.0","lint-staged":"^16.3.2","chrome-remote-interface":"^0.33.3"},"optionalDependencies":{"electron":"^43.1.1"},"_npmOperationalInternal":{"tmp":"tmp/amicus_4.9.3_1787929278637_0.11866674990534509","host":"s3://npm-registry-packages-npm-production"}},"4.9.4":{"name":"amicus","version":"4.9.4","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"author":{"name":"Christian Wagner"},"license":"MIT","_id":"amicus@4.9.4","maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"homepage":"https://bourbondog.github.io/amicus/","bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"bin":{"am":"bin/amicus.js","amicus":"bin/amicus.js"},"dist":{"shasum":"0133b496784306eb38e5ca85c39e09e9e9f76f39","tarball":"https://registry.npmjs.org/amicus/-/amicus-4.9.4.tgz","fileCount":403,"integrity":"sha512-x1UP/xH793iLkJD/C9WgNuOmiwiguAlK+Lr8xzDR8HlR/b07UQwvEC/uT89P3lx3gAwlwdRqVQ5Kgf2IUzacOg==","signatures":[{"sig":"MEYCIQDqZ1+n3oxFdQTJ0GKqieiFkK+9eHJRWhwLre4jZjfoAAIhALGRFBGgOJqUBbbzqxu+U7CpjxFWykjab7t4DFd52Fh+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/amicus@4.9.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4921089},"main":"src/index.js","engines":{"node":">=22.12.0"},"exports":{"./opencode-client":"./src/opencode-client.mjs"},"gitHead":"c45dfbaa9a4fc5a14c920d4c4d3baf2ed3ad2ccc","mcpName":"io.github.BourbonDog/amicus","scripts":{"lint":"eslint src/ electron/ tests/helpers/","test":"jest","start":"node --experimental-top-level-await --experimental-vm-modules bin/amicus.js","posttest":"node scripts/mark-test-passed.js","test:all":"jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='worktrees' && node scripts/mark-test-passed.js","check:sizes":"node scripts/check-file-sizes.js --all","models:info":"node bin/amicus.js models","postinstall":"node scripts/postinstall.js","setup-hooks":"node scripts/setup-hooks.js","models:check":"node bin/amicus.js models --check","test:e2e:mcp":"jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit","check:secrets":"node scripts/check-secrets.js --all","check:tarball":"node scripts/check-tarball-lifecycle.js","generate-docs":"node scripts/generate-docs.js","generate-icon":"node scripts/generate-icon.js","test:thinking":"node scripts/benchmark-thinking.js","validate-docs":"node scripts/validate-docs.js --full","graphify:index":"graphify extract . --backend claude-cli","refresh-models":"node bin/amicus.js models --refresh","check:citations":"node scripts/check-citations.js --all","test:integration":"node scripts/run-integration-keyless.js","check:ci-alias-pins":"node scripts/check-ci-alias-pins.js","generate-docs:check":"node scripts/generate-docs.js --check","models:check:strict":"node bin/amicus.js models --check --strict","test:thinking:quick":"MODELS=gemini node scripts/benchmark-thinking.js","test:integration:live":"jest --runInBand --testPathIgnorePatterns='worktrees' --testMatch='**/tests/**/*.integration.test.js'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c7f57b2b-9b02-469e-a4c4-c9b785a884a5"}},"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"_npmVersion":"12.0.2","description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix"],"electron/**/*.js":["eslint --fix"],"tests/helpers/**/*.js":["eslint --fix"]},"_nodeVersion":"22.23.2","dependencies":{"zod":"^3.0.0","dotenv":"^17.2.3","tiktoken":"^1.0.0","extract-zip":"^2.0.1","opencode-ai":"1.18.15","@electron/get":"^5.0.0","update-notifier":"^7.3.1","@opencode-ai/sdk":"1.18.15","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.19.0","ajv":"^8.20.0","jest":"^29.0.0","yaml":"^2.9.0","sharp":"^0.35.3","eslint":"^8.0.0","espree":"^9.6.1","js-yaml":"^4.3.0","puppeteer":"^24.36.0","lint-staged":"^16.3.2","chrome-remote-interface":"^0.33.3"},"optionalDependencies":{"electron":"^43.1.1"},"_npmOperationalInternal":{"tmp":"tmp/amicus_4.9.4_1788785665218_0.5801784335451676","host":"s3://npm-registry-packages-npm-production"}},"4.9.5":{"name":"amicus","version":"4.9.5","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"author":{"name":"Christian Wagner"},"license":"MIT","_id":"amicus@4.9.5","maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"homepage":"https://bourbondog.github.io/amicus/","bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"bin":{"am":"bin/amicus.js","amicus":"bin/amicus.js"},"dist":{"shasum":"6bf3cd7704d29af2d488c415f6ca25e4bbd64252","tarball":"https://registry.npmjs.org/amicus/-/amicus-4.9.5.tgz","fileCount":405,"integrity":"sha512-Tp87HcQ6J1C2KowKXet/sk8ra4bh41wAZlPpdQm3U88HOs8XNLynWIO5bF2tR7IiNVmbVuiDYdy9ExZJzOrTHQ==","signatures":[{"sig":"MEUCIGeC0d1Lomhwu2JrCJcUHQqhbbUFkECADMJEtw3N6JHUAiEAk5wUeO9/e9g0qLB+O9Ni3qAXyFfl+ecz+957G59+JBs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/amicus@4.9.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4962584},"main":"src/index.js","engines":{"node":">=22.12.0"},"exports":{"./opencode-client":"./src/opencode-client.mjs"},"gitHead":"62f2e633c0206e7a4ffbddce6dc6aa03a1de4272","mcpName":"io.github.BourbonDog/amicus","scripts":{"lint":"eslint src/ electron/ tests/helpers/","test":"jest","start":"node --experimental-top-level-await --experimental-vm-modules bin/amicus.js","posttest":"node scripts/mark-test-passed.js","test:all":"jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='worktrees' && node scripts/mark-test-passed.js","check:sizes":"node scripts/check-file-sizes.js --all","models:info":"node bin/amicus.js models","postinstall":"node scripts/postinstall.js","setup-hooks":"node scripts/setup-hooks.js","models:check":"node bin/amicus.js models --check","test:e2e:mcp":"jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit","check:secrets":"node scripts/check-secrets.js --all","check:tarball":"node scripts/check-tarball-lifecycle.js","generate-docs":"node scripts/generate-docs.js","generate-icon":"node scripts/generate-icon.js","test:thinking":"node scripts/benchmark-thinking.js","validate-docs":"node scripts/validate-docs.js --full","graphify:index":"graphify extract . --backend claude-cli","refresh-models":"node bin/amicus.js models --refresh","check:citations":"node scripts/check-citations.js --all","test:integration":"node scripts/run-integration-keyless.js","check:ci-alias-pins":"node scripts/check-ci-alias-pins.js","generate-docs:check":"node scripts/generate-docs.js --check","models:check:strict":"node bin/amicus.js models --check --strict","test:thinking:quick":"MODELS=gemini node scripts/benchmark-thinking.js","test:integration:live":"jest --runInBand --testPathIgnorePatterns='worktrees' --testMatch='**/tests/**/*.integration.test.js'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c7f57b2b-9b02-469e-a4c4-c9b785a884a5"}},"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"_npmVersion":"12.0.2","description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix"],"electron/**/*.js":["eslint --fix"],"tests/helpers/**/*.js":["eslint --fix"]},"_nodeVersion":"22.23.2","dependencies":{"zod":"^3.0.0","dotenv":"^17.2.3","tiktoken":"^1.0.0","extract-zip":"^2.0.1","opencode-ai":"1.18.15","@electron/get":"^5.0.0","update-notifier":"^7.3.1","@opencode-ai/sdk":"1.18.15","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.19.0","ajv":"^8.20.0","jest":"^29.0.0","yaml":"^2.9.0","sharp":"^0.35.3","eslint":"^8.0.0","espree":"^9.6.1","js-yaml":"^4.3.0","puppeteer":"^24.36.0","lint-staged":"^16.3.2","chrome-remote-interface":"^0.33.3"},"optionalDependencies":{"electron":"^43.1.1"},"_npmOperationalInternal":{"tmp":"tmp/amicus_4.9.5_1788799323317_0.6569536741773665","host":"s3://npm-registry-packages-npm-production"}},"4.9.6":{"name":"amicus","version":"4.9.6","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"author":{"name":"Christian Wagner"},"license":"MIT","_id":"amicus@4.9.6","maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"homepage":"https://bourbondog.github.io/amicus/","bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"bin":{"am":"bin/amicus.js","amicus":"bin/amicus.js"},"dist":{"shasum":"8e499a7dc5b92aa9ce159592e44fc59e924ac004","tarball":"https://registry.npmjs.org/amicus/-/amicus-4.9.6.tgz","fileCount":417,"integrity":"sha512-6BV7WL/wILZlbVSLRGWK67OpApXt7p0cfPH87FyjzTXKADh2V/6RmD/iyesqSgm+zzQxLVYu7KfRRV4RemTG/Q==","signatures":[{"sig":"MEUCIQDnSwt3CJOq/QNF8068smTvabaeVqR5pveBD3wm71aEDQIgaCBrobZ4UQMy3lCbz2usPaiqYr/VlYgLhSK6+Xqb0mk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/amicus@4.9.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5128158},"main":"src/index.js","engines":{"node":">=22.12.0"},"exports":{"./opencode-client":"./src/opencode-client.mjs"},"gitHead":"0bc7109164f60f3962794c7d09085604c86eb798","mcpName":"io.github.BourbonDog/amicus","scripts":{"lint":"eslint src/ electron/ tests/helpers/","test":"jest","start":"node --experimental-top-level-await --experimental-vm-modules bin/amicus.js","posttest":"node scripts/mark-test-passed.js","test:all":"jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='worktrees' && node scripts/mark-test-passed.js","check:sizes":"node scripts/check-file-sizes.js --all","models:info":"node bin/amicus.js models","postinstall":"node scripts/postinstall.js","setup-hooks":"node scripts/setup-hooks.js","models:check":"node bin/amicus.js models --check","test:e2e:mcp":"jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit","check:secrets":"node scripts/check-secrets.js --all","check:tarball":"node scripts/check-tarball-lifecycle.js","generate-docs":"node scripts/generate-docs.js","generate-icon":"node scripts/generate-icon.js","test:thinking":"node scripts/benchmark-thinking.js","validate-docs":"node scripts/validate-docs.js --full","graphify:index":"graphify extract . --backend claude-cli","refresh-models":"node bin/amicus.js models --refresh","check:citations":"node scripts/check-citations.js --all","test:integration":"node scripts/run-integration-keyless.js","check:ci-alias-pins":"node scripts/check-ci-alias-pins.js","generate-docs:check":"node scripts/generate-docs.js --check","models:check:strict":"node bin/amicus.js models --check --strict","test:thinking:quick":"MODELS=gemini node scripts/benchmark-thinking.js","test:integration:live":"jest --runInBand --testPathIgnorePatterns='worktrees' --testMatch='**/tests/**/*.integration.test.js'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c7f57b2b-9b02-469e-a4c4-c9b785a884a5"}},"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"_npmVersion":"12.0.2","description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix"],"electron/**/*.js":["eslint --fix"],"tests/helpers/**/*.js":["eslint --fix"]},"_nodeVersion":"22.23.2","dependencies":{"zod":"^3.0.0","yauzl":"^2.10.0","dotenv":"^17.2.3","tiktoken":"^1.0.0","extract-zip":"^2.0.1","opencode-ai":"1.18.15","@electron/get":"^5.0.0","update-notifier":"^7.3.1","@opencode-ai/sdk":"1.18.15","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.19.0","ajv":"^8.20.0","jest":"^29.0.0","yaml":"^2.9.0","sharp":"^0.35.3","eslint":"^8.0.0","espree":"^9.6.1","js-yaml":"^4.3.0","puppeteer":"^24.36.0","lint-staged":"^16.3.2","chrome-remote-interface":"^0.33.3"},"optionalDependencies":{"electron":"^43.1.1"},"_npmOperationalInternal":{"tmp":"tmp/amicus_4.9.6_1788881613681_0.14164087920413237","host":"s3://npm-registry-packages-npm-production"}},"4.9.7":{"name":"amicus","version":"4.9.7","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"author":{"name":"Christian Wagner"},"license":"MIT","_id":"amicus@4.9.7","maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"homepage":"https://bourbondog.github.io/amicus/","bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"bin":{"am":"bin/amicus.js","amicus":"bin/amicus.js"},"dist":{"shasum":"f24e17d970c7a8555a993e14aa8f0814bf80b5d5","tarball":"https://registry.npmjs.org/amicus/-/amicus-4.9.7.tgz","fileCount":419,"integrity":"sha512-g9CduLQ3EobJxrc3d55QyaJf+DFxS2DgtWCtW7A+yKRwiTSVOUrsFFuuuGJFh1Aae8NuOI/fmGwbO7U/vLSCrQ==","signatures":[{"sig":"MEYCIQDny+wYfICZIpGEjQBQGaWqFU4OH0C+e4REWas+IUpNQwIhAMb0q34MlFHCoJegxFvNfP03mmiDkoNODV6IE77XWby9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/amicus@4.9.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5178737},"main":"src/index.js","engines":{"node":">=22.12.0"},"exports":{"./opencode-client":"./src/opencode-client.mjs"},"gitHead":"e99ddec07fe5f750b417950b252a45c9b31fecbf","mcpName":"io.github.BourbonDog/amicus","scripts":{"lint":"eslint src/ electron/ tests/helpers/","test":"jest","start":"node --experimental-top-level-await --experimental-vm-modules bin/amicus.js","posttest":"node scripts/mark-test-passed.js","test:all":"jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='worktrees' && node scripts/mark-test-passed.js","check:sizes":"node scripts/check-file-sizes.js --all","models:info":"node bin/amicus.js models","postinstall":"node scripts/postinstall.js","setup-hooks":"node scripts/setup-hooks.js","models:check":"node bin/amicus.js models --check","test:e2e:mcp":"jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit","check:secrets":"node scripts/check-secrets.js --all","check:tarball":"node scripts/check-tarball-lifecycle.js","generate-docs":"node scripts/generate-docs.js","generate-icon":"node scripts/generate-icon.js","test:thinking":"node scripts/benchmark-thinking.js","validate-docs":"node scripts/validate-docs.js --full","graphify:index":"graphify extract . --backend claude-cli","refresh-models":"node bin/amicus.js models --refresh","check:citations":"node scripts/check-citations.js --all","test:integration":"node scripts/run-integration-keyless.js","check:ci-alias-pins":"node scripts/check-ci-alias-pins.js","generate-docs:check":"node scripts/generate-docs.js --check","models:check:strict":"node bin/amicus.js models --check --strict","test:thinking:quick":"MODELS=gemini node scripts/benchmark-thinking.js","test:integration:live":"jest --runInBand --testPathIgnorePatterns='worktrees' --testMatch='**/tests/**/*.integration.test.js'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c7f57b2b-9b02-469e-a4c4-c9b785a884a5"}},"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"_npmVersion":"12.0.2","description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix"],"electron/**/*.js":["eslint --fix"],"tests/helpers/**/*.js":["eslint --fix"]},"_nodeVersion":"22.23.2","dependencies":{"zod":"^3.0.0","yauzl":"^2.10.0","dotenv":"^17.2.3","tiktoken":"^1.0.0","extract-zip":"^2.0.1","opencode-ai":"1.18.15","@electron/get":"^5.0.0","update-notifier":"^7.3.1","@opencode-ai/sdk":"1.18.15","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.19.0","ajv":"^8.20.0","jest":"^29.0.0","yaml":"^2.9.0","sharp":"^0.35.3","eslint":"^8.0.0","espree":"^9.6.1","js-yaml":"^4.3.0","puppeteer":"^24.36.0","lint-staged":"^16.3.2","chrome-remote-interface":"^0.33.3"},"optionalDependencies":{"electron":"^43.1.1"},"_npmOperationalInternal":{"tmp":"tmp/amicus_4.9.7_1788996818551_0.6785793535632003","host":"s3://npm-registry-packages-npm-production"}},"4.9.8":{"name":"amicus","version":"4.9.8","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"author":{"name":"Christian Wagner"},"license":"MIT","_id":"amicus@4.9.8","maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"homepage":"https://bourbondog.github.io/amicus/","bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"bin":{"am":"bin/amicus.js","amicus":"bin/amicus.js"},"dist":{"shasum":"e24dae96d37da7d7a9bb2630f1e201fc0990bb40","tarball":"https://registry.npmjs.org/amicus/-/amicus-4.9.8.tgz","fileCount":426,"integrity":"sha512-lHEefq8mjB3VWQiy38QHgxoP3nskM/2NkKvVX8A8rgvJbZKUTyeLQNN6Zte2VRVlhvmnmaNZ5A20rAPULaR28Q==","signatures":[{"sig":"MEUCIQDP5jrSxEbp3pchkXVb7Xnvus2KSKdpF5KTNtgnExm9vgIgT09MLjzMBt6lbHs8alfMzLPqMsfBMVe6B2VRFHudcHk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIAaeUolBz4NKQqGblfhgNJ/THPwlEAiilQ3kY2fkUaGsAiEAoNa+CxmHGUfIgkKyc8SaHtPProVo9NBXQS1qwwzEj6k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/amicus@4.9.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5302883},"main":"src/index.js","engines":{"node":">=22.12.0"},"exports":{"./opencode-client":"./src/opencode-client.mjs"},"gitHead":"c3ceaa83017c3cf1dd543b9e90c6a9ba3a149d00","mcpName":"io.github.BourbonDog/amicus","scripts":{"lint":"eslint src/ electron/ tests/helpers/","test":"jest","start":"node --experimental-top-level-await --experimental-vm-modules bin/amicus.js","posttest":"node scripts/mark-test-passed.js","test:all":"jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='worktrees' && node scripts/mark-test-passed.js","check:sizes":"node scripts/check-file-sizes.js --all","models:info":"node bin/amicus.js models","postinstall":"node scripts/postinstall.js","setup-hooks":"node scripts/setup-hooks.js","models:check":"node bin/amicus.js models --check","test:e2e:mcp":"jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit","check:secrets":"node scripts/check-secrets.js --all","check:tarball":"node scripts/check-tarball-lifecycle.js","generate-docs":"node scripts/generate-docs.js","generate-icon":"node scripts/generate-icon.js","test:thinking":"node scripts/benchmark-thinking.js","validate-docs":"node scripts/validate-docs.js --full","graphify:index":"graphify extract . --backend claude-cli","refresh-models":"node bin/amicus.js models --refresh","check:citations":"node scripts/check-citations.js --all","test:integration":"node scripts/run-integration-keyless.js","check:ci-alias-pins":"node scripts/check-ci-alias-pins.js","generate-docs:check":"node scripts/generate-docs.js --check","models:check:strict":"node bin/amicus.js models --check --strict","test:thinking:quick":"MODELS=gemini node scripts/benchmark-thinking.js","test:integration:live":"jest --runInBand --testPathIgnorePatterns='worktrees' --testMatch='**/tests/**/*.integration.test.js'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c7f57b2b-9b02-469e-a4c4-c9b785a884a5"}},"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"_npmVersion":"12.0.2","description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix"],"electron/**/*.js":["eslint --fix"],"tests/helpers/**/*.js":["eslint --fix"]},"_nodeVersion":"22.23.2","dependencies":{"zod":"^3.0.0","yauzl":"^2.10.0","dotenv":"^17.2.3","tiktoken":"^1.0.0","extract-zip":"^2.0.1","opencode-ai":"1.18.15","@electron/get":"^5.0.0","update-notifier":"^7.3.1","@opencode-ai/sdk":"1.18.15","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.19.0","ajv":"^8.20.0","jest":"^29.0.0","yaml":"^2.9.0","sharp":"^0.35.3","eslint":"^8.0.0","espree":"^9.6.1","js-yaml":"^4.3.0","puppeteer":"^24.36.0","lint-staged":"^16.3.2","chrome-remote-interface":"^0.33.3"},"optionalDependencies":{"electron":"^43.1.1"},"_npmOperationalInternal":{"tmp":"tmp/amicus_4.9.8_1789339798326_0.7964165747631042","host":"s3://npm-registry-packages-npm-production"}},"4.10.0":{"name":"amicus","version":"4.10.0","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"author":{"name":"Christian Wagner"},"license":"MIT","_id":"amicus@4.10.0","maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"homepage":"https://bourbondog.github.io/amicus/","bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"bin":{"am":"bin/amicus.js","amicus":"bin/amicus.js"},"dist":{"shasum":"f800df13816914749112b7a7af9b0aa6c1a5a054","tarball":"https://registry.npmjs.org/amicus/-/amicus-4.10.0.tgz","fileCount":436,"integrity":"sha512-RXBvue6ubmD/iwOxxPoIDmgETqMER+wQ+eShFxgPeocR4Ga/DbpVXFPzj/L3GT0l7Q5Ha10I9zqhsrsSevO+3Q==","signatures":[{"sig":"MEQCIEZY7Mb8SOAGGqf8+Kd12NewMIbpnnREhYHbM+zM43oSAiBIJGBKfLVVpHiYOOvtxP9gx7FJ4NhyiXpgny6yqv+kNQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIHehOo6nTxMveMAGvnRDQpLQv8JuK2LOjMsXCDyRUpPlAiBvzN0uh4Nm6qgmm7/2vTF4EF9eh2u00KXDYMdJI1nfQg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/amicus@4.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5379859},"main":"src/index.js","engines":{"node":">=22.12.0"},"exports":{"./opencode-client":"./src/opencode-client.mjs"},"gitHead":"5055a3483b17fd00306282db599903a207f00746","mcpName":"io.github.BourbonDog/amicus","scripts":{"lint":"eslint src/ electron/ tests/helpers/","test":"jest","start":"node --experimental-top-level-await --experimental-vm-modules bin/amicus.js","posttest":"node scripts/mark-test-passed.js","test:all":"jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='worktrees' && node scripts/mark-test-passed.js","check:sizes":"node scripts/check-file-sizes.js --all","models:info":"node bin/amicus.js models","postinstall":"node scripts/postinstall.js","setup-hooks":"node scripts/setup-hooks.js","models:check":"node bin/amicus.js models --check","test:e2e:mcp":"jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit","check:secrets":"node scripts/check-secrets.js --all","check:tarball":"node scripts/check-tarball-lifecycle.js","generate-docs":"node scripts/generate-docs.js","generate-icon":"node scripts/generate-icon.js","test:thinking":"node scripts/benchmark-thinking.js","validate-docs":"node scripts/validate-docs.js --full","graphify:index":"graphify extract . --backend claude-cli","refresh-models":"node bin/amicus.js models --refresh","check:citations":"node scripts/check-citations.js --all","test:integration":"node scripts/run-integration-keyless.js","check:ci-alias-pins":"node scripts/check-ci-alias-pins.js","generate-docs:check":"node scripts/generate-docs.js --check","models:check:strict":"node bin/amicus.js models --check --strict","test:thinking:quick":"MODELS=gemini node scripts/benchmark-thinking.js","test:integration:live":"jest --runInBand --testPathIgnorePatterns='worktrees' --testMatch='**/tests/**/*.integration.test.js'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c7f57b2b-9b02-469e-a4c4-c9b785a884a5"}},"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"_npmVersion":"12.0.2","description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix"],"electron/**/*.js":["eslint --fix"],"tests/helpers/**/*.js":["eslint --fix"]},"_nodeVersion":"22.23.2","dependencies":{"zod":"^3.0.0","yauzl":"^2.10.0","dotenv":"^17.2.3","tiktoken":"^1.0.0","extract-zip":"^2.0.1","opencode-ai":"1.18.15","@electron/get":"^5.0.0","update-notifier":"^7.3.1","@opencode-ai/sdk":"1.18.15","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.19.0","ajv":"^8.20.0","jest":"^29.0.0","yaml":"^2.9.0","sharp":"^0.35.3","eslint":"^8.0.0","espree":"^9.6.1","js-yaml":"^4.3.0","puppeteer":"^24.36.0","lint-staged":"^16.3.2","chrome-remote-interface":"^0.33.3"},"optionalDependencies":{"electron":"^43.1.1"},"_npmOperationalInternal":{"tmp":"tmp/amicus_4.10.0_1789430996923_0.1674567225761956","host":"s3://npm-registry-packages-npm-production"}},"4.11.0":{"name":"amicus","version":"4.11.0","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"author":{"name":"Christian Wagner"},"license":"MIT","_id":"amicus@4.11.0","maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"homepage":"https://bourbondog.github.io/amicus/","bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"bin":{"am":"bin/amicus.js","amicus":"bin/amicus.js"},"dist":{"shasum":"efd5505e10257c8e821b1a620794b7bd0dcf5e75","tarball":"https://registry.npmjs.org/amicus/-/amicus-4.11.0.tgz","fileCount":452,"integrity":"sha512-iSEsPF8y5/JR9FfF9Mz3e5ob7uETnzJ7eexqshMUyg17vQnM0biOPr9WzejCvmvUm1OE0C9Sa+2ktCHu1S80Xw==","signatures":[{"sig":"MEQCIDz2yw4y/T1IMUC2Wp2XtDEY5JLWQwYHd6mm/3iuPmMnAiBfonNtvSeHqMCMYv+I6crzipTRoQ5PsvthUuomNDqcRQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDyijCtLbec9FjH6n5EUYYkMUxii2/QwDTV1CPc/RwvUgIgasl+twK/QCUsoXIZ1kYV5BvDfuGpTJ7TeBp1KQDXhQo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/amicus@4.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5532217},"main":"src/index.js","engines":{"node":">=22.12.0"},"exports":{"./opencode-client":"./src/opencode-client.mjs"},"gitHead":"17e1f1106cc55d6672e97bee236672431e2a5911","mcpName":"io.github.BourbonDog/amicus","scripts":{"lint":"eslint src/ electron/ tests/helpers/","test":"jest","start":"node --experimental-top-level-await --experimental-vm-modules bin/amicus.js","posttest":"node scripts/mark-test-passed.js","test:all":"jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='worktrees' && node scripts/mark-test-passed.js","check:sizes":"node scripts/check-file-sizes.js --all","models:info":"node bin/amicus.js models","postinstall":"node scripts/postinstall.js","setup-hooks":"node scripts/setup-hooks.js","models:check":"node bin/amicus.js models --check","test:e2e:mcp":"jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit","check:secrets":"node scripts/check-secrets.js --all","check:tarball":"node scripts/check-tarball-lifecycle.js","generate-docs":"node scripts/generate-docs.js","generate-icon":"node scripts/generate-icon.js","test:thinking":"node scripts/benchmark-thinking.js","validate-docs":"node scripts/validate-docs.js --full","graphify:index":"graphify extract . --backend claude-cli","refresh-models":"node bin/amicus.js models --refresh","check:citations":"node scripts/check-citations.js --all","test:integration":"node scripts/run-integration-keyless.js","check:ci-alias-pins":"node scripts/check-ci-alias-pins.js","generate-docs:check":"node scripts/generate-docs.js --check","models:check:strict":"node bin/amicus.js models --check --strict","test:thinking:quick":"MODELS=gemini node scripts/benchmark-thinking.js","test:integration:live":"jest --runInBand --testPathIgnorePatterns='worktrees' --testMatch='**/tests/**/*.integration.test.js'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c7f57b2b-9b02-469e-a4c4-c9b785a884a5"}},"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"_npmVersion":"12.0.2","description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix"],"electron/**/*.js":["eslint --fix"],"tests/helpers/**/*.js":["eslint --fix"]},"_nodeVersion":"22.23.2","dependencies":{"zod":"^3.0.0","yauzl":"^2.10.0","dotenv":"^17.2.3","tiktoken":"^1.0.0","extract-zip":"^2.0.1","opencode-ai":"1.18.15","@electron/get":"^5.0.0","update-notifier":"^7.3.1","@opencode-ai/sdk":"1.18.15","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.19.0","ajv":"^8.20.0","jest":"^29.0.0","yaml":"^2.9.0","sharp":"^0.35.3","eslint":"^8.0.0","espree":"^9.6.1","js-yaml":"^4.3.0","puppeteer":"^24.36.0","lint-staged":"^16.3.2","chrome-remote-interface":"^0.33.3"},"optionalDependencies":{"electron":"^43.1.1"},"_npmOperationalInternal":{"tmp":"tmp/amicus_4.11.0_1789593729137_0.649987122371039","host":"s3://npm-registry-packages-npm-production"}},"4.12.0":{"name":"amicus","version":"4.12.0","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"author":{"name":"Christian Wagner"},"license":"MIT","_id":"amicus@4.12.0","maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"homepage":"https://bourbondog.github.io/amicus/","bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"bin":{"am":"bin/amicus.js","amicus":"bin/amicus.js"},"dist":{"shasum":"03fa81b6618b15e19df1e6351125dd31984fbd5b","tarball":"https://registry.npmjs.org/amicus/-/amicus-4.12.0.tgz","fileCount":458,"integrity":"sha512-kYz6cJ4wj6alzVmrlJwBSsEvJR6huZ36tXLFS8vp11IHvoquATf6FttIpP/I5rKPQvJ3Kai3ZNByZhprYyErEQ==","signatures":[{"sig":"MEUCIQDo7d5QjVDfK2apMvDUYSlgG8+RV/QaVa2EXnd8ibvR0gIgVimxu/Rr6XjLu9qgA9jHWCgcLmF9f5VhdvE3AeCQN34=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDdXZnGAj0YBpFsgC/B+yElQFl5q5OnfV/77WWPmvZC5QIgL3esf7Zq2HYr9z0GvDCdXBzhL4XX7lanCuS9RHuCvXM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/amicus@4.12.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5627206},"main":"src/index.js","engines":{"node":">=22.12.0"},"exports":{"./opencode-client":"./src/opencode-client.mjs"},"gitHead":"acb9780cb5a04dfc391921edf3664aae3f2c8ccb","mcpName":"io.github.BourbonDog/amicus","scripts":{"lint":"eslint src/ electron/ tests/helpers/","test":"jest","start":"node --experimental-top-level-await --experimental-vm-modules bin/amicus.js","posttest":"node scripts/mark-test-passed.js","test:all":"jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='worktrees' && node scripts/mark-test-passed.js","check:sizes":"node scripts/check-file-sizes.js --all","models:info":"node bin/amicus.js models","postinstall":"node scripts/postinstall.js","setup-hooks":"node scripts/setup-hooks.js","models:check":"node bin/amicus.js models --check","test:e2e:mcp":"jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit","check:secrets":"node scripts/check-secrets.js --all","check:tarball":"node scripts/check-tarball-lifecycle.js","generate-docs":"node scripts/generate-docs.js","generate-icon":"node scripts/generate-icon.js","test:thinking":"node scripts/benchmark-thinking.js","validate-docs":"node scripts/validate-docs.js --full","graphify:index":"graphify extract . --backend claude-cli","refresh-models":"node bin/amicus.js models --refresh","check:citations":"node scripts/check-citations.js --all","test:integration":"node scripts/run-integration-keyless.js","check:ci-alias-pins":"node scripts/check-ci-alias-pins.js","generate-docs:check":"node scripts/generate-docs.js --check","models:check:strict":"node bin/amicus.js models --check --strict","test:thinking:quick":"MODELS=gemini node scripts/benchmark-thinking.js","test:integration:live":"jest --runInBand --testPathIgnorePatterns='worktrees' --testMatch='**/tests/**/*.integration.test.js'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c7f57b2b-9b02-469e-a4c4-c9b785a884a5"}},"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"_npmVersion":"12.0.2","description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix"],"electron/**/*.js":["eslint --fix"],"tests/helpers/**/*.js":["eslint --fix"]},"_nodeVersion":"22.23.2","dependencies":{"zod":"^3.0.0","yauzl":"^2.10.0","dotenv":"^17.2.3","tiktoken":"^1.0.0","extract-zip":"^2.0.1","opencode-ai":"1.18.15","@electron/get":"^5.0.0","update-notifier":"^7.3.1","@opencode-ai/sdk":"1.18.15","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.19.0","ajv":"^8.20.0","jest":"^29.0.0","yaml":"^2.9.0","sharp":"^0.35.3","eslint":"^8.0.0","espree":"^9.6.1","js-yaml":"^4.3.0","puppeteer":"^24.36.0","lint-staged":"^16.3.2","chrome-remote-interface":"^0.33.3"},"optionalDependencies":{"electron":"^43.1.1"},"_npmOperationalInternal":{"tmp":"tmp/amicus_4.12.0_1789690864890_0.2067483429506547","host":"s3://npm-registry-packages-npm-production"}},"4.13.0":{"name":"amicus","version":"4.13.0","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"author":{"name":"Christian Wagner"},"license":"MIT","_id":"amicus@4.13.0","maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"homepage":"https://bourbondog.github.io/amicus/","bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"bin":{"am":"bin/amicus.js","amicus":"bin/amicus.js"},"dist":{"shasum":"39b08ed006b93c19e9e4f1c58d93fc7513a28138","tarball":"https://registry.npmjs.org/amicus/-/amicus-4.13.0.tgz","fileCount":458,"integrity":"sha512-JtW71me+Qg45Yae3EnVsSF9ZrgAiHJhrr9qN7KQMxXqDQ6fwd8UxhdlC4JybFgidnMiZo8gAH6LiE55owvsvBA==","signatures":[{"sig":"MEUCIEDrlkBjgKNUOpHQlpRe+lCjZjcnxlcU9BOxRhYWNDdpAiEA3PFGBRE+2Ghqu2YIYAPRk5uWhBzZJw5TspiaxsSBiyw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCr7AHodfbvSVIBMi7K0ye1kY2nPZ43ODfGpqI36/hlLgIgcqs19jTFiKdvnYegr+2IMfz5/UgnnJG+DnOzr3uTu9s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/amicus@4.13.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5680652},"main":"src/index.js","engines":{"node":">=22.12.0"},"exports":{"./opencode-client":"./src/opencode-client.mjs"},"gitHead":"7e2fc83f62ff21012991884bbf04d7b836ce6b26","mcpName":"io.github.BourbonDog/amicus","scripts":{"lint":"eslint src/ electron/ tests/helpers/","test":"jest","start":"node --experimental-top-level-await --experimental-vm-modules bin/amicus.js","posttest":"node scripts/mark-test-passed.js","test:all":"jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='worktrees' && node scripts/mark-test-passed.js","check:sizes":"node scripts/check-file-sizes.js --all","models:info":"node bin/amicus.js models","postinstall":"node scripts/postinstall.js","setup-hooks":"node scripts/setup-hooks.js","models:check":"node bin/amicus.js models --check","test:e2e:mcp":"jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit","check:secrets":"node scripts/check-secrets.js --all","check:tarball":"node scripts/check-tarball-lifecycle.js","generate-docs":"node scripts/generate-docs.js","generate-icon":"node scripts/generate-icon.js","test:thinking":"node scripts/benchmark-thinking.js","validate-docs":"node scripts/validate-docs.js --full","graphify:index":"graphify extract . --backend claude-cli","refresh-models":"node bin/amicus.js models --refresh","check:citations":"node scripts/check-citations.js --all","test:integration":"node scripts/run-integration-keyless.js","check:ci-alias-pins":"node scripts/check-ci-alias-pins.js","generate-docs:check":"node scripts/generate-docs.js --check","models:check:strict":"node bin/amicus.js models --check --strict","test:thinking:quick":"MODELS=gemini node scripts/benchmark-thinking.js","test:integration:live":"jest --runInBand --testPathIgnorePatterns='worktrees' --testMatch='**/tests/**/*.integration.test.js'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c7f57b2b-9b02-469e-a4c4-c9b785a884a5"}},"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"_npmVersion":"12.0.2","description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix"],"electron/**/*.js":["eslint --fix"],"tests/helpers/**/*.js":["eslint --fix"]},"_nodeVersion":"22.23.2","dependencies":{"zod":"^3.0.0","yauzl":"^2.10.0","dotenv":"^17.2.3","tiktoken":"^1.0.0","extract-zip":"^2.0.1","opencode-ai":"1.18.15","@electron/get":"^5.0.0","update-notifier":"^7.3.1","@opencode-ai/sdk":"1.18.15","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.19.0","ajv":"^8.20.0","jest":"^29.0.0","yaml":"^2.9.0","sharp":"^0.35.3","eslint":"^8.0.0","espree":"^9.6.1","js-yaml":"^4.3.0","puppeteer":"^24.36.0","lint-staged":"^16.3.2","chrome-remote-interface":"^0.33.3"},"optionalDependencies":{"electron":"^43.1.1"},"_npmOperationalInternal":{"tmp":"tmp/amicus_4.13.0_1789771290057_0.163807896325193","host":"s3://npm-registry-packages-npm-production"}},"4.14.0":{"name":"amicus","version":"4.14.0","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"author":{"name":"Christian Wagner"},"license":"MIT","_id":"amicus@4.14.0","maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"homepage":"https://bourbondog.github.io/amicus/","bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"bin":{"am":"bin/amicus.js","amicus":"bin/amicus.js"},"dist":{"shasum":"39f7fdc4b766c2ba93f7ac1880aa5e8cce0423c1","tarball":"https://registry.npmjs.org/amicus/-/amicus-4.14.0.tgz","fileCount":461,"integrity":"sha512-Rb54PF0XXaX2Rnhy6NJv+5qsil97YGqkyO8gLdIkw+BiR9r/lAMylVuXoN/Vhdw9F5pzUMJiFwf1SnTNF72YLg==","signatures":[{"sig":"MEQCIBNuktGnTGQJPgL0Eusby35NcLOpTVhSbdrRdZo/Rhe3AiAZYBc1EMZwY+33MH+hfG81uRmJISCtfB0iAYq/RfaI/Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDsNXx/aVu4Pq8jzErtrjUbBb/9ksnOd13alEvea7XLoAIhAMcf4lfLV68177sR9Od31VEm0axmQYm7cfb3viOLHGrR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/amicus@4.14.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5804055},"main":"src/index.js","engines":{"node":">=22.12.0"},"exports":{"./opencode-client":"./src/opencode-client.mjs"},"gitHead":"10d48fc61a783b9f6144c6b507f1292a5828174e","mcpName":"io.github.BourbonDog/amicus","scripts":{"lint":"eslint src/ electron/ tests/helpers/","test":"jest","start":"node --experimental-top-level-await --experimental-vm-modules bin/amicus.js","posttest":"node scripts/mark-test-passed.js","test:all":"jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='worktrees' && node scripts/mark-test-passed.js","check:sizes":"node scripts/check-file-sizes.js --all","models:info":"node bin/amicus.js models","postinstall":"node scripts/postinstall.js","setup-hooks":"node scripts/setup-hooks.js","models:check":"node bin/amicus.js models --check","test:e2e:mcp":"jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit","check:secrets":"node scripts/check-secrets.js --all","check:tarball":"node scripts/check-tarball-lifecycle.js","generate-docs":"node scripts/generate-docs.js","generate-icon":"node scripts/generate-icon.js","test:thinking":"node scripts/benchmark-thinking.js","validate-docs":"node scripts/validate-docs.js --full","graphify:index":"graphify extract . --backend claude-cli","refresh-models":"node bin/amicus.js models --refresh","check:citations":"node scripts/check-citations.js --all","test:integration":"node scripts/run-integration-keyless.js","check:ci-alias-pins":"node scripts/check-ci-alias-pins.js","generate-docs:check":"node scripts/generate-docs.js --check","models:check:strict":"node bin/amicus.js models --check --strict","test:thinking:quick":"MODELS=gemini node scripts/benchmark-thinking.js","test:integration:live":"jest --runInBand --testPathIgnorePatterns='worktrees' --testMatch='**/tests/**/*.integration.test.js'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c7f57b2b-9b02-469e-a4c4-c9b785a884a5"}},"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"_npmVersion":"12.1.0","description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix"],"electron/**/*.js":["eslint --fix"],"tests/helpers/**/*.js":["eslint --fix"]},"_nodeVersion":"22.23.2","dependencies":{"zod":"^3.0.0","yauzl":"^2.10.0","dotenv":"^17.2.3","tiktoken":"^1.0.0","extract-zip":"^2.0.1","opencode-ai":"1.18.15","@electron/get":"^5.0.0","update-notifier":"^7.3.1","@opencode-ai/sdk":"1.18.15","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.19.0","ajv":"^8.20.0","jest":"^29.0.0","yaml":"^2.9.0","sharp":"^0.35.3","eslint":"^8.0.0","espree":"^9.6.1","js-yaml":"^4.3.0","puppeteer":"^24.36.0","lint-staged":"^16.3.2","chrome-remote-interface":"^0.33.3"},"optionalDependencies":{"electron":"^43.1.1"},"_npmOperationalInternal":{"tmp":"tmp/amicus_4.14.0_1790350634363_0.3225988846804442","host":"s3://npm-registry-packages-npm-production"}},"4.14.1":{"name":"amicus","version":"4.14.1","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"author":{"name":"Christian Wagner"},"license":"MIT","_id":"amicus@4.14.1","maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"homepage":"https://bourbondog.github.io/amicus/","bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"bin":{"am":"bin/amicus.js","amicus":"bin/amicus.js"},"dist":{"shasum":"5136e3a0c9f5f284f2bae94a35047bcbe58b9600","tarball":"https://registry.npmjs.org/amicus/-/amicus-4.14.1.tgz","fileCount":461,"integrity":"sha512-R6y0Vm5Y0ydZn6d/tGXH+W9K0PsoyW2OoXv2DYpmcgsO79Q3JHsJXipZ/1/EoFRptcnaISwVtpjYcKZI9ESShg==","signatures":[{"sig":"MEQCIGh79npdZiUVXgiKP2Dox+dom8MrcshJhSMKgQX4D1ijAiAZpYHMRaprK9Lvy3m9MPqZR5LQdJ8g6vqnyJ72T8bSRA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQClW1XzAK0gX+9R9HIW0OYEql+URfNo497YuEsOR6eNHgIhAPqKh/9UW/+wXSSDJlObf3xfSgyhbJ7PZelY3C75Rfqh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/amicus@4.14.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5815119},"main":"src/index.js","engines":{"node":">=22.12.0"},"exports":{"./opencode-client":"./src/opencode-client.mjs"},"gitHead":"1851a6eb01a40e9d6e2835674df57266bea49c62","mcpName":"io.github.BourbonDog/amicus","scripts":{"lint":"eslint src/ electron/ tests/helpers/","test":"jest","start":"node --experimental-top-level-await --experimental-vm-modules bin/amicus.js","posttest":"node scripts/mark-test-passed.js","test:all":"jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='worktrees' && node scripts/mark-test-passed.js","check:sizes":"node scripts/check-file-sizes.js --all","models:info":"node bin/amicus.js models","postinstall":"node scripts/postinstall.js","setup-hooks":"node scripts/setup-hooks.js","models:check":"node bin/amicus.js models --check","test:e2e:mcp":"jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit","check:secrets":"node scripts/check-secrets.js --all","check:tarball":"node scripts/check-tarball-lifecycle.js","generate-docs":"node scripts/generate-docs.js","generate-icon":"node scripts/generate-icon.js","test:thinking":"node scripts/benchmark-thinking.js","validate-docs":"node scripts/validate-docs.js --full","graphify:index":"graphify extract . --backend claude-cli","refresh-models":"node bin/amicus.js models --refresh","check:citations":"node scripts/check-citations.js --all","test:integration":"node scripts/run-integration-keyless.js","check:ci-alias-pins":"node scripts/check-ci-alias-pins.js","generate-docs:check":"node scripts/generate-docs.js --check","models:check:strict":"node bin/amicus.js models --check --strict","test:thinking:quick":"MODELS=gemini node scripts/benchmark-thinking.js","test:integration:live":"jest --runInBand --testPathIgnorePatterns='worktrees' --testMatch='**/tests/**/*.integration.test.js'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c7f57b2b-9b02-469e-a4c4-c9b785a884a5"}},"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"_npmVersion":"12.1.0","description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix"],"electron/**/*.js":["eslint --fix"],"tests/helpers/**/*.js":["eslint --fix"]},"_nodeVersion":"22.23.2","dependencies":{"zod":"^3.0.0","yauzl":"^2.10.0","dotenv":"^17.2.3","tiktoken":"^1.0.0","extract-zip":"^2.0.1","opencode-ai":"1.18.15","@electron/get":"^5.0.0","update-notifier":"^7.3.1","@opencode-ai/sdk":"1.18.15","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.19.0","ajv":"^8.20.0","jest":"^29.0.0","yaml":"^2.9.0","sharp":"^0.35.3","eslint":"^8.0.0","espree":"^9.6.1","js-yaml":"^4.3.0","puppeteer":"^24.36.0","lint-staged":"^16.3.2","chrome-remote-interface":"^0.33.3"},"optionalDependencies":{"electron":"^43.1.1"},"_npmOperationalInternal":{"tmp":"tmp/amicus_4.14.1_1790607170893_0.8082868325929446","host":"s3://npm-registry-packages-npm-production"}},"4.14.2":{"_id":"amicus@4.14.2","bin":{"am":"bin/amicus.js","amicus":"bin/amicus.js"},"bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"dist":{"shasum":"30209f5bf668347aadbb8f9ba4debd817dcae749","tarball":"https://registry.npmjs.org/amicus/-/amicus-4.14.2.tgz","fileCount":463,"integrity":"sha512-qoE5w8rvgaR/3CRj7anp2dnOZeIIj+pJM7QyhzrD7PbepHWCkVUfwkH79AxWkK2u7h38u1AlfA2vwUQZsUfPrQ==","signatures":[{"sig":"MEQCIEr7rPMxL2M612fJyiRY8RnkX8mQboprMw9r6l0LCm4vAiBiZx8i/f/WF7innyRRvmPBr+Rz6QXHaKXwpANM6Bcatg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCICefh+NRNQt+jpaKSNPSR7GsnP+/mJcJ7yK6hORKb/mAAiEArpC+OE11Jw1fFM/z31e29Sii9Wgdm2obWTmzRHj23xw="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/amicus@4.14.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5860510},"main":"src/index.js","name":"amicus","author":{"name":"Christian Wagner"},"engines":{"node":">=22.12.0"},"exports":{"./opencode-client":"./src/opencode-client.mjs"},"gitHead":"16539af433872861c29084192aef803c359889b6","license":"MIT","mcpName":"io.github.BourbonDog/amicus","scripts":{"lint":"eslint src/ electron/ tests/helpers/","test":"jest","start":"node --experimental-top-level-await --experimental-vm-modules bin/amicus.js","posttest":"node scripts/mark-test-passed.js","test:all":"jest --testPathIgnorePatterns='/node_modules/' --testPathIgnorePatterns='worktrees' && node scripts/mark-test-passed.js","check:sizes":"node scripts/check-file-sizes.js --all","models:info":"node bin/amicus.js models","postinstall":"node scripts/postinstall.js","setup-hooks":"node scripts/setup-hooks.js","models:check":"node bin/amicus.js models --check","test:e2e:mcp":"jest tests/mcp-repomix-e2e.integration.test.js --testTimeout=180000 --forceExit","check:secrets":"node scripts/check-secrets.js --all","check:tarball":"node scripts/check-tarball-lifecycle.js","generate-docs":"node scripts/generate-docs.js","generate-icon":"node scripts/generate-icon.js","test:thinking":"node scripts/benchmark-thinking.js","validate-docs":"node scripts/validate-docs.js --full","graphify:index":"graphify extract . --backend claude-cli","refresh-models":"node bin/amicus.js models --refresh","check:citations":"node scripts/check-citations.js --all","test:integration":"node scripts/run-integration-keyless.js","check:ci-alias-pins":"node scripts/check-ci-alias-pins.js","generate-docs:check":"node scripts/generate-docs.js --check","models:check:strict":"node bin/amicus.js models --check --strict","test:thinking:quick":"MODELS=gemini node scripts/benchmark-thinking.js","test:integration:live":"jest --runInBand --testPathIgnorePatterns='worktrees' --testMatch='**/tests/**/*.integration.test.js'"},"version":"4.14.2","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"c7f57b2b-9b02-469e-a4c4-c9b785a884a5"}},"homepage":"https://bourbondog.github.io/amicus/","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"_npmVersion":"12.1.0","description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix"],"electron/**/*.js":["eslint --fix"],"tests/helpers/**/*.js":["eslint --fix"]},"maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"_nodeVersion":"22.23.2","dependencies":{"zod":"^3.0.0","yauzl":"^2.10.0","dotenv":"^17.2.3","opencode-ai":"1.18.15","@electron/get":"^5.0.0","update-notifier":"^7.3.1","@opencode-ai/sdk":"1.18.15","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.19.0","ajv":"^8.20.0","jest":"^29.0.0","yaml":"^2.9.0","sharp":"^0.35.3","eslint":"^8.0.0","espree":"^9.6.1","js-yaml":"^4.3.0","puppeteer":"^24.36.0","lint-staged":"^16.3.2","chrome-remote-interface":"^0.33.3"},"optionalDependencies":{"electron":"^43.1.1"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/amicus_4.14.2_1790688328480_0.6992590962499527"}}},"time":{"created":"2026-06-11T03:01:20.647Z","modified":"2026-09-29T13:25:29.127Z","1.0.0":"2026-06-11T03:01:20.939Z","1.1.0":"2026-06-12T02:46:59.947Z","1.2.0":"2026-06-24T13:12:34.760Z","1.2.1":"2026-06-24T17:06:11.150Z","1.3.0":"2026-06-24T20:08:09.371Z","1.4.0":"2026-06-29T00:32:25.842Z","1.5.0":"2026-06-29T20:45:32.427Z","1.5.1":"2026-06-29T21:26:18.214Z","1.6.0":"2026-06-30T14:03:40.789Z","1.6.1":"2026-06-30T15:58:52.968Z","1.7.0":"2026-06-30T18:22:25.696Z","1.7.1":"2026-06-30T19:51:09.765Z","1.7.2":"2026-06-30T23:14:07.324Z","1.7.3":"2026-07-01T00:12:21.285Z","1.7.4":"2026-07-01T04:18:00.888Z","1.7.5":"2026-07-01T14:47:13.812Z","1.7.6":"2026-07-01T17:29:08.540Z","1.7.7":"2026-07-02T03:32:12.101Z","1.8.0":"2026-07-02T15:24:11.251Z","1.8.1":"2026-07-02T18:00:23.262Z","1.9.0":"2026-07-03T12:56:04.226Z","1.9.1":"2026-07-03T13:14:38.742Z","2.0.0":"2026-07-03T23:18:54.414Z","2.1.0":"2026-07-04T12:16:40.693Z","2.2.0":"2026-07-14T21:28:52.379Z","3.0.0":"2026-07-15T18:06:14.669Z","3.1.0":"2026-07-16T12:12:42.953Z","3.1.1":"2026-07-16T18:30:43.394Z","3.2.0":"2026-07-17T00:08:53.728Z","3.2.1":"2026-07-17T16:25:13.516Z","3.2.2":"2026-07-17T21:04:11.773Z","3.2.3":"2026-07-18T19:00:22.842Z","4.0.0":"2026-07-21T00:36:04.476Z","4.0.1":"2026-07-21T03:23:46.821Z","4.1.0":"2026-07-21T20:15:48.761Z","4.1.1":"2026-07-22T03:27:35.097Z","4.1.2":"2026-07-22T14:11:54.821Z","4.2.0":"2026-07-24T02:42:06.659Z","4.2.1":"2026-07-24T11:33:25.755Z","4.3.0":"2026-07-25T04:34:19.581Z","4.4.0":"2026-07-26T19:50:08.227Z","4.4.1":"2026-07-27T23:59:01.985Z","4.5.0":"2026-07-29T01:11:25.103Z","4.5.1":"2026-07-30T18:34:19.176Z","4.5.2":"2026-08-01T01:37:48.677Z","4.5.3":"2026-08-01T02:17:32.207Z","4.5.4":"2026-08-01T03:20:31.269Z","4.6.0":"2026-08-02T20:05:58.058Z","4.6.1":"2026-08-04T01:06:29.791Z","4.6.2":"2026-08-05T03:41:06.771Z","4.6.3":"2026-08-06T02:57:58.896Z","4.7.0":"2026-08-08T22:36:12.277Z","4.7.1":"2026-08-10T03:55:33.125Z","4.8.0":"2026-08-24T00:01:56.139Z","4.8.1":"2026-08-25T19:37:17.118Z","4.9.0":"2026-08-26T20:56:58.580Z","4.9.1":"2026-08-27T13:36:33.023Z","4.9.2":"2026-08-27T19:17:10.440Z","4.9.3":"2026-08-28T15:01:18.876Z","4.9.4":"2026-09-07T12:54:25.375Z","4.9.5":"2026-09-07T16:42:03.542Z","4.9.6":"2026-09-08T15:33:33.880Z","4.9.7":"2026-09-09T23:33:38.771Z","4.9.8":"2026-09-13T22:49:58.452Z","4.10.0":"2026-09-15T00:09:57.044Z","4.11.0":"2026-09-16T21:22:09.322Z","4.12.0":"2026-09-18T00:21:05.107Z","4.13.0":"2026-09-18T22:41:30.182Z","4.14.0":"2026-09-25T15:37:14.476Z","4.14.1":"2026-09-28T14:52:51.011Z","4.14.2":"2026-09-29T13:25:28.636Z"},"bugs":{"url":"https://github.com/BourbonDog/amicus/issues"},"author":{"name":"Christian Wagner"},"license":"MIT","homepage":"https://bourbondog.github.io/amicus/","keywords":["claude","claude-code","sidecar","multi-model","opencode","openrouter","parallel","llm","gemini","cowork","council","second-opinion","fanout"],"repository":{"url":"git+https://github.com/BourbonDog/amicus.git","type":"git"},"description":"Multi-model LLM Council + parallel AI window for Claude Code. Run structured council reviews across Gemini, GPT, DeepSeek and more — or fork a conversation to any model and fold the results back.","maintainers":[{"name":"bourbondog","email":"sendtowags@outlook.com"}],"readme":"<div align=\"center\">\n\n# Amicus\n\n**A multi-model LLM Council for Claude — with a parallel AI window underneath.**\n\n<p align=\"center\"><img src=\"./docs/cards/council-hero.svg\" width=\"560\" alt=\"The Amicus council ritual across three convenings: independent review spokes, anonymous cross-review, and a non-Claude chair synthesizing the verdict — the third convening seats a local Qwen2.5-Coder on-device alongside cloud peers\"></p>\n\nHand Claude a plan, a design, a diff, an architecture decision, a manuscript — anything — and say *council review this*: Amicus routes it through several models from different families, has them anonymously cross-review each other, and a non-Claude chair synthesizes a verdict you turn into accept/deny edits. Or skip the ceremony and **fork** a single conversation to Gemini, GPT, DeepSeek, or any other model — it works in parallel with full context, and you **fold** the result back when you're ready. Claude orchestrates throughout; you stay in your editor.\n\n**The same council — more ways to run it:** take it **headless in CI** with no Claude runtime, sharpen it with a **debate round**, or run it on **free local models** (Ollama, LM Studio, vLLM) at **$0** — private and offline.\n\n[![npm version](https://img.shields.io/npm/v/amicus?color=D97757&labelColor=1A1C29)](https://www.npmjs.com/package/amicus)\n[![License: MIT](https://img.shields.io/badge/license-MIT-blue?labelColor=1A1C29)](./LICENSE)\n[![Node.js](https://img.shields.io/badge/node-%3E%3D22.12-brightgreen?labelColor=1A1C29)](https://nodejs.org)\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?labelColor=1A1C29)](./CONTRIBUTING.md)\n\n**[Quick start ↓](#quick-start)** · [Commands](#commands) · [Documentation](#documentation) · [Troubleshooting](#troubleshooting)\n\n> **Supported clients:** Claude Code CLI, Claude Desktop, and Claude Cowork are fully tested and supported. Claude Code web is experimental.\n\n</div>\n\n---\n\n## Table of Contents\n\n- [What is Amicus](#what-is-amicus)\n- [The Council](#the-council)\n- [Ways to run the council](#ways-to-run-the-council)\n- [Quick start](#quick-start)\n  - [1. Install](#1-install)\n  - [**2. Configure — don't skip this**](#2-configure--dont-skip-this)\n  - [3. Your first council](#3-your-first-council)\n  - [4. Your first sidecar](#4-your-first-sidecar)\n- [Requirements & Dependencies](#requirements--dependencies)\n- [The parallel window](#the-parallel-window)\n- [Commands](#commands)\n- [Models](#models)\n- [MCP integration](#mcp-integration)\n- [Configuration](#configuration)\n- [JSON output](#json-output)\n- [Windows](#windows)\n- [Troubleshooting](#troubleshooting)\n- [Documentation](#documentation)\n- [Contributing](#contributing)\n- [Built on OpenCode](#built-on-opencode)\n- [Attribution & License](#attribution--license)\n\n---\n\n## What is Amicus\n\nOne install delivers six things that work together:\n\n- **The `second-opinion` LLM Council skill.** Structured multi-model review: independent reviews → anonymized peer cross-review → a non-Claude chair verdict → tiered accept/deny decisions. This is the hero.\n- **The `sidecar` chat skill.** Ad-hoc fork/work/fold — spin up one other model in a real window (or headless), work alongside it, fold the summary back.\n- **The `amicus` CLI (with an `am` alias) and an MCP server.** The engine underneath both skills: launches sessions, shares context, runs parallel waves, and exposes the same surface to Claude as MCP tools.\n- **A self-updating model catalog.** Aliases and validation resolve against a live catalog fetched from provider APIs (cached locally), so model names stay current without a hard-coded table.\n- **Observability.** `amicus watch <id>` renders any live or finished run (fan-out or council) from any terminal; `--follow` streams milestones as they happen; `--on-complete` fires a hook when a run lands; `--retry-failed` plus opt-in cheaper-model fallbacks recover dead legs without relaunching the whole wave; `amicus spend` answers \"what did this cost, and where\" with per-run attribution.\n- **Council Workspace.** `amicus watch <runId> --ui`: a window that shows a council *thinking* — live seats, the anonymized judge packet, the adjudication matrix, dissent drill-in, chair verdict, and cost-by-seat — for both live and historical runs. It also **auto-opens** on an MCP-invoked council run from Claude Code (local), so you no longer have to remember the flag (see [docs/council.md](./docs/council.md#council-workspace-gui)).\n\nClaude is the orchestrator. The council and chat skills run *on top of* the engine; you talk to Claude, and Claude drives Amicus.\n\n<p align=\"center\"><img src=\"./docs/cards/what-is-amicus.svg\" alt=\"One install: the second-opinion council and sidecar skills riding the amicus CLI + MCP engine, with the live model catalog, watch/spend, and Council Workspace fed off it\"></p>\n\n---\n\n## The Council\n\n> Trigger it by saying *\"council review this\"* to Claude, or, on the plugin channel, run **`/amicus:council`** directly.\n\n**Why multi-model.** Any single model — including the one running your session — has consistent blind spots. Route the *same* material through models from *different* families and the disagreements surface: missed issues, overstated confidence, claims one model alone would have waved through. The council is the structured version of that idea.\n\n**The flow, in five beats:**\n\n1. **Independent reviews.** Each council model reviews the artifact on its own (one parallel wave), producing a structured findings list — claim, severity (`blocker | major | minor | nit`), location, rationale.\n2. **Anonymized cross-review.** Claude relabels every review (Review A, B, C…) and sends the identical bundle to every model. Each model ranks the reviews and adjudicates every finding (`agree | dispute | neutral`) — *unknowingly judging its own*, so self-bias washes out. This yields a **street-cred** ranking and sorts findings into **Disputed / Confirmed / Contested / Singleton** tiers. Self-bias is washed out per **seat**: if you deliberately seat one model twice, each seat's vote on the *other* seat's finding is counted as the real peer vote it is, and the finding is flagged when its only corroboration came from its own twin.\n3. **Chair verdict.** A designated **non-Claude** chair receives the de-anonymized picture — all reviews, rankings, and adjudications — and synthesizes an independent verdict. Claude presents it verbatim; Claude does not synthesize.\n4. **Tiered decisions.** Confirmed findings get one bulk accept/deny; Contested and Singleton findings are decided one at a time (accept / deny / modify).\n5. **Outputs applied.** Accepted findings are written into a reviewed copy of the source; the full run is captured in the run folder.\n\n```mermaid\nflowchart LR\n    A[\"Artifact\"] --> B[\"Independent<br/>reviews\"]\n    B --> C[\"Anonymized<br/>cross-review\"]\n    C --> D[\"Chair verdict<br/>(non-Claude)\"]\n    D --> E[\"Tiered<br/>accept / deny\"]\n    E --> F[\"Reviewed copy<br/>+ run folder\"]\n```\n\n<p align=\"center\"><img src=\"./docs/cards/blind-ballots.svg\" width=\"520\" alt=\"Anonymized cross-review: reviews are relabeled A, B, C before the bench ranks them — one model disputes its own review\"></p>\n\n**What a run produces** (in `output/<stem>-council/`):\n\n- `review-<model>.md` × N — each model's independent review.\n- `crossreview-matrix.md` — the adjudication grid plus the de-anonymized street-cred table.\n- `verdict.md` — the chair's synthesis.\n- `report.md` — synthesis + the full decision log + a per-call run-stats table.\n- `report.html` — the deterministic renderer output (adjudication matrix, street-cred table,\n  findings-by-tier, cost — no chair prose). This is the default artifact handed to the user.\n- For an **editable source**, the accepted edits land in `<stem>-reviewed.<ext>` next to the original.\n\n**Optional council elements** (v2.2.0, all default off): four opt-in behaviors, offered once as a menu at launch — nothing turns on unless you name it, and the confirmation lists exactly what's on. **Chair verdict scale** *(standard since v2.2.0's follow-ups — no longer opt-in)*: the chair always closes with 3–5 hard questions and one parseable `VERDICT: Ship it | Fix these first | Fundamental rethink` line.\n\n- **Critic seat** — one reviewer swaps to a four-pass adversarial brief (adversarial pass, edge-case hunt, consistency check, executability test). Its findings enter the same anonymized bundle as everyone else's, so the bench disciplines the critic: manufactured negativity lands Disputed and dies in the tally.\n- **Expert lenses** — each reviewer takes a distinct expert perspective; you pick the panel domain (business, technical, customer, financial, or custom). Lens runs never feed the reliability ledger, and the report discloses the weakened cross-review anonymity.\n- **Debate mode** — after cross-review, every Contested or Disputed finding goes back to its raiser to **defend, amend, or withdraw**, and the disputing judges re-vote. Exactly one rebuttal round, then the final tally.\n- **Claude in the council** — Claude adds its own fresh review to the bundle so the bench ranks and adjudicates it. Claude is *judged* but never votes or chairs, so the verdict stays independent.\n\n<p align=\"center\"><img src=\"./docs/cards/dial-it-up.svg\" alt=\"The four opt-in council elements as toggles — critic seat and debate on, expert lenses and Claude-in-the-council off — with the up-front run-shape disclosure\"></p>\n\nThe critic and lens methodologies are adapted from the `/critic` and `/debate` agents in [John Renaldi's product-kit](https://github.com/jrenaldi79/plugin-marketplace) (MIT); the briefing boilerplate lives in [`skills/second-opinion/SEAT-BRIEFS.md`](./skills/second-opinion/SEAT-BRIEFS.md).\n\n**Cost is disclosed up front.** Before any model launches, you see the run shape — including any enabled optional elements — for example:\n\n> This run uses 3 council models across 2 fanout waves + 1 chair call, with critic seat + debate mode ON (~7 base runs + up to 6 rebuttal calls).\n\nThen the council waits for your confirmation.\n\n<p align=\"center\"><img src=\"./docs/cards/priced-up-front.svg\" width=\"520\" alt=\"The budget gate: a $0.42 run passes, a $31.80 bench is blocked, and the receipt matches the estimate\"></p>\n\nThe skill lives at **[`skills/second-opinion/SKILL.md`](./skills/second-opinion/SKILL.md)**; the design spec behind it is **[`skills/second-opinion/COUNCIL-DESIGN.md`](./skills/second-opinion/COUNCIL-DESIGN.md)**. For what `amicus council tally|verdict|report|stats` actually take as input and produce — field-by-field schemas, verdict.json's provenance, and a full worked example run against the real CLI — see **[docs/council.md](./docs/council.md)**.\n\n---\n\n## Ways to run the council\n\nThe council is the hero — start with the everyday way, and reach for the more powerful ways when you need them:\n\n- **Just ask, in Claude Code.** Hand Claude a plan, diff, design, or manuscript and say *\"council review this.\"* The `second-opinion` skill runs the whole ritual above in your session, with no setup beyond your API keys. This is how most people use it. → [Quick start](#quick-start)\n- **Headless, in CI, with no Claude runtime.** `amicus council run --prompt-file plan.md --council free` runs that same pipeline in one command — reviews → cross-review → tally → chair verdict — writing `verdict.json` and `report.html`. It needs no Claude session, so it drops straight into CI. → [Headless council (CI)](#headless-council-ci)\n- **With a debate round.** Add `--debate` and every Contested or Disputed finding goes back to its raiser to **defend, amend, or withdraw** while the disputing judges re-vote — exactly one rebuttal round, then the final tally. → [The Council](#the-council)\n- **On free, local, private models — at $0.** Point the council (and sidecars) at an OpenAI-compatible server already running on your machine — Ollama, LM Studio, or vLLM — with `amicus provider add`. No API key, no per-token bill, nothing leaves your machine, and it works offline. → [`amicus provider`](./docs/usage.md#amicus-provider)\n- **Pointed at the work itself, not at a review of it.** Add `--intent task` and the same bench *produces* the deliverable instead of critiquing one. → [Task mode (v4.9)](#task-mode-v49)\n\n<p align=\"center\"><img src=\"./docs/cards/same-table.svg\" width=\"520\" alt=\"A local Ollama model seated as an equal council member at $0.00 — a member, not a mode\"></p>\n\n### Headless council (CI)\n\nThe same pipeline runs with no Claude runtime at all: `amicus council run --prompt-file briefing.md --models gemini,glm --chair deepseek --json` executes the review waves, the anonymized cross-review, the tally, and the chair verdict in one command, and writes the full run directory (`verdict.json` with the chair's parsed `overallVerdict`, `report.html`, every review and judge output). That is what powers the repo's own **Council Review GitHub Action v2** — on PRs labeled `council-review` it posts an adjudicated verdict as a check run plus a sticky comment, uploads the run directory as an evidence artifact, and gates merges by default via its `fail_on` input (fails only on a `Fundamental rethink` verdict; pass `fail_on: fix` to require `Ship it`, or `fail_on: none` for report-only). Reference: [docs/council.md](./docs/council.md#amicus-council-run).\n\n**That action can pin a seat's OpenRouter upstream — and ships with no pin in force (#202).**\nOpenRouter serves one model from several upstream providers, and nothing a run records says which\none served a leg, so a slow upstream is indistinguishable from a slow model. Setting the workflow's\n`COUNCIL_PROVIDER_ROUTING` to a routing document makes it write an `opencode.json` into the run\ndirectory before the paid step, pinning one bench model's upstream\n(`provider.openrouter.models.<id>.options.provider`); with a single-slug `only` that model's legs\nbecome attributable by construction. **It ships blank.** The #202 Lever 2 experiment ran two live\nrounds with qwen pinned to one upstream and the time-to-first-token tail did not move: in both rounds\nthe pinned seat's *first* attempt died at the no-output backstop, round 1's retry died too (912 s)\nand lost the seat, and only in round 2 did the retry — and its judge leg — complete through that same\nupstream (3 of the 5 pinned legs across the two rounds failed). So a pin is not a fix, and a merge-gating seat does not sit on a single upstream for no\nmeasured benefit. The\nmachinery stays, gated and tested, for the next question. When a pin *is* set: the document is\nvalidated before it is written, a keyless pre-run check skips the pin for that run if a named\nupstream is not listed and serving, a keyless canary pins that the engine still carries the file to\nthe request body, and a post-run step warns when a pinned model's leg died. To read such a run, open\nits `council-run` evidence artifact — the `opencode.json` inside it is the routing that was in force.\n\n<p align=\"center\"><img src=\"./docs/cards/ship-gate.svg\" alt=\"A council gating a release pipeline: exit 0 ships it, exit 1 sends it back\"></p>\n\n### Free council (zero-cost)\n\nWant the cross-examination without the model spend? `amicus setup` offers a **Free OpenRouter council** mode — readline wizard option 2, and the Electron **Models** step. It detects the free `:free` models live from the catalog, lets you multi-pick (Enter takes a vendor-diverse default), and saves them as `councils.free` — a first-class `councils` config primitive seeded under collision-safe `free-*` aliases. Your `config.default` is left untouched, and all you need is an `OPENROUTER_API_KEY`.\n\nRun it anywhere a council runs:\n\n```bash\namicus fanout --council free --prompt \"Review this design\"\n```\n\nThe `amicus_fanout` MCP tool takes the same `council` parameter, and the `second-opinion` skill reads `councils.free` automatically. A member that gets delisted is dropped with a warning — the council still runs as long as ≥2 survive. Free models are **rate-limited and quality-variable**, and some return 404 unless you enable data-sharing at [openrouter.ai/settings/privacy](https://openrouter.ai/settings/privacy).\n\n### Council presets\n\nSave your own named member lists with `amicus council save <name> --models a,b,c` (≥2 resolvable aliases or `provider/model` IDs), then run them with `--council <name>` anywhere a council runs. `amicus council list` shows saved presets plus three built-in benches that work with no setup at all — `free` (the same zero-cost dynamic pick described above, used when you haven't seeded `councils.free`), `budget` (cheap workhorses, one per vendor family), and `frontier` (premium flagships, one per vendor family). `amicus council show <name>` resolves any of them (saved or built-in) and reports which members are currently usable. A saved council always shadows a built-in of the same name — exactly how the wizard's `councils.free` seeding already worked.\n\n### Policy packs (v4.5)\n\nA council preset only saves the bench. A **pack** saves the whole run — bench, chair, critic/lenses, cost/timeout options, and a briefing template — as one named, shareable JSON file:\n\n```bash\namicus pack save review-bench --kind council --bench gemini,deepseek,gpt --chair opus --timeout 20 --max-cost 2\namicus council run --pack review-bench --prompt-file plan.md --json\n```\n\nAny flag you also type on that second line overrides just that value — a pack only fills in what you didn't say explicitly, and it's recorded on the run either way. Packs work the same way on `fanout`/`start` and on the `amicus_fanout`/`amicus_start`/`amicus_council_run` MCP tools. `amicus pack list`/`show`/`rm` manage them, and `--from-run <id>` builds one from a run you already liked instead of typing flags at all. Full reference: [docs/usage.md § Policy packs](./docs/usage.md#policy-packs).\n\n### Task mode (v4.9)\n\nA council reviews by default. `amicus council run --intent task --prompt-file brief.md` — or `intent: 'task'` on the `amicus_council_run` MCP tool — points the same pipeline at open-ended work instead: every seat **produces** the analysis, answer, or artifact the briefing asks for, the judges rank *which response best does the work* and adjudicate the claims each one declared, and the chair synthesizes an **answer** — `Converged | Split | Insufficient` — never a review verdict. The two scales share no value, so a task run can never report `Ship it` and a review run can never report `Converged`. Task runs deliberately write nothing to the reliability ledger (rankings there measure concurrence, not defect confirmation) and say so on the surfaces that would otherwise look empty; a review run is byte-identical to before. Full reference: [docs/council.md § Task mode](./docs/council.md#task-mode---intent-task).\n\n### Briefing templates (v4.5)\n\n`--template <name> --artifact <file>` (plus repeatable `--var k=v`) renders a `{{prompt}}`/`{{artifact}}`-style Markdown template before it's sent, on `start`/`fanout`/`council run` alike — templates live in `~/.config/amicus/templates/`, and a pack's `briefing.template` is how one reaches an MCP-invoked run (MCP has no template param of its own). `amicus template list|show` manage them; v4.5 ships one built-in, `review`. Full reference: [docs/usage.md § Briefing templates](./docs/usage.md#briefing-templates).\n\n---\n\n## Quick start\n\n> **Two install channels — read this first.** Amicus ships two ways, and CLI commands look different in each:\n>\n> - **npm global** (`npm install -g amicus` or the install script) — **the recommended path.** Puts `amicus`/`am` on your `PATH`, so every `amicus <command>` example in this README works as written, and provisions the Electron GUI that the parallel window runs in.\n> - **Claude Code plugin** (`/plugin install amicus@bourbondog-amicus`) does **not** put a CLI on your `PATH`. CLI calls go through `npx -y amicus@latest <command>` instead — e.g. `amicus doctor` becomes `npx -y amicus@latest doctor`. In exchange, the plugin channel gets two things npm does **not**: the slash commands `/amicus:council` and `/amicus:sidecar`. **These are plugin-channel-ONLY — npm users don't get them** and drive the same skills by saying \"council review this\" / talking to Claude instead.\n>\n> See the [comparison table below](#1-install) for the full tradeoff — the short version is that npm is what you want for the interactive window, and the two can be installed side by side.\n>\n> **Convention used throughout this README:** plugin-channel users: prefix CLI examples with `npx -y amicus@latest` (skip the bare `amicus`/`am`). Individual code blocks are not duplicated per channel — this note is the one translation you need.\n\n### 1. Install\n\nEvery path delivers the MCP server and both skills. They differ in what else you get:\n\n| | **npm / install script** | **Claude Code plugin** |\n|---|---|---|\n| `amicus` / `am` on your `PATH` | ✅ | ❌ — every call is `npx -y amicus@latest <command>` |\n| **Interactive Electron window** (`amicus start`, `watch --ui`) | ✅ provisioned at install | ⚠️ best-effort — see below |\n| Self-heal when the GUI breaks (`amicus doctor --fix`) | ✅ | ❌ no CLI to run it with |\n| MCP server + both skills | ✅ | ✅ |\n| Slash commands `/amicus:council`, `/amicus:sidecar` | ❌ | ✅ |\n\n---\n\n#### With npm — recommended\n\nThe canonical path, and the one that gets you the full interactive experience (needs [Node.js](https://nodejs.org) ≥ 22.12):\n\n```bash\nnpm install -g amicus\n```\n\nThis is the path to pick unless you specifically want the plugin's slash commands. It puts `amicus`/`am` on your `PATH` — which is what the **parallel window** is driven by — and its postinstall provisions the Electron GUI, with `amicus doctor --fix` to repair it in place if anything goes wrong later.\n\n#### With the install script\n\nSame result as npm, one command — macOS, Linux, or Windows (needs [Node.js](https://nodejs.org) ≥ 22.12):\n\n```bash\n# macOS / Linux\ncurl -fsSL https://raw.githubusercontent.com/BourbonDog/amicus/main/install.sh | sh\n```\n\n```powershell\n# Windows (PowerShell)\nirm https://raw.githubusercontent.com/BourbonDog/amicus/main/install.ps1 | iex\n```\n\n#### As a Claude Code plugin\n\nThe most native *registration* path if you use Claude Code, and the only one with slash commands:\n\n```text\n/plugin marketplace add BourbonDog/amicus\n/plugin install amicus@bourbondog-amicus\n/reload-plugins\n```\n\nClaude Code registers the MCP server and both skills for you — nothing to configure. You also get **`/amicus:council`** (run a full council review) and **`/amicus:sidecar`** (fork a conversation to another model), which the npm paths don't have.\n\n> **Know the tradeoff before you pick this.** The plugin does not put `amicus` on your `PATH`, so every CLI call goes through `npx -y amicus@latest <command>` — including the ones that open the interactive window. It also skips amicus's postinstall, which is what provisions and self-heals the Electron GUI. The window still works when Electron lands in the npx cache, and the Council Workspace still auto-opens on a council run from Claude Code — but nothing repairs it when Electron *doesn't* land, and each new release re-resolves into a fresh cache directory. **If you want the parallel window as a daily driver, install with npm.**\n>\n> (Also: the first council/sidecar call downloads the OpenCode engine.)\n\n**Running both is supported** — and is what you want if you like the slash commands *and* the window. Install with npm for the CLI and the GUI, then add the plugin for `/amicus:council`. Your config, API keys, and session history live outside either install and are shared automatically.\n\n> One thing to know if you do: the MCP server is a **single registration named `amicus`**, so it resolves to one install — whichever registered most recently, which is usually the plugin's `npx -y amicus@latest mcp`. That's harmless (both serve the same tools), but it means the copy your CLI runs and the copy Claude's MCP tools run can differ. `amicus doctor` reports the MCP launch path explicitly and `--fix` repairs that copy in place, so if a GUI or engine problem ever shows up in Claude but not in your terminal, that's the first thing to check.\n\nFor the **npm** and **install-script** paths, a postinstall auto-configures everything — no manual registration:\n\n- Registers the **MCP server** in Claude Code and in Claude Desktop / Cowork, so the Amicus tools appear natively.\n- Installs **both skills** into `~/.claude/skills/` — `second-opinion` (the council) and `sidecar` (the chat skill).\n\n> **Skipped the postinstall?** `--ignore-scripts` npm installs never run it, and the plugin channel skips it by design (Claude Code registers the plugin's MCP server and skills itself). Either way, run `amicus init` (plugin channel: `npx -y amicus@latest init`) any time to (re)register on demand — e.g. to also wire up Claude Desktop, which the plugin path doesn't touch. See [`amicus init`](./docs/usage.md#amicus-init).\n\n---\n\n### 2. Configure — don't skip this\n\n> ### ⚠️ Installing is not enough. Run this or nothing will work.\n>\n> Amicus has **no API keys of its own** — it drives *your* accounts at OpenRouter, Google,\n> OpenAI, Anthropic, or DeepSeek. Until you add at least one key, every council and every\n> sidecar fails at the first model call. **This is the step people skip.**\n\n```bash\namicus setup\n# plugin-only install (no CLI on PATH):\nnpx -y amicus@latest setup\n```\n\n**One key is enough to start.** [OpenRouter](https://openrouter.ai/keys) is the usual choice —\na single key reaches every model in the catalog, which is what makes a mixed-vendor council\nwork without four separate accounts.\n\nThis opens a graphical wizard:\n\n| Step | What it does |\n|------|--------------|\n| **1. API Keys** | Enter keys for OpenRouter, Google, OpenAI, Anthropic, and/or DeepSeek. Each is validated live against the provider's API. Written to `~/.config/amicus/.env` with `0600` permissions. |\n| **2. Default Model** | Pick your go-to model from a searchable live picker (backed by the catalog) — each provider card also lets you drill down to a specific model instead of just the family default. Used whenever you omit `--model`. |\n| **3. Model Routing** | Decide which provider serves each model — e.g. route Gemini through a direct Google key and everything else through OpenRouter. |\n| **4. Review** | Confirm the configuration before saving. |\n\n> **Headless environments:** if Electron can't open a window, the wizard falls back to a readline-based setup in the terminal.\n\n**Confirm it took** — this is the fastest way to know you're actually ready:\n\n```bash\namicus doctor\n```\n\nGreen across the board (`0 error(s)`) means keys, catalog, engine, skills, and MCP registration\nare all in place. Anything red, `amicus doctor` tells you exactly what to run next.\n\n---\n\n### 3. Your first council\n\nNo flags to learn. In Claude Code or Cowork, give Claude a document and say:\n\n> *council review this*\n\nPlugin-channel users can also type **`/amicus:council`** directly instead of phrasing it as a request — same skill, explicit invocation.\n\nClaude prepares the material, recommends a bench of models, discloses the run shape and cost, and orchestrates the rest. You make the accept/deny calls at the end. (The `second-opinion` skill is what teaches Claude to recognize this — if nothing happens, run `amicus doctor` (or `npx -y amicus@latest doctor`). npm/install-script installs place the skill at `~/.claude/skills/second-opinion/`; plugin installs keep it inside the plugin itself — check `/plugin` in Claude Code to confirm amicus is enabled.)\n\n### 4. Your first sidecar\n\nThe sidecar is the lower-level path — you can invoke it by phrase through Claude too, but the CLI gives you the flags directly:\n\n```bash\namicus start --model gemini --prompt \"Fact-check the auth approach Claude just proposed\"\n```\n\nA window opens alongside your editor with Gemini ready, pre-loaded with your conversation. Work with it, then **Fold** the summary back.\n\n### Updating\n\nAmicus checks the npm registry at most once every 24 hours (cached background check). When an update exists, the CLI prints a notice and the Electron toolbar shows a one-click **Update** banner. Or run it yourself:\n\n```bash\namicus update\n```\n\n### Install from GitHub\n\nThe npm package is the primary path. To install straight from the repo instead — the postinstall runs **identically** (same MCP registration, same two skills) — you just need `git` on your `PATH`:\n\n```bash\nnpm install -g github:BourbonDog/amicus\n```\n\nSee [Requirements & Dependencies](#requirements--dependencies) for the full prerequisite list.\n\n### Contributor setup\n\nCloning to develop Amicus? See **[CONTRIBUTING.md](./CONTRIBUTING.md)** for the dev setup, git-hook wiring, and test commands.\n\n---\n\n## Requirements & Dependencies\n\nEverything you need before your first run, and what's optional.\n\n**Runtime**\n\n- **Node.js ≥ 22.12** — `node --version` to check. This is the only hard runtime prerequisite.\n- **An active Claude Code or Cowork session** — Amicus is orchestrated by Claude; it is not a standalone chatbot.\n\n**Install path & the git toolchain**\n\n- **From the npm registry (recommended):** `npm install -g amicus`. No build toolchain required — the package ships prebuilt.\n- **From GitHub:** `npm install -g github:BourbonDog/amicus` runs **identically** — same MCP registration, same two skills, same postinstall. The one extra requirement is a working **git** on your `PATH`, since npm clones the repo to install it (`git --version` to check).\n\n**Model API keys** — at least one is required\n\n- **OpenRouter** covers the most models with one key, or use a **direct Google / OpenAI / Anthropic / DeepSeek** key. Add one with `amicus setup` or `amicus key <provider> <key>`; keys live in `~/.config/amicus/.env`. The supported env vars are `OPENROUTER_API_KEY`, `GOOGLE_GENERATIVE_AI_API_KEY` (the legacy `GEMINI_API_KEY` is still accepted), `OPENAI_API_KEY`, `ANTHROPIC_API_KEY`, and `DEEPSEEK_API_KEY`.\n- **Or skip cloud keys entirely and run local, at $0.** Point Amicus at an OpenAI-compatible server already running on your machine — LM Studio, Ollama, or vLLM — and there's no API key, no per-token bill: `amicus provider add lmstudio --preset lmstudio` (LM Studio), `--preset ollama` (Ollama), or `--preset vllm` (vLLM). See [`amicus provider`](./docs/usage.md#amicus-provider).\n- ⚠️ **OpenRouter keys need purchased credits.** A brand-new, zero-credit key *passes* setup's live validation but then fails at runtime with a **402** on the first real call. Buy a small amount of credit before you run a council.\n\n**Electron — optional (GUI only)**\n\n- Electron is an **optional** dependency. It powers the graphical setup wizard and the parallel sidecar window. **Headless runs and the full council work without it** — if Electron is absent or can't open a window, `amicus setup` falls back to a readline wizard and sidecars run headless. `amicus doctor` reports Electron's presence accurately and never treats its absence as fatal.\n\n**The OpenCode engine**\n\n- The bundled **`opencode-ai`** engine (the conversation runtime) installs automatically as a normal dependency — you don't install it separately. Its own postinstall lays down ~11 per-platform binaries; a **transient** failure there (a spawn `ENOENT`, or an antivirus file-lock) can roll back the atomic install. If install fails partway or `amicus doctor` reports the OpenCode binary \"not found\", just **re-run** `npm install -g amicus` (clear the cache first if it persists: `npm cache clean --force`).\n\n**OS support**\n\n- **Windows 11, macOS, and Linux** are all supported; Amicus is first-class on **Windows** (developed and tested there, no WSL required). See the [Windows](#windows) section for platform specifics.\n\n**What a run costs.** A sidecar is a single model call. A full council is typically **~5–8 paid model calls** (e.g. 3 reviewers across 2 fan-out waves + 1 chair). Amicus shows an estimate before each council and enforces a built-in budget gate that refuses ultra-expensive models (o3-pro class) unless you opt in with `--no-cost-gate`. You pay your providers directly for the tokens; Amicus itself is free and open-source.\n\n---\n\n## The parallel window\n\nWhen you don't need a full council — just one other model's take — fork a conversation. Amicus extracts your current Claude Code context, opens a session pre-loaded with it, you **work** alongside it, and you **fold** a structured summary back into Claude's context when you're done.\n\n**Interactive (default):** a real window opens next to your editor. Switch models mid-conversation with the model switcher, then click the **FOLD** button (or press `Cmd+Shift+F`) to generate the summary. Customize the shortcut with `--fold-shortcut`.\n\n**Headless (`--no-ui`):** the agent works autonomously and emits the fold summary when it finishes — ideal for bulk work like test generation or documentation. Pair with `--json` for a machine-readable run document.\n\n**How the fold handoff actually works.** A fold is a summary handoff, not a live handback — once you fold, the sidecar model's context is gone. Mechanically: clicking **FOLD** asks the model for a structured summary, then writes it to the Electron process's stdout as a `[SIDECAR_FOLD]`-tagged block; the amicus runner that spawned Electron captures that stdout and persists it as the session's `summary.md` (under the session directory, alongside `metadata.json` and `conversation.jsonl`). Nothing pushes the result back to you automatically — your orchestrating agent picks it up on request, via `amicus read <taskId>` (CLI) or the `amicus_read` MCP tool. Either path returns the summary wrapped in an `<untrusted_sidecar_output>` fence, since it's prose from another model entering your context and should be treated as data, not instructions.\n\n**Context sharing.** Your conversation history is passed automatically. Tune it:\n\n- `--context-turns <N>` — max conversation turns to include (default 50).\n- `--context-since <duration>` — time window (e.g. `2h`); overrides turns.\n- `--context-max-tokens <N>` — cap the context size (default 80000).\n- `--no-context` — skip parent history entirely.\n\n**MCP inheritance.** Amicus discovers the MCP servers your Claude Code session uses and passes them through, so the forked model has the same tools you do. Control it:\n\n- `--no-mcp` — don't inherit any parent MCP servers.\n- `--exclude-mcp <name>` — drop a specific server (repeatable).\n- `--mcp <name=url|name=command>` — add one.\n\n**Safety.** Amicus warns on **file conflicts** (a file changed externally while the session ran) and on **context drift** (the shared context may be stale relative to your current session), so a fold never silently overwrites newer work.\n\n![The parallel-window architecture: fork, work, fold](./docs/architecture.png)\n\n---\n\n## Commands\n\n| Command | What it does |\n|---------|--------------|\n| `amicus start` | Launch a new session (interactive or `--no-ui`). |\n| `amicus fanout` | Run N models on the same prompt in parallel (headless). |\n| `amicus list` | Show previous sessions — shows the `--tag <t>` set at launch, `--search <q>` filters, `--limit <n>` caps the rows, `--all` spans every known project (council runs: current project only — the CLI says so in-table). |\n| `amicus resume` | Reopen a previous session with full history. |\n| `amicus continue` | Start a new session building on a previous one. |\n| `amicus read` | Output a session's summary / conversation / metadata. |\n| `amicus status <id>` | One-shot status for a session or fan-out wave (human or `--json`; `--wave <id>` alternative spelling). |\n| `amicus watch <id>` | Live-render a fan-out wave, council run, or session from any terminal until it finishes — in-place table on a TTY, `--plain` milestone lines, or `--json` NDJSON; exit code maps the terminal state. `--ui` opens the [Council Workspace](./docs/council.md#council-workspace-gui) window instead (interactive-only, no `--json`). |\n| `amicus models` | List, search, refresh the catalog, or audit aliases. |\n| `amicus aliases` | Your model aliases — following / pinned; `--review` walks the update proposals, `--ui` does the same in the setup window, `--unpin <name>` removes a pin, `--json` for scripts; `--review --owner` (maintainers) reviews the shipped pins; after any command, a once-a-day notice when updates are waiting, and a weekly background catalog refresh (`aliasReview.autoRefresh: false` turns both off). |\n| `amicus doctor` | Diagnose your setup — keys, default model, catalog, aliases, shipped pins, OpenCode binary, Electron, skills, MCP registration, OpenRouter credit (`--json`; `--fix` self-heals what it can). |\n| `amicus spend` | Cross-run cost rollup from the spend ledger, with per-run attribution — total + per-model spend, tokens, and source mix, most-expensive first (`--wave`/`--council`/`--project`/`--model`/`--op`/`--failed` filter it, `--group-by` buckets it, `--since 7d` windows it; `--json` for a versioned doc; shows remaining OpenRouter credit when a key is configured). |\n| `amicus key` | Manage API keys non-interactively: `amicus key <provider> <key>` saves after live validation; `--remove`; bare `amicus key` lists providers. |\n| `amicus provider` | Add/list/test/remove local, OpenAI-compatible providers (LM Studio, Ollama, vLLM) — configured with `--preset` or `--url`, at **$0** marginal cost (`--json` on every subcommand). |\n| `amicus council` | Council math: `tally <input.json>` (deterministic tiers + ledger append), `stats` (reviewer reliability), `report <verdict.json> [--md\\|--html]`, `validate <file>` (findings-block check, exit 0/2/1), `verdict <tally.json> [--decisions <d.json>] [-o <out.json>]` (build + write verdict.json). Presets: `save <name> --models a,b,c`, `list [--json]`, `show <name> [--json]` — see [Council presets](#council-presets) for the built-in `free`/`budget`/`frontier` benches. |\n| `amicus council run` | The headless council engine: Stage-1 reviews → anonymized cross-review → deterministic tally → non-Claude chair verdict, in one command with no Claude runtime. Add `--debate` for a Stage-2.5 rebuttal round (raisers defend/amend/withdraw, disputing judges re-vote) and `--claude-review <file>` to enter Claude's own review as judged review N+1. Writes a run directory with `verdict.json` (including `overallVerdict`) and `report.html` — see [docs/council.md](./docs/council.md#amicus-council-run). |\n| `amicus pack` | Save a full run configuration — bench, chair/critic/lenses, options, briefing template — and invoke it by name: `save <name> --kind council\\|fanout\\|solo [flags]` (or `--from-run <id>`), `list`, `show <name>`, `rm <name>`. `--pack <name>` on `start`/`fanout`/`council run` loads one; explicit flags always override it. See [docs/usage.md § Policy packs](./docs/usage.md#policy-packs). |\n| `amicus template` | `list`/`show <name>` a briefing template. `--template <name> [--artifact <file>] [--var k=v]` on `start`/`fanout`/`council run` renders one before the briefing is sent. See [docs/usage.md § Briefing templates](./docs/usage.md#briefing-templates). |\n| `amicus abort` | Abort a running session (or `--all`). |\n| `amicus setup` | Configure default model, API keys, and aliases. |\n| `amicus update` | Update to the latest version. |\n| `amicus mcp` | Start the MCP server (stdio transport). |\n| `amicus init` | Re-run skill install + MCP registration on demand — `--claude`/`--desktop` to scope it, `--json` for per-step status. For plugin-channel / `--ignore-scripts` installs (which skip the npm postinstall), a failed postinstall, or repairing deleted `~/.claude` state. |\n\nThe `am` alias is interchangeable with `amicus` everywhere.\n\n**Every flag, every subcommand, every example** — including the full `amicus start` option table, `amicus fanout` (supports `--session-id`, `--council <name>` as an alternative to `--models`), council presets, and every other command — lives in **[docs/usage.md](./docs/usage.md)**, the canonical CLI reference. What follows here is just enough to see the shape of a run.\n\n`amicus status <id>` output. Human-readable:\n\n```\n$ amicus status demo123\nTask:     demo123\nStatus:   complete (terminal)\nElapsed:  5m 0s\nModel:    google/gemini-2.5-flash\n```\n\n`--json`:\n\n```\n$ amicus status demo123 --json\n{\n  \"taskId\": \"demo123\",\n  \"status\": \"complete\",\n  \"elapsed\": \"5m 0s\",\n  \"version\": \"4.14.2\",\n  \"model\": \"google/gemini-2.5-flash\",\n  \"phase\": \"terminal\"\n}\n```\n\n`amicus list --status` accepts `running`, `complete`, `error`, `timed-out`, `aborted`, `crashed`, `idle-timeout`. Rows carry a `TAG` column (set at launch with `--tag <t>`); `--search <q>` filters by id/tag/briefing substring, `--limit <n>` caps the row count (0 = unlimited), and `--all` lists across every known project (council runs stay scoped to the current project — no cross-project index exists, and the listing discloses that). Full field-by-field docs (a running session's `messages`/`STALLED` reporting, wave-ID status shape, etc.) are in [docs/usage.md](./docs/usage.md).\n\n---\n\n## Models\n\nAmicus does **not** ship a frozen table of model names. Aliases and validation resolve against a **live catalog** fetched from provider APIs and cached at `~/.config/amicus/model-catalog.json` (24-hour TTL; the fetch works without an API key). Run `amicus models` to see exactly what resolves on *your* machine — that's the source of truth, not this README.\n\n```bash\namicus models                 # list the catalog\namicus models --search gemini # filter by substring\n```\n\n`start`/`fanout` validate your model against the catalog before launching (skip with `--no-validate-model`). You can also always bypass aliases and pass a full model ID directly — bare `provider/model` (canonical) or `openrouter/provider/model` (explicit override); see Routing below. Catalog internals, alias management, and the full-id passthrough table are in **[docs/usage.md § Models](./docs/usage.md#amicus-models--the-model-catalog)**.\n\n<p align=\"center\"><img src=\"./docs/cards/build-the-bench.svg\" alt=\"Direct keys, one OpenRouter key, or local runtimes seat a mixed bench — different families, different blind spots\"></p>\n\n### Routing\n\n- **Bare `provider/model`** (e.g. `openai/gpt-5.5`, `anthropic/claude-opus-4-8`, `google/gemini-3.6-flash`) is the canonical, policy-routed form — Amicus routes it **direct-first**: your direct provider key when one is configured, falling back to OpenRouter automatically when only an OpenRouter key exists.\n- **`openrouter/provider/model`** is an explicit override that always forces OpenRouter, even when a direct key is present — reach for it deliberately, or for gateway-only vendors with no direct integration (Qwen, Grok, Mistral, GLM, …).\n- **`--gateway auto|direct|openrouter`** (CLI, also on the MCP tools) overrides routing for one call; `auto` is the direct-first default. `routing.prefer` in `config.json` (`\"direct\"` by default, or `\"openrouter\"`) sets the global default.\n- **One-time migration notice:** if you hold both an OpenRouter key and a direct key for a vendor, the first launch that resolves to that vendor under **`auto`** routing (the default) prints a one-time notice that routing moved to direct API; set `routing.prefer: \"openrouter\"` to restore the old all-OpenRouter behavior. The notice never fires when you explicitly pass `--gateway direct` — that's your own choice, not a migration.\n\nFull details, the API-key/prefix table, and the migration notice are in **[docs/configuration.md](./docs/configuration.md)**.\n\n---\n\n## MCP integration\n\nThe MCP server is auto-registered on install (Claude Code and Claude Desktop / Cowork). It exposes these tools:\n\n| Tool | What it does |\n|------|--------------|\n| `amicus_start` | Spawn a session; returns a task ID immediately. |\n| `amicus_status` | Poll a task (or a fanout wave) for completion. |\n| `amicus_wait` | Block inside one tool call until a session/wave finishes or the wait window closes. |\n| `amicus_read` | Read results: summary, conversation, metadata, or JSON. |\n| `amicus_list` | List past sessions (`tag` field; `search` filters by id/tag/briefing substring). |\n| `amicus_resume` | Reopen a session. |\n| `amicus_continue` | New session building on a previous one. |\n| `amicus_abort` | Stop a running session. |\n| `amicus_setup` | Open the setup wizard. |\n| `amicus_guide` | Return usage guidance (model choice, briefings, polling). |\n| `amicus_fanout` | Launch a same-prompt wave; returns `{ waveId, taskIds[] }`. |\n| `amicus_council_tally` | Aggregate a council wave's reviews into a scored tally. |\n| `amicus_council_stats` | Reviewer-reliability stats from past council runs. |\n| `amicus_verdict` | Build the final council verdict from a tally + decisions; writes `<outDir>/report.html` when `render:true` and `outDir` are given. |\n| `amicus_council_run` | Run the full headless council engine (Stage-1 reviews → anonymized cross-review → tally → chair verdict); returns `{ runId, runDir }`, async. |\n| `amicus_spend` | Read-only cross-run cost rollup from the spend ledger (mirrors the CLI `amicus spend` flags). |\n\nThe async pattern is **start → status → read** — `amicus_start`/`amicus_fanout` return immediately, then you poll `amicus_status` and call `amicus_read`; `amicus_wait` collapses that poll loop into one blocking call.\n\n> Legacy `sidecar_*` tool names were removed entirely in v2.0.0 — only `amicus_*` tools exist now. `AMICUS_LEGACY_ALIASES=1` is a no-op left over from the v1.8.0 opt-in switch. See [docs/SHIMS.md](./docs/SHIMS.md).\n\nManual registration and per-tool detail are in **[docs/usage.md § MCP Server](./docs/usage.md#mcp-server)**.\n\n---\n\n## Configuration\n\n`amicus setup` is the recommended way to configure Amicus — it writes API keys to `~/.config/amicus/.env` (`0600`) and persists your default model and aliases. Every environment variable (API keys, behavior tuning, headless poller, GUI/debug, process lifecycle) is documented in **[docs/configuration.md](./docs/configuration.md)**. v2.0.0 removed the legacy `SIDECAR_*` → `AMICUS_*` env-var mapping entirely; see [docs/SHIMS.md](./docs/SHIMS.md) for the removal record and rename table.\n\n**New to the disk footprint?** The config tree's file-by-file contents, session storage layout, where (and whether) logs are written, `config.json`'s exact shape, and full uninstall instructions all live in **[docs/configuration.md § Where things live](./docs/configuration.md#where-things-live)**.\n\n---\n\n## JSON output\n\nWith `--json`, Amicus emits stable, versioned run/wave documents on stdout — built for scripting and agent consumption:\n\n```json\n{\n  \"taskId\": \"...\", \"model\": \"...\", \"modelInput\": \"...\", \"agent\": \"...\",\n  \"status\": \"complete\", \"summary\": \"...\", \"error\": null,\n  \"createdAt\": \"...\", \"completedAt\": \"...\", \"durationMs\": 0\n}\n```\n\nThe wave-document shape (for `fanout`), field meanings, and the full exit-code table are in **[docs/usage.md § JSON Output](./docs/usage.md#json-output)**. Every `--json` document also has a published JSON Schema — see **[docs/schemas.md](./docs/schemas.md)** (shipped in the npm tarball under `schemas/`).\n\n---\n\n## Windows\n\nAmicus is **first-class on Windows** — developed and tested on Windows 11, no WSL required.\n\nMost Claude-adjacent tooling assumes macOS/Linux; Amicus doesn't.\n\n- The full unit suite runs green on Windows 11.\n- Native-binary PATH handling resolves the OpenCode binary correctly under Windows.\n- Session-path encoding is handled natively (the Claude project-path encoding that trips up naive `~/.claude/projects` lookups is accounted for).\n- For long briefings, `--prompt-file` sidesteps the ~32 KB Windows command-line argument cap.\n\n---\n\n## Troubleshooting\n\nRun `amicus doctor` first — it checks keys, catalog, OpenCode binary, Electron, skills, and MCP registration in one pass and prints a targeted fix for whatever's failing. For symptoms not covered below, or more diagnostic depth on any of these, see **[docs/troubleshooting.md](./docs/troubleshooting.md)**.\n\n| Symptom | Likely cause | Fix |\n|---------|--------------|-----|\n| \"council review this\" does nothing | The `second-opinion` skill isn't installed | Check `~/.claude/skills/second-opinion/SKILL.md` exists; re-run `npm install -g amicus` (postinstall installs both skills) |\n| `npm install -g amicus` fails with `EEXIST: … claude-sidecar` | The old upstream `claude-sidecar` package is still installed globally; npm won't overwrite another package's bin shims | `npm uninstall -g claude-sidecar`, then `npm install -g amicus`. Your keys and past sessions are not lost, but v2.0.0 no longer reads the old paths automatically — see [docs/SHIMS.md](./docs/SHIMS.md) for the one-time migration steps (rename `~/.config/sidecar/` and any `.claude/sidecar_sessions/` dirs). |\n| Install fails partway, or `amicus doctor` reports the OpenCode binary \"not found\" | A **transient** error during the OpenCode engine's own postinstall (a spawn `ENOENT`, or an antivirus file-lock while it lays down its 11 per-platform binaries) can roll back the whole atomic install — retrying usually succeeds | Just re-run `npm install -g amicus`. If it still fails, clear the cache first: `npm cache clean --force && npm install -g amicus`. |\n| `401` / auth error | No usable key for the model's vendor — bare `provider/model` ids fall back to `OPENROUTER_API_KEY` automatically, so this means neither the direct key nor an OpenRouter key is configured (or `--gateway direct`/`openrouter` forced a gateway whose key is missing) | Run `amicus setup`, or `amicus key <provider> <key>` to add the missing key; see [Routing](#routing). |\n| `402` / \"Payment Required\" on first council review / `start` / `fanout` call | Your OpenRouter key is real but has no credit. Key save (`amicus key openrouter <key>` or the setup wizard's key step) only checks that the key **authenticates** — it doesn't check balance, so a zero-credit key saves cleanly and only fails later, on the first real model call. (The `amicus council` subcommand itself is deterministic math and never calls a model.) | Add credit at [openrouter.ai/credits](https://openrouter.ai/credits), **or** switch to a zero-cost council: `amicus setup` → option 2 (Free OpenRouter council) builds one from live `:free`-suffixed models and saves it as `councils.free` — then run `amicus fanout --council free …`. See [Free council (zero-cost)](#free-council-zero-cost) above. |\n| Every direct `anthropic/…` model (`haiku`, `sonnet`, `opus`, `claude`) errors `Not Found` in ~2 s at zero tokens, but the same model works via `openrouter/anthropic/…` | An inherited host-form `ANTHROPIC_BASE_URL` (missing `/v1`) — the Anthropic-SDK convention, not OpenCode's; a shell spawned by Claude Code sets it for you. **Since v4.6.2 amicus normalizes this to `<value>/v1` automatically** (a provider-config override, announced once on stderr) — the model id, alias, and key were never the problem, and now neither is the URL, unless `AMICUS_BASE_URL_NORMALIZE=0` is set or the path is nonstandard. | Should now self-heal — confirm with `amicus doctor`'s `anthropic-base-url` row (shows the value seen + its treatment). Still failing: unset `AMICUS_BASE_URL_NORMALIZE` if you set it, or `export ANTHROPIC_BASE_URL=https://api.anthropic.com/v1` / unset the var entirely / pass `--gateway openrouter`. In a council a dead seat **degrades the run instead of failing it** — smoke-test each seat with one throwaway `amicus start` before paying for a council. See [docs/troubleshooting.md](./docs/troubleshooting.md#every-direct-anthropic-model-fails-with-not-found). |\n| `Model 'X' is unverified against the direct catalog; attempting anyway` for a model that plainly exists | Not a claim the model is wrong — amicus **couldn't check**. That vendor's direct catalog fetch failed (usually a stale or truncated stored key), leaving its namespace empty, and an empty namespace never blocks a launch. The engine may still run the model from its own credential store, so a working model warns forever. | `amicus models --refresh` and watch for a provider that stays empty; re-save the good key with `amicus key <provider> <apikey>`. See [docs/troubleshooting.md](./docs/troubleshooting.md#model-x-is-unverified-against-the-direct-catalog-attempting-anyway). |\n| Session not found | No session matches the given ID | Run `amicus list`, or omit `--session-id` to use the most recent. |\n| No conversation history found | Project-path encoding | Check `~/.claude/projects/`; `/` and `_` in the project path are encoded as `-` in the directory name. |\n| Headless run never finishes | Task is bigger than the default timeout | Raise it: `--timeout 30`. |\n| Wrong session picked up | Multiple active sessions resolve ambiguously | Pass `--session-id` explicitly. |\n| Fold summary looks corrupted | Debug output leaking into stdout | Re-run with `LOG_LEVEL=debug` to see what's printing. |\n| Model fails catalog validation | The model isn't in the cached catalog (renamed, or cache stale) | `amicus models --refresh`, or bypass with `--no-validate-model`. |\n| `fanout` exits `2` | Partial wave — at least one leg failed | Read the wave document's `legs[]` and inspect each failed leg's `status` / `error`. |\n\n**Debug logging:**\n\n```bash\nLOG_LEVEL=debug amicus start --model gemini --prompt \"test\" --no-ui\n```\n\n---\n\n## Documentation\n\n| Doc | Description |\n|-----|-------------|\n| [docs/usage.md](./docs/usage.md) | The complete CLI & MCP reference — every flag, every subcommand, every example. |\n| [docs/council.md](./docs/council.md) | Council pipeline reference: `tally`/`verdict`/`report` schemas, provenance, and a worked example. |\n| [docs/schemas.md](./docs/schemas.md) | Published JSON Schemas for every `--json` document (result + council families). |\n| [docs/configuration.md](./docs/configuration.md) | Full configuration and environment reference. |\n| [docs/architecture.md](./docs/architecture.md) | How the engine, Electron shell, and context sharing fit together. |\n| [docs/opencode-integration.md](./docs/opencode-integration.md) | How Amicus drives the OpenCode runtime. |\n| [docs/troubleshooting.md](./docs/troubleshooting.md) | Extended troubleshooting. |\n| [docs/electron-testing.md](./docs/electron-testing.md) | Chrome DevTools Protocol patterns for UI testing. |\n| [docs/testing.md](./docs/testing.md) | Test suite layout and how to run it. |\n| [docs/CITATIONS.md](./docs/CITATIONS.md) | How to cite one file from another so the citation cannot rot, and what the citation gate enforces. |\n| [docs/publishing.md](./docs/publishing.md) | Release and publish process. |\n| [docs/SHIMS.md](./docs/SHIMS.md) | v2.0.0 removal record for the pre-rebrand `sidecar*` compatibility shims — what was removed and how to migrate. |\n| [skills/second-opinion/SKILL.md](./skills/second-opinion/SKILL.md) | The LLM Council skill. |\n| [skills/sidecar/SKILL.md](./skills/sidecar/SKILL.md) | The `sidecar` chat skill. |\n| [evals/README.md](./evals/README.md) | End-to-end eval harness for LLM interactions. |\n\n---\n\n## Contributing\n\nContributions are welcome. The dev setup, git-hook wiring, and test commands live in **[CONTRIBUTING.md](./CONTRIBUTING.md)**.\n\nThe autonomous Electron-UI testing approach (driving the real window over the Chrome DevTools Protocol) is documented in **[docs/electron-testing.md](./docs/electron-testing.md)**.\n\n---\n\n## Built on OpenCode\n\nAmicus is a harness built on top of [**OpenCode**](https://opencode.ai), the open-source AI coding engine. OpenCode provides the conversation runtime, tool-execution framework, agent system, and web UI. Amicus adds context sharing from Claude Code, the Electron shell, the fold/summary workflow, session persistence, parallel fanout waves, the multi-model council, and multi-client support (CLI, MCP, Cowork). OpenCode handles the hard parts of LLM interaction so Amicus can focus on the council-and-parallel-window workflow.\n\n---\n\n## Attribution & License\n\nAmicus is inspired by [**Claude Sidecar**](https://github.com/jrenaldi79/sidecar) by [John Renaldi](https://github.com/jrenaldi79), used under the MIT License. The original copyright (© 2025 John Renaldi) is preserved in full in [LICENSE](./LICENSE). The engine modifications, the multi-model council, and the skill bundling are © 2026 Christian Wagner, also under the MIT License. See [LICENSE](./LICENSE) and [NOTICE](./NOTICE) for the complete attribution.\n\n**MIT.**\n","readmeFilename":"README.md"}