fix: fail closed without a repo push transport
This commit is contained in:
parent
83589aa2c2
commit
b03619e359
2 changed files with 50 additions and 4 deletions
|
|
@ -51,10 +51,11 @@ async function authorizeRepoPush(options, deps = {}) {
|
|||
const map = await requestJson(fetchImpl, `${baseUrl}/api/navigation-map/read`, common, session.session_token);
|
||||
await requestJson(fetchImpl, `${baseUrl}/api/navigation-map/ack`, { ...common, map_hash: map.map_hash }, session.session_token);
|
||||
const grant = await requestJson(fetchImpl, `${baseUrl}/api/repo-push/grant`, { ...common, repo }, session.session_token);
|
||||
if (grant.transport && grant.transport.status !== "ready") {
|
||||
output(`[LL-REPO-PUSH-TRANSPORT-BLOCKED] ${grant.transport.diagnostic_code || "repo_push_transport_unavailable"}`);
|
||||
output(`NEXT_STEP=${grant.transport.next_step || "读取服务器 operation receipt。"}`);
|
||||
const error = new Error(grant.transport.diagnostic_code || "repo_push_transport_unavailable");
|
||||
if (!grant.transport || grant.transport.status !== "ready") {
|
||||
const transport = grant.transport || {};
|
||||
output(`[LL-REPO-PUSH-TRANSPORT-BLOCKED] ${transport.diagnostic_code || "repo_push_transport_unavailable"}`);
|
||||
output(`NEXT_STEP=${transport.next_step || "服务器没有返回可验证的受限推送通道;禁止重试裸 git push,读取 operation receipt。"}`);
|
||||
const error = new Error(transport.diagnostic_code || "repo_push_transport_unavailable");
|
||||
error.receipt = grant.receipt;
|
||||
throw error;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue