@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,167 @@
|
|
|
1
|
+
<?php
|
|
2
|
+
/**
|
|
3
|
+
* Knowledge page - Knowledge base management
|
|
4
|
+
*/
|
|
5
|
+
?>
|
|
6
|
+
|
|
7
|
+
<div class="stat-grid">
|
|
8
|
+
<div class="stat-card">
|
|
9
|
+
<div class="stat-label">Knowledge Bases</div>
|
|
10
|
+
<div class="stat-value">7</div>
|
|
11
|
+
<div class="stat-change" style="color: var(--success)">+1 this month</div>
|
|
12
|
+
</div>
|
|
13
|
+
<div class="stat-card">
|
|
14
|
+
<div class="stat-label">Total Documents</div>
|
|
15
|
+
<div class="stat-value">1,247</div>
|
|
16
|
+
<div class="stat-change" style="color: var(--success)">+89 this week</div>
|
|
17
|
+
</div>
|
|
18
|
+
<div class="stat-card">
|
|
19
|
+
<div class="stat-label">Storage Used</div>
|
|
20
|
+
<div class="stat-value">2.3GB</div>
|
|
21
|
+
<div class="stat-change" style="color: var(--text-muted)">of 10GB</div>
|
|
22
|
+
</div>
|
|
23
|
+
</div>
|
|
24
|
+
|
|
25
|
+
<div class="card">
|
|
26
|
+
<div class="card-header">
|
|
27
|
+
<h3>Knowledge Bases</h3>
|
|
28
|
+
<button class="btn btn-primary">+ New Knowledge Base</button>
|
|
29
|
+
</div>
|
|
30
|
+
<div class="card-body">
|
|
31
|
+
<div style="display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 16px;">
|
|
32
|
+
<div style="border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 16px;">
|
|
33
|
+
<div style="display: flex; justify-content: space-between; align-items: start; margin-bottom: 8px;">
|
|
34
|
+
<h4 style="font-size: 14px; font-weight: 600;">Customer Support</h4>
|
|
35
|
+
<span class="badge badge-success">Active</span>
|
|
36
|
+
</div>
|
|
37
|
+
<p style="font-size: 12px; color: var(--text-muted); margin-bottom: 12px;">
|
|
38
|
+
FAQs, troubleshooting guides, and customer service procedures for support agents.
|
|
39
|
+
</p>
|
|
40
|
+
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; font-size: 12px; color: var(--text-muted);">
|
|
41
|
+
<span>347 documents</span>
|
|
42
|
+
<span>Updated 2 hours ago</span>
|
|
43
|
+
</div>
|
|
44
|
+
<div style="display: flex; justify-content: space-between; align-items: center;">
|
|
45
|
+
<div>
|
|
46
|
+
<span style="font-size: 11px; color: var(--text-muted);">Used by:</span>
|
|
47
|
+
<span style="font-size: 11px; font-weight: 600;">Alice, Bob, Charlie</span>
|
|
48
|
+
</div>
|
|
49
|
+
<button class="btn btn-sm btn-secondary">Manage</button>
|
|
50
|
+
</div>
|
|
51
|
+
</div>
|
|
52
|
+
|
|
53
|
+
<div style="border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 16px;">
|
|
54
|
+
<div style="display: flex; justify-content: space-between; align-items: start; margin-bottom: 8px;">
|
|
55
|
+
<h4 style="font-size: 14px; font-weight: 600;">Product Documentation</h4>
|
|
56
|
+
<span class="badge badge-success">Active</span>
|
|
57
|
+
</div>
|
|
58
|
+
<p style="font-size: 12px; color: var(--text-muted); margin-bottom: 12px;">
|
|
59
|
+
Technical documentation, API references, and integration guides for developers.
|
|
60
|
+
</p>
|
|
61
|
+
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; font-size: 12px; color: var(--text-muted);">
|
|
62
|
+
<span>189 documents</span>
|
|
63
|
+
<span>Updated 1 day ago</span>
|
|
64
|
+
</div>
|
|
65
|
+
<div style="display: flex; justify-content: space-between; align-items: center;">
|
|
66
|
+
<div>
|
|
67
|
+
<span style="font-size: 11px; color: var(--text-muted);">Used by:</span>
|
|
68
|
+
<span style="font-size: 11px; font-weight: 600;">Diana, Eve</span>
|
|
69
|
+
</div>
|
|
70
|
+
<button class="btn btn-sm btn-secondary">Manage</button>
|
|
71
|
+
</div>
|
|
72
|
+
</div>
|
|
73
|
+
|
|
74
|
+
<div style="border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 16px;">
|
|
75
|
+
<div style="display: flex; justify-content: space-between; align-items: start; margin-bottom: 8px;">
|
|
76
|
+
<h4 style="font-size: 14px; font-weight: 600;">HR Policies</h4>
|
|
77
|
+
<span class="badge badge-success">Active</span>
|
|
78
|
+
</div>
|
|
79
|
+
<p style="font-size: 12px; color: var(--text-muted); margin-bottom: 12px;">
|
|
80
|
+
Employee handbook, policies, procedures, and HR-related information.
|
|
81
|
+
</p>
|
|
82
|
+
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; font-size: 12px; color: var(--text-muted);">
|
|
83
|
+
<span>67 documents</span>
|
|
84
|
+
<span>Updated 3 days ago</span>
|
|
85
|
+
</div>
|
|
86
|
+
<div style="display: flex; justify-content: space-between; align-items: center;">
|
|
87
|
+
<div>
|
|
88
|
+
<span style="font-size: 11px; color: var(--text-muted);">Used by:</span>
|
|
89
|
+
<span style="font-size: 11px; font-weight: 600;">Frank</span>
|
|
90
|
+
</div>
|
|
91
|
+
<button class="btn btn-sm btn-secondary">Manage</button>
|
|
92
|
+
</div>
|
|
93
|
+
</div>
|
|
94
|
+
|
|
95
|
+
<div style="border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 16px;">
|
|
96
|
+
<div style="display: flex; justify-content: space-between; align-items: start; margin-bottom: 8px;">
|
|
97
|
+
<h4 style="font-size: 14px; font-weight: 600;">Marketing Materials</h4>
|
|
98
|
+
<span class="badge badge-warning">Syncing</span>
|
|
99
|
+
</div>
|
|
100
|
+
<p style="font-size: 12px; color: var(--text-muted); margin-bottom: 12px;">
|
|
101
|
+
Brand guidelines, marketing templates, and campaign resources.
|
|
102
|
+
</p>
|
|
103
|
+
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; font-size: 12px; color: var(--text-muted);">
|
|
104
|
+
<span>234 documents</span>
|
|
105
|
+
<span>Updated 1 hour ago</span>
|
|
106
|
+
</div>
|
|
107
|
+
<div style="display: flex; justify-content: space-between; align-items: center;">
|
|
108
|
+
<div>
|
|
109
|
+
<span style="font-size: 11px; color: var(--text-muted);">Used by:</span>
|
|
110
|
+
<span style="font-size: 11px; font-weight: 600;">Grace, Henry</span>
|
|
111
|
+
</div>
|
|
112
|
+
<button class="btn btn-sm btn-secondary">Manage</button>
|
|
113
|
+
</div>
|
|
114
|
+
</div>
|
|
115
|
+
</div>
|
|
116
|
+
</div>
|
|
117
|
+
</div>
|
|
118
|
+
|
|
119
|
+
<div class="card" style="margin-top: 24px;">
|
|
120
|
+
<div class="card-header">
|
|
121
|
+
<h3>Recent Activity</h3>
|
|
122
|
+
<button class="btn btn-secondary">View All</button>
|
|
123
|
+
</div>
|
|
124
|
+
<div class="card-body">
|
|
125
|
+
<table>
|
|
126
|
+
<thead>
|
|
127
|
+
<tr>
|
|
128
|
+
<th>Action</th>
|
|
129
|
+
<th>Knowledge Base</th>
|
|
130
|
+
<th>Document</th>
|
|
131
|
+
<th>User</th>
|
|
132
|
+
<th>Time</th>
|
|
133
|
+
</tr>
|
|
134
|
+
</thead>
|
|
135
|
+
<tbody>
|
|
136
|
+
<tr>
|
|
137
|
+
<td><span class="badge badge-success">Added</span></td>
|
|
138
|
+
<td>Customer Support</td>
|
|
139
|
+
<td>New billing FAQ section</td>
|
|
140
|
+
<td>Alice</td>
|
|
141
|
+
<td>2 hours ago</td>
|
|
142
|
+
</tr>
|
|
143
|
+
<tr>
|
|
144
|
+
<td><span class="badge badge-info">Updated</span></td>
|
|
145
|
+
<td>Product Documentation</td>
|
|
146
|
+
<td>API Rate Limiting Guide</td>
|
|
147
|
+
<td>Diana</td>
|
|
148
|
+
<td>1 day ago</td>
|
|
149
|
+
</tr>
|
|
150
|
+
<tr>
|
|
151
|
+
<td><span class="badge badge-danger">Deleted</span></td>
|
|
152
|
+
<td>HR Policies</td>
|
|
153
|
+
<td>Outdated vacation policy</td>
|
|
154
|
+
<td>Frank</td>
|
|
155
|
+
<td>3 days ago</td>
|
|
156
|
+
</tr>
|
|
157
|
+
<tr>
|
|
158
|
+
<td><span class="badge badge-primary">Created</span></td>
|
|
159
|
+
<td>Marketing Materials</td>
|
|
160
|
+
<td>Q1 Campaign Templates</td>
|
|
161
|
+
<td>Grace</td>
|
|
162
|
+
<td>1 week ago</td>
|
|
163
|
+
</tr>
|
|
164
|
+
</tbody>
|
|
165
|
+
</table>
|
|
166
|
+
</div>
|
|
167
|
+
</div>
|
|
@@ -7,21 +7,29 @@ $_user = Helpers::e($_SESSION['user']['email'] ?? $_SESSION['user']['name'] ?? '
|
|
|
7
7
|
$_flash = Helpers::renderFlash();
|
|
8
8
|
|
|
9
9
|
$_navLinks = [
|
|
10
|
-
'
|
|
11
|
-
'/
|
|
12
|
-
'
|
|
13
|
-
'/
|
|
14
|
-
'/
|
|
15
|
-
'/skills'
|
|
16
|
-
'
|
|
17
|
-
'/
|
|
18
|
-
'/
|
|
19
|
-
'/
|
|
20
|
-
'
|
|
21
|
-
'/
|
|
22
|
-
'/
|
|
23
|
-
'/
|
|
24
|
-
'/
|
|
10
|
+
'_overview' => ['label' => 'Overview', 'icon' => '', 'page' => '_section'],
|
|
11
|
+
'/' => ['label' => 'Dashboard', 'icon' => '📊', 'page' => 'dashboard'],
|
|
12
|
+
'_mgmt1' => ['label' => 'Management', 'icon' => '', 'page' => '_section'],
|
|
13
|
+
'/agents' => ['label' => 'Agents', 'icon' => '🤖', 'page' => 'agents'],
|
|
14
|
+
'/skills' => ['label' => 'Skills', 'icon' => '⚡', 'page' => 'skills'],
|
|
15
|
+
'/community-skills' => ['label' => 'Community Skills', 'icon' => '🏪', 'page' => 'community-skills'],
|
|
16
|
+
'/skill-connections' => ['label' => 'Skill Connections', 'icon' => '🔗', 'page' => 'skill-connections'],
|
|
17
|
+
'/knowledge' => ['label' => 'Knowledge Bases', 'icon' => '📚', 'page' => 'knowledge'],
|
|
18
|
+
'/knowledge-contributions' => ['label' => 'Knowledge Hub', 'icon' => '🧠', 'page' => 'knowledge-contributions'],
|
|
19
|
+
'/approvals' => ['label' => 'Approvals', 'icon' => '✅', 'page' => 'approvals'],
|
|
20
|
+
'_mgmt2' => ['label' => 'Management', 'icon' => '', 'page' => '_section'],
|
|
21
|
+
'/workforce' => ['label' => 'Workforce', 'icon' => '⏰', 'page' => 'workforce'],
|
|
22
|
+
'/messages' => ['label' => 'Messages', 'icon' => '💬', 'page' => 'messages'],
|
|
23
|
+
'/guardrails' => ['label' => 'Guardrails', 'icon' => '🛡️', 'page' => 'guardrails'],
|
|
24
|
+
'/journal' => ['label' => 'Journal', 'icon' => '📝', 'page' => 'journal'],
|
|
25
|
+
'_admin' => ['label' => 'Administration', 'icon' => '', 'page' => '_section'],
|
|
26
|
+
'/dlp' => ['label' => 'DLP', 'icon' => '🔍', 'page' => 'dlp'],
|
|
27
|
+
'/compliance' => ['label' => 'Compliance', 'icon' => '✔️', 'page' => 'compliance'],
|
|
28
|
+
'/domain-status' => ['label' => 'Domain', 'icon' => '🛡️', 'page' => 'domain-status'],
|
|
29
|
+
'/users' => ['label' => 'Users', 'icon' => '👥', 'page' => 'users'],
|
|
30
|
+
'/vault' => ['label' => 'Vault', 'icon' => '🔐', 'page' => 'vault'],
|
|
31
|
+
'/audit' => ['label' => 'Audit Log', 'icon' => '📋', 'page' => 'audit'],
|
|
32
|
+
'/settings' => ['label' => 'Settings', 'icon' => '⚙️', 'page' => 'settings'],
|
|
25
33
|
];
|
|
26
34
|
?>
|
|
27
35
|
<!DOCTYPE html>
|
|
@@ -33,38 +41,43 @@ $_navLinks = [
|
|
|
33
41
|
<link rel="stylesheet" href="/public/styles.css">
|
|
34
42
|
</head>
|
|
35
43
|
<body>
|
|
36
|
-
<
|
|
37
|
-
<
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
44
|
+
<div class="layout">
|
|
45
|
+
<aside class="sidebar">
|
|
46
|
+
<div class="sidebar-header">
|
|
47
|
+
<h2>AgenticMail</h2>
|
|
48
|
+
<p>Enterprise Dashboard</p>
|
|
49
|
+
</div>
|
|
50
|
+
<nav class="nav">
|
|
42
51
|
<?php foreach ($_navLinks as $_href => $_link): ?>
|
|
43
52
|
<?php if ($_link['page'] === '_section'): ?>
|
|
44
|
-
|
|
53
|
+
<div class="nav-section"><?= $_link['label'] ?></div>
|
|
45
54
|
<?php else: ?>
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
55
|
+
<button class="nav-item<?= ($page === $_link['page']) ? ' active' : '' ?>" onclick="window.location.href='<?= $_href ?>'">
|
|
56
|
+
<span><?= $_link['icon'] ?></span>
|
|
57
|
+
<span><?= $_link['label'] ?></span>
|
|
58
|
+
</button>
|
|
50
59
|
<?php endif; ?>
|
|
51
60
|
<?php endforeach; ?>
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
<div style="margin-bottom: 6px"><?= $_user ?></div>
|
|
55
|
-
<a href="/logout">Sign Out</a>
|
|
56
|
-
·
|
|
57
|
-
<button class="theme-toggle" onclick="toggleTheme()" title="Toggle dark mode">☾</button>
|
|
58
|
-
</div>
|
|
59
|
-
</aside>
|
|
61
|
+
</nav>
|
|
62
|
+
</aside>
|
|
60
63
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
64
|
+
<main class="main-content">
|
|
65
|
+
<div class="topbar">
|
|
66
|
+
<div class="topbar-left">
|
|
67
|
+
<div class="topbar-title"><?= Helpers::e($title) ?></div>
|
|
68
|
+
</div>
|
|
69
|
+
<div class="topbar-right">
|
|
70
|
+
<span><?= $_user ?></span>
|
|
71
|
+
<a href="/logout" class="btn btn-secondary btn-sm">Sign Out</a>
|
|
72
|
+
<button class="btn btn-secondary btn-sm" onclick="toggleTheme()" title="Toggle theme">🌙</button>
|
|
73
|
+
</div>
|
|
74
|
+
</div>
|
|
75
|
+
<div class="page-content">
|
|
76
|
+
<?= $_flash ?>
|
|
77
|
+
<?= $content ?>
|
|
78
|
+
</div>
|
|
79
|
+
</main>
|
|
80
|
+
</div>
|
|
68
81
|
|
|
69
82
|
<script>
|
|
70
83
|
(function() {
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
<?php
|
|
2
|
+
/**
|
|
3
|
+
* Skill Connections page - Manage skill integrations and connections
|
|
4
|
+
*/
|
|
5
|
+
?>
|
|
6
|
+
|
|
7
|
+
<div class="stat-grid">
|
|
8
|
+
<div class="stat-card">
|
|
9
|
+
<div class="stat-label">Active Connections</div>
|
|
10
|
+
<div class="stat-value">14</div>
|
|
11
|
+
<div class="stat-change" style="color: var(--success)">All healthy</div>
|
|
12
|
+
</div>
|
|
13
|
+
<div class="stat-card">
|
|
14
|
+
<div class="stat-label">Data Flows</div>
|
|
15
|
+
<div class="stat-value">267</div>
|
|
16
|
+
<div class="stat-change" style="color: var(--success)">+23 this week</div>
|
|
17
|
+
</div>
|
|
18
|
+
<div class="stat-card">
|
|
19
|
+
<div class="stat-label">Failed Connections</div>
|
|
20
|
+
<div class="stat-value">1</div>
|
|
21
|
+
<div class="stat-change" style="color: var(--danger)">Needs attention</div>
|
|
22
|
+
</div>
|
|
23
|
+
</div>
|
|
24
|
+
|
|
25
|
+
<div class="card">
|
|
26
|
+
<div class="card-header">
|
|
27
|
+
<h3>Skill Network</h3>
|
|
28
|
+
<div style="display: flex; gap: 8px;">
|
|
29
|
+
<button class="btn btn-primary">+ New Connection</button>
|
|
30
|
+
<button class="btn btn-secondary">View Map</button>
|
|
31
|
+
</div>
|
|
32
|
+
</div>
|
|
33
|
+
<div class="card-body">
|
|
34
|
+
<div style="background: var(--bg-tertiary); border-radius: var(--radius); padding: 20px; margin-bottom: 20px; text-align: center;">
|
|
35
|
+
<div style="font-size: 48px; margin-bottom: 12px; color: var(--text-muted);">🔗</div>
|
|
36
|
+
<p style="color: var(--text-muted); font-size: 13px;">Interactive skill network visualization will be displayed here</p>
|
|
37
|
+
<p style="color: var(--text-muted); font-size: 12px; margin-top: 4px;">Showing connections between skills, data flows, and dependencies</p>
|
|
38
|
+
</div>
|
|
39
|
+
|
|
40
|
+
<div style="display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 16px;">
|
|
41
|
+
<div style="border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 16px;">
|
|
42
|
+
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px;">
|
|
43
|
+
<h4 style="font-size: 14px; font-weight: 600;">Email → CRM Sync</h4>
|
|
44
|
+
<span class="badge badge-success">Active</span>
|
|
45
|
+
</div>
|
|
46
|
+
<p style="font-size: 12px; color: var(--text-muted); margin-bottom: 12px;">
|
|
47
|
+
Automatically sync email interactions with CRM contact records
|
|
48
|
+
</p>
|
|
49
|
+
<div style="display: flex; align-items: center; gap: 8px; margin-bottom: 8px; font-size: 12px;">
|
|
50
|
+
<span style="background: var(--accent-soft); color: var(--accent-text); padding: 2px 6px; border-radius: 4px;">Email Processing</span>
|
|
51
|
+
<span>→</span>
|
|
52
|
+
<span style="background: var(--success-soft); color: var(--success); padding: 2px 6px; border-radius: 4px;">CRM Integration</span>
|
|
53
|
+
</div>
|
|
54
|
+
<div style="font-size: 11px; color: var(--text-muted);">
|
|
55
|
+
Last sync: 2 mins ago • 47 records processed
|
|
56
|
+
</div>
|
|
57
|
+
</div>
|
|
58
|
+
|
|
59
|
+
<div style="border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 16px;">
|
|
60
|
+
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px;">
|
|
61
|
+
<h4 style="font-size: 14px; font-weight: 600;">Analytics → Reporting</h4>
|
|
62
|
+
<span class="badge badge-success">Active</span>
|
|
63
|
+
</div>
|
|
64
|
+
<p style="font-size: 12px; color: var(--text-muted); margin-bottom: 12px;">
|
|
65
|
+
Feed analytics data into automated reporting dashboards
|
|
66
|
+
</p>
|
|
67
|
+
<div style="display: flex; align-items: center; gap: 8px; margin-bottom: 8px; font-size: 12px;">
|
|
68
|
+
<span style="background: var(--info-soft); color: var(--info); padding: 2px 6px; border-radius: 4px;">Data Analytics</span>
|
|
69
|
+
<span>→</span>
|
|
70
|
+
<span style="background: var(--warning-soft); color: var(--warning); padding: 2px 6px; border-radius: 4px;">Report Generator</span>
|
|
71
|
+
</div>
|
|
72
|
+
<div style="font-size: 11px; color: var(--text-muted);">
|
|
73
|
+
Last update: 1 hour ago • 12 reports generated
|
|
74
|
+
</div>
|
|
75
|
+
</div>
|
|
76
|
+
|
|
77
|
+
<div style="border: 1px solid var(--danger); border-radius: var(--radius-lg); padding: 16px;">
|
|
78
|
+
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px;">
|
|
79
|
+
<h4 style="font-size: 14px; font-weight: 600;">Slack → Notifications</h4>
|
|
80
|
+
<span class="badge badge-danger">Failed</span>
|
|
81
|
+
</div>
|
|
82
|
+
<p style="font-size: 12px; color: var(--text-muted); margin-bottom: 12px;">
|
|
83
|
+
Send agent notifications to Slack channels
|
|
84
|
+
</p>
|
|
85
|
+
<div style="display: flex; align-items: center; gap: 8px; margin-bottom: 8px; font-size: 12px;">
|
|
86
|
+
<span style="background: var(--accent-soft); color: var(--accent-text); padding: 2px 6px; border-radius: 4px;">Event Handler</span>
|
|
87
|
+
<span style="color: var(--danger);">✗</span>
|
|
88
|
+
<span style="background: var(--danger-soft); color: var(--danger); padding: 2px 6px; border-radius: 4px;">Slack API</span>
|
|
89
|
+
</div>
|
|
90
|
+
<div style="font-size: 11px; color: var(--danger); margin-bottom: 8px;">
|
|
91
|
+
Error: Invalid webhook URL
|
|
92
|
+
</div>
|
|
93
|
+
<button class="btn btn-sm btn-danger">Fix Connection</button>
|
|
94
|
+
</div>
|
|
95
|
+
|
|
96
|
+
<div style="border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 16px;">
|
|
97
|
+
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px;">
|
|
98
|
+
<h4 style="font-size: 14px; font-weight: 600;">Knowledge → Search</h4>
|
|
99
|
+
<span class="badge badge-success">Active</span>
|
|
100
|
+
</div>
|
|
101
|
+
<p style="font-size: 12px; color: var(--text-muted); margin-bottom: 12px;">
|
|
102
|
+
Enable intelligent search across knowledge bases
|
|
103
|
+
</p>
|
|
104
|
+
<div style="display: flex; align-items: center; gap: 8px; margin-bottom: 8px; font-size: 12px;">
|
|
105
|
+
<span style="background: var(--success-soft); color: var(--success); padding: 2px 6px; border-radius: 4px;">Knowledge Base</span>
|
|
106
|
+
<span>→</span>
|
|
107
|
+
<span style="background: var(--info-soft); color: var(--info); padding: 2px 6px; border-radius: 4px;">Search Engine</span>
|
|
108
|
+
</div>
|
|
109
|
+
<div style="font-size: 11px; color: var(--text-muted);">
|
|
110
|
+
Last indexed: 3 hours ago • 1,247 documents
|
|
111
|
+
</div>
|
|
112
|
+
</div>
|
|
113
|
+
</div>
|
|
114
|
+
</div>
|
|
115
|
+
</div>
|
|
116
|
+
|
|
117
|
+
<div class="card" style="margin-top: 24px;">
|
|
118
|
+
<div class="card-header">
|
|
119
|
+
<h3>Connection Templates</h3>
|
|
120
|
+
<button class="btn btn-secondary">Browse All</button>
|
|
121
|
+
</div>
|
|
122
|
+
<div class="card-body">
|
|
123
|
+
<div style="display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 12px;">
|
|
124
|
+
<div style="border: 1px solid var(--border); border-radius: var(--radius); padding: 12px; cursor: pointer;" onclick="this.style.borderColor='var(--accent)'">
|
|
125
|
+
<div style="font-size: 13px; font-weight: 600; margin-bottom: 4px;">📊 Analytics Pipeline</div>
|
|
126
|
+
<div style="font-size: 11px; color: var(--text-muted);">Connect data sources to analytics and reporting</div>
|
|
127
|
+
</div>
|
|
128
|
+
<div style="border: 1px solid var(--border); border-radius: var(--radius); padding: 12px; cursor: pointer;" onclick="this.style.borderColor='var(--accent)'">
|
|
129
|
+
<div style="font-size: 13px; font-weight: 600; margin-bottom: 4px;">🔔 Alert System</div>
|
|
130
|
+
<div style="font-size: 11px; color: var(--text-muted);">Set up automated alerts and notifications</div>
|
|
131
|
+
</div>
|
|
132
|
+
<div style="border: 1px solid var(--border); border-radius: var(--radius); padding: 12px; cursor: pointer;" onclick="this.style.borderColor='var(--accent)'">
|
|
133
|
+
<div style="font-size: 13px; font-weight: 600; margin-bottom: 4px;">🔄 Data Sync</div>
|
|
134
|
+
<div style="font-size: 11px; color: var(--text-muted);">Bidirectional data synchronization</div>
|
|
135
|
+
</div>
|
|
136
|
+
<div style="border: 1px solid var(--border); border-radius: var(--radius); padding: 12px; cursor: pointer;" onclick="this.style.borderColor='var(--accent)'">
|
|
137
|
+
<div style="font-size: 13px; font-weight: 600; margin-bottom: 4px;">🤖 AI Chain</div>
|
|
138
|
+
<div style="font-size: 11px; color: var(--text-muted);">Chain multiple AI processing steps</div>
|
|
139
|
+
</div>
|
|
140
|
+
</div>
|
|
141
|
+
</div>
|
|
142
|
+
</div>
|
|
143
|
+
|
|
144
|
+
<div class="card" style="margin-top: 24px;">
|
|
145
|
+
<div class="card-header">
|
|
146
|
+
<h3>Recent Activity</h3>
|
|
147
|
+
<button class="btn btn-secondary">View Logs</button>
|
|
148
|
+
</div>
|
|
149
|
+
<div class="card-body">
|
|
150
|
+
<table>
|
|
151
|
+
<thead>
|
|
152
|
+
<tr>
|
|
153
|
+
<th>Time</th>
|
|
154
|
+
<th>Connection</th>
|
|
155
|
+
<th>Event</th>
|
|
156
|
+
<th>Status</th>
|
|
157
|
+
<th>Details</th>
|
|
158
|
+
</tr>
|
|
159
|
+
</thead>
|
|
160
|
+
<tbody>
|
|
161
|
+
<tr>
|
|
162
|
+
<td>2 mins ago</td>
|
|
163
|
+
<td>Email → CRM Sync</td>
|
|
164
|
+
<td>Data processed</td>
|
|
165
|
+
<td><span class="badge badge-success">Success</span></td>
|
|
166
|
+
<td>47 contact records updated</td>
|
|
167
|
+
</tr>
|
|
168
|
+
<tr>
|
|
169
|
+
<td>15 mins ago</td>
|
|
170
|
+
<td>Slack → Notifications</td>
|
|
171
|
+
<td>Connection failed</td>
|
|
172
|
+
<td><span class="badge badge-danger">Error</span></td>
|
|
173
|
+
<td>Invalid webhook URL</td>
|
|
174
|
+
</tr>
|
|
175
|
+
<tr>
|
|
176
|
+
<td>1 hour ago</td>
|
|
177
|
+
<td>Analytics → Reporting</td>
|
|
178
|
+
<td>Report generated</td>
|
|
179
|
+
<td><span class="badge badge-success">Success</span></td>
|
|
180
|
+
<td>Weekly performance report</td>
|
|
181
|
+
</tr>
|
|
182
|
+
<tr>
|
|
183
|
+
<td>3 hours ago</td>
|
|
184
|
+
<td>Knowledge → Search</td>
|
|
185
|
+
<td>Index updated</td>
|
|
186
|
+
<td><span class="badge badge-success">Success</span></td>
|
|
187
|
+
<td>1,247 documents indexed</td>
|
|
188
|
+
</tr>
|
|
189
|
+
</tbody>
|
|
190
|
+
</table>
|
|
191
|
+
</div>
|
|
192
|
+
</div>
|