Skip to content

Commit 6538672

Browse files
authored
Merge pull request #118 from ssdeanx/develop
feat: Integrate AI Elements and Mastra agents into the chat UI, updat…
2 parents 6917273 + 7c75354 commit 6538672

26 files changed

Lines changed: 2761 additions & 1207 deletions

.env.example

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ OPENCODE_API_KEY='your_opencode_zen_api_key_here'
1212
# Can also use gemini must set OPENAI_BASE_URL and OPENAI_MODEL, OPENAI_EMBEDDING_BASE_URL, and EMBEDDING_MODEL
1313
OPENAI_API_KEY='your_openai_api_key_here'
1414
OPENAI_BASE_URL='https://api.openai.com/v1'
15-
OPENAI_MODEL='gpt-5.1-mini'
15+
OPENAI_MODEL='gpt-5-mini'
1616

1717
# Gemini OAuth Cache Directory
1818
GEMINI_OAUTH_CACHE='~/.gemini/oauth_creds.json'

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,3 +173,4 @@ thoughts/ledgers/CONTINUITY_ses_37f3.md
173173
thoughts/ledgers/CONTINUITY_ses_37f1.md
174174
thoughts/ledgers/CONTINUITY_ses_3771.md
175175
thoughts/ledgers/CONTINUITY_ses_3772.md
176+
.sisyphus/plans/update-readme-accurate-stats.md

AI_ELEMENTS_INTEGRATION_TODO.md

Lines changed: 0 additions & 176 deletions
This file was deleted.

README.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<!-- AGENTS-META {"title":"AgentStack README","version":"3.4.0","applies_to":"/","last_updated":"2026-02-16T00:00:00Z","status":"stable"} -->
1+
<!-- AGENTS-META {"title":"AgentStack README","version":"1.2.1","applies_to":"/","last_updated":"2026-02-27","status":"stable"} -->
22

33
<div align="center">
44

@@ -19,10 +19,10 @@
1919

2020
<!-- Stats Badges -->
2121

