@agenticmail/enterprise 0.4.2 → 0.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +608 -923
- package/dashboards/django/app.py +12 -0
- package/dashboards/django/static/styles.css +449 -246
- package/dashboards/django/templates/activity.html +130 -0
- package/dashboards/django/templates/approvals.html +115 -0
- package/dashboards/django/templates/community-skills.html +89 -0
- package/dashboards/django/templates/domain-status.html +59 -0
- package/dashboards/django/templates/knowledge-contributions.html +58 -0
- package/dashboards/django/templates/knowledge.html +104 -0
- package/dashboards/django/templates/layout.html +161 -36
- package/dashboards/django/templates/skill-connections.html +73 -0
- package/dashboards/django/templates/workforce.html +116 -0
- package/dashboards/django/views/__init__.py +14 -0
- package/dashboards/django/views/new_pages.py +38 -0
- package/dashboards/dotnet/Program.cs +8 -0
- package/dashboards/dotnet/Routes/ActivityRoutes.cs +35 -0
- package/dashboards/dotnet/Routes/ApprovalRoutes.cs +36 -0
- package/dashboards/dotnet/Routes/CommunitySkillRoutes.cs +36 -0
- package/dashboards/dotnet/Routes/DomainStatusRoutes.cs +49 -0
- package/dashboards/dotnet/Routes/KnowledgeContributionRoutes.cs +42 -0
- package/dashboards/dotnet/Routes/KnowledgeRoutes.cs +40 -0
- package/dashboards/dotnet/Routes/SkillConnectionRoutes.cs +52 -0
- package/dashboards/dotnet/Routes/WorkforceRoutes.cs +55 -0
- package/dashboards/dotnet/Services/HtmlBuilder.cs +17 -8
- package/dashboards/dotnet/wwwroot/styles.css +508 -246
- package/dashboards/express/app.js +8 -0
- package/dashboards/express/public/styles.css +163 -272
- package/dashboards/express/routes/activity.js +101 -0
- package/dashboards/express/routes/approvals.js +100 -0
- package/dashboards/express/routes/community-skills.js +83 -0
- package/dashboards/express/routes/domain-status.js +78 -0
- package/dashboards/express/routes/knowledge-contributions.js +85 -0
- package/dashboards/express/routes/knowledge.js +83 -0
- package/dashboards/express/routes/skill-connections.js +86 -0
- package/dashboards/express/routes/workforce.js +126 -0
- package/dashboards/express/views/layout.js +54 -33
- package/dashboards/go/handlers/activity.go +30 -0
- package/dashboards/go/handlers/approvals.go +31 -0
- package/dashboards/go/handlers/community_skills.go +32 -0
- package/dashboards/go/handlers/domain_status.go +62 -0
- package/dashboards/go/handlers/knowledge.go +35 -0
- package/dashboards/go/handlers/knowledge_contributions.go +37 -0
- package/dashboards/go/handlers/skill_connections.go +59 -0
- package/dashboards/go/handlers/workforce.go +60 -0
- package/dashboards/go/main.go +8 -0
- package/dashboards/go/static/styles.css +508 -246
- package/dashboards/go/templates/layout.go +16 -11
- package/dashboards/html/index.html +136 -15
- package/dashboards/html/public/styles.css +531 -134
- package/dashboards/html/src/pages/activity.js +137 -0
- package/dashboards/html/src/pages/approvals.js +155 -0
- package/dashboards/html/src/pages/community-skills.js +236 -0
- package/dashboards/html/src/pages/domain-status.js +182 -0
- package/dashboards/html/src/pages/knowledge-contributions.js +319 -0
- package/dashboards/html/src/pages/knowledge.js +251 -0
- package/dashboards/html/src/pages/skill-connections.js +293 -0
- package/dashboards/html/src/pages/workforce.js +418 -0
- package/dashboards/html/src/router.js +51 -0
- package/dashboards/java/AgenticMailDashboard.java +8 -0
- package/dashboards/java/handlers/ActivityHandler.java +42 -0
- package/dashboards/java/handlers/ApprovalsHandler.java +43 -0
- package/dashboards/java/handlers/CommunitySkillsHandler.java +45 -0
- package/dashboards/java/handlers/DomainStatusHandler.java +58 -0
- package/dashboards/java/handlers/KnowledgeContributionsHandler.java +51 -0
- package/dashboards/java/handlers/KnowledgeHandler.java +49 -0
- package/dashboards/java/handlers/SkillConnectionsHandler.java +61 -0
- package/dashboards/java/handlers/WorkforceHandler.java +64 -0
- package/dashboards/java/static/styles.css +508 -250
- package/dashboards/java/templates/Layout.java +14 -6
- package/dashboards/laravel/controllers/ActivityController.php +18 -0
- package/dashboards/laravel/controllers/ApprovalsController.php +18 -0
- package/dashboards/laravel/controllers/CommunitySkillsController.php +18 -0
- package/dashboards/laravel/controllers/DomainStatusController.php +18 -0
- package/dashboards/laravel/controllers/KnowledgeContributionsController.php +18 -0
- package/dashboards/laravel/controllers/KnowledgeController.php +18 -0
- package/dashboards/laravel/controllers/SkillConnectionsController.php +18 -0
- package/dashboards/laravel/controllers/WorkforceController.php +18 -0
- package/dashboards/laravel/index.php +56 -0
- package/dashboards/laravel/public/styles.css +163 -279
- package/dashboards/laravel/views/activity.php +127 -0
- package/dashboards/laravel/views/approvals.php +152 -0
- package/dashboards/laravel/views/community-skills.php +131 -0
- package/dashboards/laravel/views/domain-status.php +167 -0
- package/dashboards/laravel/views/knowledge-contributions.php +185 -0
- package/dashboards/laravel/views/knowledge.php +167 -0
- package/dashboards/laravel/views/layout.php +54 -41
- package/dashboards/laravel/views/skill-connections.php +192 -0
- package/dashboards/laravel/views/workforce.php +265 -0
- package/dashboards/php/components/layout.php +21 -16
- package/dashboards/php/index.php +1 -1
- package/dashboards/php/pages/activity.php +35 -0
- package/dashboards/php/pages/approvals.php +36 -0
- package/dashboards/php/pages/community-skills.php +39 -0
- package/dashboards/php/pages/domain-status.php +87 -0
- package/dashboards/php/pages/knowledge-contributions.php +47 -0
- package/dashboards/php/pages/knowledge.php +43 -0
- package/dashboards/php/pages/skill-connections.php +94 -0
- package/dashboards/php/pages/workforce.php +89 -0
- package/dashboards/php/public/styles.css +168 -74
- package/dashboards/python/app.py +16 -0
- package/dashboards/python/routes/activity.py +11 -0
- package/dashboards/python/routes/approvals.py +11 -0
- package/dashboards/python/routes/community_skills.py +11 -0
- package/dashboards/python/routes/domain_status.py +11 -0
- package/dashboards/python/routes/knowledge.py +11 -0
- package/dashboards/python/routes/knowledge_contributions.py +11 -0
- package/dashboards/python/routes/skill_connections.py +11 -0
- package/dashboards/python/routes/workforce.py +11 -0
- package/dashboards/python/static/styles.css +163 -276
- package/dashboards/python/templates/activity.html +87 -0
- package/dashboards/python/templates/approvals.html +86 -0
- package/dashboards/python/templates/community-skills.html +69 -0
- package/dashboards/python/templates/domain-status.html +64 -0
- package/dashboards/python/templates/knowledge-contributions.html +71 -0
- package/dashboards/python/templates/knowledge.html +69 -0
- package/dashboards/python/templates/layout.html +103 -68
- package/dashboards/python/templates/skill-connections.html +72 -0
- package/dashboards/python/templates/workforce.html +112 -0
- package/dashboards/rails/app.rb +8 -0
- package/dashboards/rails/public/styles.css +506 -259
- package/dashboards/rails/routes/activity.rb +10 -0
- package/dashboards/rails/routes/approvals.rb +10 -0
- package/dashboards/rails/routes/community_skills.rb +11 -0
- package/dashboards/rails/routes/domain_status.rb +16 -0
- package/dashboards/rails/routes/knowledge.rb +11 -0
- package/dashboards/rails/routes/knowledge_contributions.rb +12 -0
- package/dashboards/rails/routes/skill_connections.rb +15 -0
- package/dashboards/rails/routes/workforce.rb +16 -0
- package/dashboards/rails/views/activity.erb +56 -0
- package/dashboards/rails/views/approvals.erb +60 -0
- package/dashboards/rails/views/community_skills.erb +69 -0
- package/dashboards/rails/views/domain_status.erb +75 -0
- package/dashboards/rails/views/knowledge.erb +67 -0
- package/dashboards/rails/views/knowledge_contributions.erb +70 -0
- package/dashboards/rails/views/layout.erb +23 -15
- package/dashboards/rails/views/skill_connections.erb +109 -0
- package/dashboards/rails/views/workforce.erb +124 -0
- package/dashboards/ruby/app.rb +8 -0
- package/dashboards/ruby/public/styles.css +506 -254
- package/dashboards/ruby/routes/activity.rb +10 -0
- package/dashboards/ruby/routes/approvals.rb +10 -0
- package/dashboards/ruby/routes/community_skills.rb +11 -0
- package/dashboards/ruby/routes/domain_status.rb +16 -0
- package/dashboards/ruby/routes/knowledge.rb +11 -0
- package/dashboards/ruby/routes/knowledge_contributions.rb +12 -0
- package/dashboards/ruby/routes/skill_connections.rb +15 -0
- package/dashboards/ruby/routes/workforce.rb +16 -0
- package/dashboards/ruby/views/activity.erb +56 -0
- package/dashboards/ruby/views/approvals.erb +60 -0
- package/dashboards/ruby/views/community_skills.erb +69 -0
- package/dashboards/ruby/views/domain_status.erb +75 -0
- package/dashboards/ruby/views/knowledge.erb +67 -0
- package/dashboards/ruby/views/knowledge_contributions.erb +70 -0
- package/dashboards/ruby/views/layout.erb +22 -13
- package/dashboards/ruby/views/skill_connections.erb +109 -0
- package/dashboards/ruby/views/workforce.erb +124 -0
- package/dashboards/shared/styles.css +505 -281
- package/dashboards/shared-styles.css +534 -45
- package/dist/chunk-ANW4OHXR.js +764 -0
- package/dist/chunk-EVQPFQ55.js +9040 -0
- package/dist/chunk-JMTNHH7I.js +12666 -0
- package/dist/chunk-TYW5XTOW.js +395 -0
- package/dist/chunk-V2YIXYDJ.js +1943 -0
- package/dist/cli.js +1 -1
- package/dist/index.js +5 -4
- package/dist/routes-ALTC4I2R.js +5674 -0
- package/dist/runtime-JLFTHMIT.js +47 -0
- package/dist/server-OGQWCOT6.js +11 -0
- package/dist/setup-HCMMUEW6.js +20 -0
- package/package.json +1 -1
- package/src/agent-tools/tools/memory.ts +42 -15
- package/src/engine/agent-memory.ts +4 -355
- package/src/lib/text-search.ts +358 -0
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Knowledge page - Manage knowledge base and agent learning
|
|
3
|
+
*/
|
|
4
|
+
function renderKnowledge() {
|
|
5
|
+
return `
|
|
6
|
+
<div class="page-title">Knowledge Base</div>
|
|
7
|
+
|
|
8
|
+
<div class="stat-grid">
|
|
9
|
+
<div class="stat-card">
|
|
10
|
+
<div class="stat-label">Knowledge Items</div>
|
|
11
|
+
<div class="stat-value">1,247</div>
|
|
12
|
+
<div class="stat-change" style="color: var(--success)">+23 this week</div>
|
|
13
|
+
</div>
|
|
14
|
+
<div class="stat-card">
|
|
15
|
+
<div class="stat-label">Categories</div>
|
|
16
|
+
<div class="stat-value">18</div>
|
|
17
|
+
<div class="stat-change" style="color: var(--text-muted)">No change</div>
|
|
18
|
+
</div>
|
|
19
|
+
<div class="stat-card">
|
|
20
|
+
<div class="stat-label">Agent Queries</div>
|
|
21
|
+
<div class="stat-value">5,432</div>
|
|
22
|
+
<div class="stat-change" style="color: var(--success)">+15% this week</div>
|
|
23
|
+
</div>
|
|
24
|
+
<div class="stat-card">
|
|
25
|
+
<div class="stat-label">Auto-learned</div>
|
|
26
|
+
<div class="stat-value">89</div>
|
|
27
|
+
<div class="stat-change" style="color: var(--success)">From interactions</div>
|
|
28
|
+
</div>
|
|
29
|
+
</div>
|
|
30
|
+
|
|
31
|
+
<div style="display: flex; gap: 16px; margin-bottom: 24px;">
|
|
32
|
+
<input class="input" placeholder="Search knowledge base..." style="flex: 1;">
|
|
33
|
+
<select class="input" style="width: auto;">
|
|
34
|
+
<option>All Categories</option>
|
|
35
|
+
<option>Company Policies</option>
|
|
36
|
+
<option>Product Information</option>
|
|
37
|
+
<option>Customer Support</option>
|
|
38
|
+
<option>Technical Docs</option>
|
|
39
|
+
<option>Procedures</option>
|
|
40
|
+
</select>
|
|
41
|
+
<button class="btn btn-primary">
|
|
42
|
+
<svg width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
|
|
43
|
+
<path d="M8 4a.5.5 0 0 1 .5.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3A.5.5 0 0 1 8 4z"/>
|
|
44
|
+
</svg>
|
|
45
|
+
Add Knowledge
|
|
46
|
+
</button>
|
|
47
|
+
</div>
|
|
48
|
+
|
|
49
|
+
<div class="card">
|
|
50
|
+
<div class="card-header">
|
|
51
|
+
<h3>Recent Knowledge</h3>
|
|
52
|
+
<div>
|
|
53
|
+
<button class="btn btn-secondary">Import</button>
|
|
54
|
+
<button class="btn btn-secondary" style="margin-left: 8px;">Export</button>
|
|
55
|
+
</div>
|
|
56
|
+
</div>
|
|
57
|
+
<div class="card-body">
|
|
58
|
+
<div style="overflow-x: auto;">
|
|
59
|
+
<table>
|
|
60
|
+
<thead>
|
|
61
|
+
<tr>
|
|
62
|
+
<th>Title</th>
|
|
63
|
+
<th>Category</th>
|
|
64
|
+
<th>Type</th>
|
|
65
|
+
<th>Usage</th>
|
|
66
|
+
<th>Last Updated</th>
|
|
67
|
+
<th>Actions</th>
|
|
68
|
+
</tr>
|
|
69
|
+
</thead>
|
|
70
|
+
<tbody>
|
|
71
|
+
<tr>
|
|
72
|
+
<td>
|
|
73
|
+
<div>
|
|
74
|
+
<div style="font-weight: 600;">Customer Refund Policy</div>
|
|
75
|
+
<div style="font-size: 11px; color: var(--text-muted);">Complete guidelines for processing refunds</div>
|
|
76
|
+
</div>
|
|
77
|
+
</td>
|
|
78
|
+
<td><span class="badge badge-primary">Company Policies</span></td>
|
|
79
|
+
<td><span class="badge badge-info">Document</span></td>
|
|
80
|
+
<td>
|
|
81
|
+
<div style="font-size: 13px; font-weight: 600;">156</div>
|
|
82
|
+
<div style="font-size: 11px; color: var(--text-muted);">queries</div>
|
|
83
|
+
</td>
|
|
84
|
+
<td>2 days ago</td>
|
|
85
|
+
<td>
|
|
86
|
+
<button class="btn btn-sm btn-secondary" style="margin-right: 4px;">Edit</button>
|
|
87
|
+
<button class="btn btn-sm btn-danger">Delete</button>
|
|
88
|
+
</td>
|
|
89
|
+
</tr>
|
|
90
|
+
<tr>
|
|
91
|
+
<td>
|
|
92
|
+
<div>
|
|
93
|
+
<div style="font-weight: 600;">Product Feature Matrix</div>
|
|
94
|
+
<div style="font-size: 11px; color: var(--text-muted);">Comparison of features across all plans</div>
|
|
95
|
+
</div>
|
|
96
|
+
</td>
|
|
97
|
+
<td><span class="badge badge-success">Product Information</span></td>
|
|
98
|
+
<td><span class="badge badge-warning">Spreadsheet</span></td>
|
|
99
|
+
<td>
|
|
100
|
+
<div style="font-size: 13px; font-weight: 600;">89</div>
|
|
101
|
+
<div style="font-size: 11px; color: var(--text-muted);">queries</div>
|
|
102
|
+
</td>
|
|
103
|
+
<td>5 days ago</td>
|
|
104
|
+
<td>
|
|
105
|
+
<button class="btn btn-sm btn-secondary" style="margin-right: 4px;">Edit</button>
|
|
106
|
+
<button class="btn btn-sm btn-danger">Delete</button>
|
|
107
|
+
</td>
|
|
108
|
+
</tr>
|
|
109
|
+
<tr>
|
|
110
|
+
<td>
|
|
111
|
+
<div>
|
|
112
|
+
<div style="font-weight: 600;">API Integration Guide</div>
|
|
113
|
+
<div style="font-size: 11px; color: var(--text-muted);">Step-by-step API integration instructions</div>
|
|
114
|
+
</div>
|
|
115
|
+
</td>
|
|
116
|
+
<td><span class="badge badge-info">Technical Docs</span></td>
|
|
117
|
+
<td><span class="badge badge-info">Document</span></td>
|
|
118
|
+
<td>
|
|
119
|
+
<div style="font-size: 13px; font-weight: 600;">234</div>
|
|
120
|
+
<div style="font-size: 11px; color: var(--text-muted);">queries</div>
|
|
121
|
+
</td>
|
|
122
|
+
<td>1 week ago</td>
|
|
123
|
+
<td>
|
|
124
|
+
<button class="btn btn-sm btn-secondary" style="margin-right: 4px;">Edit</button>
|
|
125
|
+
<button class="btn btn-sm btn-danger">Delete</button>
|
|
126
|
+
</td>
|
|
127
|
+
</tr>
|
|
128
|
+
<tr>
|
|
129
|
+
<td>
|
|
130
|
+
<div>
|
|
131
|
+
<div style="font-weight: 600;">Escalation Procedures</div>
|
|
132
|
+
<div style="font-size: 11px; color: var(--text-muted);">When and how to escalate customer issues</div>
|
|
133
|
+
</div>
|
|
134
|
+
</td>
|
|
135
|
+
<td><span class="badge badge-warning">Customer Support</span></td>
|
|
136
|
+
<td><span class="badge badge-info">Document</span></td>
|
|
137
|
+
<td>
|
|
138
|
+
<div style="font-size: 13px; font-weight: 600;">67</div>
|
|
139
|
+
<div style="font-size: 11px; color: var(--text-muted);">queries</div>
|
|
140
|
+
</td>
|
|
141
|
+
<td>2 weeks ago</td>
|
|
142
|
+
<td>
|
|
143
|
+
<button class="btn btn-sm btn-secondary" style="margin-right: 4px;">Edit</button>
|
|
144
|
+
<button class="btn btn-sm btn-danger">Delete</button>
|
|
145
|
+
</td>
|
|
146
|
+
</tr>
|
|
147
|
+
<tr>
|
|
148
|
+
<td>
|
|
149
|
+
<div>
|
|
150
|
+
<div style="font-weight: 600;">Security Best Practices</div>
|
|
151
|
+
<div style="font-size: 11px; color: var(--text-muted);">Security guidelines and procedures</div>
|
|
152
|
+
</div>
|
|
153
|
+
</td>
|
|
154
|
+
<td><span class="badge badge-danger">Procedures</span></td>
|
|
155
|
+
<td><span class="badge badge-info">Document</span></td>
|
|
156
|
+
<td>
|
|
157
|
+
<div style="font-size: 13px; font-weight: 600;">123</div>
|
|
158
|
+
<div style="font-size: 11px; color: var(--text-muted);">queries</div>
|
|
159
|
+
</td>
|
|
160
|
+
<td>3 weeks ago</td>
|
|
161
|
+
<td>
|
|
162
|
+
<button class="btn btn-sm btn-secondary" style="margin-right: 4px;">Edit</button>
|
|
163
|
+
<button class="btn btn-sm btn-danger">Delete</button>
|
|
164
|
+
</td>
|
|
165
|
+
</tr>
|
|
166
|
+
</tbody>
|
|
167
|
+
</table>
|
|
168
|
+
</div>
|
|
169
|
+
</div>
|
|
170
|
+
</div>
|
|
171
|
+
|
|
172
|
+
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 24px;">
|
|
173
|
+
<div class="card">
|
|
174
|
+
<div class="card-header">
|
|
175
|
+
<h3>Popular Queries</h3>
|
|
176
|
+
</div>
|
|
177
|
+
<div class="card-body">
|
|
178
|
+
<div style="space-y: 12px;">
|
|
179
|
+
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px;">
|
|
180
|
+
<div style="font-size: 13px;">How to process refunds?</div>
|
|
181
|
+
<div style="font-size: 11px; color: var(--text-muted);">234 times</div>
|
|
182
|
+
</div>
|
|
183
|
+
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px;">
|
|
184
|
+
<div style="font-size: 13px;">API rate limits</div>
|
|
185
|
+
<div style="font-size: 11px; color: var(--text-muted);">189 times</div>
|
|
186
|
+
</div>
|
|
187
|
+
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px;">
|
|
188
|
+
<div style="font-size: 13px;">Pricing plan differences</div>
|
|
189
|
+
<div style="font-size: 11px; color: var(--text-muted);">167 times</div>
|
|
190
|
+
</div>
|
|
191
|
+
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px;">
|
|
192
|
+
<div style="font-size: 13px;">Password reset procedure</div>
|
|
193
|
+
<div style="font-size: 11px; color: var(--text-muted);">145 times</div>
|
|
194
|
+
</div>
|
|
195
|
+
<div style="display: flex; justify-content: space-between; align-items: center;">
|
|
196
|
+
<div style="font-size: 13px;">Contact information</div>
|
|
197
|
+
<div style="font-size: 11px; color: var(--text-muted);">123 times</div>
|
|
198
|
+
</div>
|
|
199
|
+
</div>
|
|
200
|
+
</div>
|
|
201
|
+
</div>
|
|
202
|
+
|
|
203
|
+
<div class="card">
|
|
204
|
+
<div class="card-header">
|
|
205
|
+
<h3>Learning Activity</h3>
|
|
206
|
+
</div>
|
|
207
|
+
<div class="card-body">
|
|
208
|
+
<div style="space-y: 12px;">
|
|
209
|
+
<div style="display: flex; align-items: center; gap: 12px; margin-bottom: 12px;">
|
|
210
|
+
<div style="width: 8px; height: 8px; border-radius: 50%; background: var(--success);"></div>
|
|
211
|
+
<div style="flex: 1;">
|
|
212
|
+
<div style="font-size: 13px;">Auto-learned from customer chat</div>
|
|
213
|
+
<div style="font-size: 11px; color: var(--text-muted);">2 hours ago</div>
|
|
214
|
+
</div>
|
|
215
|
+
</div>
|
|
216
|
+
<div style="display: flex; align-items: center; gap: 12px; margin-bottom: 12px;">
|
|
217
|
+
<div style="width: 8px; height: 8px; border-radius: 50%; background: var(--accent);"></div>
|
|
218
|
+
<div style="flex: 1;">
|
|
219
|
+
<div style="font-size: 13px;">Knowledge updated manually</div>
|
|
220
|
+
<div style="font-size: 11px; color: var(--text-muted);">4 hours ago</div>
|
|
221
|
+
</div>
|
|
222
|
+
</div>
|
|
223
|
+
<div style="display: flex; align-items: center; gap: 12px; margin-bottom: 12px;">
|
|
224
|
+
<div style="width: 8px; height: 8px; border-radius: 50%; background: var(--success);"></div>
|
|
225
|
+
<div style="flex: 1;">
|
|
226
|
+
<div style="font-size: 13px;">New FAQ pattern detected</div>
|
|
227
|
+
<div style="font-size: 11px; color: var(--text-muted);">6 hours ago</div>
|
|
228
|
+
</div>
|
|
229
|
+
</div>
|
|
230
|
+
<div style="display: flex; align-items: center; gap: 12px; margin-bottom: 12px;">
|
|
231
|
+
<div style="width: 8px; height: 8px; border-radius: 50%; background: var(--warning);"></div>
|
|
232
|
+
<div style="flex: 1;">
|
|
233
|
+
<div style="font-size: 13px;">Knowledge gap identified</div>
|
|
234
|
+
<div style="font-size: 11px; color: var(--text-muted);">8 hours ago</div>
|
|
235
|
+
</div>
|
|
236
|
+
</div>
|
|
237
|
+
<div style="display: flex; align-items: center; gap: 12px;">
|
|
238
|
+
<div style="width: 8px; height: 8px; border-radius: 50%; background: var(--accent);"></div>
|
|
239
|
+
<div style="flex: 1;">
|
|
240
|
+
<div style="font-size: 13px;">Bulk import completed</div>
|
|
241
|
+
<div style="font-size: 11px; color: var(--text-muted);">12 hours ago</div>
|
|
242
|
+
</div>
|
|
243
|
+
</div>
|
|
244
|
+
</div>
|
|
245
|
+
</div>
|
|
246
|
+
</div>
|
|
247
|
+
</div>
|
|
248
|
+
`;
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
export { renderKnowledge };
|
|
@@ -0,0 +1,293 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Skill Connections page - Manage connections between skills and agents
|
|
3
|
+
*/
|
|
4
|
+
function renderSkillConnections() {
|
|
5
|
+
return `
|
|
6
|
+
<div class="page-title">Skill Connections</div>
|
|
7
|
+
|
|
8
|
+
<div class="stat-grid">
|
|
9
|
+
<div class="stat-card">
|
|
10
|
+
<div class="stat-label">Active Connections</div>
|
|
11
|
+
<div class="stat-value">156</div>
|
|
12
|
+
<div class="stat-change" style="color: var(--success)">+8 this week</div>
|
|
13
|
+
</div>
|
|
14
|
+
<div class="stat-card">
|
|
15
|
+
<div class="stat-label">Skill Networks</div>
|
|
16
|
+
<div class="stat-value">23</div>
|
|
17
|
+
<div class="stat-change" style="color: var(--success)">+2 new</div>
|
|
18
|
+
</div>
|
|
19
|
+
<div class="stat-card">
|
|
20
|
+
<div class="stat-label">Cross-Agent Skills</div>
|
|
21
|
+
<div class="stat-value">47</div>
|
|
22
|
+
<div class="stat-change" style="color: var(--text-muted)">Shared skills</div>
|
|
23
|
+
</div>
|
|
24
|
+
<div class="stat-card">
|
|
25
|
+
<div class="stat-label">Connection Health</div>
|
|
26
|
+
<div class="stat-value" style="color: var(--success)">98%</div>
|
|
27
|
+
<div class="stat-change" style="color: var(--success)">Excellent</div>
|
|
28
|
+
</div>
|
|
29
|
+
</div>
|
|
30
|
+
|
|
31
|
+
<div style="display: flex; gap: 16px; margin-bottom: 24px; align-items: center;">
|
|
32
|
+
<input class="input" placeholder="Search connections..." style="flex: 1;">
|
|
33
|
+
<select class="input" style="width: auto;">
|
|
34
|
+
<option>All Agents</option>
|
|
35
|
+
<option>Alice</option>
|
|
36
|
+
<option>Bob</option>
|
|
37
|
+
<option>Charlie</option>
|
|
38
|
+
<option>Diana</option>
|
|
39
|
+
</select>
|
|
40
|
+
<select class="input" style="width: auto;">
|
|
41
|
+
<option>All Skills</option>
|
|
42
|
+
<option>Email Processing</option>
|
|
43
|
+
<option>Data Analysis</option>
|
|
44
|
+
<option>Customer Support</option>
|
|
45
|
+
<option>API Integration</option>
|
|
46
|
+
</select>
|
|
47
|
+
<button class="btn btn-primary">
|
|
48
|
+
<svg width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
|
|
49
|
+
<path d="M8 4a.5.5 0 0 1 .5.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3A.5.5 0 0 1 8 4z"/>
|
|
50
|
+
</svg>
|
|
51
|
+
Create Connection
|
|
52
|
+
</button>
|
|
53
|
+
</div>
|
|
54
|
+
|
|
55
|
+
<div class="card">
|
|
56
|
+
<div class="card-header">
|
|
57
|
+
<h3>Connection Map</h3>
|
|
58
|
+
<div>
|
|
59
|
+
<button class="btn btn-secondary">View Network</button>
|
|
60
|
+
<button class="btn btn-secondary" style="margin-left: 8px;">Export</button>
|
|
61
|
+
</div>
|
|
62
|
+
</div>
|
|
63
|
+
<div class="card-body">
|
|
64
|
+
<div style="background: var(--bg-tertiary); border-radius: var(--radius); padding: 40px; text-align: center; margin-bottom: 24px;">
|
|
65
|
+
<div style="font-size: 14px; color: var(--text-muted); margin-bottom: 16px;">
|
|
66
|
+
Interactive skill connection visualization would be displayed here
|
|
67
|
+
</div>
|
|
68
|
+
<button class="btn btn-secondary">Launch Network Viewer</button>
|
|
69
|
+
</div>
|
|
70
|
+
|
|
71
|
+
<div style="display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 16px;">
|
|
72
|
+
<div style="background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius); padding: 16px; text-align: center;">
|
|
73
|
+
<div style="width: 48px; height: 48px; border-radius: 50%; background: var(--accent-soft); color: var(--accent-text); display: flex; align-items: center; justify-content: center; font-size: 18px; font-weight: 700; margin: 0 auto 12px;">A</div>
|
|
74
|
+
<div style="font-size: 14px; font-weight: 600; margin-bottom: 4px;">Alice</div>
|
|
75
|
+
<div style="font-size: 11px; color: var(--text-muted); margin-bottom: 12px;">Customer Support Agent</div>
|
|
76
|
+
<div style="font-size: 12px;">
|
|
77
|
+
<span class="badge badge-primary" style="margin-right: 4px;">Email</span>
|
|
78
|
+
<span class="badge badge-success" style="margin-right: 4px;">Chat</span>
|
|
79
|
+
<span class="badge badge-info">Analytics</span>
|
|
80
|
+
</div>
|
|
81
|
+
</div>
|
|
82
|
+
|
|
83
|
+
<div style="background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius); padding: 16px; text-align: center;">
|
|
84
|
+
<div style="width: 48px; height: 48px; border-radius: 50%; background: var(--success-soft); color: var(--success); display: flex; align-items: center; justify-content: center; font-size: 18px; font-weight: 700; margin: 0 auto 12px;">B</div>
|
|
85
|
+
<div style="font-size: 14px; font-weight: 600; margin-bottom: 4px;">Bob</div>
|
|
86
|
+
<div style="font-size: 11px; color: var(--text-muted); margin-bottom: 12px;">Data Analyst</div>
|
|
87
|
+
<div style="font-size: 12px;">
|
|
88
|
+
<span class="badge badge-info" style="margin-right: 4px;">Analytics</span>
|
|
89
|
+
<span class="badge badge-warning" style="margin-right: 4px;">Reports</span>
|
|
90
|
+
<span class="badge badge-primary">API</span>
|
|
91
|
+
</div>
|
|
92
|
+
</div>
|
|
93
|
+
|
|
94
|
+
<div style="background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius); padding: 16px; text-align: center;">
|
|
95
|
+
<div style="width: 48px; height: 48px; border-radius: 50%; background: var(--warning-soft); color: var(--warning); display: flex; align-items: center; justify-content: center; font-size: 18px; font-weight: 700; margin: 0 auto 12px;">C</div>
|
|
96
|
+
<div style="font-size: 14px; font-weight: 600; margin-bottom: 4px;">Charlie</div>
|
|
97
|
+
<div style="font-size: 11px; color: var(--text-muted); margin-bottom: 12px;">Integration Specialist</div>
|
|
98
|
+
<div style="font-size: 12px;">
|
|
99
|
+
<span class="badge badge-primary" style="margin-right: 4px;">API</span>
|
|
100
|
+
<span class="badge badge-danger" style="margin-right: 4px;">Security</span>
|
|
101
|
+
<span class="badge badge-info">Webhooks</span>
|
|
102
|
+
</div>
|
|
103
|
+
</div>
|
|
104
|
+
</div>
|
|
105
|
+
</div>
|
|
106
|
+
</div>
|
|
107
|
+
|
|
108
|
+
<div class="card" style="margin-top: 24px;">
|
|
109
|
+
<div class="card-header">
|
|
110
|
+
<h3>Active Connections</h3>
|
|
111
|
+
<div>
|
|
112
|
+
<button class="btn btn-secondary">
|
|
113
|
+
<svg width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
|
|
114
|
+
<path d="M3 14.25V1.75a.75.75 0 0 1 1.5 0v12.5a.75.75 0 0 1-1.5 0zM8.5 1.75a.75.75 0 0 0-1.5 0v12.5a.75.75 0 0 0 1.5 0V1.75zM13 1.75a.75.75 0 0 0-1.5 0v12.5a.75.75 0 0 0 1.5 0V1.75z"/>
|
|
115
|
+
</svg>
|
|
116
|
+
Filter
|
|
117
|
+
</button>
|
|
118
|
+
</div>
|
|
119
|
+
</div>
|
|
120
|
+
<div class="card-body">
|
|
121
|
+
<div style="overflow-x: auto;">
|
|
122
|
+
<table>
|
|
123
|
+
<thead>
|
|
124
|
+
<tr>
|
|
125
|
+
<th>Connection</th>
|
|
126
|
+
<th>Skill</th>
|
|
127
|
+
<th>Type</th>
|
|
128
|
+
<th>Usage</th>
|
|
129
|
+
<th>Status</th>
|
|
130
|
+
<th>Last Used</th>
|
|
131
|
+
<th>Actions</th>
|
|
132
|
+
</tr>
|
|
133
|
+
</thead>
|
|
134
|
+
<tbody>
|
|
135
|
+
<tr>
|
|
136
|
+
<td>
|
|
137
|
+
<div style="display: flex; align-items: center; gap: 8px;">
|
|
138
|
+
<div style="width: 24px; height: 24px; border-radius: 50%; background: var(--accent-soft); color: var(--accent-text); display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 600;">A</div>
|
|
139
|
+
<span>Alice</span>
|
|
140
|
+
<svg width="12" height="12" fill="currentColor" style="color: var(--text-muted);">
|
|
141
|
+
<path d="M4.5 1a.5.5 0 0 1 .5.5V6h5.5a.5.5 0 0 1 0 1H5v4.5a.5.5 0 0 1-1 0V7H.5a.5.5 0 0 1 0-1H4V1.5a.5.5 0 0 1 .5-.5z"/>
|
|
142
|
+
</svg>
|
|
143
|
+
<div style="width: 24px; height: 24px; border-radius: 50%; background: var(--success-soft); color: var(--success); display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 600;">B</div>
|
|
144
|
+
<span>Bob</span>
|
|
145
|
+
</div>
|
|
146
|
+
</td>
|
|
147
|
+
<td>
|
|
148
|
+
<div>
|
|
149
|
+
<div style="font-weight: 600;">Data Analytics</div>
|
|
150
|
+
<div style="font-size: 11px; color: var(--text-muted);">Shared analytics processing</div>
|
|
151
|
+
</div>
|
|
152
|
+
</td>
|
|
153
|
+
<td><span class="badge badge-primary">Bidirectional</span></td>
|
|
154
|
+
<td>
|
|
155
|
+
<div style="font-size: 13px; font-weight: 600;">847</div>
|
|
156
|
+
<div style="font-size: 11px; color: var(--text-muted);">calls</div>
|
|
157
|
+
</td>
|
|
158
|
+
<td><span class="badge badge-success">Active</span></td>
|
|
159
|
+
<td>5 mins ago</td>
|
|
160
|
+
<td>
|
|
161
|
+
<button class="btn btn-sm btn-secondary" style="margin-right: 4px;">Configure</button>
|
|
162
|
+
<button class="btn btn-sm btn-danger">Disconnect</button>
|
|
163
|
+
</td>
|
|
164
|
+
</tr>
|
|
165
|
+
<tr>
|
|
166
|
+
<td>
|
|
167
|
+
<div style="display: flex; align-items: center; gap: 8px;">
|
|
168
|
+
<div style="width: 24px; height: 24px; border-radius: 50%; background: var(--success-soft); color: var(--success); display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 600;">B</div>
|
|
169
|
+
<span>Bob</span>
|
|
170
|
+
<svg width="12" height="12" fill="currentColor" style="color: var(--text-muted);">
|
|
171
|
+
<path d="M4.5 1a.5.5 0 0 1 .5.5V6h5.5a.5.5 0 0 1 0 1H5v4.5a.5.5 0 0 1-1 0V7H.5a.5.5 0 0 1 0-1H4V1.5a.5.5 0 0 1 .5-.5z"/>
|
|
172
|
+
</svg>
|
|
173
|
+
<div style="width: 24px; height: 24px; border-radius: 50%; background: var(--warning-soft); color: var(--warning); display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 600;">C</div>
|
|
174
|
+
<span>Charlie</span>
|
|
175
|
+
</div>
|
|
176
|
+
</td>
|
|
177
|
+
<td>
|
|
178
|
+
<div>
|
|
179
|
+
<div style="font-weight: 600;">API Integration</div>
|
|
180
|
+
<div style="font-size: 11px; color: var(--text-muted);">External service connections</div>
|
|
181
|
+
</div>
|
|
182
|
+
</td>
|
|
183
|
+
<td><span class="badge badge-info">Unidirectional</span></td>
|
|
184
|
+
<td>
|
|
185
|
+
<div style="font-size: 13px; font-weight: 600;">234</div>
|
|
186
|
+
<div style="font-size: 11px; color: var(--text-muted);">calls</div>
|
|
187
|
+
</td>
|
|
188
|
+
<td><span class="badge badge-success">Active</span></td>
|
|
189
|
+
<td>12 mins ago</td>
|
|
190
|
+
<td>
|
|
191
|
+
<button class="btn btn-sm btn-secondary" style="margin-right: 4px;">Configure</button>
|
|
192
|
+
<button class="btn btn-sm btn-danger">Disconnect</button>
|
|
193
|
+
</td>
|
|
194
|
+
</tr>
|
|
195
|
+
<tr>
|
|
196
|
+
<td>
|
|
197
|
+
<div style="display: flex; align-items: center; gap: 8px;">
|
|
198
|
+
<div style="width: 24px; height: 24px; border-radius: 50%; background: var(--accent-soft); color: var(--accent-text); display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 600;">A</div>
|
|
199
|
+
<span>Alice</span>
|
|
200
|
+
<svg width="12" height="12" fill="currentColor" style="color: var(--text-muted);">
|
|
201
|
+
<path d="M4.5 1a.5.5 0 0 1 .5.5V6h5.5a.5.5 0 0 1 0 1H5v4.5a.5.5 0 0 1-1 0V7H.5a.5.5 0 0 1 0-1H4V1.5a.5.5 0 0 1 .5-.5z"/>
|
|
202
|
+
</svg>
|
|
203
|
+
<div style="width: 24px; height: 24px; border-radius: 50%; background: var(--warning-soft); color: var(--warning); display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 600;">C</div>
|
|
204
|
+
<span>Charlie</span>
|
|
205
|
+
</div>
|
|
206
|
+
</td>
|
|
207
|
+
<td>
|
|
208
|
+
<div>
|
|
209
|
+
<div style="font-weight: 600;">Security Scanning</div>
|
|
210
|
+
<div style="font-size: 11px; color: var(--text-muted);">Email security validation</div>
|
|
211
|
+
</div>
|
|
212
|
+
</td>
|
|
213
|
+
<td><span class="badge badge-warning">On-demand</span></td>
|
|
214
|
+
<td>
|
|
215
|
+
<div style="font-size: 13px; font-weight: 600;">56</div>
|
|
216
|
+
<div style="font-size: 11px; color: var(--text-muted);">calls</div>
|
|
217
|
+
</td>
|
|
218
|
+
<td><span class="badge badge-success">Active</span></td>
|
|
219
|
+
<td>1 hour ago</td>
|
|
220
|
+
<td>
|
|
221
|
+
<button class="btn btn-sm btn-secondary" style="margin-right: 4px;">Configure</button>
|
|
222
|
+
<button class="btn btn-sm btn-danger">Disconnect</button>
|
|
223
|
+
</td>
|
|
224
|
+
</tr>
|
|
225
|
+
<tr>
|
|
226
|
+
<td>
|
|
227
|
+
<div style="display: flex; align-items: center; gap: 8px;">
|
|
228
|
+
<div style="width: 24px; height: 24px; border-radius: 50%; background: var(--info-soft); color: var(--info); display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 600;">D</div>
|
|
229
|
+
<span>Diana</span>
|
|
230
|
+
<svg width="12" height="12" fill="currentColor" style="color: var(--text-muted);">
|
|
231
|
+
<path d="M4.5 1a.5.5 0 0 1 .5.5V6h5.5a.5.5 0 0 1 0 1H5v4.5a.5.5 0 0 1-1 0V7H.5a.5.5 0 0 1 0-1H4V1.5a.5.5 0 0 1 .5-.5z"/>
|
|
232
|
+
</svg>
|
|
233
|
+
<div style="width: 24px; height: 24px; border-radius: 50%; background: var(--accent-soft); color: var(--accent-text); display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 600;">A</div>
|
|
234
|
+
<span>Alice</span>
|
|
235
|
+
</div>
|
|
236
|
+
</td>
|
|
237
|
+
<td>
|
|
238
|
+
<div>
|
|
239
|
+
<div style="font-weight: 600;">Template Generation</div>
|
|
240
|
+
<div style="font-size: 11px; color: var(--text-muted);">Dynamic email templates</div>
|
|
241
|
+
</div>
|
|
242
|
+
</td>
|
|
243
|
+
<td><span class="badge badge-primary">Bidirectional</span></td>
|
|
244
|
+
<td>
|
|
245
|
+
<div style="font-size: 13px; font-weight: 600;">123</div>
|
|
246
|
+
<div style="font-size: 11px; color: var(--text-muted);">calls</div>
|
|
247
|
+
</td>
|
|
248
|
+
<td><span class="badge badge-warning">Idle</span></td>
|
|
249
|
+
<td>2 hours ago</td>
|
|
250
|
+
<td>
|
|
251
|
+
<button class="btn btn-sm btn-secondary" style="margin-right: 4px;">Configure</button>
|
|
252
|
+
<button class="btn btn-sm btn-danger">Disconnect</button>
|
|
253
|
+
</td>
|
|
254
|
+
</tr>
|
|
255
|
+
<tr>
|
|
256
|
+
<td>
|
|
257
|
+
<div style="display: flex; align-items: center; gap: 8px;">
|
|
258
|
+
<div style="width: 24px; height: 24px; border-radius: 50%; background: var(--warning-soft); color: var(--warning); display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 600;">C</div>
|
|
259
|
+
<span>Charlie</span>
|
|
260
|
+
<svg width="12" height="12" fill="currentColor" style="color: var(--text-muted);">
|
|
261
|
+
<path d="M4.5 1a.5.5 0 0 1 .5.5V6h5.5a.5.5 0 0 1 0 1H5v4.5a.5.5 0 0 1-1 0V7H.5a.5.5 0 0 1 0-1H4V1.5a.5.5 0 0 1 .5-.5z"/>
|
|
262
|
+
</svg>
|
|
263
|
+
<div style="width: 24px; height: 24px; border-radius: 50%; background: var(--info-soft); color: var(--info); display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 600;">D</div>
|
|
264
|
+
<span>Diana</span>
|
|
265
|
+
</div>
|
|
266
|
+
</td>
|
|
267
|
+
<td>
|
|
268
|
+
<div>
|
|
269
|
+
<div style="font-weight: 600;">Webhook Processing</div>
|
|
270
|
+
<div style="font-size: 11px; color: var(--text-muted);">Real-time event handling</div>
|
|
271
|
+
</div>
|
|
272
|
+
</td>
|
|
273
|
+
<td><span class="badge badge-info">Unidirectional</span></td>
|
|
274
|
+
<td>
|
|
275
|
+
<div style="font-size: 13px; font-weight: 600;">445</div>
|
|
276
|
+
<div style="font-size: 11px; color: var(--text-muted);">calls</div>
|
|
277
|
+
</td>
|
|
278
|
+
<td><span class="badge badge-danger">Error</span></td>
|
|
279
|
+
<td>3 hours ago</td>
|
|
280
|
+
<td>
|
|
281
|
+
<button class="btn btn-sm btn-secondary" style="margin-right: 4px;">Debug</button>
|
|
282
|
+
<button class="btn btn-sm btn-danger">Disconnect</button>
|
|
283
|
+
</td>
|
|
284
|
+
</tr>
|
|
285
|
+
</tbody>
|
|
286
|
+
</table>
|
|
287
|
+
</div>
|
|
288
|
+
</div>
|
|
289
|
+
</div>
|
|
290
|
+
`;
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
export { renderSkillConnections };
|