Skip to content

Commit 310db3b

Browse files
kschaabscidomino
authored andcommitted
fix(a2a-server): A2A server should execute ask policies in interactive mode (#23831)
1 parent 6222f15 commit 310db3b

2 files changed

Lines changed: 19 additions & 5 deletions

File tree

packages/a2a-server/src/config/config.test.ts

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -352,23 +352,37 @@ describe('loadConfig', () => {
352352
});
353353

354354
describe('interactivity', () => {
355-
it('should set interactive true when not headless', async () => {
355+
it('should always set interactive true', async () => {
356+
vi.mocked(isHeadlessMode).mockReturnValue(true);
357+
await loadConfig(mockSettings, mockExtensionLoader, taskId);
358+
expect(Config).toHaveBeenCalledWith(
359+
expect.objectContaining({
360+
interactive: true,
361+
}),
362+
);
363+
356364
vi.mocked(isHeadlessMode).mockReturnValue(false);
357365
await loadConfig(mockSettings, mockExtensionLoader, taskId);
358366
expect(Config).toHaveBeenCalledWith(
359367
expect.objectContaining({
360368
interactive: true,
361-
enableInteractiveShell: true,
362369
}),
363370
);
364371
});
365372

366-
it('should set interactive false when headless', async () => {
373+
it('should set enableInteractiveShell based on headless mode', async () => {
374+
vi.mocked(isHeadlessMode).mockReturnValue(false);
375+
await loadConfig(mockSettings, mockExtensionLoader, taskId);
376+
expect(Config).toHaveBeenCalledWith(
377+
expect.objectContaining({
378+
enableInteractiveShell: true,
379+
}),
380+
);
381+
367382
vi.mocked(isHeadlessMode).mockReturnValue(true);
368383
await loadConfig(mockSettings, mockExtensionLoader, taskId);
369384
expect(Config).toHaveBeenCalledWith(
370385
expect.objectContaining({
371-
interactive: false,
372386
enableInteractiveShell: false,
373387
}),
374388
);

packages/a2a-server/src/config/config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ export async function loadConfig(
125125
trustedFolder: true,
126126
extensionLoader,
127127
checkpointing,
128-
interactive: !isHeadlessMode(),
128+
interactive: true,
129129
enableInteractiveShell: !isHeadlessMode(),
130130
ptyInfo: 'auto',
131131
enableAgents: settings.experimental?.enableAgents ?? true,

0 commit comments

Comments
 (0)