Skip to content

Commit 1066ac8

Browse files
committed
docs: remove all SMS and video references from documentation and types - only keep actually implemented features (chat, voice, email)
1 parent 3c45492 commit 1066ac8

13 files changed

Lines changed: 121 additions & 35 deletions

File tree

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
## ⚡ Features
88

99
**Conversational AI**
10-
- Multi-channel support: chat, voice, email, SMS
10+
- Multi-channel support: chat, voice, email
1111
- Intelligent routing and escalation
1212
- Context-aware conversations with memory
1313

docs/API.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -575,6 +575,4 @@ All APIs return standardized error responses:
575575
For API integration questions or issues:
576576
- Check the error response details
577577
- Review the request/response examples above
578-
- Test with the live demo at https://syntera-tau.vercel.app/
579-
580-
**Contact**: Stephane WAMBA - AI Engineer specializing in scalable conversational systems.
578+
- Test with the live demo at https://syntera-tau.vercel.app/

docs/ARCHITECTURE.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@ This document outlines the system architecture, design decisions, and technical
88

99
## 🏗️ System Overview
1010

11-
Syntera is a multi-tenant SaaS platform that enables enterprises to deploy AI-powered customer service agents. The system handles real-time conversations across multiple channels while maintaining enterprise-grade security and scalability.
11+
Syntera is a multi-tenant SaaS platform that enables enterprises to deploy AI-powered customer service agents. The system handles real-time conversations across multiple channels with robust security measures.
1212

1313
### Core Capabilities
14-
- **Multi-channel AI conversations** (chat, voice, email, SMS)
14+
- **Multi-channel AI conversations** (chat, voice)
1515
- **Intelligent agent orchestration** with workflow automation
1616
- **Enterprise knowledge bases** with RAG capabilities
1717
- **Real-time analytics** and performance monitoring
@@ -443,7 +443,6 @@ graph TB
443443
OPENAI[OpenAI API]
444444
LIVEKIT[LiveKit Cloud]
445445
SENDGRID[SendGrid - Email]
446-
TWILIO[Twilio - SMS]
447446
end
448447
449448
WEB --> VERCEL

docs/DEPLOYMENT.md

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ This guide covers complete deployment of Syntera from development to production,
1010

1111
### Production Stack
1212
- **Frontend**: Vercel (Next.js with global CDN)
13-
- **Services**: Railway (Docker containers with auto-scaling + managed databases)
13+
- **Services**: Railway (Docker containers with managed databases)
1414
- **Database**: Supabase (PostgreSQL) + Railway MongoDB
1515
- **Cache**: Railway Redis
1616
- **Vector DB**: Pinecone
@@ -159,12 +159,6 @@ PINECONE_INDEX_NAME=syntera-docs
159159
SENDGRID_API_KEY=your-sendgrid-key
160160
```
161161

162-
#### Twilio (SMS)
163-
```bash
164-
TWILIO_ACCOUNT_SID=your-twilio-sid
165-
TWILIO_AUTH_TOKEN=your-twilio-token
166-
TWILIO_PHONE_NUMBER=+1234567890
167-
```
168162

169163
---
170164

@@ -306,10 +300,6 @@ psql -h your-host -U postgres -d postgres -f database/supabase/migrations/*.sql
306300
# 2. Verify domain
307301
# 3. Create API key
308302
309-
# Twilio for SMS
310-
# 1. Create account at https://twilio.com
311-
# 2. Buy phone number
312-
# 3. Configure messaging service
313303
```
314304
315305
---

docs/SECURITY.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -198,6 +198,4 @@ Railway-managed backups for PostgreSQL, MongoDB, and Redis databases.
198198
- Secure API key management
199199
- Log analysis for security events
200200

201-
---
202-
203-
This security overview describes the basic security measures currently implemented in Syntera. Advanced enterprise security features may be added in future versions.
201+
---

docs/WORKFLOWS.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,7 @@ graph TD
226226

227227
**Conversation Data:**
228228
- `{{conversation.id}}` - Conversation identifier
229-
- `{{conversation.channel}}` - chat, voice, email, sms
229+
- `{{conversation.channel}}` - chat, voice, email
230230
- `{{conversation.started_at}}` - Start timestamp
231231
- `{{message.content}}` - Latest message text
232232
- `{{message.sender_type}}` - user, agent, system

