xvadur commited on
Commit
1322be1
·
1 Parent(s): 2f18fd7

Deploy fix – 2025-06-04: sync, gradio refactor, requirements update

Browse files
.github/workflows/deploy.yml CHANGED
@@ -4,31 +4,43 @@ on:
4
  push:
5
  branches:
6
  - main
 
7
 
8
  jobs:
9
- build-and-deploy:
10
  runs-on: ubuntu-latest
11
 
12
  steps:
13
  - name: Checkout code
14
  uses: actions/checkout@v3
15
 
 
 
 
 
 
 
 
 
 
16
  - name: Set up Docker Buildx
17
  uses: docker/setup-buildx-action@v2
18
 
19
- - name: Log in to DockerHub
20
- uses: docker/login-action@v2
21
- with:
22
- username: ${{ secrets.DOCKER_USERNAME }}
23
- password: ${{ secrets.DOCKER_PASSWORD }}
 
24
 
25
  - name: Build and push Docker image
26
- uses: docker/build-push-action@v4
27
- with:
28
- context: .
29
- file: Dockerfile
30
- push: true
31
- tags: ${{ secrets.DOCKER_USERNAME }}/crewai:latest
32
 
33
  - name: Deploy to Vercel
34
- run: npx vercel --prod --token ${{ secrets.VERCEL_TOKEN }}
 
 
 
4
  push:
5
  branches:
6
  - main
7
+ pull_request:
8
 
9
  jobs:
10
+ deploy:
11
  runs-on: ubuntu-latest
12
 
13
  steps:
14
  - name: Checkout code
15
  uses: actions/checkout@v3
16
 
17
+ - name: Configure safe directory
18
+ run: |
19
+ git config --global --add safe.directory /home/runner/work/Aethero_github/Aethero_github
20
+
21
+ - name: Update submodules
22
+ run: |
23
+ git submodule sync
24
+ git submodule update --init --recursive
25
+
26
  - name: Set up Docker Buildx
27
  uses: docker/setup-buildx-action@v2
28
 
29
+ - name: Login to Docker
30
+ env:
31
+ DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
32
+ DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
33
+ run: |
34
+ echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
35
 
36
  - name: Build and push Docker image
37
+ env:
38
+ DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
39
+ run: |
40
+ docker build -t $DOCKER_USERNAME/crewai:latest .
41
+ docker push $DOCKER_USERNAME/crewai:latest
 
42
 
43
  - name: Deploy to Vercel
44
+ env:
45
+ VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }}
46
+ run: npx vercel --prod --token $VERCEL_TOKEN
.gitignore CHANGED
@@ -17,13 +17,11 @@ coverage.xml
17
  *.cover
18
  *.log
19
 
20
- # Node.js
21
  node_modules/
22
  npm-debug.log*
23
  yarn-debug.log*
24
  yarn-error.log*
25
- lerna-debug.log*
26
- .pnpm-debug.log*
27
 
28
  # Deployment
29
  .vercel
@@ -43,61 +41,9 @@ lerna-debug.log*
43
  ehthumbs.db
44
  Thumbs.db
45
 
46
- # Diagnostic reports (https://nodejs.org/api/report.html)
47
- report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
48
-
49
- # Runtime data
50
- pids
51
- *.pid
52
- *.seed
53
- *.pid.lock
54
-
55
- # Optional npm cache directory
56
- .npm
57
-
58
- # Optional eslint cache
59
- .eslintcache
60
-
61
- # Yarn Integrity file
62
- .yarn-integrity
63
-
64
- # parcel-bundler cache (https://parceljs.org/)
65
- .cache
66
- .parcel-cache
67
-
68
- # Next.js build output
69
- .next
70
- out
71
-
72
- # Nuxt.js build / generate output
73
- .nuxt
74
- dist
75
-
76
- # Docusaurus cache and generated files
77
- .docusaurus
78
-
79
  # AetheroOS specific
80
  *.log
81
  aethero_cognitive_flow.log
82
 
83
- # Serverless directories
84
- .serverless/
85
-
86
- # FuseBox cache
87
- .fusebox/
88
-
89
- # DynamoDB Local files
90
- .dynamodb/
91
-
92
- # TernJS port file
93
- .tern-port
94
-
95
- # Stores VSCode versions used for testing VSCode extensions
96
- .vscode-test
97
-
98
- # yarn v2
99
- .yarn/cache
100
- .yarn/unplugged
101
- .yarn/build-state.yml
102
- .yarn/install-state.gz
103
- .pnp.*
 