22-
[![Agents](https://img.shields.io/badge/Agents-48+-blue?logo=robot&logoColor=white)](src/mastra/agents)
23-
[![Tools](https://img.shields.io/badge/Tools-94+-orange?logo=hammer&logoColor=white)](src/mastra/tools)
22+
[![Agents](https://img.shields.io/badge/Agents-41-blue?logo=robot&logoColor=white)](src/mastra/agents)
23+
[![Tools](https://img.shields.io/badge/Tools-57-orange?logo=hammer&logoColor=white)](src/mastra/tools)
2424
[![Workflows](https://img.shields.io/badge/Workflows-21-purple?logo=workflow&logoColor=white)](src/mastra/workflows)
25-
[![Networks](https://img.shields.io/badge/Networks-12-teal?logo=network-wired&logoColor=white)](src/mastra/networks)
25+
[![Networks](https://img.shields.io/badge/Networks-11-teal?logo=network-wired&logoColor=white)](src/mastra/networks)
2626
[![UI Components](https://img.shields.io/badge/UI%20Components-105-pink?logo=react&logoColor=white)](ui/)
2727

2828
<!-- Quality Badges -->
@@ -37,7 +37,7 @@
3737
[![GitMCP](https://img.shields.io/endpoint?url=https://gitmcp.io/badge/ssdeanx/AgentStack)](https://gitmcp.io/ssdeanx/AgentStack)
3838
[![wakatime](https://wakatime.com/badge/user/7a2fb9a0-188b-4568-887f-7645f9249e62/project/e52d02a1-f64a-4f8d-bc13-caaa2dc37461.svg)](https://wakatime.com/badge/user/7a2fb9a0-188b-4568-887f-7645f9249e62/project/e52d02a1-f64a-4f8d-bc13-caaa2dc37461)
3939

40-
**AgentStack** is a **production-grade multi-agent framework** built on Mastra, delivering **60+ enterprise tools**, **48+ specialized agents**, **21 workflows**, **12 agent networks**, **105 UI components** (50+ AI Elements + 55+ base), and **A2A/MCP orchestration** for scalable AI systems. Focuses on **financial intelligence**, **RAG pipelines**, **observability**, **secure governance**, and **AI chat interfaces**.
40+
**AgentStack** is a **production-grade multi-agent framework** built on Mastra, delivering **57 enterprise tools**, **41 specialized agents**, **21 workflows**, **11 agent networks**, **105 UI components** (50+ AI Elements + 55+ base), and **A2A/MCP orchestration** for scalable AI systems. Focuses on **financial intelligence**, **RAG pipelines**, **observability**, **secure governance**, and **AI chat interfaces**.
4141

4242
<!-- Mastra Ecosystem -->
4343

@@ -71,9 +71,9 @@ AgentStack bridges the gap between experimental AI frameworks and production-rea
7171
| **Production Observability** |**Full Langfuse tracing + 10+ custom scorers** | ⚠️ Partial | ❌ Basic | ❌ Limited |
7272
| **Financial Intelligence** |**Polygon/Finnhub/AlphaVantage (30+ endpoints)** | ❌ None | ❌ None | ❌ None |
7373
| **RAG Pipeline** |**PgVector HNSW + rerank + graphRAG** | ⚠️ External | ❌ Basic | ❌ None |
74-
| **Multi-Agent Orchestration** |**A2A MCP + parallel execution (48+ agents)** | ⚠️ Sequential | ✅ Sequential | ✅ Custom |
74+
| **Multi-Agent Orchestration** |**A2A MCP + parallel execution (41 agents)** | ⚠️ Sequential | ✅ Sequential | ✅ Custom |
7575
| **Enterprise Security** |**JWT/RBAC + path traversal protection + HTML sanitization** | ❌ Custom | ❌ None | ❌ None |
76-
| **Type Safety** |**Zod schemas everywhere (94+ tools)** | ⚠️ JS/TS mix | ⚠️ JS focus | ❌ Python |
76+
| **Type Safety** |**Zod schemas everywhere (57 tools)** | ⚠️ JS/TS mix | ⚠️ JS focus | ❌ Python |
7777
| **UI Components** |**105 components (AI Elements + shadcn/ui)** | ❌ None | ❌ None | ❌ None |
7878
| **Testing** |**Vitest + 97% coverage + comprehensive mocks** | ⚠️ Partial | ❌ Sparse | ⚠️ Partial |
7979

@@ -88,9 +88,9 @@ AgentStack bridges the gap between experimental AI frameworks and production-rea
8888

8989
- **💰 Financial Intelligence**: 30+ tools (Polygon quotes/aggs/fundamentals, Finnhub analysis, AlphaVantage indicators)
9090
- **🔍 Semantic RAG**: PgVector (3072D embeddings) + MDocument chunking + rerank + graph traversal
91-
- **🤖 48+ Agents**: Research → Learn → Report → Edit → Analyze (stock/crypto/copywriter/evaluator/data pipeline/business-legal/charting/image/coding/dane/social media/SEO/translation/customer support/project management)
91+
- **🤖 41 Agents**: Research → Learn → Report → Edit → Analyze (stock/crypto/copywriter/evaluator/data pipeline/business-legal/charting/image/coding/dane/social media/SEO/translation/customer support/project management)
9292
- **📋 21 Workflows**: Weather, content, financial reports, document processing, research synthesis, learning extraction, governed RAG (index + answer), spec generation, repo ingestion, stock analysis, marketing campaign
93-
- **🌐 12 Agent Networks**: Primary routing, data pipeline, report generation, research pipeline, content creation, financial intelligence, learning, marketing automation, DevOps, business intelligence, security
93+
- **🌐 11 Agent Networks**: Primary routing, data pipeline, report generation, research pipeline, content creation, financial intelligence, learning, marketing automation, DevOps, business intelligence, security
9494
- **🔌 A2A/MCP**: MCP server coordinates parallel agents (research+stock→report), A2A coordinator for cross-agent communication
9595
- **🎨 105 UI Components**: AI Elements (50 chat/reasoning/canvas components) + shadcn/ui (55 base primitives)
9696
- **📊 Full Observability**: Langfuse traces + 10+ custom scorers (diversity/quality/completeness) + TanStack Query for state management

app/chat/components/chat-layout.tsx

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,20 +15,27 @@ export function ChatLayout() {
1515
return (
1616
<main
1717
className={cn(
18-
'ui-crisp flex h-[calc(100vh-4rem)] flex-col bg-background transition-all duration-500',
18+
'flex h-screen pt-16 flex-col bg-background transition-all duration-500 overflow-hidden',
1919
isFocusMode && 'focus-mode-active'
2020
)}
2121
>
2222
<ChatHeader />
23-
<SidebarProvider className="flex flex-1 overflow-hidden min-h-0 bg-background">
23+
<SidebarProvider className="flex flex-1 overflow-hidden min-h-0 bg-background w-full">
2424
<MainSidebar />
25-
<SidebarInset className="flex flex-1 flex-col overflow-hidden bg-background m-0 rounded-none border-x-0">
26-
<ChatMessages />
27-
<ChatInput />
25+
<SidebarInset className="flex flex-1 flex-col overflow-hidden bg-background m-0 rounded-none border-x-0 relative min-w-0">
26+
<div className="flex h-full w-full flex-1 overflow-hidden">
27+
<div className="flex flex-1 flex-col overflow-hidden relative min-w-0">
28+
<ChatMessages />
29+
<ChatInput />
30+
</div>
31+
32+
{!isFocusMode && (
33+
<div className="w-[380px] h-full border-l bg-card/30 backdrop-blur-xl overflow-hidden min-w-[380px] shrink-0">
34+
<ChatSidebar />
35+
</div>
36+
)}
37+
</div>
2838
</SidebarInset>
29-
<div className="hide-on-focus h-full border-l">
30-
<ChatSidebar />
31-
</div>
3239
</SidebarProvider>
3340
</main>
3441
)

app/chat/components/chat-messages.tsx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2161,6 +2161,11 @@ export function ChatMessages(_props?: Partial<ChatMessagesProps>) {
21612161

21622162
const timeoutId = window.setTimeout(() => {
21632163
const validateMessages = async () => {
2164+
if (messages.length === 0) {
2165+
setValidationError(null)
2166+
return
2167+
}
2168+
21642169
const result = await safeValidateUIMessages<UIMessage>({
21652170
messages,
21662171
})

0 commit comments

Comments
 (0)