@fougere/admin 0.9.2-alpha.0 → 0.10.0-alpha.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 (220) hide show
  1. package/dist/{extensions.d.ts → AdminExtension.d.ts} +5 -14
  2. package/dist/AdminExtension.d.ts.map +1 -0
  3. package/dist/{extensions.js → AdminExtension.js} +3 -3
  4. package/dist/AdminExtension.js.map +1 -0
  5. package/dist/AdminFacetRegistry.d.ts +9 -0
  6. package/dist/AdminFacetRegistry.d.ts.map +1 -0
  7. package/dist/AdminFacetRegistry.js +2 -0
  8. package/dist/AdminFacetRegistry.js.map +1 -0
  9. package/dist/AdminFacets.d.ts +6 -0
  10. package/dist/AdminFacets.d.ts.map +1 -0
  11. package/dist/{facets.js → AdminFacets.js} +1 -1
  12. package/dist/AdminFacets.js.map +1 -0
  13. package/dist/AdminFieldExtension.d.ts +7 -0
  14. package/dist/AdminFieldExtension.d.ts.map +1 -0
  15. package/dist/AdminFieldExtension.js +2 -0
  16. package/dist/AdminFieldExtension.js.map +1 -0
  17. package/dist/AdminOperation.d.ts +9 -0
  18. package/dist/AdminOperation.d.ts.map +1 -0
  19. package/dist/AdminOperation.js +2 -0
  20. package/dist/AdminOperation.js.map +1 -0
  21. package/dist/AdminOperationExtension.d.ts +6 -0
  22. package/dist/AdminOperationExtension.d.ts.map +1 -0
  23. package/dist/AdminOperationExtension.js +2 -0
  24. package/dist/AdminOperationExtension.js.map +1 -0
  25. package/dist/{resources.d.ts → AdminResource.d.ts} +11 -17
  26. package/dist/AdminResource.d.ts.map +1 -0
  27. package/dist/{resources.js → AdminResource.js} +13 -14
  28. package/dist/AdminResource.js.map +1 -0
  29. package/dist/AdminRuntime.d.ts +11 -0
  30. package/dist/AdminRuntime.d.ts.map +1 -0
  31. package/dist/{runtime.js → AdminRuntime.js} +5 -6
  32. package/dist/AdminRuntime.js.map +1 -0
  33. package/dist/AdminRuntimeOptions.d.ts +8 -0
  34. package/dist/AdminRuntimeOptions.d.ts.map +1 -0
  35. package/dist/AdminRuntimeOptions.js +2 -0
  36. package/dist/AdminRuntimeOptions.js.map +1 -0
  37. package/dist/Drawing.d.ts +39 -0
  38. package/dist/Drawing.d.ts.map +1 -0
  39. package/dist/Drawing.js +212 -0
  40. package/dist/Drawing.js.map +1 -0
  41. package/dist/EditorialFacet.d.ts +13 -0
  42. package/dist/EditorialFacet.d.ts.map +1 -0
  43. package/dist/EditorialFacet.js +2 -0
  44. package/dist/EditorialFacet.js.map +1 -0
  45. package/dist/FougereAdminProps.d.ts +17 -0
  46. package/dist/FougereAdminProps.d.ts.map +1 -0
  47. package/dist/FougereAdminProps.js +2 -0
  48. package/dist/FougereAdminProps.js.map +1 -0
  49. package/dist/FougereDashboardContextValue.d.ts +11 -0
  50. package/dist/FougereDashboardContextValue.d.ts.map +1 -0
  51. package/dist/FougereDashboardContextValue.js +2 -0
  52. package/dist/FougereDashboardContextValue.js.map +1 -0
  53. package/dist/FougereDashboardExtension.d.ts +13 -0
  54. package/dist/FougereDashboardExtension.d.ts.map +1 -0
  55. package/dist/FougereDashboardExtension.js +2 -0
  56. package/dist/FougereDashboardExtension.js.map +1 -0
  57. package/dist/FougereDashboardMetrics.d.ts +7 -0
  58. package/dist/FougereDashboardMetrics.d.ts.map +1 -0
  59. package/dist/FougereDashboardMetrics.js +2 -0
  60. package/dist/FougereDashboardMetrics.js.map +1 -0
  61. package/dist/FougereDashboardResource.d.ts +14 -0
  62. package/dist/FougereDashboardResource.d.ts.map +1 -0
  63. package/dist/FougereDashboardResource.js +2 -0
  64. package/dist/FougereDashboardResource.js.map +1 -0
  65. package/dist/FougereDashboardWidget.d.ts +11 -0
  66. package/dist/FougereDashboardWidget.d.ts.map +1 -0
  67. package/dist/FougereDashboardWidget.js +2 -0
  68. package/dist/FougereDashboardWidget.js.map +1 -0
  69. package/dist/FougereDashboardZone.d.ts +2 -0
  70. package/dist/FougereDashboardZone.d.ts.map +1 -0
  71. package/dist/FougereDashboardZone.js +2 -0
  72. package/dist/FougereDashboardZone.js.map +1 -0
  73. package/dist/{provider.d.ts → FougereDataProvider.d.ts} +2 -17
  74. package/dist/FougereDataProvider.d.ts.map +1 -0
  75. package/dist/{provider.js → FougereDataProvider.js} +2 -3
  76. package/dist/FougereDataProvider.js.map +1 -0
  77. package/dist/FougereResourceOptions.d.ts +16 -0
  78. package/dist/FougereResourceOptions.d.ts.map +1 -0
  79. package/dist/FougereResourceOptions.js +2 -0
  80. package/dist/FougereResourceOptions.js.map +1 -0
  81. package/dist/LoadedAdmin.d.ts +7 -0
  82. package/dist/LoadedAdmin.d.ts.map +1 -0
  83. package/dist/LoadedAdmin.js +2 -0
  84. package/dist/LoadedAdmin.js.map +1 -0
  85. package/dist/PlacedEdge.d.ts +17 -0
  86. package/dist/PlacedEdge.d.ts.map +1 -0
  87. package/dist/PlacedEdge.js +2 -0
  88. package/dist/PlacedEdge.js.map +1 -0
  89. package/dist/PlacedNode.d.ts +10 -0
  90. package/dist/PlacedNode.d.ts.map +1 -0
  91. package/dist/PlacedNode.js +2 -0
  92. package/dist/PlacedNode.js.map +1 -0
  93. package/dist/Point.d.ts +5 -0
  94. package/dist/Point.d.ts.map +1 -0
  95. package/dist/Point.js +2 -0
  96. package/dist/Point.js.map +1 -0
  97. package/dist/ProviderOptions.d.ts +10 -0
  98. package/dist/ProviderOptions.d.ts.map +1 -0
  99. package/dist/ProviderOptions.js +2 -0
  100. package/dist/ProviderOptions.js.map +1 -0
  101. package/dist/ReactAdminFieldContext.d.ts +10 -0
  102. package/dist/ReactAdminFieldContext.d.ts.map +1 -0
  103. package/dist/ReactAdminFieldContext.js +2 -0
  104. package/dist/ReactAdminFieldContext.js.map +1 -0
  105. package/dist/ReactAdminFieldRenderer.d.ts +4 -0
  106. package/dist/ReactAdminFieldRenderer.d.ts.map +1 -0
  107. package/dist/ReactAdminFieldRenderer.js +2 -0
  108. package/dist/ReactAdminFieldRenderer.js.map +1 -0
  109. package/dist/ReactAdminInputContext.d.ts +9 -0
  110. package/dist/ReactAdminInputContext.d.ts.map +1 -0
  111. package/dist/ReactAdminInputContext.js +2 -0
  112. package/dist/ReactAdminInputContext.js.map +1 -0
  113. package/dist/ReactAdminInputRenderer.d.ts +4 -0
  114. package/dist/ReactAdminInputRenderer.d.ts.map +1 -0
  115. package/dist/ReactAdminInputRenderer.js +2 -0
  116. package/dist/ReactAdminInputRenderer.js.map +1 -0
  117. package/dist/ReactAdminRenderers.d.ts +8 -0
  118. package/dist/ReactAdminRenderers.d.ts.map +1 -0
  119. package/dist/ReactAdminRenderers.js +2 -0
  120. package/dist/ReactAdminRenderers.js.map +1 -0
  121. package/dist/ReactAdminResourceComponents.d.ts +9 -0
  122. package/dist/ReactAdminResourceComponents.d.ts.map +1 -0
  123. package/dist/ReactAdminResourceComponents.js +2 -0
  124. package/dist/ReactAdminResourceComponents.js.map +1 -0
  125. package/dist/ResourceKey.d.ts +8 -0
  126. package/dist/ResourceKey.d.ts.map +1 -0
  127. package/dist/ResourceKey.js +2 -0
  128. package/dist/ResourceKey.js.map +1 -0
  129. package/dist/ResourceRenderOptions.d.ts +7 -0
  130. package/dist/ResourceRenderOptions.d.ts.map +1 -0
  131. package/dist/ResourceRenderOptions.js +2 -0
  132. package/dist/ResourceRenderOptions.js.map +1 -0
  133. package/dist/TopologyNode.d.ts +18 -0
  134. package/dist/TopologyNode.d.ts.map +1 -0
  135. package/dist/TopologyNode.js +2 -0
  136. package/dist/TopologyNode.js.map +1 -0
  137. package/dist/UsersFacet.d.ts +13 -0
  138. package/dist/UsersFacet.d.ts.map +1 -0
  139. package/dist/UsersFacet.js +2 -0
  140. package/dist/UsersFacet.js.map +1 -0
  141. package/dist/dashboard.d.ts +4 -61
  142. package/dist/dashboard.d.ts.map +1 -1
  143. package/dist/dashboard.js +9 -9
  144. package/dist/dashboard.js.map +1 -1
  145. package/dist/index.d.ts +3 -2
  146. package/dist/index.d.ts.map +1 -1
  147. package/dist/index.js +1 -1
  148. package/dist/index.js.map +1 -1
  149. package/dist/react.d.ts +21 -65
  150. package/dist/react.d.ts.map +1 -1
  151. package/dist/react.js +7 -7
  152. package/dist/react.js.map +1 -1
  153. package/dist/theme.js +1 -1
  154. package/dist/topology-page.d.ts.map +1 -1
  155. package/dist/topology-page.js +105 -11
  156. package/dist/topology-page.js.map +1 -1
  157. package/package.json +7 -5
  158. package/src/{extensions.ts → AdminExtension.ts} +5 -16
  159. package/src/AdminFacetRegistry.ts +9 -0
  160. package/src/AdminFacets.ts +22 -0
  161. package/src/AdminFieldExtension.ts +6 -0
  162. package/src/AdminOperation.ts +9 -0
  163. package/src/AdminOperationExtension.ts +5 -0
  164. package/src/{resources.ts → AdminResource.ts} +18 -26
  165. package/src/{runtime.ts → AdminRuntime.ts} +6 -24
  166. package/src/AdminRuntimeOptions.ts +8 -0
  167. package/src/Drawing.ts +261 -0
  168. package/src/EditorialFacet.ts +12 -0
  169. package/src/FougereAdminProps.ts +17 -0
  170. package/src/FougereDashboardContextValue.ts +11 -0
  171. package/src/FougereDashboardExtension.ts +13 -0
  172. package/src/FougereDashboardMetrics.ts +6 -0
  173. package/src/FougereDashboardResource.ts +14 -0
  174. package/src/FougereDashboardWidget.ts +11 -0
  175. package/src/FougereDashboardZone.ts +1 -0
  176. package/src/{provider.ts → FougereDataProvider.ts} +3 -26
  177. package/src/FougereResourceOptions.ts +13 -0
  178. package/src/LoadedAdmin.ts +7 -0
  179. package/src/PlacedEdge.ts +17 -0
  180. package/src/PlacedNode.ts +10 -0
  181. package/src/Point.ts +4 -0
  182. package/src/ProviderOptions.ts +10 -0
  183. package/src/ReactAdminFieldContext.ts +10 -0
  184. package/src/ReactAdminFieldRenderer.ts +4 -0
  185. package/src/ReactAdminInputContext.ts +9 -0
  186. package/src/ReactAdminInputRenderer.ts +4 -0
  187. package/src/ReactAdminRenderers.ts +8 -0
  188. package/src/ReactAdminResourceComponents.ts +9 -0
  189. package/src/ResourceKey.ts +7 -0
  190. package/src/ResourceRenderOptions.ts +7 -0
  191. package/src/TopologyNode.ts +18 -0
  192. package/src/UsersFacet.ts +12 -0
  193. package/src/dashboard.tsx +19 -88
  194. package/src/index.ts +3 -9
  195. package/src/react.tsx +37 -80
  196. package/src/theme.tsx +1 -1
  197. package/src/topology-page.tsx +202 -16
  198. package/template/index.html +5 -0
  199. package/template/package.json +22 -0
  200. package/template/src/main.tsx +27 -0
  201. package/template/tsconfig.json +12 -0
  202. package/template/vite.config.ts +16 -0
  203. package/dist/extensions.d.ts.map +0 -1
  204. package/dist/extensions.js.map +0 -1
  205. package/dist/facets.d.ts +0 -36
  206. package/dist/facets.d.ts.map +0 -1
  207. package/dist/facets.js.map +0 -1
  208. package/dist/provider.d.ts.map +0 -1
  209. package/dist/provider.js.map +0 -1
  210. package/dist/resources.d.ts.map +0 -1
  211. package/dist/resources.js.map +0 -1
  212. package/dist/runtime.d.ts +0 -22
  213. package/dist/runtime.d.ts.map +0 -1
  214. package/dist/runtime.js.map +0 -1
  215. package/dist/topology.d.ts +0 -18
  216. package/dist/topology.d.ts.map +0 -1
  217. package/dist/topology.js +0 -30
  218. package/dist/topology.js.map +0 -1
  219. package/src/facets.ts +0 -55
  220. package/src/topology.ts +0 -59
