@agenticmail/enterprise 0.4.3 → 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/package.json +1 -1
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
<div class="page-header">
|
|
2
|
+
<h1>Skill Connections</h1>
|
|
3
|
+
<p>Visualize and manage relationships between skills</p>
|
|
4
|
+
</div>
|
|
5
|
+
|
|
6
|
+
<div style="margin-bottom: 20px;">
|
|
7
|
+
<button class="btn btn-primary">+ Create Connection</button>
|
|
8
|
+
<button class="btn btn-secondary" style="margin-left: 10px;">View Network</button>
|
|
9
|
+
</div>
|
|
10
|
+
|
|
11
|
+
<div class="card">
|
|
12
|
+
<h3>Skill Network Overview</h3>
|
|
13
|
+
<% if @connections.empty? %>
|
|
14
|
+
<div class="empty"><span class="icon">🔗</span>No skill connections configured<br><small>Create connections between skills to enable complex workflows</small></div>
|
|
15
|
+
<% else %>
|
|
16
|
+
<div class="table-wrap">
|
|
17
|
+
<table>
|
|
18
|
+
<thead><tr><th>Source</th><th>Target</th><th>Type</th><th>Status</th><th>Actions</th></tr></thead>
|
|
19
|
+
<tbody>
|
|
20
|
+
<% @connections.each do |connection| %>
|
|
21
|
+
<tr>
|
|
22
|
+
<td><%= connection['source'] %></td>
|
|
23
|
+
<td><%= connection['target'] %></td>
|
|
24
|
+
<td><span class="badge badge-info"><%= connection['type'] %></span></td>
|
|
25
|
+
<td><span class="badge badge-<%= connection['status'] == 'active' ? 'success' : 'warning' %>"><%= connection['status'] %></span></td>
|
|
26
|
+
<td>
|
|
27
|
+
<button class="btn btn-secondary btn-sm">Edit</button>
|
|
28
|
+
<button class="btn btn-danger btn-sm">Delete</button>
|
|
29
|
+
</td>
|
|
30
|
+
</tr>
|
|
31
|
+
<% end %>
|
|
32
|
+
</tbody>
|
|
33
|
+
</table>
|
|
34
|
+
</div>
|
|
35
|
+
<% end %>
|
|
36
|
+
</div>
|
|
37
|
+
|
|
38
|
+
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 20px;">
|
|
39
|
+
<div class="card">
|
|
40
|
+
<h3>Connection Types</h3>
|
|
41
|
+
<div style="padding: 20px;">
|
|
42
|
+
<div class="connection-type">
|
|
43
|
+
<span class="connection-indicator depends"></span>
|
|
44
|
+
<span>Dependencies</span>
|
|
45
|
+
<span class="badge"><%= @connection_types['dependencies'] %></span>
|
|
46
|
+
</div>
|
|
47
|
+
<div class="connection-type">
|
|
48
|
+
<span class="connection-indicator enhances"></span>
|
|
49
|
+
<span>Enhancements</span>
|
|
50
|
+
<span class="badge"><%= @connection_types['enhancements'] %></span>
|
|
51
|
+
</div>
|
|
52
|
+
<div class="connection-type">
|
|
53
|
+
<span class="connection-indicator conflicts"></span>
|
|
54
|
+
<span>Conflicts</span>
|
|
55
|
+
<span class="badge"><%= @connection_types['conflicts'] %></span>
|
|
56
|
+
</div>
|
|
57
|
+
</div>
|
|
58
|
+
</div>
|
|
59
|
+
|
|
60
|
+
<div class="card">
|
|
61
|
+
<h3>Recent Changes</h3>
|
|
62
|
+
<% if @recent_changes.empty? %>
|
|
63
|
+
<div class="empty"><span class="icon">📋</span>No recent changes<br><small>Connection updates will appear here</small></div>
|
|
64
|
+
<% else %>
|
|
65
|
+
<% @recent_changes.each do |change| %>
|
|
66
|
+
<div style="padding: 8px 0; border-bottom: 1px solid var(--border);">
|
|
67
|
+
<strong><%= change['action'] %></strong>
|
|
68
|
+
<small style="color:var(--text-muted); display: block;"><%= change['timestamp'] %></small>
|
|
69
|
+
</div>
|
|
70
|
+
<% end %>
|
|
71
|
+
<% end %>
|
|
72
|
+
</div>
|
|
73
|
+
</div>
|
|
74
|
+
|
|
75
|
+
<style>
|
|
76
|
+
.connection-type {
|
|
77
|
+
display: flex;
|
|
78
|
+
align-items: center;
|
|
79
|
+
gap: 12px;
|
|
80
|
+
padding: 12px 0;
|
|
81
|
+
border-bottom: 1px solid var(--border);
|
|
82
|
+
}
|
|
83
|
+
.connection-type:last-child {
|
|
84
|
+
border-bottom: none;
|
|
85
|
+
}
|
|
86
|
+
.connection-indicator {
|
|
87
|
+
width: 12px;
|
|
88
|
+
height: 12px;
|
|
89
|
+
border-radius: 3px;
|
|
90
|
+
flex-shrink: 0;
|
|
91
|
+
}
|
|
92
|
+
.connection-indicator.depends {
|
|
93
|
+
background: var(--info);
|
|
94
|
+
}
|
|
95
|
+
.connection-indicator.enhances {
|
|
96
|
+
background: var(--success);
|
|
97
|
+
}
|
|
98
|
+
.connection-indicator.conflicts {
|
|
99
|
+
background: var(--warning);
|
|
100
|
+
}
|
|
101
|
+
.connection-type .badge {
|
|
102
|
+
margin-left: auto;
|
|
103
|
+
background: var(--bg-tertiary);
|
|
104
|
+
color: var(--text-muted);
|
|
105
|
+
padding: 2px 8px;
|
|
106
|
+
border-radius: 12px;
|
|
107
|
+
font-size: 12px;
|
|
108
|
+
}
|
|
109
|
+
</style>
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
<div class="page-header">
|
|
2
|
+
<h1>Workforce</h1>
|
|
3
|
+
<p>Monitor agent schedules, workloads, and availability</p>
|
|
4
|
+
</div>
|
|
5
|
+
|
|
6
|
+
<div style="display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 20px; margin-bottom: 20px;">
|
|
7
|
+
<div class="stat-card">
|
|
8
|
+
<div class="stat-icon">🤖</div>
|
|
9
|
+
<div class="stat-value"><%= @stats['active_agents'] %></div>
|
|
10
|
+
<div class="stat-label">Active Agents</div>
|
|
11
|
+
</div>
|
|
12
|
+
<div class="stat-card">
|
|
13
|
+
<div class="stat-icon">⏳</div>
|
|
14
|
+
<div class="stat-value"><%= @stats['pending_tasks'] %></div>
|
|
15
|
+
<div class="stat-label">Pending Tasks</div>
|
|
16
|
+
</div>
|
|
17
|
+
<div class="stat-card">
|
|
18
|
+
<div class="stat-icon">📊</div>
|
|
19
|
+
<div class="stat-value"><%= @stats['utilization'] %>%</div>
|
|
20
|
+
<div class="stat-label">Utilization</div>
|
|
21
|
+
</div>
|
|
22
|
+
</div>
|
|
23
|
+
|
|
24
|
+
<div class="tabs">
|
|
25
|
+
<div class="tab active">Schedule</div>
|
|
26
|
+
<div class="tab">Workload</div>
|
|
27
|
+
<div class="tab">Analytics</div>
|
|
28
|
+
</div>
|
|
29
|
+
|
|
30
|
+
<div class="card">
|
|
31
|
+
<h3>Agent Schedule</h3>
|
|
32
|
+
<% if @schedules.empty? %>
|
|
33
|
+
<div class="empty"><span class="icon">🕐</span>No scheduled tasks<br><small>Agent schedules and time allocations will appear here</small></div>
|
|
34
|
+
<% else %>
|
|
35
|
+
<div class="table-wrap">
|
|
36
|
+
<table>
|
|
37
|
+
<thead><tr><th>Agent</th><th>Task</th><th>Start Time</th><th>End Time</th><th>Status</th></tr></thead>
|
|
38
|
+
<tbody>
|
|
39
|
+
<% @schedules.each do |schedule| %>
|
|
40
|
+
<tr>
|
|
41
|
+
<td><%= schedule['agent'] %></td>
|
|
42
|
+
<td><%= schedule['task'] %></td>
|
|
43
|
+
<td><%= schedule['start_time'] %></td>
|
|
44
|
+
<td><%= schedule['end_time'] %></td>
|
|
45
|
+
<td><span class="badge badge-<%= schedule['status'] == 'active' ? 'success' : 'info' %>"><%= schedule['status'] %></span></td>
|
|
46
|
+
</tr>
|
|
47
|
+
<% end %>
|
|
48
|
+
</tbody>
|
|
49
|
+
</table>
|
|
50
|
+
</div>
|
|
51
|
+
<% end %>
|
|
52
|
+
</div>
|
|
53
|
+
|
|
54
|
+
<div style="display: grid; grid-template-columns: 2fr 1fr; gap: 20px; margin-top: 20px;">
|
|
55
|
+
<div class="card">
|
|
56
|
+
<h3>Workload Distribution</h3>
|
|
57
|
+
<% if @workload_data.empty? %>
|
|
58
|
+
<div class="empty"><span class="icon">⚖️</span>No workload data<br><small>Agent workload distribution will appear here</small></div>
|
|
59
|
+
<% else %>
|
|
60
|
+
<% @workload_data.each do |workload| %>
|
|
61
|
+
<div style="padding: 8px 0; border-bottom: 1px solid var(--border);">
|
|
62
|
+
<div style="display: flex; justify-content: space-between;">
|
|
63
|
+
<strong><%= workload['agent'] %></strong>
|
|
64
|
+
<span><%= workload['percentage'] %>%</span>
|
|
65
|
+
</div>
|
|
66
|
+
<div class="progress-bar" style="margin-top: 4px;">
|
|
67
|
+
<div class="progress-fill" style="width: <%= workload['percentage'] %>%;"></div>
|
|
68
|
+
</div>
|
|
69
|
+
</div>
|
|
70
|
+
<% end %>
|
|
71
|
+
<% end %>
|
|
72
|
+
</div>
|
|
73
|
+
|
|
74
|
+
<div class="card">
|
|
75
|
+
<h3>Performance Metrics</h3>
|
|
76
|
+
<% if @performance_metrics.empty? %>
|
|
77
|
+
<div class="empty"><span class="icon">📈</span>No metrics available<br><small>Performance analytics will appear here</small></div>
|
|
78
|
+
<% else %>
|
|
79
|
+
<% @performance_metrics.each do |metric| %>
|
|
80
|
+
<div style="padding: 8px 0; border-bottom: 1px solid var(--border);">
|
|
81
|
+
<div style="display: flex; justify-content: space-between;">
|
|
82
|
+
<span><%= metric['name'] %></span>
|
|
83
|
+
<strong><%= metric['value'] %></strong>
|
|
84
|
+
</div>
|
|
85
|
+
</div>
|
|
86
|
+
<% end %>
|
|
87
|
+
<% end %>
|
|
88
|
+
</div>
|
|
89
|
+
</div>
|
|
90
|
+
|
|
91
|
+
<style>
|
|
92
|
+
.stat-card {
|
|
93
|
+
background: var(--bg-card);
|
|
94
|
+
border: 1px solid var(--border);
|
|
95
|
+
border-radius: var(--radius);
|
|
96
|
+
padding: 20px;
|
|
97
|
+
text-align: center;
|
|
98
|
+
}
|
|
99
|
+
.stat-icon {
|
|
100
|
+
font-size: 24px;
|
|
101
|
+
margin-bottom: 8px;
|
|
102
|
+
}
|
|
103
|
+
.stat-value {
|
|
104
|
+
font-size: 24px;
|
|
105
|
+
font-weight: 700;
|
|
106
|
+
color: var(--accent-text);
|
|
107
|
+
margin-bottom: 4px;
|
|
108
|
+
}
|
|
109
|
+
.stat-label {
|
|
110
|
+
font-size: 13px;
|
|
111
|
+
color: var(--text-muted);
|
|
112
|
+
}
|
|
113
|
+
.progress-bar {
|
|
114
|
+
height: 6px;
|
|
115
|
+
background: var(--bg-tertiary);
|
|
116
|
+
border-radius: 3px;
|
|
117
|
+
overflow: hidden;
|
|
118
|
+
}
|
|
119
|
+
.progress-fill {
|
|
120
|
+
height: 100%;
|
|
121
|
+
background: var(--accent);
|
|
122
|
+
transition: width 0.3s ease;
|
|
123
|
+
}
|
|
124
|
+
</style>
|
package/dashboards/ruby/app.rb
CHANGED
|
@@ -55,6 +55,14 @@ require_relative 'routes/guardrails'
|
|
|
55
55
|
require_relative 'routes/journal'
|
|
56
56
|
require_relative 'routes/dlp'
|
|
57
57
|
require_relative 'routes/compliance'
|
|
58
|
+
require_relative 'routes/activity'
|
|
59
|
+
require_relative 'routes/approvals'
|
|
60
|
+
require_relative 'routes/community_skills'
|
|
61
|
+
require_relative 'routes/domain_status'
|
|
62
|
+
require_relative 'routes/knowledge'
|
|
63
|
+
require_relative 'routes/knowledge_contributions'
|
|
64
|
+
require_relative 'routes/skill_connections'
|
|
65
|
+
require_relative 'routes/workforce'
|
|
58
66
|
|
|
59
67
|
# =============================================================================
|
|
60
68
|
# Startup banner
|