mirror of
https://github.com/openclaw/openclaw.git
synced 2026-07-10 00:11:19 +00:00
The wrapper probes `crabbox --version` and `crabbox run --help` once each with a
snappy 5s timeout to enumerate providers before delegating. A cold Crabbox — the
first call right after a version bump, or one on a loaded machine — can exceed
that timeout while rendering `run --help` (52KB, emitted on stderr in 0.36) or
doing first-run init, and can emit nothing on that first call. When that happens
both guards fire and hard-exit the wrapper ("selected binary failed basic
--version/--help sanity checks" or "could not parse provider list from --help;
refusing to run"), which blocks ALL remote validation (`pnpm check:changed`,
remote `pnpm test` lanes) even though the binary is fine.
Retry each metadata probe once with a generous 20s timeout when the first attempt
is killed or returns empty. The warm path is unchanged (one ~instant probe); only
a slow/empty first probe pays for the retry, after which the sanity/provider-list
guards judge the recovered result. Add a regression test: a fake Crabbox whose
`run --help` is slower than the default probe timeout (and, like 0.36, writes help
to stderr) is now recovered by the retry instead of hard-failing.
|
||
|---|---|---|
| .. | ||
| e2e/qa-lab | ||
| fixtures | ||
| helpers | ||
| mocks | ||
| proof | ||
| scripts | ||
| tsconfig | ||
| vitest | ||
| _proof_twilio_json_guard.mts | ||
| AGENTS.md | ||
| appcast.test.ts | ||
| architecture-smells.test.ts | ||
| CLAUDE.md | ||
| cli-json-stdout.e2e.test.ts | ||
| extension-import-boundaries.test.ts | ||
| extension-package-tsc-boundary.test.ts | ||
| extension-test-boundary.test.ts | ||
| gateway.multi.e2e.test.ts | ||
| git-hooks-pre-commit.test.ts | ||
| global-setup.ts | ||
| huggingface-local-app-openclaw.e2e.test.ts | ||
| image-generation.infer-cli.live.test.ts | ||
| image-generation.runtime.live.test.ts | ||
| non-isolated-runner.ts | ||
| npm-publish-plan.test.ts | ||
| official-channel-catalog.test.ts | ||
| openclaw-launcher.e2e.test.ts | ||
| openclaw-npm-postpublish-verify.test.ts | ||
| openclaw-npm-prepublish-verify.test.ts | ||
| openclaw-npm-release-check.test.ts | ||
| openclaw-prepack.test.ts | ||
| package-manager-config.test.ts | ||
| package-scripts.test.ts | ||
| plugin-clawhub-release.test.ts | ||
| plugin-extension-import-boundary.test.ts | ||
| plugin-npm-package-manifest.test.ts | ||
| plugin-npm-release.test.ts | ||
| plugin-npm-runtime-build.test.ts | ||
| qa-convex-credential-payload-validation.test.ts | ||
| release-check.test.ts | ||
| setup-home-isolation.test.ts | ||
| setup-openclaw-runtime.ts | ||
| setup.env.ts | ||
| setup.extensions.ts | ||
| setup.shared.ts | ||
| setup.ts | ||
| stable-release-closeout.test.ts | ||
| test-env.test.ts | ||
| test-env.ts | ||
| test-helper-extension-import-boundary.test.ts | ||
| tsconfig.json | ||
| ui.presenter-next-run.test.ts | ||
| vitest-boundary-config.test.ts | ||
| vitest-light-paths.test.ts | ||
| vitest-performance-config.test.ts | ||
| vitest-projects-config.test.ts | ||
| vitest-scoped-config.test.ts | ||
| vitest-ui-package-config.test.ts | ||
| vitest-unit-config.test.ts | ||
| vitest-unit-fast-config.test.ts | ||
| vitest-unit-paths.test.ts | ||
| web-provider-boundary.test.ts | ||