fix: hide agent file attachments for A-Copilot
This commit is contained in:
@@ -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']) {
|
||||
test(`${qaMode} history is deleted only after shared modal confirmation`, () => {
|
||||
const harness = setup({ qaMode, agentMessages: [{ id: 'a', content: 'answer' }], visibleTeacherMessages: [{ id: 't', content: 'answer' }] })
|
||||
|
||||
@@ -627,6 +627,7 @@ function LocalPcWorkspaceMockup({
|
||||
const [selectedModule, setSelectedModule] = useState<ModuleRow | null>(null)
|
||||
const {
|
||||
enabled: agentEnabled,
|
||||
provider: agentProvider,
|
||||
imagesEnabled: agentImagesEnabled,
|
||||
statusLoading: agentStatusLoading,
|
||||
pending: agentPending,
|
||||
@@ -4713,6 +4714,7 @@ function LocalPcWorkspaceMockup({
|
||||
visibleTeacherMessages={visibleTeacherMessages}
|
||||
agentMessages={agentMessages}
|
||||
agentEnabled={agentEnabled}
|
||||
agentProvider={agentProvider}
|
||||
agentImagesEnabled={Boolean(agentImagesEnabled)}
|
||||
agentStatusLoading={agentStatusLoading}
|
||||
agentPending={agentPending}
|
||||
|
||||
@@ -41,6 +41,7 @@ type WorkspaceQaPanelProps = {
|
||||
visibleTeacherMessages: WorkspaceQaMessage[]
|
||||
agentMessages: AgentConversationMessage[]
|
||||
agentEnabled: boolean
|
||||
agentProvider?: string | null
|
||||
agentImagesEnabled?: boolean
|
||||
agentStatusLoading: boolean
|
||||
agentPending: boolean
|
||||
@@ -114,6 +115,7 @@ export default function WorkspaceQaPanel({
|
||||
visibleTeacherMessages,
|
||||
agentMessages,
|
||||
agentEnabled,
|
||||
agentProvider,
|
||||
agentImagesEnabled = false,
|
||||
agentStatusLoading,
|
||||
agentPending,
|
||||
@@ -327,7 +329,7 @@ export default function WorkspaceQaPanel({
|
||||
disabled={inputDisabled || (teacherQaDisabled && qaMode === 'teacher')}
|
||||
onStop={onStop}
|
||||
onSubmit={onSubmit}
|
||||
attachmentsEnabled={qaMode === 'agent'}
|
||||
attachmentsEnabled={qaMode === 'agent' && agentProvider !== 'A_COPILOT'}
|
||||
imagesEnabled={qaMode === 'agent' && agentImagesEnabled}
|
||||
onClearConversation={requestClearConversation}
|
||||
clearDisabled={clearDisabled}
|
||||
|
||||
Reference in New Issue
Block a user