fix(team): preserve opencode member diagnostics

This commit is contained in:
777genius 2026-04-23 02:08:56 +03:00
parent 3f8276147e
commit 55021880e0
3 changed files with 13 additions and 1 deletions

View file

@ -64,6 +64,7 @@ export interface OpenCodeTeamMemberLaunchCommandData {
sessionId: string; sessionId: string;
launchState: OpenCodeTeamMemberLaunchBridgeState; launchState: OpenCodeTeamMemberLaunchBridgeState;
pendingPermissionRequestIds?: string[]; pendingPermissionRequestIds?: string[];
diagnostics?: string[];
model: string; model: string;
runtimePid?: number; runtimePid?: number;
evidence: Array<{ kind: string; observedAt: string }>; evidence: Array<{ kind: string; observedAt: string }>;

View file

@ -393,6 +393,7 @@ function mapOpenCodeLaunchDataToRuntimeResult(
: [ : [
`OpenCode bridge response did not include ${member.name}; keeping the member pending until lane state materializes.`, `OpenCode bridge response did not include ${member.name}; keeping the member pending until lane state materializes.`,
]), ]),
...(bridgeMember?.diagnostics ?? []),
...(bridgeMember?.evidence ?? []).map( ...(bridgeMember?.evidence ?? []).map(
(evidence) => `${evidence.kind} at ${evidence.observedAt}` (evidence) => `${evidence.kind} at ${evidence.observedAt}`
), ),

View file

@ -252,6 +252,7 @@ describe('OpenCodeTeamRuntimeAdapter', () => {
sessionId: 'oc-session-1', sessionId: 'oc-session-1',
launchState: 'permission_blocked', launchState: 'permission_blocked',
pendingPermissionRequestIds: ['perm-1', 'perm-1', 'perm-2'], pendingPermissionRequestIds: ['perm-1', 'perm-1', 'perm-2'],
diagnostics: ['waiting for permission approval'],
runtimePid: 123, runtimePid: 123,
model: 'openai/gpt-5.4-mini', model: 'openai/gpt-5.4-mini',
evidence: [ evidence: [
@ -278,7 +279,9 @@ describe('OpenCodeTeamRuntimeAdapter', () => {
{ launchMode: 'dogfood' } { launchMode: 'dogfood' }
); );
await expect(adapter.launch(launchInput())).resolves.toMatchObject({ const result = await adapter.launch(launchInput());
expect(result).toMatchObject({
teamLaunchState: 'partial_pending', teamLaunchState: 'partial_pending',
members: { members: {
alice: { alice: {
@ -292,6 +295,13 @@ describe('OpenCodeTeamRuntimeAdapter', () => {
}, },
}, },
}); });
expect(result).toMatchObject({
members: {
alice: {
diagnostics: expect.arrayContaining(['waiting for permission approval']),
},
},
});
}); });
}); });