@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.
Files changed (173) hide show
  1. package/README.md +608 -923
  2. package/dashboards/django/app.py +12 -0
  3. package/dashboards/django/static/styles.css +449 -246
  4. package/dashboards/django/templates/activity.html +130 -0
  5. package/dashboards/django/templates/approvals.html +115 -0
  6. package/dashboards/django/templates/community-skills.html +89 -0
  7. package/dashboards/django/templates/domain-status.html +59 -0
  8. package/dashboards/django/templates/knowledge-contributions.html +58 -0
  9. package/dashboards/django/templates/knowledge.html +104 -0
  10. package/dashboards/django/templates/layout.html +161 -36
  11. package/dashboards/django/templates/skill-connections.html +73 -0
  12. package/dashboards/django/templates/workforce.html +116 -0
  13. package/dashboards/django/views/__init__.py +14 -0
  14. package/dashboards/django/views/new_pages.py +38 -0
  15. package/dashboards/dotnet/Program.cs +8 -0
  16. package/dashboards/dotnet/Routes/ActivityRoutes.cs +35 -0
  17. package/dashboards/dotnet/Routes/ApprovalRoutes.cs +36 -0
  18. package/dashboards/dotnet/Routes/CommunitySkillRoutes.cs +36 -0
  19. package/dashboards/dotnet/Routes/DomainStatusRoutes.cs +49 -0
  20. package/dashboards/dotnet/Routes/KnowledgeContributionRoutes.cs +42 -0
  21. package/dashboards/dotnet/Routes/KnowledgeRoutes.cs +40 -0
  22. package/dashboards/dotnet/Routes/SkillConnectionRoutes.cs +52 -0
  23. package/dashboards/dotnet/Routes/WorkforceRoutes.cs +55 -0
  24. package/dashboards/dotnet/Services/HtmlBuilder.cs +17 -8
  25. package/dashboards/dotnet/wwwroot/styles.css +508 -246
  26. package/dashboards/express/app.js +8 -0
  27. package/dashboards/express/public/styles.css +163 -272
  28. package/dashboards/express/routes/activity.js +101 -0
  29. package/dashboards/express/routes/approvals.js +100 -0
  30. package/dashboards/express/routes/community-skills.js +83 -0
  31. package/dashboards/express/routes/domain-status.js +78 -0
  32. package/dashboards/express/routes/knowledge-contributions.js +85 -0
  33. package/dashboards/express/routes/knowledge.js +83 -0
  34. package/dashboards/express/routes/skill-connections.js +86 -0
  35. package/dashboards/express/routes/workforce.js +126 -0
  36. package/dashboards/express/views/layout.js +54 -33
  37. package/dashboards/go/handlers/activity.go +30 -0
  38. package/dashboards/go/handlers/approvals.go +31 -0
  39. package/dashboards/go/handlers/community_skills.go +32 -0
  40. package/dashboards/go/handlers/domain_status.go +62 -0
  41. package/dashboards/go/handlers/knowledge.go +35 -0
  42. package/dashboards/go/handlers/knowledge_contributions.go +37 -0
  43. package/dashboards/go/handlers/skill_connections.go +59 -0
  44. package/dashboards/go/handlers/workforce.go +60 -0
  45. package/dashboards/go/main.go +8 -0
  46. package/dashboards/go/static/styles.css +508 -246
  47. package/dashboards/go/templates/layout.go +16 -11
  48. package/dashboards/html/index.html +136 -15
  49. package/dashboards/html/public/styles.css +531 -134
  50. package/dashboards/html/src/pages/activity.js +137 -0
  51. package/dashboards/html/src/pages/approvals.js +155 -0
  52. package/dashboards/html/src/pages/community-skills.js +236 -0
  53. package/dashboards/html/src/pages/domain-status.js +182 -0
  54. package/dashboards/html/src/pages/knowledge-contributions.js +319 -0
  55. package/dashboards/html/src/pages/knowledge.js +251 -0
  56. package/dashboards/html/src/pages/skill-connections.js +293 -0
  57. package/dashboards/html/src/pages/workforce.js +418 -0
  58. package/dashboards/html/src/router.js +51 -0
  59. package/dashboards/java/AgenticMailDashboard.java +8 -0
  60. package/dashboards/java/handlers/ActivityHandler.java +42 -0
  61. package/dashboards/java/handlers/ApprovalsHandler.java +43 -0
  62. package/dashboards/java/handlers/CommunitySkillsHandler.java +45 -0
  63. package/dashboards/java/handlers/DomainStatusHandler.java +58 -0
  64. package/dashboards/java/handlers/KnowledgeContributionsHandler.java +51 -0
  65. package/dashboards/java/handlers/KnowledgeHandler.java +49 -0
  66. package/dashboards/java/handlers/SkillConnectionsHandler.java +61 -0
  67. package/dashboards/java/handlers/WorkforceHandler.java +64 -0
  68. package/dashboards/java/static/styles.css +508 -250
  69. package/dashboards/java/templates/Layout.java +14 -6
  70. package/dashboards/laravel/controllers/ActivityController.php +18 -0
  71. package/dashboards/laravel/controllers/ApprovalsController.php +18 -0
  72. package/dashboards/laravel/controllers/CommunitySkillsController.php +18 -0
  73. package/dashboards/laravel/controllers/DomainStatusController.php +18 -0
  74. package/dashboards/laravel/controllers/KnowledgeContributionsController.php +18 -0
  75. package/dashboards/laravel/controllers/KnowledgeController.php +18 -0
  76. package/dashboards/laravel/controllers/SkillConnectionsController.php +18 -0
  77. package/dashboards/laravel/controllers/WorkforceController.php +18 -0
  78. package/dashboards/laravel/index.php +56 -0
  79. package/dashboards/laravel/public/styles.css +163 -279
  80. package/dashboards/laravel/views/activity.php +127 -0
  81. package/dashboards/laravel/views/approvals.php +152 -0
  82. package/dashboards/laravel/views/community-skills.php +131 -0
  83. package/dashboards/laravel/views/domain-status.php +167 -0
  84. package/dashboards/laravel/views/knowledge-contributions.php +185 -0
  85. package/dashboards/laravel/views/knowledge.php +167 -0
  86. package/dashboards/laravel/views/layout.php +54 -41
  87. package/dashboards/laravel/views/skill-connections.php +192 -0
  88. package/dashboards/laravel/views/workforce.php +265 -0
  89. package/dashboards/php/components/layout.php +21 -16
  90. package/dashboards/php/index.php +1 -1
  91. package/dashboards/php/pages/activity.php +35 -0
  92. package/dashboards/php/pages/approvals.php +36 -0
  93. package/dashboards/php/pages/community-skills.php +39 -0
  94. package/dashboards/php/pages/domain-status.php +87 -0
  95. package/dashboards/php/pages/knowledge-contributions.php +47 -0
  96. package/dashboards/php/pages/knowledge.php +43 -0
  97. package/dashboards/php/pages/skill-connections.php +94 -0
  98. package/dashboards/php/pages/workforce.php +89 -0
  99. package/dashboards/php/public/styles.css +168 -74
  100. package/dashboards/python/app.py +16 -0
  101. package/dashboards/python/routes/activity.py +11 -0
  102. package/dashboards/python/routes/approvals.py +11 -0
  103. package/dashboards/python/routes/community_skills.py +11 -0
  104. package/dashboards/python/routes/domain_status.py +11 -0
  105. package/dashboards/python/routes/knowledge.py +11 -0
  106. package/dashboards/python/routes/knowledge_contributions.py +11 -0
  107. package/dashboards/python/routes/skill_connections.py +11 -0
  108. package/dashboards/python/routes/workforce.py +11 -0
  109. package/dashboards/python/static/styles.css +163 -276
  110. package/dashboards/python/templates/activity.html +87 -0
  111. package/dashboards/python/templates/approvals.html +86 -0
  112. package/dashboards/python/templates/community-skills.html +69 -0
  113. package/dashboards/python/templates/domain-status.html +64 -0
  114. package/dashboards/python/templates/knowledge-contributions.html +71 -0
  115. package/dashboards/python/templates/knowledge.html +69 -0
  116. package/dashboards/python/templates/layout.html +103 -68
  117. package/dashboards/python/templates/skill-connections.html +72 -0
  118. package/dashboards/python/templates/workforce.html +112 -0
  119. package/dashboards/rails/app.rb +8 -0
  120. package/dashboards/rails/public/styles.css +506 -259
  121. package/dashboards/rails/routes/activity.rb +10 -0
  122. package/dashboards/rails/routes/approvals.rb +10 -0
  123. package/dashboards/rails/routes/community_skills.rb +11 -0
  124. package/dashboards/rails/routes/domain_status.rb +16 -0
  125. package/dashboards/rails/routes/knowledge.rb +11 -0
  126. package/dashboards/rails/routes/knowledge_contributions.rb +12 -0
  127. package/dashboards/rails/routes/skill_connections.rb +15 -0
  128. package/dashboards/rails/routes/workforce.rb +16 -0
  129. package/dashboards/rails/views/activity.erb +56 -0
  130. package/dashboards/rails/views/approvals.erb +60 -0
  131. package/dashboards/rails/views/community_skills.erb +69 -0
  132. package/dashboards/rails/views/domain_status.erb +75 -0
  133. package/dashboards/rails/views/knowledge.erb +67 -0
  134. package/dashboards/rails/views/knowledge_contributions.erb +70 -0
  135. package/dashboards/rails/views/layout.erb +23 -15
  136. package/dashboards/rails/views/skill_connections.erb +109 -0
  137. package/dashboards/rails/views/workforce.erb +124 -0
  138. package/dashboards/ruby/app.rb +8 -0
  139. package/dashboards/ruby/public/styles.css +506 -254
  140. package/dashboards/ruby/routes/activity.rb +10 -0
  141. package/dashboards/ruby/routes/approvals.rb +10 -0
  142. package/dashboards/ruby/routes/community_skills.rb +11 -0
  143. package/dashboards/ruby/routes/domain_status.rb +16 -0
  144. package/dashboards/ruby/routes/knowledge.rb +11 -0
  145. package/dashboards/ruby/routes/knowledge_contributions.rb +12 -0
  146. package/dashboards/ruby/routes/skill_connections.rb +15 -0
  147. package/dashboards/ruby/routes/workforce.rb +16 -0
  148. package/dashboards/ruby/views/activity.erb +56 -0
  149. package/dashboards/ruby/views/approvals.erb +60 -0
  150. package/dashboards/ruby/views/community_skills.erb +69 -0
  151. package/dashboards/ruby/views/domain_status.erb +75 -0
  152. package/dashboards/ruby/views/knowledge.erb +67 -0
  153. package/dashboards/ruby/views/knowledge_contributions.erb +70 -0
  154. package/dashboards/ruby/views/layout.erb +22 -13
  155. package/dashboards/ruby/views/skill_connections.erb +109 -0
  156. package/dashboards/ruby/views/workforce.erb +124 -0
  157. package/dashboards/shared/styles.css +505 -281
  158. package/dashboards/shared-styles.css +534 -45
  159. package/dist/chunk-ANW4OHXR.js +764 -0
  160. package/dist/chunk-EVQPFQ55.js +9040 -0
  161. package/dist/chunk-JMTNHH7I.js +12666 -0
  162. package/dist/chunk-TYW5XTOW.js +395 -0
  163. package/dist/chunk-V2YIXYDJ.js +1943 -0
  164. package/dist/cli.js +1 -1
  165. package/dist/index.js +5 -4
  166. package/dist/routes-ALTC4I2R.js +5674 -0
  167. package/dist/runtime-JLFTHMIT.js +47 -0
  168. package/dist/server-OGQWCOT6.js +11 -0
  169. package/dist/setup-HCMMUEW6.js +20 -0
  170. package/package.json +1 -1
  171. package/src/agent-tools/tools/memory.ts +42 -15
  172. package/src/engine/agent-memory.ts +4 -355
  173. package/src/lib/text-search.ts +358 -0
