Commit Graph

500 Commits

Author SHA1 Message Date
Apple
0e743e5629 fix: restore microdao/agent logos and banner asset urls
- Enhanced normalizeAssetUrl to handle all edge cases
- Added normalizeAssetUrl to all avatar/logo/banner usages:
  - agents/page.tsx
  - agents/[agentId]/page.tsx
  - citizens/page.tsx
  - citizens/[slug]/page.tsx
  - MicrodaoAgentsSection.tsx
  - MicrodaoBrandingCard.tsx
  - AgentSummaryCard.tsx
  - AgentChatWidget.tsx

Task: TASK_PHASE_ASSET_BRANDING_HOTFIX_v1
2025-12-01 11:40:03 -08:00
Apple
dddf51affe feat(microdao-rooms): Add MicroDAO rooms creation/deletion and agent chat
Backend:
- POST /city/microdao/{slug}/rooms - create new room for MicroDAO
- DELETE /city/microdao/{slug}/rooms/{room_id} - soft-delete room
- POST /city/agents/{agent_id}/ensure-room - create personal agent room

Frontend:
- MicrodaoRoomsSection: Added create room modal with name, description, type
- MicrodaoRoomsSection: Added delete room functionality for managers
- Agent page: Added 'Поговорити' button to open chat in City Room

Models:
- Added CreateMicrodaoRoomRequest model

Task: TASK_PHASE_MICRODAO_ROOMS_AND_PUBLIC_CHAT_v3
2025-12-01 10:09:28 -08:00
Apple
2d730198d9 fix(citizens): Fix PublicCitizenSummary slug validation error
- Made slug optional in PublicCitizenSummary model
- Added fallback to agent id if public_slug is None
2025-12-01 09:37:48 -08:00
Apple
cc1704b70c fix(agents): Wrap NewAgentPage in Suspense for useSearchParams 2025-12-01 09:32:16 -08:00
Apple
6cd8148872 feat(agents): Add Create/Delete Agent functionality
Backend:
- Added POST /city/agents endpoint for creating agents
- Added DELETE /city/agents/{id} endpoint for soft-deleting agents
- Added CreateAgentRequest, CreateAgentResponse, DeleteAgentResponse models

Frontend:
- Added '+ Новий агент' button on /agents page
- Created /agents/new page with full agent creation form
- Added 'Видалити агента' button in agent Identity tab (Danger Zone)

Features:
- Auto-generate slug from display_name
- Support for all agent fields: kind, role, model, node, district, microdao
- Color picker for agent color
- Visibility toggles (is_public, is_orchestrator)
- Soft delete with confirmation dialog
2025-12-01 09:29:42 -08:00
Apple
649d07ee29 feat(rooms): Fix NaN online stats + Add DAARWIZZ CTA on homepage
- Fixed NaN in online stats by using nullish coalescing (?? 0)
- Added members_online, zone, room_type to /api/v1/city/rooms response
- Added DAARWIZZ chat CTA section on homepage with link to city-lobby
- Created task files for next phases:
  - TASK_PHASE_CITY_ROOMS_FINISH_v2.md
  - TASK_PHASE_AGENT_MANAGEMENT_v1.md
  - TASK_PHASE_CITIZENS_DIRECTORY_v1.md
2025-12-01 09:19:07 -08:00
Apple
a563ec86a0 fix(rooms): Use rewrite for /api/city/rooms instead of API route
- Removed API route that was conflicting with rewrite
- Added explicit rewrite for /api/city/rooms -> /api/v1/city/rooms
- Rewrite order matters: specific routes before wildcard
2025-12-01 08:52:59 -08:00
Apple
0039be5dc0 feat(rooms): Add city-lobby with DAARWIZZ + fix API proxy
- Created city-lobby room as main public chat with DAARWIZZ
- Fixed /api/city/rooms proxy to use correct backend path (/api/v1/city/rooms)
- Updated district rooms with zone keys (leadership, system, engineering, etc.)
- Set MicroDAO lobbies as primary rooms
- Created seed_city_rooms.py script
- Created TASK_PHASE_CITY_ROOMS_AND_PUBLIC_CHAT_v1.md

