fix(team): preserve opencode member diagnostics
This commit is contained in:
parent
3f8276147e
commit
55021880e0
3 changed files with 13 additions and 1 deletions
|
|
@ -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 }>;
|
||||||
|
|
|
||||||
|
|
@ -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}`
|
||||||
),
|
),
|
||||||
|
|
|
||||||
|
|
@ -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']),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue