fix(pi): converge worker failures and thinking state

This commit is contained in:
2026-08-25 11:45:14 +08:00
parent 274187e3cf
commit 61817b161f
28 changed files with 2019 additions and 118 deletions

View File

@@ -158,6 +158,25 @@ export class PiManagedExtensionHost {
this.productTools = productTools;
}
getDiagnostics(): {
registrations: { parent: number; child: number };
writeLeases: { active: number; waiting: number };
bridgeRequests: number;
} {
const records = [...this.registrations.values()];
return {
registrations: {
parent: records.filter(({ role }) => role === 'parent').length,
child: records.filter(({ role }) => role === 'child').length,
},
writeLeases: {
active: records.reduce((total, { leases }) => total + leases.size, 0),
waiting: records.reduce((total, { waiters }) => total + waiters.size, 0),
},
bridgeRequests: this.requestFlights.size,
};
}
async registerWorker(input: RegisterPiExtensionWorkerInput): Promise<PiExtensionWorkerRegistration> {
if (!Number.isSafeInteger(input.generation) || input.generation <= 0) {
throw new Error('Worker generation must be a positive safe integer');