Total: 35 rooms, 31 public, 10 districts
2025-12-01 08:47:37 -08:00
Apple
2f8e471e03 feat(node2): Full DAGI integration - 50 agents synced
- Created sync-node2-dagi-agents.py script to sync agents from agents_city_mapping.yaml
- Synced 50 DAGI agents across 10 districts:
  - Leadership Hall (4): Solarius, Sofia, PrimeSynth, Nexor
  - System Control (6): Monitor, Strategic Sentinels, Vindex, Helix, Aurora, Arbitron
  - Engineering Lab (5): ByteForge, Vector, ChainWeaver, Cypher, Canvas
  - Marketing Hub (6): Roxy, Mira, Tempo, Harmony, Faye, Storytelling
  - Finance Office (4): Financial Analyst, Accountant, Budget Planner, Tax Advisor
  - Web3 District (5): Smart Contract Dev, DeFi Analyst, Tokenomics Expert, NFT Specialist, DAO Governance
  - Security Bunker (7): Shadelock, Exor, Penetration Tester, Security Monitor, Incident Responder, Shadelock Forensics, Exor Forensics
  - Vision Studio (4): Iris, Lumen, Spectra, Video Analyzer
  - R&D Lab (6): ProtoMind, LabForge, TestPilot, ModelScout, BreakPoint, GrowCell
  - Memory Vault (3): Somnia, Memory Manager, Knowledge Indexer
- Fixed Swapper config to use swapper_config_node2.yaml with 8 models
- Created TASK_PHASE_NODE2_FULL_DAGI_INTEGRATION_v1.md

