The vendored-binary lookup at vendor/ripgrep/<arch>-<platform>/rg never resolved in this fork — that directory does not ship — so users without a system rg had no working fallback. Switch to the @vscode/ripgrep package so Microsoft maintains the platform/arch matrix and the binary is delivered via npm. - src/utils/ripgrep.ts: replace hand-rolled vendor-path resolution with rgPath from @vscode/ripgrep. Lazy require so a missing package falls through to the system rg branch instead of throwing at import. Drop builtinExists from the config args; builtinCommand is now a string-or-null. The system override (USE_BUILTIN_RIPGREP=0), the Bun-compiled standalone embedded mode, the macOS codesign hook, and all retry/timeout/error logic are preserved untouched. - scripts/build.ts: mark @vscode/ripgrep as external. The package resolves rgPath via __dirname at runtime, so bundling would freeze the build host's absolute path into dist/cli.mjs. - src/utils/ripgrep.test.ts: update for the new config shape and add tests covering USE_BUILTIN_RIPGREP=0, embedded mode, last-resort fallback, and null builtin path. Tested locally on Linux (Bun 1.3.13). macOS (codesign hook) and Windows (rg.exe extension) need contributor verification.
164 lines
5.7 KiB
JSON
164 lines
5.7 KiB
JSON
{
|
|
"name": "@gitlawb/openclaude",
|
|
"version": "0.7.0",
|
|
"description": "OpenClaude opens coding-agent workflows to any LLM — OpenAI, Gemini, DeepSeek, Ollama, and 200+ models",
|
|
"type": "module",
|
|
"bin": {
|
|
"openclaude": "./bin/openclaude"
|
|
},
|
|
"files": [
|
|
"bin/",
|
|
"dist/cli.mjs",
|
|
"README.md"
|
|
],
|
|
"scripts": {
|
|
"build": "bun run scripts/build.ts",
|
|
"dev": "bun run build && node dist/cli.mjs",
|
|
"dev:profile": "bun run scripts/provider-launch.ts",
|
|
"dev:profile:fast": "bun run scripts/provider-launch.ts auto --fast --bare",
|
|
"dev:codex": "bun run scripts/provider-launch.ts codex",
|
|
"dev:openai": "bun run scripts/provider-launch.ts openai",
|
|
"dev:gemini": "bun run scripts/provider-launch.ts gemini",
|
|
"dev:ollama": "bun run scripts/provider-launch.ts ollama",
|
|
"dev:ollama:fast": "bun run scripts/provider-launch.ts ollama --fast --bare",
|
|
"dev:atomic-chat": "bun run scripts/provider-launch.ts atomic-chat",
|
|
"profile:init": "bun run scripts/provider-bootstrap.ts",
|
|
"profile:recommend": "bun run scripts/provider-recommend.ts",
|
|
"profile:auto": "bun run scripts/provider-recommend.ts --apply",
|
|
"profile:codex": "bun run profile:init -- --provider codex --model codexplan",
|
|
"profile:fast": "bun run profile:init -- --provider ollama --model llama3.2:3b",
|
|
"profile:code": "bun run profile:init -- --provider ollama --model qwen2.5-coder:7b",
|
|
"dev:fast": "bun run profile:fast && bun run dev:ollama:fast",
|
|
"dev:code": "bun run profile:code && bun run dev:profile",
|
|
"dev:grpc": "bun run scripts/start-grpc.ts",
|
|
"dev:grpc:cli": "bun run scripts/grpc-cli.ts",
|
|
"start": "node dist/cli.mjs",
|
|
"test": "bun test",
|
|
"test:coverage": "bun test --coverage --coverage-reporter=lcov --coverage-dir=coverage --max-concurrency=1 && bun run scripts/render-coverage-heatmap.ts",
|
|
"test:coverage:ui": "bun run scripts/render-coverage-heatmap.ts",
|
|
"security:pr-scan": "bun run scripts/pr-intent-scan.ts",
|
|
"test:provider-recommendation": "bun test src/utils/providerRecommendation.test.ts src/utils/providerProfile.test.ts",
|
|
"typecheck": "tsc --noEmit",
|
|
"smoke": "bun run build && node dist/cli.mjs --version",
|
|
"verify:privacy": "bun run scripts/verify-no-phone-home.ts",
|
|
"build:verified": "bun run build && bun run verify:privacy",
|
|
"test:provider": "bun test src/services/api/*.test.ts src/utils/context.test.ts",
|
|
"doctor:runtime": "bun run scripts/system-check.ts",
|
|
"doctor:runtime:json": "bun run scripts/system-check.ts --json",
|
|
"doctor:report": "bun run scripts/system-check.ts --out reports/doctor-runtime.json",
|
|
"hardening:check": "bun run smoke && bun run doctor:runtime",
|
|
"hardening:strict": "bun run typecheck && bun run hardening:check",
|
|
"prepack": "npm run build"
|
|
},
|
|
"dependencies": {
|
|
"@alcalzone/ansi-tokenize": "0.3.0",
|
|
"@anthropic-ai/bedrock-sdk": "0.26.4",
|
|
"@anthropic-ai/foundry-sdk": "0.2.3",
|
|
"@anthropic-ai/sandbox-runtime": "0.0.46",
|
|
"@anthropic-ai/sdk": "0.81.0",
|
|
"@anthropic-ai/vertex-sdk": "0.14.4",
|
|
"@commander-js/extra-typings": "12.1.0",
|
|
"@growthbook/growthbook": "1.6.5",
|
|
"@grpc/grpc-js": "^1.14.3",
|
|
"@grpc/proto-loader": "^0.8.0",
|
|
"@mendable/firecrawl-js": "4.18.1",
|
|
"@modelcontextprotocol/sdk": "1.29.0",
|
|
"@opentelemetry/api": "1.9.1",
|
|
"@opentelemetry/api-logs": "0.214.0",
|
|
"@opentelemetry/core": "2.6.1",
|
|
"@opentelemetry/exporter-logs-otlp-http": "0.214.0",
|
|
"@opentelemetry/exporter-trace-otlp-grpc": "0.57.2",
|
|
"@opentelemetry/resources": "2.6.1",
|
|
"@opentelemetry/sdk-logs": "0.214.0",
|
|
"@opentelemetry/sdk-metrics": "2.6.1",
|
|
"@opentelemetry/sdk-trace-base": "2.6.1",
|
|
"@opentelemetry/sdk-trace-node": "2.6.1",
|
|
"@opentelemetry/semantic-conventions": "1.40.0",
|
|
"@vscode/ripgrep": "^1.17.1",
|
|
"ajv": "8.18.0",
|
|
"auto-bind": "5.0.1",
|
|
"axios": "1.15.0",
|
|
"bidi-js": "1.0.3",
|
|
"chalk": "5.6.2",
|
|
"chokidar": "4.0.3",
|
|
"cli-boxes": "3.0.0",
|
|
"cli-highlight": "2.1.11",
|
|
"code-excerpt": "4.0.0",
|
|
"commander": "12.1.0",
|
|
"cross-spawn": "7.0.6",
|
|
"diff": "8.0.3",
|
|
"duck-duck-scrape": "^2.2.7",
|
|
"emoji-regex": "10.6.0",
|
|
"env-paths": "3.0.0",
|
|
"execa": "9.6.1",
|
|
"fflate": "0.8.2",
|
|
"figures": "6.1.0",
|
|
"fuse.js": "7.1.0",
|
|
"get-east-asian-width": "1.5.0",
|
|
"google-auth-library": "9.15.1",
|
|
"https-proxy-agent": "7.0.6",
|
|
"ignore": "7.0.5",
|
|
"indent-string": "5.0.0",
|
|
"jsonc-parser": "3.3.1",
|
|
"lodash-es": "4.18.1",
|
|
"lru-cache": "11.2.7",
|
|
"marked": "15.0.12",
|
|
"p-map": "7.0.4",
|
|
"picomatch": "4.0.4",
|
|
"proper-lockfile": "4.1.2",
|
|
"qrcode": "1.5.4",
|
|
"react": "19.2.4",
|
|
"react-compiler-runtime": "1.0.0",
|
|
"react-reconciler": "0.33.0",
|
|
"semver": "7.7.4",
|
|
"sharp": "^0.34.5",
|
|
"shell-quote": "1.8.3",
|
|
"signal-exit": "4.1.0",
|
|
"stack-utils": "2.0.6",
|
|
"strip-ansi": "7.2.0",
|
|
"supports-hyperlinks": "3.2.0",
|
|
"tree-kill": "1.2.2",
|
|
"turndown": "7.2.2",
|
|
"type-fest": "4.41.0",
|
|
"undici": "7.24.6",
|
|
"usehooks-ts": "3.1.1",
|
|
"vscode-languageserver-protocol": "3.17.5",
|
|
"wrap-ansi": "9.0.2",
|
|
"ws": "8.20.0",
|
|
"xss": "1.0.15",
|
|
"yaml": "2.8.3",
|
|
"zod": "3.25.76"
|
|
},
|
|
"devDependencies": {
|
|
"@types/bun": "1.3.11",
|
|
"@types/node": "25.5.0",
|
|
"@types/react": "19.2.14",
|
|
"tsx": "^4.21.0",
|
|
"typescript": "5.9.3"
|
|
},
|
|
"engines": {
|
|
"node": ">=20.0.0"
|
|
},
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "https://github.com/Gitlawb/openclaude.git"
|
|
},
|
|
"keywords": [
|
|
"claude-code",
|
|
"openai",
|
|
"llm",
|
|
"cli",
|
|
"agent",
|
|
"deepseek",
|
|
"ollama",
|
|
"gemini"
|
|
],
|
|
"license": "SEE LICENSE FILE",
|
|
"publishConfig": {
|
|
"access": "public"
|
|
},
|
|
"overrides": {
|
|
"lodash-es": "4.18.1"
|
|
}
|
|
}
|