@@ -0,0 +1,265 @@
1
+ <?php
2
+ /**
3
+ * Workforce page - Agent workforce management and scheduling
4
+ */
5
+ ?>
6
+
7
+ <div class="stat-grid">
8
+ <div class="stat-card">
9
+ <div class="stat-label">Total Agents</div>
10
+ <div class="stat-value">23</div>
11
+ <div class="stat-change" style="color: var(--success)">+2 this month</div>
12
+ </div>
13
+ <div class="stat-card">
14
+ <div class="stat-label">Active Now</div>
15
+ <div class="stat-value">18</div>
16
+ <div class="stat-change" style="color: var(--success)">78% utilization</div>
17
+ </div>
18
+ <div class="stat-card">
19
+ <div class="stat-label">Tasks Completed</div>
20
+ <div class="stat-value">1,847</div>
21
+ <div class="stat-change" style="color: var(--success)">+12% vs yesterday</div>
22
+ </div>
23
+ </div>
24
+
25
+ <div style="display: grid; grid-template-columns: 2fr 1fr; gap: 24px; margin-bottom: 24px;">
26
+ <div class="card">
27
+ <div class="card-header">
28
+ <h3>Agent Activity Timeline</h3>
29
+ <select class="input" style="width: auto;">
30
+ <option>Last 24 Hours</option>
31
+ <option>Last 7 Days</option>
32
+ <option>Last 30 Days</option>
33
+ </select>
34
+ </div>
35
+ <div class="card-body">
36
+ <div style="background: var(--bg-tertiary); border-radius: var(--radius); padding: 20px; text-align: center; margin-bottom: 16px;">
37
+ <div style="font-size: 36px; margin-bottom: 8px; color: var(--text-muted);">📊</div>
38
+ <p style="color: var(--text-muted); font-size: 13px;">Activity timeline chart will be displayed here</p>
39
+ <p style="color: var(--text-muted); font-size: 12px; margin-top: 4px;">Showing agent workload and task distribution over time</p>
40
+ </div>
41
+
42
+ <div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 12px;">
43
+ <div style="text-align: center; padding: 12px; background: var(--bg-tertiary); border-radius: var(--radius);">
44
+ <div style="font-size: 18px; font-weight: 600; color: var(--success);">127</div>
45
+ <div style="font-size: 11px; color: var(--text-muted);">Tasks Today</div>
46
+ </div>
47
+ <div style="text-align: center; padding: 12px; background: var(--bg-tertiary); border-radius: var(--radius);">
48
+ <div style="font-size: 18px; font-weight: 600; color: var(--accent);">4.2h</div>
49
+ <div style="font-size: 11px; color: var(--text-muted);">Avg Duration</div>
50
+ </div>
51
+ <div style="text-align: center; padding: 12px; background: var(--bg-tertiary); border-radius: var(--radius);">
52
+ <div style="font-size: 18px; font-weight: 600; color: var(--warning);">12</div>
53
+ <div style="font-size: 11px; color: var(--text-muted);">In Queue</div>
54
+ </div>
55
+ <div style="text-align: center; padding: 12px; background: var(--bg-tertiary); border-radius: var(--radius);">
56
+ <div style="font-size: 18px; font-weight: 600; color: var(--info);">97.2%</div>
57
+ <div style="font-size: 11px; color: var(--text-muted);">Success Rate</div>
58
+ </div>
59
+ </div>
60
+ </div>
61
+ </div>
62
+
63
+ <div class="card">
64
+ <div class="card-header">
65
+ <h3>Workload Distribution</h3>
66
+ <button class="btn btn-secondary btn-sm">Balance</button>
67
+ </div>
68
+ <div class="card-body">
69
+ <div style="display: flex; flex-direction: column; gap: 12px;">
70
+ <div>
71
+ <div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 4px;">
72
+ <span style="font-size: 12px; font-weight: 600;">Customer Support</span>
73
+ <span style="font-size: 11px; color: var(--text-muted);">8 agents</span>
74
+ </div>
75
+ <div style="height: 6px; background: var(--border); border-radius: 3px; overflow: hidden;">
76
+ <div style="height: 100%; width: 85%; background: var(--success); border-radius: 3px;"></div>
77
+ </div>
78
+ <div style="font-size: 10px; color: var(--text-muted); margin-top: 2px;">85% capacity</div>
79
+ </div>
80
+
81
+ <div>
82
+ <div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 4px;">
83
+ <span style="font-size: 12px; font-weight: 600;">Sales</span>
84
+ <span style="font-size: 11px; color: var(--text-muted);">5 agents</span>
85
+ </div>
86
+ <div style="height: 6px; background: var(--border); border-radius: 3px; overflow: hidden;">
87
+ <div style="height: 100%; width: 67%; background: var(--accent); border-radius: 3px;"></div>
88
+ </div>
89
+ <div style="font-size: 10px; color: var(--text-muted); margin-top: 2px;">67% capacity</div>
90
+ </div>
91
+
92
+ <div>
93
+ <div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 4px;">
94
+ <span style="font-size: 12px; font-weight: 600;">Marketing</span>
95
+ <span style="font-size: 11px; color: var(--text-muted);">4 agents</span>
96
+ </div>
97
+ <div style="height: 6px; background: var(--border); border-radius: 3px; overflow: hidden;">
98
+ <div style="height: 100%; width: 92%; background: var(--warning); border-radius: 3px;"></div>
99
+ </div>
100
+ <div style="font-size: 10px; color: var(--text-muted); margin-top: 2px;">92% capacity</div>
101
+ </div>
102
+
103
+ <div>
104
+ <div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 4px;">
105
+ <span style="font-size: 12px; font-weight: 600;">Operations</span>
106
+ <span style="font-size: 11px; color: var(--text-muted);">6 agents</span>
107
+ </div>
108
+ <div style="height: 6px; background: var(--border); border-radius: 3px; overflow: hidden;">
109
+ <div style="height: 100%; width: 73%; background: var(--info); border-radius: 3px;"></div>
110
+ </div>
111
+ <div style="font-size: 10px; color: var(--text-muted); margin-top: 2px;">73% capacity</div>
112
+ </div>
113
+ </div>
114
+ </div>
115
+ </div>
116
+ </div>
117
+
118
+ <div class="card">
119
+ <div class="card-header">
120
+ <h3>Agent Status</h3>
121
+ <div style="display: flex; gap: 8px;">
122
+ <input type="text" class="input" placeholder="Search agents..." style="width: 200px;">
123
+ <select class="input" style="width: auto;">
124
+ <option>All Agents</option>
125
+ <option>Active</option>
126
+ <option>Idle</option>
127
+ <option>Offline</option>
128
+ </select>
129
+ <button class="btn btn-primary">Schedule Task</button>
130
+ </div>
131
+ </div>
132
+ <div class="card-body">
133
+ <table>
134
+ <thead>
135
+ <tr>
136
+ <th>Agent</th>
137
+ <th>Status</th>
138
+ <th>Current Task</th>
139
+ <th>Workload</th>
140
+ <th>Performance</th>
141
+ <th>Next Available</th>
142
+ <th>Actions</th>
143
+ </tr>
144
+ </thead>
145
+ <tbody>
146
+ <tr>
147
+ <td>
148
+ <div style="display: flex; align-items: center; gap: 8px;">
149
+ <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>
150
+ <span style="font-weight: 500;">Alice</span>
151
+ </div>
152
+ </td>
153
+ <td><span class="badge badge-success">Active</span></td>
154
+ <td>
155
+ <div style="font-size: 12px;">Processing customer inquiry</div>
156
+ <div style="font-size: 10px; color: var(--text-muted);">Started 15 mins ago</div>
157
+ </td>
158
+ <td>
159
+ <div style="display: flex; align-items: center; gap: 8px;">
160
+ <div style="width: 40px; height: 4px; background: var(--border); border-radius: 2px; overflow: hidden;">
161
+ <div style="width: 75%; height: 100%; background: var(--warning);"></div>
162
+ </div>
163
+ <span style="font-size: 11px;">75%</span>
164
+ </div>
165
+ </td>
166
+ <td>
167
+ <div style="font-size: 12px; font-weight: 600; color: var(--success);">98.2%</div>
168
+ <div style="font-size: 10px; color: var(--text-muted);">Success rate</div>
169
+ </td>
170
+ <td>In 2 hours</td>
171
+ <td>
172
+ <button class="btn btn-sm btn-secondary">Reassign</button>
173
+ </td>
174
+ </tr>
175
+ <tr>
176
+ <td>
177
+ <div style="display: flex; align-items: center; gap: 8px;">
178
+ <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>
179
+ <span style="font-weight: 500;">Bob</span>
180
+ </div>
181
+ </td>
182
+ <td><span class="badge badge-warning">Idle</span></td>
183
+ <td>
184
+ <div style="font-size: 12px; color: var(--text-muted);">Waiting for next task</div>
185
+ <div style="font-size: 10px; color: var(--text-muted);">Idle for 8 mins</div>
186
+ </td>
187
+ <td>
188
+ <div style="display: flex; align-items: center; gap: 8px;">
189
+ <div style="width: 40px; height: 4px; background: var(--border); border-radius: 2px; overflow: hidden;">
190
+ <div style="width: 20%; height: 100%; background: var(--success);"></div>
191
+ </div>
192
+ <span style="font-size: 11px;">20%</span>
193
+ </div>
194
+ </td>
195
+ <td>
196
+ <div style="font-size: 12px; font-weight: 600; color: var(--success);">96.7%</div>
197
+ <div style="font-size: 10px; color: var(--text-muted);">Success rate</div>
198
+ </td>
199
+ <td>Available now</td>
200
+ <td>
201
+ <button class="btn btn-sm btn-primary">Assign Task</button>
202
+ </td>
203
+ </tr>
204
+ <tr>
205
+ <td>
206
+ <div style="display: flex; align-items: center; gap: 8px;">
207
+ <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>
208
+ <span style="font-weight: 500;">Charlie</span>
209
+ </div>
210
+ </td>
211
+ <td><span class="badge badge-success">Active</span></td>
212
+ <td>
213
+ <div style="font-size: 12px;">Generating sales report</div>
214
+ <div style="font-size: 10px; color: var(--text-muted);">Started 45 mins ago</div>
215
+ </td>
216
+ <td>
217
+ <div style="display: flex; align-items: center; gap: 8px;">
218
+ <div style="width: 40px; height: 4px; background: var(--border); border-radius: 2px; overflow: hidden;">
219
+ <div style="width: 90%; height: 100%; background: var(--danger);"></div>
220
+ </div>
221
+ <span style="font-size: 11px;">90%</span>
222
+ </div>
223
+ </td>
224
+ <td>
225
+ <div style="font-size: 12px; font-weight: 600; color: var(--success);">94.1%</div>
226
+ <div style="font-size: 10px; color: var(--text-muted);">Success rate</div>
227
+ </td>
228
+ <td>In 4 hours</td>
229
+ <td>
230
+ <button class="btn btn-sm btn-secondary">Monitor</button>
231
+ </td>
232
+ </tr>
233
+ <tr>
234
+ <td>
235
+ <div style="display: flex; align-items: center; gap: 8px;">
236
+ <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>
237
+ <span style="font-weight: 500;">Diana</span>
238
+ </div>
239
+ </td>
240
+ <td><span class="badge badge-danger">Offline</span></td>
241
+ <td>
242
+ <div style="font-size: 12px; color: var(--text-muted);">Scheduled maintenance</div>
243
+ <div style="font-size: 10px; color: var(--text-muted);">Offline for 2 hours</div>
244
+ </td>
245
+ <td>
246
+ <div style="display: flex; align-items: center; gap: 8px;">
247
+ <div style="width: 40px; height: 4px; background: var(--border); border-radius: 2px; overflow: hidden;">
248
+ <div style="width: 0%; height: 100%; background: var(--text-muted);"></div>
249
+ </div>
250
+ <span style="font-size: 11px;">0%</span>
251
+ </div>
252
+ </td>
253
+ <td>
254
+ <div style="font-size: 12px; font-weight: 600; color: var(--success);">99.1%</div>
255
+ <div style="font-size: 10px; color: var(--text-muted);">Success rate</div>
256
+ </td>
257
+ <td>In 30 mins</td>
258
+ <td>
259
+ <button class="btn btn-sm btn-secondary" disabled>Offline</button>
260
+ </td>
261
+ </tr>
262
+ </tbody>
263
+ </table>
264
+ </div>
265
+ </div>
@@ -31,23 +31,28 @@ function layout_start(string $title = 'Dashboard', string $page = 'dashboard'):
31
31
  </div>
