@manta-eu/react 0.5.1 → 0.7.0

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 (111) hide show
  1. package/dist/components/button/index.d.ts +1 -0
  2. package/dist/components/button/index.d.ts.map +1 -1
  3. package/dist/components/button/index.js +17 -1
  4. package/dist/components/button/index.js.map +1 -1
  5. package/dist/components/chat-view/ToolApprovalPart.d.ts +12 -0
  6. package/dist/components/chat-view/ToolApprovalPart.d.ts.map +1 -0
  7. package/dist/components/chat-view/ToolApprovalPart.js +12 -0
  8. package/dist/components/chat-view/ToolApprovalPart.js.map +1 -0
  9. package/dist/components/chat-view/ToolMessagePart.d.ts.map +1 -1
  10. package/dist/components/chat-view/ToolMessagePart.js +7 -15
  11. package/dist/components/chat-view/ToolMessagePart.js.map +1 -1
  12. package/dist/components/chat-view/tool-part-rendering.js +1 -1
  13. package/dist/components/chat-view/tool-part-rendering.js.map +1 -1
  14. package/dist/components/modal/index.d.ts +4 -0
  15. package/dist/components/modal/index.d.ts.map +1 -1
  16. package/dist/components/modal/index.js +11 -3
  17. package/dist/components/modal/index.js.map +1 -1
  18. package/dist/components/planning/ActionPlanDetailView.d.ts +1 -0
  19. package/dist/components/planning/ActionPlanDetailView.d.ts.map +1 -1
  20. package/dist/components/planning/ActionPlanDetailView.js +2 -2
  21. package/dist/components/planning/ActionPlanDetailView.js.map +1 -1
  22. package/dist/components/planning/ConnectedPlanDetailView.d.ts +1 -0
  23. package/dist/components/planning/ConnectedPlanDetailView.d.ts.map +1 -1
  24. package/dist/components/planning/ConnectedPlanDetailView.js.map +1 -1
  25. package/dist/components/planning/TopBar.d.ts +1 -0
  26. package/dist/components/planning/TopBar.d.ts.map +1 -1
  27. package/dist/components/planning/TopBar.js +7 -4
  28. package/dist/components/planning/TopBar.js.map +1 -1
  29. package/dist/components/planning/plan-detail-utils.d.ts +1 -0
  30. package/dist/components/planning/plan-detail-utils.d.ts.map +1 -1
  31. package/dist/components/planning/plan-detail-utils.js +4 -1
  32. package/dist/components/planning/plan-detail-utils.js.map +1 -1
  33. package/dist/components/sheet/index.d.ts +13 -19
  34. package/dist/components/sheet/index.d.ts.map +1 -1
  35. package/dist/components/sheet/index.js +8 -2
  36. package/dist/components/sheet/index.js.map +1 -1
  37. package/dist/components/table/index.d.ts +7 -1
  38. package/dist/components/table/index.d.ts.map +1 -1
  39. package/dist/components/table/index.js +18 -12
  40. package/dist/components/table/index.js.map +1 -1
  41. package/dist/components/tool-invocation-card/ToolActions.d.ts +2 -4
  42. package/dist/components/tool-invocation-card/ToolActions.d.ts.map +1 -1
  43. package/dist/components/tool-invocation-card/ToolActions.js +2 -9
  44. package/dist/components/tool-invocation-card/ToolActions.js.map +1 -1
  45. package/dist/components/tool-invocation-card/ToolHeader.d.ts +0 -1
  46. package/dist/components/tool-invocation-card/ToolHeader.d.ts.map +1 -1
  47. package/dist/components/tool-invocation-card/ToolHeader.js +11 -4
  48. package/dist/components/tool-invocation-card/ToolHeader.js.map +1 -1
  49. package/dist/components/tool-invocation-card/ToolInvocationCard.d.ts +0 -7
  50. package/dist/components/tool-invocation-card/ToolInvocationCard.d.ts.map +1 -1
  51. package/dist/components/tool-invocation-card/ToolInvocationCard.js +6 -8
  52. package/dist/components/tool-invocation-card/ToolInvocationCard.js.map +1 -1
  53. package/dist/globals.css +1526 -2772
  54. package/dist/hooks/use-connection-problems.d.ts.map +1 -1
  55. package/dist/hooks/useActionGraph.d.ts +7 -0
  56. package/dist/hooks/useActionGraph.d.ts.map +1 -0
  57. package/dist/hooks/useActionGraph.js +23 -0
  58. package/dist/hooks/useActionGraph.js.map +1 -0
  59. package/dist/hooks/useValidateActionPlan.d.ts.map +1 -1
  60. package/dist/lib/tool-icons.d.ts.map +1 -1
  61. package/dist/lib/tool-icons.js +1 -0
  62. package/dist/lib/tool-icons.js.map +1 -1
  63. package/dist/routes/integrations/components/connect-forms/MetaAdsConnectForm.d.ts +1 -1
  64. package/dist/routes/integrations/components/connect-forms/MetaAdsConnectForm.d.ts.map +1 -1
  65. package/dist/routes/integrations/components/connect-forms/MetaAdsConnectForm.js +64 -11
  66. package/dist/routes/integrations/components/connect-forms/MetaAdsConnectForm.js.map +1 -1
  67. package/dist/routes/integrations/components/connect-forms/OAuthSetupConnectForm.d.ts.map +1 -1
  68. package/dist/routes/integrations/components/connect-forms/OAuthSetupConnectForm.js +8 -2
  69. package/dist/routes/integrations/components/connect-forms/OAuthSetupConnectForm.js.map +1 -1
  70. package/dist/routes/integrations/components/connect-forms/meta-page-tree.d.ts +5 -0
  71. package/dist/routes/integrations/components/connect-forms/meta-page-tree.d.ts.map +1 -0
  72. package/dist/routes/integrations/components/connect-forms/meta-page-tree.js +16 -0
  73. package/dist/routes/integrations/components/connect-forms/meta-page-tree.js.map +1 -0
  74. package/dist/routes/integrations/components/connect-forms/oauth-setup-phase.d.ts +2 -1
  75. package/dist/routes/integrations/components/connect-forms/oauth-setup-phase.d.ts.map +1 -1
  76. package/dist/routes/integrations/components/connect-forms/oauth-setup-phase.js +4 -1
  77. package/dist/routes/integrations/components/connect-forms/oauth-setup-phase.js.map +1 -1
  78. package/dist/routes/integrations/connection-view.d.ts.map +1 -1
  79. package/dist/routes/integrations/connection-view.js +1 -0
  80. package/dist/routes/integrations/connection-view.js.map +1 -1
  81. package/dist/routes/plans/components/ActionPlansPage.d.ts.map +1 -1
  82. package/dist/routes/plans/components/ActionPlansPage.js +3 -3
  83. package/dist/routes/plans/components/ActionPlansPage.js.map +1 -1
  84. package/dist/routes/plans/components/PlanDetailRouteContent.d.ts.map +1 -1
  85. package/dist/routes/plans/components/PlanDetailRouteContent.js +3 -1
  86. package/dist/routes/plans/components/PlanDetailRouteContent.js.map +1 -1
  87. package/package.json +20 -15
  88. package/src/app-subpaths.json +1 -0
  89. package/src/components/button/index.tsx +17 -1
  90. package/src/components/chat-view/ToolApprovalPart.tsx +27 -0
  91. package/src/components/chat-view/ToolMessagePart.tsx +8 -25
  92. package/src/components/chat-view/tool-part-rendering.ts +1 -1
  93. package/src/components/modal/index.tsx +17 -2
  94. package/src/components/planning/ActionPlanDetailView.tsx +3 -0
  95. package/src/components/planning/ConnectedPlanDetailView.tsx +1 -0
  96. package/src/components/planning/TopBar.tsx +14 -3
  97. package/src/components/planning/plan-detail-utils.tsx +5 -1
  98. package/src/components/sheet/index.tsx +29 -6
  99. package/src/components/table/index.tsx +42 -12
  100. package/src/components/tool-invocation-card/ToolActions.tsx +5 -16
  101. package/src/components/tool-invocation-card/ToolHeader.tsx +13 -6
  102. package/src/components/tool-invocation-card/ToolInvocationCard.tsx +6 -23
  103. package/src/hooks/useActionGraph.ts +41 -0
  104. package/src/lib/tool-icons.ts +1 -0
  105. package/src/routes/integrations/components/connect-forms/MetaAdsConnectForm.tsx +131 -15
  106. package/src/routes/integrations/components/connect-forms/OAuthSetupConnectForm.tsx +8 -2
  107. package/src/routes/integrations/components/connect-forms/meta-page-tree.ts +17 -0
  108. package/src/routes/integrations/components/connect-forms/oauth-setup-phase.ts +6 -0
  109. package/src/routes/integrations/connection-view.ts +1 -0
  110. package/src/routes/plans/components/ActionPlansPage.tsx +4 -4
  111. package/src/routes/plans/components/PlanDetailRouteContent.tsx +3 -0
