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']) {
|
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' }] })
|
||||||
|
|||||||
@@ -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}
|
||||||
|
|||||||
Reference in New Issue
Block a user