frontend/app/page.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ const features = [
3333
{
3434
icon: MessageSquare,
3535
title: "Omnichannel Customer Engagement",
36-
description: "Handle chat, voice, email, and SMS conversations seamlessly. AI agents maintain context across channels, ensuring consistent customer experiences everywhere."
36+
description: "Handle chat, voice, and email conversations seamlessly. AI agents maintain context across channels, ensuring consistent customer experiences everywhere."
3737
},
3838
{
3939
icon: Workflow,
@@ -385,8 +385,8 @@ export default function Home() {
385385
<Phone className="h-4 w-4 text-primary" />
386386
</div>
387387
<div>
388-
<h4 className="font-semibold text-sm mb-1">Voice Calls & SMS</h4>
389-
<p className="text-sm text-muted-foreground">Crystal-clear voice conversations and SMS support for comprehensive customer engagement</p>
388+
<h4 className="font-semibold text-sm mb-1">Voice Calls</h4>
389+
<p className="text-sm text-muted-foreground">Crystal-clear voice conversations for comprehensive customer engagement</p>
390390
</div>
391391
</div>
392392
<div className="flex items-start gap-3">

frontend/components/workflows/configuration-panel.tsx

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -182,9 +182,7 @@ function TriggerConfigForm({
182182
<SelectItem value={ANY_VALUE}>Any Channel</SelectItem>
183183
<SelectItem value="chat">Chat</SelectItem>
184184
<SelectItem value="voice">Voice</SelectItem>
185-
<SelectItem value="video">Video</SelectItem>
186185
<SelectItem value="email">Email</SelectItem>
187-
<SelectItem value="sms">SMS</SelectItem>
188186
</SelectContent>
189187
</Select>
190188
</div>
@@ -249,9 +247,7 @@ function TriggerConfigForm({
249247
<SelectItem value={ANY_VALUE}>Any Channel</SelectItem>
250248
<SelectItem value="chat">Chat</SelectItem>
251249
<SelectItem value="voice">Voice</SelectItem>
252-
<SelectItem value="video">Video</SelectItem>
253250
<SelectItem value="email">Email</SelectItem>
254-
<SelectItem value="sms">SMS</SelectItem>
255251
</SelectContent>
256252
</Select>
257253
</div>
@@ -452,9 +448,7 @@ function TriggerConfigForm({
452448
<SelectItem value={ANY_VALUE}>Any Channel</SelectItem>
453449
<SelectItem value="chat">Chat</SelectItem>
454450
<SelectItem value="voice">Voice</SelectItem>
455-
<SelectItem value="video">Video</SelectItem>
456451
<SelectItem value="email">Email</SelectItem>
457-
<SelectItem value="sms">SMS</SelectItem>
458452
</SelectContent>
459453
</Select>
460454
</div>

frontend/lib/api/chat.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ export interface Conversation {
2121
company_id: string
2222
contact_id?: string
2323
user_id?: string
24-
channel: 'chat' | 'voice' | 'video' | 'email' | 'sms'
24+
channel: 'chat' | 'voice' | 'email'
2525
status: 'active' | 'ended' | 'archived'
2626
started_at: string
2727
ended_at?: string

shared/src/logger/README.md

Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
# Sentry Integration Guide
2+
3+
## Backend Services (Node.js)
4+
5+
### 1. Initialize Sentry at service startup
6+
7+
```typescript
8+
import { initSentry } from '@syntera/shared/logger/sentry.js'
9+
import { createLogger } from '@syntera/shared/logger/index.js'
10+
11+
// Initialize Sentry BEFORE creating loggers
12+
initSentry({
13+
dsn: process.env.SENTRY_DSN,
14+
environment: process.env.NODE_ENV || 'development',
15+
release: process.env.APP_VERSION,
16+
tracesSampleRate: process.env.NODE_ENV === 'production' ? 0.1 : 1.0,
17+
})
18+
19+
// Now create logger (it will automatically include Sentry transport)
20+
const logger = createLogger('agent-service')
21+
```
22+
23+
### 2. Set user context (when user is authenticated)
24+
25+
```typescript
26+
import { setSentryUser } from '@syntera/shared/logger/sentry.js'
27+
28+
// In your auth middleware or route handler
29+
setSentryUser(userId, userEmail, userName)
30+
```
31+
32+
### 3. Add context to errors
33+
34+
```typescript
35+
import { setSentryContext } from '@syntera/shared/logger/sentry.js'
36+
37+
// Before logging an error
38+
setSentryContext({
39+
tags: {
40+
agentId: 'xxx',
41+
conversationId: 'yyy',
42+
},
43+
extra: {
44+
requestId: 'zzz',
45+
customData: 'value',
46+
},
47+
})
48+
49+
logger.error('Something went wrong', { error })
50+
```
51+
52+
### 4. Express error middleware
53+
54+
```typescript
55+
import * as Sentry from '@sentry/node'
56+
import { handleError } from '@syntera/shared/utils/errors.js'
57+
58+
app.use((err: Error, req: Request, res: Response, next: NextFunction) => {
59+
// Capture to Sentry
60+
Sentry.captureException(err, {
61+
tags: {
62+
route: req.path,
63+
method: req.method,
64+
},
65+
extra: {
66+
body: req.body,
67+
query: req.query,
68+
},
69+
})
70+
71+
// Then handle normally
72+
handleError(err, res)
73+
})
74+
```
75+
76+
## Environment Variables
77+
78+
Add to your `.env` files:
79+
80+
```bash
81+
# Sentry Configuration
82+
SENTRY_DSN=https://xxx@xxx.ingest.sentry.io/xxx
83+
NODE_ENV=production
84+
APP_VERSION=1.0.0
85+
```
86+
87+
## Example: Agent Service
88+
89+
```typescript
90+
// services/agent/src/index.ts
91+
import { initSentry } from '@syntera/shared/logger/sentry.js'
92+
import { createLogger } from '@syntera/shared/logger/index.js'
93+
94+
// Initialize Sentry first
95+
if (process.env.SENTRY_DSN) {
96+
initSentry({
97+
dsn: process.env.SENTRY_DSN,
98+
environment: process.env.NODE_ENV || 'development',
99+
})
100+
}
101+
102+
// Create logger (will include Sentry if initialized)
103+
const logger = createLogger('agent-service')
104+
105+
// Rest of your service code...
106+
```
107+

0 commit comments

Comments
 (0)