package/dist/react.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"react.js","sourceRoot":"","sources":["../src/react.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"react.js","sourceRoot":"","sources":["../src/react.tsx"],"names":[],"mappings":"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"}
package/dist/theme.js CHANGED
@@ -403,7 +403,7 @@ export function FougereAppBar(props) {
403
403
  }
404
404
  const TopologyIcon = (props) => (_jsx(SvgIcon, { ...props, children: _jsx("path", { d: "M12 2a3 3 0 0 1 1 5.83V10h4a3 3 0 0 1 3 3v1.17a3 3 0 1 1-2 0V13a1 1 0 0 0-1-1h-4v2.17a3 3 0 1 1-2 0V12H7a1 1 0 0 0-1 1v1.17a3 3 0 1 1-2 0V13a3 3 0 0 1 3-3h4V7.83A3 3 0 0 1 12 2Z" }) }));
405
405
  /**
406
- * The derived menu, plus the one entry that is not a door.
406
+ * The derived menu, plus the one entry that is not a facade.
407
407
  *
408
408
  * `Menu.ResourceItems` keeps the resources the card produced — the menu stays derived, and
409
409
  * this adds beside it rather than replacing it. The topology entry shows even when nothing
@@ -1 +1 @@
1
- {"version":3,"file":"topology-page.d.ts","sourceRoot":"","sources":["../src/topology-page.tsx"],"names":[],"mappings":"AAeA,OAAO,EAAuB,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAE/D,OAAO,EAA4C,KAAK,OAAO,EAAE,MAAM,qBAAqB,CAAC;AA6E7F,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,eAAe,CAAC,EAAE,QAAwB,EAAE,OAAwB,EAAE,GAAE,oBAAyB,GAAG,YAAY,CA6F/H"}
1
+ {"version":3,"file":"topology-page.d.ts","sourceRoot":"","sources":["../src/topology-page.tsx"],"names":[],"mappings":"AAiBA,OAAO,EAAgC,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAExE,OAAO,EAA4C,KAAK,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAoP7F,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,eAAe,CAAC,EAAE,QAAwB,EAAE,OAAwB,EAAE,GAAE,oBAAyB,GAAG,YAAY,CA8G/H"}
@@ -1,22 +1,24 @@
1
1
  'use client';
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  /**
4
4
  * The shape of the system, drawn from what the app says about itself.
5
5
  *
6
6
  * Every other page in this panel renders a DOOR — a list, a form, a row. This one renders
7
7
  * the app: which fronds run in the process it is talking to, which answered from somewhere
8
- * else, and who called whom. Nothing here is configured, and nothing is declared: a frond
9
- * is remote because it answered a call nobody hosts.
8
+ * else, who called whom — and which the config names but nothing has ever answered from.
9
+ * The first three are OBSERVED: a frond is elsewhere because it answered, never because
10
+ * `remotes:` said so. The fourth is the only declared one, and it is the only one the
11
+ * observed half cannot hold — a frond that never answered is absent from it.
10
12
  *
11
13
  * It is served by `@fougere/observability`, so its absence is a legible state and not an
12
14
  * error — which is why the entry stays in the menu when nothing answers. Hiding it would
13
15
  * hide the one place that can say what is missing.
14
16
  */
15
17
  import { Box, Card, CardContent, Chip, Skeleton, Typography } from '@mui/material';
16
- import { useEffect, useState } from 'react';
18
+ import { useEffect, useMemo, useState } from 'react';
17
19
  import { Title, useTranslate } from 'react-admin';
18
20
  import { CALL_ENDPOINT, fetcher as browserFetcher } from '@fougere/app/client';
19
- import { fetchTopology, isOpaque, nodesOf } from './topology.js';
21
+ import { fetchTopology, figureOf, isOpaque, layoutOf, nodesOf } from './Drawing.js';
20
22
  /**
21
23
  * Every sentence this page draws goes through a key. Nothing under `@fougere/admin` is
22
24
  * written in a language — the counts below carry `smart_count`, which is what lets a
@@ -32,17 +34,102 @@ function EdgeLine({ edge, direction }) {
32
34
  const label = useLabels();
33
35
  return (_jsxs(Row, { children: [_jsx(Typography, { variant: "caption", sx: { fontFamily: 'monospace' }, children: direction === 'out' ? `→ ${edge.to}` : `← ${edge.from}` }), _jsx(Typography, { variant: "caption", color: "text.secondary", children: edge.count }), edge.errors > 0 && (_jsx(Chip, { size: "small", color: "error", label: label('topology.refused', `${edge.errors} refused`, { smart_count: edge.errors }) }))] }));
34
36
  }
37
+ /**
38
+ * A palette path as SVG paint. `sx` resolves `'error.main'` for `color` and `bgcolor` and for
39
+ * nothing else, so `fill` and `stroke` reach CSS verbatim — an invalid value, and SVG falls back
40
+ * to BLACK. Every shape on this page is painted through here.
41
+ */
42
+ function paint(paths) {
43
+ const read = (theme, path) => path.split('.').reduce((held, key) => held?.[key], theme.palette);
44
+ return (theme) => ({
45
+ ...(paths.fill ? { fill: read(theme, paths.fill) } : {}),
46
+ ...(paths.stroke ? { stroke: read(theme, paths.stroke) } : {}),
47
+ });
48
+ }
49
+ /** What a node is painted with, by the one thing that separates the three states. */
50
+ function toneOf(node) {
51
+ if (node.silent)
52
+ return 'warning';
53
+ return node.placement === 'local' ? 'primary' : 'grey';
54
+ }
55
+ /**
56
+ * The system, drawn. Placement is `layoutOf`'s — ranks, order and routing.
57
+ *
58
+ * The nodes are HTML over an SVG that draws only the lines, which is how React Flow is built and
59
+ * why its nodes look like the rest of an app: a card is a `Box` with `sx`, so it reads the theme
60
+ * like every other element. An SVG `<text>` positioned by hand does not.
61
+ *
62
+ * Both layers sit on ONE scale — the container takes the drawing's aspect ratio, and every node is
63
+ * sized AND placed in per cent of it. A size in pixels does not grow with the viewBox the SVG
64
+ * scales to its container, and the lines then stop short of the cards they point at.
65
+ *
66
+ * What the drawing says beyond who reaches whom: thickness is volume, a broken line is declared
67
+ * and never travelled, and refusals are a figure rather than a red line — colour alone excludes a
68
+ * reader who cannot see it, and "how many" is the question a red line raises without answering.
69
+ */
70
+ function Graph({ nodes, selected, onSelect }) {
71
+ const label = useLabels();
72
+ const drawing = useMemo(() => layoutOf(nodes), [nodes]);
73
+ const per = (value, of) => `${(value / of) * 100}%`;
74
+ return (_jsxs(Card, { variant: "outlined", children: [_jsxs(Box, { sx: { position: 'relative', bgcolor: 'action.hover', aspectRatio: `${drawing.width} / ${drawing.height}` }, children: [_jsxs(Box, { component: "svg", viewBox: `0 0 ${drawing.width} ${drawing.height}`, sx: { position: 'absolute', inset: 0, width: '100%', height: '100%' }, children: [_jsx("defs", { children: _jsx("marker", { id: "fougere-arrow", viewBox: "0 0 8 8", refX: "6.5", refY: "4", markerWidth: "5", markerHeight: "5", orient: "auto-start-reverse", children: _jsx(Box, { component: "path", d: "M 0 0 L 8 4 L 0 8 z", sx: paint({ fill: 'text.disabled' }) }) }) }), drawing.edges.map((edge) => (_jsx(Box, { component: "path", d: edge.path, fill: "none", strokeLinecap: "round", strokeWidth: edge.weight === undefined ? 1.5 : 1.5 + edge.weight * 3, strokeDasharray: edge.weight === undefined ? '2 5' : undefined, markerEnd: "url(#fougere-arrow)", sx: [paint({ stroke: 'text.disabled' }), { strokeOpacity: 0.5 }] }, `${edge.from}-${edge.to}`)))] }), drawing.edges.map((edge) => edge.at && (_jsx(Box, { sx: {
75
+ position: 'absolute',
76
+ left: per(edge.at.x, drawing.width),
77
+ top: per(edge.at.y, drawing.height),
78
+ transform: 'translate(-50%, -50%)',
79
+ px: 0.75,
80
+ borderRadius: 1,
81
+ border: 1,
82
+ borderColor: 'divider',
83
+ bgcolor: 'background.paper',
84
+ fontFamily: 'monospace',
85
+ fontSize: 11,
86
+ fontWeight: 600,
87
+ lineHeight: '17px',
88
+ whiteSpace: 'nowrap',
89
+ color: edge.errors > 0 ? 'error.main' : 'text.secondary',
90
+ }, children: edge.count === undefined ? label('topology.noTraffic', 'no traffic') : figureOf(edge) }, `figure-${edge.from}-${edge.to}`))), drawing.nodes.map(({ node, x, y, width, height }) => {
91
+ const tone = toneOf(node);
92
+ return (_jsxs(Box, { onClick: () => onSelect(node.frond), sx: {
93
+ position: 'absolute',
94
+ left: per(x, drawing.width),
95
+ top: per(y, drawing.height),
96
+ width: per(width, drawing.width),
97
+ height: per(height, drawing.height),
98
+ transform: 'translate(-50%, -50%)',
99
+ display: 'flex',
100
+ flexDirection: 'column',
101
+ justifyContent: 'center',
102
+ gap: 0.25,
103
+ overflow: 'hidden',
104
+ px: 1.25,
105
+ borderRadius: 1.5,
106
+ border: node.frond === selected ? 2 : 1.4,
107
+ borderStyle: node.silent ? 'dashed' : 'solid',
108
+ borderColor: tone === 'grey' ? 'divider' : `${tone}.main`,
109
+ bgcolor: 'background.paper',
110
+ cursor: 'pointer',
111
+ }, children: [_jsx(Box, { sx: { fontFamily: 'monospace', fontSize: 13.5, fontWeight: 600 }, children: node.frond }), _jsxs(Row, { children: [!node.silent && (_jsx(Typography, { variant: "caption", color: "text.secondary", sx: { fontSize: 10.5 }, children: isOpaque(node)
112
+ ? label('topology.elsewhere', 'elsewhere')
113
+ : `${node.entities} · ${node.facades}` })), tone !== 'grey' && (_jsx(Chip, { size: "small", color: tone, variant: "outlined", sx: { height: 16, '& .MuiChip-label': { px: 0.75, fontSize: 9.5, letterSpacing: '0.05em' } }, label: node.silent ? label('topology.unheard', 'unheard') : label('topology.here', 'here') }))] })] }, node.frond));
114
+ })] }), _jsx(Box, { sx: { px: 2, py: 1.25 }, children: _jsx(Typography, { variant: "caption", color: "text.secondary", children: label('topology.legend', 'Thickness is volume. A broken line is declared and never travelled. Click a frond for what it holds.') }) })] }));
115
+ }
35
116
  function FrondCard({ node }) {
36
117
  const label = useLabels();
37
118
  const here = node.placement === 'local';
38
- return (_jsx(Card, { variant: "outlined", children: _jsxs(CardContent, { sx: { display: 'grid', gap: 1 }, children: [_jsxs(Row, { children: [_jsx(Typography, { variant: "h6", sx: { fontWeight: 700 }, children: node.frond }), _jsx(Chip, { size: "small", color: here ? 'primary' : 'default', label: here ? label('topology.here', 'here') : label('topology.elsewhere', 'elsewhere') })] }), _jsx(Typography, { variant: "body2", color: "text.secondary", children: isOpaque(node)
39
- ? label('topology.opaque', 'Its shape is published by the process that owns it.')
40
- : `${label('topology.entities', `${node.entities} entities`, { smart_count: node.entities })}`
41
- + ` · ${label('topology.doors', `${node.doors} doors`, { smart_count: node.doors })}` }), node.calls.map((edge) => _jsx(EdgeLine, { edge: edge, direction: "out" }, `out-${edge.to}`)), node.calledBy.map((edge) => _jsx(EdgeLine, { edge: edge, direction: "in" }, `in-${edge.from}`))] }) }));
119
+ return (_jsx(Card, { variant: "outlined", children: _jsxs(CardContent, { sx: { display: 'grid', gap: 1 }, children: [_jsxs(Row, { children: [_jsx(Typography, { variant: "h6", sx: { fontWeight: 700 }, children: node.frond }), _jsx(Chip, { size: "small", color: node.silent ? 'warning' : here ? 'primary' : 'default', label: node.silent
120
+ ? label('topology.unheard', 'declared, unheard')
121
+ : here ? label('topology.here', 'here') : label('topology.elsewhere', 'elsewhere') })] }), _jsx(Typography, { variant: "body2", color: "text.secondary", children: node.silent
122
+ ? label('topology.silent', `Declared at ${node.at ?? 'no address'} — nothing has answered from it.`, { at: node.at ?? '' })
123
+ : isOpaque(node)
124
+ ? label('topology.opaque', 'Its shape is published by the process that owns it.')
125
+ : `${label('topology.entities', `${node.entities} entities`, { smart_count: node.entities })}`
126
+ + ` · ${label('topology.facades', `${node.facades} facades`, { smart_count: node.facades })}` }), node.calls.map((edge) => _jsx(EdgeLine, { edge: edge, direction: "out" }, `out-${edge.to}`)), node.calledBy.map((edge) => _jsx(EdgeLine, { edge: edge, direction: "in" }, `in-${edge.from}`))] }) }));
42
127
  }
43
128
  export function FougereTopology({ endpoint = CALL_ENDPOINT, fetcher = browserFetcher } = {}) {
44
129
  const label = useLabels();
45
130
  const [state, setState] = useState({ status: 'loading' });
131
+ /** Which frond the detail below is about — the drawing answers "where", one card answers "what". */
132
+ const [selected, setSelected] = useState();
46
133
  useEffect(() => {
47
134
  let live = true;
48
135
  fetchTopology(endpoint, fetcher)
@@ -63,7 +150,14 @@ export function FougereTopology({ endpoint = CALL_ENDPOINT, fetcher = browserFet
63
150
  return (_jsxs(Box, { sx: { p: 3, maxWidth: 620 }, children: [title, _jsx(Card, { children: _jsxs(CardContent, { sx: { display: 'grid', gap: 1.5 }, children: [_jsx(Typography, { variant: "h6", children: label('topology.failedTitle', 'The app did not answer') }), _jsx(Typography, { component: "pre", variant: "caption", sx: { p: 1.5, borderRadius: 1.5, bgcolor: 'action.hover', whiteSpace: 'pre-wrap', overflowWrap: 'anywhere' }, children: state.error?.message ?? String(state.error) })] }) })] }));
64
151
  }
65
152
  const nodes = nodesOf(state.report);
66
- const elsewhere = nodes.filter((node) => node.placement === 'remote').length;
67
- return (_jsxs(Box, { sx: { p: 3, display: 'grid', gap: 2 }, children: [title, _jsxs(Row, { children: [_jsxs(Typography, { variant: "body2", color: "text.secondary", children: [label('topology.here_count', `${nodes.length - elsewhere} here`, { smart_count: nodes.length - elsewhere }), ' · ', label('topology.elsewhere_count', `${elsewhere} elsewhere`, { smart_count: elsewhere }), ' · ', label('topology.paths', `${state.report.edges.length} observed call paths`, { smart_count: state.report.edges.length })] }), state.report.active > 0 && (_jsx(Chip, { size: "small", color: "primary", label: label('topology.inFlight', `${state.report.active} in flight`, { smart_count: state.report.active }) }))] }), _jsx(Box, { sx: { display: 'grid', gap: 2, gridTemplateColumns: 'repeat(auto-fill, minmax(280px, 1fr))' }, children: nodes.map((node) => _jsx(FrondCard, { node: node }, node.frond)) }), state.report.edges.length === 0 && (_jsx(Typography, { variant: "caption", color: "text.secondary", children: label('topology.noEdges', 'No call between fronds observed yet — an edge appears the first time one calls another.') }))] }));
153
+ // Three counts because there are three ways of being known, and `elsewhere` means ANSWERED
154
+ // from elsewhere: counting a frond that never answered among them makes the summary
155
+ // contradict the card under it.
156
+ const unheard = nodes.filter((node) => node.silent).length;
157
+ const elsewhere = nodes.filter((node) => node.placement === 'remote' && !node.silent).length;
158
+ const shown = nodes.find((node) => node.frond === selected) ?? nodes[0];
159
+ const travelled = new Set(state.report.edges.map((edge) => `${edge.from} ${edge.to}`));
160
+ const quiet = state.report.declared.edges.filter((edge) => !travelled.has(`${edge.from} ${edge.to}`)).length;
161
+ return (_jsxs(Box, { sx: { p: 3, display: 'grid', gap: 2 }, children: [title, _jsxs(Row, { children: [_jsxs(Typography, { variant: "body2", color: "text.secondary", children: [label('topology.here_count', `${nodes.length - elsewhere - unheard} here`, { smart_count: nodes.length - elsewhere - unheard }), ' · ', label('topology.elsewhere_count', `${elsewhere} elsewhere`, { smart_count: elsewhere }), unheard > 0 && _jsxs(_Fragment, { children: [' · ', label('topology.unheard_count', `${unheard} unheard`, { smart_count: unheard })] }), ' · ', label('topology.paths', `${state.report.edges.length} observed call paths`, { smart_count: state.report.edges.length }), quiet > 0 && _jsxs(_Fragment, { children: [' · ', label('topology.quiet_count', `${quiet} link without traffic`, { smart_count: quiet })] })] }), state.report.active > 0 && (_jsx(Chip, { size: "small", color: "primary", label: label('topology.inFlight', `${state.report.active} in flight`, { smart_count: state.report.active }) }))] }), _jsx(Graph, { nodes: nodes, selected: shown?.frond, onSelect: setSelected }), shown && _jsx(Box, { sx: { maxWidth: 520 }, children: _jsx(FrondCard, { node: shown }) }), state.report.edges.length === 0 && (_jsx(Typography, { variant: "caption", color: "text.secondary", children: label('topology.noEdges', 'No call between fronds observed yet — an edge appears the first time one calls another.') }))] }));
68
162
  }
69
163
  //# sourceMappingURL=topology-page.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"topology-page.js","sourceRoot":"","sources":["../src/topology-page.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"topology-page.js","sourceRoot":"","sources":["../src/topology-page.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fougere/admin",
3
- "version": "0.9.2-alpha.0",
3
+ "version": "0.10.0-alpha.0",
4
4
  "description": "A back-office derived from what the app already says it hosts — a react-admin DataProvider over the Fougere wire.",
5
5
  "keywords": [
6
6
  "fougere",
@@ -31,12 +31,14 @@
31
31
  },
32
32
  "files": [
33
33
  "dist",
34
- "src"
34
+ "src",
35
+ "template"
35
36
  ],
36
37
  "dependencies": {
37
- "@fougere/app": "0.9.2-alpha.0",
38
- "@fougere/core": "0.9.2-alpha.0",
39
- "@fougere/schema": "0.9.2-alpha.0"
38
+ "@dagrejs/dagre": "^3.1.1",
39
+ "@fougere/app": "0.10.0-alpha.0",
40
+ "@fougere/core": "0.10.0-alpha.0",
41
+ "@fougere/schema": "0.10.0-alpha.0"
40
42
  },
41
43
  "devDependencies": {
42
44
  "@mui/material": "^9.3.1",
@@ -1,20 +1,9 @@
1
- /** Additive presentation changes over the model derived from `rpc.discover`. */
2
1
  import type { FormField, TableColumn } from '@fougere/app/client';
3
- import { capabilitiesOf, type AdminOperation, type AdminResource } from './resources.js';
4
- import { mergeAdminFacets, type AdminFacets } from './facets.js';
5
-
6
- export interface AdminFieldExtension {
7
- /** Changes the fallback in every derived view of this field. */
8
- label?: string;
9
- /** Removes the field from derived tables, shows and forms. */
10
- hidden?: boolean;
11
- }
12
-
13
- export interface AdminOperationExtension {
14
- label?: string;
15
- /** `false` explicitly removes a confirmation added by an earlier extension. */
16
- confirm?: string | false;
17
- }
2
+ import { type AdminOperation } from './AdminOperation.js';
3
+ import { capabilitiesOf, type AdminResource } from './AdminResource.js';
4
+ import { mergeAdminFacets, type AdminFacets } from './AdminFacets.js';
5
+ import type { AdminFieldExtension } from './AdminFieldExtension.js';
6
+ import type { AdminOperationExtension } from './AdminOperationExtension.js';
18
7
 
19
8
  export interface AdminExtension {
20
9
  /** Registration key from the card (`post`, not `Post`). */
@@ -0,0 +1,9 @@
1
+ import type { EditorialFacet } from './EditorialFacet.js';
2
+ import type { UsersFacet } from './UsersFacet.js';
3
+
4
+ /** Open registry of the semantic projections renderers understand. */
5
+ export interface AdminFacetRegistry {
6
+ editorial: EditorialFacet;
7
+ users: UsersFacet;
8
+ [facet: string]: unknown;
9
+ }
@@ -0,0 +1,22 @@
1
+ import { isObject } from '@fougere/schema';
2
+ import type { AdminFacetRegistry } from './AdminFacetRegistry.js';
3
+
4
+ export type AdminFacets = Partial<AdminFacetRegistry>;
5
+
6
+ export function defineAdminFacet<const Name extends string, const Value>(
7
+ name: Name,
8
+ value: Value,
9
+ ): Record<Name, Value> {
10
+ return { [name]: value } as Record<Name, Value>;
11
+ }
12
+
13
+ /** Arrays replace; semantic objects merge recursively so small project deltas stay small. */
14
+ export function mergeAdminFacets(base: AdminFacets, patch: AdminFacets): AdminFacets {
15
+ const merge = (left: unknown, right: unknown): unknown => {
16
+ if (!isObject(left) || !isObject(right)) return right;
17
+ const out: Record<string, unknown> = { ...left };
18
+ for (const [key, value] of Object.entries(right)) out[key] = merge(out[key], value);
19
+ return out;
20
+ };
21
+ return merge(base, patch) as AdminFacets;
22
+ }
@@ -0,0 +1,6 @@
1
+ export interface AdminFieldExtension {
2
+ /** Changes the fallback in every derived view of this field. */
3
+ label?: string;
4
+ /** Removes the field from derived tables, shows and forms. */
5
+ hidden?: boolean;
6
+ }
@@ -0,0 +1,9 @@
1
+ import { type CardOp } from '@fougere/core/contract';
2
+
3
+ /** One operation as the admin meets it, before a renderer decides its widget. */
4
+ export interface AdminOperation extends CardOp {
5
+ /** Display fallback. An extension may replace it without renaming the call. */
6
+ label: string;
7
+ /** Optional confirmation sentence, interpreted by renderers that support actions. */
8
+ confirm?: string;
9
+ }
@@ -0,0 +1,5 @@
1
+ export interface AdminOperationExtension {
2
+ label?: string;
3
+ /** `false` explicitly removes a confirmation added by an earlier extension. */
4
+ confirm?: string | false;
5
+ }
@@ -1,4 +1,3 @@
1
- /** What the app hosts, read as a back-office. */
2
1
  import { Card, FieldSet, type SchemaView } from '@fougere/schema';
3
2
  import {
4
3
  CALL_ENDPOINT,
@@ -10,19 +9,12 @@ import {
10
9
  type FormField,
11
10
  type TableColumn,
12
11
  } from '@fougere/app/client';
13
- import { type CardOp, type IdentityCard, Invocation } from '@fougere/core/contract';
14
- import type { ResourceKey } from './provider.js';
15
- import type { AdminFacets } from './facets.js';
12
+ import { type IdentityCard, Invocation } from '@fougere/core/contract';
13
+ import type { ResourceKey } from './ResourceKey.js';
14
+ import type { AdminFacets } from './AdminFacets.js';
15
+ import type { AdminOperation } from './AdminOperation.js';
16
16
 
17
- /** One operation as the admin meets it, before a renderer decides its widget. */
18
- export interface AdminOperation extends CardOp {
19
- /** Display fallback. An extension may replace it without renaming the call. */
20
- label: string;
21
- /** Optional confirmation sentence, interpreted by renderers that support actions. */
22
- confirm?: string;
23
- }
24
-
25
- /** One door, everything the UI needs to render it. */
17
+ /** One facade, everything the UI needs to render it. */
26
18
  export interface AdminResource extends ResourceKey {
27
19
  /** The frond it belongs to — the menu groups by it, as the card does. */
28
20
  frond: string;
@@ -40,7 +32,7 @@ export interface AdminResource extends ResourceKey {
40
32
  /** Every callable operation, including the five CRUD verbs. */
41
33
  operations: AdminOperation[];
42
34
  /**
43
- * Which of the five the door actually serves. A door answering only `list` gets a
35
+ * Which of the five the facade actually serves. A facade answering only `list` gets a
44
36
  * list and no buttons — the card says so, so the UI never offers what would 404.
45
37
  */
46
38
  can: { list: boolean; show: boolean; create: boolean; edit: boolean; delete: boolean };
@@ -52,12 +44,12 @@ function labelOf(name: string): string {
52
44
  }
53
45
 
54
46
  /**
55
- * The five verbs react-admin already has pages for. Everything else a door serves is a
47
+ * The five verbs react-admin already has pages for. Everything else a facade serves is a
56
48
  * business operation, and gets a button rather than a page.
57
49
  */
58
50
  export const CRUD_OPS = ['list', 'findById', 'create', 'update', 'delete'] as const;
59
51
 
60
- /** What a door serves beyond CRUD — the only thing this panel has that a generic one has not. */
52
+ /** What a facade serves beyond CRUD — the only thing this panel has that a generic one has not. */
61
53
  export function actionsOf(operations: readonly AdminOperation[]): AdminOperation[] {
62
54
  return operations.filter((op) => !(CRUD_OPS as readonly string[]).includes(op.name));
63
55
  }
@@ -74,25 +66,25 @@ export function capabilitiesOf(operations: readonly Pick<AdminOperation, 'name'>
74
66
  };
75
67
  }
76
68
 
77
- /** A door with no schema is not a resource. */
69
+ /** A facade with no schema is not a resource. */
78
70
  export function resourcesOf(card: IdentityCard): AdminResource[] {
79
71
  const out: AdminResource[] = [];
80
72
  for (const frond of card.fronds) {
81
- for (const door of frond.doors) {
82
- if (!door.schema) continue;
83
- const entity = Card.fromDescriptor(door.schema).toSchema() as unknown as SchemaView;
73
+ for (const facade of frond.facades) {
74
+ if (!facade.schema) continue;
75
+ const entity = Card.fromDescriptor(facade.schema).toSchema() as unknown as SchemaView;
84
76
  const primary = FieldSet.of(entity.getFields()).primary;
85
77
  // No primary means no row identity — a list could be drawn, but nothing could be
86
78
  // opened, edited or deleted. Refusing here is the same answer `FieldSet.primary`
87
79
  // gives by not defaulting to 'id': the caller decides, and this caller declines.
88
80
  if (!primary) continue;
89
- const operations = door.ops.map((op) => ({ ...op, label: labelOf(op.name) }));
90
- const columns = tableColumnsOf(entity, door.name);
91
- const fields = formFieldsOf(entity, door.name);
81
+ const operations = facade.ops.map((op) => ({ ...op, label: labelOf(op.name) }));
82
+ const columns = tableColumnsOf(entity, facade.name);
83
+ const fields = formFieldsOf(entity, facade.name);
92
84
  out.push({
93
- name: door.name,
85
+ name: facade.name,
94
86
  frond: frond.name,
95
- label: labelOf(door.name),
87
+ label: labelOf(facade.name),
96
88
  facets: {},
97
89
  primary,
98
90
  columns,
@@ -105,7 +97,7 @@ export function resourcesOf(card: IdentityCard): AdminResource[] {
105
97
  return out;
106
98
  }
107
99
 
108
- /** The provider's index — the half of a resource it needs, keyed by door name. */
100
+ /** The provider's index — the half of a resource it needs, keyed by facade name. */
109
101
  export function keysOf(resources: AdminResource[]): Record<string, ResourceKey> {
110
102
  return Object.fromEntries(resources.map((r) => [r.name, { name: r.name, primary: r.primary }]));
111
103
  }
@@ -1,27 +1,9 @@
1
- /** One card request, shared by resource discovery and every provider operation. */
2
- import {
3
- CALL_ENDPOINT,
4
- fetcher as browserFetcher,
5
- type Fetcher,
6
- } from '@fougere/app/client';
7
- import { applyAdminExtensions, type AdminExtension } from './extensions.js';
8
- import {
9
- createDataProvider,
10
- createLazyDataProvider,
11
- type FougereDataProvider,
12
- } from './provider.js';
13
- import { fetchCard, keysOf, resourcesOf, type AdminResource } from './resources.js';
14
-
15
- export interface AdminRuntimeOptions {
16
- endpoint?: string;
17
- fetcher?: Fetcher;
18
- extensions?: readonly AdminExtension[];
19
- }
20
-
21
- export interface LoadedAdmin {
22
- resources: AdminResource[];
23
- provider: FougereDataProvider;
24
- }
1
+ import { CALL_ENDPOINT, fetcher as browserFetcher } from '@fougere/app/client';
2
+ import { applyAdminExtensions } from './AdminExtension.js';
3
+ import { createDataProvider, createLazyDataProvider, type FougereDataProvider } from './FougereDataProvider.js';
4
+ import { fetchCard, keysOf, resourcesOf } from './AdminResource.js';
5
+ import type { AdminRuntimeOptions } from './AdminRuntimeOptions.js';
6
+ import type { LoadedAdmin } from './LoadedAdmin.js';
25
7
 
26
8
  export interface AdminRuntime {
27
9
  /** Loads and caches the card-derived model. */
@@ -0,0 +1,8 @@
1
+ import { fetcher as browserFetcher, type Fetcher } from '@fougere/app/client';
2
+ import { type AdminExtension } from './AdminExtension.js';
3
+
4
+ export interface AdminRuntimeOptions {
5
+ endpoint?: string;
6
+ fetcher?: Fetcher;
7
+ extensions?: readonly AdminExtension[];
8
+ }