@@ -1 +1 @@
1
- {"version":3,"file":"ActionPlansPage.d.ts","sourceRoot":"","sources":["../../../../src/routes/plans/components/ActionPlansPage.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAsBvC,OAAO,EAAiC,KAAK,qBAAqB,EAAE,MAAM,SAAS,CAAC;AASpF,MAAM,MAAM,oBAAoB,GAAG;IACjC,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IACxC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,SAAS,CAAC;CAC5D,CAAC;AAEF,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,2CAsP1D"}
1
+ {"version":3,"file":"ActionPlansPage.d.ts","sourceRoot":"","sources":["../../../../src/routes/plans/components/ActionPlansPage.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAsBvC,OAAO,EAAiC,KAAK,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAUpF,MAAM,MAAM,oBAAoB,GAAG;IACjC,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IACxC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,SAAS,CAAC;CAC5D,CAAC;AAEF,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,2CAsP1D"}
@@ -1,6 +1,5 @@
1
1
  "use client";
2
2
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
- import { GQLActionPlanState } from "@manta-eu/client";
4
3
  import { buildPlanHref as defaultBuildPlanHref } from "@manta-eu/client/shared/agent-mode";
5
4
  import { isPresent } from "@manta-eu/lib/present";
6
5
  import { useReactTable } from "@tanstack/react-table";
@@ -15,6 +14,7 @@ import { useActionPlansTableColumns } from "./ActionPlansTableColumns.js";
15
14
  import { actionPlanColumnIds, approvalForFilter, defaultColumnOrder, orderByForSorting, parseAsApprovalFilter, parseAsAvailabilityFilter, parseAsPlanSearch, parseAsStatusFilter, parseAsTypeFilter, planFiltersForSelection, tableKey, } from "./actionPlansTableConfig.js";
16
15
  import { renderDefaultActionPlansFrame } from "./frame.js";
17
16
  import { ExecutePlanDialog } from "#components/planning/ExecutePlanDialog";
17
+ import { canNeedApproval } from "#components/planning/plan-detail-utils";
18
18
  import { createTableConfig, useTableState } from "#components/table/index";
19
19
  import { useActionPlans } from "#hooks/useActionPlans";
20
20
  import { useFittedPagination } from "#hooks/useFittedPagination";
@@ -96,9 +96,9 @@ export function ActionPlansPage(props) {
96
96
  setPageIndex(totalPages - 1);
97
97
  }
98
98
  }, [count, isLoading, pageIndex, totalPages]);
