fix(pi): prove packaged workers end to end
This commit is contained in:
@@ -56,7 +56,11 @@ function assertActivePressure(pressure) {
|
||||
const expected = {
|
||||
parentWorkers: 4,
|
||||
childWorkers: 4,
|
||||
parentProcesses: 4,
|
||||
childProcesses: 4,
|
||||
liveProcesses: 8,
|
||||
parentProviderRequests: 4,
|
||||
childProviderRequests: 4,
|
||||
processBudget: 8,
|
||||
childPermits: 4,
|
||||
dispatches: 4,
|
||||
@@ -65,7 +69,11 @@ function assertActivePressure(pressure) {
|
||||
const actual = {
|
||||
parentWorkers: pressure?.parentWorkers,
|
||||
childWorkers: pressure?.childWorkers,
|
||||
parentProcesses: pressure?.parentProcessIds?.length,
|
||||
childProcesses: pressure?.childProcessIds?.length,
|
||||
liveProcesses: pressure?.liveProcessIds?.length,
|
||||
parentProviderRequests: pressure?.providerRequests?.parent,
|
||||
childProviderRequests: pressure?.providerRequests?.child,
|
||||
processBudget: pressure?.processBudget?.active,
|
||||
childPermits: pressure?.childPermits?.active,
|
||||
dispatches: pressure?.dispatches?.active,
|
||||
@@ -80,7 +88,11 @@ function assertReleasedPressure(pressure) {
|
||||
const counts = [
|
||||
pressure?.parentWorkers,
|
||||
pressure?.childWorkers,
|
||||
pressure?.parentProcessIds?.length,
|
||||
pressure?.childProcessIds?.length,
|
||||
pressure?.liveProcessIds?.length,
|
||||
pressure?.providerRequests?.parent,
|
||||
pressure?.providerRequests?.child,
|
||||
pressure?.processBudget?.active,
|
||||
pressure?.processBudget?.waiting,
|
||||
pressure?.childPermits?.active,
|
||||
@@ -147,10 +159,16 @@ export async function runPackagedProductProof(options) {
|
||||
const extension = await evaluateProof(electronApplication, 'extension');
|
||||
assertPackagedMain(extension);
|
||||
if (extension.extension?.subagentStatus !== 'complete'
|
||||
|| extension.extension?.childToolNames?.length !== 0
|
||||
|| extension.extension?.childToolNames?.join(',') !== 'find,grep,ls,read'
|
||||
|| !extension.extension?.parentToolNames?.includes('subagent')
|
||||
|| extension.extension?.managedWorkerMilestones?.filter(({ cold }) => cold).length !== 4
|
||||
|| extension.extension?.managedWorkerMilestones?.filter(({ cold }) => !cold).length !== 4) {
|
||||
|| extension.extension?.parentProcessIds?.length < 2
|
||||
|| extension.extension?.childProcessIds?.length !== 1
|
||||
|| extension.extension?.providerRequests?.child !== 1
|
||||
|| extension.extension?.managedTurns?.length !== 2
|
||||
|| extension.extension.managedTurns.some(({ milestones }) => (
|
||||
milestones.map(({ milestone }) => milestone).join(',')
|
||||
!== 'worker.queue_wait,resources.ready,worker.spawn,rpc.ready,session.open,prompt.accepted,agent.start,provider.first_event,agent.settled'
|
||||
))) {
|
||||
throw new Error(`Final ASAR extension/subagent proof failed: ${JSON.stringify(extension.extension)}`);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user