feat(agent): integrate agents into all BOC modules
BOC CI/CD / Test (push) Failing after 1s
BOC CI/CD / Security Scan (push) Has been skipped
BOC CI/CD / Build & Push (push) Has been skipped
BOC CI/CD / Deploy to Staging (push) Has been skipped
BOC CI/CD / Deploy to Production (push) Has been skipped

- Add AgentFAB floating button to CRM, Sales, Finance, HR, Legal, Marketing, Support, Automation
- Update AgentChat to use /api/v1/agents/chat with auth token
- Add error handling and fallback to mock responses
- Update Anthropic model to claude-sonnet-4-6
- Show agent context in chat footer (title + competencies)
- Build fresh web-v2 dist
This commit is contained in:
Bernt
2026-08-12 09:04:42 +00:00
parent 0831a49c71
commit 0124fc0186
16 changed files with 923 additions and 793 deletions
+4
View File
@@ -13,6 +13,7 @@ import {
FileText,
UserPlus,
} from 'lucide-react'
import { AgentFAB } from '@/components/agent/AgentFAB'
const workflows = [
{
@@ -202,6 +203,9 @@ export function AutomationPage() {
))}
</div>
</Card>
{/* Automation Agent */}
<AgentFAB rum="automation" />
</div>
)
}
+4
View File
@@ -23,6 +23,7 @@ import {
Building2,
MoreHorizontal,
} from 'lucide-react'
import { AgentFAB } from '@/components/agent/AgentFAB'
interface Customer {
id: string
@@ -346,6 +347,9 @@ export function CRMPage() {
</Card>
)}
{/* CRM Agent */}
<AgentFAB rum="crm" />
{activeTab === 'Pipeline' && (
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-5">
{pipelineStages.length === 0 && (
+4
View File
@@ -31,6 +31,7 @@ import {
ArrowUpRight,
ArrowDownRight,
} from 'lucide-react'
import { AgentFAB } from '@/components/agent/AgentFAB'
interface BalanceAccount {
account: string
@@ -575,6 +576,9 @@ export function FinancePage() {
</div>
</Card>
)}
{/* Finance Agent */}
<AgentFAB rum="finance" />
</div>
)
}
+4
View File
@@ -22,6 +22,7 @@ import {
MoreHorizontal,
Clock,
} from 'lucide-react'
import { AgentFAB } from '@/components/agent/AgentFAB'
interface Employee {
id: string
@@ -347,6 +348,9 @@ export function HRPage() {
</Table>
</Card>
)}
{/* HR Agent */}
<AgentFAB rum="hr" />
</div>
)
}
+4
View File
@@ -19,6 +19,7 @@ import {
Briefcase,
Globe,
} from 'lucide-react'
import { AgentFAB } from '@/components/agent/AgentFAB'
interface Contract {
id: string
@@ -557,6 +558,9 @@ export function LegalPage() {
</div>
</div>
)}
{/* Legal Agent */}
<AgentFAB rum="legal" />
</div>
)
}
+4
View File
@@ -10,6 +10,7 @@ import {
TrendingUp,
Users,
} from 'lucide-react'
import { AgentFAB } from '@/components/agent/AgentFAB'
const campaigns = [
{ id: '1', name: 'Q4 Product Launch', status: 'active' as const, channel: 'Email', reach: 12500, engagement: 8.2, conversions: 340 },
@@ -134,6 +135,9 @@ export function MarketingPage() {
))}
</div>
</Card>
{/* Marketing Agent */}
<AgentFAB rum="marketing" />
</div>
)
}
+4
View File
@@ -33,6 +33,7 @@ import {
Filter,
MoreHorizontal,
} from 'lucide-react'
import { AgentFAB } from '@/components/agent/AgentFAB'
interface Deal {
id: string
@@ -402,6 +403,9 @@ export function SalesPage() {
)}
</Card>
)}
{/* Sales Agent */}
<AgentFAB rum="sales" />
</div>
)
}
+4
View File
@@ -21,6 +21,7 @@ import {
Filter,
MoreHorizontal,
} from 'lucide-react'
import { AgentFAB } from '@/components/agent/AgentFAB'
const tickets = [
{ id: 'SUP-2024-001', subject: 'Login issues after password reset', customer: 'Acme Corp', priority: 'high' as const, status: 'open' as const, assigned: 'Johan Berg', created: new Date(Date.now() - 1000 * 60 * 30).toISOString() },
@@ -212,6 +213,9 @@ export function SupportPage() {
</TableBody>
</Table>
</Card>
{/* Support Agent */}
<AgentFAB rum="support" />
</div>
)
}