99
- const runningPlanIris = useMemo(() => plans.filter((plan) => plan.state === GQLActionPlanState.Running).map((plan) => plan.iri), [plans]);
99
+ const approvablePlanIris = useMemo(() => plans.filter((plan) => canNeedApproval(plan.state)).map((plan) => plan.iri), [plans]);
100
100
  const { data: manualActionsByPlan } = useManualActionsForPlans({
101
- planGraphIris: runningPlanIris,
101
+ planGraphIris: approvablePlanIris,
102
102
  refetchIntervalMs: 10000,
103
103
  });
104
104
  function navigateToHref(href) {
@@ -1 +1 @@
1
- {"version":3,"file":"ActionPlansPage.js","sourceRoot":"","sources":["../../../../src/routes/plans/components/ActionPlansPage.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ActionPlansPage.js","sourceRoot":"","sources":["../../../../src/routes/plans/components/ActionPlansPage.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"PlanDetailRouteContent.d.ts","sourceRoot":"","sources":["../../../../src/routes/plans/components/PlanDetailRouteContent.tsx"],"names":[],"mappings":"AA2BA,MAAM,MAAM,2BAA2B,GAAG;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,2BAA2B,2CA0LxE"}
1
+ {"version":3,"file":"PlanDetailRouteContent.d.ts","sourceRoot":"","sources":["../../../../src/routes/plans/components/PlanDetailRouteContent.tsx"],"names":[],"mappings":"AA4BA,MAAM,MAAM,2BAA2B,GAAG;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,2BAA2B,2CA4LxE"}
@@ -20,6 +20,7 @@ import { isTerminalActionPlanState } from "#components/planning/plan-detail-util
20
20
  import { useActionPlanDetail } from "#hooks/useActionPlanDetail";
21
21
  import { useActionPlanExecution } from "#hooks/useActionPlanExecution";
22
22
  import { ActionPlanChangesTable, useActionPlanExecutionProvenance, useManualActions } from "#ldo-ui";
23
+ import { getPendingManualActions } from "#lib/manual-actions";
23
24
  import { useMantaClient } from "#providers/MantaClientProvider";
24
25
  import { ActivityDetail } from "#routes/activity/detail/ActivityDetail";
25
26
  import { invalidateActionPlanQueries } from "#shared/query-keys";
@@ -107,6 +108,7 @@ export function PlanDetailRouteContent(props) {
107
108
  triggeredAtMs: executionControl.triggeredAtMs,
108
109
  isRunningOverride: hasConfirmedExecution || hasExecutionEvidence,
109
110
  });
111
+ const pendingApprovalCount = getPendingManualActions(manualActions).length;
110
112
  const { triggeredAtMs, dryRun } = executionControl;
111
113
  const isDryRun = deriveIsDryRun({ provenance: executionProvenance ?? null, triggeredAtMs, dryRun });
112
114
  const shouldShowActioningSurface = hasConfirmedExecution ||
@@ -119,6 +121,6 @@ export function PlanDetailRouteContent(props) {
119
121
  const activeViewMode = viewMode === "visual" && !graphDocument?.size ? "overview" : viewMode;
120
122
  const showExecutionSurface = shouldShowActioningSurface && activeViewMode === "overview";
121
123
  const rulesSection = _jsx(ActionPlanRulesSection, { planGraphIri: planGraphIri, LinkComponent: Link });
122
- return (_jsxs("div", { className: "flex min-h-0 flex-1 flex-col overflow-y-auto overflow-x-hidden", children: [_jsx(ExecutePlanDialog, { onConfirm: handleConfirmExecution, open: isExecuteDialogOpen, onOpenChange: setIsExecuteDialogOpen, trigger: null }), _jsx(ExecutePlanDialog, { action: "rerun", onConfirm: handleConfirmRerun, open: isRerunDialogOpen, onOpenChange: setIsRerunDialogOpen, trigger: null }), _jsx(ConnectedPlanDetailView, { leadingAction: _jsx(SidebarMobileToggle, {}), plan: plan, graphDocument: graphDocument, isLoading: isLoading, error: error, hideChanges: true, fitContent: showExecutionSurface, viewMode: activeViewMode, stateOverride: derivedPlanState, isDryRun: isDryRun, onViewModeChange: setViewMode, onExecute: detailExecuteAction, onCancel: detailCancelAction, onRerun: detailRerunAction, rulesSlot: showExecutionSurface ? undefined : rulesSection, onRunClick: (activityIri) => navigate(buildActivityHref(activityIri)) }), showExecutionSurface && (_jsx(ActioningView, { planGraphIri: planGraphIri, isLoading: false, mantaChatBaseUrl: mantaBaseUrl, executionControl: executionControl, datastoreId: datastoreId, userId: userId, hideTopBar: true, completedChangesSlot: _jsx(ActionPlanChangesTable, { planGraphIri: planGraphIri, emptyFallback: isPresent(latestRunIri) ? (_jsx("div", { className: "flex max-h-[60vh] flex-col", children: _jsx(ActivityDetail, { activityIri: latestRunIri, variant: "embedded", caption: "No recommended changes \u2014 showing the latest run." }) })) : undefined }) })), showExecutionSurface && _jsx("div", { className: "mx-auto w-full max-w-7xl px-8 py-6", children: rulesSection })] }));
124
+ return (_jsxs("div", { className: "flex min-h-0 flex-1 flex-col overflow-y-auto overflow-x-hidden", children: [_jsx(ExecutePlanDialog, { onConfirm: handleConfirmExecution, open: isExecuteDialogOpen, onOpenChange: setIsExecuteDialogOpen, trigger: null }), _jsx(ExecutePlanDialog, { action: "rerun", onConfirm: handleConfirmRerun, open: isRerunDialogOpen, onOpenChange: setIsRerunDialogOpen, trigger: null }), _jsx(ConnectedPlanDetailView, { leadingAction: _jsx(SidebarMobileToggle, {}), plan: plan, graphDocument: graphDocument, isLoading: isLoading, error: error, hideChanges: true, fitContent: showExecutionSurface, viewMode: activeViewMode, stateOverride: derivedPlanState, isDryRun: isDryRun, pendingApprovalCount: pendingApprovalCount, onViewModeChange: setViewMode, onExecute: detailExecuteAction, onCancel: detailCancelAction, onRerun: detailRerunAction, rulesSlot: showExecutionSurface ? undefined : rulesSection, onRunClick: (activityIri) => navigate(buildActivityHref(activityIri)) }), showExecutionSurface && (_jsx(ActioningView, { planGraphIri: planGraphIri, isLoading: false, mantaChatBaseUrl: mantaBaseUrl, executionControl: executionControl, datastoreId: datastoreId, userId: userId, hideTopBar: true, completedChangesSlot: _jsx(ActionPlanChangesTable, { planGraphIri: planGraphIri, emptyFallback: isPresent(latestRunIri) ? (_jsx("div", { className: "flex max-h-[60vh] flex-col", children: _jsx(ActivityDetail, { activityIri: latestRunIri, variant: "embedded", caption: "No recommended changes \u2014 showing the latest run." }) })) : undefined }) })), showExecutionSurface && _jsx("div", { className: "mx-auto w-full max-w-7xl px-8 py-6", children: rulesSection })] }));
123
125
  }
124
126
  //# sourceMappingURL=PlanDetailRouteContent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PlanDetailRouteContent.js","sourceRoot":"","sources":["../../../../src/routes/plans/components/PlanDetailRouteContent.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PlanDetailRouteContent.js","sourceRoot":"","sources":["../../../../src/routes/plans/components/PlanDetailRouteContent.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@manta-eu/react",
3
- "version": "0.5.1",
3
+ "version": "0.7.0",
4
4
  "description": "The Manta design system, knowledge-graph UI and agent components",
5
5
  "homepage": "https://developers.manta.eu",
6
6
  "keywords": [
@@ -351,6 +351,11 @@
351
351
  "types": "./dist/hooks/useResolveManualAction.d.ts",
352
352
  "import": "./dist/hooks/useResolveManualAction.js"
353
353
  },
354
+ "./hooks/useActionGraph": {
355
+ "manta-source": "./src/hooks/useActionGraph.ts",
356
+ "types": "./dist/hooks/useActionGraph.d.ts",
357
+ "import": "./dist/hooks/useActionGraph.js"
358
+ },
354
359
  "./hooks/useActionPlans": {
355
360
  "manta-source": "./src/hooks/useActionPlans.ts",
356
361
  "types": "./dist/hooks/useActionPlans.d.ts",
@@ -1134,12 +1139,12 @@
1134
1139
  "usehooks-ts": "^3.1.1",
1135
1140
  "zod": "^4.5.0",
1136
1141
  "zustand": "^5.0.2",
1137
- "@manta-eu/client": "0.5.1",
1138
- "@manta-eu/ldo": "0.5.1",
1139
- "@manta-eu/rdf-lib": "0.5.1",
1140
- "@manta-eu/auth": "0.5.1",
1141
- "@manta-eu/datalog-parser": "0.5.1",
1142
- "@manta-eu/lib": "0.5.1"
1142
+ "@manta-eu/client": "0.7.0",
1143
+ "@manta-eu/datalog-parser": "0.7.0",
1144
+ "@manta-eu/lib": "0.7.0",
1145
+ "@manta-eu/ldo": "0.7.0",
1146
+ "@manta-eu/rdf-lib": "0.7.0",
1147
+ "@manta-eu/auth": "0.7.0"
1143
1148
  },
1144
1149
  "peerDependencies": {
1145
1150
  "@ulb-darmstadt/shacl-form": "^2.1.1-rc1",
@@ -1150,11 +1155,11 @@
1150
1155
  "react-dom": "^19.0.0"
1151
1156
  },
1152
1157
  "devDependencies": {
1153
- "@storybook/addon-docs": "^10.2.1",
1154
- "@storybook/addon-links": "^10.2.1",
1155
- "@storybook/react": "^10.2.1",
1156
- "@storybook/react-vite": "^10.2.1",
1157
- "@tailwindcss/postcss": "^4.1.17",
1158
+ "@storybook/addon-docs": "^10.6.4",
1159
+ "@storybook/addon-links": "^10.6.4",
1160
+ "@storybook/react": "^10.6.4",
1161
+ "@storybook/react-vite": "^10.6.4",
1162
+ "@tailwindcss/postcss": "^4.3.3",
1158
1163
  "@types/js-cookie": "^3.0.6",
1159
1164
  "@types/mustache": "^4.2.5",
1160
1165
  "@types/ramda": "^0.31.1",
@@ -1169,12 +1174,12 @@
1169
1174
  "react": "^19.2.3",
1170
1175
  "react-dom": "^19.2.3",
1171
1176
  "rimraf": "^6.1.3",
1172
- "storybook": "^10.2.1",
1173
- "tailwindcss": "^4.1.17",
1177
+ "storybook": "^10.6.4",
1178
+ "tailwindcss": "^4.3.3",
1174
1179
  "tsc-alias": "^1.9.5",
1175
1180
  "typescript": "^5.9.3",
1176
1181
  "uuid": "^13.0.0",
1177
- "vite": "^7.3.1",
1182
+ "vite": "^8.3.5",
1178
1183
  "vitest": "^4.1.8",
1179
1184
  "@manta-eu/eslint-config": "0.1.0"
1180
1185
  },
@@ -45,6 +45,7 @@
45
45
  "./filter-sheet",
46
46
  "./globals.css",
47
47
  "./hooks/plan-split-sidebar-sync",
48
+ "./hooks/useActionGraph",
48
49
  "./hooks/useActionPlanDetail",
49
50
  "./hooks/useActionPlanExecution",
50
51
  "./hooks/useActionPlans",
@@ -1,5 +1,6 @@
1
1
  import { Slot } from "@radix-ui/react-slot";
2
2
  import { Loader2 } from "lucide-react";
3
+ import { Children } from "react";
3
4
  import type { ComponentProps, ComponentPropsWithoutRef, ComponentType, ElementType, ReactNode, Ref } from "react";
4
5
  import { tv } from "tailwind-variants";
5
6
  import { cn, type ClassProp, type VariantPropsOf } from "#style";
@@ -8,6 +9,21 @@ function Loader(props: ComponentProps<typeof Loader2>) {
8
9
  return <Loader2 {...props} className={cn("size-4 animate-spin text-inherit", props.className)} />;
9
10
  }
10
11
 
12
+ function isText(child: unknown): child is string | number {
13
+ return typeof child === "string" || typeof child === "number";
14
+ }
15
+
16
+ // Text needs an element around it, or the loading state's `[&>*]:invisible` leaves it under the spinner.
17
+ export function wrapTextChildren(children: ReactNode): ReactNode[] {
18
+ const parts = Children.toArray(children);
19
+ return parts.flatMap<ReactNode>((child, index) => {
20
+ if (!isText(child)) return [child];
21
+ if (index > 0 && isText(parts[index - 1])) return [];
22
+ const end = parts.findIndex((part, at) => at > index && !isText(part));
23
+ return [<span key={`text-${index}`}>{parts.slice(index, end === -1 ? undefined : end).join("")}</span>];
24
+ });
25
+ }
26
+
11
27
  export const buttonConfig = {
12
28
  base: [
13
29
  "inline-flex items-center justify-center text-center gap-1.5 transition-[color_150ms_ease,transform_100ms_ease-out] motion-reduce:transition-none",
@@ -165,7 +181,7 @@ export function Button(props: ButtonProps) {
165
181
  {LeftIconComponent && <LeftIconComponent />}
166
182
  {label && <span>{label}</span>}
167
183
  {RightIconComponent && <RightIconComponent />}
168
- {children}
184
+ {wrapTextChildren(children)}
169
185
  {isLoading && (
170
186
  <span className="absolute inset-0 flex items-center justify-center" data-loader-wrapper aria-hidden="true">
171
187
  <Loader data-loader />
@@ -0,0 +1,27 @@
1
+ import { getToolUIPartLabel } from "@manta-eu/client/shared/tools";
2
+ import type { ToolUIPart } from "ai";
3
+ import { Card } from "#components/card/index";
4
+ import { ToolActions } from "#components/tool-invocation-card/ToolActions";
5
+
6
+ type ToolApprovalResponse = { id: string; approved: boolean };
7
+
8
+ type ToolApprovalPartProps = {
9
+ part: ToolUIPart;
10
+ onRespond: (response: ToolApprovalResponse) => void;
11
+ };
12
+
13
+ export function ToolApprovalPart(props: ToolApprovalPartProps) {
14
+ const { part, onRespond } = props;
15
+ const id = part.approval?.id;
16
+ if (id === undefined) return null;
17
+
18
+ return (
19
+ <Card padding="md" className="my-3 w-full max-w-2xl card-base gap-3">
20
+ <h4 className="typography-small-medium">{getToolUIPartLabel(part)}</h4>
21
+ <ToolActions
22
+ onApprove={() => onRespond({ id, approved: true })}
23
+ onReject={() => onRespond({ id, approved: false })}
24
+ />
25
+ </Card>
26
+ );
27
+ }
@@ -7,7 +7,9 @@ import { ActionPlanShowcaseCard } from "../tool-invocation-card/ActionPlanShowca
7
7
  import { ToolInvocationCard } from "../tool-invocation-card/ToolInvocationCard";
8
8
  import { isErrorToolResult, isShowcaseToolResult } from "../tool-invocation-card/types";
9
9
  import { RequestUserInputToolPart } from "./RequestUserInputToolPart";
10
+ import { ToolApprovalPart } from "./ToolApprovalPart";
10
11
  import { Banner } from "#components/banner/index";
12
+ import { useActiveChatConnection } from "#providers/ActiveChatProvider";
11
13
  import { useChatManagerConnection } from "#providers/ChatManagerProvider";
12
14
 
13
15
  type ActionPlanShowcaseToolPartProps = {
@@ -67,11 +69,16 @@ export function ToolMessagePart(props: ToolMessagePartProps) {
67
69
  const { part, toolsUsedInSession, onAddToolResult } = props;
68
70
  const toolCallId = part.toolCallId;
69
71
  const toolName = part.type.replace("tool-", "");
72
+ const chatData = useActiveChatConnection()?.chatData;
70
73
 
71
74
  if (toolName === "actionPlanShowcase") {
72
75
  return <ActionPlanShowcaseToolPart part={part} />;
73
76
  }
74
77
 
78
+ if (part.state === "approval-requested") {
79
+ return <ToolApprovalPart part={part} onRespond={(response) => chatData?.addToolApprovalResponse(response)} />;
80
+ }
81
+
75
82
  if (toolName === requestUserInputToolName) {
76
83
  return (
77
84
  <RequestUserInputToolPart
@@ -84,29 +91,5 @@ export function ToolMessagePart(props: ToolMessagePartProps) {
84
91
  );
85
92
  }
86
93
 
87
- return (
88
- <ToolInvocationCard
89
- toolUIPart={part}
90
- toolCallId={toolCallId}
91
- needsConfirmation={false}
92
- onSubmit={({ toolCallId, result }) => {
93
- toolsUsedInSession.current.add(toolName);
94
-
95
- onAddToolResult({
96
- tool: toolName,
97
- toolCallId,
98
- output: result,
99
- });
100
- }}
101
- addToolResult={(toolCallId, result) => {
102
- toolsUsedInSession.current.add(toolName);
103
-
104
- onAddToolResult({
105
- tool: toolName,
106
- toolCallId,
107
- output: result,
108
- });
109
- }}
110
- />
111
- );
94
+ return <ToolInvocationCard toolUIPart={part} />;
112
95
  }
@@ -17,7 +17,7 @@ function isFailedRequestUserInputPart(part: UIMessage["parts"][number]): boolean
17
17
  }
18
18
 
19
19
  export function isStandaloneToolPart(part: ToolUIPart): boolean {
20
- return standaloneToolPartTypes.has(part.type);
20
+ return standaloneToolPartTypes.has(part.type) || part.state === "approval-requested";
21
21
  }
22
22
 
23
23
  export function isPendingRequestUserInputPart(part: UIMessage["parts"][number]): boolean {
@@ -48,16 +48,30 @@ export const DialogOverlay = forwardRef<
48
48
  );
49
49
  });
50
50
 
51
+ export const dialogSizes = ["sm", "md", "lg", "xl", "2xl"] as const;
52
+
53
+ export type DialogSize = (typeof dialogSizes)[number];
54
+
55
+ const dialogSizeClasses: Record<DialogSize, string> = {
56
+ sm: "max-w-[440px]",
57
+ md: "max-w-[540px]",
58
+ lg: "max-w-[600px]",
59
+ xl: "max-w-[920px]",
60
+ "2xl": "max-w-[1240px]",
61
+ };
62
+
51
63
  type DialogContentProps = ComponentPropsWithoutRef<typeof DialogPrimitive.Content> & {
52
64
  showCloseButton?: boolean;
53
65
  overlayClassName?: string;
54
66
  /** Below `sm`, fill the viewport as a sheet instead of floating as a centered card. */
55
67
  fullScreenOnMobile?: boolean;
68
+ /** Width preset; without one the dialog keeps its 700px default. */
69
+ size?: DialogSize;
56
70
  };
57
71
 
58
72
  export const DialogContent = forwardRef<ComponentRef<typeof DialogPrimitive.Content>, DialogContentProps>(
59
73
  function DialogContent(
60
- { className, children, showCloseButton = true, overlayClassName, fullScreenOnMobile = false, ...props },
74
+ { className, children, showCloseButton = true, overlayClassName, fullScreenOnMobile = false, size, ...props },
61
75
  ref,
62
76
  ) {
63
77
  return (
@@ -73,6 +87,7 @@ export const DialogContent = forwardRef<ComponentRef<typeof DialogPrimitive.Cont
73
87
  "data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
74
88
  "data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:pointer-events-none",
75
89
  "motion-reduce:animate-none",
90
+ size !== undefined && dialogSizeClasses[size],
76
91
  fullScreenOnMobile && [
77
92
  "max-sm:top-0! max-sm:left-0! max-sm:translate-x-0! max-sm:translate-y-0!",
78
93
  "max-sm:h-dvh! max-sm:max-h-dvh! max-sm:w-full! max-sm:max-w-none!",
@@ -88,7 +103,7 @@ export const DialogContent = forwardRef<ComponentRef<typeof DialogPrimitive.Cont
88
103
  data-slot="dialog-close"
89
104
  className={cn(
90
105
  "ring-offset-card focus:ring-active-border/50 data-[state=open]:bg-accent",
91
- "absolute top-4 right-4 rounded-sm-v4 opacity-70 data-[state=open]:text-muted-foreground",
106
+ "absolute top-4 right-4 rounded-sm-v4 opacity-70 text-muted-foreground",
92
107
  "hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none",
93
108
  "transition-opacity motion-reduce:transition-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-5",
94
109
  )}
@@ -25,6 +25,7 @@ export type ActionPlanDetailViewProps = {
25
25
  issueCount?: number;
26
26
  isValidating?: boolean;
27
27
  isDryRun?: boolean;
28
+ pendingApprovalCount?: number;
28
29
  hideTopBar?: boolean;
29
30
  hideChanges?: boolean;
30
31
  fitContent?: boolean;
@@ -51,6 +52,7 @@ export function ActionPlanDetailView(props: ActionPlanDetailViewProps) {
51
52
  issueCount = 0,
52
53
  isValidating = false,
53
54
  isDryRun = false,
55
+ pendingApprovalCount,
54
56
  hideTopBar = false,
55
57
  hideChanges = false,
56
58
  fitContent = false,
@@ -122,6 +124,7 @@ export function ActionPlanDetailView(props: ActionPlanDetailViewProps) {
122
124
  issueCount={issueCount}
123
125
  isValidating={isValidating}
124
126
  isDryRun={isDryRun}
127
+ pendingApprovalCount={pendingApprovalCount}
125
128
  planName={planName}
126
129
  status={status}
127
130
  hasCurrentFacts={plan.hasCurrentFacts}
@@ -24,6 +24,7 @@ export type ConnectedPlanDetailViewProps = {
24
24
  viewMode?: PlanViewMode;
25
25
  stateOverride?: GQLActionPlanState;
26
26
  isDryRun?: boolean;
27
+ pendingApprovalCount?: number;
27
28
  ref?: Ref<ConnectedPlanDetailViewHandle>;
28
29
  onViewModeChange?: (viewMode: PlanViewMode) => void;
29
30
  onExecute?: (planIri: string) => void;
@@ -3,7 +3,7 @@ import { CircleStop, Eye, History, List, Play, RotateCcw } from "lucide-react";
3
3
  import type { ReactNode } from "react";
4
4
  import { match } from "ts-pattern";
5
5
  import { ChatToggleButton } from "../layouts/ChatToggleButton";
6
- import { isTerminalActionPlanState, type ActionPlanStatus } from "./plan-detail-utils";
6
+ import { isTerminalActionPlanState, needsApproval, type ActionPlanStatus } from "./plan-detail-utils";
7
7
  import { Button } from "#components/button/index";
8
8
  import { Tabs, TabsList, TabsTrigger } from "#components/tabs/index";
9
9
 
@@ -32,13 +32,23 @@ export type TopBarProps = {
32
32
  onModify?: (planIri: string) => void;
33
33
  topBarActions?: ReactNode;
34
34
  leadingAction?: ReactNode;
35
+ pendingApprovalCount?: number;
35
36
  };
36
37
 
37
38
  function isPlanViewMode(value: string): value is PlanViewMode {
38
39
  return value === "overview" || value === "visual" || value === "history";
39
40
  }
40
41
 
41
- function statusSubtitle(status: ActionPlanStatus, isDryRun: boolean, hasCurrentFacts: boolean): string | null {
42
+ function statusSubtitle(
43
+ status: ActionPlanStatus,
44
+ isDryRun: boolean,
45
+ hasCurrentFacts: boolean,
46
+ pendingApprovalCount: number,
47
+ ): string | null {
48
+ if (!isDryRun && needsApproval(status, pendingApprovalCount)) {
49
+ return "Needs approval";
50
+ }
51
+
42
52
  return match(status)
43
53
  .with(GQLActionPlanState.Draft, () => (hasCurrentFacts ? "Plan is ready to run" : "Not currently executable"))
44
54
  .with(GQLActionPlanState.Running, () => (isDryRun ? "Dry run in progress" : "Plan is running"))
@@ -65,6 +75,7 @@ export function TopBar(props: TopBarProps) {
65
75
  onRerun,
66
76
  topBarActions,
67
77
  leadingAction,
78
+ pendingApprovalCount = 0,
68
79
  } = props;
69
80
  const isDraft = status === GQLActionPlanState.Draft;
70
81
  const isRunning = status === GQLActionPlanState.Running;
@@ -77,7 +88,7 @@ export function TopBar(props: TopBarProps) {
77
88
  }
78
89
  }
79
90
 
80
- const subtitle = statusSubtitle(status, isDryRun, hasCurrentFacts);
91
+ const subtitle = statusSubtitle(status, isDryRun, hasCurrentFacts, pendingApprovalCount);
81
92
 
82
93
  return (
83
94
  <div className="shrink-0 flex h-16 items-center justify-between gap-2 border-b border-default-border px-3 sm:px-6">
@@ -77,8 +77,12 @@ export function statusLabel(status: ActionPlanStatus): string {
77
77
  .exhaustive();
78
78
  }
79
79
 
80
+ export function canNeedApproval(state: ActionPlanStatus): boolean {
81
+ return state === GQLActionPlanState.Running || state === GQLActionPlanState.Completed;
82
+ }
83
+
80
84
  export function needsApproval(state: ActionPlanStatus, pendingApprovalCount: number): boolean {
81
- return pendingApprovalCount > 0 && (state === GQLActionPlanState.Running || state === GQLActionPlanState.Completed);
85
+ return pendingApprovalCount > 0 && canNeedApproval(state);
82
86
  }
83
87
 
84
88
  export function planStateVariant(state: ActionPlanStatus, pendingApprovalCount = 0): BadgeVariant {
@@ -64,22 +64,45 @@ export const sheetContentConfig = {
64
64
  } as const,
65
65
  };
66
66
 
67
+ export const sheetSizes = ["sm", "md", "lg"] as const;
68
+
69
+ export type SheetSize = (typeof sheetSizes)[number];
70
+
71
+ const sheetSizeClasses: Record<SheetSize, string> = {
72
+ sm: "w-[420px] max-w-full",
73
+ md: "w-[480px] max-w-full",
74
+ lg: "w-[560px] max-w-full",
75
+ };
76
+
67
77
  const sheetContentVariants = tv(sheetContentConfig);
68
78
 
69
- export type SheetContentProps = React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content> &
70
- VariantPropsOf<typeof sheetContentConfig> & {
71
- showClose?: boolean;
72
- };
79
+ export type SheetSide = NonNullable<VariantPropsOf<typeof sheetContentConfig>["side"]>;
80
+
81
+ export type SheetContentProps = React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content> & {
82
+ showClose?: boolean;
83
+ } & (
84
+ | {
85
+ side?: Extract<SheetSide, "left" | "right">;
86
+ /** Width preset; without one the sheet keeps its 400px default. */
87
+ size?: SheetSize;
88
+ }
89
+ | { side: Exclude<SheetSide, "left" | "right">; size?: never }
90
+ );
73
91
 
74
92
  export const SheetContent = React.forwardRef<React.ComponentRef<typeof DialogPrimitive.Content>, SheetContentProps>(
75
- function SheetContent({ side = "right", className, children, showClose = true, ...props }, ref) {
93
+ function SheetContent({ side = "right", size, className, children, showClose = true, ...props }, ref) {
76
94
  return (
77
95
  <SheetPortal>
78
96
  <SheetOverlay />
79
97
  <DialogPrimitive.Content
80
98
  ref={ref}
81
99
  data-slot="sheet-content"
82
- className={cn(sheetContentVariants({ side }), side === "center" ? "gap-6 p-8" : "gap-6 p-6", className)}
100
+ className={cn(
101
+ sheetContentVariants({ side }),
102
+ size !== undefined && sheetSizeClasses[size],
103
+ side === "center" ? "gap-6 p-8" : "gap-6 p-6",
104
+ className,
105
+ )}
83
106
  {...props}
84
107
  >
85
108
  {children}