feat(api): include project health in dashboard detail

This commit is contained in:
2026-03-31 23:36:29 +02:00
parent 703406a76b
commit 2de5a0eede
5 changed files with 235 additions and 2 deletions
@@ -16,6 +16,7 @@ type ReportQueryResult = {
totalCount: number;
columns: unknown;
groups: unknown;
explainability?: unknown;
};
type DashboardInsightsReportsDeps = {
@@ -53,13 +54,13 @@ export const dashboardInsightsReportsToolDefinitions: ToolDef[] = withToolAccess
type: "function",
function: {
name: "get_dashboard_detail",
description: "Get detailed dashboard data: peak allocation times, top-value resources, demand pipeline, chargeability overview.",
description: "Get detailed dashboard data: peak allocation times, top-value resources, demand pipeline, chargeability overview, and project health risks.",
parameters: {
type: "object",
properties: {
section: {
type: "string",
description: "Which section: peak_times, top_resources, demand_pipeline, chargeability_overview, or all",
description: "Which section: peak_times, top_resources, demand_pipeline, chargeability_overview, project_health, or all",
},
},
},
@@ -174,6 +175,7 @@ export const dashboardInsightsReportsToolDefinitions: ToolDef[] = withToolAccess
},
get_budget_forecast: {
allowedSystemRoles: [SystemRole.ADMIN, SystemRole.MANAGER, SystemRole.CONTROLLER],
requiredPermissions: [PermissionKey.VIEW_COSTS],
},
get_insights_summary: {
allowedSystemRoles: [SystemRole.ADMIN, SystemRole.MANAGER, SystemRole.CONTROLLER],
@@ -255,6 +257,7 @@ export function createDashboardInsightsReportsExecutors(
totalCount: result.totalCount,
columns: result.columns,
groups: result.groups,
...(result.explainability ? { explainability: result.explainability } : {}),
};
},
};