feat(agenten): Runde 10 Prompt 1 — gemeinsame Bearbeitung für Aufgaben, Systeme und Kanäle
Aufgaben, Systeme und Kanäle werden alle drei als Liste geführt und ab jetzt auch gleich bearbeitet: anlegen, ändern, entfernen, zu- und abschalten — dort, wo man sie sieht. Die Maske und die drei Listengriffe stehen einmal zentral statt dreimal je Reiter; sonst unterscheiden sie sich nach der ersten Korrektur. - AgentEntityDialog: eine Maske für alle drei Entitäten, über den React- Schlüssel je Eintrag neu aufgebaut statt über einen Effekt zurückgesetzt - agentEntityEditing: upsertById, removeById, newEntityId als reine Funktionen - Systeme sind über Provider, Service und Hook schreibbar (saveSystems) und tragen neu einen Aktiv-Schalter - Systemreiter: eine einzige Liste statt «Lesende»/«Schreibende Systemzugänge», kein Einleitungsbalken mehr; Aktiv, Zugriff und Verbindung stehen je Eintrag - Thomas steht als «Agentenverwalter» in der Navigation, zählt aber nicht als sechster Agent in Sitzungszimmer, Auslastung und Begrüssung - Chatverlauf scrollt in sich, ohne die Seite springen zu lassen Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
c6f3b2d6e3
commit
1c4b3f7dd8
15 files changed
+952
-131
No files matched your search
@@ -11,7 +11,7 @@ import { describe, it, expect } from 'vitest'
|
||||
import { WORKSPACE_CONFIG, getPageNameFromPath } from '../appShellConfig'
|
||||
import { WorkspaceType } from '../../../domain/enums'
|
||||
import { HOME_NAV_LABEL, MY_AGENTS_LABEL, ROUTES } from '../../../lib/constants'
|
||||
import { AGENT_WORKSPACES } from '../../../lib/agentWorkspaces'
|
||||
import { AGENT_NAV_ENTRIES } from '../../../lib/agentWorkspaces'
|
||||
|
||||
const supplyNav = WORKSPACE_CONFIG[WorkspaceType.SUPPLY].navItems
|
||||
|
||||
@@ -47,9 +47,9 @@ describe('Navigationseintrag «Meine Agenten»', () => {
|
||||
expect(agenten?.path).toBe(ROUTES.SUPPLY.TEAM)
|
||||
})
|
||||
|
||||
it('trägt die fünf Agenten in verbindlicher Reihenfolge', () => {
|
||||
it('trägt Thomas zuoberst und darunter die fünf in verbindlicher Reihenfolge', () => {
|
||||
const agenten = supplyNav.find(item => item.label === MY_AGENTS_LABEL)
|
||||
expect(agenten?.children?.map(c => c.label)).toEqual(['Ferdi', 'Bruno', 'Livia', 'Nora', 'Sina'])
|
||||
expect(agenten?.children?.map(c => c.label)).toEqual(['Thomas', 'Ferdi', 'Bruno', 'Livia', 'Nora', 'Sina'])
|
||||
})
|
||||
|
||||
it('gibt jedem Agenten Porträt-ID und Funktionsbezeichnung mit', () => {
|
||||
@@ -63,7 +63,7 @@ describe('Navigationseintrag «Meine Agenten»', () => {
|
||||
it('verweist mit jedem Agenten auf eine eigene Seite', () => {
|
||||
const agenten = supplyNav.find(item => item.label === MY_AGENTS_LABEL)
|
||||
const paths = agenten?.children?.map(c => c.path) ?? []
|
||||
expect(paths).toEqual(AGENT_WORKSPACES.map(a => a.path))
|
||||
expect(paths).toEqual(AGENT_NAV_ENTRIES.map(a => a.path))
|
||||
expect(new Set(paths).size).toBe(paths.length)
|
||||
})
|
||||
|
||||
|
||||
Reference in new issue
Block a user