Commit 465e5c9c authored by Dimitrios Gogos's avatar Dimitrios Gogos
Browse files

feat: add AI² chat feature with thread management

Co-authored with: Natalia Grigoriadou
parent 00489f41
Loading
Loading
Loading
Loading
Loading
+3 −0
Changes for .env.example: 3 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -14,5 +14,8 @@ OIDC__REDIRECT_URI="http://localhost:3000/api/auth/callback"
# OEG, which the GUI reaches through the portal at /api/oeg/* with the user's token.
OEG__BASE_URL="http://localhost:8080"

# The AI2 agent's chat endpoint, which the GUI reaches through the portal at /api/ai2/chat.
AI2__CHAT_URL="http://localhost:9013/groq-mcp"

# API products and their scopes.
API_PRODUCTS__FILE="api-products.example.json"
+890 −582

File changed.

Preview size limit exceeded, changes collapsed.

+2 −0
Changes for portal-gui/package.json: 2 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -13,6 +13,7 @@
    "preview": "vite preview"
  },
  "dependencies": {
    "@assistant-ui/react": "^0.15.25",
    "@dnd-kit/core": "^6.3.1",
    "@dnd-kit/modifiers": "^9.0.0",
    "@dnd-kit/sortable": "^10.0.0",
@@ -20,6 +21,7 @@
    "@fontsource-variable/inter": "^5.2.8",
    "@tailwindcss/vite": "^4.2.1",
    "@tanstack/react-table": "^8.21.3",
    "assistant-stream": "^0.3.48",
    "class-variance-authority": "^0.7.1",
    "clsx": "^2.1.1",
    "lucide-react": "^1.8.0",
+4 −0
Changes for portal-gui/src/app/config/api.ts: 4 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -8,6 +8,10 @@ export const federation = {
  baseUrl: '/api/oeg/platform/v1/federation',
};

export const ai2 = {
  chatUrl: '/api/ai2/chat',
};

export const OEGpaths = {
  application: '/apps',
  edgeCloudZones: '/edge-cloud-zones',
+9 −0
Changes for portal-gui/src/app/config/navigation.ts: 9 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -10,6 +10,7 @@ import {
  Handshake,
  KeyRoundIcon,
  MapPin,
  Bot,
} from 'lucide-react';

import { ROUTES } from './route';
@@ -98,6 +99,14 @@ export const mainNavItems: NavItem[] = [
    showInSidebar: true,
    roles: ['operator'],
  },
  {
    title: 'AI²',
    to: ROUTES.AI2,
    description:
      'Tell the AI² agent what to do and it acts on the platform for you.',
    icon: Bot,
    showInSidebar: true,
  },
  {
    title: 'Profile',
    to: ROUTES.PROFILE,
Loading