dab01b7f2b
npm install reuses whatever the cache and an earlier run left behind and still reports success, so a truncated cache entry produced a node_modules that was missing typescript's lib/*.d.ts — the build then died with TS2318, every global type undefined. npm ci starts from an empty tree and verifies each tarball against the lockfile's integrity hash. Falls back to install when the copied client has no usable lockfile.