fix: hide agent file attachments for A-Copilot

This commit is contained in:
2026-10-19 14:50:08 +09:00
parent 7cfd466350
commit af21fa0510
3 changed files with 22 additions and 1 deletions
+17
View File
@@ -64,6 +64,23 @@ function setup(overrides = {}, browser = {}) {
} }
} }
for (const agentProvider of ['A_COPILOT', 'QWEN', 'OPENAI', 'ANTHROPIC', 'GEMINI']) {
for (const qaMode of ['ai', 'agent', 'teacher']) {
test(`attachment controls follow the provider and chat mode (${agentProvider}, ${qaMode})`, () => {
const harness = setup({ qaMode, agentProvider })
const input = elements(harness.render(), node => node.type === QaInputBox)[0]
assert.equal(input.props.attachmentsEnabled, qaMode === 'agent' && agentProvider !== 'A_COPILOT')
assert.equal(typeof input.props.onClearConversation, 'function')
})
}
}
test('the workspace passes the current provider from agent status to the chat panel', () => {
const source = fs.readFileSync(require.resolve('../src/renderer/src/App.tsx'), 'utf8')
assert.match(source, /provider: agentProvider,[\s\S]*?\} = useAiAgent\(/)
assert.match(source, /<WorkspaceQaPanel[\s\S]*?agentProvider=\{agentProvider\}/)
})
for (const qaMode of ['ai', 'agent', 'teacher']) { for (const qaMode of ['ai', 'agent', 'teacher']) {
test(`${qaMode} history is deleted only after shared modal confirmation`, () => { test(`${qaMode} history is deleted only after shared modal confirmation`, () => {
const harness = setup({ qaMode, agentMessages: [{ id: 'a', content: 'answer' }], visibleTeacherMessages: [{ id: 't', content: 'answer' }] }) const harness = setup({ qaMode, agentMessages: [{ id: 'a', content: 'answer' }], visibleTeacherMessages: [{ id: 't', content: 'answer' }] })
+2
View File
@@ -627,6 +627,7 @@ function LocalPcWorkspaceMockup({
const [selectedModule, setSelectedModule] = useState<ModuleRow | null>(null) const [selectedModule, setSelectedModule] = useState<ModuleRow | null>(null)
const { const {
enabled: agentEnabled, enabled: agentEnabled,
provider: agentProvider,
imagesEnabled: agentImagesEnabled, imagesEnabled: agentImagesEnabled,
statusLoading: agentStatusLoading, statusLoading: agentStatusLoading,
pending: agentPending, pending: agentPending,
@@ -4713,6 +4714,7 @@ function LocalPcWorkspaceMockup({
visibleTeacherMessages={visibleTeacherMessages} visibleTeacherMessages={visibleTeacherMessages}
agentMessages={agentMessages} agentMessages={agentMessages}
agentEnabled={agentEnabled} agentEnabled={agentEnabled}
agentProvider={agentProvider}
agentImagesEnabled={Boolean(agentImagesEnabled)} agentImagesEnabled={Boolean(agentImagesEnabled)}
agentStatusLoading={agentStatusLoading} agentStatusLoading={agentStatusLoading}
agentPending={agentPending} agentPending={agentPending}
@@ -41,6 +41,7 @@ type WorkspaceQaPanelProps = {
visibleTeacherMessages: WorkspaceQaMessage[] visibleTeacherMessages: WorkspaceQaMessage[]
agentMessages: AgentConversationMessage[] agentMessages: AgentConversationMessage[]
agentEnabled: boolean agentEnabled: boolean
agentProvider?: string | null
agentImagesEnabled?: boolean agentImagesEnabled?: boolean
agentStatusLoading: boolean agentStatusLoading: boolean
agentPending: boolean agentPending: boolean
@@ -114,6 +115,7 @@ export default function WorkspaceQaPanel({
visibleTeacherMessages, visibleTeacherMessages,
agentMessages, agentMessages,
agentEnabled, agentEnabled,
agentProvider,
agentImagesEnabled = false, agentImagesEnabled = false,
agentStatusLoading, agentStatusLoading,
agentPending, agentPending,
@@ -327,7 +329,7 @@ export default function WorkspaceQaPanel({
disabled={inputDisabled || (teacherQaDisabled && qaMode === 'teacher')} disabled={inputDisabled || (teacherQaDisabled && qaMode === 'teacher')}
onStop={onStop} onStop={onStop}
onSubmit={onSubmit} onSubmit={onSubmit}
attachmentsEnabled={qaMode === 'agent'} attachmentsEnabled={qaMode === 'agent' && agentProvider !== 'A_COPILOT'}
imagesEnabled={qaMode === 'agent' && agentImagesEnabled} imagesEnabled={qaMode === 'agent' && agentImagesEnabled}
onClearConversation={requestClearConversation} onClearConversation={requestClearConversation}
clearDisabled={clearDisabled} clearDisabled={clearDisabled}