NODE2 now shows:
- 50 agents in DAGI Router Card
- 8 models in Swapper Service (gpt-oss, phi3, starcoder2, mistral-nemo, gemma2, deepseek-coder, qwen2.5-coder, deepseek-r1)
- Full isolation from NODE1
2025-12-01 08:31:25 -08:00
Apple
a818f2ac2f feat: add router health metrics to node_cache and node-guardian
- Add migration 042_node_cache_router_metrics.sql
- Node guardian now collects router health and sends in heartbeat
- City-service uses cached router_healthy from node_cache
- This allows NODE2 router status to be displayed correctly
2025-12-01 08:03:46 -08:00
Apple
9b9a72ffbd feat: full node isolation - use node-specific swapper_url and router_url from DB
- Add migration 041_node_local_endpoints.sql
- Add get_node_endpoints() to repo_city.py
- Update routes_city.py to use DB endpoints instead of hardcoded URLs
- Update node-guardian-loop.py to use NODE_SWAPPER_URL/NODE_ROUTER_URL env vars
- Update launchd plist for NODE2 with router URL
2025-12-01 08:01:53 -08:00
Apple
b25e002db6 feat: add logging for node isolation debugging in node-guardian 2025-12-01 07:35:37 -08:00
Apple
31c4da2b54 fix: add is_pinned and pinned_weight to MicrodaoSummary model and API 2025-12-01 07:28:02 -08:00
Apple
ce973b2b38 feat: add MicroDAO pinning - 4 platform districts always on top 2025-12-01 07:26:35 -08:00
Apple
092346f057 fix: use normalizeAssetUrl for banner 2025-12-01 07:09:55 -08:00
Apple
9e7b1f25ef fix: add node button visibility, fix node-guardian swapper health check, fix banner URL transform 2025-12-01 07:08:36 -08:00
Apple
8e14750f8b fix: discover_node_state.py global variable scope, add generated node state files 2025-12-01 06:50:48 -08:00
Apple
f5c58358a0 feat: add 'Додати ноду' button to Node Directory, create /nodes/register page, add node discovery script 2025-12-01 06:47:27 -08:00
Apple
d5aae67b50 fix: remove duplicate API route, add dynamic export to swapper route 2025-12-01 06:26:57 -08:00
Apple
fbf17be668 fix: normalize MicroDAO logo URLs using helper function 2025-12-01 06:23:54 -08:00
Apple
c68935d3a3 fix: simplify get_node_agents query to use existing columns 2025-12-01 06:07:41 -08:00
Apple
9640fd5a75 fix: remove duplicate get_dagi_router_agents function 2025-12-01 06:06:35 -08:00
Apple
909258fdcb fix: DAGI Router agents logic, MicroDAO logo URL handling 2025-12-01 06:03:08 -08:00
Apple
e3accd4df0 feat: DAGI Router v2 - new endpoints, hooks, and UI card 2025-12-01 05:21:43 -08:00
Apple
53f31adbf0 feat: add logo display in MicroDAO cards and hero section, add banner background support 2025-12-01 04:34:26 -08:00
Apple
0f32630733 fix: use CASE instead of COALESCE for swapper_state to always update when provided 2025-12-01 04:12:38 -08:00
Apple
d8ab32b59f fix: add beforeFiles to rewrites config 2025-12-01 04:07:59 -08:00
Apple
6ebdaac25d fix: use afterFiles/fallback rewrites to allow Next.js API routes to work 2025-12-01 04:06:51 -08:00
Apple
2589f2d99d fix: rename /api/internal/ to /api/node-internal/ to avoid routing issues 2025-12-01 04:00:38 -08:00
Apple
b55c59b9d1 fix: rename _debug to debug (Next.js ignores underscore prefixes) 2025-12-01 03:45:30 -08:00
Apple
1a81cf75f1 feat: add unified API proxy layer, debug endpoint, and systemd service for node-guardian 2025-12-01 03:43:06 -08:00
Apple
b3e3c6417d fix: update Swapper endpoints (/health, /models), remove upload size limits, auto-convert images 2025-12-01 03:03:27 -08:00
Apple
9c79b6e526 fix: add static files proxy and improve upload URL handling 2025-12-01 02:45:07 -08:00
Apple
7843ff3d86 fix: improve error handling for swapper and upload APIs 2025-12-01 02:41:35 -08:00
Apple
d4e20ea513 feat: add MicroDAO branding and Agent avatar upload UI 2025-12-01 02:26:02 -08:00
Apple
95b75d5897 fix: export StatusBadge from node-dashboard 2025-12-01 02:21:07 -08:00
Apple
dcc9ec0b39 fix: next15 api route params must be Promise 2025-12-01 02:19:57 -08:00
Apple
394dd62980 feat: add swapper api proxy and improved card 2025-12-01 02:18:14 -08:00
GitHub Action
f0d113e234 docs: auto-update repository information [skip ci] 2025-12-01 09:30:48 +00:00
Apple
135e8ed83c fix: suppress expected swapper connection errors in guardian loop 2025-11-30 15:41:42 -08:00
Apple
281c79f916 feat: implement swapper metrics and node cabinet ui 2025-11-30 15:40:41 -08:00
Apple
cb9efaf656 fix: import Swapper models in routes_city 2025-11-30 15:26:42 -08:00
Apple
4f123ae79b fix: update deploy script to avoid container conflicts 2025-11-30 15:25:37 -08:00
Apple
cbaaed5e23 fix: fix backend files and add swapper functionality 2025-11-30 15:19:11 -08:00
Apple
fd814b2059 feat: implement Swapper metrics collection and UI 2025-11-30 15:12:49 -08:00
Apple
5b5160ad8b fix: correct API endpoints in node-guardian-loop script 2025-11-30 15:01:06 -08:00
Apple
4ae9ee4d70 fix: allow healthy status in invariants check 2025-11-30 14:53:53 -08:00
Apple
a8617df1d0 fix: check /health instead of /healthz in invariants script 2025-11-30 14:53:17 -08:00
Apple
5c1d7d15f9 fix: correct API endpoints in verification scripts 2025-11-30 14:51:59 -08:00
Apple
6d4f9ec7c5 feat: add post-deploy verification checklist and script 2025-11-30 14:47:27 -08:00