@agenticmail/enterprise 0.4.3 → 0.5.2
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-ISOODMEF.js +1943 -0
- package/dist/chunk-PQADDAC2.js +765 -0
- package/dist/chunk-UPU23ZRG.js +154 -0
- package/dist/cli-recover-X4MKJQVV.js +97 -0
- package/dist/cli-verify-YT7IADFX.js +98 -0
- package/dist/cli.js +3 -3
- package/dist/domain-lock-Z5A74VJK.js +7 -0
- package/dist/index.js +2 -2
- package/dist/server-6LWKND7R.js +11 -0
- package/dist/setup-5CVRQ5ES.js +20 -0
- package/package.json +1 -1
- package/src/domain-lock/index.ts +1 -1
- package/src/setup/registration.ts +4 -3
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
using AgenticMailDashboard.Services;
|
|
2
|
+
using static AgenticMailDashboard.Services.HtmlBuilder;
|
|
3
|
+
|
|
4
|
+
namespace AgenticMailDashboard.Routes;
|
|
5
|
+
|
|
6
|
+
public static class DomainStatusRoutes
|
|
7
|
+
{
|
|
8
|
+
public static void Map(WebApplication app)
|
|
9
|
+
{
|
|
10
|
+
app.MapGet("/domain-status", (HttpContext ctx) =>
|
|
11
|
+
{
|
|
12
|
+
var html = @"<div class='page-header'>
|
|
13
|
+
<h1>Domain Status</h1>
|
|
14
|
+
<p>Monitor domain configuration and security status</p>
|
|
15
|
+
</div>
|
|
16
|
+
|
|
17
|
+
<style>
|
|
18
|
+
.status-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}
|
|
19
|
+
.status-item{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--border)}
|
|
20
|
+
.status-item:last-child{border-bottom:none}
|
|
21
|
+
.status-indicator{width:8px;height:8px;border-radius:50%;flex-shrink:0}
|
|
22
|
+
.status-success{background:var(--success)}
|
|
23
|
+
.status-warning{background:var(--warning)}
|
|
24
|
+
</style>
|
|
25
|
+
|
|
26
|
+
<div class='status-grid'>
|
|
27
|
+
<div class='card'>
|
|
28
|
+
<h3>Domain Configuration</h3>
|
|
29
|
+
<div class='status-item'><span class='status-indicator status-success'></span><span>Domain connected</span></div>
|
|
30
|
+
<div class='status-item'><span class='status-indicator status-success'></span><span>DNS configured</span></div>
|
|
31
|
+
<div class='status-item'><span class='status-indicator status-success'></span><span>SSL certificate valid</span></div>
|
|
32
|
+
</div>
|
|
33
|
+
<div class='card'>
|
|
34
|
+
<h3>Security Status</h3>
|
|
35
|
+
<div class='status-item'><span class='status-indicator status-success'></span><span>DKIM configured</span></div>
|
|
36
|
+
<div class='status-item'><span class='status-indicator status-success'></span><span>SPF record valid</span></div>
|
|
37
|
+
<div class='status-item'><span class='status-indicator status-warning'></span><span>DMARC recommended</span></div>
|
|
38
|
+
</div>
|
|
39
|
+
</div>
|
|
40
|
+
|
|
41
|
+
<div class='card'>
|
|
42
|
+
<h3>Domain Health Monitoring</h3>
|
|
43
|
+
<div class='empty-state'><div style='font-size:36px;margin-bottom:10px'>📈</div>Domain monitoring dashboard<br><small>Real-time domain health metrics will appear here</small></div>
|
|
44
|
+
</div>";
|
|
45
|
+
|
|
46
|
+
return Results.Content(Page(ctx, "/domain-status", html), "text/html");
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
using AgenticMailDashboard.Services;
|
|
2
|
+
using static AgenticMailDashboard.Services.HtmlBuilder;
|
|
3
|
+
|
|
4
|
+
namespace AgenticMailDashboard.Routes;
|
|
5
|
+
|
|
6
|
+
public static class KnowledgeContributionRoutes
|
|
7
|
+
{
|
|
8
|
+
public static void Map(WebApplication app)
|
|
9
|
+
{
|
|
10
|
+
app.MapGet("/knowledge-contributions", (HttpContext ctx) =>
|
|
11
|
+
{
|
|
12
|
+
var html = @"<div class='page-header'>
|
|
13
|
+
<h1>Knowledge Hub</h1>
|
|
14
|
+
<p>Share knowledge and learn from the community</p>
|
|
15
|
+
</div>
|
|
16
|
+
|
|
17
|
+
<div style='margin-bottom:20px'>
|
|
18
|
+
<button class='btn btn-primary'>Community</button>
|
|
19
|
+
<button class='btn'>My Contributions</button>
|
|
20
|
+
<button class='btn'>Bookmarks</button>
|
|
21
|
+
</div>
|
|
22
|
+
|
|
23
|
+
<div class='card'>
|
|
24
|
+
<h3>Featured Knowledge</h3>
|
|
25
|
+
<div class='empty-state'><div style='font-size:36px;margin-bottom:10px'>🌟</div>No featured knowledge available<br><small>Community-shared knowledge will appear here</small></div>
|
|
26
|
+
</div>
|
|
27
|
+
|
|
28
|
+
<div style='display:grid;grid-template-columns:2fr 1fr;gap:20px;margin-top:20px'>
|
|
29
|
+
<div class='card'>
|
|
30
|
+
<h3>Latest Contributions</h3>
|
|
31
|
+
<div class='empty-state'><div style='font-size:36px;margin-bottom:10px'>📝</div>No contributions yet<br><small>Recent knowledge contributions will appear here</small></div>
|
|
32
|
+
</div>
|
|
33
|
+
<div class='card'>
|
|
34
|
+
<h3>Trending Topics</h3>
|
|
35
|
+
<div class='empty-state'><div style='font-size:36px;margin-bottom:10px'>🔥</div>No trending topics<br><small>Popular knowledge topics will appear here</small></div>
|
|
36
|
+
</div>
|
|
37
|
+
</div>";
|
|
38
|
+
|
|
39
|
+
return Results.Content(Page(ctx, "/knowledge-contributions", html), "text/html");
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
using AgenticMailDashboard.Services;
|
|
2
|
+
using static AgenticMailDashboard.Services.HtmlBuilder;
|
|
3
|
+
|
|
4
|
+
namespace AgenticMailDashboard.Routes;
|
|
5
|
+
|
|
6
|
+
public static class KnowledgeRoutes
|
|
7
|
+
{
|
|
8
|
+
public static void Map(WebApplication app)
|
|
9
|
+
{
|
|
10
|
+
app.MapGet("/knowledge", (HttpContext ctx) =>
|
|
11
|
+
{
|
|
12
|
+
var html = @"<div class='page-header'>
|
|
13
|
+
<h1>Knowledge Bases</h1>
|
|
14
|
+
<p>Manage and organize knowledge bases for your agents</p>
|
|
15
|
+
</div>
|
|
16
|
+
|
|
17
|
+
<div style='margin-bottom:20px'>
|
|
18
|
+
<button class='btn btn-primary'>+ Create Knowledge Base</button>
|
|
19
|
+
</div>
|
|
20
|
+
|
|
21
|
+
<div class='card'>
|
|
22
|
+
<h3>Active Knowledge Bases</h3>
|
|
23
|
+
<div class='empty-state'><div style='font-size:36px;margin-bottom:10px'>📚</div>No knowledge bases created<br><small>Create your first knowledge base to get started</small></div>
|
|
24
|
+
</div>
|
|
25
|
+
|
|
26
|
+
<div style='display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px'>
|
|
27
|
+
<div class='card'>
|
|
28
|
+
<h3>Recent Activity</h3>
|
|
29
|
+
<div class='empty-state'><div style='font-size:36px;margin-bottom:10px'>📈</div>No recent activity</div>
|
|
30
|
+
</div>
|
|
31
|
+
<div class='card'>
|
|
32
|
+
<h3>Knowledge Stats</h3>
|
|
33
|
+
<div class='empty-state'><div style='font-size:36px;margin-bottom:10px'>📊</div>No statistics available</div>
|
|
34
|
+
</div>
|
|
35
|
+
</div>";
|
|
36
|
+
|
|
37
|
+
return Results.Content(Page(ctx, "/knowledge", html), "text/html");
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
using AgenticMailDashboard.Services;
|
|
2
|
+
using static AgenticMailDashboard.Services.HtmlBuilder;
|
|
3
|
+
|
|
4
|
+
namespace AgenticMailDashboard.Routes;
|
|
5
|
+
|
|
6
|
+
public static class SkillConnectionRoutes
|
|
7
|
+
{
|
|
8
|
+
public static void Map(WebApplication app)
|
|
9
|
+
{
|
|
10
|
+
app.MapGet("/skill-connections", (HttpContext ctx) =>
|
|
11
|
+
{
|
|
12
|
+
var html = @"<div class='page-header'>
|
|
13
|
+
<h1>Skill Connections</h1>
|
|
14
|
+
<p>Visualize and manage relationships between skills</p>
|
|
15
|
+
</div>
|
|
16
|
+
|
|
17
|
+
<style>
|
|
18
|
+
.connection-type{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}
|
|
19
|
+
.connection-type:last-child{border-bottom:none}
|
|
20
|
+
.connection-indicator{width:12px;height:12px;border-radius:3px;flex-shrink:0}
|
|
21
|
+
.connection-depends{background:#06b6d4}
|
|
22
|
+
.connection-enhances{background:var(--success)}
|
|
23
|
+
.connection-conflicts{background:var(--warning)}
|
|
24
|
+
</style>
|
|
25
|
+
|
|
26
|
+
<div style='margin-bottom:20px'>
|
|
27
|
+
<button class='btn btn-primary'>+ Create Connection</button>
|
|
28
|
+
<button class='btn' style='margin-left:10px'>View Network</button>
|
|
29
|
+
</div>
|
|
30
|
+
|
|
31
|
+
<div class='card'>
|
|
32
|
+
<h3>Skill Network Overview</h3>
|
|
33
|
+
<div class='empty-state'><div style='font-size:36px;margin-bottom:10px'>🔗</div>No skill connections configured<br><small>Create connections between skills to enable complex workflows</small></div>
|
|
34
|
+
</div>
|
|
35
|
+
|
|
36
|
+
<div style='display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px'>
|
|
37
|
+
<div class='card'>
|
|
38
|
+
<h3>Connection Types</h3>
|
|
39
|
+
<div class='connection-type'><span class='connection-indicator connection-depends'></span><span>Dependencies</span><span class='badge' style='margin-left:auto'>0</span></div>
|
|
40
|
+
<div class='connection-type'><span class='connection-indicator connection-enhances'></span><span>Enhancements</span><span class='badge' style='margin-left:auto'>0</span></div>
|
|
41
|
+
<div class='connection-type'><span class='connection-indicator connection-conflicts'></span><span>Conflicts</span><span class='badge' style='margin-left:auto'>0</span></div>
|
|
42
|
+
</div>
|
|
43
|
+
<div class='card'>
|
|
44
|
+
<h3>Recent Changes</h3>
|
|
45
|
+
<div class='empty-state'><div style='font-size:36px;margin-bottom:10px'>📋</div>No recent changes<br><small>Connection updates will appear here</small></div>
|
|
46
|
+
</div>
|
|
47
|
+
</div>";
|
|
48
|
+
|
|
49
|
+
return Results.Content(Page(ctx, "/skill-connections", html), "text/html");
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
using AgenticMailDashboard.Services;
|
|
2
|
+
using static AgenticMailDashboard.Services.HtmlBuilder;
|
|
3
|
+
|
|
4
|
+
namespace AgenticMailDashboard.Routes;
|
|
5
|
+
|
|
6
|
+
public static class WorkforceRoutes
|
|
7
|
+
{
|
|
8
|
+
public static void Map(WebApplication app)
|
|
9
|
+
{
|
|
10
|
+
app.MapGet("/workforce", (HttpContext ctx) =>
|
|
11
|
+
{
|
|
12
|
+
var html = @"<div class='page-header'>
|
|
13
|
+
<h1>Workforce</h1>
|
|
14
|
+
<p>Monitor agent schedules, workloads, and availability</p>
|
|
15
|
+
</div>
|
|
16
|
+
|
|
17
|
+
<style>
|
|
18
|
+
.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:20px;text-align:center}
|
|
19
|
+
.stat-icon{font-size:24px;margin-bottom:8px}
|
|
20
|
+
.stat-value{font-size:24px;font-weight:700;color:var(--primary);margin-bottom:4px}
|
|
21
|
+
.stat-label{font-size:13px;color:var(--text-muted)}
|
|
22
|
+
</style>
|
|
23
|
+
|
|
24
|
+
<div style='display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;margin-bottom:20px'>
|
|
25
|
+
<div class='stat-card'><div class='stat-icon'>🤖</div><div class='stat-value'>0</div><div class='stat-label'>Active Agents</div></div>
|
|
26
|
+
<div class='stat-card'><div class='stat-icon'>⏳</div><div class='stat-value'>0</div><div class='stat-label'>Pending Tasks</div></div>
|
|
27
|
+
<div class='stat-card'><div class='stat-icon'>📊</div><div class='stat-value'>0%</div><div class='stat-label'>Utilization</div></div>
|
|
28
|
+
</div>
|
|
29
|
+
|
|
30
|
+
<div style='margin-bottom:20px'>
|
|
31
|
+
<button class='btn btn-primary'>Schedule</button>
|
|
32
|
+
<button class='btn'>Workload</button>
|
|
33
|
+
<button class='btn'>Analytics</button>
|
|
34
|
+
</div>
|
|
35
|
+
|
|
36
|
+
<div class='card'>
|
|
37
|
+
<h3>Agent Schedule</h3>
|
|
38
|
+
<div class='empty-state'><div style='font-size:36px;margin-bottom:10px'>🕐</div>No scheduled tasks<br><small>Agent schedules and time allocations will appear here</small></div>
|
|
39
|
+
</div>
|
|
40
|
+
|
|
41
|
+
<div style='display:grid;grid-template-columns:2fr 1fr;gap:20px;margin-top:20px'>
|
|
42
|
+
<div class='card'>
|
|
43
|
+
<h3>Workload Distribution</h3>
|
|
44
|
+
<div class='empty-state'><div style='font-size:36px;margin-bottom:10px'>⚖️</div>No workload data<br><small>Agent workload distribution will appear here</small></div>
|
|
45
|
+
</div>
|
|
46
|
+
<div class='card'>
|
|
47
|
+
<h3>Performance Metrics</h3>
|
|
48
|
+
<div class='empty-state'><div style='font-size:36px;margin-bottom:10px'>📈</div>No metrics available<br><small>Performance analytics will appear here</small></div>
|
|
49
|
+
</div>
|
|
50
|
+
</div>";
|
|
51
|
+
|
|
52
|
+
return Results.Content(Page(ctx, "/workforce", html), "text/html");
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
}
|
|
@@ -199,19 +199,28 @@ public static class HtmlBuilder
|
|
|
199
199
|
<nav class='sidebar-nav'>
|
|
200
200
|
{NavItem("/", "📊", "Dashboard", activePath)}
|
|
201
201
|
{NavItem("/agents", "🤖", "Agents", activePath)}
|
|
202
|
-
{NavItem("/
|
|
203
|
-
{NavItem("/
|
|
204
|
-
{NavItem("/
|
|
205
|
-
{NavItem("/
|
|
206
|
-
{NavItem("/
|
|
202
|
+
{NavItem("/skills", "⚡", "Skills", activePath)}
|
|
203
|
+
{NavItem("/community-skills", "🏪", "Community Skills", activePath)}
|
|
204
|
+
{NavItem("/skill-connections", "🔗", "Skill Connections", activePath)}
|
|
205
|
+
{NavItem("/knowledge", "📚", "Knowledge Bases", activePath)}
|
|
206
|
+
{NavItem("/knowledge-contributions", "📚", "Knowledge Hub", activePath)}
|
|
207
|
+
{NavItem("/approvals", "✅", "Approvals", activePath)}
|
|
207
208
|
<div style='padding:12px 16px 4px;font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted)'>Management</div>
|
|
209
|
+
{NavItem("/workforce", "🕐", "Workforce", activePath)}
|
|
208
210
|
{NavItem("/messages", "✉️", "Messages", activePath)}
|
|
209
211
|
{NavItem("/guardrails", "🛡", "Guardrails", activePath)}
|
|
210
212
|
{NavItem("/journal", "📖", "Journal", activePath)}
|
|
211
|
-
|
|
212
|
-
|
|
213
|
+
<div style='padding:12px 16px 4px;font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted)'>Security</div>
|
|
214
|
+
{NavItem("/dlp", "🛡", "DLP", activePath)}
|
|
215
|
+
{NavItem("/compliance", "📋", "Compliance", activePath)}
|
|
216
|
+
{NavItem("/domain-status", "🛡", "Domain", activePath)}
|
|
217
|
+
<div style='padding:12px 16px 4px;font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted)'>Administration</div>
|
|
218
|
+
{NavItem("/users", "👥", "Users", activePath)}
|
|
213
219
|
{NavItem("/vault", "🔐", "Vault", activePath)}
|
|
214
|
-
{NavItem("/
|
|
220
|
+
{NavItem("/api-keys", "🔑", "API Keys", activePath)}
|
|
221
|
+
{NavItem("/audit", "📜", "Audit Log", activePath)}
|
|
222
|
+
{NavItem("/settings", "⚙️", "Settings", activePath)}
|
|
223
|
+
{NavItem("/activity", "📋", "Activity", activePath)}
|
|
215
224
|
</nav>
|
|
216
225
|
<div class='sidebar-footer'>
|
|
217
226
|
<div style='margin-bottom:6px'>{Esc(string.IsNullOrEmpty(userName) ? "Admin" : userName)}</div>
|