@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
@@ -0,0 +1,5 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head><meta charset="utf-8" /><title>Admin</title></head>
4
+ <body><div id="root"></div><script type="module" src="/src/main.tsx"></script></body>
5
+ </html>
@@ -0,0 +1,22 @@
1
+ {
2
+ "name": "fougere-app",
3
+ "private": true,
4
+ "type": "module",
5
+ "scripts": {
6
+ "dev": "vite",
7
+ "build": "vite build"
8
+ },
9
+ "dependencies": {
10
+ "@fougere/admin": "latest",
11
+ "@fougere/app": "latest",
12
+ "react": "^19.0.0",
13
+ "react-admin": "^5.15.1",
14
+ "react-dom": "^19.0.0"
15
+ },
16
+ "devDependencies": {
17
+ "@types/react": "^19.0.0",
18
+ "@types/react-dom": "^19.0.0",
19
+ "@vitejs/plugin-react": "^5.0.0",
20
+ "vite": "^8.0.0"
21
+ }
22
+ }
@@ -0,0 +1,27 @@
1
+ /**
2
+ * The panel derives itself from the app it is pointed at.
3
+ *
4
+ * It asks `rpc.discover` on mount and builds the collections, their fields and the five CRUD
5
+ * operations from the identity card that comes back. Nothing below names an entity, a column
6
+ * or a form: add a frond to the app and its collection appears here on the next reload.
7
+ */
8
+ import { StrictMode } from 'react';
9
+ import { createRoot } from 'react-dom/client';
10
+ import { FougereAdmin } from '@fougere/admin/react';
11
+
12
+ /**
13
+ * No `endpoint`, so it stays `/_fougere/call` — a relative address the dev proxy in
14
+ * `vite.config.ts` forwards to the app next door.
15
+ *
16
+ * The integrated shape is the same component with nothing changed at all: mount it on a route
17
+ * of the app that serves the frond, and same-origin does the rest. Standalone against another
18
+ * host is one prop — `endpoint="https://shop.internal/_fougere/call"` — and the CORS that
19
+ * comes with crossing an origin.
20
+ */
21
+ function App() {
22
+ return <FougereAdmin title="Admin" />;
23
+ }
24
+
25
+ createRoot(document.getElementById('root')!).render(
26
+ <StrictMode><App /></StrictMode>,
27
+ );
@@ -0,0 +1,12 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2022",
4
+ "module": "ESNext",
5
+ "moduleResolution": "Bundler",
6
+ "jsx": "react-jsx",
7
+ "strict": true,
8
+ "noEmit": true,
9
+ "types": ["node", "react"]
10
+ },
11
+ "include": ["src"]
12
+ }
@@ -0,0 +1,16 @@
1
+ import { defineConfig } from 'vite';
2
+ import react from '@vitejs/plugin-react';
3
+
4
+ /**
5
+ * No `@fougere/vite` here: this app scans nothing and boots nothing. It is a reader of one
6
+ * endpoint, and the only thing it needs is a way to reach it without crossing an origin.
7
+ *
8
+ * Point the proxy at whichever app serves your frond. In production the two are usually
9
+ * behind one host, and this block goes away.
10
+ */
11
+ export default defineConfig({
12
+ plugins: [react()],
13
+ server: {
14
+ proxy: { '/_fougere': 'http://localhost:3000' },
15
+ },
16
+ });
@@ -1 +0,0 @@
1
- {"version":3,"file":"extensions.d.ts","sourceRoot":"","sources":["../src/extensions.ts"],"names":[],"mappings":"AAEA,OAAO,EAAuC,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACzF,OAAO,EAAoB,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAEjE,MAAM,WAAW,mBAAmB;IAClC,gEAAgE;IAChE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8DAA8D;IAC9D,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+EAA+E;IAC/E,OAAO,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,2DAA2D;IAC3D,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+EAA+E;IAC/E,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAC7C,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;CACtD;AAED,qEAAqE;AACrE,wBAAgB,oBAAoB,CAAC,KAAK,CAAC,CAAC,SAAS,cAAc,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC,CAEpF;AAsDD,+FAA+F;AAC/F,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,SAAS,aAAa,EAAE,EACnC,UAAU,GAAE,SAAS,cAAc,EAAO,GACzC,aAAa,EAAE,CAqBjB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"extensions.js","sourceRoot":"","sources":["../src/extensions.ts"],"names":[],"mappings":"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"}
package/dist/facets.d.ts DELETED
@@ -1,36 +0,0 @@
1
- /** A semantic notion a renderer can act on, DECLARED — never guessed. */
2
- export interface EditorialFacet {
3
- /** The field that carries the human-readable title. */
4
- title: string;
5
- /** The lifecycle vocabulary, grouped by meaning rather than by raw enum value. */
6
- state?: {
7
- field: string;
8
- draft?: readonly string[];
9
- published?: readonly string[];
10
- };
11
- createdAt?: string;
12
- updatedAt?: string;
13
- }
14
- export interface UsersFacet {
15
- name: string;
16
- email?: string;
17
- role?: string;
18
- state?: {
19
- field: string;
20
- active?: readonly string[];
21
- invited?: readonly string[];
22
- suspended?: readonly string[];
23
- };
24
- createdAt?: string;
25
- }
26
- /** Open registry of the semantic projections renderers understand. */
27
- export interface AdminFacetRegistry {
28
- editorial: EditorialFacet;
29
- users: UsersFacet;
30
- [facet: string]: unknown;
31
- }
32
- export type AdminFacets = Partial<AdminFacetRegistry>;
33
- export declare function defineAdminFacet<const Name extends string, const Value>(name: Name, value: Value): Record<Name, Value>;
34
- /** Arrays replace; semantic objects merge recursively so small project deltas stay small. */
35
- export declare function mergeAdminFacets(base: AdminFacets, patch: AdminFacets): AdminFacets;
36
- //# sourceMappingURL=facets.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"facets.d.ts","sourceRoot":"","sources":["../src/facets.ts"],"names":[],"mappings":"AACA,yEAAyE;AAEzE,MAAM,WAAW,cAAc;IAC7B,uDAAuD;IACvD,KAAK,EAAE,MAAM,CAAC;IACd,kFAAkF;IAClF,KAAK,CAAC,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;QAC1B,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;KAC/B,CAAC;IACF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;QAC3B,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;QAC5B,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;KAC/B,CAAC;IACF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,sEAAsE;AACtE,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,cAAc,CAAC;IAC1B,KAAK,EAAE,UAAU,CAAC;IAClB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B;AAED,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAEtD,wBAAgB,gBAAgB,CAAC,KAAK,CAAC,IAAI,SAAS,MAAM,EAAE,KAAK,CAAC,KAAK,EACrE,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,GACX,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAErB;AAED,6FAA6F;AAC7F,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,GAAG,WAAW,CAQnF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"facets.js","sourceRoot":"","sources":["../src/facets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAsC3C,MAAM,UAAU,gBAAgB,CAC9B,IAAU,EACV,KAAY;IAEZ,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAyB,CAAC;AAClD,CAAC;AAED,6FAA6F;AAC7F,MAAM,UAAU,gBAAgB,CAAC,IAAiB,EAAE,KAAkB;IACpE,MAAM,KAAK,GAAG,CAAC,IAAa,EAAE,KAAc,EAAW,EAAE;QACvD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QACtD,MAAM,GAAG,GAA4B,EAAE,GAAG,IAAI,EAAE,CAAC;QACjD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;QACpF,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;IACF,OAAO,KAAK,CAAC,IAAI,EAAE,KAAK,CAAgB,CAAC;AAC3C,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../src/resources.ts"],"names":[],"mappings":"AAEA,OAAO,EAML,KAAK,OAAO,EACZ,KAAK,SAAS,EACd,KAAK,WAAW,EACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,YAAY,EAAc,MAAM,wBAAwB,CAAC;AACpF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,iFAAiF;AACjF,MAAM,WAAW,cAAe,SAAQ,MAAM;IAC5C,+EAA+E;IAC/E,KAAK,EAAE,MAAM,CAAC;IACd,qFAAqF;IACrF,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,sDAAsD;AACtD,MAAM,WAAW,aAAc,SAAQ,WAAW;IAChD,yEAAyE;IACzE,KAAK,EAAE,MAAM,CAAC;IACd,sEAAsE;IACtE,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,MAAM,EAAE,WAAW,CAAC;IACpB,kEAAkE;IAClE,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,4EAA4E;IAC5E,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,+DAA+D;IAC/D,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B;;;OAGG;IACH,GAAG,EAAE;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC;CACxF;AAOD;;;GAGG;AACH,eAAO,MAAM,QAAQ,YAAI,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAU,CAAC;AAEpF,iGAAiG;AACjG,wBAAgB,SAAS,CAAC,UAAU,EAAE,SAAS,cAAc,EAAE,GAAG,cAAc,EAAE,CAEjF;AAED,6FAA6F;AAC7F,wBAAgB,cAAc,CAAC,UAAU,EAAE,SAAS,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,CASxG;AAED,+CAA+C;AAC/C,wBAAgB,WAAW,CAAC,IAAI,EAAE,YAAY,GAAG,aAAa,EAAE,CA4B/D;AAED,kFAAkF;AAClF,wBAAgB,MAAM,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAE9E;AAED,yCAAyC;AACzC,wBAAsB,SAAS,CAC7B,QAAQ,SAAgB,EACxB,OAAO,GAAE,OAAwB,GAChC,OAAO,CAAC,YAAY,CAAC,CAOvB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"resources.js","sourceRoot":"","sources":["../src/resources.ts"],"names":[],"mappings":"AAAA,iDAAiD;AACjD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAmB,MAAM,iBAAiB,CAAC;AAClE,OAAO,EACL,aAAa,EACb,OAAO,IAAI,cAAc,EACzB,YAAY,EACZ,QAAQ,EACR,cAAc,GAIf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAkC,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAoCpF,SAAS,OAAO,CAAC,IAAY;IAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACjF,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACxD,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAU,CAAC;AAEpF,iGAAiG;AACjG,MAAM,UAAU,SAAS,CAAC,UAAqC;IAC7D,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAE,QAA8B,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;AACvF,CAAC;AAED,6FAA6F;AAC7F,MAAM,UAAU,cAAc,CAAC,UAAmD;IAChF,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IACxD,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;QACxB,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC;QAC5B,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC5B,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC1B,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;KAC7B,CAAC;AACJ,CAAC;AAED,+CAA+C;AAC/C,MAAM,UAAU,WAAW,CAAC,IAAkB;IAC5C,MAAM,GAAG,GAAoB,EAAE,CAAC;IAChC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAC/B,IAAI,CAAC,IAAI,CAAC,MAAM;gBAAE,SAAS;YAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,EAA2B,CAAC;YACpF,MAAM,OAAO,GAAG,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC;YACxD,iFAAiF;YACjF,iFAAiF;YACjF,iFAAiF;YACjF,IAAI,CAAC,OAAO;gBAAE,SAAS;YACvB,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YAC9E,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAClD,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/C,GAAG,CAAC,IAAI,CAAC;gBACP,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,KAAK,EAAE,KAAK,CAAC,IAAI;gBACjB,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;gBACzB,MAAM,EAAE,EAAE;gBACV,OAAO;gBACP,OAAO;gBACP,MAAM;gBACN,UAAU;gBACV,GAAG,EAAE,cAAc,CAAC,UAAU,CAAC;aAChC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,MAAM,CAAC,SAA0B;IAC/C,OAAO,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;AAClG,CAAC;AAED,yCAAyC;AACzC,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,QAAQ,GAAG,aAAa,EACxB,OAAO,GAAY,cAAc;IAEjC,OAAO,MAAM,QAAQ,CACnB,OAAO,EACP,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,EACjC,UAAU,CAAC,KAAK,EAChB,QAAQ,CACO,CAAC;AACpB,CAAC"}
package/dist/runtime.d.ts DELETED
@@ -1,22 +0,0 @@
1
- /** One card request, shared by resource discovery and every provider operation. */
2
- import { type Fetcher } from '@fougere/app/client';
3
- import { type AdminExtension } from './extensions.js';
4
- import { type FougereDataProvider } from './provider.js';
5
- import { type AdminResource } from './resources.js';
6
- export interface AdminRuntimeOptions {
7
- endpoint?: string;
8
- fetcher?: Fetcher;
9
- extensions?: readonly AdminExtension[];
10
- }
11
- export interface LoadedAdmin {
12
- resources: AdminResource[];
13
- provider: FougereDataProvider;
14
- }
15
- export interface AdminRuntime {
16
- /** Loads and caches the card-derived model. */
17
- load(): Promise<LoadedAdmin>;
18
- /** Synchronous shell required by react-admin; delegates after `load()` resolves. */
19
- dataProvider: FougereDataProvider;
20
- }
21
- export declare function createAdminRuntime(options?: AdminRuntimeOptions): AdminRuntime;
22
- //# sourceMappingURL=runtime.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,OAAO,EAGL,KAAK,OAAO,EACb,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAwB,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAkC,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpF,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;CACxC;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,aAAa,EAAE,CAAC;IAC3B,QAAQ,EAAE,mBAAmB,CAAC;CAC/B;AAED,MAAM,WAAW,YAAY;IAC3B,+CAA+C;IAC/C,IAAI,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;IAC7B,oFAAoF;IACpF,YAAY,EAAE,mBAAmB,CAAC;CACnC;AAED,wBAAgB,kBAAkB,CAAC,OAAO,GAAE,mBAAwB,GAAG,YAAY,CA0BlF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,OAAO,EACL,aAAa,EACb,OAAO,IAAI,cAAc,GAE1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,oBAAoB,EAAuB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EACL,kBAAkB,EAClB,sBAAsB,GAEvB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAsB,MAAM,gBAAgB,CAAC;AAoBpF,MAAM,UAAU,kBAAkB,CAAC,OAAO,GAAwB,EAAE;IAClE,MAAM,EACJ,QAAQ,GAAG,aAAa,EACxB,OAAO,GAAG,cAAc,EACxB,UAAU,GAAG,EAAE,GAChB,GAAG,OAAO,CAAC;IACZ,IAAI,OAAyC,CAAC;IAE9C,iEAAiE;IACjE,MAAM,IAAI,GAAG,GAAyB,EAAE,CAAC,OAAO,KAAK,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC;SAC9E,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;QACb,MAAM,SAAS,GAAG,oBAAoB,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,CAAC;QACtE,OAAO;YACL,SAAS;YACT,QAAQ,EAAE,kBAAkB,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;SAClF,CAAC;IACJ,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;QACxB,OAAO,GAAG,SAAS,CAAC;QACpB,MAAM,KAAK,CAAC;IACd,CAAC,CAAC,CAAC;IAEL,OAAO;QACL,IAAI;QACJ,YAAY,EAAE,sBAAsB,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC;KAC1E,CAAC;AACJ,CAAC"}
@@ -1,18 +0,0 @@
1
- /** How the system is arranged, as the app itself reports it. */
2
- import { type Fetcher } from '@fougere/app/client';
3
- import { type Edge, type FrondPlacement, type TopologyReport } from '@fougere/core/contract';
4
- export type { TopologyReport, FrondPlacement, Edge };
5
- /** The report, or `undefined` when the app serves no topology at all. */
6
- export declare function fetchTopology(endpoint?: string, fetcher?: Fetcher): Promise<TopologyReport | undefined>;
7
- /** One frond as the page draws it: its placement, and the calls observed around it. */
8
- export interface TopologyNode extends FrondPlacement {
9
- /** Fronds this one called, with what it cost them. */
10
- calls: Edge[];
11
- /** Fronds that called this one. */
12
- calledBy: Edge[];
13
- }
14
- /** The report read as a graph, local fronds first. */
15
- export declare function nodesOf(report: TopologyReport): TopologyNode[];
16
- /** A frond this process called that publishes nothing of its own shape. */
17
- export declare function isOpaque(node: FrondPlacement): boolean;
18
- //# sourceMappingURL=topology.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"topology.d.ts","sourceRoot":"","sources":["../src/topology.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,OAAO,EAIL,KAAK,OAAO,EACb,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAEL,KAAK,IAAI,EACT,KAAK,cAAc,EACnB,KAAK,cAAc,EAEpB,MAAM,wBAAwB,CAAC;AAEhC,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;AAErD,yEAAyE;AACzE,wBAAsB,aAAa,CACjC,QAAQ,SAAgB,EACxB,OAAO,GAAE,OAAwB,GAChC,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAYrC;AAED,uFAAuF;AACvF,MAAM,WAAW,YAAa,SAAQ,cAAc;IAClD,sDAAsD;IACtD,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,mCAAmC;IACnC,QAAQ,EAAE,IAAI,EAAE,CAAC;CAClB;AAED,sDAAsD;AACtD,wBAAgB,OAAO,CAAC,MAAM,EAAE,cAAc,GAAG,YAAY,EAAE,CAS9D;AAED,2EAA2E;AAC3E,wBAAgB,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAEtD"}
package/dist/topology.js DELETED
@@ -1,30 +0,0 @@
1
- /** How the system is arranged, as the app itself reports it. */
2
- import { CALL_ENDPOINT, fetcher as browserFetcher, sendCall, } from '@fougere/app/client';
3
- import { ErrorCode, Invocation, } from '@fougere/core/contract';
4
- /** The report, or `undefined` when the app serves no topology at all. */
5
- export async function fetchTopology(endpoint = CALL_ENDPOINT, fetcher = browserFetcher) {
6
- try {
7
- return await sendCall(fetcher, { entity: 'rpc', op: 'topology' }, Invocation.empty, endpoint);
8
- }
9
- catch (error) {
10
- if (error?.code === ErrorCode.NOT_FOUND)
11
- return undefined;
12
- throw error;
13
- }
14
- }
15
- /** The report read as a graph, local fronds first. */
16
- export function nodesOf(report) {
17
- const order = { local: 0, remote: 1 };
18
- return [...report.fronds]
19
- .sort((a, b) => order[a.placement] - order[b.placement] || a.frond.localeCompare(b.frond))
20
- .map((frond) => ({
21
- ...frond,
22
- calls: report.edges.filter((edge) => edge.from === frond.frond),
23
- calledBy: report.edges.filter((edge) => edge.to === frond.frond),
24
- }));
25
- }
26
- /** A frond this process called that publishes nothing of its own shape. */
27
- export function isOpaque(node) {
28
- return node.placement === 'remote' && node.entities === 0 && node.doors === 0;
29
- }
30
- //# sourceMappingURL=topology.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"topology.js","sourceRoot":"","sources":["../src/topology.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,OAAO,EACL,aAAa,EACb,OAAO,IAAI,cAAc,EACzB,QAAQ,GAET,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,SAAS,EAIT,UAAU,GACX,MAAM,wBAAwB,CAAC;AAIhC,yEAAyE;AACzE,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,QAAQ,GAAG,aAAa,EACxB,OAAO,GAAY,cAAc;IAEjC,IAAI,CAAC;QACH,OAAO,MAAM,QAAQ,CACnB,OAAO,EACP,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,EACjC,UAAU,CAAC,KAAK,EAChB,QAAQ,CACS,CAAC;IACtB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAK,KAA4B,EAAE,IAAI,KAAK,SAAS,CAAC,SAAS;YAAE,OAAO,SAAS,CAAC;QAClF,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAUD,sDAAsD;AACtD,MAAM,UAAU,OAAO,CAAC,MAAsB;IAC5C,MAAM,KAAK,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IACtC,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;SACtB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;SACzF,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACf,GAAG,KAAK;QACR,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,KAAK,CAAC;QAC/D,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,KAAK,CAAC,KAAK,CAAC;KACjE,CAAC,CAAC,CAAC;AACR,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,QAAQ,CAAC,IAAoB;IAC3C,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC;AAChF,CAAC"}
package/src/facets.ts DELETED
@@ -1,55 +0,0 @@
1
- import { isObject } from '@fougere/schema';
2
- /** A semantic notion a renderer can act on, DECLARED — never guessed. */
3
-
4
- export interface EditorialFacet {
5
- /** The field that carries the human-readable title. */
6
- title: string;
7
- /** The lifecycle vocabulary, grouped by meaning rather than by raw enum value. */
8
- state?: {
9
- field: string;
10
- draft?: readonly string[];
11
- published?: readonly string[];
12
- };
13
- createdAt?: string;
14
- updatedAt?: string;
15
- }
16
-
17
- export interface UsersFacet {
18
- name: string;
19
- email?: string;
20
- role?: string;
21
- state?: {
22
- field: string;
23
- active?: readonly string[];
24
- invited?: readonly string[];
25
- suspended?: readonly string[];
26
- };
27
- createdAt?: string;
28
- }
29
-
30
- /** Open registry of the semantic projections renderers understand. */
31
- export interface AdminFacetRegistry {
32
- editorial: EditorialFacet;
33
- users: UsersFacet;
34
- [facet: string]: unknown;
35
- }
36
-
37
- export type AdminFacets = Partial<AdminFacetRegistry>;
38
-
39
- export function defineAdminFacet<const Name extends string, const Value>(
40
- name: Name,
41
- value: Value,
42
- ): Record<Name, Value> {
43
- return { [name]: value } as Record<Name, Value>;
44
- }
45
-
46
- /** Arrays replace; semantic objects merge recursively so small project deltas stay small. */
47
- export function mergeAdminFacets(base: AdminFacets, patch: AdminFacets): AdminFacets {
48
- const merge = (left: unknown, right: unknown): unknown => {
49
- if (!isObject(left) || !isObject(right)) return right;
50
- const out: Record<string, unknown> = { ...left };
51
- for (const [key, value] of Object.entries(right)) out[key] = merge(out[key], value);
52
- return out;
53
- };
54
- return merge(base, patch) as AdminFacets;
55
- }
package/src/topology.ts DELETED
@@ -1,59 +0,0 @@
1
- /** How the system is arranged, as the app itself reports it. */
2
- import {
3
- CALL_ENDPOINT,
4
- fetcher as browserFetcher,
5
- sendCall,
6
- type Fetcher,
7
- } from '@fougere/app/client';
8
- import {
9
- ErrorCode,
10
- type Edge,
11
- type FrondPlacement,
12
- type TopologyReport,
13
- Invocation,
14
- } from '@fougere/core/contract';
15
-
16
- export type { TopologyReport, FrondPlacement, Edge };
17
-
18
- /** The report, or `undefined` when the app serves no topology at all. */
19
- export async function fetchTopology(
20
- endpoint = CALL_ENDPOINT,
21
- fetcher: Fetcher = browserFetcher,
22
- ): Promise<TopologyReport | undefined> {
23
- try {
24
- return await sendCall(
25
- fetcher,
26
- { entity: 'rpc', op: 'topology' },
27
- Invocation.empty,
28
- endpoint,
29
- ) as TopologyReport;
30
- } catch (error) {
31
- if ((error as { code?: unknown })?.code === ErrorCode.NOT_FOUND) return undefined;
32
- throw error;
33
- }
34
- }
35
-
36
- /** One frond as the page draws it: its placement, and the calls observed around it. */
37
- export interface TopologyNode extends FrondPlacement {
38
- /** Fronds this one called, with what it cost them. */
39
- calls: Edge[];
40
- /** Fronds that called this one. */
41
- calledBy: Edge[];
42
- }
43
-
44
- /** The report read as a graph, local fronds first. */
45
- export function nodesOf(report: TopologyReport): TopologyNode[] {
46
- const order = { local: 0, remote: 1 };
47
- return [...report.fronds]
48
- .sort((a, b) => order[a.placement] - order[b.placement] || a.frond.localeCompare(b.frond))
49
- .map((frond) => ({
50
- ...frond,
51
- calls: report.edges.filter((edge) => edge.from === frond.frond),
52
- calledBy: report.edges.filter((edge) => edge.to === frond.frond),
53
- }));
54
- }
55
-
56
- /** A frond this process called that publishes nothing of its own shape. */
57
- export function isOpaque(node: FrondPlacement): boolean {
58
- return node.placement === 'remote' && node.entities === 0 && node.doors === 0;
59
- }