32
32
  <div class="nav">
33
33
  <div class="nav-sec">Overview</div>
34
- <a href="?page=dashboard" class="<?= $page === 'dashboard' ? 'active' : '' ?>">&#128202; <span>Dashboard</span></a>
35
- <div class="nav-sec">Manage</div>
36
- <a href="?page=agents" class="<?= $page === 'agents' ? 'active' : '' ?>">&#129302; <span>Agents</span></a>
37
- <a href="?page=users" class="<?= $page === 'users' ? 'active' : '' ?>">&#128101; <span>Users</span></a>
38
- <a href="?page=api-keys" class="<?= $page === 'api-keys' ? 'active' : '' ?>">&#128273; <span>API Keys</span></a>
39
- <a href="?page=vault" class="<?= $page === 'vault' ? 'active' : '' ?>">&#128274; <span>Vault</span></a>
40
- <a href="?page=skills" class="<?= $page === 'skills' ? 'active' : '' ?>">&#128268; <span>Skills</span></a>
34
+ <a href="?page=dashboard" class="<?= $page === 'dashboard' ? 'active' : '' ?>">📊 <span>Dashboard</span></a>
41
35
  <div class="nav-sec">Management</div>
42
- <a href="?page=messages" class="<?= $page === 'messages' ? 'active' : '' ?>">&#128231; <span>Messages</span></a>
43
- <a href="?page=guardrails" class="<?= $page === 'guardrails' ? 'active' : '' ?>">&#128737; <span>Guardrails</span></a>
44
- <a href="?page=journal" class="<?= $page === 'journal' ? 'active' : '' ?>">&#128214; <span>Journal</span></a>
45
- <div class="nav-sec">Admin</div>
46
- <a href="?page=dlp" class="<?= $page === 'dlp' ? 'active' : '' ?>">&#128274; <span>DLP</span></a>
47
- <a href="?page=compliance" class="<?= $page === 'compliance' ? 'active' : '' ?>">&#128196; <span>Compliance</span></a>
48
- <div class="nav-sec">System</div>
49
- <a href="?page=audit" class="<?= $page === 'audit' ? 'active' : '' ?>">&#128203; <span>Audit Log</span></a>
50
- <a href="?page=settings" class="<?= $page === 'settings' ? 'active' : '' ?>">&#9881;&#65039; <span>Settings</span></a>
36
+ <a href="?page=agents" class="<?= $page === 'agents' ? 'active' : '' ?>">🤖 <span>Agents</span></a>
37
+ <a href="?page=skills" class="<?= $page === 'skills' ? 'active' : '' ?>">🛠️ <span>Skills</span></a>
38
+ <a href="?page=community-skills" class="<?= $page === 'community-skills' ? 'active' : '' ?>">🏪 <span>Community Skills</span></a>
39
+ <a href="?page=skill-connections" class="<?= $page === 'skill-connections' ? 'active' : '' ?>">🔗 <span>Skill Connections</span></a>
40
+ <a href="?page=knowledge" class="<?= $page === 'knowledge' ? 'active' : '' ?>">📚 <span>Knowledge Bases</span></a>
41
+ <a href="?page=knowledge-contributions" class="<?= $page === 'knowledge-contributions' ? 'active' : '' ?>">📚 <span>Knowledge Hub</span></a>
42
+ <a href="?page=approvals" class="<?= $page === 'approvals' ? 'active' : '' ?>">✅ <span>Approvals</span></a>
43
+ <div class="nav-sec">Management</div>
44
+ <a href="?page=workforce" class="<?= $page === 'workforce' ? 'active' : '' ?>">🕐 <span>Workforce</span></a>
45
+ <a href="?page=messages" class="<?= $page === 'messages' ? 'active' : '' ?>">💬 <span>Messages</span></a>
46
+ <a href="?page=guardrails" class="<?= $page === 'guardrails' ? 'active' : '' ?>">🛡️ <span>Guardrails</span></a>
47
+ <a href="?page=journal" class="<?= $page === 'journal' ? 'active' : '' ?>">📖 <span>Journal</span></a>
48
+ <div class="nav-sec">Administration</div>
49
+ <a href="?page=dlp" class="<?= $page === 'dlp' ? 'active' : '' ?>">🔒 <span>DLP</span></a>
50
+ <a href="?page=compliance" class="<?= $page === 'compliance' ? 'active' : '' ?>">📋 <span>Compliance</span></a>
51
+ <a href="?page=domain-status" class="<?= $page === 'domain-status' ? 'active' : '' ?>">🛡️ <span>Domain</span></a>
52
+ <a href="?page=users" class="<?= $page === 'users' ? 'active' : '' ?>">👥 <span>Users</span></a>
53
+ <a href="?page=vault" class="<?= $page === 'vault' ? 'active' : '' ?>">🔐 <span>Vault</span></a>
54
+ <a href="?page=audit" class="<?= $page === 'audit' ? 'active' : '' ?>">📋 <span>Audit Log</span></a>
55
+ <a href="?page=settings" class="<?= $page === 'settings' ? 'active' : '' ?>">⚙️ <span>Settings</span></a>
51
56
  </div>