17
  *.cover
18
  *.log
19
 
20
+ # Node.js
21
  node_modules/
22
  npm-debug.log*
23
  yarn-debug.log*
24
  yarn-error.log*
 
 
25
 
26
  # Deployment
27
  .vercel
 
41
  ehthumbs.db
42
  Thumbs.db
43
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
44
  # AetheroOS specific
45
  *.log
46
  aethero_cognitive_flow.log
47
 
48
+ # API cache
49
+ api/__pycache__/
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Aethero_App/gradio_interface.py CHANGED
@@ -1,4 +1,7 @@
1
  import gradio as gr
 
 
 
2
  from aslr_analyzer import ASLAnalyzer
3
 
4
  def analyze_text_with_visuals(input_text):
@@ -21,6 +24,22 @@ def analyze_text_with_visuals(input_text):
21
 
22
  return radar_chart_path
23
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
24
  iface = gr.Interface(
25
  fn=analyze_text_with_visuals,
26
  inputs="text",
@@ -29,5 +48,14 @@ iface = gr.Interface(
29
  description="Analyze text and visualize emotions with radar charts."
30
  )
31
 
 
 
 
 
 
 
 
 
32
  if __name__ == "__main__":
33
  iface.launch()
 
 
1
  import gradio as gr
2
+ import os
3
+ from aethero_monumentum_ignis import run_orchestration
4
+ from datetime import datetime
5
  from aslr_analyzer import ASLAnalyzer
6
 
7
  def analyze_text_with_visuals(input_text):
 
24
 
25
  return radar_chart_path
26
 
27
+ def orchestrate_and_return_log(_):
28
+ """
29
+ Spustí orchestráciu a vráti cestu k log súboru.
30
+ """
31
+ # Spustenie orchestrácie
32
+ run_orchestration()
33
+ # Presun final_prompt.txt do memory/orchestration_logs/ s timestampom
34
+ ts = datetime.now().strftime("%Y%m%d_%H%M%S")
35
+ os.makedirs("memory/orchestration_logs", exist_ok=True)
36
+ src = "final_prompt.txt"
37
+ dst = f"memory/orchestration_logs/orchestration_{ts}.txt"
38
+ if os.path.exists(src):
39
+ os.rename(src, dst)
40
+ return dst
41
+ return "Orchestration log not found."
42
+
43
  iface = gr.Interface(
44
  fn=analyze_text_with_visuals,
45
  inputs="text",
 
48
  description="Analyze text and visualize emotions with radar charts."
49
  )
50
 
51
+ iface_orchestrate = gr.Interface(
52
+ fn=orchestrate_and_return_log,
53
+ inputs=None,
54
+ outputs="text",
55
+ title="Aethero Orchestration Trigger",
56
+ description="Spustí orchestráciu všetkých agentov a uloží log do memory/orchestration_logs/."
57
+ )
58
+
59
  if __name__ == "__main__":
60
  iface.launch()
61
+ iface_orchestrate.launch()
Aethero_App/lucius_report.md CHANGED
@@ -1,76 +1,17 @@
1
- # Správa o činnosti - Aethero FastAPI Server
2
 
3
- **Dátum:** 1. jún 2025
4
- **Autor:** GitHub Copilot (Lucius AI Assistant)
5
- **Projekt:** Aethero Cognitive Flow - FastAPI Server Development
6
 
7
- ## Sumár projektu
8
-
9
- Aethero je pokročilý kognitívny systém založený na introspektívnom parsovaní a reflexívnych agentoch. Hlavným cieľom bolo nasadiť a otestovať FastAPI server s viacerými endpointami na port 7860.
10
-
11
- ## Stav projektu
12
-
13
- ### ✅ Dokončené úlohy
14
-
15
- 1. **Nastavenie prostredia**
16
- - Vytvorený a aktivovaný virtuálny environment
17
- - Inštalované všetky potrebné závislosti (`uvicorn`, `fastapi`, `pydantic`, `websockets`, `transformers`)
18
- - Overené prítomnosť kľúčových súborov
19
-
20
- 2. **Oprava importov**
21
- - Vyriešené importy v `syntaxator_fastapi.py`
22
- - Upravená štruktúra modulu `introspective_parser_module`
23
- - Zabezpečená kompatibilita s projektovou hierarchiou
24
-
25
- 3. **Spustenie servera**
26
- - FastAPI server úspešne spustený na porte 7860
27
- - Nastavený správny `PYTHONPATH`
28
- - Server beží a prijíma požiadavky
29
-
30
- 4. **Testovanie endpointov**
31
- - `/logs` endpoint - ✅ **FUNKČNÝ** (vracia placeholder logy)
32
- - `/logs/stream` - ✅ WebSocket endpoint implementovaný
33
- - `/parse` endpoint - ❌ **CHYBA** (Internal Server Error)
34
- - `/metrics` endpoint - ❌ **CHYBA** (Internal Server Error)
35
-
36
- 5. **Docker kontajnerizácia**
37
- - Aktualizovaný `Dockerfile` s Python 3.10
38
- - Nastavený port 7860
39
- - Pripravený na nasadenie
40
-
41
- ### ⚠️ Problémy a chyby
42
-
43
- 1. **Endpoint chyby**
44
- ```
45
- /parse - Internal Server Error (500)
46
- /metrics - Internal Server Error (500)
47
- ```
48
-
49
- 2. **Možné príčiny chýb**
50
- - Chýbajúce alebo nesprávne implementované triedy (`ASLMetaParser`, `CognitiveMetricsAnalyzer`)
51
- - Problémy s importami v moduloch
52
- - Nesprávna inicializácia objektov
53
-
54
- ### 🔄 Aktuálny stav servera
55
-
56
- ```bash
57
- Server Status: RUNNING ✅
58
- Port: 7860
59
- Host: 0.0.0.0
60
- Process ID: 82883
61
- ```
62
-
63
- **Funkčné endpointy:**
64
- - `GET /logs` - Vracia JSON s logmi
65
- - `WebSocket /logs/stream` - Streamovanie logov
66
-
67
- **Nefunkčné endpointy:**
68
- - `POST /parse` - 500 Internal Server Error
69
- - `POST /metrics` - 500 Internal Server Error
70
 
71
- ## Technické detaily
72
 
73
- ### Architektúra
74
  ```
75
  Aethero_App/
76
  ├── syntaxator_fastapi.py (Hlavný FastAPI server)
@@ -78,38 +19,68 @@ Aethero_App/
78
  │ ├── parser.py (ASLMetaParser)
79
  │ ├── metrics.py (CognitiveMetricsAnalyzer)
80
  │ └── reflection_agent.py (AetheroReflectionAgent)
 
 
 
81
  ├── Dockerfile (Kontajnerizácia)
82
  └── requirements.txt (Závislosti)
83
  ```
84
 
85
- ### Kľúčové komponenty
86
- - **FastAPI aplikácia** s 4 hlavnými endpointami
87
- - **WebSocket podpora** pre real-time streaming
88
- - **Modulárna architektúra** s oddelenými komponentmi
89
- - **Docker podpora** pre nasadenie
90
 
91
- ## Odporúčania na pokračovanie
92
 
93
- ### Priorita 1: Oprava chýb v endpointoch
94
- 1. Debugovanie `/parse` endpointu
95
- 2. Debugovanie `/metrics` endpointu
96
- 3. Testovanie všetkých funkcionalít
97
 
98
- ### Priorita 2: Implementácia chýbajúcich funkcií
99
- 1. Implementácia `/reflect` endpointu pre introspektívny tréning
100
- 2. Vytvorenie `.huggingface.yml` pre Hugging Face Spaces
101
- 3. Pridanie CI/CD pipeline (`.github/workflows/deploy.yml`)
102
 
103
- ### Priorita 3: Nasadenie a monitoring
104
- 1. Finalizácia Docker kontajnera
105
- 2. Testovanie na produkčnom prostredí
106
- 3. Implementácia monitoringu a loggovania
107
 
108
- ## Záver
 
 
 
109
 
110
- Projekt Aethero FastAPI server je vo funkčnom stave s čiastočnou funkcionalitou. Server beží stabilne na porte 7860, ale vyžaduje ďalšie ladenie pre plnú funkcionalitu všetkých endpointov. Základná infraštruktúra je pripravená na nasadenie po vyriešení identifikovaných chýb.
111
 
112
- **Celkový stav projektu:** 🟡 **ČIASTOČNE FUNKČNÝ**
 
 
 
 
 
 
 
 
 
 
 
113
 
114
  ---
115
- *Generované automaticky pomocou GitHub Copilot AI Assistant*
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Presidential Oversight System Implementačná Direktíva
2
 
3
+ **PREZIDENTSKÁ DIREKTÍVA AETH-OVERSIGHT-IMPLEMENTATION-2025-0001**
4
+ **OKAMŽITÉ POKRAČOVANIE IMPLEMENTÁCIE**
 
5
 
6
+ ---
7
+ **Dátum a čas (UTC):** 2025-01-27 15:12:33
8
+ **Prezidentský Dekrét:** AETH-EXEC-2025-0005
9
+ **Klasifikácia:** OPERAČNÉ TAJOMSTVO - ALPHA
10
+ **Logovací Záznam:** aeth_mem_0430
11
+ ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12
 
13
+ ## ARCHITEKTÚRA
14
 
 
15
  ```
16
  Aethero_App/
17
  ├── syntaxator_fastapi.py (Hlavný FastAPI server)
 
19
  │ ├── parser.py (ASLMetaParser)
20
  │ ├── metrics.py (CognitiveMetricsAnalyzer)
21
  │ └── reflection_agent.py (AetheroReflectionAgent)
22
+ ├── presidential_oversight/
23
+ │ ├── README.md (Táto direktíva)
24
+ │ └── (Ďalšie moduly a súbory)
25
  ├── Dockerfile (Kontajnerizácia)
26
  └── requirements.txt (Závislosti)
27
  ```
28
 
29
+ ---
 
 
 
 
30
 
31
+ ## I. ÚVOD
32
 
33
+ Tento dokument predstavuje oficiálnu implementačnú direktívu pre vývoj a nasadenie Presidential Oversight System (POS) v rámci projektu Aethero Cognitive Flow. POS je navrhnutý ako kritický komponent pre monitoring, riadenie a audit kognitívnych procesov s priamym dohľadom prezidenta.
 
 
 
34
 
35
+ ---
 
 
 
36
 
37
+ ## II. CIELE A ÚLOHY
 
 
 
38
 
39
+ - Zabezpečiť transparentnosť a kontrolu nad AI agentmi
40
+ - Umožniť real-time reporting a alerting pre kritické udalosti
41
+ - Implementovať bezpečnostné protokoly a šifrovanie dát
42
+ - Vytvoriť modulárnu a škálovateľnú architektúru pre budúce rozšírenia
43
 
44
+ ---
45
 
46
+ ## III. TECHNICKÉ ŠPECIFIKÁCIE
47
+
48
+ 1. **Modulárna štruktúra**
49
+ - Ka��dý podmodul musí byť samostatne testovateľný
50
+ 2. **API rozhranie**
51
+ - REST a WebSocket endpointy pre komunikáciu s FastAPI serverom
52
+ 3. **Bezpečnostné opatrenia**
53
+ - Autentifikácia a autorizácia na úrovni endpointov
54
+ - Šifrovanie komunikácie a dátových úložísk
55
+ 4. **Logovanie a audit**
56
+ - Centralizované logovanie všetkých akcií
57
+ - Auditné stopy pre všetky zmeny a prístupy
58
 
59
  ---
60
+
61
+ ## IV. IMPLEMENTAČNÉ KROKY
62
+
63
+ - Vytvoriť základný scaffold adresára `presidential_oversight`
64
+ - Implementovať základné API endpointy pre monitoring a reporting
65
+ - Integrovať bezpečnostné mechanizmy (OAuth2, JWT)
66
+ - Nasadiť testovacie prostredie a vykonať záťažové testy
67
+ - Dokumentovať všetky moduly a procesy
68
+
69
+ ---
70
+
71
+ ## V. POŽIADAVKY NA NASADENIE
72
+
73
+ - Server musí bežať na porte 7861 (oddelený od hlavného FastAPI servera)
74
+ - Zabezpečiť kontinuálnu integráciu a nasadenie cez CI/CD pipeline
75
+ - Monitorovať systém pomocou integrovaných nástrojov (Prometheus, Grafana)
76
+
77
+ ---
78
+
79
+ ## VI. ZÁVEREČNÉ USTANOVENIA
80
+
81
+ Táto direktíva nadobúda platnosť okamžite a je záväzná pre všetkých vývojárov a administrátorov zapojených do projektu Aethero. Akékoľvek zmeny musia byť schválené prezidentským výborom.
82
+
83
+ ---
84
+
85
+ ⏳ STATUS: ZATIAĽ NEIMPLEMENTOVANÉ
86
+ Tento súbor slúži ako oficiálne uložený návrh pre okamžité alebo budúce spustenie oversight systému. Po inicializácii sa vykoná scaffold podľa tejto direktívy.
Aethero_App/publish/push_to_hf.py CHANGED
@@ -17,12 +17,15 @@ def publish_to_huggingface(repo_name, files, repo_type="space"):
17
  raise ValueError("Hugging Face API token not found. Please log in using `huggingface-cli login`.")
18
 
19
  # Create or update the repository
20
- api.create_repo(repo_name, repo_type=repo_type, exist_ok=True)
21
 
22
  # Upload files
23
  for file in files:
 
 
 
24
  api.upload_file(
25
- path_or_fileobj=file,
26
  path_in_repo=os.path.basename(file),
27
  repo_id=repo_name,
28
  repo_type=repo_type
@@ -30,10 +33,11 @@ def publish_to_huggingface(repo_name, files, repo_type="space"):
30
 
31
  if __name__ == "__main__":
32
  # Example usage
 
33
  repo_name = "aethero_frontinus"
34
  files = [
35
- "publish/README.md",
36
- "publish/index.html",
37
- "publish/manifest.json"
38
  ]
39
  publish_to_huggingface(repo_name, files)
 
17
  raise ValueError("Hugging Face API token not found. Please log in using `huggingface-cli login`.")
18
 
19
  # Create or update the repository
20
+ api.create_repo(repo_name, repo_type=repo_type, space_sdk="static", exist_ok=True)
21
 
22
  # Upload files
23
  for file in files:
24
+ absolute_path = os.path.abspath(file) # Ensure the file path is absolute
25
+ if not os.path.isfile(absolute_path):
26
+ raise ValueError(f"Provided path: '{absolute_path}' is not a file on the local file system")
27
  api.upload_file(
28
+ path_or_fileobj=absolute_path,
29
  path_in_repo=os.path.basename(file),
30
  repo_id=repo_name,
31
  repo_type=repo_type
 
33
 
34
  if __name__ == "__main__":
35
  # Example usage
36
+ base_dir = os.path.abspath(os.path.dirname(__file__)) # Get the directory of the current script
37
  repo_name = "aethero_frontinus"
38
  files = [
39
+ os.path.join(base_dir, "README.md"),
40
+ os.path.join(base_dir, "index.html"),
41
+ os.path.join(base_dir, "manifest.json")
42
  ]
43
  publish_to_huggingface(repo_name, files)
requirements.txt CHANGED
@@ -1,6 +1,30 @@
 
 
1
  crewai
2
  openai
3
  huggingface_hub
4
  langchain
5
  python-dotenv
6
- gradio
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # AETH-TASK-005 :: Vercel Production Dependencies
2
+ # Core CrewAI dependencies
3
  crewai
4
  openai
5
  huggingface_hub
6
  langchain
7
  python-dotenv
8
+ gradio
9
+
10
+ # FastAPI and Web Framework (essential for Vercel)
11
+ fastapi>=0.104.0
12
+ uvicorn[standard]>=0.24.0
13
+
14
+ # Pydantic for data validation
15
+ pydantic>=2.11.0
16
+
17
+ # HTTP and async support
18
+ aiohttp>=3.8.0
19
+ httpx>=0.24.0
20
+ aiofiles>=0.8.0
21
+
22
+ # Security
23
+ cryptography>=3.4.7
24
+ PyJWT>=2.3.0
25
+
26
+ # System monitoring
27
+ psutil>=5.8.0
28
+
29
+ # Data processing
30
+ tabulate>=0.9.0
vercel.json CHANGED
@@ -4,12 +4,24 @@
4
  {
5
  "src": "api/index.py",
6
  "use": "@vercel/python"
 
 
 
 
7
  }
8
  ],
9
  "routes": [
10
  {
11
- "src": "/(.*)",
12
  "dest": "api/index.py"
 
 
 
 
 
 
 
 
13
  }
14
  ],
15
  "env": {
@@ -19,5 +31,6 @@
19
  "api/index.py": {
20
  "maxDuration": 30
21
  }
22
- }
 
23
  }
 
4
  {
5
  "src": "api/index.py",
6
  "use": "@vercel/python"
7
+ },
8
+ {
9
+ "src": "dashboard/**",
10
+ "use": "@vercel/static"
11
  }
12
  ],
13
  "routes": [
14
  {
15
+ "src": "/api/(.*)",
16
  "dest": "api/index.py"
17
+ },
18
+ {
19
+ "src": "/dashboard/(.*)",
20
+ "dest": "dashboard/public/$1"
21
+ },
22
+ {
23
+ "src": "/",
24
+ "dest": "dashboard/public/index.html"
25
  }
26
  ],
27
  "env": {
 
31
  "api/index.py": {
32
  "maxDuration": 30
33
  }
34
+ },
35
+ "public": true
36
  }