Compare commits

..

4 Commits

Author SHA1 Message Date
devops 8f265d00ba chore: bump version to v0.2.20 [skip ci] 2026-06-09 20:24:07 +00:00
developer 5a3a099b94 fix: Iris als Hero im AI Team Network – Hierarchie korrigiert
CI - Build & Test / Backend (.NET) (push) Successful in 24s
CI - Build & Test / Frontend (Vue/TS) (push) Successful in 16s
CI - Build & Test / Security Check (push) Successful in 2s
- Iris zu agents[] hinzugefügt (Position 0)
- hero-id='iris' an TeamNetwork übergeben
- Hero-Slot data-agent-id dynamisch (:data-agent-id='hero.id')
2026-06-09 22:23:17 +02:00
devops 1f6f5dd08c chore: bump version to v0.2.19 [skip ci] 2026-06-09 20:20:03 +00:00
developer 6e532f64f5 fix: AgentModal bei Klick auf Card verdrahtet
CI - Build & Test / Backend (.NET) (push) Successful in 26s
CI - Build & Test / Frontend (Vue/TS) (push) Successful in 17s
CI - Build & Test / Security Check (push) Successful in 3s
- @select Handler auf TeamNetwork
- selectedAgent State + onAgentSelect()
- AgentModal importiert und gerendert (v-if selectedAgent)
- Close via X oder Overlay
2026-06-09 22:19:12 +02:00
4 changed files with 42 additions and 3 deletions
+1 -1
View File
@@ -1 +1 @@
0.2.18
0.2.20
@@ -334,7 +334,7 @@ onUnmounted(() => {
<!-- Cards Layer (above SVG) -->
<div class="cards-layer">
<!-- Hero: Iris centered top -->
<div class="hero-slot" data-agent-id="iris">
<div class="hero-slot" :data-agent-id="hero.id">
<article
class="agent-card hero-card"
:style="{
@@ -81,6 +81,7 @@ export function useDashboardData() {
// Agent runtimes (simulated)
const agentStartTimes = reactive<Record<string, number>>({
iris: now - 28800000,
developer: now - 3600000,
devops: now - 1800000,
researcher: now - 2700000,
@@ -98,6 +99,26 @@ export function useDashboardData() {
// Agents
const agents = ref<AgentNodeData[]>([
{
id: 'iris',
name: 'Iris',
role: 'Chief of Staff',
description: 'Koordiniert, delegiert, hält das Team tight. Die erste Anlaufstelle zwischen Boss und Maschine.',
color: '#8b7cf6',
icon: 'bot',
currentTask: 'Orchestrating Nexus Dashboard redesign',
goal: 'Complete Mission Control v3',
progress: 85,
workload: 55,
active: true,
runtimeSeconds: 28800,
workingFeed: [
'Analyzed user feedback on Dashboard',
'Delegated card redesign to Developer',
'Verifying full-width layout deployment',
'Reviewing AgentModal integration',
],
},
{
id: 'developer',
name: 'Developer',
+19 -1
View File
@@ -1,11 +1,13 @@
<script setup lang="ts">
import { onMounted, onUnmounted } from 'vue'
import { onMounted, onUnmounted, ref } from 'vue'
import MissionCard from '../components/dashboard/MissionCard.vue'
import OperationsFeed from '../components/dashboard/OperationsFeed.vue'
import TeamNetwork from '../components/dashboard/TeamNetwork.vue'
import ChatPanel from '../components/dashboard/ChatPanel.vue'
import QueuePanel from '../components/dashboard/QueuePanel.vue'
import AgentModal from '../components/dashboard/AgentModal.vue'
import { useDashboardData } from '../composables/useDashboardData'
import type { AgentNodeData } from '../../composables/useDashboardData'
const {
agents, missions, feedEntries, chatMessages,
@@ -14,6 +16,13 @@ const {
sendChat, removeQueueItem, moveQueueItem, changeQueuePriority,
} = useDashboardData()
const selectedAgent = ref<AgentNodeData | null>(null)
function onAgentSelect(id: string) {
const agent = agents.value.find(a => a.id === id)
if (agent) selectedAgent.value = agent
}
onMounted(startRuntime)
onUnmounted(stopRuntime)
@@ -58,10 +67,12 @@ function onQueueExecuteNow(id: string): void {
</div>
<TeamNetwork
hero-id="iris"
:agents="agents"
:iris-runtime="irisRuntime"
:get-agent-runtime="getAgentRuntime"
:iris-focus="irisFocus"
@select="onAgentSelect"
/>
<!-- Legend -->
@@ -84,6 +95,13 @@ function onQueueExecuteNow(id: string): void {
<ChatPanel :messages="chatMessages" :iris-busy="irisBusy" :iris-focus="irisFocus" @send="onChatSend" />
<QueuePanel :items="queue" @remove="removeQueueItem" @move-up="onQueueMoveUp" @move-down="onQueueMoveDown" @change-priority="changeQueuePriority" @execute-now="onQueueExecuteNow" />
</div>
<AgentModal
v-if="selectedAgent"
:agent="selectedAgent"
:runtime="getAgentRuntime(selectedAgent.id)"
@close="selectedAgent = null"
/>
</div>
</template>