52
57
  <div class="sidebar-footer">
53
58
  <div style="color:var(--dim)"><?= e($user['name'] ?? '') ?></div>
@@ -686,7 +686,7 @@ if (!is_logged_in()) {
686
686
  }
687
687
 
688
688
  // Authenticated pages
689
- $validPages = ['dashboard', 'agents', 'agent-detail', 'users', 'api-keys', 'vault', 'skills', 'audit', 'settings', 'dlp', 'guardrails', 'journal', 'messages', 'compliance'];
689
+ $validPages = ['dashboard', 'agents', 'agent-detail', 'users', 'api-keys', 'vault', 'skills', 'audit', 'settings', 'dlp', 'guardrails', 'journal', 'messages', 'compliance', 'activity', 'approvals', 'community-skills', 'domain-status', 'knowledge', 'knowledge-contributions', 'skill-connections', 'workforce'];
690
690
  if (!in_array($page, $validPages)) {
691
691
  $page = 'dashboard';
692
692
  }
@@ -0,0 +1,35 @@
1
+ <?php
2
+ /**
3
+ * Activity Page — Real-time activity and tool usage
4
+ */
5
+
6
+ layout_start('Activity', 'activity');
7
+ ?>
8
+
9
+ <h2 class="title">Activity</h2>
10
+ <p class="desc">Real-time activity and tool usage across all agents</p>
11
+
12
+ <div class="tabs">
13
+ <div class="tab active">Events</div>
14
+ <div class="tab">Tool Calls</div>
15
+ </div>
16
+
17
+ <div class="card">
18
+ <div class="card-t">Recent Events</div>
19
+ <div class="empty">
20
+ <div class="empty-i">📋</div>
21
+ <p>No events recorded</p>
22
+ <small>Agent activity will appear here</small>
23
+ </div>
24
+ </div>
25
+
26
+ <div class="card" style="margin-top: 20px;">
27
+ <div class="card-t">Tool Usage</div>
28
+ <div class="empty">
29
+ <div class="empty-i">🛠️</div>
30
+ <p>No tool calls recorded</p>
31
+ <small>Tool usage statistics will appear here</small>
32
+ </div>
33
+ </div>
34
+
35
+ <?php layout_end(); ?>
@@ -0,0 +1,36 @@
1
+ <?php
2
+ /**
3
+ * Approvals Page — Pending approval requests
4
+ */
5
+
6
+ layout_start('Approvals', 'approvals');
7
+ ?>
8
+
9
+ <h2 class="title">Approvals</h2>
10
+ <p class="desc">Review and manage pending approval requests</p>
11
+
12
+ <div class="tabs">
13
+ <div class="tab active">Pending</div>
14
+ <div class="tab">Approved</div>
15
+ <div class="tab">Rejected</div>
16
+ </div>
17
+
18
+ <div class="card">
19
+ <div class="card-t">Pending Approvals</div>
20
+ <div class="empty">
21
+ <div class="empty-i">✅</div>
22
+ <p>No pending approvals</p>
23
+ <small>Agent approval requests will appear here</small>
24
+ </div>
25
+ </div>
26
+
27
+ <div class="card" style="margin-top: 20px;">
28
+ <div class="card-t">Approval History</div>
29
+ <div class="empty">
30
+ <div class="empty-i">📋</div>
31
+ <p>No approval history</p>
32
+ <small>Past approvals and rejections will appear here</small>
33
+ </div>
34
+ </div>
35
+
36
+ <?php layout_end(); ?>
@@ -0,0 +1,39 @@
1
+ <?php
2
+ /**
3
+ * Community Skills Page — Browse and install community skills
4
+ */
5
+
6
+ layout_start('Community Skills', 'community-skills');
7
+ ?>
8
+
9
+ <h2 class="title">Community Skills</h2>
10
+ <p class="desc">Browse and install skills shared by the community</p>
11
+
12
+ <div class="card">
13
+ <div class="card-t">Featured Skills</div>
14
+ <div class="empty">
15
+ <div class="empty-i">🏪</div>
16
+ <p>No community skills available</p>
17
+ <small>Community-shared skills will appear here</small>
18
+ </div>
19
+ </div>
20
+
21
+ <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 20px;">
22
+ <div class="card">
23
+ <div class="card-t">Popular Categories</div>
24
+ <div class="empty">
25
+ <div class="empty-i">🏷️</div>
26
+ <p>No categories</p>
27
+ </div>
28
+ </div>
29
+
30
+ <div class="card">
31
+ <div class="card-t">My Contributions</div>
32
+ <div class="empty">
33
+ <div class="empty-i">📤</div>
34
+ <p>No contributions</p>
35
+ </div>
36
+ </div>
37
+ </div>
38
+
39
+ <?php layout_end(); ?>
@@ -0,0 +1,87 @@
1
+ <?php
2
+ /**
3
+ * Domain Status Page — Domain configuration and health status
4
+ */
5
+
6
+ layout_start('Domain Status', 'domain-status');
7
+ ?>
8
+
9
+ <h2 class="title">Domain Status</h2>
10
+ <p class="desc">Monitor domain configuration and security status</p>
11
+
12
+ <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 20px;">
13
+ <div class="card">
14
+ <div class="card-t">Domain Configuration</div>
15
+ <div style="padding: 20px;">
16
+ <div class="status-item">
17
+ <span class="status-indicator status-success"></span>
18
+ <span>Domain connected</span>
19
+ </div>
20
+ <div class="status-item">
21
+ <span class="status-indicator status-success"></span>
22
+ <span>DNS configured</span>
23
+ </div>
24
+ <div class="status-item">
25
+ <span class="status-indicator status-success"></span>
26
+ <span>SSL certificate valid</span>
27
+ </div>
28
+ </div>
29
+ </div>
30
+
31
+ <div class="card">
32
+ <div class="card-t">Security Status</div>
33
+ <div style="padding: 20px;">
34
+ <div class="status-item">
35
+ <span class="status-indicator status-success"></span>
36
+ <span>DKIM configured</span>
37
+ </div>
38
+ <div class="status-item">
39
+ <span class="status-indicator status-success"></span>
40
+ <span>SPF record valid</span>
41
+ </div>
42
+ <div class="status-item">
43
+ <span class="status-indicator status-warning"></span>
44
+ <span>DMARC recommended</span>
45
+ </div>
46
+ </div>
47
+ </div>
48
+ </div>
49
+
50
+ <div class="card">
51
+ <div class="card-t">Domain Health Monitoring</div>
52
+ <div class="empty">
53
+ <div class="empty-i">📊</div>
54
+ <p>Domain monitoring dashboard</p>
55
+ <small>Real-time domain health metrics will appear here</small>
56
+ </div>
57
+ </div>
58
+
59
+ <style>
60
+ .status-item {
61
+ display: flex;
62
+ align-items: center;
63
+ gap: 12px;
64
+ padding: 8px 0;
65
+ border-bottom: 1px solid var(--border);
66
+ }
67
+ .status-item:last-child {
68
+ border-bottom: none;
69
+ }
70
+ .status-indicator {
71
+ width: 8px;
72
+ height: 8px;
73
+ border-radius: 50%;
74
+ flex-shrink: 0;
75
+ }
76
+ .status-success {
77
+ background: var(--success);
78
+ }
79
+ .status-warning {
80
+ background: var(--warning);
81
+ }
82
+ .status-danger {
83
+ background: var(--danger);
84
+ }
85
+ </style>
86
+
87
+ <?php layout_end(); ?>
@@ -0,0 +1,47 @@
1
+ <?php
2
+ /**
3
+ * Knowledge Hub Page — Community knowledge sharing and contributions
4
+ */
5
+
6
+ layout_start('Knowledge Hub', 'knowledge-contributions');
7
+ ?>
8
+
9
+ <h2 class="title">Knowledge Hub</h2>
10
+ <p class="desc">Share knowledge and learn from the community</p>
11
+
12
+ <div class="tabs">
13
+ <div class="tab active">Community</div>
14
+ <div class="tab">My Contributions</div>
15
+ <div class="tab">Bookmarks</div>
16
+ </div>
17
+
18
+ <div class="card">
19
+ <div class="card-t">Featured Knowledge</div>
20
+ <div class="empty">
21
+ <div class="empty-i">🌟</div>
22
+ <p>No featured knowledge available</p>
23
+ <small>Community-shared knowledge will appear here</small>
24
+ </div>
25
+ </div>
26
+
27
+ <div style="display: grid; grid-template-columns: 2fr 1fr; gap: 20px; margin-top: 20px;">
28
+ <div class="card">
29
+ <div class="card-t">Latest Contributions</div>
30
+ <div class="empty">
31
+ <div class="empty-i">📝</div>
32
+ <p>No contributions yet</p>
33
+ <small>Recent knowledge contributions will appear here</small>
34
+ </div>
35
+ </div>
36
+
37
+ <div class="card">
38
+ <div class="card-t">Trending Topics</div>
39
+ <div class="empty">
40
+ <div class="empty-i">🔥</div>
41
+ <p>No trending topics</p>
42
+ <small>Popular knowledge topics will appear here</small>
43
+ </div>
44
+ </div>
45
+ </div>
46
+
47
+ <?php layout_end(); ?>
@@ -0,0 +1,43 @@
1
+ <?php
2
+ /**
3
+ * Knowledge Bases Page — Manage knowledge bases and documents
4
+ */
5
+
6
+ layout_start('Knowledge Bases', 'knowledge');
7
+ ?>
8
+
9
+ <h2 class="title">Knowledge Bases</h2>
10
+ <p class="desc">Manage and organize knowledge bases for your agents</p>
11
+
12
+ <div style="margin-bottom: 20px;">
13
+ <button class="btn btn-primary">+ Create Knowledge Base</button>
14
+ </div>
15
+
16
+ <div class="card">
17
+ <div class="card-t">Active Knowledge Bases</div>
18
+ <div class="empty">
19
+ <div class="empty-i">📚</div>
20
+ <p>No knowledge bases created</p>
21
+ <small>Create your first knowledge base to get started</small>
22
+ </div>
23
+ </div>
24
+
25
+ <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 20px;">
26
+ <div class="card">
27
+ <div class="card-t">Recent Activity</div>
28
+ <div class="empty">
29
+ <div class="empty-i">📈</div>
30
+ <p>No recent activity</p>
31
+ </div>
32
+ </div>
33
+
34
+ <div class="card">
35
+ <div class="card-t">Knowledge Stats</div>
36
+ <div class="empty">
37
+ <div class="empty-i">📊</div>
38
+ <p>No statistics available</p>
39
+ </div>
40
+ </div>
41
+ </div>
42
+
43
+ <?php layout_end(); ?>